@vinaes/succ 1.3.31 → 1.5.37

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 (759) hide show
  1. package/README.md +65 -11
  2. package/agents/succ-code-reviewer.md +1 -1
  3. package/agents/succ-diff-reviewer.md +1 -1
  4. package/agents/succ-general.md +1 -1
  5. package/dist/cli.js +84 -2
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/agents-md.d.ts.map +1 -1
  8. package/dist/commands/agents-md.js +3 -2
  9. package/dist/commands/agents-md.js.map +1 -1
  10. package/dist/commands/analyze-agents.d.ts.map +1 -1
  11. package/dist/commands/analyze-agents.js +10 -11
  12. package/dist/commands/analyze-agents.js.map +1 -1
  13. package/dist/commands/analyze-profile.d.ts.map +1 -1
  14. package/dist/commands/analyze-profile.js +32 -8
  15. package/dist/commands/analyze-profile.js.map +1 -1
  16. package/dist/commands/analyze-recursive.d.ts.map +1 -1
  17. package/dist/commands/analyze-recursive.js +8 -3
  18. package/dist/commands/analyze-recursive.js.map +1 -1
  19. package/dist/commands/analyze-utils.d.ts.map +1 -1
  20. package/dist/commands/analyze-utils.js +17 -4
  21. package/dist/commands/analyze-utils.js.map +1 -1
  22. package/dist/commands/benchmark-quality.d.ts.map +1 -1
  23. package/dist/commands/benchmark-quality.js +11 -4
  24. package/dist/commands/benchmark-quality.js.map +1 -1
  25. package/dist/commands/benchmark-sqlite-vec.d.ts.map +1 -1
  26. package/dist/commands/benchmark-sqlite-vec.js +4 -0
  27. package/dist/commands/benchmark-sqlite-vec.js.map +1 -1
  28. package/dist/commands/benchmark.d.ts.map +1 -1
  29. package/dist/commands/benchmark.js +5 -1
  30. package/dist/commands/benchmark.js.map +1 -1
  31. package/dist/commands/codex-chat.d.ts +8 -0
  32. package/dist/commands/codex-chat.d.ts.map +1 -0
  33. package/dist/commands/codex-chat.js +161 -0
  34. package/dist/commands/codex-chat.js.map +1 -0
  35. package/dist/commands/config.d.ts.map +1 -1
  36. package/dist/commands/config.js +32 -4
  37. package/dist/commands/config.js.map +1 -1
  38. package/dist/commands/daemon.d.ts.map +1 -1
  39. package/dist/commands/daemon.js +13 -4
  40. package/dist/commands/daemon.js.map +1 -1
  41. package/dist/commands/index-code.d.ts +4 -0
  42. package/dist/commands/index-code.d.ts.map +1 -1
  43. package/dist/commands/index-code.js +1 -1
  44. package/dist/commands/index-code.js.map +1 -1
  45. package/dist/commands/init-templates.js +2 -2
  46. package/dist/commands/init.d.ts.map +1 -1
  47. package/dist/commands/init.js +305 -203
  48. package/dist/commands/init.js.map +1 -1
  49. package/dist/commands/memories.d.ts.map +1 -1
  50. package/dist/commands/memories.js +25 -14
  51. package/dist/commands/memories.js.map +1 -1
  52. package/dist/commands/progress.d.ts.map +1 -1
  53. package/dist/commands/progress.js +3 -2
  54. package/dist/commands/progress.js.map +1 -1
  55. package/dist/commands/reindex.d.ts.map +1 -1
  56. package/dist/commands/reindex.js +54 -36
  57. package/dist/commands/reindex.js.map +1 -1
  58. package/dist/commands/retention.d.ts.map +1 -1
  59. package/dist/commands/retention.js +7 -5
  60. package/dist/commands/retention.js.map +1 -1
  61. package/dist/commands/scan-code.d.ts +76 -0
  62. package/dist/commands/scan-code.d.ts.map +1 -0
  63. package/dist/commands/scan-code.js +385 -0
  64. package/dist/commands/scan-code.js.map +1 -0
  65. package/dist/commands/score.d.ts.map +1 -1
  66. package/dist/commands/score.js +3 -2
  67. package/dist/commands/score.js.map +1 -1
  68. package/dist/commands/session.d.ts +33 -0
  69. package/dist/commands/session.d.ts.map +1 -0
  70. package/dist/commands/session.js +163 -0
  71. package/dist/commands/session.js.map +1 -0
  72. package/dist/commands/setup.d.ts.map +1 -1
  73. package/dist/commands/setup.js +254 -15
  74. package/dist/commands/setup.js.map +1 -1
  75. package/dist/commands/soul.d.ts.map +1 -1
  76. package/dist/commands/soul.js +7 -46
  77. package/dist/commands/soul.js.map +1 -1
  78. package/dist/commands/status.d.ts.map +1 -1
  79. package/dist/commands/status.js +14 -5
  80. package/dist/commands/status.js.map +1 -1
  81. package/dist/commands/watch.d.ts.map +1 -1
  82. package/dist/commands/watch.js +13 -4
  83. package/dist/commands/watch.js.map +1 -1
  84. package/dist/daemon/analyzer.d.ts.map +1 -1
  85. package/dist/daemon/analyzer.js +23 -7
  86. package/dist/daemon/analyzer.js.map +1 -1
  87. package/dist/daemon/client.d.ts.map +1 -1
  88. package/dist/daemon/client.js +32 -8
  89. package/dist/daemon/client.js.map +1 -1
  90. package/dist/daemon/routes/analyzer.d.ts +3 -0
  91. package/dist/daemon/routes/analyzer.d.ts.map +1 -0
  92. package/dist/daemon/routes/analyzer.js +27 -0
  93. package/dist/daemon/routes/analyzer.js.map +1 -0
  94. package/dist/daemon/routes/hooks.d.ts +14 -0
  95. package/dist/daemon/routes/hooks.d.ts.map +1 -0
  96. package/dist/daemon/routes/hooks.js +1212 -0
  97. package/dist/daemon/routes/hooks.js.map +1 -0
  98. package/dist/daemon/routes/memory.d.ts +4 -0
  99. package/dist/daemon/routes/memory.d.ts.map +1 -0
  100. package/dist/daemon/routes/memory.js +71 -0
  101. package/dist/daemon/routes/memory.js.map +1 -0
  102. package/dist/daemon/routes/reflection.d.ts +10 -0
  103. package/dist/daemon/routes/reflection.d.ts.map +1 -0
  104. package/dist/daemon/routes/reflection.js +397 -0
  105. package/dist/daemon/routes/reflection.js.map +1 -0
  106. package/dist/daemon/routes/search.d.ts +5 -0
  107. package/dist/daemon/routes/search.d.ts.map +1 -0
  108. package/dist/daemon/routes/search.js +93 -0
  109. package/dist/daemon/routes/search.js.map +1 -0
  110. package/dist/daemon/routes/sessions.d.ts +3 -0
  111. package/dist/daemon/routes/sessions.d.ts.map +1 -0
  112. package/dist/daemon/routes/sessions.js +160 -0
  113. package/dist/daemon/routes/sessions.js.map +1 -0
  114. package/dist/daemon/routes/skills.d.ts +3 -0
  115. package/dist/daemon/routes/skills.d.ts.map +1 -0
  116. package/dist/daemon/routes/skills.js +36 -0
  117. package/dist/daemon/routes/skills.js.map +1 -0
  118. package/dist/daemon/routes/status.d.ts +3 -0
  119. package/dist/daemon/routes/status.d.ts.map +1 -0
  120. package/dist/daemon/routes/status.js +47 -0
  121. package/dist/daemon/routes/status.js.map +1 -0
  122. package/dist/daemon/routes/types.d.ts +240 -0
  123. package/dist/daemon/routes/types.d.ts.map +1 -0
  124. package/dist/daemon/routes/types.js +97 -0
  125. package/dist/daemon/routes/types.js.map +1 -0
  126. package/dist/daemon/routes/versioning.d.ts +27 -0
  127. package/dist/daemon/routes/versioning.d.ts.map +1 -0
  128. package/dist/daemon/routes/versioning.js +44 -0
  129. package/dist/daemon/routes/versioning.js.map +1 -0
  130. package/dist/daemon/routes/watcher.d.ts +3 -0
  131. package/dist/daemon/routes/watcher.d.ts.map +1 -0
  132. package/dist/daemon/routes/watcher.js +28 -0
  133. package/dist/daemon/routes/watcher.js.map +1 -0
  134. package/dist/daemon/service.d.ts +5 -23
  135. package/dist/daemon/service.d.ts.map +1 -1
  136. package/dist/daemon/service.js +177 -934
  137. package/dist/daemon/service.js.map +1 -1
  138. package/dist/daemon/session-processor.d.ts +4 -8
  139. package/dist/daemon/session-processor.d.ts.map +1 -1
  140. package/dist/daemon/session-processor.js +49 -222
  141. package/dist/daemon/session-processor.js.map +1 -1
  142. package/dist/lib/ai-readiness.d.ts.map +1 -1
  143. package/dist/lib/ai-readiness.js +33 -8
  144. package/dist/lib/ai-readiness.js.map +1 -1
  145. package/dist/lib/analyze-state.d.ts.map +1 -1
  146. package/dist/lib/analyze-state.js +25 -3
  147. package/dist/lib/analyze-state.js.map +1 -1
  148. package/dist/lib/auto-memory/consolidation.d.ts +41 -0
  149. package/dist/lib/auto-memory/consolidation.d.ts.map +1 -0
  150. package/dist/lib/auto-memory/consolidation.js +151 -0
  151. package/dist/lib/auto-memory/consolidation.js.map +1 -0
  152. package/dist/lib/bpe.d.ts.map +1 -1
  153. package/dist/lib/bpe.js +9 -10
  154. package/dist/lib/bpe.js.map +1 -1
  155. package/dist/lib/brain-export.d.ts +65 -0
  156. package/dist/lib/brain-export.d.ts.map +1 -0
  157. package/dist/lib/brain-export.js +413 -0
  158. package/dist/lib/brain-export.js.map +1 -0
  159. package/dist/lib/checkpoint.d.ts.map +1 -1
  160. package/dist/lib/checkpoint.js +22 -6
  161. package/dist/lib/checkpoint.js.map +1 -1
  162. package/dist/lib/chunker.d.ts.map +1 -1
  163. package/dist/lib/chunker.js +6 -1
  164. package/dist/lib/chunker.js.map +1 -1
  165. package/dist/lib/claude-ws-transport.d.ts.map +1 -1
  166. package/dist/lib/claude-ws-transport.js +12 -4
  167. package/dist/lib/claude-ws-transport.js.map +1 -1
  168. package/dist/lib/command-safety.d.ts +64 -0
  169. package/dist/lib/command-safety.d.ts.map +1 -0
  170. package/dist/lib/command-safety.js +625 -0
  171. package/dist/lib/command-safety.js.map +1 -0
  172. package/dist/lib/compact-briefing.d.ts.map +1 -1
  173. package/dist/lib/compact-briefing.js +18 -17
  174. package/dist/lib/compact-briefing.js.map +1 -1
  175. package/dist/lib/config-defaults.d.ts.map +1 -1
  176. package/dist/lib/config-defaults.js +3 -0
  177. package/dist/lib/config-defaults.js.map +1 -1
  178. package/dist/lib/config-display.d.ts +4 -0
  179. package/dist/lib/config-display.d.ts.map +1 -1
  180. package/dist/lib/config-display.js +6 -1
  181. package/dist/lib/config-display.js.map +1 -1
  182. package/dist/lib/config-types.d.ts +157 -0
  183. package/dist/lib/config-types.d.ts.map +1 -1
  184. package/dist/lib/config-validation.d.ts.map +1 -1
  185. package/dist/lib/config-validation.js +6 -0
  186. package/dist/lib/config-validation.js.map +1 -1
  187. package/dist/lib/config.d.ts +8 -0
  188. package/dist/lib/config.d.ts.map +1 -1
  189. package/dist/lib/config.js +108 -9
  190. package/dist/lib/config.js.map +1 -1
  191. package/dist/lib/consolidate.d.ts.map +1 -1
  192. package/dist/lib/consolidate.js +73 -49
  193. package/dist/lib/consolidate.js.map +1 -1
  194. package/dist/lib/content-sanitizer.d.ts +29 -0
  195. package/dist/lib/content-sanitizer.d.ts.map +1 -0
  196. package/dist/lib/content-sanitizer.js +72 -0
  197. package/dist/lib/content-sanitizer.js.map +1 -0
  198. package/dist/lib/cross-repo.d.ts +44 -0
  199. package/dist/lib/cross-repo.d.ts.map +1 -0
  200. package/dist/lib/cross-repo.js +108 -0
  201. package/dist/lib/cross-repo.js.map +1 -0
  202. package/dist/lib/daemon-port.d.ts +12 -0
  203. package/dist/lib/daemon-port.d.ts.map +1 -0
  204. package/dist/lib/daemon-port.js +20 -0
  205. package/dist/lib/daemon-port.js.map +1 -0
  206. package/dist/lib/db/auto-memory.d.ts +40 -0
  207. package/dist/lib/db/auto-memory.d.ts.map +1 -0
  208. package/dist/lib/db/auto-memory.js +74 -0
  209. package/dist/lib/db/auto-memory.js.map +1 -0
  210. package/dist/lib/db/bm25-indexes.d.ts.map +1 -1
  211. package/dist/lib/db/bm25-indexes.js +16 -4
  212. package/dist/lib/db/bm25-indexes.js.map +1 -1
  213. package/dist/lib/db/connection.d.ts.map +1 -1
  214. package/dist/lib/db/connection.js +8 -1
  215. package/dist/lib/db/connection.js.map +1 -1
  216. package/dist/lib/db/documents.d.ts.map +1 -1
  217. package/dist/lib/db/documents.js +4 -1
  218. package/dist/lib/db/documents.js.map +1 -1
  219. package/dist/lib/db/global-memories.d.ts +2 -10
  220. package/dist/lib/db/global-memories.d.ts.map +1 -1
  221. package/dist/lib/db/global-memories.js +13 -6
  222. package/dist/lib/db/global-memories.js.map +1 -1
  223. package/dist/lib/db/graph.d.ts +5 -1
  224. package/dist/lib/db/graph.d.ts.map +1 -1
  225. package/dist/lib/db/graph.js +38 -8
  226. package/dist/lib/db/graph.js.map +1 -1
  227. package/dist/lib/db/hybrid-search.d.ts +4 -2
  228. package/dist/lib/db/hybrid-search.d.ts.map +1 -1
  229. package/dist/lib/db/hybrid-search.js +29 -11
  230. package/dist/lib/db/hybrid-search.js.map +1 -1
  231. package/dist/lib/db/index.d.ts +6 -1
  232. package/dist/lib/db/index.d.ts.map +1 -1
  233. package/dist/lib/db/index.js +5 -1
  234. package/dist/lib/db/index.js.map +1 -1
  235. package/dist/lib/db/memories.d.ts +19 -14
  236. package/dist/lib/db/memories.d.ts.map +1 -1
  237. package/dist/lib/db/memories.js +100 -37
  238. package/dist/lib/db/memories.js.map +1 -1
  239. package/dist/lib/db/parse-helpers.d.ts +14 -0
  240. package/dist/lib/db/parse-helpers.d.ts.map +1 -0
  241. package/dist/lib/db/parse-helpers.js +59 -0
  242. package/dist/lib/db/parse-helpers.js.map +1 -0
  243. package/dist/lib/db/recall-events.d.ts +49 -0
  244. package/dist/lib/db/recall-events.d.ts.map +1 -0
  245. package/dist/lib/db/recall-events.js +196 -0
  246. package/dist/lib/db/recall-events.js.map +1 -0
  247. package/dist/lib/db/retention.d.ts +4 -3
  248. package/dist/lib/db/retention.d.ts.map +1 -1
  249. package/dist/lib/db/retention.js +12 -1
  250. package/dist/lib/db/retention.js.map +1 -1
  251. package/dist/lib/db/schema.d.ts +2 -0
  252. package/dist/lib/db/schema.d.ts.map +1 -1
  253. package/dist/lib/db/schema.js +140 -80
  254. package/dist/lib/db/schema.js.map +1 -1
  255. package/dist/lib/db/skills.d.ts.map +1 -1
  256. package/dist/lib/db/skills.js +10 -6
  257. package/dist/lib/db/skills.js.map +1 -1
  258. package/dist/lib/diff-brain.d.ts +24 -0
  259. package/dist/lib/diff-brain.d.ts.map +1 -0
  260. package/dist/lib/diff-brain.js +114 -0
  261. package/dist/lib/diff-brain.js.map +1 -0
  262. package/dist/lib/diff-parser.d.ts +74 -0
  263. package/dist/lib/diff-parser.d.ts.map +1 -0
  264. package/dist/lib/diff-parser.js +200 -0
  265. package/dist/lib/diff-parser.js.map +1 -0
  266. package/dist/lib/embedding-pool.d.ts.map +1 -1
  267. package/dist/lib/embedding-pool.js +5 -1
  268. package/dist/lib/embedding-pool.js.map +1 -1
  269. package/dist/lib/embeddings.d.ts +12 -0
  270. package/dist/lib/embeddings.d.ts.map +1 -1
  271. package/dist/lib/embeddings.js +77 -19
  272. package/dist/lib/embeddings.js.map +1 -1
  273. package/dist/lib/errors.d.ts +2 -0
  274. package/dist/lib/errors.d.ts.map +1 -1
  275. package/dist/lib/errors.js +4 -0
  276. package/dist/lib/errors.js.map +1 -1
  277. package/dist/lib/fault-logger.d.ts.map +1 -1
  278. package/dist/lib/fault-logger.js +22 -7
  279. package/dist/lib/fault-logger.js.map +1 -1
  280. package/dist/lib/git/co-change.d.ts +39 -0
  281. package/dist/lib/git/co-change.d.ts.map +1 -0
  282. package/dist/lib/git/co-change.js +139 -0
  283. package/dist/lib/git/co-change.js.map +1 -0
  284. package/dist/lib/graph/bridge-edges.d.ts +93 -0
  285. package/dist/lib/graph/bridge-edges.d.ts.map +1 -0
  286. package/dist/lib/graph/bridge-edges.js +276 -0
  287. package/dist/lib/graph/bridge-edges.js.map +1 -0
  288. package/dist/lib/graph/centrality.d.ts +11 -0
  289. package/dist/lib/graph/centrality.d.ts.map +1 -1
  290. package/dist/lib/graph/centrality.js +51 -3
  291. package/dist/lib/graph/centrality.js.map +1 -1
  292. package/dist/lib/graph/cleanup.d.ts.map +1 -1
  293. package/dist/lib/graph/cleanup.js +2 -1
  294. package/dist/lib/graph/cleanup.js.map +1 -1
  295. package/dist/lib/graph/community-detection.d.ts +17 -2
  296. package/dist/lib/graph/community-detection.d.ts.map +1 -1
  297. package/dist/lib/graph/community-detection.js +147 -48
  298. package/dist/lib/graph/community-detection.js.map +1 -1
  299. package/dist/lib/graph/community-summaries.d.ts +26 -0
  300. package/dist/lib/graph/community-summaries.d.ts.map +1 -0
  301. package/dist/lib/graph/community-summaries.js +130 -0
  302. package/dist/lib/graph/community-summaries.js.map +1 -0
  303. package/dist/lib/graph/contextual-proximity.d.ts.map +1 -1
  304. package/dist/lib/graph/contextual-proximity.js +11 -4
  305. package/dist/lib/graph/contextual-proximity.js.map +1 -1
  306. package/dist/lib/graph/graphology-bridge.d.ts +101 -0
  307. package/dist/lib/graph/graphology-bridge.d.ts.map +1 -0
  308. package/dist/lib/graph/graphology-bridge.js +488 -0
  309. package/dist/lib/graph/graphology-bridge.js.map +1 -0
  310. package/dist/lib/graph/llm-relations.d.ts.map +1 -1
  311. package/dist/lib/graph/llm-relations.js +34 -45
  312. package/dist/lib/graph/llm-relations.js.map +1 -1
  313. package/dist/lib/graph-export.d.ts.map +1 -1
  314. package/dist/lib/graph-export.js +2 -2
  315. package/dist/lib/graph-export.js.map +1 -1
  316. package/dist/lib/graph-scheduler.d.ts +0 -5
  317. package/dist/lib/graph-scheduler.d.ts.map +1 -1
  318. package/dist/lib/graph-scheduler.js +5 -1
  319. package/dist/lib/graph-scheduler.js.map +1 -1
  320. package/dist/lib/guardrails.d.ts +50 -0
  321. package/dist/lib/guardrails.d.ts.map +1 -0
  322. package/dist/lib/guardrails.js +502 -0
  323. package/dist/lib/guardrails.js.map +1 -0
  324. package/dist/lib/hook-rules.d.ts +1 -1
  325. package/dist/lib/hook-rules.d.ts.map +1 -1
  326. package/dist/lib/hook-rules.js +8 -2
  327. package/dist/lib/hook-rules.js.map +1 -1
  328. package/dist/lib/ifc/file-labels.d.ts +35 -0
  329. package/dist/lib/ifc/file-labels.d.ts.map +1 -0
  330. package/dist/lib/ifc/file-labels.js +208 -0
  331. package/dist/lib/ifc/file-labels.js.map +1 -0
  332. package/dist/lib/ifc/label.d.ts +38 -0
  333. package/dist/lib/ifc/label.d.ts.map +1 -0
  334. package/dist/lib/ifc/label.js +80 -0
  335. package/dist/lib/ifc/label.js.map +1 -0
  336. package/dist/lib/ifc/session-ifc.d.ts +92 -0
  337. package/dist/lib/ifc/session-ifc.d.ts.map +1 -0
  338. package/dist/lib/ifc/session-ifc.js +222 -0
  339. package/dist/lib/ifc/session-ifc.js.map +1 -0
  340. package/dist/lib/indexer.js +2 -2
  341. package/dist/lib/indexer.js.map +1 -1
  342. package/dist/lib/injection-detector.d.ts +83 -0
  343. package/dist/lib/injection-detector.d.ts.map +1 -0
  344. package/dist/lib/injection-detector.js +586 -0
  345. package/dist/lib/injection-detector.js.map +1 -0
  346. package/dist/lib/injection-semantic.d.ts +31 -0
  347. package/dist/lib/injection-semantic.d.ts.map +1 -0
  348. package/dist/lib/injection-semantic.js +230 -0
  349. package/dist/lib/injection-semantic.js.map +1 -0
  350. package/dist/lib/llm.d.ts +14 -0
  351. package/dist/lib/llm.d.ts.map +1 -1
  352. package/dist/lib/llm.js +44 -8
  353. package/dist/lib/llm.js.map +1 -1
  354. package/dist/lib/lock.d.ts.map +1 -1
  355. package/dist/lib/lock.js +24 -3
  356. package/dist/lib/lock.js.map +1 -1
  357. package/dist/lib/md-fetch.d.ts.map +1 -1
  358. package/dist/lib/md-fetch.js +9 -2
  359. package/dist/lib/md-fetch.js.map +1 -1
  360. package/dist/lib/observability.d.ts +75 -0
  361. package/dist/lib/observability.d.ts.map +1 -0
  362. package/dist/lib/observability.js +201 -0
  363. package/dist/lib/observability.js.map +1 -0
  364. package/dist/lib/ort-session.d.ts +26 -0
  365. package/dist/lib/ort-session.d.ts.map +1 -1
  366. package/dist/lib/ort-session.js +107 -3
  367. package/dist/lib/ort-session.js.map +1 -1
  368. package/dist/lib/prd/codebase-context.d.ts.map +1 -1
  369. package/dist/lib/prd/codebase-context.js +9 -2
  370. package/dist/lib/prd/codebase-context.js.map +1 -1
  371. package/dist/lib/prd/context.d.ts.map +1 -1
  372. package/dist/lib/prd/context.js +11 -3
  373. package/dist/lib/prd/context.js.map +1 -1
  374. package/dist/lib/prd/export.js +1 -1
  375. package/dist/lib/prd/export.js.map +1 -1
  376. package/dist/lib/prd/generate.d.ts.map +1 -1
  377. package/dist/lib/prd/generate.js +19 -5
  378. package/dist/lib/prd/generate.js.map +1 -1
  379. package/dist/lib/prd/parse.d.ts.map +1 -1
  380. package/dist/lib/prd/parse.js +8 -2
  381. package/dist/lib/prd/parse.js.map +1 -1
  382. package/dist/lib/prd/prompt-builder.d.ts +9 -2
  383. package/dist/lib/prd/prompt-builder.d.ts.map +1 -1
  384. package/dist/lib/prd/prompt-builder.js +7 -8
  385. package/dist/lib/prd/prompt-builder.js.map +1 -1
  386. package/dist/lib/prd/runner.d.ts +1 -2
  387. package/dist/lib/prd/runner.d.ts.map +1 -1
  388. package/dist/lib/prd/runner.js +45 -33
  389. package/dist/lib/prd/runner.js.map +1 -1
  390. package/dist/lib/prd/team-runner.js +2 -1
  391. package/dist/lib/prd/team-runner.js.map +1 -1
  392. package/dist/lib/prd/worktree.d.ts +1 -2
  393. package/dist/lib/prd/worktree.d.ts.map +1 -1
  394. package/dist/lib/prd/worktree.js +62 -70
  395. package/dist/lib/prd/worktree.js.map +1 -1
  396. package/dist/lib/precompute-context.d.ts.map +1 -1
  397. package/dist/lib/precompute-context.js +22 -36
  398. package/dist/lib/precompute-context.js.map +1 -1
  399. package/dist/lib/pricing.d.ts.map +1 -1
  400. package/dist/lib/pricing.js +5 -1
  401. package/dist/lib/pricing.js.map +1 -1
  402. package/dist/lib/process-registry.js +3 -3
  403. package/dist/lib/process-registry.js.map +1 -1
  404. package/dist/lib/public-api.d.ts +54 -4
  405. package/dist/lib/public-api.d.ts.map +1 -1
  406. package/dist/lib/public-api.js +52 -2
  407. package/dist/lib/public-api.js.map +1 -1
  408. package/dist/lib/quality.d.ts.map +1 -1
  409. package/dist/lib/quality.js +15 -6
  410. package/dist/lib/quality.js.map +1 -1
  411. package/dist/lib/query-expansion.d.ts +32 -0
  412. package/dist/lib/query-expansion.d.ts.map +1 -1
  413. package/dist/lib/query-expansion.js +64 -13
  414. package/dist/lib/query-expansion.js.map +1 -1
  415. package/dist/lib/reference-embeddings.d.ts.map +1 -1
  416. package/dist/lib/reference-embeddings.js +17 -4
  417. package/dist/lib/reference-embeddings.js.map +1 -1
  418. package/dist/lib/reflection-synthesizer.d.ts.map +1 -1
  419. package/dist/lib/reflection-synthesizer.js +9 -17
  420. package/dist/lib/reflection-synthesizer.js.map +1 -1
  421. package/dist/lib/reranker.d.ts +41 -0
  422. package/dist/lib/reranker.d.ts.map +1 -0
  423. package/dist/lib/reranker.js +294 -0
  424. package/dist/lib/reranker.js.map +1 -0
  425. package/dist/lib/retrieval-feedback.d.ts +100 -0
  426. package/dist/lib/retrieval-feedback.d.ts.map +1 -0
  427. package/dist/lib/retrieval-feedback.js +174 -0
  428. package/dist/lib/retrieval-feedback.js.map +1 -0
  429. package/dist/lib/review/context-pack.d.ts +58 -0
  430. package/dist/lib/review/context-pack.d.ts.map +1 -0
  431. package/dist/lib/review/context-pack.js +300 -0
  432. package/dist/lib/review/context-pack.js.map +1 -0
  433. package/dist/lib/search/hierarchical-summaries.d.ts +65 -0
  434. package/dist/lib/search/hierarchical-summaries.d.ts.map +1 -0
  435. package/dist/lib/search/hierarchical-summaries.js +423 -0
  436. package/dist/lib/search/hierarchical-summaries.js.map +1 -0
  437. package/dist/lib/search/hyde.d.ts +27 -0
  438. package/dist/lib/search/hyde.d.ts.map +1 -0
  439. package/dist/lib/search/hyde.js +141 -0
  440. package/dist/lib/search/hyde.js.map +1 -0
  441. package/dist/lib/search/late-chunking.d.ts +53 -0
  442. package/dist/lib/search/late-chunking.d.ts.map +1 -0
  443. package/dist/lib/search/late-chunking.js +230 -0
  444. package/dist/lib/search/late-chunking.js.map +1 -0
  445. package/dist/lib/search/ppr-retrieval.d.ts +49 -0
  446. package/dist/lib/search/ppr-retrieval.d.ts.map +1 -0
  447. package/dist/lib/search/ppr-retrieval.js +135 -0
  448. package/dist/lib/search/ppr-retrieval.js.map +1 -0
  449. package/dist/lib/search/repo-map.d.ts +43 -0
  450. package/dist/lib/search/repo-map.d.ts.map +1 -0
  451. package/dist/lib/search/repo-map.js +165 -0
  452. package/dist/lib/search/repo-map.js.map +1 -0
  453. package/dist/lib/session-analyzer.d.ts +90 -0
  454. package/dist/lib/session-analyzer.d.ts.map +1 -0
  455. package/dist/lib/session-analyzer.js +467 -0
  456. package/dist/lib/session-analyzer.js.map +1 -0
  457. package/dist/lib/session-observations.d.ts.map +1 -1
  458. package/dist/lib/session-observations.js +13 -3
  459. package/dist/lib/session-observations.js.map +1 -1
  460. package/dist/lib/session-summary.d.ts.map +1 -1
  461. package/dist/lib/session-summary.js +64 -52
  462. package/dist/lib/session-summary.js.map +1 -1
  463. package/dist/lib/session-surgeon.d.ts +53 -0
  464. package/dist/lib/session-surgeon.d.ts.map +1 -0
  465. package/dist/lib/session-surgeon.js +501 -0
  466. package/dist/lib/session-surgeon.js.map +1 -0
  467. package/dist/lib/similarity-utils.d.ts +26 -0
  468. package/dist/lib/similarity-utils.d.ts.map +1 -0
  469. package/dist/lib/similarity-utils.js +66 -0
  470. package/dist/lib/similarity-utils.js.map +1 -0
  471. package/dist/lib/skills.d.ts.map +1 -1
  472. package/dist/lib/skills.js +16 -16
  473. package/dist/lib/skills.js.map +1 -1
  474. package/dist/lib/storage/backends/interface.d.ts +13 -3
  475. package/dist/lib/storage/backends/interface.d.ts.map +1 -1
  476. package/dist/lib/storage/backends/postgresql.d.ts +52 -3
  477. package/dist/lib/storage/backends/postgresql.d.ts.map +1 -1
  478. package/dist/lib/storage/backends/postgresql.js +694 -49
  479. package/dist/lib/storage/backends/postgresql.js.map +1 -1
  480. package/dist/lib/storage/benchmark.js +2 -2
  481. package/dist/lib/storage/benchmark.js.map +1 -1
  482. package/dist/lib/storage/dispatcher/base.d.ts +114 -0
  483. package/dist/lib/storage/dispatcher/base.d.ts.map +1 -0
  484. package/dist/lib/storage/dispatcher/base.js +160 -0
  485. package/dist/lib/storage/dispatcher/base.js.map +1 -0
  486. package/dist/lib/storage/dispatcher/documents.d.ts +25 -0
  487. package/dist/lib/storage/dispatcher/documents.d.ts.map +1 -0
  488. package/dist/lib/storage/dispatcher/documents.js +194 -0
  489. package/dist/lib/storage/dispatcher/documents.js.map +1 -0
  490. package/dist/lib/storage/dispatcher/embeddings.d.ts +34 -0
  491. package/dist/lib/storage/dispatcher/embeddings.d.ts.map +1 -0
  492. package/dist/lib/storage/dispatcher/embeddings.js +144 -0
  493. package/dist/lib/storage/dispatcher/embeddings.js.map +1 -0
  494. package/dist/lib/storage/dispatcher/export-import.d.ts +139 -0
  495. package/dist/lib/storage/dispatcher/export-import.d.ts.map +1 -0
  496. package/dist/lib/storage/dispatcher/export-import.js +191 -0
  497. package/dist/lib/storage/dispatcher/export-import.js.map +1 -0
  498. package/dist/lib/storage/dispatcher/file-hashes.d.ts +13 -0
  499. package/dist/lib/storage/dispatcher/file-hashes.d.ts.map +1 -0
  500. package/dist/lib/storage/dispatcher/file-hashes.js +36 -0
  501. package/dist/lib/storage/dispatcher/file-hashes.js.map +1 -0
  502. package/dist/lib/storage/dispatcher/global-memories.d.ts +28 -0
  503. package/dist/lib/storage/dispatcher/global-memories.d.ts.map +1 -0
  504. package/dist/lib/storage/dispatcher/global-memories.js +151 -0
  505. package/dist/lib/storage/dispatcher/global-memories.js.map +1 -0
  506. package/dist/lib/storage/dispatcher/graph.d.ts +32 -0
  507. package/dist/lib/storage/dispatcher/graph.d.ts.map +1 -0
  508. package/dist/lib/storage/dispatcher/graph.js +146 -0
  509. package/dist/lib/storage/dispatcher/graph.js.map +1 -0
  510. package/dist/lib/storage/dispatcher/index.d.ts +34 -0
  511. package/dist/lib/storage/dispatcher/index.d.ts.map +1 -0
  512. package/dist/lib/storage/dispatcher/index.js +139 -0
  513. package/dist/lib/storage/dispatcher/index.js.map +1 -0
  514. package/dist/lib/storage/dispatcher/memories.d.ts +65 -0
  515. package/dist/lib/storage/dispatcher/memories.d.ts.map +1 -0
  516. package/dist/lib/storage/dispatcher/memories.js +466 -0
  517. package/dist/lib/storage/dispatcher/memories.js.map +1 -0
  518. package/dist/lib/storage/dispatcher/mixin-helper.d.ts +6 -0
  519. package/dist/lib/storage/dispatcher/mixin-helper.d.ts.map +1 -0
  520. package/dist/lib/storage/dispatcher/mixin-helper.js +10 -0
  521. package/dist/lib/storage/dispatcher/mixin-helper.js.map +1 -0
  522. package/dist/lib/storage/dispatcher/retention.d.ts +20 -0
  523. package/dist/lib/storage/dispatcher/retention.d.ts.map +1 -0
  524. package/dist/lib/storage/dispatcher/retention.js +123 -0
  525. package/dist/lib/storage/dispatcher/retention.js.map +1 -0
  526. package/dist/lib/storage/dispatcher/search.d.ts +34 -0
  527. package/dist/lib/storage/dispatcher/search.d.ts.map +1 -0
  528. package/dist/lib/storage/dispatcher/search.js +222 -0
  529. package/dist/lib/storage/dispatcher/search.js.map +1 -0
  530. package/dist/lib/storage/dispatcher/skills.d.ts +53 -0
  531. package/dist/lib/storage/dispatcher/skills.d.ts.map +1 -0
  532. package/dist/lib/storage/dispatcher/skills.js +98 -0
  533. package/dist/lib/storage/dispatcher/skills.js.map +1 -0
  534. package/dist/lib/storage/dispatcher/token-stats.d.ts +23 -0
  535. package/dist/lib/storage/dispatcher/token-stats.d.ts.map +1 -0
  536. package/dist/lib/storage/dispatcher/token-stats.js +92 -0
  537. package/dist/lib/storage/dispatcher/token-stats.js.map +1 -0
  538. package/dist/lib/storage/dispatcher/web-search.d.ts +10 -0
  539. package/dist/lib/storage/dispatcher/web-search.d.ts.map +1 -0
  540. package/dist/lib/storage/dispatcher/web-search.js +39 -0
  541. package/dist/lib/storage/dispatcher/web-search.js.map +1 -0
  542. package/dist/lib/storage/dispatcher-export.d.ts.map +1 -1
  543. package/dist/lib/storage/dispatcher-export.js +48 -39
  544. package/dist/lib/storage/dispatcher-export.js.map +1 -1
  545. package/dist/lib/storage/dispatcher.d.ts +1 -468
  546. package/dist/lib/storage/dispatcher.d.ts.map +1 -1
  547. package/dist/lib/storage/dispatcher.js +1 -1931
  548. package/dist/lib/storage/dispatcher.js.map +1 -1
  549. package/dist/lib/storage/index.d.ts +20 -5
  550. package/dist/lib/storage/index.d.ts.map +1 -1
  551. package/dist/lib/storage/index.js +36 -7
  552. package/dist/lib/storage/index.js.map +1 -1
  553. package/dist/lib/storage/migration/export-import.d.ts.map +1 -1
  554. package/dist/lib/storage/migration/export-import.js +9 -2
  555. package/dist/lib/storage/migration/export-import.js.map +1 -1
  556. package/dist/lib/storage/types.d.ts +152 -10
  557. package/dist/lib/storage/types.d.ts.map +1 -1
  558. package/dist/lib/storage/types.js +13 -0
  559. package/dist/lib/storage/types.js.map +1 -1
  560. package/dist/lib/storage/vector/interface.d.ts +4 -0
  561. package/dist/lib/storage/vector/interface.d.ts.map +1 -1
  562. package/dist/lib/storage/vector/qdrant.d.ts +13 -2
  563. package/dist/lib/storage/vector/qdrant.d.ts.map +1 -1
  564. package/dist/lib/storage/vector/qdrant.js +147 -61
  565. package/dist/lib/storage/vector/qdrant.js.map +1 -1
  566. package/dist/lib/supersession.d.ts.map +1 -1
  567. package/dist/lib/supersession.js +2 -15
  568. package/dist/lib/supersession.js.map +1 -1
  569. package/dist/lib/token-budget.d.ts.map +1 -1
  570. package/dist/lib/token-budget.js +9 -2
  571. package/dist/lib/token-budget.js.map +1 -1
  572. package/dist/lib/transcript-utils.d.ts +60 -0
  573. package/dist/lib/transcript-utils.d.ts.map +1 -0
  574. package/dist/lib/transcript-utils.js +69 -0
  575. package/dist/lib/transcript-utils.js.map +1 -0
  576. package/dist/lib/tree-sitter/extractor.d.ts +1 -1
  577. package/dist/lib/tree-sitter/extractor.d.ts.map +1 -1
  578. package/dist/lib/tree-sitter/extractor.js +34 -9
  579. package/dist/lib/tree-sitter/extractor.js.map +1 -1
  580. package/dist/lib/tree-sitter/parser.d.ts.map +1 -1
  581. package/dist/lib/tree-sitter/parser.js +45 -11
  582. package/dist/lib/tree-sitter/parser.js.map +1 -1
  583. package/dist/lib/tree-sitter/public.d.ts +12 -0
  584. package/dist/lib/tree-sitter/public.d.ts.map +1 -1
  585. package/dist/lib/tree-sitter/public.js +33 -1
  586. package/dist/lib/tree-sitter/public.js.map +1 -1
  587. package/dist/lib/tree-sitter/queries.d.ts.map +1 -1
  588. package/dist/lib/tree-sitter/queries.js +8 -0
  589. package/dist/lib/tree-sitter/queries.js.map +1 -1
  590. package/dist/lib/working-memory-pipeline.d.ts.map +1 -1
  591. package/dist/lib/working-memory-pipeline.js +12 -3
  592. package/dist/lib/working-memory-pipeline.js.map +1 -1
  593. package/dist/lib/worktree-detect.d.ts +43 -0
  594. package/dist/lib/worktree-detect.d.ts.map +1 -0
  595. package/dist/lib/worktree-detect.js +154 -0
  596. package/dist/lib/worktree-detect.js.map +1 -0
  597. package/dist/lsp/client.d.ts +96 -0
  598. package/dist/lsp/client.d.ts.map +1 -0
  599. package/dist/lsp/client.js +435 -0
  600. package/dist/lsp/client.js.map +1 -0
  601. package/dist/lsp/installer.d.ts +39 -0
  602. package/dist/lsp/installer.d.ts.map +1 -0
  603. package/dist/lsp/installer.js +275 -0
  604. package/dist/lsp/installer.js.map +1 -0
  605. package/dist/lsp/manager.d.ts +62 -0
  606. package/dist/lsp/manager.d.ts.map +1 -0
  607. package/dist/lsp/manager.js +234 -0
  608. package/dist/lsp/manager.js.map +1 -0
  609. package/dist/lsp/servers.d.ts +52 -0
  610. package/dist/lsp/servers.d.ts.map +1 -0
  611. package/dist/lsp/servers.js +162 -0
  612. package/dist/lsp/servers.js.map +1 -0
  613. package/dist/mcp/helpers.d.ts +11 -0
  614. package/dist/mcp/helpers.d.ts.map +1 -1
  615. package/dist/mcp/helpers.js +43 -2
  616. package/dist/mcp/helpers.js.map +1 -1
  617. package/dist/mcp/profile.d.ts +16 -0
  618. package/dist/mcp/profile.d.ts.map +1 -0
  619. package/dist/mcp/profile.js +64 -0
  620. package/dist/mcp/profile.js.map +1 -0
  621. package/dist/mcp/server.d.ts +17 -15
  622. package/dist/mcp/server.d.ts.map +1 -1
  623. package/dist/mcp/server.js +135 -22
  624. package/dist/mcp/server.js.map +1 -1
  625. package/dist/mcp/tools/config.d.ts +1 -5
  626. package/dist/mcp/tools/config.d.ts.map +1 -1
  627. package/dist/mcp/tools/config.js +169 -215
  628. package/dist/mcp/tools/config.js.map +1 -1
  629. package/dist/mcp/tools/dead-end.d.ts.map +1 -1
  630. package/dist/mcp/tools/dead-end.js +24 -14
  631. package/dist/mcp/tools/dead-end.js.map +1 -1
  632. package/dist/mcp/tools/debug.d.ts.map +1 -1
  633. package/dist/mcp/tools/debug.js +103 -179
  634. package/dist/mcp/tools/debug.js.map +1 -1
  635. package/dist/mcp/tools/graph.d.ts +0 -1
  636. package/dist/mcp/tools/graph.d.ts.map +1 -1
  637. package/dist/mcp/tools/graph.js +225 -233
  638. package/dist/mcp/tools/graph.js.map +1 -1
  639. package/dist/mcp/tools/indexing.d.ts +1 -7
  640. package/dist/mcp/tools/indexing.d.ts.map +1 -1
  641. package/dist/mcp/tools/indexing.js +180 -268
  642. package/dist/mcp/tools/indexing.js.map +1 -1
  643. package/dist/mcp/tools/memory/forget.d.ts +3 -0
  644. package/dist/mcp/tools/memory/forget.d.ts.map +1 -0
  645. package/dist/mcp/tools/memory/forget.js +175 -0
  646. package/dist/mcp/tools/memory/forget.js.map +1 -0
  647. package/dist/mcp/tools/memory/memory-helpers.d.ts +45 -0
  648. package/dist/mcp/tools/memory/memory-helpers.d.ts.map +1 -0
  649. package/dist/mcp/tools/memory/memory-helpers.js +291 -0
  650. package/dist/mcp/tools/memory/memory-helpers.js.map +1 -0
  651. package/dist/mcp/tools/memory/recall.d.ts +3 -0
  652. package/dist/mcp/tools/memory/recall.d.ts.map +1 -0
  653. package/dist/mcp/tools/memory/recall.js +495 -0
  654. package/dist/mcp/tools/memory/recall.js.map +1 -0
  655. package/dist/mcp/tools/memory/remember.d.ts +3 -0
  656. package/dist/mcp/tools/memory/remember.d.ts.map +1 -0
  657. package/dist/mcp/tools/memory/remember.js +256 -0
  658. package/dist/mcp/tools/memory/remember.js.map +1 -0
  659. package/dist/mcp/tools/memory/temporal-query.d.ts +8 -0
  660. package/dist/mcp/tools/memory/temporal-query.d.ts.map +1 -0
  661. package/dist/mcp/tools/memory/temporal-query.js +68 -0
  662. package/dist/mcp/tools/memory/temporal-query.js.map +1 -0
  663. package/dist/mcp/tools/memory.d.ts +0 -11
  664. package/dist/mcp/tools/memory.d.ts.map +1 -1
  665. package/dist/mcp/tools/memory.js +6 -1184
  666. package/dist/mcp/tools/memory.js.map +1 -1
  667. package/dist/mcp/tools/prd.d.ts +1 -7
  668. package/dist/mcp/tools/prd.d.ts.map +1 -1
  669. package/dist/mcp/tools/prd.js +198 -255
  670. package/dist/mcp/tools/prd.js.map +1 -1
  671. package/dist/mcp/tools/review.d.ts +8 -0
  672. package/dist/mcp/tools/review.d.ts.map +1 -0
  673. package/dist/mcp/tools/review.js +133 -0
  674. package/dist/mcp/tools/review.js.map +1 -0
  675. package/dist/mcp/tools/search.d.ts.map +1 -1
  676. package/dist/mcp/tools/search.js +168 -47
  677. package/dist/mcp/tools/search.js.map +1 -1
  678. package/dist/mcp/tools/status.d.ts +1 -5
  679. package/dist/mcp/tools/status.d.ts.map +1 -1
  680. package/dist/mcp/tools/status.js +270 -273
  681. package/dist/mcp/tools/status.js.map +1 -1
  682. package/dist/mcp/tools/web-fetch.d.ts +2 -1
  683. package/dist/mcp/tools/web-fetch.d.ts.map +1 -1
  684. package/dist/mcp/tools/web-fetch.js +72 -43
  685. package/dist/mcp/tools/web-fetch.js.map +1 -1
  686. package/dist/mcp/tools/web-search.d.ts +1 -6
  687. package/dist/mcp/tools/web-search.d.ts.map +1 -1
  688. package/dist/mcp/tools/web-search.js +199 -276
  689. package/dist/mcp/tools/web-search.js.map +1 -1
  690. package/dist/prompts/briefing.d.ts +10 -4
  691. package/dist/prompts/briefing.d.ts.map +1 -1
  692. package/dist/prompts/briefing.js +33 -35
  693. package/dist/prompts/briefing.js.map +1 -1
  694. package/dist/prompts/daemon.d.ts +5 -10
  695. package/dist/prompts/daemon.d.ts.map +1 -1
  696. package/dist/prompts/daemon.js +9 -18
  697. package/dist/prompts/daemon.js.map +1 -1
  698. package/dist/prompts/extraction.d.ts +19 -3
  699. package/dist/prompts/extraction.d.ts.map +1 -1
  700. package/dist/prompts/extraction.js +33 -46
  701. package/dist/prompts/extraction.js.map +1 -1
  702. package/dist/prompts/graph.d.ts +9 -0
  703. package/dist/prompts/graph.d.ts.map +1 -0
  704. package/dist/prompts/graph.js +27 -0
  705. package/dist/prompts/graph.js.map +1 -0
  706. package/dist/prompts/guardrails.d.ts +14 -0
  707. package/dist/prompts/guardrails.d.ts.map +1 -0
  708. package/dist/prompts/guardrails.js +115 -0
  709. package/dist/prompts/guardrails.js.map +1 -0
  710. package/dist/prompts/index.d.ts +17 -7
  711. package/dist/prompts/index.d.ts.map +1 -1
  712. package/dist/prompts/index.js +23 -7
  713. package/dist/prompts/index.js.map +1 -1
  714. package/dist/prompts/memory.d.ts +6 -3
  715. package/dist/prompts/memory.d.ts.map +1 -1
  716. package/dist/prompts/memory.js +9 -8
  717. package/dist/prompts/memory.js.map +1 -1
  718. package/dist/prompts/onboarding.d.ts +1 -1
  719. package/dist/prompts/onboarding.d.ts.map +1 -1
  720. package/dist/prompts/onboarding.js +2 -3
  721. package/dist/prompts/onboarding.js.map +1 -1
  722. package/dist/prompts/prd.d.ts +13 -6
  723. package/dist/prompts/prd.d.ts.map +1 -1
  724. package/dist/prompts/prd.js +42 -38
  725. package/dist/prompts/prd.js.map +1 -1
  726. package/dist/prompts/query-expansion.d.ts +8 -0
  727. package/dist/prompts/query-expansion.d.ts.map +1 -0
  728. package/dist/prompts/query-expansion.js +17 -0
  729. package/dist/prompts/query-expansion.js.map +1 -0
  730. package/dist/prompts/skills.d.ts +5 -10
  731. package/dist/prompts/skills.d.ts.map +1 -1
  732. package/dist/prompts/skills.js +9 -17
  733. package/dist/prompts/skills.js.map +1 -1
  734. package/dist/prompts/soul.d.ts +9 -0
  735. package/dist/prompts/soul.d.ts.map +1 -0
  736. package/dist/prompts/soul.js +47 -0
  737. package/dist/prompts/soul.js.map +1 -0
  738. package/dist/prompts/supersession.d.ts +9 -0
  739. package/dist/prompts/supersession.d.ts.map +1 -0
  740. package/dist/prompts/supersession.js +21 -0
  741. package/dist/prompts/supersession.js.map +1 -0
  742. package/dist/prompts/synthesis.d.ts +9 -0
  743. package/dist/prompts/synthesis.d.ts.map +1 -0
  744. package/dist/prompts/synthesis.js +22 -0
  745. package/dist/prompts/synthesis.js.map +1 -0
  746. package/hooks/core/__tests__/adapter.test.cjs +340 -0
  747. package/hooks/core/adapter.cjs +463 -0
  748. package/hooks/core/config.cjs +83 -0
  749. package/hooks/core/daemon-boot.cjs +140 -0
  750. package/hooks/core/log.cjs +41 -0
  751. package/hooks/core/worktree.cjs +119 -0
  752. package/hooks/succ-post-tool.cjs +198 -134
  753. package/hooks/succ-pre-compact.cjs +262 -0
  754. package/hooks/succ-pre-tool.cjs +526 -182
  755. package/hooks/succ-session-end.cjs +40 -64
  756. package/hooks/succ-session-start.cjs +504 -450
  757. package/hooks/succ-stop-reflection.cjs +36 -62
  758. package/hooks/succ-user-prompt.cjs +137 -180
  759. package/package.json +18 -7
