@winspan/claude-forge 8.54.4 → 9.2.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 (880) hide show
  1. package/DEVELOPMENT.md +649 -33
  2. package/README.md +154 -16
  3. package/dist/catalogs/agents.json +72 -0
  4. package/dist/catalogs/skills.json +194 -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/agents.d.ts +18 -0
  26. package/dist/cli/commands/agents.d.ts.map +1 -0
  27. package/dist/cli/commands/agents.js +160 -0
  28. package/dist/cli/commands/agents.js.map +1 -0
  29. package/dist/cli/commands/bypass.d.ts +18 -0
  30. package/dist/cli/commands/bypass.d.ts.map +1 -0
  31. package/dist/cli/commands/bypass.js +87 -0
  32. package/dist/cli/commands/bypass.js.map +1 -0
  33. package/dist/cli/commands/claudemd.d.ts +60 -0
  34. package/dist/cli/commands/claudemd.d.ts.map +1 -1
  35. package/dist/cli/commands/claudemd.js +174 -37
  36. package/dist/cli/commands/claudemd.js.map +1 -1
  37. package/dist/cli/commands/config.d.ts.map +1 -1
  38. package/dist/cli/commands/config.js +94 -1
  39. package/dist/cli/commands/config.js.map +1 -1
  40. package/dist/cli/commands/daemon.d.ts +39 -0
  41. package/dist/cli/commands/daemon.d.ts.map +1 -1
  42. package/dist/cli/commands/daemon.js +167 -20
  43. package/dist/cli/commands/daemon.js.map +1 -1
  44. package/dist/cli/commands/decisions.d.ts +129 -0
  45. package/dist/cli/commands/decisions.d.ts.map +1 -0
  46. package/dist/cli/commands/decisions.js +669 -0
  47. package/dist/cli/commands/decisions.js.map +1 -0
  48. package/dist/cli/commands/doctor.d.ts +29 -0
  49. package/dist/cli/commands/doctor.d.ts.map +1 -0
  50. package/dist/cli/commands/doctor.js +124 -0
  51. package/dist/cli/commands/doctor.js.map +1 -0
  52. package/dist/cli/commands/entropy.d.ts +35 -0
  53. package/dist/cli/commands/entropy.d.ts.map +1 -0
  54. package/dist/cli/commands/entropy.js +121 -0
  55. package/dist/cli/commands/entropy.js.map +1 -0
  56. package/dist/cli/commands/executions.d.ts +1 -0
  57. package/dist/cli/commands/executions.d.ts.map +1 -1
  58. package/dist/cli/commands/executions.js +10 -1
  59. package/dist/cli/commands/executions.js.map +1 -1
  60. package/dist/cli/commands/fix.d.ts +31 -0
  61. package/dist/cli/commands/fix.d.ts.map +1 -0
  62. package/dist/cli/commands/fix.js +108 -0
  63. package/dist/cli/commands/fix.js.map +1 -0
  64. package/dist/cli/commands/governance.d.ts +21 -0
  65. package/dist/cli/commands/governance.d.ts.map +1 -0
  66. package/dist/cli/commands/governance.js +60 -0
  67. package/dist/cli/commands/governance.js.map +1 -0
  68. package/dist/cli/commands/init.d.ts +27 -0
  69. package/dist/cli/commands/init.d.ts.map +1 -1
  70. package/dist/cli/commands/init.js +158 -146
  71. package/dist/cli/commands/init.js.map +1 -1
  72. package/dist/cli/commands/insights-goal-check.d.ts +50 -0
  73. package/dist/cli/commands/insights-goal-check.d.ts.map +1 -0
  74. package/dist/cli/commands/insights-goal-check.js +318 -0
  75. package/dist/cli/commands/insights-goal-check.js.map +1 -0
  76. package/dist/cli/commands/insights.d.ts +15 -0
  77. package/dist/cli/commands/insights.d.ts.map +1 -0
  78. package/dist/cli/commands/insights.js +127 -0
  79. package/dist/cli/commands/insights.js.map +1 -0
  80. package/dist/cli/commands/knowledge.d.ts +66 -0
  81. package/dist/cli/commands/knowledge.d.ts.map +1 -0
  82. package/dist/cli/commands/knowledge.js +897 -0
  83. package/dist/cli/commands/knowledge.js.map +1 -0
  84. package/dist/cli/commands/mcp.d.ts +0 -12
  85. package/dist/cli/commands/mcp.d.ts.map +1 -1
  86. package/dist/cli/commands/mcp.js +11 -5
  87. package/dist/cli/commands/mcp.js.map +1 -1
  88. package/dist/cli/commands/menu.d.ts.map +1 -1
  89. package/dist/cli/commands/menu.js +10 -184
  90. package/dist/cli/commands/menu.js.map +1 -1
  91. package/dist/cli/commands/project.d.ts +98 -0
  92. package/dist/cli/commands/project.d.ts.map +1 -0
  93. package/dist/cli/commands/project.js +382 -0
  94. package/dist/cli/commands/project.js.map +1 -0
  95. package/dist/cli/commands/skills.d.ts.map +1 -1
  96. package/dist/cli/commands/skills.js +14 -128
  97. package/dist/cli/commands/skills.js.map +1 -1
  98. package/dist/cli/commands/spec.d.ts +40 -0
  99. package/dist/cli/commands/spec.d.ts.map +1 -0
  100. package/dist/cli/commands/spec.js +49 -0
  101. package/dist/cli/commands/spec.js.map +1 -0
  102. package/dist/cli/commands/stats.d.ts.map +1 -1
  103. package/dist/cli/commands/stats.js +3 -2
  104. package/dist/cli/commands/stats.js.map +1 -1
  105. package/dist/cli/commands/status.d.ts.map +1 -1
  106. package/dist/cli/commands/status.js +17 -2
  107. package/dist/cli/commands/status.js.map +1 -1
  108. package/dist/cli/commands/trace.d.ts.map +1 -1
  109. package/dist/cli/commands/trace.js +4 -9
  110. package/dist/cli/commands/trace.js.map +1 -1
  111. package/dist/cli/commands/violations.d.ts +14 -0
  112. package/dist/cli/commands/violations.d.ts.map +1 -0
  113. package/dist/cli/commands/violations.js +43 -0
  114. package/dist/cli/commands/violations.js.map +1 -0
  115. package/dist/cli/index.js +26 -0
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/cli/init/hook-manager.d.ts +1 -1
  118. package/dist/cli/init/hook-manager.d.ts.map +1 -1
  119. package/dist/cli/init/hook-manager.js +6 -0
  120. package/dist/cli/init/hook-manager.js.map +1 -1
  121. package/dist/cli/utils/resolve-session.d.ts +32 -0
  122. package/dist/cli/utils/resolve-session.d.ts.map +1 -0
  123. package/dist/cli/utils/resolve-session.js +39 -0
  124. package/dist/cli/utils/resolve-session.js.map +1 -0
  125. package/dist/core/config.d.ts +4 -1
  126. package/dist/core/config.d.ts.map +1 -1
  127. package/dist/core/config.js +11 -23
  128. package/dist/core/config.js.map +1 -1
  129. package/dist/core/constants.d.ts +14 -13
  130. package/dist/core/constants.d.ts.map +1 -1
  131. package/dist/core/constants.js +20 -13
  132. package/dist/core/constants.js.map +1 -1
  133. package/dist/core/diagnostics/checks.d.ts +151 -0
  134. package/dist/core/diagnostics/checks.d.ts.map +1 -0
  135. package/dist/core/diagnostics/checks.js +765 -0
  136. package/dist/core/diagnostics/checks.js.map +1 -0
  137. package/dist/core/diagnostics/daemon-status.d.ts +77 -0
  138. package/dist/core/diagnostics/daemon-status.d.ts.map +1 -0
  139. package/dist/core/diagnostics/daemon-status.js +113 -0
  140. package/dist/core/diagnostics/daemon-status.js.map +1 -0
  141. package/dist/core/diagnostics/entropy-checks.d.ts +82 -0
  142. package/dist/core/diagnostics/entropy-checks.d.ts.map +1 -0
  143. package/dist/core/diagnostics/entropy-checks.js +395 -0
  144. package/dist/core/diagnostics/entropy-checks.js.map +1 -0
  145. package/dist/core/diagnostics/fix-runner.d.ts +54 -0
  146. package/dist/core/diagnostics/fix-runner.d.ts.map +1 -0
  147. package/dist/core/diagnostics/fix-runner.js +90 -0
  148. package/dist/core/diagnostics/fix-runner.js.map +1 -0
  149. package/dist/core/diagnostics/knip-runner.d.ts +49 -0
  150. package/dist/core/diagnostics/knip-runner.d.ts.map +1 -0
  151. package/dist/core/diagnostics/knip-runner.js +100 -0
  152. package/dist/core/diagnostics/knip-runner.js.map +1 -0
  153. package/dist/core/diagnostics/markers.d.ts +96 -0
  154. package/dist/core/diagnostics/markers.d.ts.map +1 -0
  155. package/dist/core/diagnostics/markers.js +153 -0
  156. package/dist/core/diagnostics/markers.js.map +1 -0
  157. package/dist/core/governance/global-inject.d.ts +60 -0
  158. package/dist/core/governance/global-inject.d.ts.map +1 -0
  159. package/dist/core/governance/global-inject.js +129 -0
  160. package/dist/core/governance/global-inject.js.map +1 -0
  161. package/dist/core/queue/index.d.ts +16 -3
  162. package/dist/core/queue/index.d.ts.map +1 -1
  163. package/dist/core/queue/index.js +14 -3
  164. package/dist/core/queue/index.js.map +1 -1
  165. package/dist/core/storage/base.d.ts +158 -0
  166. package/dist/core/storage/base.d.ts.map +1 -1
  167. package/dist/core/storage/base.js +570 -0
  168. package/dist/core/storage/base.js.map +1 -1
  169. package/dist/core/storage/codec/tool-input-codec.d.ts +93 -0
  170. package/dist/core/storage/codec/tool-input-codec.d.ts.map +1 -0
  171. package/dist/core/storage/codec/tool-input-codec.js +159 -0
  172. package/dist/core/storage/codec/tool-input-codec.js.map +1 -0
  173. package/dist/core/storage/decisions.d.ts +362 -0
  174. package/dist/core/storage/decisions.d.ts.map +1 -0
  175. package/dist/core/storage/decisions.js +502 -0
  176. package/dist/core/storage/decisions.js.map +1 -0
  177. package/dist/core/storage/events.d.ts +112 -8
  178. package/dist/core/storage/events.d.ts.map +1 -1
  179. package/dist/core/storage/events.js +390 -39
  180. package/dist/core/storage/events.js.map +1 -1
  181. package/dist/core/storage/feedback.d.ts +131 -0
  182. package/dist/core/storage/feedback.d.ts.map +1 -0
  183. package/dist/core/storage/feedback.js +187 -0
  184. package/dist/core/storage/feedback.js.map +1 -0
  185. package/dist/core/storage/forge-config.d.ts +40 -0
  186. package/dist/core/storage/forge-config.d.ts.map +1 -0
  187. package/dist/core/storage/forge-config.js +65 -0
  188. package/dist/core/storage/forge-config.js.map +1 -0
  189. package/dist/core/storage/injections.d.ts +28 -0
  190. package/dist/core/storage/injections.d.ts.map +1 -1
  191. package/dist/core/storage/injections.js +62 -5
  192. package/dist/core/storage/injections.js.map +1 -1
  193. package/dist/core/storage/knowledge.d.ts +106 -0
  194. package/dist/core/storage/knowledge.d.ts.map +1 -0
  195. package/dist/core/storage/knowledge.js +202 -0
  196. package/dist/core/storage/knowledge.js.map +1 -0
  197. package/dist/core/storage/maintenance.d.ts +36 -9
  198. package/dist/core/storage/maintenance.d.ts.map +1 -1
  199. package/dist/core/storage/maintenance.js +56 -24
  200. package/dist/core/storage/maintenance.js.map +1 -1
  201. package/dist/core/storage/pipeline-rollup.d.ts +117 -0
  202. package/dist/core/storage/pipeline-rollup.d.ts.map +1 -0
  203. package/dist/core/storage/pipeline-rollup.js +471 -0
  204. package/dist/core/storage/pipeline-rollup.js.map +1 -0
  205. package/dist/core/storage/routing.d.ts +16 -3
  206. package/dist/core/storage/routing.d.ts.map +1 -1
  207. package/dist/core/storage/routing.js +39 -8
  208. package/dist/core/storage/routing.js.map +1 -1
  209. package/dist/core/storage/rows.d.ts +50 -7
  210. package/dist/core/storage/rows.d.ts.map +1 -1
  211. package/dist/core/storage/schema.sql +302 -23
  212. package/dist/core/storage/sessions.d.ts +136 -0
  213. package/dist/core/storage/sessions.d.ts.map +1 -1
  214. package/dist/core/storage/sessions.js +351 -15
  215. package/dist/core/storage/sessions.js.map +1 -1
  216. package/dist/core/storage/skills.d.ts +1 -0
  217. package/dist/core/storage/skills.d.ts.map +1 -1
  218. package/dist/core/storage/skills.js +21 -6
  219. package/dist/core/storage/skills.js.map +1 -1
  220. package/dist/core/storage/sqlite.d.ts +253 -20
  221. package/dist/core/storage/sqlite.d.ts.map +1 -1
  222. package/dist/core/storage/sqlite.js +425 -16
  223. package/dist/core/storage/sqlite.js.map +1 -1
  224. package/dist/core/storage/tasks.d.ts +474 -2
  225. package/dist/core/storage/tasks.d.ts.map +1 -1
  226. package/dist/core/storage/tasks.js +1213 -18
  227. package/dist/core/storage/tasks.js.map +1 -1
  228. package/dist/core/storage/tool-intercepts.d.ts +69 -0
  229. package/dist/core/storage/tool-intercepts.d.ts.map +1 -0
  230. package/dist/core/storage/tool-intercepts.js +116 -0
  231. package/dist/core/storage/tool-intercepts.js.map +1 -0
  232. package/dist/core/storage/workflow-recommendations.d.ts +124 -0
  233. package/dist/core/storage/workflow-recommendations.d.ts.map +1 -0
  234. package/dist/core/storage/workflow-recommendations.js +274 -0
  235. package/dist/core/storage/workflow-recommendations.js.map +1 -0
  236. package/dist/core/types.d.ts +112 -17
  237. package/dist/core/types.d.ts.map +1 -1
  238. package/dist/core/types.js +12 -0
  239. package/dist/core/types.js.map +1 -1
  240. package/dist/core/utils/backup.d.ts +81 -0
  241. package/dist/core/utils/backup.d.ts.map +1 -0
  242. package/dist/core/utils/backup.js +98 -0
  243. package/dist/core/utils/backup.js.map +1 -0
  244. package/dist/core/utils/binary-paths.d.ts +92 -0
  245. package/dist/core/utils/binary-paths.d.ts.map +1 -0
  246. package/dist/core/utils/binary-paths.js +166 -0
  247. package/dist/core/utils/binary-paths.js.map +1 -0
  248. package/dist/core/utils/bypass-token.d.ts +75 -0
  249. package/dist/core/utils/bypass-token.d.ts.map +1 -0
  250. package/dist/core/utils/bypass-token.js +133 -0
  251. package/dist/core/utils/bypass-token.js.map +1 -0
  252. package/dist/core/utils/cc-builtin-agents.d.ts +3 -0
  253. package/dist/core/utils/cc-builtin-agents.d.ts.map +1 -0
  254. package/dist/core/utils/cc-builtin-agents.js +29 -0
  255. package/dist/core/utils/cc-builtin-agents.js.map +1 -0
  256. package/dist/core/utils/claude-cli-spawn.d.ts +106 -0
  257. package/dist/core/utils/claude-cli-spawn.d.ts.map +1 -0
  258. package/dist/core/utils/claude-cli-spawn.js +219 -0
  259. package/dist/core/utils/claude-cli-spawn.js.map +1 -0
  260. package/dist/core/utils/forge-resume-block.d.ts.map +1 -1
  261. package/dist/core/utils/forge-resume-block.js +3 -2
  262. package/dist/core/utils/forge-resume-block.js.map +1 -1
  263. package/dist/core/utils/logger.d.ts +15 -3
  264. package/dist/core/utils/logger.d.ts.map +1 -1
  265. package/dist/core/utils/logger.js +20 -2
  266. package/dist/core/utils/logger.js.map +1 -1
  267. package/dist/core/utils/noise-prompt.d.ts +97 -0
  268. package/dist/core/utils/noise-prompt.d.ts.map +1 -0
  269. package/dist/core/utils/noise-prompt.js +127 -0
  270. package/dist/core/utils/noise-prompt.js.map +1 -0
  271. package/dist/core/utils/path.d.ts +0 -4
  272. package/dist/core/utils/path.d.ts.map +1 -1
  273. package/dist/core/utils/path.js +0 -7
  274. package/dist/core/utils/path.js.map +1 -1
  275. package/dist/core/utils/time.d.ts +41 -0
  276. package/dist/core/utils/time.d.ts.map +1 -1
  277. package/dist/core/utils/time.js +114 -0
  278. package/dist/core/utils/time.js.map +1 -1
  279. package/dist/daemon/agent-sync.d.ts +24 -0
  280. package/dist/daemon/agent-sync.d.ts.map +1 -0
  281. package/dist/daemon/agent-sync.js +114 -0
  282. package/dist/daemon/agent-sync.js.map +1 -0
  283. package/dist/daemon/config-store.d.ts +55 -0
  284. package/dist/daemon/config-store.d.ts.map +1 -0
  285. package/dist/daemon/config-store.js +137 -0
  286. package/dist/daemon/config-store.js.map +1 -0
  287. package/dist/daemon/event-parser.d.ts +22 -0
  288. package/dist/daemon/event-parser.d.ts.map +1 -1
  289. package/dist/daemon/event-parser.js +49 -3
  290. package/dist/daemon/event-parser.js.map +1 -1
  291. package/dist/daemon/handlers/history-exporter.d.ts.map +1 -1
  292. package/dist/daemon/handlers/history-exporter.js +9 -8
  293. package/dist/daemon/handlers/history-exporter.js.map +1 -1
  294. package/dist/daemon/handlers/post-tool-use.d.ts +58 -4
  295. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  296. package/dist/daemon/handlers/post-tool-use.js +261 -8
  297. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  298. package/dist/daemon/handlers/pre-tool-use.d.ts +156 -0
  299. package/dist/daemon/handlers/pre-tool-use.d.ts.map +1 -0
  300. package/dist/daemon/handlers/pre-tool-use.js +585 -0
  301. package/dist/daemon/handlers/pre-tool-use.js.map +1 -0
  302. package/dist/daemon/handlers/stop.d.ts +35 -7
  303. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  304. package/dist/daemon/handlers/stop.js +157 -8
  305. package/dist/daemon/handlers/stop.js.map +1 -1
  306. package/dist/daemon/handlers/user-prompt.d.ts +36 -14
  307. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  308. package/dist/daemon/handlers/user-prompt.js +135 -48
  309. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  310. package/dist/daemon/hook-sync.d.ts.map +1 -1
  311. package/dist/daemon/hook-sync.js +2 -1
  312. package/dist/daemon/hook-sync.js.map +1 -1
  313. package/dist/daemon/index.d.ts.map +1 -1
  314. package/dist/daemon/index.js +471 -43
  315. package/dist/daemon/index.js.map +1 -1
  316. package/dist/daemon/lifecycle.d.ts +48 -1
  317. package/dist/daemon/lifecycle.d.ts.map +1 -1
  318. package/dist/daemon/lifecycle.js +98 -2
  319. package/dist/daemon/lifecycle.js.map +1 -1
  320. package/dist/daemon/router.d.ts +4 -1
  321. package/dist/daemon/router.d.ts.map +1 -1
  322. package/dist/daemon/router.js +4 -2
  323. package/dist/daemon/router.js.map +1 -1
  324. package/dist/daemon/rules/defaults.d.ts +20 -0
  325. package/dist/daemon/rules/defaults.d.ts.map +1 -0
  326. package/dist/daemon/rules/defaults.js +692 -0
  327. package/dist/daemon/rules/defaults.js.map +1 -0
  328. package/dist/daemon/rules/registry.d.ts +47 -0
  329. package/dist/daemon/rules/registry.d.ts.map +1 -0
  330. package/dist/daemon/rules/registry.js +84 -0
  331. package/dist/daemon/rules/registry.js.map +1 -0
  332. package/dist/daemon/rules/types.d.ts +170 -0
  333. package/dist/daemon/rules/types.d.ts.map +1 -0
  334. package/dist/daemon/rules/types.js +15 -0
  335. package/dist/daemon/rules/types.js.map +1 -0
  336. package/dist/daemon/rules/whitelist.d.ts +101 -0
  337. package/dist/daemon/rules/whitelist.d.ts.map +1 -0
  338. package/dist/daemon/rules/whitelist.js +210 -0
  339. package/dist/daemon/rules/whitelist.js.map +1 -0
  340. package/dist/daemon/rules/workflow-defaults.d.ts +52 -0
  341. package/dist/daemon/rules/workflow-defaults.d.ts.map +1 -0
  342. package/dist/daemon/rules/workflow-defaults.js +521 -0
  343. package/dist/daemon/rules/workflow-defaults.js.map +1 -0
  344. package/dist/daemon/server.d.ts +11 -1
  345. package/dist/daemon/server.d.ts.map +1 -1
  346. package/dist/daemon/server.js +7 -1
  347. package/dist/daemon/server.js.map +1 -1
  348. package/dist/daemon/services/context-injector.d.ts +34 -0
  349. package/dist/daemon/services/context-injector.d.ts.map +1 -0
  350. package/dist/daemon/services/context-injector.js +61 -0
  351. package/dist/daemon/services/context-injector.js.map +1 -0
  352. package/dist/daemon/services/decision-hint.d.ts +203 -0
  353. package/dist/daemon/services/decision-hint.d.ts.map +1 -0
  354. package/dist/daemon/services/decision-hint.js +487 -0
  355. package/dist/daemon/services/decision-hint.js.map +1 -0
  356. package/dist/daemon/services/event-ttl-sweep.d.ts +86 -0
  357. package/dist/daemon/services/event-ttl-sweep.d.ts.map +1 -0
  358. package/dist/daemon/services/event-ttl-sweep.js +123 -0
  359. package/dist/daemon/services/event-ttl-sweep.js.map +1 -0
  360. package/dist/daemon/services/experience-extractor.d.ts +67 -0
  361. package/dist/daemon/services/experience-extractor.d.ts.map +1 -0
  362. package/dist/daemon/services/experience-extractor.js +323 -0
  363. package/dist/daemon/services/experience-extractor.js.map +1 -0
  364. package/dist/daemon/services/feedback-aggregator.d.ts +179 -0
  365. package/dist/daemon/services/feedback-aggregator.d.ts.map +1 -0
  366. package/dist/daemon/services/feedback-aggregator.js +455 -0
  367. package/dist/daemon/services/feedback-aggregator.js.map +1 -0
  368. package/dist/daemon/services/heartbeat-writer.d.ts +55 -0
  369. package/dist/daemon/services/heartbeat-writer.d.ts.map +1 -0
  370. package/dist/daemon/services/heartbeat-writer.js +111 -0
  371. package/dist/daemon/services/heartbeat-writer.js.map +1 -0
  372. package/dist/daemon/services/idle-session-sweeper.d.ts +61 -0
  373. package/dist/daemon/services/idle-session-sweeper.d.ts.map +1 -0
  374. package/dist/daemon/services/idle-session-sweeper.js +94 -0
  375. package/dist/daemon/services/idle-session-sweeper.js.map +1 -0
  376. package/dist/daemon/services/idle-task-budget.d.ts +50 -0
  377. package/dist/daemon/services/idle-task-budget.d.ts.map +1 -0
  378. package/dist/daemon/services/idle-task-budget.js +72 -0
  379. package/dist/daemon/services/idle-task-budget.js.map +1 -0
  380. package/dist/daemon/services/intercept-revive.d.ts +60 -0
  381. package/dist/daemon/services/intercept-revive.d.ts.map +1 -0
  382. package/dist/daemon/services/intercept-revive.js +86 -0
  383. package/dist/daemon/services/intercept-revive.js.map +1 -0
  384. package/dist/daemon/services/intercept-rollback-guard.d.ts +105 -0
  385. package/dist/daemon/services/intercept-rollback-guard.d.ts.map +1 -0
  386. package/dist/daemon/services/intercept-rollback-guard.js +152 -0
  387. package/dist/daemon/services/intercept-rollback-guard.js.map +1 -0
  388. package/dist/daemon/services/intercept-timeout-sweeper.d.ts +58 -0
  389. package/dist/daemon/services/intercept-timeout-sweeper.d.ts.map +1 -0
  390. package/dist/daemon/services/intercept-timeout-sweeper.js +83 -0
  391. package/dist/daemon/services/intercept-timeout-sweeper.js.map +1 -0
  392. package/dist/daemon/services/kb-injector.d.ts +57 -0
  393. package/dist/daemon/services/kb-injector.d.ts.map +1 -0
  394. package/dist/daemon/services/kb-injector.js +140 -0
  395. package/dist/daemon/services/kb-injector.js.map +1 -0
  396. package/dist/daemon/services/outcome-classification-service.d.ts +49 -0
  397. package/dist/daemon/services/outcome-classification-service.d.ts.map +1 -0
  398. package/dist/daemon/services/outcome-classification-service.js +214 -0
  399. package/dist/daemon/services/outcome-classification-service.js.map +1 -0
  400. package/dist/daemon/services/outcome-classifier.d.ts +136 -0
  401. package/dist/daemon/services/outcome-classifier.d.ts.map +1 -0
  402. package/dist/daemon/services/outcome-classifier.js +178 -0
  403. package/dist/daemon/services/outcome-classifier.js.map +1 -0
  404. package/dist/daemon/services/outcome-nudge.d.ts +107 -0
  405. package/dist/daemon/services/outcome-nudge.d.ts.map +1 -0
  406. package/dist/daemon/services/outcome-nudge.js +242 -0
  407. package/dist/daemon/services/outcome-nudge.js.map +1 -0
  408. package/dist/daemon/services/spec-approval.d.ts +127 -0
  409. package/dist/daemon/services/spec-approval.d.ts.map +1 -0
  410. package/dist/daemon/services/spec-approval.js +216 -0
  411. package/dist/daemon/services/spec-approval.js.map +1 -0
  412. package/dist/daemon/services/spec-gate.d.ts +54 -0
  413. package/dist/daemon/services/spec-gate.d.ts.map +1 -0
  414. package/dist/daemon/services/spec-gate.js +113 -0
  415. package/dist/daemon/services/spec-gate.js.map +1 -0
  416. package/dist/daemon/services/task-boundary-classifier.d.ts +78 -0
  417. package/dist/daemon/services/task-boundary-classifier.d.ts.map +1 -0
  418. package/dist/daemon/services/task-boundary-classifier.js +202 -0
  419. package/dist/daemon/services/task-boundary-classifier.js.map +1 -0
  420. package/dist/daemon/services/task-segmenter.d.ts +219 -1
  421. package/dist/daemon/services/task-segmenter.d.ts.map +1 -1
  422. package/dist/daemon/services/task-segmenter.js +481 -17
  423. package/dist/daemon/services/task-segmenter.js.map +1 -1
  424. package/dist/daemon/services/violation-reporter.d.ts +130 -0
  425. package/dist/daemon/services/violation-reporter.d.ts.map +1 -0
  426. package/dist/daemon/services/violation-reporter.js +339 -0
  427. package/dist/daemon/services/violation-reporter.js.map +1 -0
  428. package/dist/daemon/skill-sync.d.ts +7 -2
  429. package/dist/daemon/skill-sync.d.ts.map +1 -1
  430. package/dist/daemon/skill-sync.js +114 -9
  431. package/dist/daemon/skill-sync.js.map +1 -1
  432. package/dist/daemon/templates/agents/claudemd-writer.md +101 -0
  433. package/dist/daemon/templates/agents/coder.md +105 -0
  434. package/dist/daemon/templates/agents/decision-maker.md +460 -0
  435. package/dist/daemon/templates/agents/doc-reviewer.md +115 -0
  436. package/dist/daemon/templates/agents/harness-debug-full.md +114 -0
  437. package/dist/daemon/templates/agents/harness-hotfix.md +99 -0
  438. package/dist/daemon/templates/agents/hybrid-feature-with-safety.md +104 -0
  439. package/dist/daemon/templates/agents/knowledge-builder.md +119 -0
  440. package/dist/daemon/templates/agents/patch-applier.md +144 -0
  441. package/dist/daemon/templates/agents/planner.md +165 -0
  442. package/dist/daemon/templates/agents/refactor-specialist.md +98 -0
  443. package/dist/daemon/templates/agents/skill-distiller.md +113 -0
  444. package/dist/daemon/templates/agents/task-boundary-classifier.md +64 -0
  445. package/dist/daemon/templates/agents/verify-agent.md +136 -0
  446. package/dist/daemon/utils/inject-block.d.ts +39 -0
  447. package/dist/daemon/utils/inject-block.d.ts.map +1 -0
  448. package/dist/daemon/utils/inject-block.js +25 -0
  449. package/dist/daemon/utils/inject-block.js.map +1 -0
  450. package/dist/hooks/hook-lib.sh +8 -0
  451. package/dist/hooks/notification.sh +19 -8
  452. package/dist/hooks/post-tool-use.sh +41 -23
  453. package/dist/hooks/pre-tool-use.sh +54 -23
  454. package/dist/hooks/session-start.sh +68 -0
  455. package/dist/hooks/stop.sh +24 -10
  456. package/dist/hooks/user-prompt-submit.sh +37 -21
  457. package/dist/knowledge/adapters/go-adapter.d.ts +65 -0
  458. package/dist/knowledge/adapters/go-adapter.d.ts.map +1 -0
  459. package/dist/knowledge/adapters/go-adapter.js +294 -0
  460. package/dist/knowledge/adapters/go-adapter.js.map +1 -0
  461. package/dist/knowledge/adapters/index.d.ts +41 -0
  462. package/dist/knowledge/adapters/index.d.ts.map +1 -0
  463. package/dist/knowledge/adapters/index.js +71 -0
  464. package/dist/knowledge/adapters/index.js.map +1 -0
  465. package/dist/knowledge/adapters/java-adapter.d.ts +66 -0
  466. package/dist/knowledge/adapters/java-adapter.d.ts.map +1 -0
  467. package/dist/knowledge/adapters/java-adapter.js +260 -0
  468. package/dist/knowledge/adapters/java-adapter.js.map +1 -0
  469. package/dist/knowledge/adapters/js-vue-adapter.d.ts +56 -0
  470. package/dist/knowledge/adapters/js-vue-adapter.d.ts.map +1 -0
  471. package/dist/knowledge/adapters/js-vue-adapter.js +203 -0
  472. package/dist/knowledge/adapters/js-vue-adapter.js.map +1 -0
  473. package/dist/knowledge/adapters/kotlin-adapter.d.ts +55 -0
  474. package/dist/knowledge/adapters/kotlin-adapter.d.ts.map +1 -0
  475. package/dist/knowledge/adapters/kotlin-adapter.js +209 -0
  476. package/dist/knowledge/adapters/kotlin-adapter.js.map +1 -0
  477. package/dist/knowledge/adapters/monorepo-adapter.d.ts +77 -0
  478. package/dist/knowledge/adapters/monorepo-adapter.d.ts.map +1 -0
  479. package/dist/knowledge/adapters/monorepo-adapter.js +170 -0
  480. package/dist/knowledge/adapters/monorepo-adapter.js.map +1 -0
  481. package/dist/knowledge/adapters/python-adapter.d.ts +89 -0
  482. package/dist/knowledge/adapters/python-adapter.d.ts.map +1 -0
  483. package/dist/knowledge/adapters/python-adapter.js +358 -0
  484. package/dist/knowledge/adapters/python-adapter.js.map +1 -0
  485. package/dist/knowledge/adapters/rust-adapter.d.ts +73 -0
  486. package/dist/knowledge/adapters/rust-adapter.d.ts.map +1 -0
  487. package/dist/knowledge/adapters/rust-adapter.js +329 -0
  488. package/dist/knowledge/adapters/rust-adapter.js.map +1 -0
  489. package/dist/knowledge/adapters/types.d.ts +99 -0
  490. package/dist/knowledge/adapters/types.d.ts.map +1 -0
  491. package/dist/knowledge/adapters/types.js +17 -0
  492. package/dist/knowledge/adapters/types.js.map +1 -0
  493. package/dist/knowledge/adapters/typescript-adapter.d.ts +57 -0
  494. package/dist/knowledge/adapters/typescript-adapter.d.ts.map +1 -0
  495. package/dist/knowledge/adapters/typescript-adapter.js +171 -0
  496. package/dist/knowledge/adapters/typescript-adapter.js.map +1 -0
  497. package/dist/knowledge/audit-applier.d.ts +70 -0
  498. package/dist/knowledge/audit-applier.d.ts.map +1 -0
  499. package/dist/knowledge/audit-applier.js +251 -0
  500. package/dist/knowledge/audit-applier.js.map +1 -0
  501. package/dist/knowledge/builder.d.ts +261 -0
  502. package/dist/knowledge/builder.d.ts.map +1 -0
  503. package/dist/knowledge/builder.js +937 -0
  504. package/dist/knowledge/builder.js.map +1 -0
  505. package/dist/knowledge/cli-provider.d.ts +151 -0
  506. package/dist/knowledge/cli-provider.d.ts.map +1 -0
  507. package/dist/knowledge/cli-provider.js +313 -0
  508. package/dist/knowledge/cli-provider.js.map +1 -0
  509. package/dist/knowledge/constants.d.ts +73 -0
  510. package/dist/knowledge/constants.d.ts.map +1 -0
  511. package/dist/knowledge/constants.js +93 -0
  512. package/dist/knowledge/constants.js.map +1 -0
  513. package/dist/knowledge/cross-module.d.ts +139 -0
  514. package/dist/knowledge/cross-module.d.ts.map +1 -0
  515. package/dist/knowledge/cross-module.js +370 -0
  516. package/dist/knowledge/cross-module.js.map +1 -0
  517. package/dist/knowledge/git-hooks.d.ts +67 -0
  518. package/dist/knowledge/git-hooks.d.ts.map +1 -0
  519. package/dist/knowledge/git-hooks.js +258 -0
  520. package/dist/knowledge/git-hooks.js.map +1 -0
  521. package/dist/knowledge/module-hash.d.ts +88 -0
  522. package/dist/knowledge/module-hash.d.ts.map +1 -0
  523. package/dist/knowledge/module-hash.js +162 -0
  524. package/dist/knowledge/module-hash.js.map +1 -0
  525. package/dist/knowledge/project-detector.d.ts +101 -0
  526. package/dist/knowledge/project-detector.d.ts.map +1 -0
  527. package/dist/knowledge/project-detector.js +223 -0
  528. package/dist/knowledge/project-detector.js.map +1 -0
  529. package/dist/knowledge/prompt.d.ts +228 -0
  530. package/dist/knowledge/prompt.d.ts.map +1 -0
  531. package/dist/knowledge/prompt.js +404 -0
  532. package/dist/knowledge/prompt.js.map +1 -0
  533. package/dist/knowledge/query.d.ts +105 -0
  534. package/dist/knowledge/query.d.ts.map +1 -0
  535. package/dist/knowledge/query.js +341 -0
  536. package/dist/knowledge/query.js.map +1 -0
  537. package/dist/knowledge/repo-map.d.ts +91 -0
  538. package/dist/knowledge/repo-map.d.ts.map +1 -0
  539. package/dist/knowledge/repo-map.js +408 -0
  540. package/dist/knowledge/repo-map.js.map +1 -0
  541. package/dist/knowledge/tools/index.d.ts +14 -0
  542. package/dist/knowledge/tools/index.d.ts.map +1 -0
  543. package/dist/knowledge/tools/index.js +11 -0
  544. package/dist/knowledge/tools/index.js.map +1 -0
  545. package/dist/knowledge/tools/knowledge-get-page.d.ts +46 -0
  546. package/dist/knowledge/tools/knowledge-get-page.d.ts.map +1 -0
  547. package/dist/knowledge/tools/knowledge-get-page.js +101 -0
  548. package/dist/knowledge/tools/knowledge-get-page.js.map +1 -0
  549. package/dist/knowledge/tools/knowledge-query.d.ts +77 -0
  550. package/dist/knowledge/tools/knowledge-query.d.ts.map +1 -0
  551. package/dist/knowledge/tools/knowledge-query.js +104 -0
  552. package/dist/knowledge/tools/knowledge-query.js.map +1 -0
  553. package/dist/knowledge/tools/repo-map-lookup.d.ts +45 -0
  554. package/dist/knowledge/tools/repo-map-lookup.d.ts.map +1 -0
  555. package/dist/knowledge/tools/repo-map-lookup.js +82 -0
  556. package/dist/knowledge/tools/repo-map-lookup.js.map +1 -0
  557. package/dist/knowledge/types.d.ts +269 -0
  558. package/dist/knowledge/types.d.ts.map +1 -0
  559. package/dist/knowledge/types.js +10 -0
  560. package/dist/knowledge/types.js.map +1 -0
  561. package/dist/knowledge/validator.d.ts +90 -0
  562. package/dist/knowledge/validator.d.ts.map +1 -0
  563. package/dist/knowledge/validator.js +288 -0
  564. package/dist/knowledge/validator.js.map +1 -0
  565. package/dist/mcp/server.d.ts.map +1 -1
  566. package/dist/mcp/server.js +222 -1
  567. package/dist/mcp/server.js.map +1 -1
  568. package/dist/skills/builtin-skills.d.ts +35 -0
  569. package/dist/skills/builtin-skills.d.ts.map +1 -0
  570. package/dist/skills/builtin-skills.js +68 -0
  571. package/dist/skills/builtin-skills.js.map +1 -0
  572. package/dist/skills/distill/attribution.d.ts +59 -0
  573. package/dist/skills/distill/attribution.d.ts.map +1 -0
  574. package/dist/skills/distill/attribution.js +101 -0
  575. package/dist/skills/distill/attribution.js.map +1 -0
  576. package/dist/skills/distill/claude-cli-resolver.d.ts +26 -0
  577. package/dist/skills/distill/claude-cli-resolver.d.ts.map +1 -0
  578. package/dist/skills/distill/claude-cli-resolver.js +115 -0
  579. package/dist/skills/distill/claude-cli-resolver.js.map +1 -0
  580. package/dist/skills/distill/distiller.d.ts +161 -0
  581. package/dist/skills/distill/distiller.d.ts.map +1 -0
  582. package/dist/skills/distill/distiller.js +461 -0
  583. package/dist/skills/distill/distiller.js.map +1 -0
  584. package/dist/skills/distill/index.d.ts +223 -0
  585. package/dist/skills/distill/index.d.ts.map +1 -0
  586. package/dist/skills/distill/index.js +466 -0
  587. package/dist/skills/distill/index.js.map +1 -0
  588. package/dist/skills/distill/project-anchor-guard.d.ts +116 -0
  589. package/dist/skills/distill/project-anchor-guard.d.ts.map +1 -0
  590. package/dist/skills/distill/project-anchor-guard.js +334 -0
  591. package/dist/skills/distill/project-anchor-guard.js.map +1 -0
  592. package/dist/skills/distill/topic-deduper.d.ts +77 -0
  593. package/dist/skills/distill/topic-deduper.d.ts.map +1 -0
  594. package/dist/skills/distill/topic-deduper.js +119 -0
  595. package/dist/skills/distill/topic-deduper.js.map +1 -0
  596. package/dist/skills/distill/upstream-fetcher.d.ts +71 -0
  597. package/dist/skills/distill/upstream-fetcher.d.ts.map +1 -0
  598. package/dist/skills/distill/upstream-fetcher.js +202 -0
  599. package/dist/skills/distill/upstream-fetcher.js.map +1 -0
  600. package/dist/skills/distilled/distilled-api-design.md +491 -0
  601. package/dist/skills/distilled/distilled-architecture-decision.md +173 -0
  602. package/dist/skills/distilled/distilled-creator.md +178 -0
  603. package/dist/skills/distilled/distilled-db-schema-design.md +245 -0
  604. package/dist/skills/distilled/distilled-defi-amm-security.md +293 -0
  605. package/dist/skills/distilled/distilled-executing-plans.md +113 -0
  606. package/dist/skills/distilled/distilled-harness-engineering.md +242 -0
  607. package/dist/skills/distilled/distilled-karpathy-guidelines.md +104 -0
  608. package/dist/skills/distilled/distilled-performance-optimization.md +175 -0
  609. package/dist/skills/distilled/distilled-spec-driven-design.md +193 -0
  610. package/dist/skills/distilled/distilled-systematic-debugging.md +306 -0
  611. package/dist/skills/distilled/distilled-verification-before-completion.md +203 -0
  612. package/dist/skills/keyword-score.d.ts +29 -0
  613. package/dist/skills/keyword-score.d.ts.map +1 -0
  614. package/dist/skills/keyword-score.js +54 -0
  615. package/dist/skills/keyword-score.js.map +1 -0
  616. package/dist/skills/registry.d.ts +64 -20
  617. package/dist/skills/registry.d.ts.map +1 -1
  618. package/dist/skills/registry.js +102 -105
  619. package/dist/skills/registry.js.map +1 -1
  620. package/dist/skills/tools/pipeline-suggest.js +14 -14
  621. package/dist/skills/tools/skill-invoke.d.ts +1 -1
  622. package/dist/skills/tools/skill-invoke.js +1 -1
  623. package/dist/web/routes/agent-content.d.ts +30 -0
  624. package/dist/web/routes/agent-content.d.ts.map +1 -0
  625. package/dist/web/routes/agent-content.js +139 -0
  626. package/dist/web/routes/agent-content.js.map +1 -0
  627. package/dist/web/routes/decisions.d.ts +15 -0
  628. package/dist/web/routes/decisions.d.ts.map +1 -0
  629. package/dist/web/routes/decisions.js +181 -0
  630. package/dist/web/routes/decisions.js.map +1 -0
  631. package/dist/web/routes/diagnostics.d.ts +61 -0
  632. package/dist/web/routes/diagnostics.d.ts.map +1 -0
  633. package/dist/web/routes/diagnostics.js +203 -0
  634. package/dist/web/routes/diagnostics.js.map +1 -0
  635. package/dist/web/routes/events.d.ts.map +1 -1
  636. package/dist/web/routes/events.js +24 -0
  637. package/dist/web/routes/events.js.map +1 -1
  638. package/dist/web/routes/health.d.ts +33 -0
  639. package/dist/web/routes/health.d.ts.map +1 -0
  640. package/dist/web/routes/health.js +37 -0
  641. package/dist/web/routes/health.js.map +1 -0
  642. package/dist/web/routes/insights.d.ts +0 -5
  643. package/dist/web/routes/insights.d.ts.map +1 -1
  644. package/dist/web/routes/insights.js +783 -2
  645. package/dist/web/routes/insights.js.map +1 -1
  646. package/dist/web/routes/knowledge.d.ts +16 -0
  647. package/dist/web/routes/knowledge.d.ts.map +1 -0
  648. package/dist/web/routes/knowledge.js +661 -0
  649. package/dist/web/routes/knowledge.js.map +1 -0
  650. package/dist/web/routes/patch.d.ts +60 -1
  651. package/dist/web/routes/patch.d.ts.map +1 -1
  652. package/dist/web/routes/patch.js +170 -64
  653. package/dist/web/routes/patch.js.map +1 -1
  654. package/dist/web/routes/pipeline.d.ts +37 -0
  655. package/dist/web/routes/pipeline.d.ts.map +1 -0
  656. package/dist/web/routes/pipeline.js +149 -0
  657. package/dist/web/routes/pipeline.js.map +1 -0
  658. package/dist/web/routes/rules.d.ts.map +1 -1
  659. package/dist/web/routes/rules.js +6 -1
  660. package/dist/web/routes/rules.js.map +1 -1
  661. package/dist/web/routes/sessions.d.ts.map +1 -1
  662. package/dist/web/routes/sessions.js +9 -1
  663. package/dist/web/routes/sessions.js.map +1 -1
  664. package/dist/web/routes/skill-content.d.ts +30 -0
  665. package/dist/web/routes/skill-content.d.ts.map +1 -0
  666. package/dist/web/routes/skill-content.js +117 -0
  667. package/dist/web/routes/skill-content.js.map +1 -0
  668. package/dist/web/routes/skills-distill.d.ts +29 -0
  669. package/dist/web/routes/skills-distill.d.ts.map +1 -0
  670. package/dist/web/routes/skills-distill.js +552 -0
  671. package/dist/web/routes/skills-distill.js.map +1 -0
  672. package/dist/web/routes/skills.js +7 -7
  673. package/dist/web/routes/skills.js.map +1 -1
  674. package/dist/web/routes/task-timeline.d.ts +102 -0
  675. package/dist/web/routes/task-timeline.d.ts.map +1 -0
  676. package/dist/web/routes/task-timeline.js +274 -0
  677. package/dist/web/routes/task-timeline.js.map +1 -0
  678. package/dist/web/routes/tasks.d.ts.map +1 -1
  679. package/dist/web/routes/tasks.js +355 -8
  680. package/dist/web/routes/tasks.js.map +1 -1
  681. package/dist/web/routes/trace.d.ts.map +1 -1
  682. package/dist/web/routes/trace.js +3 -2
  683. package/dist/web/routes/trace.js.map +1 -1
  684. package/dist/web/routes/types.d.ts +0 -4
  685. package/dist/web/routes/types.d.ts.map +1 -1
  686. package/dist/web/routes/types.js +1 -1
  687. package/dist/web/routes/types.js.map +1 -1
  688. package/dist/web/routes/violations.d.ts +14 -0
  689. package/dist/web/routes/violations.d.ts.map +1 -0
  690. package/dist/web/routes/violations.js +111 -0
  691. package/dist/web/routes/violations.js.map +1 -0
  692. package/dist/web/server.d.ts.map +1 -1
  693. package/dist/web/server.js +79 -19
  694. package/dist/web/server.js.map +1 -1
  695. package/dist/web/services/build-manager.d.ts +72 -0
  696. package/dist/web/services/build-manager.d.ts.map +1 -0
  697. package/dist/web/services/build-manager.js +189 -0
  698. package/dist/web/services/build-manager.js.map +1 -0
  699. package/dist/web/services/distill-manager.d.ts +125 -0
  700. package/dist/web/services/distill-manager.d.ts.map +1 -0
  701. package/dist/web/services/distill-manager.js +308 -0
  702. package/dist/web/services/distill-manager.js.map +1 -0
  703. package/dist/web/static/assets/AgentContentPage-DkeRNxok.js +2 -0
  704. package/dist/web/static/assets/AgentContentPage-DkeRNxok.js.map +1 -0
  705. package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js +2 -0
  706. package/dist/web/static/assets/AgentDelegationTable-ByBa0x1l.js.map +1 -0
  707. package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js +3 -0
  708. package/dist/web/static/assets/ContextInsightsPage-oUk7_I8u.js.map +1 -0
  709. package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js +2 -0
  710. package/dist/web/static/assets/DaemonHealthPage-DG2fyOP7.js.map +1 -0
  711. package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js +2 -0
  712. package/dist/web/static/assets/DecisionsPage-CMAPEnKb.js.map +1 -0
  713. package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js +2 -0
  714. package/dist/web/static/assets/DiagnosticsPage-DQd-Zm4r.js.map +1 -0
  715. package/dist/web/static/assets/DriftTab-DqpepOhI.js +2 -0
  716. package/dist/web/static/assets/DriftTab-DqpepOhI.js.map +1 -0
  717. package/dist/web/static/assets/HealthHomePage-CN6zNIie.js +3 -0
  718. package/dist/web/static/assets/HealthHomePage-CN6zNIie.js.map +1 -0
  719. package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js +2 -0
  720. package/dist/web/static/assets/KbHitRateTable-ByEIWujF.js.map +1 -0
  721. package/dist/web/static/assets/MarkdownRenderer-DZmTl-8J.js +3 -0
  722. package/dist/web/static/assets/MarkdownRenderer-DZmTl-8J.js.map +1 -0
  723. package/dist/web/static/assets/NotFound-BQPh0vaF.js +2 -0
  724. package/dist/web/static/assets/NotFound-BQPh0vaF.js.map +1 -0
  725. package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js +2 -0
  726. package/dist/web/static/assets/ProjectSwitcher-D3lZMFd3.js.map +1 -0
  727. package/dist/web/static/assets/SettingsPage-oLJBNzQj.js +2 -0
  728. package/dist/web/static/assets/SettingsPage-oLJBNzQj.js.map +1 -0
  729. package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js +2 -0
  730. package/dist/web/static/assets/SkillContentPage-DK5rgfgw.js.map +1 -0
  731. package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js +2 -0
  732. package/dist/web/static/assets/SkillStatsTable-DYMzjEUV.js.map +1 -0
  733. package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js +2 -0
  734. package/dist/web/static/assets/SkillsDistillTab-C7qaG8q3.js.map +1 -0
  735. package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js +6 -0
  736. package/dist/web/static/assets/TasksHubPage-03wsRRsJ.js.map +1 -0
  737. package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js +3 -0
  738. package/dist/web/static/assets/ViolationsPage-DSiLr-9O.js.map +1 -0
  739. package/dist/web/static/assets/arco-Bhi3a6Qp.js +14 -0
  740. package/dist/web/static/assets/arco-Bhi3a6Qp.js.map +1 -0
  741. package/dist/web/static/assets/arco-DFQA6dO_.css +1 -0
  742. package/dist/web/static/assets/charts-BuHQWDbQ.js +37 -0
  743. package/dist/web/static/assets/charts-BuHQWDbQ.js.map +1 -0
  744. package/dist/web/static/assets/date-fns-sbWH3_uq.js +2 -0
  745. package/dist/web/static/assets/date-fns-sbWH3_uq.js.map +1 -0
  746. package/dist/web/static/assets/index-7bl3kbcx.css +1 -0
  747. package/dist/web/static/assets/index-BIYnq1Dx.js +4 -0
  748. package/dist/web/static/assets/index-BIYnq1Dx.js.map +1 -0
  749. package/dist/web/static/assets/lucide-CnlPQoG8.js +72 -0
  750. package/dist/web/static/assets/lucide-CnlPQoG8.js.map +1 -0
  751. package/dist/web/static/assets/outcome-DUn1NjlC.js +2 -0
  752. package/dist/web/static/assets/outcome-DUn1NjlC.js.map +1 -0
  753. package/dist/web/static/assets/query-S6X1S7K9.js +2 -0
  754. package/dist/web/static/assets/{query-C99w429o.js.map → query-S6X1S7K9.js.map} +1 -1
  755. package/dist/web/static/assets/{react-router-r79dBVy4.js → react-router-JVUrkhdd.js} +3 -3
  756. package/dist/web/static/assets/{react-router-r79dBVy4.js.map → react-router-JVUrkhdd.js.map} +1 -1
  757. package/dist/web/static/assets/react-vendor-tkvCrao7.js +57 -0
  758. package/dist/web/static/assets/react-vendor-tkvCrao7.js.map +1 -0
  759. package/dist/web/static/assets/syntax-highlighter-BkZfCDsz.js +6 -0
  760. package/dist/web/static/assets/syntax-highlighter-BkZfCDsz.js.map +1 -0
  761. package/dist/web/static/assets/useTabsParam-k8qte_0C.js +2 -0
  762. package/dist/web/static/assets/useTabsParam-k8qte_0C.js.map +1 -0
  763. package/dist/web/static/assets/vendor-DWgdB1eY.js +65 -0
  764. package/dist/web/static/assets/vendor-DWgdB1eY.js.map +1 -0
  765. package/dist/web/static/index.html +12 -8
  766. package/package.json +14 -3
  767. package/dist/core/ai/provider.d.ts +0 -63
  768. package/dist/core/ai/provider.d.ts.map +0 -1
  769. package/dist/core/ai/provider.js +0 -241
  770. package/dist/core/ai/provider.js.map +0 -1
  771. package/dist/core/ai/types.d.ts +0 -43
  772. package/dist/core/ai/types.d.ts.map +0 -1
  773. package/dist/core/ai/types.js +0 -5
  774. package/dist/core/ai/types.js.map +0 -1
  775. package/dist/core/storage/token-usage.d.ts +0 -36
  776. package/dist/core/storage/token-usage.d.ts.map +0 -1
  777. package/dist/core/storage/token-usage.js +0 -59
  778. package/dist/core/storage/token-usage.js.map +0 -1
  779. package/dist/core/utils/token-tracker.d.ts +0 -39
  780. package/dist/core/utils/token-tracker.d.ts.map +0 -1
  781. package/dist/core/utils/token-tracker.js +0 -69
  782. package/dist/core/utils/token-tracker.js.map +0 -1
  783. package/dist/skills/index.d.ts +0 -3
  784. package/dist/skills/index.d.ts.map +0 -1
  785. package/dist/skills/index.js +0 -3
  786. package/dist/skills/index.js.map +0 -1
  787. package/dist/skills/matcher.d.ts +0 -26
  788. package/dist/skills/matcher.d.ts.map +0 -1
  789. package/dist/skills/matcher.js +0 -113
  790. package/dist/skills/matcher.js.map +0 -1
  791. package/dist/skills/official/code-simplifier.md +0 -52
  792. package/dist/skills/official/find-skills.md +0 -142
  793. package/dist/skills/official/official-api-design.md +0 -30
  794. package/dist/skills/official/official-architecture-decision.md +0 -41
  795. package/dist/skills/official/official-bmad.md +0 -118
  796. package/dist/skills/official/official-db-schema-design.md +0 -34
  797. package/dist/skills/official/official-debug.md +0 -25
  798. package/dist/skills/official/official-doc-driven.md +0 -31
  799. package/dist/skills/official/official-harness-engineering.md +0 -108
  800. package/dist/skills/official/official-openspec.md +0 -89
  801. package/dist/skills/official/official-performance-optimization.md +0 -30
  802. package/dist/skills/official/official-pr-review.md +0 -35
  803. package/dist/skills/official/official-release-checklist.md +0 -30
  804. package/dist/skills/official/official-security-hardening.md +0 -32
  805. package/dist/skills/official/official-spec-driven-design.md +0 -31
  806. package/dist/skills/official/planning-with-files.md +0 -241
  807. package/dist/skills/official/ui-ux-pro-max.md +0 -105
  808. package/dist/skills/official/webapp-testing.md +0 -96
  809. package/dist/skills/official-skills.d.ts +0 -26
  810. package/dist/skills/official-skills.d.ts.map +0 -1
  811. package/dist/skills/official-skills.js +0 -74
  812. package/dist/skills/official-skills.js.map +0 -1
  813. package/dist/skills/semantic-matcher.d.ts +0 -60
  814. package/dist/skills/semantic-matcher.d.ts.map +0 -1
  815. package/dist/skills/semantic-matcher.js +0 -192
  816. package/dist/skills/semantic-matcher.js.map +0 -1
  817. package/dist/skills/upgrade-engine.d.ts +0 -93
  818. package/dist/skills/upgrade-engine.d.ts.map +0 -1
  819. package/dist/skills/upgrade-engine.js +0 -447
  820. package/dist/skills/upgrade-engine.js.map +0 -1
  821. package/dist/skills/upgrade-prompt.d.ts +0 -20
  822. package/dist/skills/upgrade-prompt.d.ts.map +0 -1
  823. package/dist/skills/upgrade-prompt.js +0 -75
  824. package/dist/skills/upgrade-prompt.js.map +0 -1
  825. package/dist/web/routes/ai.d.ts +0 -10
  826. package/dist/web/routes/ai.d.ts.map +0 -1
  827. package/dist/web/routes/ai.js +0 -186
  828. package/dist/web/routes/ai.js.map +0 -1
  829. package/dist/web/routes/token-usage.d.ts +0 -7
  830. package/dist/web/routes/token-usage.d.ts.map +0 -1
  831. package/dist/web/routes/token-usage.js +0 -18
  832. package/dist/web/routes/token-usage.js.map +0 -1
  833. package/dist/web/ssrf-guard.d.ts +0 -35
  834. package/dist/web/ssrf-guard.d.ts.map +0 -1
  835. package/dist/web/ssrf-guard.js +0 -93
  836. package/dist/web/ssrf-guard.js.map +0 -1
  837. package/dist/web/static/assets/AIConfig-CdDWzJyO.js +0 -2
  838. package/dist/web/static/assets/AIConfig-CdDWzJyO.js.map +0 -1
  839. package/dist/web/static/assets/Dashboard-CoEmmIDt.js +0 -2
  840. package/dist/web/static/assets/Dashboard-CoEmmIDt.js.map +0 -1
  841. package/dist/web/static/assets/Drawer-DdRTzlLB.js +0 -2
  842. package/dist/web/static/assets/Drawer-DdRTzlLB.js.map +0 -1
  843. package/dist/web/static/assets/Events-DrIq1SUS.js +0 -2
  844. package/dist/web/static/assets/Events-DrIq1SUS.js.map +0 -1
  845. package/dist/web/static/assets/Reports-DFBM3MDK.js +0 -2
  846. package/dist/web/static/assets/Reports-DFBM3MDK.js.map +0 -1
  847. package/dist/web/static/assets/SearchInput-qCj_jAcf.js +0 -2
  848. package/dist/web/static/assets/SearchInput-qCj_jAcf.js.map +0 -1
  849. package/dist/web/static/assets/SessionDetail-CCzwdoT7.js +0 -2
  850. package/dist/web/static/assets/SessionDetail-CCzwdoT7.js.map +0 -1
  851. package/dist/web/static/assets/Sessions-FfLYkAw9.js +0 -2
  852. package/dist/web/static/assets/Sessions-FfLYkAw9.js.map +0 -1
  853. package/dist/web/static/assets/Skills-C8Gvs3Qa.js +0 -2
  854. package/dist/web/static/assets/Skills-C8Gvs3Qa.js.map +0 -1
  855. package/dist/web/static/assets/TaskDetail-BS8pYhaR.js +0 -2
  856. package/dist/web/static/assets/TaskDetail-BS8pYhaR.js.map +0 -1
  857. package/dist/web/static/assets/Tasks-CyuhizG8.js +0 -2
  858. package/dist/web/static/assets/Tasks-CyuhizG8.js.map +0 -1
  859. package/dist/web/static/assets/charts-CLrM0_uM.js +0 -37
  860. package/dist/web/static/assets/charts-CLrM0_uM.js.map +0 -1
  861. package/dist/web/static/assets/date-fns-CZ_bHujz.js +0 -2
  862. package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +0 -1
  863. package/dist/web/static/assets/export-L_VBD2p1.js +0 -4
  864. package/dist/web/static/assets/export-L_VBD2p1.js.map +0 -1
  865. package/dist/web/static/assets/index-CBX47X8l.js +0 -3
  866. package/dist/web/static/assets/index-CBX47X8l.js.map +0 -1
  867. package/dist/web/static/assets/index-DjIoMdoR.css +0 -1
  868. package/dist/web/static/assets/lucide-Bs_edTLa.js +0 -232
  869. package/dist/web/static/assets/lucide-Bs_edTLa.js.map +0 -1
  870. package/dist/web/static/assets/query-C99w429o.js +0 -2
  871. package/dist/web/static/assets/react-vendor-CSp-GLFF.js +0 -49
  872. package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +0 -1
  873. package/dist/web/static/assets/syntax-highlighter-44FakypI.js +0 -9
  874. package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +0 -1
  875. package/dist/web/static/assets/task-title-BhOcemuR.js +0 -2
  876. package/dist/web/static/assets/task-title-BhOcemuR.js.map +0 -1
  877. package/dist/web/static/assets/time-Bxuk0M-C.js +0 -2
  878. package/dist/web/static/assets/time-Bxuk0M-C.js.map +0 -1
  879. package/dist/web/static/assets/vendor-CMMjVdZs.js +0 -64
  880. package/dist/web/static/assets/vendor-CMMjVdZs.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/daemon/rules/defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * RuleRegistry — pluggable rule loader + matching engine (v9.x Phase 1).
