@winspan/claude-forge 8.54.4 → 9.12.0

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 (1053) hide show
  1. package/DEVELOPMENT.md +723 -46
  2. package/README.md +166 -21
  3. package/dist/catalogs/agents.json +67 -0
  4. package/dist/catalogs/skills.json +306 -0
  5. package/dist/claudemd/claudemd-generator.d.ts +45 -45
  6. package/dist/claudemd/claudemd-generator.d.ts.map +1 -1
  7. package/dist/claudemd/claudemd-generator.js +128 -449
  8. package/dist/claudemd/claudemd-generator.js.map +1 -1
  9. package/dist/claudemd/index.d.ts +14 -4
  10. package/dist/claudemd/index.d.ts.map +1 -1
  11. package/dist/claudemd/index.js +15 -4
  12. package/dist/claudemd/index.js.map +1 -1
  13. package/dist/claudemd/resume-manager.d.ts.map +1 -1
  14. package/dist/claudemd/resume-manager.js +37 -9
  15. package/dist/claudemd/resume-manager.js.map +1 -1
  16. package/dist/claudemd/templates/swarm-protocol.md +35 -186
  17. package/dist/claudemd/violations-manager.d.ts +40 -0
  18. package/dist/claudemd/violations-manager.d.ts.map +1 -0
  19. package/dist/claudemd/violations-manager.js +106 -0
  20. package/dist/claudemd/violations-manager.js.map +1 -0
  21. package/dist/cli/commands/admin.d.ts +15 -0
  22. package/dist/cli/commands/admin.d.ts.map +1 -0
  23. package/dist/cli/commands/admin.js +177 -0
  24. package/dist/cli/commands/admin.js.map +1 -0
  25. package/dist/cli/commands/agent.d.ts +169 -0
  26. package/dist/cli/commands/agent.d.ts.map +1 -0
  27. package/dist/cli/commands/agent.js +690 -0
  28. package/dist/cli/commands/agent.js.map +1 -0
  29. package/dist/cli/commands/agents.d.ts +18 -0
  30. package/dist/cli/commands/agents.d.ts.map +1 -0
  31. package/dist/cli/commands/agents.js +160 -0
  32. package/dist/cli/commands/agents.js.map +1 -0
  33. package/dist/cli/commands/bypass.d.ts +18 -0
  34. package/dist/cli/commands/bypass.d.ts.map +1 -0
  35. package/dist/cli/commands/bypass.js +87 -0
  36. package/dist/cli/commands/bypass.js.map +1 -0
  37. package/dist/cli/commands/claudemd.d.ts +60 -0
  38. package/dist/cli/commands/claudemd.d.ts.map +1 -1
  39. package/dist/cli/commands/claudemd.js +174 -37
  40. package/dist/cli/commands/claudemd.js.map +1 -1
  41. package/dist/cli/commands/codegraph.d.ts +17 -0
  42. package/dist/cli/commands/codegraph.d.ts.map +1 -0
  43. package/dist/cli/commands/codegraph.js +263 -0
  44. package/dist/cli/commands/codegraph.js.map +1 -0
  45. package/dist/cli/commands/config.d.ts.map +1 -1
  46. package/dist/cli/commands/config.js +94 -1
  47. package/dist/cli/commands/config.js.map +1 -1
  48. package/dist/cli/commands/daemon.d.ts +39 -0
  49. package/dist/cli/commands/daemon.d.ts.map +1 -1
  50. package/dist/cli/commands/daemon.js +167 -20
  51. package/dist/cli/commands/daemon.js.map +1 -1
  52. package/dist/cli/commands/decisions.d.ts +129 -0
  53. package/dist/cli/commands/decisions.d.ts.map +1 -0
  54. package/dist/cli/commands/decisions.js +706 -0
  55. package/dist/cli/commands/decisions.js.map +1 -0
  56. package/dist/cli/commands/doctor.d.ts +29 -0
  57. package/dist/cli/commands/doctor.d.ts.map +1 -0
  58. package/dist/cli/commands/doctor.js +124 -0
  59. package/dist/cli/commands/doctor.js.map +1 -0
  60. package/dist/cli/commands/entropy.d.ts +35 -0
  61. package/dist/cli/commands/entropy.d.ts.map +1 -0
  62. package/dist/cli/commands/entropy.js +121 -0
  63. package/dist/cli/commands/entropy.js.map +1 -0
  64. package/dist/cli/commands/executions.d.ts +1 -0
  65. package/dist/cli/commands/executions.d.ts.map +1 -1
  66. package/dist/cli/commands/executions.js +12 -2
  67. package/dist/cli/commands/executions.js.map +1 -1
  68. package/dist/cli/commands/fix.d.ts +31 -0
  69. package/dist/cli/commands/fix.d.ts.map +1 -0
  70. package/dist/cli/commands/fix.js +108 -0
  71. package/dist/cli/commands/fix.js.map +1 -0
  72. package/dist/cli/commands/governance.d.ts +21 -0
  73. package/dist/cli/commands/governance.d.ts.map +1 -0
  74. package/dist/cli/commands/governance.js +60 -0
  75. package/dist/cli/commands/governance.js.map +1 -0
  76. package/dist/cli/commands/init.d.ts +27 -0
  77. package/dist/cli/commands/init.d.ts.map +1 -1
  78. package/dist/cli/commands/init.js +158 -146
  79. package/dist/cli/commands/init.js.map +1 -1
  80. package/dist/cli/commands/insights-goal-check.d.ts +54 -0
  81. package/dist/cli/commands/insights-goal-check.d.ts.map +1 -0
  82. package/dist/cli/commands/insights-goal-check.js +318 -0
  83. package/dist/cli/commands/insights-goal-check.js.map +1 -0
  84. package/dist/cli/commands/insights.d.ts +15 -0
  85. package/dist/cli/commands/insights.d.ts.map +1 -0
  86. package/dist/cli/commands/insights.js +127 -0
  87. package/dist/cli/commands/insights.js.map +1 -0
  88. package/dist/cli/commands/knowledge.d.ts +117 -0
  89. package/dist/cli/commands/knowledge.d.ts.map +1 -0
  90. package/dist/cli/commands/knowledge.js +1070 -0
  91. package/dist/cli/commands/knowledge.js.map +1 -0
  92. package/dist/cli/commands/loop.d.ts +95 -0
  93. package/dist/cli/commands/loop.d.ts.map +1 -0
  94. package/dist/cli/commands/loop.js +408 -0
  95. package/dist/cli/commands/loop.js.map +1 -0
  96. package/dist/cli/commands/maintenance.d.ts +33 -0
  97. package/dist/cli/commands/maintenance.d.ts.map +1 -0
  98. package/dist/cli/commands/maintenance.js +75 -0
  99. package/dist/cli/commands/maintenance.js.map +1 -0
  100. package/dist/cli/commands/mcp.d.ts +22 -11
  101. package/dist/cli/commands/mcp.d.ts.map +1 -1
  102. package/dist/cli/commands/mcp.js +93 -5
  103. package/dist/cli/commands/mcp.js.map +1 -1
  104. package/dist/cli/commands/menu.d.ts.map +1 -1
  105. package/dist/cli/commands/menu.js +10 -184
  106. package/dist/cli/commands/menu.js.map +1 -1
  107. package/dist/cli/commands/project.d.ts +98 -0
  108. package/dist/cli/commands/project.d.ts.map +1 -0
  109. package/dist/cli/commands/project.js +382 -0
  110. package/dist/cli/commands/project.js.map +1 -0
  111. package/dist/cli/commands/skills.d.ts +131 -0
  112. package/dist/cli/commands/skills.d.ts.map +1 -1
  113. package/dist/cli/commands/skills.js +404 -118
  114. package/dist/cli/commands/skills.js.map +1 -1
  115. package/dist/cli/commands/spec.d.ts +40 -0
  116. package/dist/cli/commands/spec.d.ts.map +1 -0
  117. package/dist/cli/commands/spec.js +49 -0
  118. package/dist/cli/commands/spec.js.map +1 -0
  119. package/dist/cli/commands/stats.d.ts.map +1 -1
  120. package/dist/cli/commands/stats.js +11 -3
  121. package/dist/cli/commands/stats.js.map +1 -1
  122. package/dist/cli/commands/status.d.ts.map +1 -1
  123. package/dist/cli/commands/status.js +17 -2
  124. package/dist/cli/commands/status.js.map +1 -1
  125. package/dist/cli/commands/trace.d.ts.map +1 -1
  126. package/dist/cli/commands/trace.js +4 -9
  127. package/dist/cli/commands/trace.js.map +1 -1
  128. package/dist/cli/commands/violations.d.ts +14 -0
  129. package/dist/cli/commands/violations.d.ts.map +1 -0
  130. package/dist/cli/commands/violations.js +43 -0
  131. package/dist/cli/commands/violations.js.map +1 -0
  132. package/dist/cli/index.js +34 -0
  133. package/dist/cli/index.js.map +1 -1
  134. package/dist/cli/init/hook-manager.d.ts +1 -1
  135. package/dist/cli/init/hook-manager.d.ts.map +1 -1
  136. package/dist/cli/init/hook-manager.js +6 -0
  137. package/dist/cli/init/hook-manager.js.map +1 -1
  138. package/dist/cli/utils/resolve-session.d.ts +32 -0
  139. package/dist/cli/utils/resolve-session.d.ts.map +1 -0
  140. package/dist/cli/utils/resolve-session.js +39 -0
  141. package/dist/cli/utils/resolve-session.js.map +1 -0
  142. package/dist/core/config.d.ts +4 -1
  143. package/dist/core/config.d.ts.map +1 -1
  144. package/dist/core/config.js +11 -23
  145. package/dist/core/config.js.map +1 -1
  146. package/dist/core/constants.d.ts +51 -13
  147. package/dist/core/constants.d.ts.map +1 -1
  148. package/dist/core/constants.js +63 -13
  149. package/dist/core/constants.js.map +1 -1
  150. package/dist/core/diagnostics/checks.d.ts +151 -0
  151. package/dist/core/diagnostics/checks.d.ts.map +1 -0
  152. package/dist/core/diagnostics/checks.js +766 -0
  153. package/dist/core/diagnostics/checks.js.map +1 -0
  154. package/dist/core/diagnostics/daemon-status.d.ts +77 -0
  155. package/dist/core/diagnostics/daemon-status.d.ts.map +1 -0
  156. package/dist/core/diagnostics/daemon-status.js +113 -0
  157. package/dist/core/diagnostics/daemon-status.js.map +1 -0
  158. package/dist/core/diagnostics/entropy-checks.d.ts +83 -0
  159. package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -0
  160. package/dist/core/diagnostics/entropy-checks.js +400 -0
  161. package/dist/core/diagnostics/entropy-checks.js.map +1 -0
  162. package/dist/core/diagnostics/fix-runner.d.ts +54 -0
  163. package/dist/core/diagnostics/fix-runner.d.ts.map +1 -0
  164. package/dist/core/diagnostics/fix-runner.js +90 -0
  165. package/dist/core/diagnostics/fix-runner.js.map +1 -0
  166. package/dist/core/diagnostics/heartbeat-reader.d.ts +28 -0
  167. package/dist/core/diagnostics/heartbeat-reader.d.ts.map +1 -0
  168. package/dist/core/diagnostics/heartbeat-reader.js +50 -0
  169. package/dist/core/diagnostics/heartbeat-reader.js.map +1 -0
  170. package/dist/core/diagnostics/knip-runner.d.ts +49 -0
  171. package/dist/core/diagnostics/knip-runner.d.ts.map +1 -0
  172. package/dist/core/diagnostics/knip-runner.js +100 -0
  173. package/dist/core/diagnostics/knip-runner.js.map +1 -0
  174. package/dist/core/diagnostics/markers.d.ts +96 -0
  175. package/dist/core/diagnostics/markers.d.ts.map +1 -0
  176. package/dist/core/diagnostics/markers.js +153 -0
  177. package/dist/core/diagnostics/markers.js.map +1 -0
  178. package/dist/core/event-fields.d.ts +27 -0
  179. package/dist/core/event-fields.d.ts.map +1 -1
  180. package/dist/core/event-fields.js +43 -0
  181. package/dist/core/event-fields.js.map +1 -1
  182. package/dist/core/governance/global-inject.d.ts +90 -0
  183. package/dist/core/governance/global-inject.d.ts.map +1 -0
  184. package/dist/core/governance/global-inject.js +184 -0
  185. package/dist/core/governance/global-inject.js.map +1 -0
  186. package/dist/core/insights/agent-anchor-guard.d.ts +77 -0
  187. package/dist/core/insights/agent-anchor-guard.d.ts.map +1 -0
  188. package/dist/core/insights/agent-anchor-guard.js +119 -0
  189. package/dist/core/insights/agent-anchor-guard.js.map +1 -0
  190. package/dist/core/insights/agent-distill-context.d.ts +55 -0
  191. package/dist/core/insights/agent-distill-context.d.ts.map +1 -0
  192. package/dist/core/insights/agent-distill-context.js +146 -0
  193. package/dist/core/insights/agent-distill-context.js.map +1 -0
  194. package/dist/core/insights/agent-distill-spawn.d.ts +56 -0
  195. package/dist/core/insights/agent-distill-spawn.d.ts.map +1 -0
  196. package/dist/core/insights/agent-distill-spawn.js +179 -0
  197. package/dist/core/insights/agent-distill-spawn.js.map +1 -0
  198. package/dist/core/insights/agent-drift.d.ts +66 -0
  199. package/dist/core/insights/agent-drift.d.ts.map +1 -0
  200. package/dist/core/insights/agent-drift.js +109 -0
  201. package/dist/core/insights/agent-drift.js.map +1 -0
  202. package/dist/core/insights/agent-evolution-sources.d.ts +21 -0
  203. package/dist/core/insights/agent-evolution-sources.d.ts.map +1 -0
  204. package/dist/core/insights/agent-evolution-sources.js +36 -0
  205. package/dist/core/insights/agent-evolution-sources.js.map +1 -0
  206. package/dist/core/insights/agent-health.d.ts +142 -0
  207. package/dist/core/insights/agent-health.d.ts.map +1 -0
  208. package/dist/core/insights/agent-health.js +296 -0
  209. package/dist/core/insights/agent-health.js.map +1 -0
  210. package/dist/core/insights/agent-patch-apply.d.ts +45 -0
  211. package/dist/core/insights/agent-patch-apply.d.ts.map +1 -0
  212. package/dist/core/insights/agent-patch-apply.js +165 -0
  213. package/dist/core/insights/agent-patch-apply.js.map +1 -0
  214. package/dist/core/insights/agent-suggest.d.ts +128 -0
  215. package/dist/core/insights/agent-suggest.d.ts.map +1 -0
  216. package/dist/core/insights/agent-suggest.js +284 -0
  217. package/dist/core/insights/agent-suggest.js.map +1 -0
  218. package/dist/core/insights/coverage-tiers.d.ts +46 -0
  219. package/dist/core/insights/coverage-tiers.d.ts.map +1 -0
  220. package/dist/core/insights/coverage-tiers.js +95 -0
  221. package/dist/core/insights/coverage-tiers.js.map +1 -0
  222. package/dist/core/insights/experience-extractor.d.ts +60 -0
  223. package/dist/core/insights/experience-extractor.d.ts.map +1 -0
  224. package/dist/core/insights/experience-extractor.js +319 -0
  225. package/dist/core/insights/experience-extractor.js.map +1 -0
  226. package/dist/core/insights/violation-reporter.d.ts +149 -0
  227. package/dist/core/insights/violation-reporter.d.ts.map +1 -0
  228. package/dist/core/insights/violation-reporter.js +391 -0
  229. package/dist/core/insights/violation-reporter.js.map +1 -0
  230. package/dist/core/loop/loop-engine.d.ts +140 -0
  231. package/dist/core/loop/loop-engine.d.ts.map +1 -0
  232. package/dist/core/loop/loop-engine.js +266 -0
  233. package/dist/core/loop/loop-engine.js.map +1 -0
  234. package/dist/core/queue/index.d.ts +16 -3
  235. package/dist/core/queue/index.d.ts.map +1 -1
  236. package/dist/core/queue/index.js +16 -4
  237. package/dist/core/queue/index.js.map +1 -1
  238. package/dist/core/storage/base.d.ts +317 -0
  239. package/dist/core/storage/base.d.ts.map +1 -1
  240. package/dist/core/storage/base.js +1093 -0
  241. package/dist/core/storage/base.js.map +1 -1
  242. package/dist/core/storage/codec/tool-input-codec.d.ts +93 -0
  243. package/dist/core/storage/codec/tool-input-codec.d.ts.map +1 -0
  244. package/dist/core/storage/codec/tool-input-codec.js +159 -0
  245. package/dist/core/storage/codec/tool-input-codec.js.map +1 -0
  246. package/dist/core/storage/codegraph-types.d.ts +79 -0
  247. package/dist/core/storage/codegraph-types.d.ts.map +1 -0
  248. package/dist/core/storage/codegraph-types.js +14 -0
  249. package/dist/core/storage/codegraph-types.js.map +1 -0
  250. package/dist/core/storage/codegraph.d.ts +186 -0
  251. package/dist/core/storage/codegraph.d.ts.map +1 -0
  252. package/dist/core/storage/codegraph.js +452 -0
  253. package/dist/core/storage/codegraph.js.map +1 -0
  254. package/dist/core/storage/decisions.d.ts +387 -0
  255. package/dist/core/storage/decisions.d.ts.map +1 -0
  256. package/dist/core/storage/decisions.js +534 -0
  257. package/dist/core/storage/decisions.js.map +1 -0
  258. package/dist/core/storage/events.d.ts +239 -8
  259. package/dist/core/storage/events.d.ts.map +1 -1
  260. package/dist/core/storage/events.js +705 -39
  261. package/dist/core/storage/events.js.map +1 -1
  262. package/dist/core/storage/feedback.d.ts +111 -0
  263. package/dist/core/storage/feedback.d.ts.map +1 -0
  264. package/dist/core/storage/feedback.js +186 -0
  265. package/dist/core/storage/feedback.js.map +1 -0
  266. package/dist/core/storage/forge-config.d.ts +40 -0
  267. package/dist/core/storage/forge-config.d.ts.map +1 -0
  268. package/dist/core/storage/forge-config.js +65 -0
  269. package/dist/core/storage/forge-config.js.map +1 -0
  270. package/dist/core/storage/injections.d.ts +68 -0
  271. package/dist/core/storage/injections.d.ts.map +1 -1
  272. package/dist/core/storage/injections.js +131 -5
  273. package/dist/core/storage/injections.js.map +1 -1
  274. package/dist/core/storage/knowledge.d.ts +332 -0
  275. package/dist/core/storage/knowledge.d.ts.map +1 -0
  276. package/dist/core/storage/knowledge.js +589 -0
  277. package/dist/core/storage/knowledge.js.map +1 -0
  278. package/dist/core/storage/maintenance.d.ts +36 -9
  279. package/dist/core/storage/maintenance.d.ts.map +1 -1
  280. package/dist/core/storage/maintenance.js +56 -24
  281. package/dist/core/storage/maintenance.js.map +1 -1
  282. package/dist/core/storage/pipeline-rollup.d.ts +111 -0
  283. package/dist/core/storage/pipeline-rollup.d.ts.map +1 -0
  284. package/dist/core/storage/pipeline-rollup.js +432 -0
  285. package/dist/core/storage/pipeline-rollup.js.map +1 -0
  286. package/dist/core/storage/routing.d.ts +50 -3
  287. package/dist/core/storage/routing.d.ts.map +1 -1
  288. package/dist/core/storage/routing.js +131 -10
  289. package/dist/core/storage/routing.js.map +1 -1
  290. package/dist/core/storage/rows.d.ts +31 -8
  291. package/dist/core/storage/rows.d.ts.map +1 -1
  292. package/dist/core/storage/schema.sql +367 -23
  293. package/dist/core/storage/sessions.d.ts +136 -0
  294. package/dist/core/storage/sessions.d.ts.map +1 -1
  295. package/dist/core/storage/sessions.js +352 -15
  296. package/dist/core/storage/sessions.js.map +1 -1
  297. package/dist/core/storage/skills.d.ts +160 -0
  298. package/dist/core/storage/skills.d.ts.map +1 -1
  299. package/dist/core/storage/skills.js +368 -7
  300. package/dist/core/storage/skills.js.map +1 -1
  301. package/dist/core/storage/sqlite.d.ts +309 -20
  302. package/dist/core/storage/sqlite.d.ts.map +1 -1
  303. package/dist/core/storage/sqlite.js +523 -16
  304. package/dist/core/storage/sqlite.js.map +1 -1
  305. package/dist/core/storage/tasks.d.ts +744 -2
  306. package/dist/core/storage/tasks.d.ts.map +1 -1
  307. package/dist/core/storage/tasks.js +1691 -17
  308. package/dist/core/storage/tasks.js.map +1 -1
  309. package/dist/core/storage/tool-intercepts.d.ts +69 -0
  310. package/dist/core/storage/tool-intercepts.d.ts.map +1 -0
  311. package/dist/core/storage/tool-intercepts.js +116 -0
  312. package/dist/core/storage/tool-intercepts.js.map +1 -0
  313. package/dist/core/types.d.ts +136 -18
  314. package/dist/core/types.d.ts.map +1 -1
  315. package/dist/core/types.js +10 -0
  316. package/dist/core/types.js.map +1 -1
  317. package/dist/core/utils/backup.d.ts +81 -0
  318. package/dist/core/utils/backup.d.ts.map +1 -0
  319. package/dist/core/utils/backup.js +98 -0
  320. package/dist/core/utils/backup.js.map +1 -0
  321. package/dist/core/utils/binary-paths.d.ts +124 -0
  322. package/dist/core/utils/binary-paths.d.ts.map +1 -0
  323. package/dist/core/utils/binary-paths.js +218 -0
  324. package/dist/core/utils/binary-paths.js.map +1 -0
  325. package/dist/core/utils/bypass-token.d.ts +75 -0
  326. package/dist/core/utils/bypass-token.d.ts.map +1 -0
  327. package/dist/core/utils/bypass-token.js +133 -0
  328. package/dist/core/utils/bypass-token.js.map +1 -0
  329. package/dist/core/utils/cc-builtin-agents.d.ts +3 -0
  330. package/dist/core/utils/cc-builtin-agents.d.ts.map +1 -0
  331. package/dist/core/utils/cc-builtin-agents.js +29 -0
  332. package/dist/core/utils/cc-builtin-agents.js.map +1 -0
  333. package/dist/core/utils/claude-cli-resolver.d.ts +26 -0
  334. package/dist/core/utils/claude-cli-resolver.d.ts.map +1 -0
  335. package/dist/core/utils/claude-cli-resolver.js +115 -0
  336. package/dist/core/utils/claude-cli-resolver.js.map +1 -0
  337. package/dist/core/utils/claude-cli-spawn.d.ts +106 -0
  338. package/dist/core/utils/claude-cli-spawn.d.ts.map +1 -0
  339. package/dist/core/utils/claude-cli-spawn.js +219 -0
  340. package/dist/core/utils/claude-cli-spawn.js.map +1 -0
  341. package/dist/core/utils/forge-resume-block.d.ts.map +1 -1
  342. package/dist/core/utils/forge-resume-block.js +3 -2
  343. package/dist/core/utils/forge-resume-block.js.map +1 -1
  344. package/dist/core/utils/logger.d.ts +15 -3
  345. package/dist/core/utils/logger.d.ts.map +1 -1
  346. package/dist/core/utils/logger.js +20 -2
  347. package/dist/core/utils/logger.js.map +1 -1
  348. package/dist/core/utils/noise-prompt.d.ts +97 -0
  349. package/dist/core/utils/noise-prompt.d.ts.map +1 -0
  350. package/dist/core/utils/noise-prompt.js +127 -0
  351. package/dist/core/utils/noise-prompt.js.map +1 -0
  352. package/dist/core/utils/path.d.ts +0 -4
  353. package/dist/core/utils/path.d.ts.map +1 -1
  354. package/dist/core/utils/path.js +0 -7
  355. package/dist/core/utils/path.js.map +1 -1
  356. package/dist/core/utils/time.d.ts +67 -0
  357. package/dist/core/utils/time.d.ts.map +1 -1
  358. package/dist/core/utils/time.js +147 -0
  359. package/dist/core/utils/time.js.map +1 -1
  360. package/dist/daemon/agent-sync.d.ts +24 -0
  361. package/dist/daemon/agent-sync.d.ts.map +1 -0
  362. package/dist/daemon/agent-sync.js +114 -0
  363. package/dist/daemon/agent-sync.js.map +1 -0
  364. package/dist/daemon/config-store.d.ts +55 -0
  365. package/dist/daemon/config-store.d.ts.map +1 -0
  366. package/dist/daemon/config-store.js +146 -0
  367. package/dist/daemon/config-store.js.map +1 -0
  368. package/dist/daemon/event-parser.d.ts +22 -0
  369. package/dist/daemon/event-parser.d.ts.map +1 -1
  370. package/dist/daemon/event-parser.js +54 -3
  371. package/dist/daemon/event-parser.js.map +1 -1
  372. package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
  373. package/dist/daemon/handlers/history-exporter.js +9 -8
  374. package/dist/daemon/handlers/history-exporter.js.map +1 -1
  375. package/dist/daemon/handlers/post-tool-use.d.ts +66 -4
  376. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  377. package/dist/daemon/handlers/post-tool-use.js +221 -8
  378. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  379. package/dist/daemon/handlers/pre-tool-use.d.ts +181 -0
  380. package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -0
  381. package/dist/daemon/handlers/pre-tool-use.js +618 -0
  382. package/dist/daemon/handlers/pre-tool-use.js.map +1 -0
  383. package/dist/daemon/handlers/stop.d.ts +55 -7
  384. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  385. package/dist/daemon/handlers/stop.js +245 -8
  386. package/dist/daemon/handlers/stop.js.map +1 -1
  387. package/dist/daemon/handlers/user-prompt.d.ts +51 -14
  388. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  389. package/dist/daemon/handlers/user-prompt.js +223 -95
  390. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  391. package/dist/daemon/handlers/violation-content-backfill.d.ts +76 -0
  392. package/dist/daemon/handlers/violation-content-backfill.d.ts.map +1 -0
  393. package/dist/daemon/handlers/violation-content-backfill.js +167 -0
  394. package/dist/daemon/handlers/violation-content-backfill.js.map +1 -0
  395. package/dist/daemon/hook-sync.d.ts.map +1 -1
  396. package/dist/daemon/hook-sync.js +2 -1
  397. package/dist/daemon/hook-sync.js.map +1 -1
  398. package/dist/daemon/index.d.ts +19 -0
  399. package/dist/daemon/index.d.ts.map +1 -1
  400. package/dist/daemon/index.js +439 -86
  401. package/dist/daemon/index.js.map +1 -1
  402. package/dist/daemon/lifecycle.d.ts +48 -1
  403. package/dist/daemon/lifecycle.d.ts.map +1 -1
  404. package/dist/daemon/lifecycle.js +98 -2
  405. package/dist/daemon/lifecycle.js.map +1 -1
  406. package/dist/daemon/router.d.ts +4 -1
  407. package/dist/daemon/router.d.ts.map +1 -1
  408. package/dist/daemon/router.js +4 -2
  409. package/dist/daemon/router.js.map +1 -1
  410. package/dist/daemon/rules/defaults.d.ts +20 -0
  411. package/dist/daemon/rules/defaults.d.ts.map +1 -0
  412. package/dist/daemon/rules/defaults.js +779 -0
  413. package/dist/daemon/rules/defaults.js.map +1 -0
  414. package/dist/daemon/rules/registry.d.ts +47 -0
  415. package/dist/daemon/rules/registry.d.ts.map +1 -0
  416. package/dist/daemon/rules/registry.js +84 -0
  417. package/dist/daemon/rules/registry.js.map +1 -0
  418. package/dist/daemon/rules/types.d.ts +176 -0
  419. package/dist/daemon/rules/types.d.ts.map +1 -0
  420. package/dist/daemon/rules/types.js +15 -0
  421. package/dist/daemon/rules/types.js.map +1 -0
  422. package/dist/daemon/rules/whitelist.d.ts +101 -0
  423. package/dist/daemon/rules/whitelist.d.ts.map +1 -0
  424. package/dist/daemon/rules/whitelist.js +210 -0
  425. package/dist/daemon/rules/whitelist.js.map +1 -0
  426. package/dist/daemon/rules/workflow-defaults.d.ts +52 -0
  427. package/dist/daemon/rules/workflow-defaults.d.ts.map +1 -0
  428. package/dist/daemon/rules/workflow-defaults.js +521 -0
  429. package/dist/daemon/rules/workflow-defaults.js.map +1 -0
  430. package/dist/daemon/server.d.ts +11 -1
  431. package/dist/daemon/server.d.ts.map +1 -1
  432. package/dist/daemon/server.js +7 -1
  433. package/dist/daemon/server.js.map +1 -1
  434. package/dist/daemon/services/codegraph-sync.d.ts +94 -0
  435. package/dist/daemon/services/codegraph-sync.d.ts.map +1 -0
  436. package/dist/daemon/services/codegraph-sync.js +159 -0
  437. package/dist/daemon/services/codegraph-sync.js.map +1 -0
  438. package/dist/daemon/services/context-injector.d.ts +34 -0
  439. package/dist/daemon/services/context-injector.d.ts.map +1 -0
  440. package/dist/daemon/services/context-injector.js +61 -0
  441. package/dist/daemon/services/context-injector.js.map +1 -0
  442. package/dist/daemon/services/decision-hint.d.ts +240 -0
  443. package/dist/daemon/services/decision-hint.d.ts.map +1 -0
  444. package/dist/daemon/services/decision-hint.js +562 -0
  445. package/dist/daemon/services/decision-hint.js.map +1 -0
  446. package/dist/daemon/services/event-ttl-sweep.d.ts +86 -0
  447. package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -0
  448. package/dist/daemon/services/event-ttl-sweep.js +124 -0
  449. package/dist/daemon/services/event-ttl-sweep.js.map +1 -0
  450. package/dist/daemon/services/feedback-aggregator.d.ts +167 -0
  451. package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -0
  452. package/dist/daemon/services/feedback-aggregator.js +415 -0
  453. package/dist/daemon/services/feedback-aggregator.js.map +1 -0
  454. package/dist/daemon/services/heartbeat-writer.d.ts +46 -0
  455. package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -0
  456. package/dist/daemon/services/heartbeat-writer.js +82 -0
  457. package/dist/daemon/services/heartbeat-writer.js.map +1 -0
  458. package/dist/daemon/services/idle-session-sweeper.d.ts +61 -0
  459. package/dist/daemon/services/idle-session-sweeper.d.ts.map +1 -0
  460. package/dist/daemon/services/idle-session-sweeper.js +94 -0
  461. package/dist/daemon/services/idle-session-sweeper.js.map +1 -0
  462. package/dist/daemon/services/idle-task-budget.d.ts +50 -0
  463. package/dist/daemon/services/idle-task-budget.d.ts.map +1 -0
  464. package/dist/daemon/services/idle-task-budget.js +72 -0
  465. package/dist/daemon/services/idle-task-budget.js.map +1 -0
  466. package/dist/daemon/services/intercept-revive.d.ts +60 -0
  467. package/dist/daemon/services/intercept-revive.d.ts.map +1 -0
  468. package/dist/daemon/services/intercept-revive.js +86 -0
  469. package/dist/daemon/services/intercept-revive.js.map +1 -0
  470. package/dist/daemon/services/intercept-rollback-guard.d.ts +105 -0
  471. package/dist/daemon/services/intercept-rollback-guard.d.ts.map +1 -0
  472. package/dist/daemon/services/intercept-rollback-guard.js +152 -0
  473. package/dist/daemon/services/intercept-rollback-guard.js.map +1 -0
  474. package/dist/daemon/services/intercept-timeout-sweeper.d.ts +58 -0
  475. package/dist/daemon/services/intercept-timeout-sweeper.d.ts.map +1 -0
  476. package/dist/daemon/services/intercept-timeout-sweeper.js +83 -0
  477. package/dist/daemon/services/intercept-timeout-sweeper.js.map +1 -0
  478. package/dist/daemon/services/kb-injector.d.ts +57 -0
  479. package/dist/daemon/services/kb-injector.d.ts.map +1 -0
  480. package/dist/daemon/services/kb-injector.js +148 -0
  481. package/dist/daemon/services/kb-injector.js.map +1 -0
  482. package/dist/daemon/services/kb-rebuild-scheduler.d.ts +95 -0
  483. package/dist/daemon/services/kb-rebuild-scheduler.d.ts.map +1 -0
  484. package/dist/daemon/services/kb-rebuild-scheduler.js +149 -0
  485. package/dist/daemon/services/kb-rebuild-scheduler.js.map +1 -0
  486. package/dist/daemon/services/loop-hint.d.ts +139 -0
  487. package/dist/daemon/services/loop-hint.d.ts.map +1 -0
  488. package/dist/daemon/services/loop-hint.js +272 -0
  489. package/dist/daemon/services/loop-hint.js.map +1 -0
  490. package/dist/daemon/services/outcome-classification-service.d.ts +49 -0
  491. package/dist/daemon/services/outcome-classification-service.d.ts.map +1 -0
  492. package/dist/daemon/services/outcome-classification-service.js +214 -0
  493. package/dist/daemon/services/outcome-classification-service.js.map +1 -0
  494. package/dist/daemon/services/outcome-classifier.d.ts +136 -0
  495. package/dist/daemon/services/outcome-classifier.d.ts.map +1 -0
  496. package/dist/daemon/services/outcome-classifier.js +178 -0
  497. package/dist/daemon/services/outcome-classifier.js.map +1 -0
  498. package/dist/daemon/services/outcome-nudge.d.ts +107 -0
  499. package/dist/daemon/services/outcome-nudge.d.ts.map +1 -0
  500. package/dist/daemon/services/outcome-nudge.js +242 -0
  501. package/dist/daemon/services/outcome-nudge.js.map +1 -0
  502. package/dist/daemon/services/spec-approval.d.ts +127 -0
  503. package/dist/daemon/services/spec-approval.d.ts.map +1 -0
  504. package/dist/daemon/services/spec-approval.js +216 -0
  505. package/dist/daemon/services/spec-approval.js.map +1 -0
  506. package/dist/daemon/services/spec-gate.d.ts +54 -0
  507. package/dist/daemon/services/spec-gate.d.ts.map +1 -0
  508. package/dist/daemon/services/spec-gate.js +113 -0
  509. package/dist/daemon/services/spec-gate.js.map +1 -0
  510. package/dist/daemon/services/task-boundary-classifier.d.ts +78 -0
  511. package/dist/daemon/services/task-boundary-classifier.d.ts.map +1 -0
  512. package/dist/daemon/services/task-boundary-classifier.js +202 -0
  513. package/dist/daemon/services/task-boundary-classifier.js.map +1 -0
  514. package/dist/daemon/services/task-segmenter.d.ts +230 -1
  515. package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
  516. package/dist/daemon/services/task-segmenter.js +527 -17
  517. package/dist/daemon/services/task-segmenter.js.map +1 -1
  518. package/dist/daemon/skill-sync.d.ts +7 -2
  519. package/dist/daemon/skill-sync.d.ts.map +1 -1
  520. package/dist/daemon/skill-sync.js +114 -9
  521. package/dist/daemon/skill-sync.js.map +1 -1
  522. package/dist/daemon/startup/maintenance-schedulers.d.ts +68 -0
  523. package/dist/daemon/startup/maintenance-schedulers.d.ts.map +1 -0
  524. package/dist/daemon/startup/maintenance-schedulers.js +294 -0
  525. package/dist/daemon/startup/maintenance-schedulers.js.map +1 -0
  526. package/dist/daemon/templates/agents/agent-retro-distiller.md +106 -0
  527. package/dist/daemon/templates/agents/claudemd-writer.md +102 -0
  528. package/dist/daemon/templates/agents/coder.md +262 -0
  529. package/dist/daemon/templates/agents/decision-maker.md +546 -0
  530. package/dist/daemon/templates/agents/doc-reviewer.md +118 -0
  531. package/dist/daemon/templates/agents/harness-debug-full.md +196 -0
  532. package/dist/daemon/templates/agents/knowledge-builder.md +120 -0
  533. package/dist/daemon/templates/agents/patch-applier.md +145 -0
  534. package/dist/daemon/templates/agents/planner.md +217 -0
  535. package/dist/daemon/templates/agents/safety-net-implementer.md +278 -0
  536. package/dist/daemon/templates/agents/skill-distiller.md +114 -0
  537. package/dist/daemon/templates/agents/task-boundary-classifier.md +65 -0
  538. package/dist/daemon/templates/agents/verify-agent.md +259 -0
  539. package/dist/daemon/utils/inject-block.d.ts +39 -0
  540. package/dist/daemon/utils/inject-block.d.ts.map +1 -0
  541. package/dist/daemon/utils/inject-block.js +25 -0
  542. package/dist/daemon/utils/inject-block.js.map +1 -0
  543. package/dist/hooks/hook-lib.sh +8 -0
  544. package/dist/hooks/notification.sh +19 -8
  545. package/dist/hooks/post-tool-use.sh +41 -23
  546. package/dist/hooks/pre-tool-use.sh +54 -23
  547. package/dist/hooks/session-start.sh +68 -0
  548. package/dist/hooks/stop.sh +31 -11
  549. package/dist/hooks/user-prompt-submit.sh +37 -21
  550. package/dist/knowledge/adapters/go-adapter.d.ts +65 -0
  551. package/dist/knowledge/adapters/go-adapter.d.ts.map +1 -0
  552. package/dist/knowledge/adapters/go-adapter.js +294 -0
  553. package/dist/knowledge/adapters/go-adapter.js.map +1 -0
  554. package/dist/knowledge/adapters/index.d.ts +41 -0
  555. package/dist/knowledge/adapters/index.d.ts.map +1 -0
  556. package/dist/knowledge/adapters/index.js +71 -0
  557. package/dist/knowledge/adapters/index.js.map +1 -0
  558. package/dist/knowledge/adapters/java-adapter.d.ts +66 -0
  559. package/dist/knowledge/adapters/java-adapter.d.ts.map +1 -0
  560. package/dist/knowledge/adapters/java-adapter.js +260 -0
  561. package/dist/knowledge/adapters/java-adapter.js.map +1 -0
  562. package/dist/knowledge/adapters/js-vue-adapter.d.ts +56 -0
  563. package/dist/knowledge/adapters/js-vue-adapter.d.ts.map +1 -0
  564. package/dist/knowledge/adapters/js-vue-adapter.js +203 -0
  565. package/dist/knowledge/adapters/js-vue-adapter.js.map +1 -0
  566. package/dist/knowledge/adapters/kotlin-adapter.d.ts +55 -0
  567. package/dist/knowledge/adapters/kotlin-adapter.d.ts.map +1 -0
  568. package/dist/knowledge/adapters/kotlin-adapter.js +209 -0
  569. package/dist/knowledge/adapters/kotlin-adapter.js.map +1 -0
  570. package/dist/knowledge/adapters/monorepo-adapter.d.ts +77 -0
  571. package/dist/knowledge/adapters/monorepo-adapter.d.ts.map +1 -0
  572. package/dist/knowledge/adapters/monorepo-adapter.js +170 -0
  573. package/dist/knowledge/adapters/monorepo-adapter.js.map +1 -0
  574. package/dist/knowledge/adapters/python-adapter.d.ts +89 -0
  575. package/dist/knowledge/adapters/python-adapter.d.ts.map +1 -0
  576. package/dist/knowledge/adapters/python-adapter.js +358 -0
  577. package/dist/knowledge/adapters/python-adapter.js.map +1 -0
  578. package/dist/knowledge/adapters/rust-adapter.d.ts +73 -0
  579. package/dist/knowledge/adapters/rust-adapter.d.ts.map +1 -0
  580. package/dist/knowledge/adapters/rust-adapter.js +329 -0
  581. package/dist/knowledge/adapters/rust-adapter.js.map +1 -0
  582. package/dist/knowledge/adapters/types.d.ts +99 -0
  583. package/dist/knowledge/adapters/types.d.ts.map +1 -0
  584. package/dist/knowledge/adapters/types.js +17 -0
  585. package/dist/knowledge/adapters/types.js.map +1 -0
  586. package/dist/knowledge/adapters/typescript-adapter.d.ts +57 -0
  587. package/dist/knowledge/adapters/typescript-adapter.d.ts.map +1 -0
  588. package/dist/knowledge/adapters/typescript-adapter.js +171 -0
  589. package/dist/knowledge/adapters/typescript-adapter.js.map +1 -0
  590. package/dist/knowledge/audit-applier.d.ts +70 -0
  591. package/dist/knowledge/audit-applier.d.ts.map +1 -0
  592. package/dist/knowledge/audit-applier.js +251 -0
  593. package/dist/knowledge/audit-applier.js.map +1 -0
  594. package/dist/knowledge/builder.d.ts +261 -0
  595. package/dist/knowledge/builder.d.ts.map +1 -0
  596. package/dist/knowledge/builder.js +966 -0
  597. package/dist/knowledge/builder.js.map +1 -0
  598. package/dist/knowledge/cli-provider.d.ts +151 -0
  599. package/dist/knowledge/cli-provider.d.ts.map +1 -0
  600. package/dist/knowledge/cli-provider.js +313 -0
  601. package/dist/knowledge/cli-provider.js.map +1 -0
  602. package/dist/knowledge/constants.d.ts +78 -0
  603. package/dist/knowledge/constants.d.ts.map +1 -0
  604. package/dist/knowledge/constants.js +98 -0
  605. package/dist/knowledge/constants.js.map +1 -0
  606. package/dist/knowledge/cross-module.d.ts +139 -0
  607. package/dist/knowledge/cross-module.d.ts.map +1 -0
  608. package/dist/knowledge/cross-module.js +370 -0
  609. package/dist/knowledge/cross-module.js.map +1 -0
  610. package/dist/knowledge/git-hooks.d.ts +67 -0
  611. package/dist/knowledge/git-hooks.d.ts.map +1 -0
  612. package/dist/knowledge/git-hooks.js +258 -0
  613. package/dist/knowledge/git-hooks.js.map +1 -0
  614. package/dist/knowledge/graph/edge-extractor.d.ts +45 -0
  615. package/dist/knowledge/graph/edge-extractor.d.ts.map +1 -0
  616. package/dist/knowledge/graph/edge-extractor.js +242 -0
  617. package/dist/knowledge/graph/edge-extractor.js.map +1 -0
  618. package/dist/knowledge/graph/impact.d.ts +73 -0
  619. package/dist/knowledge/graph/impact.d.ts.map +1 -0
  620. package/dist/knowledge/graph/impact.js +94 -0
  621. package/dist/knowledge/graph/impact.js.map +1 -0
  622. package/dist/knowledge/graph/types.d.ts +22 -0
  623. package/dist/knowledge/graph/types.d.ts.map +1 -0
  624. package/dist/knowledge/graph/types.js +13 -0
  625. package/dist/knowledge/graph/types.js.map +1 -0
  626. package/dist/knowledge/module-hash.d.ts +88 -0
  627. package/dist/knowledge/module-hash.d.ts.map +1 -0
  628. package/dist/knowledge/module-hash.js +162 -0
  629. package/dist/knowledge/module-hash.js.map +1 -0
  630. package/dist/knowledge/project-detector.d.ts +101 -0
  631. package/dist/knowledge/project-detector.d.ts.map +1 -0
  632. package/dist/knowledge/project-detector.js +223 -0
  633. package/dist/knowledge/project-detector.js.map +1 -0
  634. package/dist/knowledge/prompt.d.ts +237 -0
  635. package/dist/knowledge/prompt.d.ts.map +1 -0
  636. package/dist/knowledge/prompt.js +416 -0
  637. package/dist/knowledge/prompt.js.map +1 -0
  638. package/dist/knowledge/query.d.ts +118 -0
  639. package/dist/knowledge/query.d.ts.map +1 -0
  640. package/dist/knowledge/query.js +438 -0
  641. package/dist/knowledge/query.js.map +1 -0
  642. package/dist/knowledge/repo-map.d.ts +97 -0
  643. package/dist/knowledge/repo-map.d.ts.map +1 -0
  644. package/dist/knowledge/repo-map.js +447 -0
  645. package/dist/knowledge/repo-map.js.map +1 -0
  646. package/dist/knowledge/tools/index.d.ts +14 -0
  647. package/dist/knowledge/tools/index.d.ts.map +1 -0
  648. package/dist/knowledge/tools/index.js +11 -0
  649. package/dist/knowledge/tools/index.js.map +1 -0
  650. package/dist/knowledge/tools/knowledge-get-page.d.ts +46 -0
  651. package/dist/knowledge/tools/knowledge-get-page.d.ts.map +1 -0
  652. package/dist/knowledge/tools/knowledge-get-page.js +101 -0
  653. package/dist/knowledge/tools/knowledge-get-page.js.map +1 -0
  654. package/dist/knowledge/tools/knowledge-query.d.ts +77 -0
  655. package/dist/knowledge/tools/knowledge-query.d.ts.map +1 -0
  656. package/dist/knowledge/tools/knowledge-query.js +104 -0
  657. package/dist/knowledge/tools/knowledge-query.js.map +1 -0
  658. package/dist/knowledge/tools/repo-map-lookup.d.ts +45 -0
  659. package/dist/knowledge/tools/repo-map-lookup.d.ts.map +1 -0
  660. package/dist/knowledge/tools/repo-map-lookup.js +82 -0
  661. package/dist/knowledge/tools/repo-map-lookup.js.map +1 -0
  662. package/dist/knowledge/types.d.ts +269 -0
  663. package/dist/knowledge/types.d.ts.map +1 -0
  664. package/dist/knowledge/types.js +10 -0
  665. package/dist/knowledge/types.js.map +1 -0
  666. package/dist/knowledge/validator.d.ts +90 -0
  667. package/dist/knowledge/validator.d.ts.map +1 -0
  668. package/dist/knowledge/validator.js +355 -0
  669. package/dist/knowledge/validator.js.map +1 -0
  670. package/dist/mcp/server.d.ts +64 -8
  671. package/dist/mcp/server.d.ts.map +1 -1
  672. package/dist/mcp/server.js +448 -12
  673. package/dist/mcp/server.js.map +1 -1
  674. package/dist/skills/builtin-skills.d.ts +35 -0
  675. package/dist/skills/builtin-skills.d.ts.map +1 -0
  676. package/dist/skills/builtin-skills.js +68 -0
  677. package/dist/skills/builtin-skills.js.map +1 -0
  678. package/dist/skills/distill/attribution.d.ts +59 -0
  679. package/dist/skills/distill/attribution.d.ts.map +1 -0
  680. package/dist/skills/distill/attribution.js +101 -0
  681. package/dist/skills/distill/attribution.js.map +1 -0
  682. package/dist/skills/distill/distiller.d.ts +161 -0
  683. package/dist/skills/distill/distiller.d.ts.map +1 -0
  684. package/dist/skills/distill/distiller.js +461 -0
  685. package/dist/skills/distill/distiller.js.map +1 -0
  686. package/dist/skills/distill/index.d.ts +223 -0
  687. package/dist/skills/distill/index.d.ts.map +1 -0
  688. package/dist/skills/distill/index.js +466 -0
  689. package/dist/skills/distill/index.js.map +1 -0
  690. package/dist/skills/distill/project-anchor-guard.d.ts +116 -0
  691. package/dist/skills/distill/project-anchor-guard.d.ts.map +1 -0
  692. package/dist/skills/distill/project-anchor-guard.js +334 -0
  693. package/dist/skills/distill/project-anchor-guard.js.map +1 -0
  694. package/dist/skills/distill/topic-deduper.d.ts +77 -0
  695. package/dist/skills/distill/topic-deduper.d.ts.map +1 -0
  696. package/dist/skills/distill/topic-deduper.js +119 -0
  697. package/dist/skills/distill/topic-deduper.js.map +1 -0
  698. package/dist/skills/distill/upstream-fetcher.d.ts +71 -0
  699. package/dist/skills/distill/upstream-fetcher.d.ts.map +1 -0
  700. package/dist/skills/distill/upstream-fetcher.js +202 -0
  701. package/dist/skills/distill/upstream-fetcher.js.map +1 -0
  702. package/dist/skills/distilled/distilled-api-design.md +495 -0
  703. package/dist/skills/distilled/distilled-architecture-decision.md +173 -0
  704. package/dist/skills/distilled/distilled-brainstorming.md +79 -0
  705. package/dist/skills/distilled/distilled-brand-guidelines.md +86 -0
  706. package/dist/skills/distilled/distilled-canvas-design.md +128 -0
  707. package/dist/skills/distilled/distilled-claude-api.md +185 -0
  708. package/dist/skills/distilled/distilled-creator.md +181 -0
  709. package/dist/skills/distilled/distilled-db-schema-design.md +245 -0
  710. package/dist/skills/distilled/distilled-dispatching-parallel-agents.md +136 -0
  711. package/dist/skills/distilled/distilled-doc-coauthoring.md +144 -0
  712. package/dist/skills/distilled/distilled-docx.md +231 -0
  713. package/dist/skills/distilled/distilled-executing-plans.md +148 -0
  714. package/dist/skills/distilled/distilled-finishing-a-development-branch.md +213 -0
  715. package/dist/skills/distilled/distilled-frontend-design.md +118 -0
  716. package/dist/skills/distilled/distilled-harness-engineering.md +242 -0
  717. package/dist/skills/distilled/distilled-karpathy-guidelines.md +104 -0
  718. package/dist/skills/distilled/distilled-performance-optimization.md +175 -0
  719. package/dist/skills/distilled/distilled-receiving-code-review.md +185 -0
  720. package/dist/skills/distilled/distilled-spec-driven-design.md +193 -0
  721. package/dist/skills/distilled/distilled-subagent-driven-development.md +124 -0
  722. package/dist/skills/distilled/distilled-systematic-debugging.md +154 -0
  723. package/dist/skills/distilled/distilled-test-driven-development.md +432 -0
  724. package/dist/skills/distilled/distilled-using-superpowers.md +134 -0
  725. package/dist/skills/distilled/distilled-verification-before-completion.md +213 -0
  726. package/dist/skills/distilled/distilled-writing-skills.md +175 -0
  727. package/dist/skills/registry.d.ts +55 -51
  728. package/dist/skills/registry.d.ts.map +1 -1
  729. package/dist/skills/registry.js +82 -196
  730. package/dist/skills/registry.js.map +1 -1
  731. package/dist/skills/tools/pipeline-suggest.js +14 -14
  732. package/dist/skills/tools/pipeline-suggest.js.map +1 -1
  733. package/dist/skills/tools/skill-invoke.d.ts +3 -2
  734. package/dist/skills/tools/skill-invoke.d.ts.map +1 -1
  735. package/dist/skills/tools/skill-invoke.js +4 -2
  736. package/dist/skills/tools/skill-invoke.js.map +1 -1
  737. package/dist/web/analytics/anti-pattern-detector.d.ts.map +1 -1
  738. package/dist/web/analytics/anti-pattern-detector.js +6 -1
  739. package/dist/web/analytics/anti-pattern-detector.js.map +1 -1
  740. package/dist/web/analytics/drift-detector.d.ts +6 -0
  741. package/dist/web/analytics/drift-detector.d.ts.map +1 -1
  742. package/dist/web/analytics/drift-detector.js +15 -8
  743. package/dist/web/analytics/drift-detector.js.map +1 -1
  744. package/dist/web/analytics/weekly-report.d.ts +13 -0
  745. package/dist/web/analytics/weekly-report.d.ts.map +1 -1
  746. package/dist/web/analytics/weekly-report.js +17 -3
  747. package/dist/web/analytics/weekly-report.js.map +1 -1
  748. package/dist/web/routes/_helpers.d.ts +31 -0
  749. package/dist/web/routes/_helpers.d.ts.map +1 -1
  750. package/dist/web/routes/_helpers.js +33 -0
  751. package/dist/web/routes/_helpers.js.map +1 -1
  752. package/dist/web/routes/agent-content.d.ts +30 -0
  753. package/dist/web/routes/agent-content.d.ts.map +1 -0
  754. package/dist/web/routes/agent-content.js +139 -0
  755. package/dist/web/routes/agent-content.js.map +1 -0
  756. package/dist/web/routes/agent-distill.d.ts +49 -0
  757. package/dist/web/routes/agent-distill.d.ts.map +1 -0
  758. package/dist/web/routes/agent-distill.js +526 -0
  759. package/dist/web/routes/agent-distill.js.map +1 -0
  760. package/dist/web/routes/config.d.ts +56 -0
  761. package/dist/web/routes/config.d.ts.map +1 -0
  762. package/dist/web/routes/config.js +243 -0
  763. package/dist/web/routes/config.js.map +1 -0
  764. package/dist/web/routes/decisions.d.ts +15 -0
  765. package/dist/web/routes/decisions.d.ts.map +1 -0
  766. package/dist/web/routes/decisions.js +181 -0
  767. package/dist/web/routes/decisions.js.map +1 -0
  768. package/dist/web/routes/diagnostics.d.ts +61 -0
  769. package/dist/web/routes/diagnostics.d.ts.map +1 -0
  770. package/dist/web/routes/diagnostics.js +203 -0
  771. package/dist/web/routes/diagnostics.js.map +1 -0
  772. package/dist/web/routes/error-handler.d.ts +0 -4
  773. package/dist/web/routes/error-handler.d.ts.map +1 -1
  774. package/dist/web/routes/error-handler.js +0 -8
  775. package/dist/web/routes/error-handler.js.map +1 -1
  776. package/dist/web/routes/events.d.ts.map +1 -1
  777. package/dist/web/routes/events.js +26 -1
  778. package/dist/web/routes/events.js.map +1 -1
  779. package/dist/web/routes/health.d.ts +33 -0
  780. package/dist/web/routes/health.d.ts.map +1 -0
  781. package/dist/web/routes/health.js +37 -0
  782. package/dist/web/routes/health.js.map +1 -0
  783. package/dist/web/routes/insights.d.ts +0 -5
  784. package/dist/web/routes/insights.d.ts.map +1 -1
  785. package/dist/web/routes/insights.js +0 -0
  786. package/dist/web/routes/insights.js.map +1 -1
  787. package/dist/web/routes/knowledge.d.ts +57 -0
  788. package/dist/web/routes/knowledge.d.ts.map +1 -0
  789. package/dist/web/routes/knowledge.js +772 -0
  790. package/dist/web/routes/knowledge.js.map +1 -0
  791. package/dist/web/routes/patch.d.ts +60 -1
  792. package/dist/web/routes/patch.d.ts.map +1 -1
  793. package/dist/web/routes/patch.js +170 -64
  794. package/dist/web/routes/patch.js.map +1 -1
  795. package/dist/web/routes/pipeline.d.ts +28 -0
  796. package/dist/web/routes/pipeline.d.ts.map +1 -0
  797. package/dist/web/routes/pipeline.js +145 -0
  798. package/dist/web/routes/pipeline.js.map +1 -0
  799. package/dist/web/routes/rules.d.ts.map +1 -1
  800. package/dist/web/routes/rules.js +26 -7
  801. package/dist/web/routes/rules.js.map +1 -1
  802. package/dist/web/routes/sessions.d.ts.map +1 -1
  803. package/dist/web/routes/sessions.js +17 -8
  804. package/dist/web/routes/sessions.js.map +1 -1
  805. package/dist/web/routes/skill-content.d.ts +30 -0
  806. package/dist/web/routes/skill-content.d.ts.map +1 -0
  807. package/dist/web/routes/skill-content.js +117 -0
  808. package/dist/web/routes/skill-content.js.map +1 -0
  809. package/dist/web/routes/skill-stats.d.ts.map +1 -1
  810. package/dist/web/routes/skill-stats.js +153 -16
  811. package/dist/web/routes/skill-stats.js.map +1 -1
  812. package/dist/web/routes/skills-distill.d.ts +29 -0
  813. package/dist/web/routes/skills-distill.d.ts.map +1 -0
  814. package/dist/web/routes/skills-distill.js +552 -0
  815. package/dist/web/routes/skills-distill.js.map +1 -0
  816. package/dist/web/routes/skills.js +7 -7
  817. package/dist/web/routes/skills.js.map +1 -1
  818. package/dist/web/routes/stats.d.ts.map +1 -1
  819. package/dist/web/routes/stats.js +2 -1
  820. package/dist/web/routes/stats.js.map +1 -1
  821. package/dist/web/routes/task-timeline.d.ts +178 -0
  822. package/dist/web/routes/task-timeline.d.ts.map +1 -0
  823. package/dist/web/routes/task-timeline.js +530 -0
  824. package/dist/web/routes/task-timeline.js.map +1 -0
  825. package/dist/web/routes/tasks.d.ts.map +1 -1
  826. package/dist/web/routes/tasks.js +377 -8
  827. package/dist/web/routes/tasks.js.map +1 -1
  828. package/dist/web/routes/trace.d.ts.map +1 -1
  829. package/dist/web/routes/trace.js +3 -2
  830. package/dist/web/routes/trace.js.map +1 -1
  831. package/dist/web/routes/types.d.ts +0 -4
  832. package/dist/web/routes/types.d.ts.map +1 -1
  833. package/dist/web/routes/types.js +1 -1
  834. package/dist/web/routes/types.js.map +1 -1
  835. package/dist/web/routes/violations.d.ts +14 -0
  836. package/dist/web/routes/violations.d.ts.map +1 -0
  837. package/dist/web/routes/violations.js +112 -0
  838. package/dist/web/routes/violations.js.map +1 -0
  839. package/dist/web/server.d.ts.map +1 -1
  840. package/dist/web/server.js +99 -19
  841. package/dist/web/server.js.map +1 -1
  842. package/dist/web/services/agent-distill-manager.d.ts +122 -0
  843. package/dist/web/services/agent-distill-manager.d.ts.map +1 -0
  844. package/dist/web/services/agent-distill-manager.js +397 -0
  845. package/dist/web/services/agent-distill-manager.js.map +1 -0
  846. package/dist/web/services/build-manager.d.ts +72 -0
  847. package/dist/web/services/build-manager.d.ts.map +1 -0
  848. package/dist/web/services/build-manager.js +189 -0
  849. package/dist/web/services/build-manager.js.map +1 -0
  850. package/dist/web/services/distill-manager.d.ts +172 -0
  851. package/dist/web/services/distill-manager.d.ts.map +1 -0
  852. package/dist/web/services/distill-manager.js +411 -0
  853. package/dist/web/services/distill-manager.js.map +1 -0
  854. package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js +2 -0
  855. package/dist/web/static/assets/AgentDetailPage-DlUeA1sX.js.map +1 -0
  856. package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js +3 -0
  857. package/dist/web/static/assets/AgentDistillRunPage-Cybo4bii.js.map +1 -0
  858. package/dist/web/static/assets/AgentsPage-Qd9FExLG.js +2 -0
  859. package/dist/web/static/assets/AgentsPage-Qd9FExLG.js.map +1 -0
  860. package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js +2 -0
  861. package/dist/web/static/assets/DaemonHealthPage-DTSVqtrI.js.map +1 -0
  862. package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js +2 -0
  863. package/dist/web/static/assets/DecisionDetailPage-b4BA8dhc.js.map +1 -0
  864. package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js +2 -0
  865. package/dist/web/static/assets/DecisionsPage-a3NRo_T7.js.map +1 -0
  866. package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js +2 -0
  867. package/dist/web/static/assets/DiagnosticsPage-DIVdiIQG.js.map +1 -0
  868. package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js +4 -0
  869. package/dist/web/static/assets/DistillDetailPage-U6a3l2iP.js.map +1 -0
  870. package/dist/web/static/assets/DistillPage-O7BHtRN8.js +2 -0
  871. package/dist/web/static/assets/DistillPage-O7BHtRN8.js.map +1 -0
  872. package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js +2 -0
  873. package/dist/web/static/assets/DistillRunPage-D1JuRWWr.js.map +1 -0
  874. package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js +2 -0
  875. package/dist/web/static/assets/GlobalScopeHint-Q3wTJx3F.js.map +1 -0
  876. package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js +2 -0
  877. package/dist/web/static/assets/IssueDetailPage-BDfrtk2C.js.map +1 -0
  878. package/dist/web/static/assets/IssuesPage-SKmhlCrw.js +2 -0
  879. package/dist/web/static/assets/IssuesPage-SKmhlCrw.js.map +1 -0
  880. package/dist/web/static/assets/KbDetailPage-Yna86Na8.js +2 -0
  881. package/dist/web/static/assets/KbDetailPage-Yna86Na8.js.map +1 -0
  882. package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js +2 -0
  883. package/dist/web/static/assets/KbHitsPage-Cljl7H9p.js.map +1 -0
  884. package/dist/web/static/assets/MarkdownRenderer-DlDQNihj.js +3 -0
  885. package/dist/web/static/assets/MarkdownRenderer-DlDQNihj.js.map +1 -0
  886. package/dist/web/static/assets/NotFound-LMzbP51V.js +2 -0
  887. package/dist/web/static/assets/NotFound-LMzbP51V.js.map +1 -0
  888. package/dist/web/static/assets/SettingsPage-DzoK4PKg.js +2 -0
  889. package/dist/web/static/assets/SettingsPage-DzoK4PKg.js.map +1 -0
  890. package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js +2 -0
  891. package/dist/web/static/assets/SkillDetailPage-BuBJJ_NX.js.map +1 -0
  892. package/dist/web/static/assets/SkillsPage-aojkJpBc.js +2 -0
  893. package/dist/web/static/assets/SkillsPage-aojkJpBc.js.map +1 -0
  894. package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js +4 -0
  895. package/dist/web/static/assets/TaskDetailPage-1ckxnGhw.js.map +1 -0
  896. package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js +6 -0
  897. package/dist/web/static/assets/TasksHubPage-C2PLh3eg.js.map +1 -0
  898. package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js +2 -0
  899. package/dist/web/static/assets/WorkplacePage-DHrp5VxS.js.map +1 -0
  900. package/dist/web/static/assets/arco-DFQA6dO_.css +1 -0
  901. package/dist/web/static/assets/arco-DV6xCLhr.js +14 -0
  902. package/dist/web/static/assets/arco-DV6xCLhr.js.map +1 -0
  903. package/dist/web/static/assets/charts-BSV4cyC4.js +37 -0
  904. package/dist/web/static/assets/charts-BSV4cyC4.js.map +1 -0
  905. package/dist/web/static/assets/date-fns-sbWH3_uq.js +2 -0
  906. package/dist/web/static/assets/date-fns-sbWH3_uq.js.map +1 -0
  907. package/dist/web/static/assets/index-B_v_MKlb.css +1 -0
  908. package/dist/web/static/assets/index-DileOOE4.js +4 -0
  909. package/dist/web/static/assets/index-DileOOE4.js.map +1 -0
  910. package/dist/web/static/assets/lucide-CnlPQoG8.js +72 -0
  911. package/dist/web/static/assets/lucide-CnlPQoG8.js.map +1 -0
  912. package/dist/web/static/assets/markdown-CA7ePUts.js +30 -0
  913. package/dist/web/static/assets/markdown-CA7ePUts.js.map +1 -0
  914. package/dist/web/static/assets/outcome-BKGy9azt.js +2 -0
  915. package/dist/web/static/assets/outcome-BKGy9azt.js.map +1 -0
  916. package/dist/web/static/assets/query-CgCOpYWf.js +2 -0
  917. package/dist/web/static/assets/{query-C99w429o.js.map → query-CgCOpYWf.js.map} +1 -1
  918. package/dist/web/static/assets/{react-router-r79dBVy4.js → react-router-Cxmg8RuL.js} +3 -3
  919. package/dist/web/static/assets/{react-router-r79dBVy4.js.map → react-router-Cxmg8RuL.js.map} +1 -1
  920. package/dist/web/static/assets/react-vendor-tkvCrao7.js +57 -0
  921. package/dist/web/static/assets/react-vendor-tkvCrao7.js.map +1 -0
  922. package/dist/web/static/assets/syntax-highlighter-BDYycNja.js +6 -0
  923. package/dist/web/static/assets/syntax-highlighter-BDYycNja.js.map +1 -0
  924. package/dist/web/static/assets/useAgentStats-B-uTgqBd.js +2 -0
  925. package/dist/web/static/assets/useAgentStats-B-uTgqBd.js.map +1 -0
  926. package/dist/web/static/assets/useDecisions-D-G2Ft5T.js +2 -0
  927. package/dist/web/static/assets/useDecisions-D-G2Ft5T.js.map +1 -0
  928. package/dist/web/static/assets/useDistill-21dZkXlT.js +3 -0
  929. package/dist/web/static/assets/useDistill-21dZkXlT.js.map +1 -0
  930. package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js +2 -0
  931. package/dist/web/static/assets/useEffectiveProject-DQiyX54y.js.map +1 -0
  932. package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js +2 -0
  933. package/dist/web/static/assets/useIssuesFeed-CFiyQkAL.js.map +1 -0
  934. package/dist/web/static/assets/useKbHits-xKXWgqh9.js +2 -0
  935. package/dist/web/static/assets/useKbHits-xKXWgqh9.js.map +1 -0
  936. package/dist/web/static/assets/useSkillStats-B5hbIwdf.js +2 -0
  937. package/dist/web/static/assets/useSkillStats-B5hbIwdf.js.map +1 -0
  938. package/dist/web/static/assets/vendor-DS-q4Eyc.js +36 -0
  939. package/dist/web/static/assets/vendor-DS-q4Eyc.js.map +1 -0
  940. package/dist/web/static/index.html +12 -8
  941. package/package.json +18 -5
  942. package/dist/core/ai/provider.d.ts +0 -63
  943. package/dist/core/ai/provider.d.ts.map +0 -1
  944. package/dist/core/ai/provider.js +0 -241
  945. package/dist/core/ai/provider.js.map +0 -1
  946. package/dist/core/ai/types.d.ts +0 -43
  947. package/dist/core/ai/types.d.ts.map +0 -1
  948. package/dist/core/ai/types.js +0 -5
  949. package/dist/core/ai/types.js.map +0 -1
  950. package/dist/core/storage/token-usage.d.ts +0 -36
  951. package/dist/core/storage/token-usage.d.ts.map +0 -1
  952. package/dist/core/storage/token-usage.js +0 -59
  953. package/dist/core/storage/token-usage.js.map +0 -1
  954. package/dist/core/utils/token-tracker.d.ts +0 -39
  955. package/dist/core/utils/token-tracker.d.ts.map +0 -1
  956. package/dist/core/utils/token-tracker.js +0 -69
  957. package/dist/core/utils/token-tracker.js.map +0 -1
  958. package/dist/skills/index.d.ts +0 -3
  959. package/dist/skills/index.d.ts.map +0 -1
  960. package/dist/skills/index.js +0 -3
  961. package/dist/skills/index.js.map +0 -1
  962. package/dist/skills/matcher.d.ts +0 -26
  963. package/dist/skills/matcher.d.ts.map +0 -1
  964. package/dist/skills/matcher.js +0 -113
  965. package/dist/skills/matcher.js.map +0 -1
  966. package/dist/skills/official/code-simplifier.md +0 -52
  967. package/dist/skills/official/find-skills.md +0 -142
  968. package/dist/skills/official/official-api-design.md +0 -30
  969. package/dist/skills/official/official-architecture-decision.md +0 -41
  970. package/dist/skills/official/official-bmad.md +0 -118
  971. package/dist/skills/official/official-db-schema-design.md +0 -34
  972. package/dist/skills/official/official-debug.md +0 -25
  973. package/dist/skills/official/official-doc-driven.md +0 -31
  974. package/dist/skills/official/official-harness-engineering.md +0 -108
  975. package/dist/skills/official/official-openspec.md +0 -89
  976. package/dist/skills/official/official-performance-optimization.md +0 -30
  977. package/dist/skills/official/official-pr-review.md +0 -35
  978. package/dist/skills/official/official-release-checklist.md +0 -30
  979. package/dist/skills/official/official-security-hardening.md +0 -32
  980. package/dist/skills/official/official-spec-driven-design.md +0 -31
  981. package/dist/skills/official/planning-with-files.md +0 -241
  982. package/dist/skills/official/ui-ux-pro-max.md +0 -105
  983. package/dist/skills/official/webapp-testing.md +0 -96
  984. package/dist/skills/official-skills.d.ts +0 -26
  985. package/dist/skills/official-skills.d.ts.map +0 -1
  986. package/dist/skills/official-skills.js +0 -74
  987. package/dist/skills/official-skills.js.map +0 -1
  988. package/dist/skills/semantic-matcher.d.ts +0 -60
  989. package/dist/skills/semantic-matcher.d.ts.map +0 -1
  990. package/dist/skills/semantic-matcher.js +0 -192
  991. package/dist/skills/semantic-matcher.js.map +0 -1
  992. package/dist/skills/upgrade-engine.d.ts +0 -93
  993. package/dist/skills/upgrade-engine.d.ts.map +0 -1
  994. package/dist/skills/upgrade-engine.js +0 -447
  995. package/dist/skills/upgrade-engine.js.map +0 -1
  996. package/dist/skills/upgrade-prompt.d.ts +0 -20
  997. package/dist/skills/upgrade-prompt.d.ts.map +0 -1
  998. package/dist/skills/upgrade-prompt.js +0 -75
  999. package/dist/skills/upgrade-prompt.js.map +0 -1
  1000. package/dist/web/routes/ai.d.ts +0 -10
  1001. package/dist/web/routes/ai.d.ts.map +0 -1
  1002. package/dist/web/routes/ai.js +0 -186
  1003. package/dist/web/routes/ai.js.map +0 -1
  1004. package/dist/web/routes/token-usage.d.ts +0 -7
  1005. package/dist/web/routes/token-usage.d.ts.map +0 -1
  1006. package/dist/web/routes/token-usage.js +0 -18
  1007. package/dist/web/routes/token-usage.js.map +0 -1
  1008. package/dist/web/ssrf-guard.d.ts +0 -35
  1009. package/dist/web/ssrf-guard.d.ts.map +0 -1
  1010. package/dist/web/ssrf-guard.js +0 -93
  1011. package/dist/web/ssrf-guard.js.map +0 -1
  1012. package/dist/web/static/assets/AIConfig-CdDWzJyO.js +0 -2
  1013. package/dist/web/static/assets/AIConfig-CdDWzJyO.js.map +0 -1
  1014. package/dist/web/static/assets/Dashboard-CoEmmIDt.js +0 -2
  1015. package/dist/web/static/assets/Dashboard-CoEmmIDt.js.map +0 -1
  1016. package/dist/web/static/assets/Drawer-DdRTzlLB.js +0 -2
  1017. package/dist/web/static/assets/Drawer-DdRTzlLB.js.map +0 -1
  1018. package/dist/web/static/assets/Events-DrIq1SUS.js +0 -2
  1019. package/dist/web/static/assets/Events-DrIq1SUS.js.map +0 -1
  1020. package/dist/web/static/assets/Reports-DFBM3MDK.js +0 -2
  1021. package/dist/web/static/assets/Reports-DFBM3MDK.js.map +0 -1
  1022. package/dist/web/static/assets/SearchInput-qCj_jAcf.js +0 -2
  1023. package/dist/web/static/assets/SearchInput-qCj_jAcf.js.map +0 -1
  1024. package/dist/web/static/assets/SessionDetail-CCzwdoT7.js +0 -2
  1025. package/dist/web/static/assets/SessionDetail-CCzwdoT7.js.map +0 -1
  1026. package/dist/web/static/assets/Sessions-FfLYkAw9.js +0 -2
  1027. package/dist/web/static/assets/Sessions-FfLYkAw9.js.map +0 -1
  1028. package/dist/web/static/assets/Skills-C8Gvs3Qa.js +0 -2
  1029. package/dist/web/static/assets/Skills-C8Gvs3Qa.js.map +0 -1
  1030. package/dist/web/static/assets/TaskDetail-BS8pYhaR.js +0 -2
  1031. package/dist/web/static/assets/TaskDetail-BS8pYhaR.js.map +0 -1
  1032. package/dist/web/static/assets/Tasks-CyuhizG8.js +0 -2
  1033. package/dist/web/static/assets/Tasks-CyuhizG8.js.map +0 -1
  1034. package/dist/web/static/assets/charts-CLrM0_uM.js +0 -37
  1035. package/dist/web/static/assets/charts-CLrM0_uM.js.map +0 -1
  1036. package/dist/web/static/assets/date-fns-CZ_bHujz.js +0 -2
  1037. package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +0 -1
  1038. package/dist/web/static/assets/export-L_VBD2p1.js +0 -4
  1039. package/dist/web/static/assets/export-L_VBD2p1.js.map +0 -1
  1040. package/dist/web/static/assets/index-CBX47X8l.js +0 -3
  1041. package/dist/web/static/assets/index-CBX47X8l.js.map +0 -1
  1042. package/dist/web/static/assets/index-DjIoMdoR.css +0 -1
  1043. package/dist/web/static/assets/lucide-Bs_edTLa.js +0 -232
  1044. package/dist/web/static/assets/lucide-Bs_edTLa.js.map +0 -1
  1045. package/dist/web/static/assets/query-C99w429o.js +0 -2
  1046. package/dist/web/static/assets/react-vendor-CSp-GLFF.js +0 -49
  1047. package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +0 -1
  1048. package/dist/web/static/assets/syntax-highlighter-44FakypI.js +0 -9
  1049. package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +0 -1
  1050. package/dist/web/static/assets/time-Bxuk0M-C.js +0 -2
  1051. package/dist/web/static/assets/time-Bxuk0M-C.js.map +0 -1
  1052. package/dist/web/static/assets/vendor-CMMjVdZs.js +0 -64
  1053. package/dist/web/static/assets/vendor-CMMjVdZs.js.map +0 -1