@@ -3,15 +3,25 @@
3
3
  *
4
4
  * All prompts used in succ are exported from this module.
5
5
  * This makes it easy to find, review, and modify prompts.
6
+ *
7
+ * Naming convention:
8
+ * *_SYSTEM — stable instructions (cached by LLM providers)
9
+ * *_PROMPT — user template with {placeholders} for dynamic content
6
10
  */
7
11
  export { ONBOARDING_SYSTEM_PROMPT, WIZARD_INTRO, WIZARD_DISCOVERY_PROJECT, WIZARD_DISCOVERY_FRUSTRATION, WIZARD_SOLUTION_MAP, WIZARD_CONCEPTS_OVERVIEW, WIZARD_HANDS_ON_PROMPT, WIZARD_CHEATSHEET, WIZARD_DONE, } from './onboarding.js';
8
12
  export { CHAT_SYSTEM_PROMPT } from './chat.js';
9
- export { BRIEFING_STRUCTURED_PROMPT, BRIEFING_PROSE_PROMPT, BRIEFING_MINIMAL_PROMPT, SESSION_BRIEFING_PROMPT, } from './briefing.js';
10
- export { FACT_EXTRACTION_PROMPT, SESSION_PROGRESS_EXTRACTION_PROMPT } from './extraction.js';
11
- export { MEMORY_MERGE_PROMPT } from './memory.js';
12
- export { KEYWORD_EXTRACTION_PROMPT, SKILL_RANKING_PROMPT } from './skills.js';
13
- export { REFLECTION_PROMPT, DISCOVERY_PROMPT } from './daemon.js';
14
- export { PROJECT_ANALYSIS_WRAPPER, DOCUMENTATION_WRITER_SYSTEM } from './analyze.js';
13
+ export { BRIEFING_STRUCTURED_SYSTEM, BRIEFING_STRUCTURED_PROMPT, BRIEFING_PROSE_SYSTEM, BRIEFING_PROSE_PROMPT, BRIEFING_MINIMAL_SYSTEM, BRIEFING_MINIMAL_PROMPT, SESSION_BRIEFING_SYSTEM, SESSION_BRIEFING_PROMPT, } from './briefing.js';
14
+ export { FACT_EXTRACTION_SYSTEM, FACT_EXTRACTION_PROMPT, SESSION_PROGRESS_EXTRACTION_PROMPT, } from './extraction.js';
15
+ export { MEMORY_MERGE_SYSTEM, MEMORY_MERGE_PROMPT, TEMPORAL_SUBQUERY_SYSTEM } from './memory.js';
16
+ export { KEYWORD_EXTRACTION_SYSTEM, KEYWORD_EXTRACTION_PROMPT, SKILL_RANKING_SYSTEM, SKILL_RANKING_PROMPT, } from './skills.js';
17
+ export { REFLECTION_SYSTEM, REFLECTION_PROMPT, DISCOVERY_SYSTEM, DISCOVERY_PROMPT, } from './daemon.js';
18
+ export { PROJECT_ANALYSIS_WRAPPER, DOCUMENTATION_WRITER_SYSTEM, DOCUMENTATION_WRITER_SYSTEM_SHORT, } from './analyze.js';
15
19
  export { QUALITY_SCORER_SYSTEM } from './quality.js';