3
+ *
4
+ * Day-1 shape supports the `RuleKind` discriminator so Phase 5 (workflow
5
+ * recommender) can plug `workflow_recommend` rules into the SAME registry
6
+ * with a different consumer (UserPromptHandler).
7
+ *
8
+ * Design notes:
9
+ * • Rules are loaded once at construction time (defaults + caller-supplied
10
+ * overrides). No hot-reload — restart the daemon to pick up new defaults.
11
+ * • Matchers are pure functions; the engine does NOT swallow throws —
12
+ * a misbehaving rule should be obvious in dev (handlers wrap the call
13
+ * in try/catch as a backstop).
14
+ * • `findFirstMatch` returns the FIRST rule whose match() returns true.
15
+ * Rule order in `defaultRules` is the precedence (deny > warn).
16
+ */
17
+ import type { ToolInputFields } from '../../core/types.js';
18
+ import type { Rule, RuleContext, ToolInterceptRule, WorkflowRecommendRule, WorkflowMatchResult } from './types.js';
19
+ export declare class RuleRegistry {
20
+ private rules;
21
+ constructor(extra?: Rule[]);
22
+ /** All rules (any kind). Used by Phase 5 once workflow_recommend rules land. */
23
+ all(): Rule[];
24
+ /** Filter rules to the tool_intercept bucket; used by PreToolUseHandler. */
25
+ getToolInterceptRules(toolName?: string): ToolInterceptRule[];
26
+ /**
27
+ * Phase 5: filter to workflow_recommend rules. Used by UserPromptHandler
28
+ * step 5 (workflow recommender).
29
+ */
30
+ getWorkflowRules(): WorkflowRecommendRule[];
31
+ /**
32
+ * First rule that fires for the given tool input + context. Returns
33
+ * `undefined` when no rule matches. The handler then decides how to
34
+ * surface the rule (deny / warn / dry_run).
35
+ */
36
+ findFirstMatch(toolName: string, input: ToolInputFields, ctx: RuleContext): ToolInterceptRule | undefined;
37
+ /**
38
+ * Phase 5: first workflow rule that fires for a prompt. Returns the rule
39
+ * plus the match result (matched_keywords + reason) so callers can persist
40
+ * both without re-running the matcher.
41
+ */
42
+ findFirstWorkflowMatch(prompt: string, ctx: RuleContext): {
43
+ rule: WorkflowRecommendRule;
44
+ match: WorkflowMatchResult;
45
+ } | undefined;
46
+ }
47
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/daemon/rules/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAS;gBAEV,KAAK,GAAE,IAAI,EAAO;IAI9B,gFAAgF;IAChF,GAAG,IAAI,IAAI,EAAE;IAIb,4EAA4E;IAC5E,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAc7D;;;OAGG;IACH,gBAAgB,IAAI,qBAAqB,EAAE;IAM3C;;;;OAIG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,WAAW,GACf,iBAAiB,GAAG,SAAS;IAOhC;;;;OAIG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GACf;QAAE,IAAI,EAAE,qBAAqB,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS;CAO3E"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * RuleRegistry — pluggable rule loader + matching engine (v9.x Phase 1).
3
+ *
4
+ * Day-1 shape supports the `RuleKind` discriminator so Phase 5 (workflow
5
+ * recommender) can plug `workflow_recommend` rules into the SAME registry
6
+ * with a different consumer (UserPromptHandler).
7
+ *
8
+ * Design notes:
9
+ * • Rules are loaded once at construction time (defaults + caller-supplied
10
+ * overrides). No hot-reload — restart the daemon to pick up new defaults.
11
+ * • Matchers are pure functions; the engine does NOT swallow throws —
12
+ * a misbehaving rule should be obvious in dev (handlers wrap the call
13
+ * in try/catch as a backstop).
14
+ * • `findFirstMatch` returns the FIRST rule whose match() returns true.
15
+ * Rule order in `defaultRules` is the precedence (deny > warn).
16
+ */
17
+ import { defaultRules } from './defaults.js';
18
+ import { defaultWorkflowRules } from './workflow-defaults.js';
19
+ export class RuleRegistry {
20
+ rules;
21
+ constructor(extra = []) {
22
+ this.rules = [...defaultRules, ...defaultWorkflowRules, ...extra];
23
+ }
24
+ /** All rules (any kind). Used by Phase 5 once workflow_recommend rules land. */
25
+ all() {
26
+ return this.rules;
27
+ }
28
+ /** Filter rules to the tool_intercept bucket; used by PreToolUseHandler. */
29
+ getToolInterceptRules(toolName) {
30
+ const intercept = this.rules.filter((r) => r.kind === 'tool_intercept');
31
+ if (toolName === undefined)
32
+ return intercept;
33
+ // Spec 1944: `tool` may be a string or string[]. Treat the latter as
34
+ // "matches any of these tool names" so a single rule can guard several
35
+ // mutating tools (e.g. decision-hint-pending → Task/Edit/Write/Bash).
36
+ return intercept.filter((r) => {
37
+ if (Array.isArray(r.tool))
38
+ return r.tool.includes(toolName);
39
+ return r.tool === toolName;
40
+ });
41
+ }
42
+ /**
43
+ * Phase 5: filter to workflow_recommend rules. Used by UserPromptHandler
44
+ * step 5 (workflow recommender).
45
+ */
46
+ getWorkflowRules() {
47
+ return this.rules.filter((r) => r.kind === 'workflow_recommend');
48
+ }
49
+ /**
50
+ * First rule that fires for the given tool input + context. Returns
51
+ * `undefined` when no rule matches. The handler then decides how to
52
+ * surface the rule (deny / warn / dry_run).
53
+ */
54
+ findFirstMatch(toolName, input, ctx) {
55
+ for (const rule of this.getToolInterceptRules(toolName)) {
56
+ if (rule.match(input, ctx))
57
+ return rule;
58
+ }
59
+ return undefined;
60
+ }
61
+ /**
62
+ * Phase 5: first workflow rule that fires for a prompt. Returns the rule
63
+ * plus the match result (matched_keywords + reason) so callers can persist
64
+ * both without re-running the matcher.
65
+ */
66
+ findFirstWorkflowMatch(prompt, ctx) {
67
+ for (const rule of this.getWorkflowRules()) {
68
+ const m = safeWorkflowMatch(rule, prompt, ctx);
69
+ if (m)
70
+ return { rule, match: m };
71
+ }
72
+ return undefined;
73
+ }
74
+ }
75
+ /** Wrap match() so a misbehaving rule doesn't tank the whole step-5 walk. */
76
+ function safeWorkflowMatch(rule, prompt, ctx) {
77
+ try {
78
+ return rule.match(prompt, ctx);
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/daemon/rules/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,YAAY;IACf,KAAK,CAAS;IAEtB,YAAY,QAAgB,EAAE;QAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,oBAAoB,EAAE,GAAG,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,gFAAgF;IAChF,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,4EAA4E;IAC5E,qBAAqB,CAAC,QAAiB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CACjC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAC3D,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7C,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CACnE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,cAAc,CACZ,QAAgB,EAChB,KAAsB,EACtB,GAAgB;QAEhB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CACpB,MAAc,EACd,GAAgB;QAEhB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,6EAA6E;AAC7E,SAAS,iBAAiB,CACxB,IAA2B,EAC3B,MAAc,EACd,GAAgB;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Rule types — shared by Phase 1 (tool_intercept) and Phase 5 (workflow_recommend).
3
+ *
4
+ * The `RuleKind` discriminator is intentional from day 1 so a single
5
+ * `RuleRegistry` can host both rule families with no schema break later:
6
+ *
7
+ * • Phase 1: `PreToolUseHandler` filters to `kind='tool_intercept'`.
8
+ * • Phase 5: `UserPromptHandler` (workflow recommender) filters to
9
+ * `kind='workflow_recommend'` (added in a later commit).
10
+ *
11
+ * Add a new union member here when introducing a new rule family — the
12
+ * `Rule` union type forces all downstream switch/filter sites to update.
13
+ */
14
+ import type { ToolInputFields } from '../../core/types.js';
15
+ export type RuleKind = 'tool_intercept' | 'workflow_recommend';
16
+ export type ToolInterceptDecision = 'deny' | 'warn' | 'ask';
17
+ /**
18
+ * Per-event context surfaced to rule matchers. The fields are intentionally
19
+ * narrow — anything richer (session history, KB hits) should be pre-computed
20
+ * in the handler and threaded through here rather than letting rules reach
21
+ * back into storage.
22
+ */
23
+ export interface RuleContext {
24
+ session_id: string;
25
+ project_path: string;
26
+ /** UNIX ms of the pre-tool event for relative-time checks (e.g. "agent fired in last 30s"). */
27
+ timestamp_ms: number;
28
+ /**
29
+ * True if the session has invoked the Agent tool (i.e. spawned a subagent)
30
+ * within the recent observation window (`PreToolUseHandler` decides the
31
+ * window — currently 30 s). Used to RELAX rules that should not fire from
32
+ * inside an already-spawned agent context (CLAUDE.md §"主线程查 KB" 例外).
33
+ */
34
+ recent_agent_spawn: boolean;
35
+ /**
36
+ * Set of distinct file paths the session has Edited / Written so far.
37
+ * Computed lazily by the handler from events; populated for Edit/Write
38
+ * threshold rules. May be empty for sessions where no edits have happened.
39
+ */
40
+ edited_files: Set<string>;
41
+ /**
42
+ * P0-1 fix (2026-05-27): per-file timestamp of the LAST Edit/Write the
43
+ * session has observed. Used by `edit-multi-file-hard` to filter out files
44
+ * that were already edited BEFORE the most recent agent spawn — these are
45
+ * sub-agent edits whose count we shouldn't hold against the main thread's
46
+ * post-coordination actions.
47
+ *
48
+ * Optional + readonly to keep the older `edited_files` field untouched for
49
+ * callers that don't need timing data. `ts` is ISO 8601.
50
+ */
51
+ edited_files_with_ts?: ReadonlyArray<{
52
+ path: string;
53
+ ts: string;
54
+ }>;
55
+ /**
56
+ * P0-1 fix (2026-05-27): ISO timestamp of the most recent PreToolUse
57
+ * Task/Agent event within the F6 5-min window. `null` when no spawn was
58
+ * observed in-window. Combined with `edited_files_with_ts` to relax the
59
+ * HARD multi-file rule when ALL pre-spawn edits should be excluded.
60
+ */
61
+ last_spawn_ts?: string | null;
62
+ /**
63
+ * Raw user prompt text for the most recent UserPromptSubmit in the session,
64
+ * if known. Used by rules that want to RELAX deny → warn when the prompt
65
+ * declares an explicit intent (e.g. "修复 hook 协议错误" for `edit-hook-script`).
66
+ * Empty string means "unknown / not available".
67
+ */
68
+ recent_prompt: string;
69
+ /**
70
+ * Phase 5: most-recent PENDING workflow recommendation for this session
71
+ * (within a 5 min sliding window). PreToolUseHandler pre-computes this so
72
+ * the `workflow-recommendation-mismatch` rule can stay synchronous —
73
+ * matchers MUST NOT reach back into storage.
74
+ *
75
+ * `null` when:
76
+ * • Phase 5 feature flag is OFF
77
+ * • no recent recommendation exists
78
+ * • all recent recommendations were already accepted/rejected/bypassed
79
+ */
80
+ pending_workflow_rec?: PendingWorkflowRec | null;
81
+ /**
82
+ * v9.x Phase 2 (2026-05-26): `question_default_bmad.enforce` feature flag
83
+ * snapshot. PreToolUseHandler reads ConfigStore once per event so the
84
+ * `task-question-needs-bmad` rule can stay synchronous.
85
+ *
86
+ * Default `false` during the 7-day dry_run window after 2026-05-26. When
87
+ * `false`, RULE_TASK_QUESTION_NEEDS_BMAD short-circuits its match() to
88
+ * `false` — the soft recommend layer still fires (via
89
+ * `bmad-question-default` in workflow-defaults), so we still measure
90
+ * triggering rate without blocking the user.
91
+ */
92
+ question_default_bmad_enforce?: boolean;
93
+ }
94
+ /** Compact projection of a `workflow_recommendations` row exposed to rules. */
95
+ export interface PendingWorkflowRec {
96
+ id: number;
97
+ rule_id: string;
98
+ recommended_agent_type: string;
99
+ recommended_workflow: string;
100
+ reason: string | null;
101
+ /** ISO 8601 — the rule converts to age-in-minutes for the hint copy. */
102
+ timestamp: string;
103
+ }
104
+ /** Base discriminator shared by every rule kind. */
105
+ export interface RuleBase {
106
+ /** Stable identifier; serialised into `tool_intercepts.rule_id`. */
107
+ id: string;
108
+ kind: RuleKind;
109
+ description: string;
110
+ /** Optional pointer back into CLAUDE.md / docs so the user can find the rule narrative. */
111
+ claudemdRef?: string;
112
+ /**
113
+ * Phase 2c safety-net #4: observation window. ISO 8601 timestamp.
114
+ * Before this instant, the rule is force-demoted to `decision='dry_run'`
115
+ * even if `pre_tool_intercept.enabled='true'`. Lets newly added rules ride
116
+ * along for 24h without blocking real tool calls so the user can review
117
+ * the dry_run rows in `tool_intercepts` before committing.
118
+ *
119
+ * Unset / past → rule fires normally.
120
+ */
121
+ observation_until?: string;
122
+ }
123
+ export interface ToolInterceptRule extends RuleBase {
124
+ kind: 'tool_intercept';
125
+ /**
126
+ * Tool name(s) this rule binds to.
127
+ *
128
+ * Spec 1944 (decision-hint chain fix, 2026-05-28): widened from `string` to
129
+ * `string | string[]` so a single rule can guard several mutating tools
130
+ * (`['Task', 'Edit', 'Write', 'Bash']` — the original need was
131
+ * `decision-hint-pending`). Existing rules that only care about one tool
132
+ * keep using a bare string; the registry handles both shapes.
133
+ */
134
+ tool: string | string[];
135
+ match: (input: ToolInputFields, ctx: RuleContext) => boolean;
136
+ decision: ToolInterceptDecision;
137
+ /** Free-form text shown to the AI when the rule fires; should END with bypass instructions. */
138
+ hint: (input: ToolInputFields, ctx: RuleContext) => string;
139
+ }
140
+ /**
141
+ * Phase 5 workflow-recommendation rule (D4=strict). UserPromptHandler step 5
142
+ * iterates `getWorkflowRules()` and picks the FIRST rule whose `match()`
143
+ * returns non-null. Order in `defaultWorkflowRules` is the precedence
144
+ * (specific rules before fallbacks).
145
+ *
146
+ * Why `match()` returns a richer object than a boolean: we want to log the
147
+ * actual keywords/files that triggered the match into
148
+ * `workflow_recommendations.matched_keywords` so the dashboard can answer
149
+ * "why was X recommended" without re-running the matcher.
150
+ */
151
+ export type WorkflowName = 'BMAD' | 'harness-hotfix' | 'harness-debug-full' | 'refactor-specialist' | 'hybrid-feature-with-safety' | 'no-spawn';
152
+ export interface WorkflowMatchResult {
153
+ /** Tokens / phrases / file paths from the prompt that triggered the match. */
154
+ matched_keywords: string[];
155
+ /**
156
+ * Human-readable explanation rendered into the injection block + persisted
157
+ * to `workflow_recommendations.reason`. SHOULD reference CLAUDE.md anchor.
158
+ */
159
+ reason: string;
160
+ }
161
+ export interface WorkflowRecommendRule extends RuleBase {
162
+ kind: 'workflow_recommend';
163
+ /** Returns `null` if the rule did not fire. */
164
+ match: (prompt: string, ctx: RuleContext) => WorkflowMatchResult | null;
165
+ recommended_workflow: WorkflowName;
166
+ /** Must match a `.claude/agents/<name>.md` filename (without the .md). */
167
+ recommended_agent_type: string;
168
+ }
169
+ export type Rule = ToolInterceptRule | WorkflowRecommendRule;
170
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/daemon/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjD;;;;;;;;;;OAUG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACvB,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;;;;;OAQG;IACH,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;IAC7D,QAAQ,EAAE,qBAAqB,CAAC;IAChC,+FAA+F;IAC/F,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,KAAK,MAAM,CAAC;CAC5D;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,4BAA4B,GAC5B,UAAU,CAAC;AAEf,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAsB,SAAQ,QAAQ;IACrD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,+CAA+C;IAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,mBAAmB,GAAG,IAAI,CAAC;IACxE,oBAAoB,EAAE,YAAY,CAAC;IACnC,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,IAAI,GAAG,iBAAiB,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Rule types — shared by Phase 1 (tool_intercept) and Phase 5 (workflow_recommend).
3
+ *
4
+ * The `RuleKind` discriminator is intentional from day 1 so a single
5
+ * `RuleRegistry` can host both rule families with no schema break later:
6
+ *
7
+ * • Phase 1: `PreToolUseHandler` filters to `kind='tool_intercept'`.
8
+ * • Phase 5: `UserPromptHandler` (workflow recommender) filters to
9
+ * `kind='workflow_recommend'` (added in a later commit).
10
+ *
11
+ * Add a new union member here when introducing a new rule family — the
12
+ * `Rule` union type forces all downstream switch/filter sites to update.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/daemon/rules/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Enforcement bypass whitelist (Phase 2c safety-net #1).
3
+ *
4
+ * Tools / Bash command prefixes that ALWAYS pass PreToolUseHandler without
5
+ * touching the rule engine. Used as an "early-exit" gate before
6
+ * RuleRegistry.findFirstMatch so:
7
+ * • Read / Glob / Grep never write `tool_intercepts` rows (noise reduction)
8
+ * • Project-essential commands (`cf bypass`, `npm test`, `node`, etc.) keep
9
+ * working after the user flips `pre_tool_intercept.enabled=true` (otherwise
10
+ * the very command needed to disable enforcement would be denied — a
11
+ * "install-time deadlock").
12
+ *
13
+ * Two whitelist tracks:
14
+ * 1. `tools` — exact ToolName match (case-sensitive, as emitted by
15
+ * Claude Code). Currently only the read-only triplet.
16
+ * 2. `bashReadOnly` — pure read-only shell commands (ls/cat/git status…).
17
+ * 3. `bashProjectEssential` — non-read-only but mandatory for the project to
18
+ * function (cf CLI itself, npm/tsc/vitest, scripts).
19
+ *
20
+ * Bash matching uses a STRICT prefix check on the lowercased command. To avoid
21
+ * trivial bypass (`ls; rm -rf /` would match `ls` prefix), any command
22
+ * containing a shell metacharacter (see `hasShellInjectionMetachar`) is refused
23
+ * whitelist treatment.
24
+ */
25
+ import type { ToolInputFields } from '../../core/types.js';
26
+ import type { ConfigStore } from '../config-store.js';
27
+ /** Config key holding the comma-separated per-project disable list (Phase D). */
28
+ export declare const PROJECT_DISABLED_PREFIXES_KEY = "pre_tool_intercept.disabled_project_prefixes";
29
+ /**
30
+ * injection-guard (2026-06-05) — true when `cmd` contains a shell metacharacter
31
+ * that could chain a second command past a prefix-based whitelist. See
32
+ * `SHELL_INJECTION_METACHAR` for the exact set and rationale.
33
+ */
34
+ export declare function hasShellInjectionMetachar(cmd: string): boolean;
35
+ export declare const ENFORCEMENT_BYPASS_WHITELIST: {
36
+ /** Tool names that bypass enforcement unconditionally. */
37
+ readonly tools: Set<string>;
38
+ /**
39
+ * Read-only Bash command prefixes. Match is case-insensitive against the
40
+ * trimmed command. Order is irrelevant — `Array.some` covers all.
41
+ */
42
+ readonly bashReadOnly: readonly ["ls", "cat", "head", "tail", "find", "git status", "git log", "git diff", "git show", "git blame", "gh pr view", "gh issue view", "wc", "file", "stat", "tree", "pwd", "which", "echo"];
43
+ /**
44
+ * Project-essential Bash command prefixes. Not strictly read-only but
45
+ * required for the user's normal workflow (CLI itself, testing, build).
46
+ * Without these, flipping enforcement ON would brick the install:
47
+ * • `cf` denied → user can't `cf config set pre_tool_intercept.enabled false`
48
+ * • `npm test` denied → no way to verify changes
49
+ * • `node` / `npx` denied → tooling stalls
50
+ *
51
+ * Note the trailing space on `cf ` / `node ` etc. — bare `cf` (no args) is
52
+ * still allowed because the trimmed command equals `cf` (length 2) and would
53
+ * be matched by `'cf '` only if we use a more lenient check. We deliberately
54
+ * include both `'cf '` and `'cf\t'` so tab-separated invocations also match;
55
+ * the bare-token edge case is rare and not worth special-casing.
56
+ */
57
+ readonly bashProjectEssential: readonly ["cf ", "cf\t", "claude-forge ", "npm test", "npm run", "npm install", "npm ci", "npm --", "node ", "node --", "npx ", "vitest", "tsc", "./scripts/dev-daemon.sh", "./scripts/"];
58
+ };
59
+ /**
60
+ * Returns `true` when the (toolName, input) pair is whitelisted and the
61
+ * PreToolUseHandler should early-exit (no rule lookup, no row written).
62
+ *
63
+ * Bash early-exit honors a safety guard: any command containing a shell
64
+ * metacharacter (`hasShellInjectionMetachar`: `; & | $ \` > < \n`) is REJECTED
65
+ * from the whitelist even when the first token would otherwise match, to defeat
66
+ * trivial bypass like `ls; rm -rf ~` or substitution like `cat $(rm rf)`.
67
+ */
68
+ export declare function isWhitelisted(toolName: string, input: ToolInputFields): boolean;
69
+ /**
70
+ * 8-in-1 Phase D (2026-05-27): per-project intercept disable.
71
+ *
72
+ * Returns true when the project path falls under one of the user-configured
73
+ * disabled prefixes (comma-separated `forge_config` key). PreToolUseHandler
74
+ * calls this BEFORE `isWhitelisted` — projects on the disabled list skip the
75
+ * rule engine entirely (and never write `tool_intercepts` rows).
76
+ *
77
+ * Empty / unset config → returns false (default behaviour unchanged).
78
+ *
79
+ * Path matching:
80
+ * • String `startsWith` (case-sensitive).
81
+ * • Empty prefixes (multiple commas, trailing comma) are ignored.
82
+ * • A trailing `/` on either side is NOT required — but users SHOULD
83
+ * include one when there's ambiguity (e.g. `/Users/me/proj` would also
84
+ * match `/Users/me/proj-fork`; use `/Users/me/proj/` to anchor).
85
+ *
86
+ * Failures (storage read throws) degrade silently to `false` — better to
87
+ * keep enforcement on than crash the pipeline.
88
+ */
89
+ export declare function isProjectInterceptDisabled(projectPath: string, configStore: ConfigStore): boolean;
90
+ /**
91
+ * Daemon-startup self-test (called from src/daemon/index.ts).
92
+ *
93
+ * Hard-coded assertions that must hold for the project to be usable after
94
+ * enforcement is enabled. If any of these fail, the daemon refuses to start —
95
+ * better to fail loudly at boot than brick the install on first user command.
96
+ *
97
+ * Throws on first failed assertion with a message identifying the broken
98
+ * whitelist entry. Callers should treat the throw as fatal.
99
+ */
100
+ export declare function assertWhitelistInvariants(): void;
101
+ //# sourceMappingURL=whitelist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whitelist.d.ts","sourceRoot":"","sources":["../../../src/daemon/rules/whitelist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,iFAAiF;AACjF,eAAO,MAAM,6BAA6B,iDACM,CAAC;AA2BjD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,eAAO,MAAM,4BAA4B;IACvC,0DAA0D;;IAG1D;;;OAGG;;IASH;;;;;;;;;;;;;OAaG;;CAUK,CAAC;AAEX;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAoB/E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,GACvB,OAAO,CAUT;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CA4ChD"}