@@ -14,7 +14,6 @@
14
14
  * injections.ts — injections
15
15
  * routing.ts — routing_events + experiment_assignments
16
16
  * skills.ts — skill_invocations + workflow 聚合
17
- * token-usage.ts — token_usage
18
17
  * maintenance.ts — 清理 / VACUUM
19
18
  */
20
19
  import { EventEmitter } from 'node:events';
@@ -25,9 +24,14 @@ import { TaskOperations } from './tasks.js';
25
24
  import { InjectionOperations } from './injections.js';
26
25
  import { RoutingOperations } from './routing.js';
27
26
  import { SkillOperations } from './skills.js';
28
- import { TokenUsageOperations } from './token-usage.js';
29
27
  import { MaintenanceOperations } from './maintenance.js';
28
+ import { KnowledgeOperations } from './knowledge.js';
29
+ import { ForgeConfigOperations } from './forge-config.js';
30
+ import { ToolInterceptsOperations } from './tool-intercepts.js';
31
+ import { DecisionsOperations } from './decisions.js';
32
+ import { FeedbackOperations } from './feedback.js';
30
33
  import { logger } from '../utils/logger.js';
34
+ export { toSpecLikeRow, DECISION_OUTCOMES } from './decisions.js';
31
35
  export class SQLiteStorage extends EventEmitter {
32
36
  base;
33
37
  events;
@@ -36,8 +40,12 @@ export class SQLiteStorage extends EventEmitter {
36
40
  injections;
37
41
  routing;
38
42
  skills;
39
- tokenUsage;
40
43
  maintenance;
44
+ knowledge;
45
+ forgeConfig;
46
+ toolIntercepts;
47
+ decisions;
48
+ feedback;
41
49
  constructor(dbPath) {
42
50
  super();
43
51
  this.base = new SQLiteBase(dbPath);
@@ -48,8 +56,12 @@ export class SQLiteStorage extends EventEmitter {
48
56
  this.injections = new InjectionOperations(db);
49
57
  this.routing = new RoutingOperations(db);
50
58
  this.skills = new SkillOperations(db);
51
- this.tokenUsage = new TokenUsageOperations(db);
52
59
  this.maintenance = new MaintenanceOperations(db, dbPath);
60
+ this.knowledge = new KnowledgeOperations(db);
61
+ this.forgeConfig = new ForgeConfigOperations(db);
62
+ this.toolIntercepts = new ToolInterceptsOperations(db);
63
+ this.decisions = new DecisionsOperations(db);
64
+ this.feedback = new FeedbackOperations(db);
53
65
  }
54
66
  // ── Database accessors ─────────────────────────────────────────────────
55
67
  /** @internal 见 SQLiteBase.getDatabase 注释。Routes/Handlers/Analytics 禁止调用。 */
@@ -60,10 +72,26 @@ export class SQLiteStorage extends EventEmitter {
60
72
  queryEvents(filter) {
61
73
  return this.events.queryEvents(filter);
62
74
  }
75
+ /** Point lookup of a single event by event_id (used by pipeline ?event_id). */
76
+ getEventById(eventId) { return this.events.getEventById(eventId); }
77
+ /** Backfill ai_response (plain text, NOT gzip) for a violation window — spec 1446. */
78
+ updateEventAiResponse(eventId, text) { this.events.updateEventAiResponse(eventId, text); }
79
+ /** Inline-edit (PostToolUse Edit/Write/NotebookEdit) rows for a session in an ISO window — spec 1446. */
80
+ queryInlineEditEvents(opts) {
81
+ return this.events.queryInlineEditEvents(opts);
82
+ }
63
83
  countEvents(filter) { return this.events.countEvents(filter); }
64
84
  searchEvents(filter) {
65
85
  return this.events.searchEvents(filter);
66
86
  }
87
+ /**
88
+ * audit F5 — slim event reader for /api/insights/timeline. Drops
89
+ * `tool_output` + `ai_response` from the SELECT to keep MB-scale PostToolUse
90
+ * rows out of the response payload. See EventOperations.queryEventsTimeline.
91
+ */
92
+ queryEventsTimeline(filter) {
93
+ return this.events.queryEventsTimeline(filter);
94
+ }
67
95
  // ── H2: Event aggregates (前 routes/handlers/analytics 越权 SQL) ──
68
96
  countAllEvents() { return this.events.countAllEvents(); }
69
97
  aggregateToolUsage(opts) {
@@ -81,6 +109,26 @@ export class SQLiteStorage extends EventEmitter {
81
109
  aggregateToolUsageBySession(session_id) {
82
110
  return this.events.aggregateToolUsageBySession(session_id);
83
111
  }
112
+ aggregateAgentSpawns(opts) {
113
+ return this.events.aggregateAgentSpawns(opts);
114
+ }
115
+ /** decision c425f26f: cross-task workflow spawns grouped by decision_id. */
116
+ queryWorkflowSpawnsByDecisionId(decisionId) {
117
+ return this.events.queryWorkflowSpawnsByDecisionId(decisionId);
118
+ }
119
+ /** decision c425f26f: resolve a task's home decision_id (plaintext column, no gzip). */
120
+ queryTaskDecisionId(taskId) {
121
+ return this.events.queryTaskDecisionId(taskId);
122
+ }
123
+ /**
124
+ * decision c425f26f (user ruling #3): re-runnable backfill of the plaintext
125
+ * events.decision_id / subagent_type columns. Boot-time runs the gated variant
126
+ * automatically; this exposes the engine for `cf maintenance backfill-spawn-fields`.
127
+ * Returns the number of rows updated.
128
+ */
129
+ backfillEventsDecisionId() {
130
+ return this.base.backfillEventsDecisionId();
131
+ }
84
132
  countActiveDays(opts) {
85
133
  return this.events.countActiveDays(opts);
86
134
  }
@@ -99,6 +147,21 @@ export class SQLiteStorage extends EventEmitter {
99
147
  queryEventsByTimeRange(opts) {
100
148
  return this.events.queryEventsByTimeRange(opts);
101
149
  }
150
+ // ── Event TTL sweep ops (db-size optimization 2026-05-26) ──────────────
151
+ /**
152
+ * NULL out `tool_input` for events older than `cutoffIso`, capped to `maxRows`
153
+ * per call. See EventOperations.expireToolInputBatch.
154
+ */
155
+ expireToolInputBatch(cutoffIso, maxRows) {
156
+ return this.events.expireToolInputBatch(cutoffIso, maxRows);
157
+ }
158
+ /**
159
+ * DELETE events older than `cutoffIso` (plus orphan task_events), capped to
160
+ * `maxRows`. See EventOperations.deleteEventsByCutoff.
161
+ */
162
+ deleteEventsByCutoff(cutoffIso, maxRows) {
163
+ return this.events.deleteEventsByCutoff(cutoffIso, maxRows);
164
+ }
102
165
  // ── Session operations ─────────────────────────────────────────────────
103
166
  upsertSession(event) { this.sessions.upsertSession(event); }
104
167
  querySessions(filter = {}) {
@@ -106,6 +169,10 @@ export class SQLiteStorage extends EventEmitter {
106
169
  }
107
170
  getSession(id) { return this.sessions.getSession(id); }
108
171
  getSessionByPrefix(idPrefix) { return this.sessions.getSessionByPrefix(idPrefix); }
172
+ /** Phase 3 timeline endpoint: session row + rollup metric columns + outcome. */
173
+ getSessionWithMetrics(idOrPrefix) {
174
+ return this.sessions.getSessionWithMetrics(idOrPrefix);
175
+ }
109
176
  // ── H2: Session aggregates ──
110
177
  countAllSessions() { return this.sessions.countAllSessions(); }
111
178
  aggregateDailySessionCounts(opts) {
@@ -117,24 +184,118 @@ export class SQLiteStorage extends EventEmitter {
117
184
  countSessionsByRange(opts) {
118
185
  return this.sessions.countSessionsByRange(opts);
119
186
  }
187
+ updateSessionOutcome(sessionId, updates) {
188
+ this.sessions.updateSessionOutcome(sessionId, updates);
189
+ }
190
+ /** Phase 9.5 idle-session sweeper input. */
191
+ queryIdleUnclassifiedSessions(cutoffIso, limit) {
192
+ return this.sessions.queryIdleUnclassifiedSessions(cutoffIso, limit);
193
+ }
194
+ updateSessionMetrics(sessionId, updates) {
195
+ this.sessions.updateSessionMetrics(sessionId, updates);
196
+ }
197
+ /**
198
+ * Session-centric agent board projection (v2). See SessionOperations.queryAgentBoardSessions.
199
+ */
200
+ queryAgentBoardSessions(opts) {
201
+ return this.sessions.queryAgentBoardSessions(opts);
202
+ }
120
203
  // ── Injection operations ───────────────────────────────────────────────
121
204
  writeInjection(injection) { this.injections.writeInjection(injection); }
122
205
  queryInjections(filter = {}) {
123
206
  return this.injections.queryInjections(filter);
124
207
  }
208
+ /**
209
+ * Phase 2 metrics rollup helper. Count injections for one session, optionally
210
+ * filtered by source_handler (e.g. 'UserPromptSubmitHandler:kb' → KB injects).
211
+ */
212
+ countInjectionsBySessionByHandler(session_id, source_handler) {
213
+ return this.injections.countBySession(session_id, source_handler);
214
+ }
215
+ /** Phase 2d pipeline-view batch helper. See InjectionOperations.queryBySessions. */
216
+ queryInjectionsBySessions(sessionIds) {
217
+ return this.injections.queryBySessions(sessionIds);
218
+ }
219
+ /**
220
+ * KB 采纳 telemetry(decision 148f7a0a)。
221
+ * See InjectionOperations.writeKbInjectionAdoption.
222
+ */
223
+ writeKbInjectionAdoption(session_id, adopted_at) {
224
+ return this.injections.writeKbInjectionAdoption(session_id, adopted_at);
225
+ }
226
+ /** KB 采纳率读路径(decision 148f7a0a)。See InjectionOperations.countKbAdoption. */
227
+ countKbAdoption(sinceIso) {
228
+ return this.injections.countKbAdoption(sinceIso);
229
+ }
230
+ /**
231
+ * LOOP HINT 采纳 telemetry(decision e7d13697, Option C)。
232
+ * See InjectionOperations.writeLoopHintAdoption.
233
+ */
234
+ writeLoopHintAdoption(session_id, adopted_at) {
235
+ return this.injections.writeLoopHintAdoption(session_id, adopted_at);
236
+ }
237
+ /** LOOP HINT 采纳率读路径(decision e7d13697)。See InjectionOperations.countLoopHintAdoption. */
238
+ countLoopHintAdoption(sinceIso) {
239
+ return this.injections.countLoopHintAdoption(sinceIso);
240
+ }
125
241
  // ── Task operations ─────────────────────────────────────────────────
126
242
  writeTask(task) {
127
243
  this.tasks.writeTask(task);
128
244
  }
245
+ /** decision f47c2c90 (二期B): idempotent parent link. See TaskOperations.setTaskParent. */
246
+ setTaskParent(taskId, parentTaskId) {
247
+ this.tasks.setTaskParent(taskId, parentTaskId);
248
+ }
249
+ /** decision f47c2c90 (二期B): triple-gate parent candidate lookup. See TaskOperations.getMostRecentUserTaskBefore. */
250
+ getMostRecentUserTaskBefore(opts) {
251
+ return this.tasks.getMostRecentUserTaskBefore(opts);
252
+ }
253
+ /** decision f47c2c90 (二期B): parent-chain spawn aggregation. See TaskOperations.queryParentTaskChainSpawns. */
254
+ queryParentTaskChainSpawns(anchorTaskId) {
255
+ return this.tasks.queryParentTaskChainSpawns(anchorTaskId);
256
+ }
257
+ /**
258
+ * decision ed5c3e93 (per-turn human input): read plaintext UserPromptSubmit
259
+ * user_prompt rows for a set of tasks. See TaskOperations.queryUserPromptsByTaskIds.
260
+ */
261
+ queryUserPromptsByTaskIds(taskIds) {
262
+ return this.tasks.queryUserPromptsByTaskIds(taskIds);
263
+ }
129
264
  updateTask(taskId, updates) {
130
265
  this.tasks.updateTask(taskId, updates);
131
266
  }
132
267
  linkEventToTask(taskId, eventId) {
133
268
  this.tasks.linkEventToTask(taskId, eventId);
134
269
  }
270
+ /**
271
+ * Task-tracking overhaul (2026-05-27 spec §3.3 Q3): pure-attachment
272
+ * variant — see TaskOperations.attachEventToTask.
273
+ */
274
+ attachEventToTask(taskId, eventId) {
275
+ this.tasks.attachEventToTask(taskId, eventId);
276
+ }
135
277
  queryTasks(filter = {}) {
136
278
  return this.tasks.queryTasks(filter);
137
279
  }
280
+ /**
281
+ * Orphan-event robustness fix (2026-06-01): direct active-user-task lookup.
282
+ * See TaskOperations.getActiveUserTask.
283
+ */
284
+ getActiveUserTask(sessionId) {
285
+ return this.tasks.getActiveUserTask(sessionId);
286
+ }
287
+ /** decision c6613590 P0 缺陷 B: PK active-status check. See TaskOperations.isTaskActive. */
288
+ isTaskActive(taskId) {
289
+ return this.tasks.isTaskActive(taskId);
290
+ }
291
+ /**
292
+ * Orphan-event robustness fix (2026-06-01): all sessions with an active user
293
+ * task — drives TaskSegmenter.hydrateActiveTasks. See
294
+ * TaskOperations.queryActiveUserTaskSessions.
295
+ */
296
+ queryActiveUserTaskSessions() {
297
+ return this.tasks.queryActiveUserTaskSessions();
298
+ }
138
299
  queryTasksFiltered(filter = {}) {
139
300
  return this.tasks.queryTasksFiltered(filter);
140
301
  }
@@ -146,21 +307,145 @@ export class SQLiteStorage extends EventEmitter {
146
307
  return this.tasks.countTasksByRange(opts);
147
308
  }
148
309
  getTaskEventIds(taskId) { return this.tasks.getTaskEventIds(taskId); }
310
+ queryTaskIdsByEventIds(eventIds) {
311
+ return this.tasks.queryTaskIdsByEventIds(eventIds);
312
+ }
313
+ // ── decision 265f59d5: LLM task-boundary re-attribution ──
314
+ getTaskUserPrompts(taskId, limit) {
315
+ return this.tasks.getTaskUserPrompts(taskId, limit);
316
+ }
317
+ isLlmClassified(taskId) {
318
+ return this.tasks.isLlmClassified(taskId);
319
+ }
320
+ markLlmClassified(taskId, atIso) {
321
+ this.tasks.markLlmClassified(taskId, atIso);
322
+ }
323
+ reattributePromptToNewTask(opts) {
324
+ return this.tasks.reattributePromptToNewTask(opts);
325
+ }
149
326
  completeStaleActiveTasks(idleMinutes) {
150
327
  return this.tasks.completeStaleActiveTasks(idleMinutes);
151
328
  }
329
+ /** E2E link fix (P1, 2026-05-25): tasks left unclassified by TaskSegmenter. */
330
+ queryIdleUnclassifiedTasks(sessionId) {
331
+ return this.tasks.queryIdleUnclassifiedTasks(sessionId);
332
+ }
333
+ /**
334
+ * Outcome classifier (spec 1100 v2): count a task's Edit/Write intent
335
+ * events — drives the `edit_intent_count` signal (success vs answered split).
336
+ */
337
+ countEditIntentEventsByTask(taskId) {
338
+ return this.tasks.countEditIntentEventsByTask(taskId);
339
+ }
340
+ /**
341
+ * Outcome classifier (spec 1100 v2): count a SESSION's Edit/Write intent
342
+ * events — session-level `edit_intent_count` signal.
343
+ */
344
+ countEditIntentEventsBySession(sessionId) {
345
+ return this.events.countEditIntentEventsBySession(sessionId);
346
+ }
347
+ /**
348
+ * Task-tracking overhaul (2026-05-27 spec §3.3) — Bug 3 orphan recovery.
349
+ * See TaskOperations.findRecentCompletedTaskForOrphan.
350
+ */
351
+ findRecentCompletedTaskForOrphan(opts) {
352
+ return this.tasks.findRecentCompletedTaskForOrphan(opts);
353
+ }
152
354
  getTask(taskId) {
153
355
  return this.tasks.getTask(taskId);
154
356
  }
357
+ /** Task-tracking deep fix (2026-05-27 spec §3.A): smart orphan-recovery without a fixed window. */
358
+ findCompletedTaskForOrphanSmart(opts) {
359
+ return this.tasks.findCompletedTaskForOrphanSmart(opts);
360
+ }
155
361
  queryEventsByTaskId(taskId, opts) {
156
362
  return this.tasks.queryEventsByTaskId(taskId, opts);
157
363
  }
364
+ /** Task-tracking deep fix (2026-05-27 spec §5.C): UNION fallback query with linked field. */
365
+ queryEventsByTaskIdWithFallback(taskId, opts) {
366
+ return this.tasks.queryEventsByTaskIdWithFallback(taskId, opts);
367
+ }
368
+ /** spec 1551 §6.D: Orphan stats for dry-run display. */
369
+ queryOrphanStats() {
370
+ return this.tasks.queryOrphanStats();
371
+ }
372
+ /** spec 1551 §6.D: Sample attachable pairs for dry-run display. */
373
+ sampleAttachablePairs(limit) {
374
+ return this.tasks.sampleAttachablePairs(limit);
375
+ }
376
+ /** spec 1551 §6.D.3: Apply backfill atomically. Returns rows inserted. */
377
+ backfillOrphans() {
378
+ return this.tasks.backfillOrphans();
379
+ }
380
+ /**
381
+ * B+ spec: 30min smart window 续命 — reactivate a completed task.
382
+ * Sets status='active', end_time=NULL. start_time is not touched.
383
+ * See TaskOperations.resumeTask.
384
+ */
385
+ resumeTask(taskId) {
386
+ this.tasks.resumeTask(taskId);
387
+ }
158
388
  queryInjectionsByTaskId(taskId) {
159
389
  return this.tasks.queryInjectionsByTaskId(taskId);
160
390
  }
161
391
  querySkillInvocationsByTaskWindow(taskId, opts) {
162
392
  return this.tasks.querySkillInvocationsByTaskWindow(taskId, opts);
163
393
  }
394
+ /** Agent 主动 pull 的 KB(任务窗内,按 project+时间窗+reason scope)。See TaskOperations.queryTaskKbPulls. */
395
+ queryTaskKbPulls(taskId, opts) {
396
+ return this.tasks.queryTaskKbPulls(taskId, opts);
397
+ }
398
+ /**
399
+ * Task-centric agent board projection (v3). See TaskOperations.queryAgentBoardTasks.
400
+ */
401
+ queryAgentBoardTasks(opts) {
402
+ return this.tasks.queryAgentBoardTasks(opts);
403
+ }
404
+ /**
405
+ * Agent Board v3 — unbounded count companion (2026-05-26).
406
+ * Drives the "总任务数 (7d)" KPI without the lane LIMIT clipping the value.
407
+ */
408
+ countAgentBoardTasks(opts) {
409
+ return this.tasks.countAgentBoardTasks(opts);
410
+ }
411
+ /**
412
+ * Agent Board prompt-rows projection (decision b509fd91, 2026-06-08).
413
+ * One row = one user-prompt event; group_id = its task. See
414
+ * TaskOperations.queryAgentBoardPromptRows.
415
+ */
416
+ queryAgentBoardPromptRows(opts) {
417
+ return this.tasks.queryAgentBoardPromptRows(opts);
418
+ }
419
+ /**
420
+ * Unbounded prompt-row count companion (decision b509fd91). Drives the list
421
+ * paginator's total when ?rows=prompt. See countAgentBoardPromptRows.
422
+ */
423
+ countAgentBoardPromptRows(opts) {
424
+ return this.tasks.countAgentBoardPromptRows(opts);
425
+ }
426
+ /**
427
+ * Window-level distinct-task aggregates for the prompt-rows list view
428
+ * (2026-06-10 KPI 分页假象 fix). Same WHERE 口径 as countAgentBoardPromptRows;
429
+ * drives "总任务数 / 失败 / 平均时长" KPIs + outcome tab counts unbounded by
430
+ * the page LIMIT. See TaskOperations.queryAgentBoardPromptWindowAggregates.
431
+ */
432
+ queryAgentBoardPromptWindowAggregates(opts) {
433
+ return this.tasks.queryAgentBoardPromptWindowAggregates(opts);
434
+ }
435
+ /**
436
+ * v6 Batch 1 (spec 1750 § B1-3): trivial task counter for DaemonObserverBadge.
437
+ * Counts `tasks WHERE is_noise=1 AND start_time >= sinceIso`.
438
+ */
439
+ countTrivialTasksSince(sinceIso) {
440
+ return this.tasks.countTrivialTasksSince(sinceIso);
441
+ }
442
+ /**
443
+ * Daily commit + task activity over a window. Drives /api/insights/commit-activity
444
+ * and HealthHomePage 30d Commit calendar without the agent-board LIMIT undercount.
445
+ */
446
+ queryCommitActivityDaily(opts) {
447
+ return this.tasks.queryCommitActivityDaily(opts);
448
+ }
164
449
  // ── Routing events ─────────────────────────────────────────────────────
165
450
  writeRoutingEvent(record) {
166
451
  return this.routing.writeRoutingEvent(record);
@@ -180,12 +465,20 @@ export class SQLiteStorage extends EventEmitter {
180
465
  queryPendingRoutingEvents(ageMs) {
181
466
  return this.routing.queryPendingRoutingEvents(ageMs);
182
467
  }
468
+ /** Phase 2d pipeline-view batch helper. See RoutingOperations.queryBySessions. */
469
+ queryRoutingEventsBySessions(sessionIds) {
470
+ return this.routing.queryBySessions(sessionIds);
471
+ }
183
472
  getRecentRoutingEvent(sessionId) {
184
473
  return this.routing.getRecentRoutingEvent(sessionId);
185
474
  }
186
475
  getRecentPendingRoutingEvent(sessionId) {
187
476
  return this.routing.getRecentPendingRoutingEvent(sessionId);
188
477
  }
478
+ /** P3 (audit e888352d): re-label this session's still-pending routing rows as 'none' at Stop. */
479
+ markPendingRoutingEventsResolved(sessionId) {
480
+ return this.routing.markPendingRoutingEventsResolved(sessionId);
481
+ }
189
482
  // ── Experiment assignments ─────────────────────────────────────────────
190
483
  getExperimentAssignment(sessionId, experimentId) {
191
484
  return this.routing.getExperimentAssignment(sessionId, experimentId);
@@ -196,26 +489,31 @@ export class SQLiteStorage extends EventEmitter {
196
489
  queryExperimentStats(experimentId) {
197
490
  return this.routing.queryExperimentStats(experimentId);
198
491
  }
199
- // ── Token usage ────────────────────────────────────────────────────────
200
- writeTokenUsage(params) {
201
- this.tokenUsage.writeTokenUsage(params);
202
- }
203
- getTokenUsageBySession(session_id) {
204
- return this.tokenUsage.getTokenUsageBySession(session_id);
205
- }
206
- listTokenUsage(filter = {}) {
207
- return this.tokenUsage.listTokenUsage(filter);
208
- }
209
492
  // ── Skill invocations ──────────────────────────────────────────────────
210
493
  writeSkillInvocation(row) {
211
494
  this.skills.writeSkillInvocation(row);
212
495
  }
496
+ // decision 39839e30 Part 2: one-shot project_path back-fill seam (also run at
497
+ // boot by base.backfillSkillInvocationsProjectPathIfNeeded).
498
+ backfillSkillInvocationProjectPath() {
499
+ return this.skills.backfillSkillInvocationProjectPath();
500
+ }
213
501
  querySkillInvocations(filter = {}) {
214
502
  return this.skills.querySkillInvocations(filter);
215
503
  }
216
504
  aggregateSkillInvocationsBySkill(filter) {
217
505
  return this.skills.aggregateSkillInvocationsBySkill(filter);
218
506
  }
507
+ // ── audit #2 (decision f61b8a0c): injected vs really-invoked split ──
508
+ aggregateSkillInjectVsInvoke(filter) {
509
+ return this.skills.aggregateSkillInjectVsInvoke(filter);
510
+ }
511
+ countRealSkillCalls(filter) {
512
+ return this.skills.countRealSkillCalls(filter);
513
+ }
514
+ countGenuineSkillInvocations(filter) {
515
+ return this.skills.countGenuineSkillInvocations(filter);
516
+ }
219
517
  queryWorkflowProgress(filter = {}) {
220
518
  return this.skills.queryWorkflowProgress(filter);
221
519
  }
@@ -230,14 +528,223 @@ export class SQLiteStorage extends EventEmitter {
230
528
  queryDistinctSkillIdsBySession(session_id) {
231
529
  return this.skills.queryDistinctSkillIdsBySession(session_id);
232
530
  }
531
+ // ── Skill usefulness feedback (decision d24cd3a2 P0) ──
532
+ writeSkillUsefulness(args) {
533
+ return this.skills.writeSkillUsefulness(args);
534
+ }
535
+ aggregateSkillUsefulness(filter = {}) {
536
+ return this.skills.aggregateSkillUsefulness(filter);
537
+ }
538
+ // decision 234f1ad4 Phase 1: (agent,skill) pairing usefulness (reason-prefix proxy key).
539
+ aggregateSkillUsefulnessByAgent(filter = {}) {
540
+ return this.skills.aggregateSkillUsefulnessByAgent(filter);
541
+ }
233
542
  // ── Maintenance ────────────────────────────────────────────────────────
234
- /** @deprecated 仅清 events 表。新代码请用 `cleanOldData(days)`。 */
235
- cleanOldEvents(daysToKeep = 30) { return this.maintenance.cleanOldEvents(daysToKeep); }
236
543
  cleanOldData(daysToKeep = 30) {
237
544
  return this.maintenance.cleanOldData(daysToKeep);
238
545
  }
239
546
  runMaintenance(maxSizeMb) { this.maintenance.runMaintenance(maxSizeMb); }
240
547
  vacuum() { this.maintenance.vacuum(); }
548
+ /**
549
+ * Reclaim up to `maxPages` free pages from the auto_vacuum=INCREMENTAL
550
+ * freelist. See MaintenanceOperations.incrementalVacuum.
551
+ */
552
+ incrementalVacuum(maxPages = 1000) {
553
+ return this.maintenance.incrementalVacuum(maxPages);
554
+ }
555
+ // ── KB Telemetry (v9.5) ────────────────────────────────────────────────
556
+ writeKbQueryLog(entry) {
557
+ this.knowledge.writeKbQueryLog(entry);
558
+ }
559
+ queryKbQueryLog(filter) {
560
+ return this.knowledge.queryKbQueryLog(filter);
561
+ }
562
+ // ── KB usefulness feedback (decision 096309e4 batch 1 item ①) ──
563
+ writeKbUsefulness(args) {
564
+ return this.knowledge.writeKbUsefulness(args);
565
+ }
566
+ aggregateKbUsefulness(filter = {}) {
567
+ return this.knowledge.aggregateKbUsefulness(filter);
568
+ }
569
+ // decision 234f1ad4 Phase 1: per-agent KB usefulness (reason-prefix proxy key).
570
+ aggregateKbUsefulnessByAgent(filter = {}) {
571
+ return this.knowledge.aggregateKbUsefulnessByAgent(filter);
572
+ }
573
+ queryKbStats(projectPath) {
574
+ return this.knowledge.queryKbStats(projectPath);
575
+ }
576
+ queryAgentKbPulls(filter) {
577
+ return this.knowledge.queryAgentKbPulls(filter);
578
+ }
579
+ /** Genuine agent KB pull count for the「KB 调用」KPI (decision 64d37b1d). */
580
+ countAgentKbPulls(filter) {
581
+ return this.knowledge.countAgentKbPulls(filter);
582
+ }
583
+ queryKbCitedPages(filter) {
584
+ return this.knowledge.queryKbCitedPages(filter);
585
+ }
586
+ writeKbBuildLog(entry) {
587
+ this.knowledge.writeKbBuildLog(entry);
588
+ }
589
+ updateKbBuildLog(buildId, updates) {
590
+ this.knowledge.updateKbBuildLog(buildId, updates);
591
+ }
592
+ queryLastKbBuild(projectPath) {
593
+ return this.knowledge.queryLastKbBuild(projectPath);
594
+ }
595
+ listKnownProjectPaths() {
596
+ return this.knowledge.listKnownProjectPaths();
597
+ }
598
+ queryLastEventAtPerProject() {
599
+ return this.knowledge.queryLastEventAtPerProject();
600
+ }
601
+ queryKbUsageStats(projectPath, days) {
602
+ return this.knowledge.queryKbUsageStats(projectPath, days);
603
+ }
604
+ // ── Forge Config (v9.x Phase 0 feature flags) ──────────────────────────
605
+ readConfig(key) { return this.forgeConfig.readConfig(key); }
606
+ writeConfig(key, value) { this.forgeConfig.writeConfig(key, value); }
607
+ writeConfigIfMissing(key, value) {
608
+ return this.forgeConfig.writeConfigIfMissing(key, value);
609
+ }
610
+ listConfig() { return this.forgeConfig.listConfig(); }
611
+ deleteConfig(key) { return this.forgeConfig.deleteConfig(key); }
612
+ // ── Tool Intercepts (v9.x Phase 1 PreToolUse rules) ────────────────────
613
+ writeToolIntercept(record) {
614
+ return this.toolIntercepts.writeToolIntercept(record);
615
+ }
616
+ queryToolIntercepts(filter = {}) {
617
+ return this.toolIntercepts.queryToolIntercepts(filter);
618
+ }
619
+ countToolIntercepts(session_id) {
620
+ return this.toolIntercepts.countToolIntercepts(session_id);
621
+ }
622
+ /**
623
+ * Phase 2 metrics rollup alias. Same as countToolIntercepts but matches the
624
+ * "countXBySession" naming convention used by other Phase 2 helpers.
625
+ */
626
+ countToolInterceptsBySession(session_id) {
627
+ return this.toolIntercepts.countToolIntercepts(session_id);
628
+ }
629
+ /** audit F4: PostToolUse back-fills obeyed/override on a prior deny row. */
630
+ updateToolInterceptOutcome(id, outcome) {
631
+ this.toolIntercepts.updateOutcome(id, outcome);
632
+ }
633
+ /** Phase 2d pipeline-view batch helper. See ToolInterceptsOperations.queryBySessions. */
634
+ queryToolInterceptsBySessions(sessionIds) {
635
+ return this.toolIntercepts.queryBySessions(sessionIds);
636
+ }
637
+ // ── Workflow Recommendations — retired 2026-06-10 (decision fe6f98cd).
638
+ // The `workflow_recommendations` table is preserved in existing DBs for
639
+ // audit; all facade read/write methods were deleted with their consumers.
640
+ // ── Decisions (decision-flow-overhaul 2026-05-28) ──────────────────────
641
+ writeDecision(record) {
642
+ return this.decisions.writeDecision(record);
643
+ }
644
+ getDecision(id) {
645
+ return this.decisions.getDecision(id);
646
+ }
647
+ updateDecision(id, update) {
648
+ this.decisions.updateDecision(id, update);
649
+ }
650
+ /**
651
+ * Back-fill a decision's implementation outcome (decision-maker optimization
652
+ * Batch 1.1, decision a5d5a85b). Independent of approval status; throws on an
653
+ * invalid outcome value.
654
+ */
655
+ writeDecisionOutcome(id, outcome) {
656
+ this.decisions.writeDecisionOutcome(id, outcome);
657
+ }
658
+ approveDecision(id, approved_by, approved_at_iso, options) {
659
+ this.decisions.approveDecision(id, approved_by, approved_at_iso, options);
660
+ }
661
+ bypassDecision(id, approved_by) {
662
+ this.decisions.bypassDecision(id, approved_by);
663
+ }
664
+ expireOldDecisions(now_iso) {
665
+ return this.decisions.expireOldRows(now_iso);
666
+ }
667
+ getMostRecentPendingDecision(session_id, within_seconds, project_path) {
668
+ return this.decisions.getMostRecentPending(session_id, within_seconds, project_path);
669
+ }
670
+ listDecisions(filter) {
671
+ return this.decisions.listDecisions(filter);
672
+ }
673
+ /**
674
+ * v6 Batch 1 (spec 1750 § B1-3): hint counter for DaemonObserverBadge.
675
+ * Counts `decisions WHERE created_at >= sinceIso`.
676
+ */
677
+ countDecisionsSince(sinceIso) {
678
+ return this.decisions.countDecisionsSince(sinceIso);
679
+ }
680
+ /**
681
+ * Option B (decision b95e0956, 2026-05-29) — continuation detection helper.
682
+ * Returns the N most-recent resolved decisions for a session, newest-first.
683
+ */
684
+ listRecentResolvedDecisions(session_id, limit) {
685
+ return this.decisions.listRecentResolved(session_id, limit);
686
+ }
687
+ /**
688
+ * outcome-backfill soft-gate (decision 1ac6fc31, 2026-06-04) — resolved
689
+ * decisions for a session/project whose outcome has not been back-filled.
690
+ * Backs the OutcomeNudge soft-gate (Option A threshold + degraded Option B).
691
+ */
692
+ listResolvedUnfilledDecisions(session_id, project_path) {
693
+ return this.decisions.listResolvedUnfilled(session_id, project_path);
694
+ }
695
+ // ── Spec-kind facade (C1, 2026-06-02 — absorbs pending_specs) ──────────
696
+ registerSpec(record) {
697
+ return this.decisions.registerSpec(record);
698
+ }
699
+ findSpecByTokenAndSession(token, session_id) {
700
+ return this.decisions.findSpecByTokenAndSession(token, session_id);
701
+ }
702
+ findSpecByPath(spec_path) {
703
+ return this.decisions.findSpecByPath(spec_path);
704
+ }
705
+ markSpecApproved(id, approved_at_iso) {
706
+ this.decisions.markSpecApproved(id, approved_at_iso);
707
+ }
708
+ listSpecsBySessionPending(session_id, limit) {
709
+ return this.decisions.listSpecsBySessionPending(session_id, limit);
710
+ }
711
+ querySpecsBySessions(sessionIds) {
712
+ return this.decisions.querySpecsBySessions(sessionIds);
713
+ }
714
+ expireOldSpecs(now_iso) {
715
+ return this.decisions.expireOldSpecs(now_iso);
716
+ }
717
+ // ── Feedback / Weekly-Report Aggregates (F-medium #1, 2026-05-26) ─────
718
+ // Down-sunk from FeedbackAggregator. Aggregator now consumes these facade
719
+ // methods instead of calling getDatabase() directly. Keeps base.ts:402-413
720
+ // contract intact (no db.prepare outside Operations).
721
+ queryInterceptObeyedSummary(sinceIso, projectPath) {
722
+ return this.feedback.queryInterceptObeyedSummary(sinceIso, projectPath);
723
+ }
724
+ queryInterceptDecisionCounts(sinceIso) {
725
+ return this.feedback.queryInterceptDecisionCounts(sinceIso);
726
+ }
727
+ queryTopInterceptRuleViolations(sinceIso, limit) {
728
+ return this.feedback.queryTopInterceptRuleViolations(sinceIso, limit);
729
+ }
730
+ queryInterceptRuleAggregates(sinceIso) {
731
+ return this.feedback.queryInterceptRuleAggregates(sinceIso);
732
+ }
733
+ countKbInjections(sinceIso, projectPath) {
734
+ return this.feedback.countKbInjections(sinceIso, projectPath);
735
+ }
736
+ queryKbInjectionMetadata(sinceIso) {
737
+ return this.feedback.queryKbInjectionMetadata(sinceIso);
738
+ }
739
+ queryTopSkillInvocations(sinceMillis, limit) {
740
+ return this.feedback.queryTopSkillInvocations(sinceMillis, limit);
741
+ }
742
+ querySkillAggregates(sinceMillis) {
743
+ return this.feedback.querySkillAggregates(sinceMillis);
744
+ }
745
+ querySessionOutcomeDistribution(sinceIso, projectPath) {
746
+ return this.feedback.querySessionOutcomeDistribution(sinceIso, projectPath);
747
+ }
241
748
  close() {
242
749
  try {
243
750
  this.base.getDatabase().close();