16
- export { PRD_GENERATE_PROMPT, PRD_PARSE_PROMPT, TASK_EXECUTION_PROMPT } from './prd.js';
20
+ export { EXPANSION_SYSTEM, EXPANSION_PROMPT } from './query-expansion.js';
21
+ export { CLASSIFY_SYSTEM, CLASSIFY_PROMPT_SINGLE, CLASSIFY_PROMPT_BATCH } from './graph.js';
22
+ export { SUPERSESSION_SYSTEM, SUPERSESSION_PROMPT } from './supersession.js';
23
+ export { SYNTHESIS_SYSTEM, SYNTHESIS_PROMPT } from './synthesis.js';
24
+ export { PRD_GENERATE_SYSTEM, PRD_GENERATE_PROMPT, PRD_PARSE_SYSTEM, PRD_PARSE_PROMPT, TASK_EXECUTION_SYSTEM, TASK_EXECUTION_USER_PROMPT, } from './prd.js';
25
+ export { SOUL_GENERATION_SYSTEM } from './soul.js';
26
+ export { SENSITIVITY_SYSTEM, CODE_POLICY_SYSTEM, INJECTION_DETECTION_SYSTEM, SENSITIVITY_LG_CATEGORIES, CODE_POLICY_LG_CATEGORIES, INJECTION_LG_CATEGORIES, } from './guardrails.js';
17
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAG7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGjG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG5F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -3,25 +3,41 @@
3
3
  *
