@vinaes/succ 1.4.0 → 1.5.42

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 (687) hide show
  1. package/README.md +64 -10
  2. package/dist/cli.js +81 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/agents-md.d.ts.map +1 -1
  5. package/dist/commands/agents-md.js +3 -2
  6. package/dist/commands/agents-md.js.map +1 -1
  7. package/dist/commands/analyze-profile.d.ts.map +1 -1
  8. package/dist/commands/analyze-profile.js +32 -8
  9. package/dist/commands/analyze-profile.js.map +1 -1
  10. package/dist/commands/analyze-recursive.d.ts.map +1 -1
  11. package/dist/commands/analyze-recursive.js +6 -2
  12. package/dist/commands/analyze-recursive.js.map +1 -1
  13. package/dist/commands/analyze-utils.d.ts.map +1 -1
  14. package/dist/commands/analyze-utils.js +17 -4
  15. package/dist/commands/analyze-utils.js.map +1 -1
  16. package/dist/commands/benchmark-quality.d.ts.map +1 -1
  17. package/dist/commands/benchmark-quality.js +11 -4
  18. package/dist/commands/benchmark-quality.js.map +1 -1
  19. package/dist/commands/benchmark-sqlite-vec.d.ts.map +1 -1
  20. package/dist/commands/benchmark-sqlite-vec.js +4 -0
  21. package/dist/commands/benchmark-sqlite-vec.js.map +1 -1
  22. package/dist/commands/benchmark.d.ts.map +1 -1
  23. package/dist/commands/benchmark.js +5 -1
  24. package/dist/commands/benchmark.js.map +1 -1
  25. package/dist/commands/codex-chat.d.ts +8 -0
  26. package/dist/commands/codex-chat.d.ts.map +1 -0
  27. package/dist/commands/codex-chat.js +161 -0
  28. package/dist/commands/codex-chat.js.map +1 -0
  29. package/dist/commands/config.d.ts.map +1 -1
  30. package/dist/commands/config.js +32 -4
  31. package/dist/commands/config.js.map +1 -1
  32. package/dist/commands/daemon.d.ts.map +1 -1
  33. package/dist/commands/daemon.js +13 -4
  34. package/dist/commands/daemon.js.map +1 -1
  35. package/dist/commands/index-code.d.ts +4 -0
  36. package/dist/commands/index-code.d.ts.map +1 -1
  37. package/dist/commands/index-code.js +1 -1
  38. package/dist/commands/index-code.js.map +1 -1
  39. package/dist/commands/init.d.ts.map +1 -1
  40. package/dist/commands/init.js +305 -203
  41. package/dist/commands/init.js.map +1 -1
  42. package/dist/commands/memories.d.ts.map +1 -1
  43. package/dist/commands/memories.js +25 -14
  44. package/dist/commands/memories.js.map +1 -1
  45. package/dist/commands/progress.d.ts.map +1 -1
  46. package/dist/commands/progress.js +3 -2
  47. package/dist/commands/progress.js.map +1 -1
  48. package/dist/commands/reindex.d.ts.map +1 -1
  49. package/dist/commands/reindex.js +54 -36
  50. package/dist/commands/reindex.js.map +1 -1
  51. package/dist/commands/retention.d.ts.map +1 -1
  52. package/dist/commands/retention.js +7 -5
  53. package/dist/commands/retention.js.map +1 -1
  54. package/dist/commands/scan-code.d.ts +76 -0
  55. package/dist/commands/scan-code.d.ts.map +1 -0
  56. package/dist/commands/scan-code.js +385 -0
  57. package/dist/commands/scan-code.js.map +1 -0
  58. package/dist/commands/score.d.ts.map +1 -1
  59. package/dist/commands/score.js +3 -2
  60. package/dist/commands/score.js.map +1 -1
  61. package/dist/commands/session.d.ts +33 -0
  62. package/dist/commands/session.d.ts.map +1 -0
  63. package/dist/commands/session.js +163 -0
  64. package/dist/commands/session.js.map +1 -0
  65. package/dist/commands/setup.d.ts.map +1 -1
  66. package/dist/commands/setup.js +254 -15
  67. package/dist/commands/setup.js.map +1 -1
  68. package/dist/commands/soul.js +3 -2
  69. package/dist/commands/soul.js.map +1 -1
  70. package/dist/commands/status.d.ts.map +1 -1
  71. package/dist/commands/status.js +14 -5
  72. package/dist/commands/status.js.map +1 -1
  73. package/dist/commands/watch.d.ts.map +1 -1
  74. package/dist/commands/watch.js +13 -4
  75. package/dist/commands/watch.js.map +1 -1
  76. package/dist/daemon/analyzer.d.ts.map +1 -1
  77. package/dist/daemon/analyzer.js +21 -5
  78. package/dist/daemon/analyzer.js.map +1 -1
  79. package/dist/daemon/client.d.ts.map +1 -1
  80. package/dist/daemon/client.js +32 -8
  81. package/dist/daemon/client.js.map +1 -1
  82. package/dist/daemon/routes/analyzer.d.ts +3 -0
  83. package/dist/daemon/routes/analyzer.d.ts.map +1 -0
  84. package/dist/daemon/routes/analyzer.js +27 -0
  85. package/dist/daemon/routes/analyzer.js.map +1 -0
  86. package/dist/daemon/routes/hooks.d.ts +14 -0
  87. package/dist/daemon/routes/hooks.d.ts.map +1 -0
  88. package/dist/daemon/routes/hooks.js +1212 -0
  89. package/dist/daemon/routes/hooks.js.map +1 -0
  90. package/dist/daemon/routes/memory.d.ts +4 -0
  91. package/dist/daemon/routes/memory.d.ts.map +1 -0
  92. package/dist/daemon/routes/memory.js +71 -0
  93. package/dist/daemon/routes/memory.js.map +1 -0
  94. package/dist/daemon/routes/reflection.d.ts +10 -0
  95. package/dist/daemon/routes/reflection.d.ts.map +1 -0
  96. package/dist/daemon/routes/reflection.js +397 -0
  97. package/dist/daemon/routes/reflection.js.map +1 -0
  98. package/dist/daemon/routes/search.d.ts +5 -0
  99. package/dist/daemon/routes/search.d.ts.map +1 -0
  100. package/dist/daemon/routes/search.js +93 -0
  101. package/dist/daemon/routes/search.js.map +1 -0
  102. package/dist/daemon/routes/sessions.d.ts +3 -0
  103. package/dist/daemon/routes/sessions.d.ts.map +1 -0
  104. package/dist/daemon/routes/sessions.js +160 -0
  105. package/dist/daemon/routes/sessions.js.map +1 -0
  106. package/dist/daemon/routes/skills.d.ts +3 -0
  107. package/dist/daemon/routes/skills.d.ts.map +1 -0
  108. package/dist/daemon/routes/skills.js +36 -0
  109. package/dist/daemon/routes/skills.js.map +1 -0
  110. package/dist/daemon/routes/status.d.ts +3 -0
  111. package/dist/daemon/routes/status.d.ts.map +1 -0
  112. package/dist/daemon/routes/status.js +47 -0
  113. package/dist/daemon/routes/status.js.map +1 -0
  114. package/dist/daemon/routes/types.d.ts +240 -0
  115. package/dist/daemon/routes/types.d.ts.map +1 -0
  116. package/dist/daemon/routes/types.js +97 -0
  117. package/dist/daemon/routes/types.js.map +1 -0
  118. package/dist/daemon/routes/versioning.d.ts +27 -0
  119. package/dist/daemon/routes/versioning.d.ts.map +1 -0
  120. package/dist/daemon/routes/versioning.js +44 -0
  121. package/dist/daemon/routes/versioning.js.map +1 -0
  122. package/dist/daemon/routes/watcher.d.ts +3 -0
  123. package/dist/daemon/routes/watcher.d.ts.map +1 -0
  124. package/dist/daemon/routes/watcher.js +28 -0
  125. package/dist/daemon/routes/watcher.js.map +1 -0
  126. package/dist/daemon/service.d.ts +5 -23
  127. package/dist/daemon/service.d.ts.map +1 -1
  128. package/dist/daemon/service.js +201 -933
  129. package/dist/daemon/service.js.map +1 -1
  130. package/dist/daemon/session-processor.d.ts +4 -8
  131. package/dist/daemon/session-processor.d.ts.map +1 -1
  132. package/dist/daemon/session-processor.js +39 -38
  133. package/dist/daemon/session-processor.js.map +1 -1
  134. package/dist/lib/ai-readiness.d.ts.map +1 -1
  135. package/dist/lib/ai-readiness.js +33 -8
  136. package/dist/lib/ai-readiness.js.map +1 -1
  137. package/dist/lib/analyze-state.d.ts.map +1 -1
  138. package/dist/lib/analyze-state.js +25 -3
  139. package/dist/lib/analyze-state.js.map +1 -1
  140. package/dist/lib/auto-memory/consolidation.d.ts +41 -0
  141. package/dist/lib/auto-memory/consolidation.d.ts.map +1 -0
  142. package/dist/lib/auto-memory/consolidation.js +151 -0
  143. package/dist/lib/auto-memory/consolidation.js.map +1 -0
  144. package/dist/lib/bpe.d.ts.map +1 -1
  145. package/dist/lib/bpe.js +9 -10
  146. package/dist/lib/bpe.js.map +1 -1
  147. package/dist/lib/brain-export.d.ts +65 -0
  148. package/dist/lib/brain-export.d.ts.map +1 -0
  149. package/dist/lib/brain-export.js +413 -0
  150. package/dist/lib/brain-export.js.map +1 -0
  151. package/dist/lib/checkpoint.d.ts.map +1 -1
  152. package/dist/lib/checkpoint.js +22 -6
  153. package/dist/lib/checkpoint.js.map +1 -1
  154. package/dist/lib/chunker.d.ts.map +1 -1
  155. package/dist/lib/chunker.js +6 -1
  156. package/dist/lib/chunker.js.map +1 -1
  157. package/dist/lib/claude-ws-transport.d.ts.map +1 -1
  158. package/dist/lib/claude-ws-transport.js +12 -4
  159. package/dist/lib/claude-ws-transport.js.map +1 -1
  160. package/dist/lib/command-safety.d.ts +64 -0
  161. package/dist/lib/command-safety.d.ts.map +1 -0
  162. package/dist/lib/command-safety.js +625 -0
  163. package/dist/lib/command-safety.js.map +1 -0
  164. package/dist/lib/compact-briefing.d.ts.map +1 -1
  165. package/dist/lib/compact-briefing.js +10 -13
  166. package/dist/lib/compact-briefing.js.map +1 -1
  167. package/dist/lib/config-defaults.d.ts.map +1 -1
  168. package/dist/lib/config-defaults.js +3 -0
  169. package/dist/lib/config-defaults.js.map +1 -1
  170. package/dist/lib/config-display.d.ts +4 -0
  171. package/dist/lib/config-display.d.ts.map +1 -1
  172. package/dist/lib/config-display.js +6 -1
  173. package/dist/lib/config-display.js.map +1 -1
  174. package/dist/lib/config-types.d.ts +156 -0
  175. package/dist/lib/config-types.d.ts.map +1 -1
  176. package/dist/lib/config-validation.d.ts.map +1 -1
  177. package/dist/lib/config-validation.js +5 -0
  178. package/dist/lib/config-validation.js.map +1 -1
  179. package/dist/lib/config.d.ts.map +1 -1
  180. package/dist/lib/config.js +92 -9
  181. package/dist/lib/config.js.map +1 -1
  182. package/dist/lib/consolidate.d.ts.map +1 -1
  183. package/dist/lib/consolidate.js +66 -47
  184. package/dist/lib/consolidate.js.map +1 -1
  185. package/dist/lib/content-sanitizer.d.ts +29 -0
  186. package/dist/lib/content-sanitizer.d.ts.map +1 -0
  187. package/dist/lib/content-sanitizer.js +72 -0
  188. package/dist/lib/content-sanitizer.js.map +1 -0
  189. package/dist/lib/cross-repo.d.ts +44 -0
  190. package/dist/lib/cross-repo.d.ts.map +1 -0
  191. package/dist/lib/cross-repo.js +108 -0
  192. package/dist/lib/cross-repo.js.map +1 -0
  193. package/dist/lib/daemon-port.d.ts +12 -0
  194. package/dist/lib/daemon-port.d.ts.map +1 -0
  195. package/dist/lib/daemon-port.js +20 -0
  196. package/dist/lib/daemon-port.js.map +1 -0
  197. package/dist/lib/db/auto-memory.d.ts +40 -0
  198. package/dist/lib/db/auto-memory.d.ts.map +1 -0
  199. package/dist/lib/db/auto-memory.js +74 -0
  200. package/dist/lib/db/auto-memory.js.map +1 -0
  201. package/dist/lib/db/bm25-indexes.d.ts.map +1 -1
  202. package/dist/lib/db/bm25-indexes.js +16 -4
  203. package/dist/lib/db/bm25-indexes.js.map +1 -1
  204. package/dist/lib/db/documents.d.ts.map +1 -1
  205. package/dist/lib/db/documents.js +4 -1
  206. package/dist/lib/db/documents.js.map +1 -1
  207. package/dist/lib/db/global-memories.d.ts +2 -10
  208. package/dist/lib/db/global-memories.d.ts.map +1 -1
  209. package/dist/lib/db/global-memories.js +13 -6
  210. package/dist/lib/db/global-memories.js.map +1 -1
  211. package/dist/lib/db/graph.d.ts +5 -1
  212. package/dist/lib/db/graph.d.ts.map +1 -1
  213. package/dist/lib/db/graph.js +38 -8
  214. package/dist/lib/db/graph.js.map +1 -1
  215. package/dist/lib/db/hybrid-search.d.ts +4 -2
  216. package/dist/lib/db/hybrid-search.d.ts.map +1 -1
  217. package/dist/lib/db/hybrid-search.js +29 -11
  218. package/dist/lib/db/hybrid-search.js.map +1 -1
  219. package/dist/lib/db/index.d.ts +6 -1
  220. package/dist/lib/db/index.d.ts.map +1 -1
  221. package/dist/lib/db/index.js +5 -1
  222. package/dist/lib/db/index.js.map +1 -1
  223. package/dist/lib/db/memories.d.ts +19 -14
  224. package/dist/lib/db/memories.d.ts.map +1 -1
  225. package/dist/lib/db/memories.js +100 -37
  226. package/dist/lib/db/memories.js.map +1 -1
  227. package/dist/lib/db/parse-helpers.d.ts +14 -0
  228. package/dist/lib/db/parse-helpers.d.ts.map +1 -0
  229. package/dist/lib/db/parse-helpers.js +59 -0
  230. package/dist/lib/db/parse-helpers.js.map +1 -0
  231. package/dist/lib/db/recall-events.d.ts +49 -0
  232. package/dist/lib/db/recall-events.d.ts.map +1 -0
  233. package/dist/lib/db/recall-events.js +196 -0
  234. package/dist/lib/db/recall-events.js.map +1 -0
  235. package/dist/lib/db/retention.d.ts +4 -3
  236. package/dist/lib/db/retention.d.ts.map +1 -1
  237. package/dist/lib/db/retention.js +12 -1
  238. package/dist/lib/db/retention.js.map +1 -1
  239. package/dist/lib/db/schema.d.ts +2 -0
  240. package/dist/lib/db/schema.d.ts.map +1 -1
  241. package/dist/lib/db/schema.js +140 -80
  242. package/dist/lib/db/schema.js.map +1 -1
  243. package/dist/lib/db/skills.d.ts.map +1 -1
  244. package/dist/lib/db/skills.js +10 -6
  245. package/dist/lib/db/skills.js.map +1 -1
  246. package/dist/lib/diff-brain.d.ts +24 -0
  247. package/dist/lib/diff-brain.d.ts.map +1 -0
  248. package/dist/lib/diff-brain.js +114 -0
  249. package/dist/lib/diff-brain.js.map +1 -0
  250. package/dist/lib/diff-parser.d.ts +74 -0
  251. package/dist/lib/diff-parser.d.ts.map +1 -0
  252. package/dist/lib/diff-parser.js +200 -0
  253. package/dist/lib/diff-parser.js.map +1 -0
  254. package/dist/lib/embedding-pool.d.ts.map +1 -1
  255. package/dist/lib/embedding-pool.js +5 -1
  256. package/dist/lib/embedding-pool.js.map +1 -1
  257. package/dist/lib/embeddings.d.ts +12 -0
  258. package/dist/lib/embeddings.d.ts.map +1 -1
  259. package/dist/lib/embeddings.js +77 -19
  260. package/dist/lib/embeddings.js.map +1 -1
  261. package/dist/lib/errors.d.ts +2 -0
  262. package/dist/lib/errors.d.ts.map +1 -1
  263. package/dist/lib/errors.js +4 -0
  264. package/dist/lib/errors.js.map +1 -1
  265. package/dist/lib/fault-logger.d.ts.map +1 -1
  266. package/dist/lib/fault-logger.js +22 -7
  267. package/dist/lib/fault-logger.js.map +1 -1
  268. package/dist/lib/git/co-change.d.ts +39 -0
  269. package/dist/lib/git/co-change.d.ts.map +1 -0
  270. package/dist/lib/git/co-change.js +139 -0
  271. package/dist/lib/git/co-change.js.map +1 -0
  272. package/dist/lib/graph/bridge-edges.d.ts +93 -0
  273. package/dist/lib/graph/bridge-edges.d.ts.map +1 -0
  274. package/dist/lib/graph/bridge-edges.js +276 -0
  275. package/dist/lib/graph/bridge-edges.js.map +1 -0
  276. package/dist/lib/graph/centrality.d.ts +11 -0
  277. package/dist/lib/graph/centrality.d.ts.map +1 -1
  278. package/dist/lib/graph/centrality.js +51 -3
  279. package/dist/lib/graph/centrality.js.map +1 -1
  280. package/dist/lib/graph/cleanup.d.ts.map +1 -1
  281. package/dist/lib/graph/cleanup.js +2 -1
  282. package/dist/lib/graph/cleanup.js.map +1 -1
  283. package/dist/lib/graph/community-detection.d.ts +17 -2
  284. package/dist/lib/graph/community-detection.d.ts.map +1 -1
  285. package/dist/lib/graph/community-detection.js +147 -48
  286. package/dist/lib/graph/community-detection.js.map +1 -1
  287. package/dist/lib/graph/community-summaries.d.ts +26 -0
  288. package/dist/lib/graph/community-summaries.d.ts.map +1 -0
  289. package/dist/lib/graph/community-summaries.js +130 -0
  290. package/dist/lib/graph/community-summaries.js.map +1 -0
  291. package/dist/lib/graph/contextual-proximity.d.ts.map +1 -1
  292. package/dist/lib/graph/contextual-proximity.js +11 -4
  293. package/dist/lib/graph/contextual-proximity.js.map +1 -1
  294. package/dist/lib/graph/graphology-bridge.d.ts +101 -0
  295. package/dist/lib/graph/graphology-bridge.d.ts.map +1 -0
  296. package/dist/lib/graph/graphology-bridge.js +488 -0
  297. package/dist/lib/graph/graphology-bridge.js.map +1 -0
  298. package/dist/lib/graph/llm-relations.d.ts.map +1 -1
  299. package/dist/lib/graph/llm-relations.js +27 -5
  300. package/dist/lib/graph/llm-relations.js.map +1 -1
  301. package/dist/lib/graph-export.d.ts.map +1 -1
  302. package/dist/lib/graph-export.js +2 -2
  303. package/dist/lib/graph-export.js.map +1 -1
  304. package/dist/lib/graph-scheduler.d.ts +0 -5
  305. package/dist/lib/graph-scheduler.d.ts.map +1 -1
  306. package/dist/lib/graph-scheduler.js +5 -1
  307. package/dist/lib/graph-scheduler.js.map +1 -1
  308. package/dist/lib/guardrails.d.ts +50 -0
  309. package/dist/lib/guardrails.d.ts.map +1 -0
  310. package/dist/lib/guardrails.js +502 -0
  311. package/dist/lib/guardrails.js.map +1 -0
  312. package/dist/lib/hook-rules.d.ts +1 -1
  313. package/dist/lib/hook-rules.d.ts.map +1 -1
  314. package/dist/lib/hook-rules.js +8 -2
  315. package/dist/lib/hook-rules.js.map +1 -1
  316. package/dist/lib/ifc/file-labels.d.ts +35 -0
  317. package/dist/lib/ifc/file-labels.d.ts.map +1 -0
  318. package/dist/lib/ifc/file-labels.js +208 -0
  319. package/dist/lib/ifc/file-labels.js.map +1 -0
  320. package/dist/lib/ifc/label.d.ts +38 -0
  321. package/dist/lib/ifc/label.d.ts.map +1 -0
  322. package/dist/lib/ifc/label.js +80 -0
  323. package/dist/lib/ifc/label.js.map +1 -0
  324. package/dist/lib/ifc/session-ifc.d.ts +92 -0
  325. package/dist/lib/ifc/session-ifc.d.ts.map +1 -0
  326. package/dist/lib/ifc/session-ifc.js +222 -0
  327. package/dist/lib/ifc/session-ifc.js.map +1 -0
  328. package/dist/lib/indexer.js +2 -2
  329. package/dist/lib/indexer.js.map +1 -1
  330. package/dist/lib/injection-detector.d.ts +83 -0
  331. package/dist/lib/injection-detector.d.ts.map +1 -0
  332. package/dist/lib/injection-detector.js +586 -0
  333. package/dist/lib/injection-detector.js.map +1 -0
  334. package/dist/lib/injection-semantic.d.ts +31 -0
  335. package/dist/lib/injection-semantic.d.ts.map +1 -0
  336. package/dist/lib/injection-semantic.js +230 -0
  337. package/dist/lib/injection-semantic.js.map +1 -0
  338. package/dist/lib/llm.d.ts.map +1 -1
  339. package/dist/lib/llm.js +19 -4
  340. package/dist/lib/llm.js.map +1 -1
  341. package/dist/lib/lock.d.ts.map +1 -1
  342. package/dist/lib/lock.js +24 -3
  343. package/dist/lib/lock.js.map +1 -1
  344. package/dist/lib/md-fetch.d.ts.map +1 -1
  345. package/dist/lib/md-fetch.js +9 -2
  346. package/dist/lib/md-fetch.js.map +1 -1
  347. package/dist/lib/observability.d.ts +75 -0
  348. package/dist/lib/observability.d.ts.map +1 -0
  349. package/dist/lib/observability.js +201 -0
  350. package/dist/lib/observability.js.map +1 -0
  351. package/dist/lib/ort-session.d.ts +26 -0
  352. package/dist/lib/ort-session.d.ts.map +1 -1
  353. package/dist/lib/ort-session.js +107 -3
  354. package/dist/lib/ort-session.js.map +1 -1
  355. package/dist/lib/prd/codebase-context.d.ts.map +1 -1
  356. package/dist/lib/prd/codebase-context.js +9 -2
  357. package/dist/lib/prd/codebase-context.js.map +1 -1
  358. package/dist/lib/prd/context.d.ts.map +1 -1
  359. package/dist/lib/prd/context.js +11 -3
  360. package/dist/lib/prd/context.js.map +1 -1
  361. package/dist/lib/prd/export.js +1 -1
  362. package/dist/lib/prd/export.js.map +1 -1
  363. package/dist/lib/prd/generate.d.ts.map +1 -1
  364. package/dist/lib/prd/generate.js +17 -4
  365. package/dist/lib/prd/generate.js.map +1 -1
  366. package/dist/lib/prd/parse.d.ts.map +1 -1
  367. package/dist/lib/prd/parse.js +6 -1
  368. package/dist/lib/prd/parse.js.map +1 -1
  369. package/dist/lib/prd/runner.d.ts +1 -2
  370. package/dist/lib/prd/runner.d.ts.map +1 -1
  371. package/dist/lib/prd/runner.js +43 -32
  372. package/dist/lib/prd/runner.js.map +1 -1
  373. package/dist/lib/prd/worktree.d.ts +1 -2
  374. package/dist/lib/prd/worktree.d.ts.map +1 -1
  375. package/dist/lib/prd/worktree.js +62 -70
  376. package/dist/lib/prd/worktree.js.map +1 -1
  377. package/dist/lib/precompute-context.d.ts.map +1 -1
  378. package/dist/lib/precompute-context.js +15 -34
  379. package/dist/lib/precompute-context.js.map +1 -1
  380. package/dist/lib/pricing.d.ts.map +1 -1
  381. package/dist/lib/pricing.js +5 -1
  382. package/dist/lib/pricing.js.map +1 -1
  383. package/dist/lib/process-registry.js +3 -3
  384. package/dist/lib/process-registry.js.map +1 -1
  385. package/dist/lib/public-api.d.ts +41 -1
  386. package/dist/lib/public-api.d.ts.map +1 -1
  387. package/dist/lib/public-api.js +38 -0
  388. package/dist/lib/public-api.js.map +1 -1
  389. package/dist/lib/quality.d.ts.map +1 -1
  390. package/dist/lib/quality.js +15 -6
  391. package/dist/lib/quality.js.map +1 -1
  392. package/dist/lib/query-expansion.d.ts +32 -0
  393. package/dist/lib/query-expansion.d.ts.map +1 -1
  394. package/dist/lib/query-expansion.js +62 -1
  395. package/dist/lib/query-expansion.js.map +1 -1
  396. package/dist/lib/reference-embeddings.d.ts.map +1 -1
  397. package/dist/lib/reference-embeddings.js +17 -4
  398. package/dist/lib/reference-embeddings.js.map +1 -1
  399. package/dist/lib/reflection-synthesizer.d.ts.map +1 -1
  400. package/dist/lib/reflection-synthesizer.js +7 -1
  401. package/dist/lib/reflection-synthesizer.js.map +1 -1
  402. package/dist/lib/reranker.d.ts +41 -0
  403. package/dist/lib/reranker.d.ts.map +1 -0
  404. package/dist/lib/reranker.js +294 -0
  405. package/dist/lib/reranker.js.map +1 -0
  406. package/dist/lib/retrieval-feedback.d.ts +100 -0
  407. package/dist/lib/retrieval-feedback.d.ts.map +1 -0
  408. package/dist/lib/retrieval-feedback.js +174 -0
  409. package/dist/lib/retrieval-feedback.js.map +1 -0
  410. package/dist/lib/review/context-pack.d.ts +58 -0
  411. package/dist/lib/review/context-pack.d.ts.map +1 -0
  412. package/dist/lib/review/context-pack.js +300 -0
  413. package/dist/lib/review/context-pack.js.map +1 -0
  414. package/dist/lib/search/hierarchical-summaries.d.ts +65 -0
  415. package/dist/lib/search/hierarchical-summaries.d.ts.map +1 -0
  416. package/dist/lib/search/hierarchical-summaries.js +423 -0
  417. package/dist/lib/search/hierarchical-summaries.js.map +1 -0
  418. package/dist/lib/search/hyde.d.ts +27 -0
  419. package/dist/lib/search/hyde.d.ts.map +1 -0
  420. package/dist/lib/search/hyde.js +141 -0
  421. package/dist/lib/search/hyde.js.map +1 -0
  422. package/dist/lib/search/late-chunking.d.ts +53 -0
  423. package/dist/lib/search/late-chunking.d.ts.map +1 -0
  424. package/dist/lib/search/late-chunking.js +230 -0
  425. package/dist/lib/search/late-chunking.js.map +1 -0
  426. package/dist/lib/search/ppr-retrieval.d.ts +49 -0
  427. package/dist/lib/search/ppr-retrieval.d.ts.map +1 -0
  428. package/dist/lib/search/ppr-retrieval.js +135 -0
  429. package/dist/lib/search/ppr-retrieval.js.map +1 -0
  430. package/dist/lib/search/repo-map.d.ts +43 -0
  431. package/dist/lib/search/repo-map.d.ts.map +1 -0
  432. package/dist/lib/search/repo-map.js +165 -0
  433. package/dist/lib/search/repo-map.js.map +1 -0
  434. package/dist/lib/session-analyzer.d.ts +90 -0
  435. package/dist/lib/session-analyzer.d.ts.map +1 -0
  436. package/dist/lib/session-analyzer.js +467 -0
  437. package/dist/lib/session-analyzer.js.map +1 -0
  438. package/dist/lib/session-observations.d.ts.map +1 -1
  439. package/dist/lib/session-observations.js +13 -3
  440. package/dist/lib/session-observations.js.map +1 -1
  441. package/dist/lib/session-summary.d.ts.map +1 -1
  442. package/dist/lib/session-summary.js +57 -50
  443. package/dist/lib/session-summary.js.map +1 -1
  444. package/dist/lib/session-surgeon.d.ts +53 -0
  445. package/dist/lib/session-surgeon.d.ts.map +1 -0
  446. package/dist/lib/session-surgeon.js +501 -0
  447. package/dist/lib/session-surgeon.js.map +1 -0
  448. package/dist/lib/similarity-utils.d.ts +26 -0
  449. package/dist/lib/similarity-utils.d.ts.map +1 -0
  450. package/dist/lib/similarity-utils.js +66 -0
  451. package/dist/lib/similarity-utils.js.map +1 -0
  452. package/dist/lib/skills.d.ts.map +1 -1
  453. package/dist/lib/skills.js +11 -11
  454. package/dist/lib/skills.js.map +1 -1
  455. package/dist/lib/storage/backends/interface.d.ts +13 -3
  456. package/dist/lib/storage/backends/interface.d.ts.map +1 -1
  457. package/dist/lib/storage/backends/postgresql.d.ts +52 -3
  458. package/dist/lib/storage/backends/postgresql.d.ts.map +1 -1
  459. package/dist/lib/storage/backends/postgresql.js +694 -49
  460. package/dist/lib/storage/backends/postgresql.js.map +1 -1
  461. package/dist/lib/storage/benchmark.js +2 -2
  462. package/dist/lib/storage/benchmark.js.map +1 -1
  463. package/dist/lib/storage/dispatcher/base.d.ts +114 -0
  464. package/dist/lib/storage/dispatcher/base.d.ts.map +1 -0
  465. package/dist/lib/storage/dispatcher/base.js +160 -0
  466. package/dist/lib/storage/dispatcher/base.js.map +1 -0
  467. package/dist/lib/storage/dispatcher/documents.d.ts +25 -0
  468. package/dist/lib/storage/dispatcher/documents.d.ts.map +1 -0
  469. package/dist/lib/storage/dispatcher/documents.js +194 -0
  470. package/dist/lib/storage/dispatcher/documents.js.map +1 -0
  471. package/dist/lib/storage/dispatcher/embeddings.d.ts +34 -0
  472. package/dist/lib/storage/dispatcher/embeddings.d.ts.map +1 -0
  473. package/dist/lib/storage/dispatcher/embeddings.js +144 -0
  474. package/dist/lib/storage/dispatcher/embeddings.js.map +1 -0
  475. package/dist/lib/storage/dispatcher/export-import.d.ts +139 -0
  476. package/dist/lib/storage/dispatcher/export-import.d.ts.map +1 -0
  477. package/dist/lib/storage/dispatcher/export-import.js +191 -0
  478. package/dist/lib/storage/dispatcher/export-import.js.map +1 -0
  479. package/dist/lib/storage/dispatcher/file-hashes.d.ts +13 -0
  480. package/dist/lib/storage/dispatcher/file-hashes.d.ts.map +1 -0
  481. package/dist/lib/storage/dispatcher/file-hashes.js +36 -0
  482. package/dist/lib/storage/dispatcher/file-hashes.js.map +1 -0
  483. package/dist/lib/storage/dispatcher/global-memories.d.ts +28 -0
  484. package/dist/lib/storage/dispatcher/global-memories.d.ts.map +1 -0
  485. package/dist/lib/storage/dispatcher/global-memories.js +151 -0
  486. package/dist/lib/storage/dispatcher/global-memories.js.map +1 -0
  487. package/dist/lib/storage/dispatcher/graph.d.ts +32 -0
  488. package/dist/lib/storage/dispatcher/graph.d.ts.map +1 -0
  489. package/dist/lib/storage/dispatcher/graph.js +146 -0
  490. package/dist/lib/storage/dispatcher/graph.js.map +1 -0
  491. package/dist/lib/storage/dispatcher/index.d.ts +34 -0
  492. package/dist/lib/storage/dispatcher/index.d.ts.map +1 -0
  493. package/dist/lib/storage/dispatcher/index.js +139 -0
  494. package/dist/lib/storage/dispatcher/index.js.map +1 -0
  495. package/dist/lib/storage/dispatcher/memories.d.ts +65 -0
  496. package/dist/lib/storage/dispatcher/memories.d.ts.map +1 -0
  497. package/dist/lib/storage/dispatcher/memories.js +466 -0
  498. package/dist/lib/storage/dispatcher/memories.js.map +1 -0
  499. package/dist/lib/storage/dispatcher/mixin-helper.d.ts +6 -0
  500. package/dist/lib/storage/dispatcher/mixin-helper.d.ts.map +1 -0
  501. package/dist/lib/storage/dispatcher/mixin-helper.js +10 -0
  502. package/dist/lib/storage/dispatcher/mixin-helper.js.map +1 -0
  503. package/dist/lib/storage/dispatcher/retention.d.ts +20 -0
  504. package/dist/lib/storage/dispatcher/retention.d.ts.map +1 -0
  505. package/dist/lib/storage/dispatcher/retention.js +123 -0
  506. package/dist/lib/storage/dispatcher/retention.js.map +1 -0
  507. package/dist/lib/storage/dispatcher/search.d.ts +34 -0
  508. package/dist/lib/storage/dispatcher/search.d.ts.map +1 -0
  509. package/dist/lib/storage/dispatcher/search.js +222 -0
  510. package/dist/lib/storage/dispatcher/search.js.map +1 -0
  511. package/dist/lib/storage/dispatcher/skills.d.ts +53 -0
  512. package/dist/lib/storage/dispatcher/skills.d.ts.map +1 -0
  513. package/dist/lib/storage/dispatcher/skills.js +98 -0
  514. package/dist/lib/storage/dispatcher/skills.js.map +1 -0
  515. package/dist/lib/storage/dispatcher/token-stats.d.ts +23 -0
  516. package/dist/lib/storage/dispatcher/token-stats.d.ts.map +1 -0
  517. package/dist/lib/storage/dispatcher/token-stats.js +92 -0
  518. package/dist/lib/storage/dispatcher/token-stats.js.map +1 -0
  519. package/dist/lib/storage/dispatcher/web-search.d.ts +10 -0
  520. package/dist/lib/storage/dispatcher/web-search.d.ts.map +1 -0
  521. package/dist/lib/storage/dispatcher/web-search.js +39 -0
  522. package/dist/lib/storage/dispatcher/web-search.js.map +1 -0
  523. package/dist/lib/storage/dispatcher-export.d.ts.map +1 -1
  524. package/dist/lib/storage/dispatcher-export.js +48 -39
  525. package/dist/lib/storage/dispatcher-export.js.map +1 -1
  526. package/dist/lib/storage/dispatcher.d.ts +1 -468
  527. package/dist/lib/storage/dispatcher.d.ts.map +1 -1
  528. package/dist/lib/storage/dispatcher.js +1 -1931
  529. package/dist/lib/storage/dispatcher.js.map +1 -1
  530. package/dist/lib/storage/index.d.ts +20 -5
  531. package/dist/lib/storage/index.d.ts.map +1 -1
  532. package/dist/lib/storage/index.js +36 -7
  533. package/dist/lib/storage/index.js.map +1 -1
  534. package/dist/lib/storage/migration/export-import.d.ts.map +1 -1
  535. package/dist/lib/storage/migration/export-import.js +9 -2
  536. package/dist/lib/storage/migration/export-import.js.map +1 -1
  537. package/dist/lib/storage/types.d.ts +152 -10
  538. package/dist/lib/storage/types.d.ts.map +1 -1
  539. package/dist/lib/storage/types.js +13 -0
  540. package/dist/lib/storage/types.js.map +1 -1
  541. package/dist/lib/storage/vector/interface.d.ts +4 -0
  542. package/dist/lib/storage/vector/interface.d.ts.map +1 -1
  543. package/dist/lib/storage/vector/qdrant.d.ts +13 -2
  544. package/dist/lib/storage/vector/qdrant.d.ts.map +1 -1
  545. package/dist/lib/storage/vector/qdrant.js +147 -61
  546. package/dist/lib/storage/vector/qdrant.js.map +1 -1
  547. package/dist/lib/token-budget.d.ts.map +1 -1
  548. package/dist/lib/token-budget.js +9 -2
  549. package/dist/lib/token-budget.js.map +1 -1
  550. package/dist/lib/transcript-utils.d.ts +60 -0
  551. package/dist/lib/transcript-utils.d.ts.map +1 -0
  552. package/dist/lib/transcript-utils.js +69 -0
  553. package/dist/lib/transcript-utils.js.map +1 -0
  554. package/dist/lib/tree-sitter/extractor.d.ts +1 -1
  555. package/dist/lib/tree-sitter/extractor.d.ts.map +1 -1
  556. package/dist/lib/tree-sitter/extractor.js +34 -9
  557. package/dist/lib/tree-sitter/extractor.js.map +1 -1
  558. package/dist/lib/tree-sitter/parser.d.ts.map +1 -1
  559. package/dist/lib/tree-sitter/parser.js +45 -11
  560. package/dist/lib/tree-sitter/parser.js.map +1 -1
  561. package/dist/lib/tree-sitter/public.d.ts +12 -0
  562. package/dist/lib/tree-sitter/public.d.ts.map +1 -1
  563. package/dist/lib/tree-sitter/public.js +33 -1
  564. package/dist/lib/tree-sitter/public.js.map +1 -1
  565. package/dist/lib/tree-sitter/queries.d.ts.map +1 -1
  566. package/dist/lib/tree-sitter/queries.js +8 -0
  567. package/dist/lib/tree-sitter/queries.js.map +1 -1
  568. package/dist/lib/version-check.d.ts +29 -0
  569. package/dist/lib/version-check.d.ts.map +1 -0
  570. package/dist/lib/version-check.js +187 -0
  571. package/dist/lib/version-check.js.map +1 -0
  572. package/dist/lib/working-memory-pipeline.d.ts.map +1 -1
  573. package/dist/lib/working-memory-pipeline.js +12 -3
  574. package/dist/lib/working-memory-pipeline.js.map +1 -1
  575. package/dist/lib/worktree-detect.d.ts +43 -0
  576. package/dist/lib/worktree-detect.d.ts.map +1 -0
  577. package/dist/lib/worktree-detect.js +154 -0
  578. package/dist/lib/worktree-detect.js.map +1 -0
  579. package/dist/lsp/client.d.ts +96 -0
  580. package/dist/lsp/client.d.ts.map +1 -0
  581. package/dist/lsp/client.js +435 -0
  582. package/dist/lsp/client.js.map +1 -0
  583. package/dist/lsp/installer.d.ts +39 -0
  584. package/dist/lsp/installer.d.ts.map +1 -0
  585. package/dist/lsp/installer.js +275 -0
  586. package/dist/lsp/installer.js.map +1 -0
  587. package/dist/lsp/manager.d.ts +62 -0
  588. package/dist/lsp/manager.d.ts.map +1 -0
  589. package/dist/lsp/manager.js +234 -0
  590. package/dist/lsp/manager.js.map +1 -0
  591. package/dist/lsp/servers.d.ts +52 -0
  592. package/dist/lsp/servers.d.ts.map +1 -0
  593. package/dist/lsp/servers.js +162 -0
  594. package/dist/lsp/servers.js.map +1 -0
  595. package/dist/mcp/helpers.d.ts.map +1 -1
  596. package/dist/mcp/helpers.js +8 -2
  597. package/dist/mcp/helpers.js.map +1 -1
  598. package/dist/mcp/profile.js +1 -1
  599. package/dist/mcp/server.d.ts +3 -2
  600. package/dist/mcp/server.d.ts.map +1 -1
  601. package/dist/mcp/server.js +19 -7
  602. package/dist/mcp/server.js.map +1 -1
  603. package/dist/mcp/tools/config.d.ts.map +1 -1
  604. package/dist/mcp/tools/config.js +28 -118
  605. package/dist/mcp/tools/config.js.map +1 -1
  606. package/dist/mcp/tools/dead-end.d.ts.map +1 -1
  607. package/dist/mcp/tools/dead-end.js +4 -3
  608. package/dist/mcp/tools/dead-end.js.map +1 -1
  609. package/dist/mcp/tools/debug.d.ts.map +1 -1
  610. package/dist/mcp/tools/debug.js +27 -112
  611. package/dist/mcp/tools/debug.js.map +1 -1
  612. package/dist/mcp/tools/graph.d.ts.map +1 -1
  613. package/dist/mcp/tools/graph.js +164 -176
  614. package/dist/mcp/tools/graph.js.map +1 -1
  615. package/dist/mcp/tools/indexing.d.ts +1 -1
  616. package/dist/mcp/tools/indexing.d.ts.map +1 -1
  617. package/dist/mcp/tools/indexing.js +63 -164
  618. package/dist/mcp/tools/indexing.js.map +1 -1
  619. package/dist/mcp/tools/memory/forget.d.ts +3 -0
  620. package/dist/mcp/tools/memory/forget.d.ts.map +1 -0
  621. package/dist/mcp/tools/memory/forget.js +175 -0
  622. package/dist/mcp/tools/memory/forget.js.map +1 -0
  623. package/dist/mcp/tools/memory/memory-helpers.d.ts +45 -0
  624. package/dist/mcp/tools/memory/memory-helpers.d.ts.map +1 -0
  625. package/dist/mcp/tools/memory/memory-helpers.js +291 -0
  626. package/dist/mcp/tools/memory/memory-helpers.js.map +1 -0
  627. package/dist/mcp/tools/memory/recall.d.ts +3 -0
  628. package/dist/mcp/tools/memory/recall.d.ts.map +1 -0
  629. package/dist/mcp/tools/memory/recall.js +495 -0
  630. package/dist/mcp/tools/memory/recall.js.map +1 -0
  631. package/dist/mcp/tools/memory/remember.d.ts +3 -0
  632. package/dist/mcp/tools/memory/remember.d.ts.map +1 -0
  633. package/dist/mcp/tools/memory/remember.js +256 -0
  634. package/dist/mcp/tools/memory/remember.js.map +1 -0
  635. package/dist/mcp/tools/memory/temporal-query.d.ts +8 -0
  636. package/dist/mcp/tools/memory/temporal-query.d.ts.map +1 -0
  637. package/dist/mcp/tools/memory/temporal-query.js +68 -0
  638. package/dist/mcp/tools/memory/temporal-query.js.map +1 -0
  639. package/dist/mcp/tools/memory.d.ts +0 -11
  640. package/dist/mcp/tools/memory.d.ts.map +1 -1
  641. package/dist/mcp/tools/memory.js +6 -1228
  642. package/dist/mcp/tools/memory.js.map +1 -1
  643. package/dist/mcp/tools/prd.d.ts.map +1 -1
  644. package/dist/mcp/tools/prd.js +19 -70
  645. package/dist/mcp/tools/prd.js.map +1 -1
  646. package/dist/mcp/tools/review.d.ts +8 -0
  647. package/dist/mcp/tools/review.d.ts.map +1 -0
  648. package/dist/mcp/tools/review.js +133 -0
  649. package/dist/mcp/tools/review.js.map +1 -0
  650. package/dist/mcp/tools/search.d.ts.map +1 -1
  651. package/dist/mcp/tools/search.js +79 -8
  652. package/dist/mcp/tools/search.js.map +1 -1
  653. package/dist/mcp/tools/status.d.ts.map +1 -1
  654. package/dist/mcp/tools/status.js +50 -75
  655. package/dist/mcp/tools/status.js.map +1 -1
  656. package/dist/mcp/tools/web-fetch.d.ts.map +1 -1
  657. package/dist/mcp/tools/web-fetch.js +5 -1
  658. package/dist/mcp/tools/web-fetch.js.map +1 -1
  659. package/dist/mcp/tools/web-search.d.ts.map +1 -1
  660. package/dist/mcp/tools/web-search.js +25 -103
  661. package/dist/mcp/tools/web-search.js.map +1 -1
  662. package/dist/prompts/guardrails.d.ts +14 -0
  663. package/dist/prompts/guardrails.d.ts.map +1 -0
  664. package/dist/prompts/guardrails.js +115 -0
  665. package/dist/prompts/guardrails.js.map +1 -0
  666. package/dist/prompts/index.d.ts +2 -1
  667. package/dist/prompts/index.d.ts.map +1 -1
  668. package/dist/prompts/index.js +3 -1
  669. package/dist/prompts/index.js.map +1 -1
  670. package/dist/prompts/prd.d.ts +0 -2
  671. package/dist/prompts/prd.d.ts.map +1 -1
  672. package/dist/prompts/prd.js +0 -2
  673. package/dist/prompts/prd.js.map +1 -1
  674. package/hooks/core/__tests__/adapter.test.cjs +340 -0
  675. package/hooks/core/adapter.cjs +463 -0
  676. package/hooks/core/config.cjs +83 -0
  677. package/hooks/core/daemon-boot.cjs +140 -0
  678. package/hooks/core/log.cjs +41 -0
  679. package/hooks/core/worktree.cjs +119 -0
  680. package/hooks/succ-post-tool.cjs +198 -134
  681. package/hooks/succ-pre-compact.cjs +262 -0
  682. package/hooks/succ-pre-tool.cjs +526 -182
  683. package/hooks/succ-session-end.cjs +40 -64
  684. package/hooks/succ-session-start.cjs +528 -427
  685. package/hooks/succ-stop-reflection.cjs +36 -62
  686. package/hooks/succ-user-prompt.cjs +137 -180
  687. package/package.json +17 -6