4
4
  * All prompts used in succ are exported from this module.
5
5
  * This makes it easy to find, review, and modify prompts.
6
+ *
7
+ * Naming convention:
8
+ * *_SYSTEM — stable instructions (cached by LLM providers)
9
+ * *_PROMPT — user template with {placeholders} for dynamic content
6
10
  */
7
11
  // Onboarding prompts
8
12
  export { ONBOARDING_SYSTEM_PROMPT, WIZARD_INTRO, WIZARD_DISCOVERY_PROJECT, WIZARD_DISCOVERY_FRUSTRATION, WIZARD_SOLUTION_MAP, WIZARD_CONCEPTS_OVERVIEW, WIZARD_HANDS_ON_PROMPT, WIZARD_CHEATSHEET, WIZARD_DONE, } from './onboarding.js';
9
13
  // Chat prompts
10
14
  export { CHAT_SYSTEM_PROMPT } from './chat.js';
11
15
  // Briefing prompts (compact-briefing, precompute-context)
12
- export { BRIEFING_STRUCTURED_PROMPT, BRIEFING_PROSE_PROMPT, BRIEFING_MINIMAL_PROMPT, SESSION_BRIEFING_PROMPT, } from './briefing.js';
16
+ export { BRIEFING_STRUCTURED_SYSTEM, BRIEFING_STRUCTURED_PROMPT, BRIEFING_PROSE_SYSTEM, BRIEFING_PROSE_PROMPT, BRIEFING_MINIMAL_SYSTEM, BRIEFING_MINIMAL_PROMPT, SESSION_BRIEFING_SYSTEM, SESSION_BRIEFING_PROMPT, } from './briefing.js';
13
17
  // Extraction prompts (session-summary, session-processor)
14
- export { FACT_EXTRACTION_PROMPT, SESSION_PROGRESS_EXTRACTION_PROMPT } from './extraction.js';
18
+ export { FACT_EXTRACTION_SYSTEM, FACT_EXTRACTION_PROMPT, SESSION_PROGRESS_EXTRACTION_PROMPT, } from './extraction.js';
15
19
  // Memory prompts (consolidate)
16
- export { MEMORY_MERGE_PROMPT } from './memory.js';
20
+ export { MEMORY_MERGE_SYSTEM, MEMORY_MERGE_PROMPT, TEMPORAL_SUBQUERY_SYSTEM } from './memory.js';
17
21
  // Skills prompts
18
- export { KEYWORD_EXTRACTION_PROMPT, SKILL_RANKING_PROMPT } from './skills.js';
22
+ export { KEYWORD_EXTRACTION_SYSTEM, KEYWORD_EXTRACTION_PROMPT, SKILL_RANKING_SYSTEM, SKILL_RANKING_PROMPT, } from './skills.js';
19
23
  // Daemon prompts (service, analyzer)
20
- export { REFLECTION_PROMPT, DISCOVERY_PROMPT } from './daemon.js';
24
+ export { REFLECTION_SYSTEM, REFLECTION_PROMPT, DISCOVERY_SYSTEM, DISCOVERY_PROMPT, } from './daemon.js';
21
25
  // Analysis prompts (analyze command)
22
- export { PROJECT_ANALYSIS_WRAPPER, DOCUMENTATION_WRITER_SYSTEM } from './analyze.js';
26
+ export { PROJECT_ANALYSIS_WRAPPER, DOCUMENTATION_WRITER_SYSTEM, DOCUMENTATION_WRITER_SYSTEM_SHORT, } from './analyze.js';
23
27
  // Quality scoring
24
28
  export { QUALITY_SCORER_SYSTEM } from './quality.js';
29
+ // Query expansion prompts
30
+ export { EXPANSION_SYSTEM, EXPANSION_PROMPT } from './query-expansion.js';
31
+ // Graph relation classification prompts
32
+ export { CLASSIFY_SYSTEM, CLASSIFY_PROMPT_SINGLE, CLASSIFY_PROMPT_BATCH } from './graph.js';
33
+ // Supersession prompts
34
+ export { SUPERSESSION_SYSTEM, SUPERSESSION_PROMPT } from './supersession.js';
35
+ // Reflection synthesis prompts
36
+ export { SYNTHESIS_SYSTEM, SYNTHESIS_PROMPT } from './synthesis.js';
25
37
  // PRD pipeline prompts
26
- export { PRD_GENERATE_PROMPT, PRD_PARSE_PROMPT, TASK_EXECUTION_PROMPT } from './prd.js';
38
+ export { PRD_GENERATE_SYSTEM, PRD_GENERATE_PROMPT, PRD_PARSE_SYSTEM, PRD_PARSE_PROMPT, TASK_EXECUTION_SYSTEM, TASK_EXECUTION_USER_PROMPT, } from './prd.js';
39
+ // Soul generation prompts
40
+ export { SOUL_GENERATION_SYSTEM } from './soul.js';
41
+ // Guardrails prompts (security classification, code policy, injection detection)
42
+ export { SENSITIVITY_SYSTEM, CODE_POLICY_SYSTEM, INJECTION_DETECTION_SYSTEM, SENSITIVITY_LG_CATEGORIES, CODE_POLICY_LG_CATEGORIES, INJECTION_LG_CATEGORIES, } from './guardrails.js';
27
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAqB;AACrB,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,eAAe;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,0DAA0D;AAC1D,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAE7F,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,iBAAiB;AACjB,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9E,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAElE,qCAAqC;AACrC,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAErF,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAqB;AACrB,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAEzB,eAAe;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,0DAA0D;AAC1D,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,0DAA0D;AAC1D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,iBAAiB,CAAC;AAEzB,+BAA+B;AAC/B,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEjG,iBAAiB;AACjB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,qCAAqC;AACrC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,qCAAqC;AACrC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,iCAAiC,GAClC,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,0BAA0B;AAC1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,wCAAwC;AACxC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE5F,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,uBAAuB;AACvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAElB,0BAA0B;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -2,10 +2,13 @@
2
2
  * Memory Management Prompts
3
3
  *
4
4
  * Used for memory consolidation and merging.
5
+ * Split into system + user for prompt caching optimization.
5
6
  */
7
+ export declare const MEMORY_MERGE_SYSTEM = "You are merging two similar memory entries into one unified memory.\n\nRules:\n1. Preserve ALL unique information from both memories\n2. Remove redundancy and repetition\n3. Keep it concise (1-2 sentences maximum)\n4. Maintain factual accuracy - do not add information not present in the originals\n5. Use clear, professional language\n\nOutput ONLY the merged memory text, nothing else.";
8
+ export declare const MEMORY_MERGE_PROMPT = "Memory 1: \"{memory1}\"\nMemory 2: \"{memory2}\"";
6
9
  /**
7
- * Prompt for merging two similar memories into one.
8
- * Used by consolidate.ts during memory deduplication.
10
+ * Temporal subquery extraction for non-Latin/Cyrillic queries.
11
+ * Used by succ_recall to decompose time-range queries in CJK/Arabic/etc.
9
12
  */
10
- export declare const MEMORY_MERGE_PROMPT = "You are merging two similar memory entries into one unified memory.\n\nMemory 1: \"{memory1}\"\nMemory 2: \"{memory2}\"\n\nRules:\n1. Preserve ALL unique information from both memories\n2. Remove redundancy and repetition\n3. Keep it concise (1-2 sentences maximum)\n4. Maintain factual accuracy - do not add information not present in the originals\n5. Use clear, professional language\n\nOutput ONLY the merged memory text, nothing else.";
13
+ export declare const TEMPORAL_SUBQUERY_SYSTEM = "Extract temporal sub-queries from the user's search query. If the query asks about a time range (e.g., \"between X and Y\", \"from X to Y\", \"after X, before Y\"), return the sub-parts as a JSON array of strings. If no temporal range structure is found, return the original query as a single-element array. Return ONLY a valid JSON array of strings, nothing else.";
11
14
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/prompts/memory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,4bAYkB,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/prompts/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,mBAAmB,wYASkB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,qDACV,CAAC;AAEvB;;;GAGG;AACH,eAAO,MAAM,wBAAwB,iXAA2W,CAAC"}
@@ -2,15 +2,9 @@
2
2
  * Memory Management Prompts
3
3
  *
4
4
  * Used for memory consolidation and merging.
5
+ * Split into system + user for prompt caching optimization.
5
6
  */
6
- /**
7
- * Prompt for merging two similar memories into one.
8
- * Used by consolidate.ts during memory deduplication.
9
- */
10
- export const MEMORY_MERGE_PROMPT = `You are merging two similar memory entries into one unified memory.
11
-
12
- Memory 1: "{memory1}"
13
- Memory 2: "{memory2}"
7
+ export const MEMORY_MERGE_SYSTEM = `You are merging two similar memory entries into one unified memory.
14
8
 
15
9
  Rules:
16
10
  1. Preserve ALL unique information from both memories
@@ -20,4 +14,11 @@ Rules:
20
14
  5. Use clear, professional language
21
15
 
22
16
  Output ONLY the merged memory text, nothing else.`;
17
+ export const MEMORY_MERGE_PROMPT = `Memory 1: "{memory1}"
18
+ Memory 2: "{memory2}"`;
19
+ /**
20
+ * Temporal subquery extraction for non-Latin/Cyrillic queries.
21
+ * Used by succ_recall to decompose time-range queries in CJK/Arabic/etc.
22
+ */
23
+ export const TEMPORAL_SUBQUERY_SYSTEM = `Extract temporal sub-queries from the user's search query. If the query asks about a time range (e.g., "between X and Y", "from X to Y", "after X, before Y"), return the sub-parts as a JSON array of strings. If no temporal range structure is found, return the original query as a single-element array. Return ONLY a valid JSON array of strings, nothing else.`;
23
24
  //# sourceMappingURL=memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/prompts/memory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;kDAYe,CAAC"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/prompts/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;kDASe,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG;sBACb,CAAC;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,wWAAwW,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * System prompt for the AI-powered interactive onboarding experience.
5
5
  * Teaches new users about succ concepts before technical setup.
6
6
  */