@@ -0,0 +1,625 @@
1
+ /**
2
+ * Command safety guard — blocks dangerous shell commands.
3
+ *
4
+ * Extracted from hooks/succ-pre-tool.cjs for reuse in daemon HTTP hook routes.
5
+ * The .cjs hook keeps its own inline copy (CommonJS, no imports).
6
+ */
7
+ export const DANGEROUS_PATTERNS = [
8
+ // ── Git — data loss ──
9
+ {
10
+ pattern: /\bgit\s+reset\s+--hard\b/,
11
+ reason: 'git reset --hard destroys uncommitted changes. Use git stash first.',
12
+ },
13
+ {
14
+ pattern: /\bgit\s+reset\s+--merge\b/,
15
+ reason: 'git reset --merge can destroy uncommitted changes.',
16
+ },
17
+ {
18
+ pattern: /\bgit\s+checkout\s+--\s/,
19
+ reason: 'git checkout -- discards file modifications. Use git stash first.',
20
+ },
21
+ {
22
+ pattern: /\bgit\s+checkout\s+\.\s*($|[;&|])/,
23
+ reason: 'git checkout . discards all modifications. Use git stash first.',
24
+ },
25
+ {
26
+ pattern: /\bgit\s+restore\s+--staged\s+--worktree\b/,
27
+ reason: 'git restore --staged --worktree discards both staged and unstaged changes.',
28
+ },
29
+ {
30
+ pattern: /\bgit\s+restore\s+\.\s*($|[;&|])/,
31
+ reason: 'git restore . discards all modifications.',
32
+ },
33
+ {
34
+ pattern: /\bgit\s+clean\s+-[a-zA-Z]*f/,
35
+ reason: 'git clean -f permanently deletes untracked files.',
36
+ },
37
+ {
38
+ pattern: /\bgit\s+push\s+.*--force(?!-with-lease)\b/,
39
+ reason: 'git push --force rewrites remote history. Use --force-with-lease instead.',
40
+ },
41
+ {
42
+ pattern: /\bgit\s+push\s+-f\b/,
43
+ reason: 'git push -f rewrites remote history. Use --force-with-lease instead.',
44
+ },
45
+ {
46
+ pattern: /\bgit\s+branch\s+-D\b/,
47
+ reason: 'git branch -D force-deletes without merge verification. Use -d for safe delete.',
48
+ },
49
+ {
50
+ pattern: /\bgit\s+stash\s+drop\b/,
51
+ reason: 'git stash drop permanently destroys stashed work.',
52
+ },
53
+ { pattern: /\bgit\s+stash\s+clear\b/, reason: 'git stash clear destroys ALL stashed work.' },
54
+ {
55
+ pattern: /\bgit\s+rebase\s+-i\b/,
56
+ reason: 'git rebase -i requires interactive terminal (not available in hooks).',
57
+ },
58
+ {
59
+ pattern: /\bgit\s+reflog\s+expire\s+--expire=now\b/,
60
+ reason: 'git reflog expire --expire=now permanently removes recovery points.',
61
+ },
62
+ {
63
+ pattern: /\bgit\s+filter-branch\b/,
64
+ reason: 'git filter-branch rewrites history and can destroy data. Use git filter-repo instead.',
65
+ },
66
+ {
67
+ pattern: /\bgit\s+.*--no-verify\b/,
68
+ reason: 'git --no-verify skips pre-commit hooks (safety checks bypassed).',
69
+ },
70
+ // ── Filesystem — data loss ──
71
+ {
72
+ pattern: /\brm\s+.*\.succ\b/,
73
+ reason: '.succ/ contains your memory, brain vault, and config. This would destroy all succ data.',
74
+ },
75
+ {
76
+ pattern: /\brm\s+-[a-zA-Z]*r[a-zA-Z]*f[a-zA-Z]*\b/,
77
+ reason: 'rm -rf can permanently delete files. Verify the target path.',
78
+ checkPath: true,
79
+ },
80
+ {
81
+ pattern: /\brm\s+-[a-zA-Z]*f[a-zA-Z]*r[a-zA-Z]*\b/,
82
+ reason: 'rm -fr can permanently delete files. Verify the target path.',
83
+ checkPath: true,
84
+ },
85
+ {
86
+ pattern: /\brm\s+-r\s+\/\s/,
87
+ reason: 'rm -r / would destroy the entire filesystem.',
88
+ },
89
+ {
90
+ pattern: /\brm\s+-r\s+~(?:\s|\/|$)/,
91
+ reason: 'rm -r ~ would destroy the entire home directory.',
92
+ },
93
+ {
94
+ pattern: /\bshred\b/,
95
+ reason: 'shred permanently overwrites file data beyond recovery.',
96
+ },
97
+ {
98
+ pattern: /\bdd\s+.*\bof=\/dev\//,
99
+ reason: 'dd writing to /dev/ devices can destroy disk data.',
100
+ },
101
+ {
102
+ pattern: /\bmkfs\b/,
103
+ reason: 'mkfs formats a filesystem, destroying all existing data.',
104
+ },
105
+ // ── Docker — container/image/volume destruction ──
106
+ {
107
+ pattern: /\bdocker\s+system\s+prune\b/,
108
+ reason: 'docker system prune removes all unused containers, networks, images, and optionally volumes.',
109
+ },
110
+ {
111
+ pattern: /\bdocker\s+volume\s+prune\b/,
112
+ reason: 'docker volume prune removes all unused volumes (potential data loss).',
113
+ },
114
+ {
115
+ pattern: /\bdocker\s+rm\s+-f\b/,
116
+ reason: 'docker rm -f force-removes running containers without graceful shutdown.',
117
+ },
118
+ {
119
+ pattern: /\bdocker\s+rmi\s+-f\b/,
120
+ reason: 'docker rmi -f force-removes images that may be in use.',
121
+ },
122
+ {
123
+ pattern: /\bdocker-compose\s+down\s+-v\b/,
124
+ reason: 'docker-compose down -v removes named volumes (database data loss).',
125
+ },
126
+ {
127
+ pattern: /\bdocker\s+compose\s+down\s+-v\b/,
128
+ reason: 'docker compose down -v removes named volumes (database data loss).',
129
+ },
130
+ // ── Infrastructure — cloud/k8s destruction ──
131
+ {
132
+ pattern: /\bterraform\s+destroy\b/,
133
+ reason: 'terraform destroy tears down all managed infrastructure.',
134
+ },
135
+ {
136
+ pattern: /\bkubectl\s+delete\s+(?:ns|namespace)\b/,
137
+ reason: 'kubectl delete namespace removes the entire namespace and all resources.',
138
+ },
139
+ {
140
+ pattern: /\bkubectl\s+delete\s+.*--all\b/,
141
+ reason: 'kubectl delete --all removes all resources of the specified type.',
142
+ },
143
+ {
144
+ pattern: /\bhelm\s+uninstall\b/,
145
+ reason: 'helm uninstall removes a Helm release and its resources.',
146
+ },
147
+ // ── SQLite — database destruction ──
148
+ {
149
+ pattern: /\bsqlite3?\b.*\bDROP\s+TABLE\b/i,
150
+ reason: 'DROP TABLE permanently deletes a SQLite table and all its data.',
151
+ },
152
+ {
153
+ pattern: /\bsqlite3?\b.*\bDROP\s+DATABASE\b/i,
154
+ reason: 'DROP DATABASE permanently deletes the entire SQLite database.',
155
+ },
156
+ {
157
+ pattern: /\bsqlite3?\b.*\bDELETE\s+FROM\s+\w+\s*;/i,
158
+ reason: 'DELETE FROM without WHERE deletes all rows in a SQLite table.',
159
+ },
160
+ {
161
+ pattern: /\bsqlite3?\b.*\bTRUNCATE\b/i,
162
+ reason: 'TRUNCATE removes all data from a SQLite table.',
163
+ },
164
+ // ── PostgreSQL — database destruction ──
165
+ {
166
+ pattern: /\bpsql\b.*\bDROP\s+TABLE\b/i,
167
+ reason: 'DROP TABLE permanently deletes a PostgreSQL table and all its data.',
168
+ },
169
+ {
170
+ pattern: /\bpsql\b.*\bDROP\s+DATABASE\b/i,
171
+ reason: 'DROP DATABASE permanently deletes the entire PostgreSQL database.',
172
+ },
173
+ {
174
+ pattern: /\bpsql\b.*\bDELETE\s+FROM\s+\w+\s*;/i,
175
+ reason: 'DELETE FROM without WHERE deletes all rows in a PostgreSQL table.',
176
+ },
177
+ {
178
+ pattern: /\bpsql\b.*\bTRUNCATE\b/i,
179
+ reason: 'TRUNCATE removes all data from a PostgreSQL table.',
180
+ },
181
+ { pattern: /\bdropdb\b/, reason: 'dropdb permanently deletes a PostgreSQL database.' },
182
+ { pattern: /\bdropuser\b/, reason: 'dropuser permanently deletes a PostgreSQL user/role.' },
183
+ // ── Redis — database destruction ──
184
+ {
185
+ pattern: /\bredis-cli\b.*\bFLUSHALL\b/i,
186
+ reason: 'FLUSHALL removes all data from all Redis databases.',
187
+ },
188
+ {
189
+ pattern: /\bredis-cli\b.*\bFLUSHDB\b/i,
190
+ reason: 'FLUSHDB removes all data from the current Redis database.',
191
+ },
192
+ // ── MongoDB — database destruction ──
193
+ {
194
+ pattern: /\bmongo(?:sh)?\b.*\bdropDatabase\b/,
195
+ reason: 'dropDatabase permanently deletes a MongoDB database.',
196
+ },
197
+ {
198
+ pattern: /\bmongo(?:sh)?\b.*\.drop\s*\(/,
199
+ reason: '.drop() permanently deletes a MongoDB collection.',
200
+ },
201
+ // ── Qdrant — vector database destruction ──
202
+ {
203
+ pattern: /\bcurl\b.*\bqdrant\b.*\bDELETE\b/i,
204
+ reason: 'DELETE on Qdrant API can remove collections or points permanently.',
205
+ },
206
+ {
207
+ pattern: /\bcurl\b.*\b:6333\b.*\bDELETE\b/i,
208
+ reason: 'DELETE on Qdrant port 6333 can remove collections or points permanently.',
209
+ },
210
+ {
211
+ pattern: /\bcurl\b.*\b:6334\b.*\bDELETE\b/i,
212
+ reason: 'DELETE on Qdrant gRPC port can remove data permanently.',
213
+ },
214
+ // ── Permissions — dangerous changes ──
215
+ {
216
+ pattern: /\bchmod\s+-R\s+777\b/,
217
+ reason: 'chmod -R 777 makes everything world-writable (security risk).',
218
+ },
219
+ {
220
+ pattern: /\bchmod\s+-R\s+666\b/,
221
+ reason: 'chmod -R 666 makes all files world-writable (security risk).',
222
+ },
223
+ {
224
+ pattern: /\bchown\s+-R\s+root\b/,
225
+ reason: 'chown -R root changes ownership recursively (may lock you out).',
226
+ },
227
+ // ── Disk operations — destructive ──
228
+ {
229
+ pattern: /\bfdisk\b/,
230
+ reason: 'fdisk modifies disk partition tables (potential data loss).',
231
+ },
232
+ {
233
+ pattern: /\bparted\b/,
234
+ reason: 'parted modifies disk partitions (potential data loss).',
235
+ },
236
+ {
237
+ pattern: /\bwipefs\b/,
238
+ reason: 'wipefs erases filesystem signatures (potential data loss).',
239
+ },
240
+ // ── Process termination ──
241
+ {
242
+ pattern: /\bkillall\b/,
243
+ reason: 'killall terminates all processes matching the name.',
244
+ },
245
+ {
246
+ pattern: /\bkill\s+-9\b/,
247
+ reason: 'kill -9 forcefully terminates without cleanup (SIGKILL).',
248
+ },
249
+ {
250
+ pattern: /\bkill\s+-(?:KILL|SIGKILL)\b/,
251
+ reason: 'kill -KILL forcefully terminates without cleanup.',
252
+ },
253
+ // ── Lockfile deletion (via rm) ──
254
+ {
255
+ pattern: /\brm\s+.*package-lock\.json\b/,
256
+ reason: 'Deleting package-lock.json can cause dependency resolution issues.',
257
+ },
258
+ {
259
+ pattern: /\brm\s+.*yarn\.lock\b/,
260
+ reason: 'Deleting yarn.lock can cause dependency resolution issues.',
261
+ },
262
+ {
263
+ pattern: /\brm\s+.*pnpm-lock\.yaml\b/,
264
+ reason: 'Deleting pnpm-lock.yaml can cause dependency resolution issues.',
265
+ },
266
+ // ── Exfiltration — data theft ──
267
+ {
268
+ pattern: /\bcurl\b.*(?:-d\b|--data\b|--form\b)/,
269
+ reason: 'curl with data flags can exfiltrate information to external servers.',
270
+ checkPath: false,
271
+ // Exempt localhost/127.0.0.1 — local dev is safe
272
+ exemptLocalhost: true,
273
+ },
274
+ {
275
+ pattern: /\bwget\s+--post-data\b/,
276
+ reason: 'wget --post-data can exfiltrate information.',
277
+ },
278
+ {
279
+ pattern: /\bnc\s+-[a-zA-Z]*\s/,
280
+ reason: 'netcat can be used for data exfiltration or reverse shells.',
281
+ },
282
+ {
283
+ pattern: /\bbase64\b.*\|\s*\bcurl\b/,
284
+ reason: 'Piping base64 to curl is a common exfiltration pattern.',
285
+ },
286
+ {
287
+ pattern: /\bcat\b.*\|\s*\bcurl\b/,
288
+ reason: 'Piping file contents to curl can exfiltrate sensitive data.',
289
+ },
290
+ // ── Supply chain — untrusted sources ──
291
+ {
292
+ pattern: /\bcurl\b.*\|\s*(?:bash|sh|zsh)\b/,
293
+ reason: 'Piping curl to shell executes untrusted remote code.',
294
+ },
295
+ {
296
+ pattern: /\bwget\b.*\|\s*(?:bash|sh|zsh)\b/,
297
+ reason: 'Piping wget to shell executes untrusted remote code.',
298
+ },
299
+ {
300
+ pattern: /\bpip\s+install\s+-i\s/,
301
+ reason: 'pip install -i uses a custom index (supply chain risk).',
302
+ },
303
+ {
304
+ pattern: /\bnpm\s+install\s+--registry\s/,
305
+ reason: 'npm install --registry uses a custom registry (supply chain risk).',
306
+ },
307
+ ];
308
+ /** Paths where rm -rf is considered safe (normalized, lowercase) */
309
+ export const SAFE_RM_PATHS = [
310
+ '/tmp',
311
+ '/var/tmp',
312
+ 'dist',
313
+ 'build',
314
+ '.cache',
315
+ '__pycache__',
316
+ '.pytest_cache',
317
+ '.tox',
318
+ 'target/debug',
319
+ 'target/release',
320
+ '.next',
321
+ '.nuxt',
322
+ '.turbo',
323
+ 'coverage',
324
+ ];
325
+ /** File extensions that should NEVER be read/written (private keys, certs) */
326
+ const SENSITIVE_FILE_EXTENSIONS = ['.pem', '.key', '.p12', '.pfx', '.jks', '.keystore'];
327
+ /** Files that should NEVER be deleted (critical project files) */
328
+ const PROTECTED_DELETE_PATTERNS = [
329
+ {
330
+ pattern: /\.gitignore$/i,
331
+ reason: '.gitignore controls tracked files — deletion can expose secrets.',
332
+ },
333
+ {
334
+ pattern: /Dockerfile$/i,
335
+ reason: 'Dockerfile is critical infrastructure — verify before deleting.',
336
+ },
337
+ {
338
+ pattern: /\.github\/workflows\//i,
339
+ reason: 'CI/CD workflow — deletion can break deployment pipeline.',
340
+ },
341
+ {
342
+ pattern: /\.gitlab-ci\.yml$/i,
343
+ reason: 'CI/CD config — deletion can break deployment pipeline.',
344
+ },
345
+ {
346
+ pattern: /CODEOWNERS$/i,
347
+ reason: 'CODEOWNERS controls review policy — verify before deleting.',
348
+ },
349
+ {
350
+ pattern: /migrations?\//i,
351
+ reason: 'Migration files are sequential — deletion can corrupt database schema.',
352
+ },
353
+ {
354
+ pattern: /package-lock\.json$/i,
355
+ reason: 'Lockfile ensures reproducible builds — deletion can cause dependency issues.',
356
+ },
357
+ {
358
+ pattern: /yarn\.lock$/i,
359
+ reason: 'Lockfile ensures reproducible builds — deletion can cause dependency issues.',
360
+ },
361
+ {
362
+ pattern: /pnpm-lock\.yaml$/i,
363
+ reason: 'Lockfile ensures reproducible builds — deletion can cause dependency issues.',
364
+ },
365
+ ];
366
+ /** File patterns that should prompt user (ask mode) on write */
367
+ const ASK_ON_WRITE_PATTERNS = [
368
+ {
369
+ pattern: /\.env(?:\.|$)/i,
370
+ reason: '.env files may contain secrets — verify content before writing.',
371
+ },
372
+ ];
373
+ /** Exfiltration URL blocklist (domains commonly used for data theft) */
374
+ export const EXFIL_URL_BLOCKLIST = [
375
+ 'pastebin.com',
376
+ 'hastebin.com',
377
+ 'paste.ee',
378
+ 'dpaste.org',
379
+ 'transfer.sh',
380
+ 'file.io',
381
+ '0x0.st',
382
+ 'webhook.site',
383
+ 'requestbin.com',
384
+ 'hookbin.com',
385
+ 'pipedream.net',
386
+ 'ngrok.io',
387
+ 'ngrok.app',
388
+ 'burpcollaborator.net',
389
+ 'interact.sh',
390
+ 'canarytokens.com',
391
+ ];
392
+ /**
393
+ * Check if a file operation (Read, Write, Edit) should be guarded.
394
+ * @param operation - 'read' | 'write' | 'delete'
395
+ * @param filePath - absolute or relative file path
396
+ * @param mode - guard mode from config (default: 'deny')
397
+ */
398
+ export function checkFileOperation(operation, filePath, mode = 'deny') {
399
+ if (mode === 'off')
400
+ return null;
401
+ const normalized = filePath.replace(/\\/g, '/').toLowerCase();
402
+ const basename = normalized.split('/').pop() || '';
403
+ const parts = basename.split('.');
404
+ // Skip node_modules and .git internals
405
+ if (normalized.includes('/node_modules/') || normalized.includes('/.git/'))
406
+ return null;
407
+ // Sensitive file extensions — deny read/write (check ALL extensions, e.g. file.pem.bak)
408
+ if (operation === 'read' || operation === 'write') {
409
+ for (let i = 1; i < parts.length; i++) {
410
+ const ext = '.' + parts[i];
411
+ if (SENSITIVE_FILE_EXTENSIONS.includes(ext)) {
412
+ return {
413
+ reason: `${ext} files contain private keys/certificates — ${operation} blocked for security.`,
414
+ mode: mode,
415
+ };
416
+ }
417
+ }
418
+ }
419
+ // Protected files — deny delete
420
+ if (operation === 'delete') {
421
+ for (const { pattern, reason } of PROTECTED_DELETE_PATTERNS) {
422
+ if (pattern.test(normalized)) {
423
+ return { reason, mode: mode };
424
+ }
425
+ }
426
+ }
427
+ // .env files — ask on write
428
+ if (operation === 'write') {
429
+ for (const { pattern, reason } of ASK_ON_WRITE_PATTERNS) {
430
+ if (pattern.test(normalized)) {
431
+ return { reason, mode: 'ask' };
432
+ }
433
+ }
434
+ }
435
+ return null;
436
+ }
437
+ /**
438
+ * Check if a URL appears in the exfiltration blocklist.
439
+ */
440
+ export function isExfilUrl(url) {
441
+ const lower = url.toLowerCase();
442
+ return EXFIL_URL_BLOCKLIST.some((domain) => lower.includes(domain));
443
+ }
444
+ /** Prefixes that indicate the command is data, not execution (ONLY for single commands) */
445
+ const DATA_PREFIXES = [
446
+ /^\s*(?:#|\/\/)/, // comments
447
+ /^\s*echo\b/, // echo
448
+ /^\s*printf\b/, // printf
449
+ /^\s*cat\s*<</, // heredoc (cat <<)
450
+ /^\s*grep\b/, // grep
451
+ /^\s*rg\b/, // ripgrep
452
+ /^\s*ag\b/, // silver searcher
453
+ /^\s*(?:"|').*(?:"|')\s*$/, // quoted string
454
+ ];
455
+ /** Max regex pattern length to prevent ReDoS from user-authored patterns */
456
+ const MAX_REGEX_LENGTH = 200;
457
+ /**
458
+ * Split a shell command line into individual commands separated by ;, &&, ||, |.
459
+ * Respects quoted strings (single and double quotes).
460
+ */
461
+ function splitShellCommands(command) {
462
+ const parts = [];
463
+ let current = '';
464
+ let inSingle = false;
465
+ let inDouble = false;
466
+ let i = 0;
467
+ while (i < command.length) {
468
+ const ch = command[i];
469
+ if (ch === "'" && !inDouble) {
470
+ inSingle = !inSingle;
471
+ current += ch;
472
+ i++;
473
+ }
474
+ else if (ch === '"' && !inSingle) {
475
+ inDouble = !inDouble;
476
+ current += ch;
477
+ i++;
478
+ }
479
+ else if (!inSingle && !inDouble) {
480
+ // Check for && || ; |
481
+ if (command[i] === '&' && command[i + 1] === '&') {
482
+ parts.push(current);
483
+ current = '';
484
+ i += 2;
485
+ }
486
+ else if (command[i] === '|' && command[i + 1] === '|') {
487
+ parts.push(current);
488
+ current = '';
489
+ i += 2;
490
+ }
491
+ else if (command[i] === ';' || command[i] === '|') {
492
+ parts.push(current);
493
+ current = '';
494
+ i++;
495
+ }
496
+ else {
497
+ current += ch;
498
+ i++;
499
+ }
500
+ }
501
+ else {
502
+ current += ch;
503
+ i++;
504
+ }
505
+ }
506
+ if (current.trim())
507
+ parts.push(current);
508
+ return parts.map((p) => p.trim()).filter(Boolean);
509
+ }
510
+ /**
511
+ * Check if command is in a data context (grep, echo, comment, etc.)
512
+ * Only returns true if ALL sub-commands in the line are data context.
513
+ * This prevents bypass via `echo ok && rm -rf .succ`.
514
+ * Also rejects commands with subshell expansion $(...) or backticks
515
+ * since those execute even inside echo/printf.
516
+ */
517
+ export function isDataContext(command) {
518
+ const parts = splitShellCommands(command);
519
+ if (parts.length === 0)
520
+ return true;
521
+ return parts.every((part) => {
522
+ const trimmed = part.trim();
523
+ // Reject if contains subshell expansion — these execute even inside echo/printf
524
+ if (/\$\(/.test(trimmed) || /`[^`]+`/.test(trimmed))
525
+ return false;
526
+ return DATA_PREFIXES.some((prefix) => prefix.test(trimmed));
527
+ });
528
+ }
529
+ /** Check if rm -rf target is a safe path */
530
+ export function isRmPathSafe(command) {
531
+ // Match both short flags (-rf, -fr) and long flags (--recursive --force, -r --force, etc.)
532
+ const match = command.match(/\brm\s+(?:-[a-zA-Z]*(?:rf|fr)[a-zA-Z]*|(?:--recursive\s+--force|--force\s+--recursive|-r\s+--force|--force\s+-r|-f\s+--recursive|--recursive\s+-f))\s+(.+?)(?:\s*[;&|]|$)/);
533
+ if (!match)
534
+ return false;
535
+ const target = match[1].trim().replace(/["']/g, '');
536
+ let normalized = target.toLowerCase().replace(/\\/g, '/');
537
+ // Resolve path traversal (../.. ) to prevent /tmp/../etc/passwd bypass
538
+ // Collapse /../ segments manually since path.resolve isn't available here
539
+ const segments = normalized.split('/');
540
+ const resolved = [];
541
+ for (const seg of segments) {
542
+ if (seg === '..') {
543
+ resolved.pop(); // go up one level
544
+ }
545
+ else if (seg !== '.') {
546
+ resolved.push(seg);
547
+ }
548
+ }
549
+ normalized = resolved.join('/');
550
+ return SAFE_RM_PATHS.some((safe) => {
551
+ if (normalized === safe || normalized.endsWith('/' + safe))
552
+ return true;
553
+ if (safe === '/tmp' && normalized.startsWith('/tmp/'))
554
+ return true;
555
+ if (safe === '/var/tmp' && normalized.startsWith('/var/tmp/'))
556
+ return true;
557
+ return false;
558
+ });
559
+ }
560
+ /** Extract safety config from a parsed SuccConfig object */
561
+ export function extractSafetyConfig(guard) {
562
+ return {
563
+ mode: guard?.mode ?? 'deny',
564
+ allowlist: guard?.allowlist ?? [],
565
+ customPatterns: guard?.customPatterns ?? [],
566
+ };
567
+ }
568
+ /**
569
+ * Check if a command is dangerous.
570
+ * Returns null if safe, or { reason, mode } if dangerous.
571
+ */
572
+ export function checkDangerous(command, config) {
573
+ if (config.mode === 'off')
574
+ return null;
575
+ // Check allowlist — each entry is tested as an anchored regex against the full command.
576
+ // Examples: "^git push$" (exact), "^npm test" (prefix), "^git push(?! .*(--force|-f))" (push but not force)
577
+ const trimmed = command.trim();
578
+ for (const allowed of config.allowlist) {
579
+ if (allowed.length > MAX_REGEX_LENGTH)
580
+ continue; // ReDoS guard
581
+ try {
582
+ if (new RegExp(allowed).test(trimmed))
583
+ return null;
584
+ }
585
+ catch {
586
+ // Invalid regex — try as literal exact match fallback
587
+ if (trimmed === allowed)
588
+ return null;
589
+ }
590
+ }
591
+ // Skip if command is in a data context
592
+ if (isDataContext(command))
593
+ return null;
594
+ // Check built-in patterns
595
+ for (const { pattern, reason, checkPath, exemptLocalhost } of DANGEROUS_PATTERNS) {
596
+ if (pattern.test(command)) {
597
+ if (checkPath && isRmPathSafe(command))
598
+ continue;
599
+ // Require host to be followed by port/path/quote/space/end — prevents localhost.evil.com bypass
600
+ if (exemptLocalhost &&
601
+ /(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\])(?=[:/'")\s]|$)/.test(command))
602
+ continue;
603
+ return { reason, mode: config.mode };
604
+ }
605
+ }
606
+ // Check user-defined custom patterns
607
+ for (const custom of config.customPatterns) {
608
+ if (custom.pattern.length > MAX_REGEX_LENGTH)
609
+ continue; // ReDoS guard
610
+ try {
611
+ const regex = new RegExp(custom.pattern, custom.flags || '');
612
+ if (regex.test(command)) {
613
+ return {
614
+ reason: custom.reason || `Blocked by custom pattern: ${custom.pattern}`,
615
+ mode: config.mode,
616
+ };
617
+ }
618
+ }
619
+ catch {
620
+ // Invalid regex — skip
621
+ }
622
+ }
623
+ return null;
624
+ }
625
+ //# sourceMappingURL=command-safety.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-safety.js","sourceRoot":"","sources":["../../src/lib/command-safety.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compact-briefing.d.ts","sourceRoot":"","sources":["../../src/lib/compact-briefing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAiB9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2ID;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CA+DzB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CASzB"}
1
+ {"version":3,"file":"compact-briefing.d.ts","sourceRoot":"","sources":["../../src/lib/compact-briefing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA4B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAmB9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsID;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,iBAAiB,EAAE,MAAM,EACzB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CA+DzB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CASzB"}