7
- export declare const ONBOARDING_SYSTEM_PROMPT = "You are a friendly onboarding guide for succ \u2014 a persistent memory and knowledge base system for AI coding assistants.\n\n## IMPORTANT: CLI Mode\n\nYou are running via CLI (succ init --ai). You do NOT have access to MCP tools.\nDo NOT claim you can use succ_search, succ_recall, or call any tools.\nYou are here to EXPLAIN succ concepts, not to demonstrate tools.\n\n## Your Role\nHelp new users understand what succ does and why it matters. Be concise, practical, and enthusiastic without being overwhelming.\n\n## Core Concepts to Teach\nExplain these concepts naturally throughout the conversation (start with the first 4, mention others if relevant):\n\n1. **Brain Vault** (.succ/brain/)\n - Markdown docs that get semantically indexed\n - Store project specs, architecture decisions, patterns\n - AI searches these automatically via succ_search\n\n2. **Memories**\n - Decisions, learnings, patterns that persist across sessions\n - Types: observation, decision, learning, error, pattern\n - Stored in database, retrieved via semantic search (succ_recall)\n - Connected via knowledge graph (links between related memories)\n\n3. **Code Index**\n - Semantic search across source code (succ_search_code)\n - AST-aware: finds functions, classes, interfaces by name or meaning\n - Supports 13+ languages via tree-sitter\n\n4. **Background Services**\n - Daemon with watch (auto-index) + analyze (discover patterns)\n - Idle reflection: enriches knowledge graph, generates insights\n - Runs silently, keeps knowledge fresh\n\n5. **Web Tools** (mention if relevant)\n - succ_fetch: fetches any URL as clean markdown (strips ads, nav)\n - succ_extract: extracts structured data from web pages via LLM\n - Web search via Perplexity for up-to-date information\n\n6. **PRD Pipeline** (mention if relevant)\n - Generate product requirements from descriptions\n - Auto-parse into tasks, execute with quality gates\n - Branch isolation, auto-commit per task\n\n## Conversation Flow\n\n1. **Discovery Phase**\n - Ask what they're building (project type)\n - Ask what frustrates them with AI assistants\n\n2. **Solution Mapping**\n - Connect their frustrations to succ features\n - \"Forgets context?\" \u2192 Memories persist across sessions\n - \"Doesn't know my codebase?\" \u2192 Code Index + Brain Vault\n - \"Have to repeat decisions?\" \u2192 Memories capture them\n\n3. **Cheatsheet**\n - Give 3 key things to remember:\n 1. Put important docs in .succ/brain/\n 2. In Claude Code, AI uses succ tools automatically\n 3. Run `succ status` to check what's indexed\n\n4. **Wrap Up**\n - Ask if they have questions\n - Let them know they can type \"done\" to proceed to setup\n\n## Style Guidelines\n- One question at a time\n- Use concrete examples from their project type\n- Match their language (technical vs casual)\n- Keep responses under 100 words typically\n- Use bullet points for lists\n\n## Boundaries\n- Do NOT pretend you can call tools or search anything\n- Don't overwhelm with all features at once\n- Don't configure technical settings (that's the setup wizard)\n- If they want to skip, respect that immediately\n\n## Starting the Conversation\nBegin by introducing yourself briefly and asking what kind of project they're working on.";
7
+ export declare const ONBOARDING_SYSTEM_PROMPT = "You are a friendly onboarding guide for succ \u2014 a persistent memory and knowledge base system for AI coding assistants.\n\n## IMPORTANT: CLI Mode\n\nYou are running via CLI (succ init --ai). You do NOT have access to MCP tools.\nDo NOT claim you can use succ_search, succ_recall, or call any tools.\nYou are here to EXPLAIN succ concepts, not to demonstrate tools.\n\n## Your Role\nHelp new users understand what succ does and why it matters. Be concise, practical, and enthusiastic without being overwhelming.\n\n## Core Concepts to Teach\nExplain these concepts naturally throughout the conversation (start with the first 4, mention others if relevant):\n\n1. **Brain Vault** (.succ/brain/)\n - Markdown docs that get semantically indexed\n - Store project specs, architecture decisions, patterns\n - AI searches these automatically via succ_search\n\n2. **Memories**\n - Decisions, learnings, patterns that persist across sessions\n - Types: observation, decision, learning, error, pattern\n - Stored in database, retrieved via semantic search (succ_recall)\n - Connected via knowledge graph (links between related memories)\n\n3. **Code Index**\n - Semantic search across source code (succ_search_code)\n - AST-aware: finds functions, classes, interfaces by name or meaning\n - Supports 13+ languages via tree-sitter\n\n4. **Background Services**\n - Daemon with watch (auto-index) + analyze (discover patterns)\n - Idle reflection: enriches knowledge graph, generates insights\n - Runs silently, keeps knowledge fresh\n\n5. **Web Tools** (mention if relevant)\n - succ_fetch: fetches any URL as clean markdown (strips ads, nav); pass schema= to extract structured data\n - Web search via Perplexity for up-to-date information (succ_web)\n\n6. **PRD Pipeline** (mention if relevant)\n - Generate product requirements from descriptions\n - Auto-parse into tasks, execute with quality gates\n - Branch isolation, auto-commit per task\n\n## Conversation Flow\n\n1. **Discovery Phase**\n - Ask what they're building (project type)\n - Ask what frustrates them with AI assistants\n\n2. **Solution Mapping**\n - Connect their frustrations to succ features\n - \"Forgets context?\" \u2192 Memories persist across sessions\n - \"Doesn't know my codebase?\" \u2192 Code Index + Brain Vault\n - \"Have to repeat decisions?\" \u2192 Memories capture them\n\n3. **Cheatsheet**\n - Give 3 key things to remember:\n 1. Put important docs in .succ/brain/\n 2. In Claude Code, AI uses succ tools automatically\n 3. Run `succ status` to check what's indexed\n\n4. **Wrap Up**\n - Ask if they have questions\n - Let them know they can type \"done\" to proceed to setup\n\n## Style Guidelines\n- One question at a time\n- Use concrete examples from their project type\n- Match their language (technical vs casual)\n- Keep responses under 100 words typically\n- Use bullet points for lists\n\n## Boundaries\n- Do NOT pretend you can call tools or search anything\n- Don't overwhelm with all features at once\n- Don't configure technical settings (that's the setup wizard)\n- If they want to skip, respect that immediately\n\n## Starting the Conversation\nBegin by introducing yourself briefly and asking what kind of project they're working on.";
8
8
  export declare const WIZARD_INTRO = "\nWelcome to succ!\n\nsucc gives your AI assistant persistent memory and project knowledge.\nLet me quickly show you what it can do.\n";
9
9
  export declare const WIZARD_DISCOVERY_PROJECT = "\nWhat are you building?\n\n1. Web application\n2. CLI tool / library\n3. Mobile app\n4. Something else\n";
10
10
  export declare const WIZARD_DISCOVERY_FRUSTRATION = "\nWhat frustrates you most about AI coding assistants?\n\n1. Forgets context between sessions\n2. Doesn't know my codebase patterns\n3. I have to repeat decisions\n4. Takes time to explain project structure\n";
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/prompts/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB,uvGAiFqD,CAAC;AAE3F,eAAO,MAAM,YAAY,2IAKxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,8GAOpC,CAAC;AAEF,eAAO,MAAM,4BAA4B,qNAOxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,woBAqBpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,2TAUlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,6gBAmB7B,CAAC;AAEF,eAAO,MAAM,WAAW,qEAIvB,CAAC"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/prompts/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,wBAAwB,uuGAgFqD,CAAC;AAE3F,eAAO,MAAM,YAAY,2IAKxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,8GAOpC,CAAC;AAEF,eAAO,MAAM,4BAA4B,qNAOxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,woBAqBpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,2TAUlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,6gBAmB7B,CAAC;AAEF,eAAO,MAAM,WAAW,qEAIvB,CAAC"}
@@ -40,9 +40,8 @@ Explain these concepts naturally throughout the conversation (start with the fir
40
40
  - Runs silently, keeps knowledge fresh
41
41
 
42
42
  5. **Web Tools** (mention if relevant)
43
- - succ_fetch: fetches any URL as clean markdown (strips ads, nav)
44
- - succ_extract: extracts structured data from web pages via LLM
45
- - Web search via Perplexity for up-to-date information
43
+ - succ_fetch: fetches any URL as clean markdown (strips ads, nav); pass schema= to extract structured data
44
+ - Web search via Perplexity for up-to-date information (succ_web)
46
45
 
47
46
  6. **PRD Pipeline** (mention if relevant)
48
47
  - Generate product requirements from descriptions
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/prompts/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAiFkD,CAAC;AAE3F,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;CAK3B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;CAOvC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;CAO3C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,OAAO,EAAE;;2CAEgC;IAEzC,QAAQ,EAAE;;oDAEwC;IAElD,MAAM,EAAE;;kEAEwD;IAEhE,SAAS,EAAE;;8CAEiC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;CAUrC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;CAI1B,CAAC"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/prompts/onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0FAgFkD,CAAC;AAE3F,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;CAK3B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;CAOvC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;CAO3C,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,OAAO,EAAE;;2CAEgC;IAEzC,QAAQ,EAAE;;oDAEwC;IAElD,MAAM,EAAE;;kEAEwD;IAEhE,SAAS,EAAE;;8CAEiC;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBvC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;CAUrC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;;CAI1B,CAAC"}
@@ -2,11 +2,18 @@
2
2
  * PRD Pipeline Prompt Templates
3
3
  *
4
4
  * Three core prompts:
5
- * 1. PRD_GENERATE_PROMPT — description PRD markdown
6
- * 2. PRD_PARSE_PROMPT — PRD markdown Task[] JSON
7
- * 3. TASK_EXECUTION_PROMPT — task context agent instructions (used in Phase 2)
5
+ * 1. PRD_GENERATE — description -> PRD markdown
6
+ * 2. PRD_PARSE — PRD markdown -> Task[] JSON
7
+ * 3. TASK_EXECUTION — task context -> agent instructions
8
+ *
9
+ * Split into system + user for prompt caching optimization.
8
10
  */
9
- export declare const PRD_GENERATE_PROMPT = "You are a senior software architect creating a Product Requirements Document (PRD) for an AI coding agent.\n\n## Your Task\n\nGiven a feature description and the project's technical context, generate a structured PRD in Markdown format.\n\n## Output Format\n\nGenerate a Markdown document with EXACTLY these sections:\n\n```markdown\n# PRD: {Feature Title}\n\n## Summary\n{1-3 sentences describing what this feature does and why}\n\n## Goals\n- {Goal 1}\n- {Goal 2}\n- ...\n\n## Out of Scope\n- {What this PRD explicitly does NOT cover}\n- ...\n\n## Technical Context\n\n{Table of existing files/modules relevant to this feature, based on the codebase context provided below}\n\n| File | Purpose | Relevance |\n|------|---------|-----------|\n| path/to/file.ts | What it does | Why it matters for this PRD |\n\n## Design Decisions\n- {Key architectural decisions and rationale}\n- ...\n\n## Stories\n\n### Story 1: {Title}\n{Description of what needs to be done}\n\n**Acceptance Criteria:**\n- [ ] {Criterion 1}\n- [ ] {Criterion 2}\n\n**Files likely affected:** `path/to/file.ts`, `path/to/other.ts`\n\n### Story 2: {Title}\n...\n\n## Quality Gates\n- {What must pass for this feature to be considered done}\n- TypeCheck: `npx tsc --noEmit`\n- Tests: `npm test` (if applicable)\n```\n\n## Rules\n\n1. Use REAL file paths from the Technical Context below \u2014 do not invent paths\n2. Keep stories small enough for a single AI coding session (~10 min, ~5 files max)\n3. Order stories by dependency (later stories can depend on earlier ones)\n4. Each story should be independently testable\n5. Include 3-15 stories (if more needed, the scope is too large)\n6. Be specific about acceptance criteria \u2014 vague criteria lead to premature completion\n7. Quality Gates must include at least one automated check\n\n## Technical Context (from codebase analysis)\n\n{codebase_context}\n\n## Feature Description\n\n{description}";
10
- export declare const PRD_PARSE_PROMPT = "You are a task decomposition engine. Parse the given PRD into a JSON array of executable tasks.\n\n## Output Format\n\nReturn ONLY a valid JSON array (no markdown, no explanation). Each element must match this schema:\n\n```json\n[\n {\n \"sequence\": 1,\n \"title\": \"Short task title\",\n \"description\": \"Detailed description of what to implement\",\n \"priority\": \"high\",\n \"depends_on\": [],\n \"acceptance_criteria\": [\"Criterion 1\", \"Criterion 2\"],\n \"files_to_modify\": [\"src/path/to/file.ts\"],\n \"relevant_files\": [\"src/path/to/read-only-context.ts\"],\n \"context_queries\": [\"search query for succ memory\"]\n }\n]\n```\n\n## Field Rules\n\n- **sequence**: Integer starting from 1, determines default execution order\n- **title**: Short (under 80 chars), imperative form (\"Add X\", \"Implement Y\")\n- **description**: 2-5 sentences. Include enough detail for an AI coding agent to implement without ambiguity\n- **priority**: \"critical\" (blocks others), \"high\" (core feature), \"medium\" (enhancement), \"low\" (nice-to-have)\n- **depends_on**: Array of task IDs (format: \"task_001\"). Use when a task requires another task to complete first\n- **acceptance_criteria**: Concrete, verifiable conditions. Avoid vague criteria like \"works correctly\"\n- **files_to_modify**: REAL paths from the project structure. Files this task WILL create or modify\n- **relevant_files**: Files to READ for context but NOT modify\n- **context_queries**: Keywords for searching project memory (decisions, patterns, gotchas)\n\n## Task Sizing Rules (CRITICAL)\n\nEach task must be completable in a SINGLE Claude Code session (~10 minutes, ~80K token context):\n- Maximum 5 files to modify per task\n- If a story from the PRD requires more than 5 file changes, split it into sub-tasks\n- One task = one area of the codebase\n- Prefer more smaller tasks over fewer large ones\n\n## Conflict Prevention Rules\n\n- If two tasks modify the SAME file, they MUST be linked via depends_on\n- Examine files_to_modify for overlap between tasks and add dependencies accordingly\n- \"Index\" files (like cli.ts, index.ts) that multiple tasks touch should be modified in the LAST task that needs them\n\n## Validation\n\nYour output will be validated:\n- Tasks with empty files_to_modify will generate a warning\n- Tasks count < 3 or > 25 will generate a warning\n- Circular dependencies will be rejected\n\n## Technical Context (from codebase analysis)\n\n{codebase_context}\n\n## PRD Content\n\n{prd_content}";
11
- export declare const TASK_EXECUTION_PROMPT = "You are an AI coding agent executing a specific task from a PRD pipeline.\n\n## Your Task\n\n{task_title}\n\n{task_description}\n\n## Acceptance Criteria\n\n{acceptance_criteria}\n\n## Files to Modify\n\n{files_to_modify}\n\n## Context Files (read-only reference)\n\n{relevant_files}\n\n## Project Memories & Past Decisions\n\n{recalled_memories}\n\n## Dead-End Warnings (DO NOT retry these approaches)\n\n{dead_end_warnings}\n\n## Progress So Far\n\n{progress_so_far}\n\n## Rules\n\n1. Focus ONLY on this task \u2014 do not modify files outside of \"Files to Modify\"\n2. Follow existing code conventions (imports, naming, patterns)\n3. If a task is impossible or blocked, explain WHY clearly instead of producing broken code\n4. Run quality gates after your changes:\n{quality_gates}\n5. Do not add comments explaining what you changed \u2014 the code should be self-explanatory\n6. Do not add extra features beyond what acceptance criteria require\n\n## Memory Tools\n\nYou have access to succ MCP tools. Use them:\n\n- **succ_recall** query=\"relevant topic\" \u2014 Search past decisions, patterns, gotchas before starting work\n- **succ_remember** content=\"what you learned\" type=\"learning\" \u2014 Record important decisions or patterns you discover\n- **succ_dead_end** approach=\"what you tried\" why_failed=\"why it failed\" \u2014 Record failed approaches so future tasks don't repeat them\n- **succ_search** query=\"topic\" \u2014 Search project documentation\n- **succ_search_code** query=\"function name\" \u2014 Search source code\n\nAlways pass project_path to these tools.\n\n## Important\n\nIf you cannot complete this task, output a clear explanation starting with \"BLOCKED:\" followed by the reason. This allows the pipeline to record a dead-end and retry with different context.";
11
+ export declare const PRD_GENERATE_SYSTEM = "You are a senior software architect creating a Product Requirements Document (PRD) for an AI coding agent.\n\n## Your Task\n\nGiven a feature description and the project's technical context, generate a structured PRD in Markdown format.\n\n## Output Format\n\nGenerate a Markdown document with EXACTLY these sections:\n\n```markdown\n# PRD: {Feature Title}\n\n## Summary\n{1-3 sentences describing what this feature does and why}\n\n## Goals\n- {Goal 1}\n- {Goal 2}\n- ...\n\n## Out of Scope\n- {What this PRD explicitly does NOT cover}\n- ...\n\n## Technical Context\n\n{Table of existing files/modules relevant to this feature, based on the codebase context provided below}\n\n| File | Purpose | Relevance |\n|------|---------|-----------|\n| path/to/file.ts | What it does | Why it matters for this PRD |\n\n## Design Decisions\n- {Key architectural decisions and rationale}\n- ...\n\n## Stories\n\n### Story 1: {Title}\n{Description of what needs to be done}\n\n**Acceptance Criteria:**\n- [ ] {Criterion 1}\n- [ ] {Criterion 2}\n\n**Files likely affected:** `path/to/file.ts`, `path/to/other.ts`\n\n### Story 2: {Title}\n...\n\n## Quality Gates\n- {What must pass for this feature to be considered done}\n- TypeCheck: `npx tsc --noEmit`\n- Tests: `npm test` (if applicable)\n```\n\n## Rules\n\n1. Use REAL file paths from the Technical Context below \u2014 do not invent paths\n2. Keep stories small enough for a single AI coding session (~10 min, ~5 files max)\n3. Order stories by dependency (later stories can depend on earlier ones)\n4. Each story should be independently testable\n5. Include 3-15 stories (if more needed, the scope is too large)\n6. Be specific about acceptance criteria \u2014 vague criteria lead to premature completion\n7. Quality Gates must include at least one automated check";
12
+ export declare const PRD_GENERATE_PROMPT = "## Technical Context (from codebase analysis)\n\n{codebase_context}\n\n## Feature Description\n\n{description}";
13
+ export declare const PRD_PARSE_SYSTEM = "You are a task decomposition engine. Parse the given PRD into a JSON array of executable tasks.\n\n## Output Format\n\nReturn ONLY a valid JSON array (no markdown, no explanation). Each element must match this schema:\n\n```json\n[\n {\n \"sequence\": 1,\n \"title\": \"Short task title\",\n \"description\": \"Detailed description of what to implement\",\n \"priority\": \"high\",\n \"depends_on\": [],\n \"acceptance_criteria\": [\"Criterion 1\", \"Criterion 2\"],\n \"files_to_modify\": [\"src/path/to/file.ts\"],\n \"relevant_files\": [\"src/path/to/read-only-context.ts\"],\n \"context_queries\": [\"search query for succ memory\"]\n }\n]\n```\n\n## Field Rules\n\n- **sequence**: Integer starting from 1, determines default execution order\n- **title**: Short (under 80 chars), imperative form (\"Add X\", \"Implement Y\")\n- **description**: 2-5 sentences. Include enough detail for an AI coding agent to implement without ambiguity\n- **priority**: \"critical\" (blocks others), \"high\" (core feature), \"medium\" (enhancement), \"low\" (nice-to-have)\n- **depends_on**: Array of task IDs (format: \"task_001\"). Use when a task requires another task to complete first\n- **acceptance_criteria**: Concrete, verifiable conditions. Avoid vague criteria like \"works correctly\"\n- **files_to_modify**: REAL paths from the project structure. Files this task WILL create or modify\n- **relevant_files**: Files to READ for context but NOT modify\n- **context_queries**: Keywords for searching project memory (decisions, patterns, gotchas)\n\n## Task Sizing Rules (CRITICAL)\n\nEach task must be completable in a SINGLE Claude Code session (~10 minutes, ~80K token context):\n- Maximum 5 files to modify per task\n- If a story from the PRD requires more than 5 file changes, split it into sub-tasks\n- One task = one area of the codebase\n- Prefer more smaller tasks over fewer large ones\n\n## Conflict Prevention Rules\n\n- If two tasks modify the SAME file, they MUST be linked via depends_on\n- Examine files_to_modify for overlap between tasks and add dependencies accordingly\n- \"Index\" files (like cli.ts, index.ts) that multiple tasks touch should be modified in the LAST task that needs them\n\n## Validation\n\nYour output will be validated:\n- Tasks with empty files_to_modify will generate a warning\n- Tasks count < 3 or > 25 will generate a warning\n- Circular dependencies will be rejected";
14
+ export declare const PRD_PARSE_PROMPT = "## Technical Context (from codebase analysis)\n\n{codebase_context}\n\n## PRD Content\n\n{prd_content}";
15
+ /** Stable instructions for PRD task execution agents. Cacheable across all tasks. */
16
+ export declare const TASK_EXECUTION_SYSTEM = "You are an AI coding agent executing a specific task from a PRD pipeline.\n\n## Rules\n\n1. Focus ONLY on this task \u2014 do not modify files outside of \"Files to Modify\"\n2. Follow existing code conventions (imports, naming, patterns)\n3. If a task is impossible or blocked, explain WHY clearly instead of producing broken code\n4. Run quality gates after your changes (listed in the task context below)\n5. Do not add comments explaining what you changed \u2014 the code should be self-explanatory\n6. Do not add extra features beyond what acceptance criteria require\n\n## Memory Tools\n\nYou have access to succ MCP tools. Use them:\n\n- **succ_recall** query=\"relevant topic\" \u2014 Search past decisions, patterns, gotchas before starting work\n- **succ_remember** content=\"what you learned\" type=\"learning\" \u2014 Record important decisions or patterns you discover\n- **succ_dead_end** approach=\"what you tried\" why_failed=\"why it failed\" \u2014 Record failed approaches so future tasks don't repeat them\n- **succ_search** query=\"topic\" \u2014 Search project documentation\n- **succ_search_code** query=\"function name\" \u2014 Search source code\n\nAlways pass project_path to these tools.\n\n## Important\n\nIf you cannot complete this task, output a clear explanation starting with \"BLOCKED:\" followed by the reason. This allows the pipeline to record a dead-end and retry with different context.";
17
+ /** Per-task template with {placeholders} for dynamic content. */
18
+ export declare const TASK_EXECUTION_USER_PROMPT = "## Your Task\n\n{task_title}\n\n{task_description}\n\n## Acceptance Criteria\n\n{acceptance_criteria}\n\n## Files to Modify\n\n{files_to_modify}\n\n## Context Files (read-only reference)\n\n{relevant_files}\n\n## Project Memories & Past Decisions\n\n{recalled_memories}\n\n## Dead-End Warnings (DO NOT retry these approaches)\n\n{dead_end_warnings}\n\n## Progress So Far\n\n{progress_so_far}\n\n## Quality Gates\n\n{quality_gates}";
12
19
  //# sourceMappingURL=prd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/prompts/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,eAAO,MAAM,mBAAmB,u4DAyElB,CAAC;AAMf,eAAO,MAAM,gBAAgB,q/EA6Df,CAAC;AAMf,eAAO,MAAM,qBAAqB,gxDAwD4J,CAAC"}
1
+ {"version":3,"file":"prd.d.ts","sourceRoot":"","sources":["../../src/prompts/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,eAAO,MAAM,mBAAmB,qxDAiE2B,CAAC;AAE5D,eAAO,MAAM,mBAAmB,mHAMlB,CAAC;AAMf,eAAO,MAAM,gBAAgB,24EAqDY,CAAC;AAE1C,eAAO,MAAM,gBAAgB,2GAMf,CAAC;AAMf,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,s5CAyB4J,CAAC;AAE/L,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,mbAgCvB,CAAC"}
@@ -2,14 +2,16 @@
2
2
  * PRD Pipeline Prompt Templates
3
3
  *
4
4
  * Three core prompts:
5
- * 1. PRD_GENERATE_PROMPT — description PRD markdown
6
- * 2. PRD_PARSE_PROMPT — PRD markdown Task[] JSON
7
- * 3. TASK_EXECUTION_PROMPT — task context agent instructions (used in Phase 2)
5
+ * 1. PRD_GENERATE — description -> PRD markdown
6
+ * 2. PRD_PARSE — PRD markdown -> Task[] JSON
7
+ * 3. TASK_EXECUTION — task context -> agent instructions
8
+ *
9
+ * Split into system + user for prompt caching optimization.
8
10
  */
9
11
  // ============================================================================
10
12
  // PRD Generation
11
13
  // ============================================================================
12
- export const PRD_GENERATE_PROMPT = `You are a senior software architect creating a Product Requirements Document (PRD) for an AI coding agent.
14
+ export const PRD_GENERATE_SYSTEM = `You are a senior software architect creating a Product Requirements Document (PRD) for an AI coding agent.
13
15
 
14
16
  ## Your Task
15
17
 
@@ -74,9 +76,8 @@ Generate a Markdown document with EXACTLY these sections:
74
76
  4. Each story should be independently testable
75
77
  5. Include 3-15 stories (if more needed, the scope is too large)
76
78
  6. Be specific about acceptance criteria — vague criteria lead to premature completion
77
- 7. Quality Gates must include at least one automated check
78
-
79
- ## Technical Context (from codebase analysis)
79
+ 7. Quality Gates must include at least one automated check`;
80
+ export const PRD_GENERATE_PROMPT = `## Technical Context (from codebase analysis)
80
81
 
81
82
  {codebase_context}
82
83
 
@@ -86,7 +87,7 @@ Generate a Markdown document with EXACTLY these sections:
86
87
  // ============================================================================
87
88
  // PRD Parsing (into Tasks)
88
89
  // ============================================================================
89
- export const PRD_PARSE_PROMPT = `You are a task decomposition engine. Parse the given PRD into a JSON array of executable tasks.
90
+ export const PRD_PARSE_SYSTEM = `You are a task decomposition engine. Parse the given PRD into a JSON array of executable tasks.
90
91
 
91
92
  ## Output Format
92
93
 
@@ -139,9 +140,8 @@ Each task must be completable in a SINGLE Claude Code session (~10 minutes, ~80K
139
140
  Your output will be validated:
140
141
  - Tasks with empty files_to_modify will generate a warning
141
142
  - Tasks count < 3 or > 25 will generate a warning
142
- - Circular dependencies will be rejected
143
-
144
- ## Technical Context (from codebase analysis)
143
+ - Circular dependencies will be rejected`;
144
+ export const PRD_PARSE_PROMPT = `## Technical Context (from codebase analysis)
145
145
 
146
146
  {codebase_context}
147
147
 
@@ -149,11 +149,37 @@ Your output will be validated:
149
149
 
150
150
  {prd_content}`;
151
151
  // ============================================================================
152
- // Task Execution (Phase 2 defined here for completeness)
152
+ // Task Execution split into system (stable, cacheable) + user (per-task)
153
153
  // ============================================================================
154
- export const TASK_EXECUTION_PROMPT = `You are an AI coding agent executing a specific task from a PRD pipeline.
154
+ /** Stable instructions for PRD task execution agents. Cacheable across all tasks. */
155
+ export const TASK_EXECUTION_SYSTEM = `You are an AI coding agent executing a specific task from a PRD pipeline.
155
156
 
156
- ## Your Task
157
+ ## Rules
158
+
159
+ 1. Focus ONLY on this task — do not modify files outside of "Files to Modify"
160
+ 2. Follow existing code conventions (imports, naming, patterns)
161
+ 3. If a task is impossible or blocked, explain WHY clearly instead of producing broken code
162
+ 4. Run quality gates after your changes (listed in the task context below)
163
+ 5. Do not add comments explaining what you changed — the code should be self-explanatory
164
+ 6. Do not add extra features beyond what acceptance criteria require
165
+
166
+ ## Memory Tools
167
+
168
+ You have access to succ MCP tools. Use them:
169
+
170
+ - **succ_recall** query="relevant topic" — Search past decisions, patterns, gotchas before starting work
171
+ - **succ_remember** content="what you learned" type="learning" — Record important decisions or patterns you discover
172
+ - **succ_dead_end** approach="what you tried" why_failed="why it failed" — Record failed approaches so future tasks don't repeat them
173
+ - **succ_search** query="topic" — Search project documentation
174
+ - **succ_search_code** query="function name" — Search source code
175
+
176
+ Always pass project_path to these tools.
177
+
178
+ ## Important
179
+
180
+ If you cannot complete this task, output a clear explanation starting with "BLOCKED:" followed by the reason. This allows the pipeline to record a dead-end and retry with different context.`;
181
+ /** Per-task template with {placeholders} for dynamic content. */
182
+ export const TASK_EXECUTION_USER_PROMPT = `## Your Task
157
183
 
158
184
  {task_title}
159
185
 
@@ -183,29 +209,7 @@ export const TASK_EXECUTION_PROMPT = `You are an AI coding agent executing a spe
183
209
 
184
210
  {progress_so_far}
185
211
 
186
- ## Rules
187
-
188
- 1. Focus ONLY on this task — do not modify files outside of "Files to Modify"
189
- 2. Follow existing code conventions (imports, naming, patterns)
190
- 3. If a task is impossible or blocked, explain WHY clearly instead of producing broken code
191
- 4. Run quality gates after your changes:
192
- {quality_gates}
193
- 5. Do not add comments explaining what you changed — the code should be self-explanatory
194
- 6. Do not add extra features beyond what acceptance criteria require
195
-
196
- ## Memory Tools
197
-
198
- You have access to succ MCP tools. Use them:
199
-
200
- - **succ_recall** query="relevant topic" — Search past decisions, patterns, gotchas before starting work
201
- - **succ_remember** content="what you learned" type="learning" — Record important decisions or patterns you discover
202
- - **succ_dead_end** approach="what you tried" why_failed="why it failed" — Record failed approaches so future tasks don't repeat them
203
- - **succ_search** query="topic" — Search project documentation
204
- - **succ_search_code** query="function name" — Search source code
205
-
206
- Always pass project_path to these tools.
207
-
208
- ## Important
212
+ ## Quality Gates
209
213
 
210
- If you cannot complete this task, output a clear explanation starting with "BLOCKED:" followed by the reason. This allows the pipeline to record a dead-end and retry with different context.`;
214
+ {quality_gates}`;
211
215
  //# sourceMappingURL=prd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/prompts/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyErB,CAAC;AAEf,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6DlB,CAAC;AAEf,+EAA+E;AAC/E,2DAA2D;AAC3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8LAwDyJ,CAAC"}
1
+ {"version":3,"file":"prd.js","sourceRoot":"","sources":["../../src/prompts/prd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAiEwB,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;cAMrB,CAAC;AAEf,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAqDS,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;cAMlB,CAAC;AAEf,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAE/E,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;8LAyByJ,CAAC;AAE/L,iEAAiE;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgC1B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Query Expansion Prompts
3
+ *
4
+ * Used by src/lib/query-expansion.ts to generate alternative search terms.
5
+ */
6
+ export declare const EXPANSION_SYSTEM = "You are a search query expander. Given a user's search query about code, software development, or technical decisions, generate 3-5 alternative search queries that would help find relevant information.\n\nRules:\n- Each query should capture a different aspect or phrasing of the original intent\n- Include synonyms, related concepts, and alternative terminology\n- Keep queries concise (3-8 words each)\n- Return ONLY the queries, one per line, no numbering or bullets\n- Do not repeat the original query";
7
+ export declare const EXPANSION_PROMPT = "User query: \"{query}\"\n\nAlternative queries:";
8
+ //# sourceMappingURL=query-expansion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-expansion.d.ts","sourceRoot":"","sources":["../../src/prompts/query-expansion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,6fAOM,CAAC;AAEpC,eAAO,MAAM,gBAAgB,oDAER,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Query Expansion Prompts
3
+ *
4
+ * Used by src/lib/query-expansion.ts to generate alternative search terms.
5
+ */
6
+ export const EXPANSION_SYSTEM = `You are a search query expander. Given a user's search query about code, software development, or technical decisions, generate 3-5 alternative search queries that would help find relevant information.
7
+
8
+ Rules:
9
+ - Each query should capture a different aspect or phrasing of the original intent
10
+ - Include synonyms, related concepts, and alternative terminology
11
+ - Keep queries concise (3-8 words each)
12
+ - Return ONLY the queries, one per line, no numbering or bullets
13
+ - Do not repeat the original query`;
14
+ export const EXPANSION_PROMPT = `User query: "{query}"
15
+
16
+ Alternative queries:`;
17
+ //# sourceMappingURL=query-expansion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-expansion.js","sourceRoot":"","sources":["../../src/prompts/query-expansion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;mCAOG,CAAC;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG;;qBAEX,CAAC"}
@@ -2,15 +2,10 @@
2
2
  * Skills System Prompts
3
3
  *
4
4
  * Used for skill discovery and ranking.
5
+ * Split into system + user for prompt caching optimization.
5
6
  */
6
- /**
7
- * Extract technical keywords from user message.
8
- * Used for BM25 skill search.
9
- */
10
- export declare const KEYWORD_EXTRACTION_PROMPT = "Extract technical keywords from this user message.\nMessage: \"{prompt}\"\nOutput JSON only: {\"keywords\": [\"keyword1\", \"keyword2\"]} or {\"keywords\": []} if none.\nOnly technical terms, tools, frameworks, concepts. Max 5 keywords.\nWorks for any language - extract the technical concepts in English.";
11
- /**
12
- * Rank skill candidates based on user request.
13
- * Used to select the most relevant skills from BM25 candidates.
14
- */
15
- export declare const SKILL_RANKING_PROMPT = "Analyze this user request and select relevant skills.\n\nUser request: \"{user_prompt}\"\n\nAvailable skills:\n{skills_list}\n\nRESPOND WITH JSON ONLY - no explanation, no markdown, just the JSON object:\n{\"suggestions\":[{\"name\":\"exact-skill-name\",\"reason\":\"one sentence why\",\"confidence\":0.95}],\"skip_reason\":\"if none\"}\n\nRules: confidence>0.7, max 2 skills, use exact skill names from the list above.";
7
+ export declare const KEYWORD_EXTRACTION_SYSTEM = "Extract technical keywords from a user message.\nOutput JSON only: {\"keywords\": [\"keyword1\", \"keyword2\"]} or {\"keywords\": []} if none.\nOnly technical terms, tools, frameworks, concepts. Max 5 keywords.\nWorks for any language - extract the technical concepts in English.";
8
+ export declare const KEYWORD_EXTRACTION_PROMPT = "Message: \"{prompt}\"";
9
+ export declare const SKILL_RANKING_SYSTEM = "Analyze a user request and select relevant skills.\n\nRESPOND WITH JSON ONLY - no explanation, no markdown, just the JSON object:\n{\"suggestions\":[{\"name\":\"exact-skill-name\",\"reason\":\"one sentence why\",\"confidence\":0.95}],\"skip_reason\":\"if none\"}\n\nRules: confidence>0.7, max 2 skills, use exact skill names from the list provided.";
10
+ export declare const SKILL_RANKING_PROMPT = "User request: \"{user_prompt}\"\n\nAvailable skills:\n{skills_list}";
16
11
  //# sourceMappingURL=skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/prompts/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sTAI8B,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,waAU+C,CAAC"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/prompts/skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,yBAAyB,4RAG8B,CAAC;AAErE,eAAO,MAAM,yBAAyB,0BAAwB,CAAC;AAE/D,eAAO,MAAM,oBAAoB,iWAKkD,CAAC;AAEpF,eAAO,MAAM,oBAAoB,wEAGnB,CAAC"}
@@ -2,29 +2,21 @@
2
2
  * Skills System Prompts
3
3
  *
4
4
  * Used for skill discovery and ranking.
5
+ * Split into system + user for prompt caching optimization.
5
6
  */
6
- /**
7
- * Extract technical keywords from user message.
8
- * Used for BM25 skill search.
9
- */
10
- export const KEYWORD_EXTRACTION_PROMPT = `Extract technical keywords from this user message.
11
- Message: "{prompt}"
7
+ export const KEYWORD_EXTRACTION_SYSTEM = `Extract technical keywords from a user message.
12
8
  Output JSON only: {"keywords": ["keyword1", "keyword2"]} or {"keywords": []} if none.
13
9
  Only technical terms, tools, frameworks, concepts. Max 5 keywords.
14
10
  Works for any language - extract the technical concepts in English.`;
15
- /**
16
- * Rank skill candidates based on user request.
17
- * Used to select the most relevant skills from BM25 candidates.
18
- */
19
- export const SKILL_RANKING_PROMPT = `Analyze this user request and select relevant skills.
20
-
21
- User request: "{user_prompt}"
22
-
23
- Available skills:
24
- {skills_list}
11
+ export const KEYWORD_EXTRACTION_PROMPT = `Message: "{prompt}"`;
12
+ export const SKILL_RANKING_SYSTEM = `Analyze a user request and select relevant skills.
25
13
 
26
14
  RESPOND WITH JSON ONLY - no explanation, no markdown, just the JSON object:
27
15
  {"suggestions":[{"name":"exact-skill-name","reason":"one sentence why","confidence":0.95}],"skip_reason":"if none"}
28
16
 
29
- Rules: confidence>0.7, max 2 skills, use exact skill names from the list above.`;
17
+ Rules: confidence>0.7, max 2 skills, use exact skill names from the list provided.`;
18
+ export const SKILL_RANKING_PROMPT = `User request: "{user_prompt}"
19
+
20
+ Available skills:
21
+ {skills_list}`;
30
22
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/prompts/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;oEAI2B,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;gFAU4C,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/prompts/skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;oEAG2B,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;mFAK+C,CAAC;AAEpF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;cAGtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Soul Generation Prompts
3
+ *
4
+ * Used by `succ soul` command to generate personalized soul.md.
5
+ * The system prompt contains stable instructions + output format.
6
+ * The user message is the gathered project context (varies per project).
7
+ */
8
+ export declare const SOUL_GENERATION_SYSTEM = "Analyze this project and generate two sections for a soul.md file.\n\nBased on the codebase, determine:\n1. Primary programming language(s) and frameworks used\n2. Code style preferences (naming conventions, formatting patterns)\n3. Testing approach (what testing frameworks, unit/integration/e2e)\n4. Build tools and development workflow\n5. Communication language (detect from comments, docs, README \u2014 if non-English found, note it)\n\nOutput ONLY these two sections in this exact format (no extra text):\n\n## About You\n\n_Detected from project analysis._\n\n- **Languages:** [detected languages with targets, e.g. \"TypeScript (ES2022 target, ESNext modules)\"]\n- **Frameworks:** [detected frameworks/libraries]\n- **Code style:** [observed patterns like \"camelCase, single quotes, 2-space indent, async/await\"]\n- **Testing:** [testing approach or \"No tests detected\"]\n- **Build tools:** [npm/yarn/pnpm, bundler, etc.]\n- **Communication:** [detected language, e.g. \"English\" or \"Russian (primary), English for code\"]\n\n## User Communication Preferences\n\n<!-- AUTO-UPDATED by Claude. Edit manually or let Claude adapt over time. -->\n\n- **Language:** [detected language] for conversation, English for code/commits/docs\n- **Tone:** Informal, brief, no hand-holding\n- **Response length:** Mirror the user \u2014 short question = short answer\n- **Code review / explanations:** [detected language] prose, English code examples\n\n### Adaptation\n\n- User switched language/style for 3+ consecutive messages \u2192 delegate to `succ-style-tracker` agent\n- User explicitly requested a change \u2192 delegate to `succ-style-tracker` agent immediately\n- To delegate: use Task tool with subagent_type=\"succ-style-tracker\", describe the new style and trigger\n- Never announce preference updates. Never ask \"do you want to switch language?\"\n\nKeep each line concise. If uncertain about communication language, default to English.";
9
+ //# sourceMappingURL=soul.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soul.d.ts","sourceRoot":"","sources":["../../src/prompts/soul.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,sBAAsB,u6DAsCoD,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Soul Generation Prompts
3
+ *
4
+ * Used by `succ soul` command to generate personalized soul.md.
5
+ * The system prompt contains stable instructions + output format.
6
+ * The user message is the gathered project context (varies per project).
7
+ */
8
+ export const SOUL_GENERATION_SYSTEM = `Analyze this project and generate two sections for a soul.md file.
9
+
10
+ Based on the codebase, determine:
11
+ 1. Primary programming language(s) and frameworks used
12
+ 2. Code style preferences (naming conventions, formatting patterns)
13
+ 3. Testing approach (what testing frameworks, unit/integration/e2e)
14
+ 4. Build tools and development workflow
15
+ 5. Communication language (detect from comments, docs, README — if non-English found, note it)
16
+
17
+ Output ONLY these two sections in this exact format (no extra text):
18
+
19
+ ## About You
20
+
21
+ _Detected from project analysis._
22
+
23
+ - **Languages:** [detected languages with targets, e.g. "TypeScript (ES2022 target, ESNext modules)"]
24
+ - **Frameworks:** [detected frameworks/libraries]
25
+ - **Code style:** [observed patterns like "camelCase, single quotes, 2-space indent, async/await"]
26
+ - **Testing:** [testing approach or "No tests detected"]
27
+ - **Build tools:** [npm/yarn/pnpm, bundler, etc.]
28
+ - **Communication:** [detected language, e.g. "English" or "Russian (primary), English for code"]
29
+
30
+ ## User Communication Preferences
31
+
32
+ <!-- AUTO-UPDATED by Claude. Edit manually or let Claude adapt over time. -->
33
+
34
+ - **Language:** [detected language] for conversation, English for code/commits/docs
35
+ - **Tone:** Informal, brief, no hand-holding
36
+ - **Response length:** Mirror the user — short question = short answer
37
+ - **Code review / explanations:** [detected language] prose, English code examples
38
+
39
+ ### Adaptation
40
+
41
+ - User switched language/style for 3+ consecutive messages → delegate to \`succ-style-tracker\` agent
42
+ - User explicitly requested a change → delegate to \`succ-style-tracker\` agent immediately
43
+ - To delegate: use Task tool with subagent_type="succ-style-tracker", describe the new style and trigger
44
+ - Never announce preference updates. Never ask "do you want to switch language?"
45
+
46
+ Keep each line concise. If uncertain about communication language, default to English.`;
47
+ //# sourceMappingURL=soul.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soul.js","sourceRoot":"","sources":["../../src/prompts/soul.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAsCiD,CAAC"}