causantic 0.2.1 → 0.3.1

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 (457) hide show
  1. package/README.md +53 -66
  2. package/config.schema.json +12 -87
  3. package/dist/cli/commands/archive.d.ts.map +1 -1
  4. package/dist/cli/commands/archive.js.map +1 -1
  5. package/dist/cli/commands/benchmark-collection.d.ts.map +1 -1
  6. package/dist/cli/commands/benchmark-collection.js.map +1 -1
  7. package/dist/cli/commands/encryption.d.ts.map +1 -1
  8. package/dist/cli/commands/encryption.js.map +1 -1
  9. package/dist/cli/commands/hook.d.ts.map +1 -1
  10. package/dist/cli/commands/hook.js.map +1 -1
  11. package/dist/cli/commands/init.d.ts.map +1 -1
  12. package/dist/cli/commands/init.js +51 -43
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/maintenance.d.ts.map +1 -1
  15. package/dist/cli/commands/maintenance.js +10 -3
  16. package/dist/cli/commands/maintenance.js.map +1 -1
  17. package/dist/cli/commands/serve.d.ts.map +1 -1
  18. package/dist/cli/commands/serve.js +3 -3
  19. package/dist/cli/commands/serve.js.map +1 -1
  20. package/dist/cli/skill-templates.d.ts.map +1 -1
  21. package/dist/cli/skill-templates.js +223 -153
  22. package/dist/cli/skill-templates.js.map +1 -1
  23. package/dist/cli/uninstall.d.ts.map +1 -1
  24. package/dist/cli/uninstall.js +4 -1
  25. package/dist/cli/uninstall.js.map +1 -1
  26. package/dist/clusters/cluster-manager.d.ts +23 -0
  27. package/dist/clusters/cluster-manager.d.ts.map +1 -1
  28. package/dist/clusters/cluster-manager.js +69 -2
  29. package/dist/clusters/cluster-manager.js.map +1 -1
  30. package/dist/clusters/cluster-refresh.d.ts.map +1 -1
  31. package/dist/clusters/cluster-refresh.js +5 -1
  32. package/dist/clusters/cluster-refresh.js.map +1 -1
  33. package/dist/clusters/hdbscan/cluster-extraction.d.ts.map +1 -1
  34. package/dist/clusters/hdbscan/cluster-extraction.js +1 -2
  35. package/dist/clusters/hdbscan/cluster-extraction.js.map +1 -1
  36. package/dist/clusters/hdbscan/hierarchy.d.ts.map +1 -1
  37. package/dist/clusters/hdbscan/hierarchy.js +1 -3
  38. package/dist/clusters/hdbscan/hierarchy.js.map +1 -1
  39. package/dist/clusters/hdbscan/incremental.d.ts.map +1 -1
  40. package/dist/clusters/hdbscan/incremental.js.map +1 -1
  41. package/dist/clusters/hdbscan/probabilities.d.ts +1 -1
  42. package/dist/clusters/hdbscan/probabilities.d.ts.map +1 -1
  43. package/dist/clusters/hdbscan/probabilities.js +1 -1
  44. package/dist/clusters/hdbscan/probabilities.js.map +1 -1
  45. package/dist/clusters/hdbscan.d.ts.map +1 -1
  46. package/dist/clusters/hdbscan.js +3 -5
  47. package/dist/clusters/hdbscan.js.map +1 -1
  48. package/dist/config/loader.d.ts +10 -15
  49. package/dist/config/loader.d.ts.map +1 -1
  50. package/dist/config/loader.js +40 -71
  51. package/dist/config/loader.js.map +1 -1
  52. package/dist/config/memory-config.d.ts +2 -45
  53. package/dist/config/memory-config.d.ts.map +1 -1
  54. package/dist/config/memory-config.js +6 -109
  55. package/dist/config/memory-config.js.map +1 -1
  56. package/dist/core/index.d.ts +1 -1
  57. package/dist/core/index.d.ts.map +1 -1
  58. package/dist/core/lexical-features.d.ts.map +1 -1
  59. package/dist/core/lexical-features.js +141 -20
  60. package/dist/core/lexical-features.js.map +1 -1
  61. package/dist/dashboard/client/assets/index-DdImwNQ0.css +1 -0
  62. package/dist/dashboard/client/assets/index-Ofx8zngH.js +166 -0
  63. package/dist/dashboard/client/index.html +2 -2
  64. package/dist/dashboard/routes/benchmark-collection.d.ts.map +1 -1
  65. package/dist/dashboard/routes/benchmark-collection.js +2 -6
  66. package/dist/dashboard/routes/benchmark-collection.js.map +1 -1
  67. package/dist/dashboard/routes/chain.d.ts +3 -0
  68. package/dist/dashboard/routes/chain.d.ts.map +1 -0
  69. package/dist/dashboard/routes/chain.js +74 -0
  70. package/dist/dashboard/routes/chain.js.map +1 -0
  71. package/dist/dashboard/routes/chunks.d.ts.map +1 -1
  72. package/dist/dashboard/routes/chunks.js +16 -1
  73. package/dist/dashboard/routes/chunks.js.map +1 -1
  74. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  75. package/dist/dashboard/routes/graph.js.map +1 -1
  76. package/dist/dashboard/routes/search.d.ts.map +1 -1
  77. package/dist/dashboard/routes/search.js.map +1 -1
  78. package/dist/dashboard/routes/stats.d.ts.map +1 -1
  79. package/dist/dashboard/routes/stats.js +8 -6
  80. package/dist/dashboard/routes/stats.js.map +1 -1
  81. package/dist/dashboard/routes/timeline.d.ts +3 -0
  82. package/dist/dashboard/routes/timeline.d.ts.map +1 -0
  83. package/dist/dashboard/routes/timeline.js +90 -0
  84. package/dist/dashboard/routes/timeline.js.map +1 -0
  85. package/dist/dashboard/server.d.ts.map +1 -1
  86. package/dist/dashboard/server.js +4 -0
  87. package/dist/dashboard/server.js.map +1 -1
  88. package/dist/eval/annotation-schema.d.ts.map +1 -1
  89. package/dist/eval/annotation-schema.js +2 -5
  90. package/dist/eval/annotation-schema.js.map +1 -1
  91. package/dist/eval/benchmark-runner.d.ts.map +1 -1
  92. package/dist/eval/benchmark-runner.js +2 -2
  93. package/dist/eval/benchmark-runner.js.map +1 -1
  94. package/dist/eval/cluster-evaluator.d.ts.map +1 -1
  95. package/dist/eval/cluster-evaluator.js.map +1 -1
  96. package/dist/eval/collection-benchmark/chain-quality.d.ts +15 -0
  97. package/dist/eval/collection-benchmark/chain-quality.d.ts.map +1 -0
  98. package/dist/eval/collection-benchmark/chain-quality.js +60 -0
  99. package/dist/eval/collection-benchmark/chain-quality.js.map +1 -0
  100. package/dist/eval/collection-benchmark/health.d.ts.map +1 -1
  101. package/dist/eval/collection-benchmark/health.js +2 -2
  102. package/dist/eval/collection-benchmark/health.js.map +1 -1
  103. package/dist/eval/collection-benchmark/history.d.ts.map +1 -1
  104. package/dist/eval/collection-benchmark/history.js +14 -11
  105. package/dist/eval/collection-benchmark/history.js.map +1 -1
  106. package/dist/eval/collection-benchmark/latency.d.ts.map +1 -1
  107. package/dist/eval/collection-benchmark/latency.js +14 -11
  108. package/dist/eval/collection-benchmark/latency.js.map +1 -1
  109. package/dist/eval/collection-benchmark/reporter.d.ts.map +1 -1
  110. package/dist/eval/collection-benchmark/reporter.js +18 -28
  111. package/dist/eval/collection-benchmark/reporter.js.map +1 -1
  112. package/dist/eval/collection-benchmark/retrieval.d.ts.map +1 -1
  113. package/dist/eval/collection-benchmark/retrieval.js +14 -8
  114. package/dist/eval/collection-benchmark/retrieval.js.map +1 -1
  115. package/dist/eval/collection-benchmark/runner.d.ts +3 -3
  116. package/dist/eval/collection-benchmark/runner.d.ts.map +1 -1
  117. package/dist/eval/collection-benchmark/runner.js +46 -37
  118. package/dist/eval/collection-benchmark/runner.js.map +1 -1
  119. package/dist/eval/collection-benchmark/sampler.d.ts.map +1 -1
  120. package/dist/eval/collection-benchmark/sampler.js +14 -12
  121. package/dist/eval/collection-benchmark/sampler.js.map +1 -1
  122. package/dist/eval/collection-benchmark/tuning.d.ts.map +1 -1
  123. package/dist/eval/collection-benchmark/tuning.js +56 -71
  124. package/dist/eval/collection-benchmark/tuning.js.map +1 -1
  125. package/dist/eval/collection-benchmark/types.d.ts +12 -24
  126. package/dist/eval/collection-benchmark/types.d.ts.map +1 -1
  127. package/dist/eval/corpus-builder.d.ts.map +1 -1
  128. package/dist/eval/corpus-builder.js.map +1 -1
  129. package/dist/eval/experiments/boilerplate-filter.d.ts.map +1 -1
  130. package/dist/eval/experiments/boilerplate-filter.js.map +1 -1
  131. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.d.ts.map +1 -1
  132. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js +3 -5
  133. package/dist/eval/experiments/cluster-threshold/run-threshold-sweep.js.map +1 -1
  134. package/dist/eval/experiments/code-focused-mode.d.ts.map +1 -1
  135. package/dist/eval/experiments/code-focused-mode.js +1 -1
  136. package/dist/eval/experiments/code-focused-mode.js.map +1 -1
  137. package/dist/eval/experiments/edge-decay/decay-curves.d.ts +25 -19
  138. package/dist/eval/experiments/edge-decay/decay-curves.d.ts.map +1 -1
  139. package/dist/eval/experiments/edge-decay/decay-curves.js +47 -40
  140. package/dist/eval/experiments/edge-decay/decay-curves.js.map +1 -1
  141. package/dist/eval/experiments/edge-decay/index.d.ts +6 -4
  142. package/dist/eval/experiments/edge-decay/index.d.ts.map +1 -1
  143. package/dist/eval/experiments/edge-decay/index.js +5 -3
  144. package/dist/eval/experiments/edge-decay/index.js.map +1 -1
  145. package/dist/eval/experiments/edge-decay/presets.d.ts +14 -4
  146. package/dist/eval/experiments/edge-decay/presets.d.ts.map +1 -1
  147. package/dist/eval/experiments/edge-decay/presets.js +73 -68
  148. package/dist/eval/experiments/edge-decay/presets.js.map +1 -1
  149. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts +2 -1
  150. package/dist/eval/experiments/edge-decay/reference-extractor.d.ts.map +1 -1
  151. package/dist/eval/experiments/edge-decay/reference-extractor.js +26 -40
  152. package/dist/eval/experiments/edge-decay/reference-extractor.js.map +1 -1
  153. package/dist/eval/experiments/edge-decay/reference-types.d.ts +24 -17
  154. package/dist/eval/experiments/edge-decay/reference-types.d.ts.map +1 -1
  155. package/dist/eval/experiments/edge-decay/reference-types.js +3 -0
  156. package/dist/eval/experiments/edge-decay/reference-types.js.map +1 -1
  157. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts +8 -8
  158. package/dist/eval/experiments/edge-decay/retrieval-ranking.d.ts.map +1 -1
  159. package/dist/eval/experiments/edge-decay/retrieval-ranking.js +77 -133
  160. package/dist/eval/experiments/edge-decay/retrieval-ranking.js.map +1 -1
  161. package/dist/eval/experiments/edge-decay/run-experiments.d.ts +7 -3
  162. package/dist/eval/experiments/edge-decay/run-experiments.d.ts.map +1 -1
  163. package/dist/eval/experiments/edge-decay/run-experiments.js +71 -52
  164. package/dist/eval/experiments/edge-decay/run-experiments.js.map +1 -1
  165. package/dist/eval/experiments/edge-decay/simulate.d.ts +1 -1
  166. package/dist/eval/experiments/edge-decay/simulate.d.ts.map +1 -1
  167. package/dist/eval/experiments/edge-decay/simulate.js +7 -19
  168. package/dist/eval/experiments/edge-decay/simulate.js.map +1 -1
  169. package/dist/eval/experiments/hdbscan-sweep.d.ts.map +1 -1
  170. package/dist/eval/experiments/hdbscan-sweep.js +2 -6
  171. package/dist/eval/experiments/hdbscan-sweep.js.map +1 -1
  172. package/dist/eval/experiments/single-model-run.d.ts.map +1 -1
  173. package/dist/eval/experiments/single-model-run.js +2 -2
  174. package/dist/eval/experiments/single-model-run.js.map +1 -1
  175. package/dist/eval/experiments/thinking-ablation.d.ts.map +1 -1
  176. package/dist/eval/experiments/thinking-ablation.js +1 -1
  177. package/dist/eval/experiments/thinking-ablation.js.map +1 -1
  178. package/dist/eval/experiments/topic-continuity/hybrid-classifier.d.ts.map +1 -1
  179. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js +54 -6
  180. package/dist/eval/experiments/topic-continuity/hybrid-classifier.js.map +1 -1
  181. package/dist/eval/experiments/topic-continuity/labeler.d.ts.map +1 -1
  182. package/dist/eval/experiments/topic-continuity/labeler.js +1 -4
  183. package/dist/eval/experiments/topic-continuity/labeler.js.map +1 -1
  184. package/dist/eval/experiments/topic-continuity/run-experiment.d.ts.map +1 -1
  185. package/dist/eval/experiments/topic-continuity/run-experiment.js +5 -13
  186. package/dist/eval/experiments/topic-continuity/run-experiment.js.map +1 -1
  187. package/dist/eval/experiments/truncation.d.ts.map +1 -1
  188. package/dist/eval/experiments/truncation.js.map +1 -1
  189. package/dist/eval/experiments/types.d.ts.map +1 -1
  190. package/dist/eval/experiments/types.js.map +1 -1
  191. package/dist/eval/metrics.d.ts.map +1 -1
  192. package/dist/eval/metrics.js.map +1 -1
  193. package/dist/hooks/claudemd-generator.d.ts.map +1 -1
  194. package/dist/hooks/claudemd-generator.js +3 -4
  195. package/dist/hooks/claudemd-generator.js.map +1 -1
  196. package/dist/hooks/hook-utils.d.ts.map +1 -1
  197. package/dist/hooks/hook-utils.js +0 -2
  198. package/dist/hooks/hook-utils.js.map +1 -1
  199. package/dist/hooks/pre-compact.d.ts.map +1 -1
  200. package/dist/hooks/pre-compact.js +4 -2
  201. package/dist/hooks/pre-compact.js.map +1 -1
  202. package/dist/hooks/session-end.d.ts.map +1 -1
  203. package/dist/hooks/session-end.js +4 -2
  204. package/dist/hooks/session-end.js.map +1 -1
  205. package/dist/hooks/session-start.d.ts.map +1 -1
  206. package/dist/hooks/session-start.js +3 -5
  207. package/dist/hooks/session-start.js.map +1 -1
  208. package/dist/index.d.ts +0 -1
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +0 -2
  211. package/dist/index.js.map +1 -1
  212. package/dist/ingest/batch-ingest.d.ts.map +1 -1
  213. package/dist/ingest/batch-ingest.js.map +1 -1
  214. package/dist/ingest/brief-debrief-detector.d.ts +6 -13
  215. package/dist/ingest/brief-debrief-detector.d.ts.map +1 -1
  216. package/dist/ingest/brief-debrief-detector.js +9 -16
  217. package/dist/ingest/brief-debrief-detector.js.map +1 -1
  218. package/dist/ingest/cross-session-linker.d.ts +2 -1
  219. package/dist/ingest/cross-session-linker.d.ts.map +1 -1
  220. package/dist/ingest/cross-session-linker.js +17 -7
  221. package/dist/ingest/cross-session-linker.js.map +1 -1
  222. package/dist/ingest/edge-creator.d.ts +14 -40
  223. package/dist/ingest/edge-creator.d.ts.map +1 -1
  224. package/dist/ingest/edge-creator.js +34 -132
  225. package/dist/ingest/edge-creator.js.map +1 -1
  226. package/dist/ingest/edge-detector.d.ts +27 -12
  227. package/dist/ingest/edge-detector.d.ts.map +1 -1
  228. package/dist/ingest/edge-detector.js +68 -200
  229. package/dist/ingest/edge-detector.js.map +1 -1
  230. package/dist/ingest/index.d.ts +3 -3
  231. package/dist/ingest/index.d.ts.map +1 -1
  232. package/dist/ingest/index.js +3 -3
  233. package/dist/ingest/index.js.map +1 -1
  234. package/dist/ingest/ingest-session.d.ts +1 -8
  235. package/dist/ingest/ingest-session.d.ts.map +1 -1
  236. package/dist/ingest/ingest-session.js +54 -107
  237. package/dist/ingest/ingest-session.js.map +1 -1
  238. package/dist/ingest/rebuild-edges.d.ts +17 -0
  239. package/dist/ingest/rebuild-edges.d.ts.map +1 -0
  240. package/dist/ingest/rebuild-edges.js +97 -0
  241. package/dist/ingest/rebuild-edges.js.map +1 -0
  242. package/dist/maintenance/scheduler.d.ts +2 -3
  243. package/dist/maintenance/scheduler.d.ts.map +1 -1
  244. package/dist/maintenance/scheduler.js +14 -23
  245. package/dist/maintenance/scheduler.js.map +1 -1
  246. package/dist/maintenance/tasks/cleanup-vectors.d.ts +3 -1
  247. package/dist/maintenance/tasks/cleanup-vectors.d.ts.map +1 -1
  248. package/dist/maintenance/tasks/cleanup-vectors.js +6 -4
  249. package/dist/maintenance/tasks/cleanup-vectors.js.map +1 -1
  250. package/dist/maintenance/tasks/index.d.ts +0 -1
  251. package/dist/maintenance/tasks/index.d.ts.map +1 -1
  252. package/dist/maintenance/tasks/index.js +0 -1
  253. package/dist/maintenance/tasks/index.js.map +1 -1
  254. package/dist/mcp/index.d.ts +1 -1
  255. package/dist/mcp/index.d.ts.map +1 -1
  256. package/dist/mcp/index.js +1 -1
  257. package/dist/mcp/index.js.map +1 -1
  258. package/dist/mcp/server.d.ts.map +1 -1
  259. package/dist/mcp/server.js +15 -8
  260. package/dist/mcp/server.js.map +1 -1
  261. package/dist/mcp/tools.d.ts +5 -5
  262. package/dist/mcp/tools.d.ts.map +1 -1
  263. package/dist/mcp/tools.js +42 -36
  264. package/dist/mcp/tools.js.map +1 -1
  265. package/dist/models/device-detector.d.ts.map +1 -1
  266. package/dist/models/device-detector.js +20 -10
  267. package/dist/models/device-detector.js.map +1 -1
  268. package/dist/models/embedder.d.ts.map +1 -1
  269. package/dist/models/embedder.js +5 -2
  270. package/dist/models/embedder.js.map +1 -1
  271. package/dist/models/model-registry.d.ts.map +1 -1
  272. package/dist/models/model-registry.js.map +1 -1
  273. package/dist/parser/chunker.d.ts +5 -40
  274. package/dist/parser/chunker.d.ts.map +1 -1
  275. package/dist/parser/chunker.js +5 -111
  276. package/dist/parser/chunker.js.map +1 -1
  277. package/dist/parser/session-reader.d.ts.map +1 -1
  278. package/dist/parser/session-reader.js +3 -6
  279. package/dist/parser/session-reader.js.map +1 -1
  280. package/dist/parser/turn-assembler.d.ts.map +1 -1
  281. package/dist/parser/turn-assembler.js +0 -1
  282. package/dist/parser/turn-assembler.js.map +1 -1
  283. package/dist/parser/types.d.ts.map +1 -1
  284. package/dist/report/reporter.d.ts.map +1 -1
  285. package/dist/report/reporter.js +1 -3
  286. package/dist/report/reporter.js.map +1 -1
  287. package/dist/retrieval/chain-assembler.d.ts +58 -0
  288. package/dist/retrieval/chain-assembler.d.ts.map +1 -0
  289. package/dist/retrieval/chain-assembler.js +126 -0
  290. package/dist/retrieval/chain-assembler.js.map +1 -0
  291. package/dist/retrieval/chain-walker.d.ts +57 -0
  292. package/dist/retrieval/chain-walker.d.ts.map +1 -0
  293. package/dist/retrieval/chain-walker.js +121 -0
  294. package/dist/retrieval/chain-walker.js.map +1 -0
  295. package/dist/retrieval/cluster-expander.d.ts.map +1 -1
  296. package/dist/retrieval/cluster-expander.js +3 -3
  297. package/dist/retrieval/cluster-expander.js.map +1 -1
  298. package/dist/retrieval/context-assembler.d.ts +13 -36
  299. package/dist/retrieval/context-assembler.d.ts.map +1 -1
  300. package/dist/retrieval/context-assembler.js +50 -287
  301. package/dist/retrieval/context-assembler.js.map +1 -1
  302. package/dist/retrieval/index.d.ts +8 -4
  303. package/dist/retrieval/index.d.ts.map +1 -1
  304. package/dist/retrieval/index.js +7 -3
  305. package/dist/retrieval/index.js.map +1 -1
  306. package/dist/retrieval/rrf.d.ts.map +1 -1
  307. package/dist/retrieval/rrf.js +4 -2
  308. package/dist/retrieval/rrf.js.map +1 -1
  309. package/dist/retrieval/search-assembler.d.ts +59 -0
  310. package/dist/retrieval/search-assembler.d.ts.map +1 -0
  311. package/dist/retrieval/search-assembler.js +209 -0
  312. package/dist/retrieval/search-assembler.js.map +1 -0
  313. package/dist/retrieval/session-reconstructor.d.ts.map +1 -1
  314. package/dist/retrieval/session-reconstructor.js +9 -7
  315. package/dist/retrieval/session-reconstructor.js.map +1 -1
  316. package/dist/storage/archive.d.ts +0 -2
  317. package/dist/storage/archive.d.ts.map +1 -1
  318. package/dist/storage/archive.js +18 -12
  319. package/dist/storage/archive.js.map +1 -1
  320. package/dist/storage/checkpoint-store.d.ts +0 -1
  321. package/dist/storage/checkpoint-store.d.ts.map +1 -1
  322. package/dist/storage/checkpoint-store.js +5 -7
  323. package/dist/storage/checkpoint-store.js.map +1 -1
  324. package/dist/storage/chunk-store.d.ts.map +1 -1
  325. package/dist/storage/chunk-store.js +15 -17
  326. package/dist/storage/chunk-store.js.map +1 -1
  327. package/dist/storage/cluster-store.d.ts.map +1 -1
  328. package/dist/storage/cluster-store.js.map +1 -1
  329. package/dist/storage/db.d.ts.map +1 -1
  330. package/dist/storage/db.js.map +1 -1
  331. package/dist/storage/edge-store.d.ts +17 -30
  332. package/dist/storage/edge-store.d.ts.map +1 -1
  333. package/dist/storage/edge-store.js +43 -123
  334. package/dist/storage/edge-store.js.map +1 -1
  335. package/dist/storage/embedding-cache.d.ts.map +1 -1
  336. package/dist/storage/embedding-cache.js +1 -3
  337. package/dist/storage/embedding-cache.js.map +1 -1
  338. package/dist/storage/encryption.d.ts.map +1 -1
  339. package/dist/storage/encryption.js +4 -15
  340. package/dist/storage/encryption.js.map +1 -1
  341. package/dist/storage/index.d.ts +1 -4
  342. package/dist/storage/index.d.ts.map +1 -1
  343. package/dist/storage/index.js +1 -5
  344. package/dist/storage/index.js.map +1 -1
  345. package/dist/storage/keyword-store.d.ts.map +1 -1
  346. package/dist/storage/keyword-store.js +11 -7
  347. package/dist/storage/keyword-store.js.map +1 -1
  348. package/dist/storage/migrations.d.ts.map +1 -1
  349. package/dist/storage/migrations.js +56 -4
  350. package/dist/storage/migrations.js.map +1 -1
  351. package/dist/storage/schema.sql +8 -20
  352. package/dist/storage/types.d.ts +12 -26
  353. package/dist/storage/types.d.ts.map +1 -1
  354. package/dist/storage/types.js +1 -2
  355. package/dist/storage/types.js.map +1 -1
  356. package/dist/storage/vector-store.d.ts +9 -15
  357. package/dist/storage/vector-store.d.ts.map +1 -1
  358. package/dist/storage/vector-store.js +64 -43
  359. package/dist/storage/vector-store.js.map +1 -1
  360. package/dist/utils/angular-distance.d.ts.map +1 -1
  361. package/dist/utils/angular-distance.js.map +1 -1
  362. package/dist/utils/logger.d.ts.map +1 -1
  363. package/dist/utils/logger.js.map +1 -1
  364. package/dist/utils/secret-store.d.ts.map +1 -1
  365. package/dist/utils/secret-store.js +17 -13
  366. package/dist/utils/secret-store.js.map +1 -1
  367. package/dist/utils/secure-buffer.d.ts.map +1 -1
  368. package/dist/utils/secure-buffer.js.map +1 -1
  369. package/package.json +6 -5
  370. package/src/dashboard/client/package-lock.json +3 -3
  371. package/src/dashboard/client/package.json +3 -3
  372. package/dist/dashboard/client/assets/index-CMUKy4f9.css +0 -1
  373. package/dist/dashboard/client/assets/index-esv8TpCN.js +0 -168
  374. package/dist/eval/collection-benchmark/graph-value.d.ts +0 -16
  375. package/dist/eval/collection-benchmark/graph-value.d.ts.map +0 -1
  376. package/dist/eval/collection-benchmark/graph-value.js +0 -162
  377. package/dist/eval/collection-benchmark/graph-value.js.map +0 -1
  378. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts +0 -10
  379. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.d.ts.map +0 -1
  380. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js +0 -229
  381. package/dist/eval/experiments/vector-decay-shapes/curve-shapes-experiment.js.map +0 -1
  382. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts +0 -12
  383. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.d.ts.map +0 -1
  384. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js +0 -316
  385. package/dist/eval/experiments/vector-decay-shapes/graph-range-experiment.js.map +0 -1
  386. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts +0 -19
  387. package/dist/eval/experiments/vector-decay-shapes/hop-decay.d.ts.map +0 -1
  388. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js +0 -127
  389. package/dist/eval/experiments/vector-decay-shapes/hop-decay.js.map +0 -1
  390. package/dist/eval/experiments/vector-decay-shapes/index.d.ts +0 -11
  391. package/dist/eval/experiments/vector-decay-shapes/index.d.ts.map +0 -1
  392. package/dist/eval/experiments/vector-decay-shapes/index.js +0 -11
  393. package/dist/eval/experiments/vector-decay-shapes/index.js.map +0 -1
  394. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts +0 -14
  395. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.d.ts.map +0 -1
  396. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js +0 -274
  397. package/dist/eval/experiments/vector-decay-shapes/path-traversal-experiment.js.map +0 -1
  398. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts +0 -36
  399. package/dist/eval/experiments/vector-decay-shapes/presets.d.ts.map +0 -1
  400. package/dist/eval/experiments/vector-decay-shapes/presets.js +0 -157
  401. package/dist/eval/experiments/vector-decay-shapes/presets.js.map +0 -1
  402. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts +0 -20
  403. package/dist/eval/experiments/vector-decay-shapes/run-experiment.d.ts.map +0 -1
  404. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js +0 -504
  405. package/dist/eval/experiments/vector-decay-shapes/run-experiment.js.map +0 -1
  406. package/dist/eval/experiments/vector-decay-shapes/types.d.ts +0 -111
  407. package/dist/eval/experiments/vector-decay-shapes/types.d.ts.map +0 -1
  408. package/dist/eval/experiments/vector-decay-shapes/types.js +0 -15
  409. package/dist/eval/experiments/vector-decay-shapes/types.js.map +0 -1
  410. package/dist/eval/experiments/vector-decay-sweep/index.d.ts +0 -7
  411. package/dist/eval/experiments/vector-decay-sweep/index.d.ts.map +0 -1
  412. package/dist/eval/experiments/vector-decay-sweep/index.js +0 -7
  413. package/dist/eval/experiments/vector-decay-sweep/index.js.map +0 -1
  414. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts +0 -30
  415. package/dist/eval/experiments/vector-decay-sweep/run-sweep.d.ts.map +0 -1
  416. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js +0 -378
  417. package/dist/eval/experiments/vector-decay-sweep/run-sweep.js.map +0 -1
  418. package/dist/eval/experiments/vector-decay-sweep/types.d.ts +0 -109
  419. package/dist/eval/experiments/vector-decay-sweep/types.d.ts.map +0 -1
  420. package/dist/eval/experiments/vector-decay-sweep/types.js +0 -16
  421. package/dist/eval/experiments/vector-decay-sweep/types.js.map +0 -1
  422. package/dist/maintenance/tasks/prune-graph.d.ts +0 -12
  423. package/dist/maintenance/tasks/prune-graph.d.ts.map +0 -1
  424. package/dist/maintenance/tasks/prune-graph.js +0 -23
  425. package/dist/maintenance/tasks/prune-graph.js.map +0 -1
  426. package/dist/retrieval/traverser.d.ts +0 -66
  427. package/dist/retrieval/traverser.d.ts.map +0 -1
  428. package/dist/retrieval/traverser.js +0 -160
  429. package/dist/retrieval/traverser.js.map +0 -1
  430. package/dist/storage/clock-store.d.ts +0 -80
  431. package/dist/storage/clock-store.d.ts.map +0 -1
  432. package/dist/storage/clock-store.js +0 -155
  433. package/dist/storage/clock-store.js.map +0 -1
  434. package/dist/storage/decay.d.ts +0 -125
  435. package/dist/storage/decay.d.ts.map +0 -1
  436. package/dist/storage/decay.js +0 -276
  437. package/dist/storage/decay.js.map +0 -1
  438. package/dist/storage/pruner.d.ts +0 -111
  439. package/dist/storage/pruner.d.ts.map +0 -1
  440. package/dist/storage/pruner.js +0 -280
  441. package/dist/storage/pruner.js.map +0 -1
  442. package/dist/temporal/clock-compactor.d.ts +0 -65
  443. package/dist/temporal/clock-compactor.d.ts.map +0 -1
  444. package/dist/temporal/clock-compactor.js +0 -157
  445. package/dist/temporal/clock-compactor.js.map +0 -1
  446. package/dist/temporal/index.d.ts +0 -6
  447. package/dist/temporal/index.d.ts.map +0 -1
  448. package/dist/temporal/index.js +0 -6
  449. package/dist/temporal/index.js.map +0 -1
  450. package/dist/temporal/vector-clock.d.ts +0 -143
  451. package/dist/temporal/vector-clock.d.ts.map +0 -1
  452. package/dist/temporal/vector-clock.js +0 -231
  453. package/dist/temporal/vector-clock.js.map +0 -1
  454. package/dist/utils/keychain.d.ts +0 -43
  455. package/dist/utils/keychain.d.ts.map +0 -1
  456. package/dist/utils/keychain.js +0 -82
  457. package/dist/utils/keychain.js.map +0 -1
@@ -30,7 +30,6 @@ Use the \`recall\` MCP tool from \`causantic\` to look up specific context from
30
30
  Pass these to the \`recall\` MCP tool:
31
31
 
32
32
  - **query** (required): Natural language question about past work
33
- - **range**: \`"short"\` for recent work (last few sessions), \`"long"\` for historical context
34
33
  - **project**: Filter to a specific project slug (use \`/causantic-list-projects\` to discover names)
35
34
 
36
35
  ## When to Use
@@ -43,76 +42,77 @@ Pass these to the \`recall\` MCP tool:
43
42
 
44
43
  ## Guidelines
45
44
 
46
- - Use \`range: "short"\` for recent work, \`range: "long"\` for historical context
45
+ - \`recall\` walks causal chains to reconstruct narrative use it when you need the story of how something happened
46
+ - \`search\` ranks results by semantic relevance — use it for broad discovery ("what do I know about X?")
47
47
  - Use the \`project\` parameter to scope results to the current project when relevant
48
- - Combine with \`/causantic-explain\` when the user needs deeper understanding of why something was done
48
+ - Combine both: \`search\` to discover, then \`recall\` to fill in the narrative
49
49
  `,
50
50
  },
51
51
  {
52
- dirName: 'causantic-explain',
52
+ dirName: 'causantic-search',
53
53
  content: `---
54
- name: causantic-explain
55
- description: "Explain the history behind a topic, decision, or implementation using Causantic long-term memory. Use when asked 'why' something was done, 'how we got here', or to trace the evolution of a feature."
56
- argument-hint: [topic]
54
+ name: causantic-search
55
+ description: "Search memory semantically to discover relevant past context. Use for broad discovery 'what do I know about X?'"
56
+ argument-hint: [query]
57
57
  ---
58
58
 
59
- # Explain History
59
+ # Search Memory
60
60
 
61
- Use the \`explain\` MCP tool from \`causantic\` to understand the history and rationale behind topics and decisions.
61
+ Use the \`search\` MCP tool from \`causantic\` to discover relevant past context semantically.
62
62
 
63
63
  ## Usage
64
64
 
65
65
  \`\`\`
66
- /causantic-explain why we chose SQLite for the database
67
- /causantic-explain how the authentication system evolved
68
- /causantic-explain the reasoning behind the project labels design
66
+ /causantic-search authentication implementation
67
+ /causantic-search database migration patterns
68
+ /causantic-search error handling strategies
69
69
  \`\`\`
70
70
 
71
71
  ## Parameters
72
72
 
73
- Pass these to the \`explain\` MCP tool:
73
+ Pass these to the \`search\` MCP tool:
74
74
 
75
- - **query** (required): Topic, decision, or feature to explain
76
- - **project**: Filter to a specific project slug
75
+ - **query** (required): What to search for in memory
76
+ - **project**: Filter to a specific project slug (use \`/causantic-list-projects\` to discover names)
77
77
 
78
78
  ## When to Use
79
79
 
80
- - User asks "why" or "how did we get here"
81
- - Need to understand rationale behind past architectural decisions
82
- - Tracing the evolution of a feature or design pattern
83
- - Investigating why a particular approach was chosen over alternatives
80
+ - Broad discovery: "what do I know about X?"
81
+ - Finding past context on a topic
82
+ - When you need ranked results by semantic relevance
83
+ - As a starting point before using \`recall\` for deeper episodic narrative
84
84
 
85
85
  ## Guidelines
86
86
 
87
- - Defaults to long-range retrieval for comprehensive history
88
- - Returns chronological narrative of relevant context
89
- - Best for understanding decision-making, not just facts
87
+ - Returns ranked results by semantic relevance (vector + keyword fusion)
88
+ - Use \`search\` for discovery, \`recall\` for narrative reconstruction
89
+ - Combine with \`/causantic-recall\` when you need causal chain context (how things led to outcomes)
90
90
  `,
91
91
  },
92
92
  {
93
93
  dirName: 'causantic-predict',
94
94
  content: `---
95
95
  name: causantic-predict
96
- description: "Proactively surface relevant past context based on the current discussion using Causantic long-term memory. Use at the start of complex tasks to surface prior work, related decisions, or known pitfalls."
97
- argument-hint: [context]
96
+ description: "Proactively surface relevant past context for a given task or topic using Causantic long-term memory. Use at the start of complex tasks to surface prior work, related decisions, or known pitfalls."
97
+ argument-hint: <context>
98
98
  ---
99
99
 
100
100
  # Predict Relevant Context
101
101
 
102
- Use the \`predict\` MCP tool from \`causantic\` to proactively surface relevant past context based on the current discussion.
102
+ Use the \`predict\` MCP tool from \`causantic\` to proactively surface relevant past context based on the current task.
103
103
 
104
104
  ## Usage
105
105
 
106
106
  \`\`\`
107
- /causantic-predict
108
107
  /causantic-predict refactoring the auth module
108
+ /causantic-predict debugging the embedder timeout issue
109
109
  \`\`\`
110
110
 
111
111
  ## Parameters
112
112
 
113
113
  Pass these to the \`predict\` MCP tool:
114
114
 
115
- - **query** (optional): Current task or topic context. If omitted, uses the current discussion.
115
+ - **context** (required): A concise summary of the current task, topic, or question
116
116
  - **project**: Filter to a specific project slug
117
117
 
118
118
  ## When to Use
@@ -124,102 +124,151 @@ Pass these to the \`predict\` MCP tool:
124
124
 
125
125
  ## Guidelines
126
126
 
127
+ - Always provide a concise summary of the current task as the \`context\` parameter
127
128
  - Use early in a task to front-load relevant context
128
129
  - Especially useful when starting unfamiliar work — past sessions may have covered it
129
130
  `,
130
131
  },
131
132
  {
132
- dirName: 'causantic-list-projects',
133
+ dirName: 'causantic-explain',
133
134
  content: `---
134
- name: causantic-list-projects
135
- description: "List all projects stored in Causantic long-term memory with chunk counts and date ranges. Use to discover available project names for filtering recall/explain/predict queries."
135
+ name: causantic-explain
136
+ description: "Answer 'why' questions about code and architecture by reconstructing the decision narrative from memory. Use when asked why something works a certain way or what led to a decision."
137
+ argument-hint: [question]
136
138
  ---
137
139
 
138
- # List Memory Projects
140
+ # Explain Why
139
141
 
140
- Use the \`list-projects\` MCP tool from \`causantic\` to see all projects in memory.
142
+ Answer "why" questions about code and architecture by reconstructing the decision narrative from memory.
141
143
 
142
144
  ## Usage
143
145
 
144
146
  \`\`\`
145
- /causantic-list-projects
147
+ /causantic-explain why does the chunker split on tool boundaries?
148
+ /causantic-explain what led to the RRF fusion approach?
149
+ /causantic-explain why is the schema at v7?
146
150
  \`\`\`
147
151
 
148
- ## Output
152
+ ## Workflow
149
153
 
150
- Returns a list of projects with:
151
- - Project name (slug)
152
- - Number of memory chunks
153
- - Date range (first seen to last seen)
154
+ 1. **Reconstruct the narrative**: Use \`recall\` with the topic to walk the causal chain — problem that prompted the decision, alternatives considered, what was chosen and why
155
+ 2. **Gather supporting context**: Use \`search\` with the topic for additional context, related discussions, and alternatives that were considered
156
+
157
+ ## Output Format
158
+
159
+ - **Decision**: What was decided
160
+ - **Context**: The problem or need that prompted it
161
+ - **Alternatives Considered**: Other approaches that were evaluated
162
+ - **Rationale**: Why this approach was chosen
163
+ - **Trade-offs**: Known downsides or limitations accepted
154
164
 
155
165
  ## When to Use
156
166
 
157
- - Before using project-filtered queries with \`/causantic-recall\`, \`/causantic-explain\`, or \`/causantic-predict\`
158
- - To see what projects have been ingested into memory
159
- - To check the coverage and recency of memory for a specific project
167
+ - User asks "why does X work this way?"
168
+ - User asks "what led to this decision?"
169
+ - Before changing existing architecture understand the reasoning first
170
+ - When code seems surprising or non-obvious
171
+
172
+ ## Guidelines
173
+
174
+ - This skill answers focused "why" questions — for a broad area briefing, use \`/causantic-context\` instead
175
+ - Present the narrative as a story: what was the problem, what was tried, what stuck
176
+ - If memory shows the decision evolved over time, show the progression
177
+ - If memory has no context, say so — do not fabricate rationale
160
178
  `,
161
179
  },
162
180
  {
163
- dirName: 'causantic-reconstruct',
181
+ dirName: 'causantic-context',
164
182
  content: `---
165
- name: causantic-reconstruct
166
- description: "Reconstruct session context from Causantic long-term memory. Use to rebuild what was worked on yesterday, show the last session, or reconstruct context from a time range."
167
- argument-hint: [time range or description]
183
+ name: causantic-context
184
+ description: "Deep dive into a codebase area by combining decision history, evolution, and recent activity from memory. Use when you need comprehensive background on a module, feature, or design."
185
+ argument-hint: [area or topic]
168
186
  ---
169
187
 
170
- # Reconstruct Session Context
188
+ # Deep Context
171
189
 
172
- Use the \`list-sessions\` and \`reconstruct\` MCP tools from \`causantic\` to rebuild session context chronologically.
190
+ Build comprehensive context about a codebase area by combining decision history, evolution, and recent activity from memory.
173
191
 
174
192
  ## Usage
175
193
 
176
194
  \`\`\`
177
- /causantic-reconstruct what did I work on yesterday?
178
- /causantic-reconstruct last session
179
- /causantic-reconstruct past 3 days
180
- /causantic-reconstruct session abc12345
195
+ /causantic-context the authentication module
196
+ /causantic-context src/storage/chunk-store.ts
197
+ /causantic-context how we handle encryption
181
198
  \`\`\`
182
199
 
183
200
  ## Workflow
184
201
 
185
- 1. **Identify the project**: Use \`list-projects\` if the user hasn't specified one
186
- 2. **Browse sessions**: Use \`list-sessions\` to see available sessions and their time ranges
187
- 3. **Reconstruct**: Use \`reconstruct\` with appropriate parameters
202
+ 1. **Get decision history**: Use \`recall\` with the topic for episodic narrative and rationale
203
+ 2. **Get broad context**: Use \`search\` with the topic for semantically related past context
204
+ 3. **Present as a structured briefing**
188
205
 
189
- ## Parameters for \`list-sessions\`
206
+ ## Output Format
190
207
 
191
- - **project** (required): Project slug
192
- - **from**: Start date (ISO 8601)
193
- - **to**: End date (ISO 8601)
194
- - **days_back**: Look back N days
208
+ - **Purpose**: What this area does (from memory's perspective)
209
+ - **Key Decisions**: Decisions that shaped this area, with rationale
210
+ - **Evolution**: Major changes over time
211
+ - **Constraints & Tech Debt**: Known limitations or workarounds
212
+ - **Recent Activity**: What was recently changed or discussed
195
213
 
196
- ## Parameters for \`reconstruct\`
214
+ ## Guidelines
197
215
 
198
- - **project** (required): Project slug
199
- - **session_id**: Specific session ID
200
- - **from** / **to**: Time range (ISO 8601)
201
- - **days_back**: Look back N days
202
- - **previous_session**: Get the session before the current one (set to \`true\`)
203
- - **current_session_id**: Required when \`previous_session\` is true
204
- - **keep_newest**: Keep newest chunks when truncating (default: true)
216
+ - For a specific "why" question, use \`/causantic-explain\` instead — this skill is for comprehensive area briefings covering purpose, evolution, constraints, and recent activity
217
+ - Focus on the "why" — the user can read the code for the "what"
218
+ - If memory has conflicting information across time, present the most recent and note the evolution
219
+ - If memory has little context for the area, say so honestly
220
+ `,
221
+ },
222
+ {
223
+ dirName: 'causantic-debug',
224
+ content: `---
225
+ name: causantic-debug
226
+ description: "Search past sessions for prior encounters with the current error, bug pattern, or issue. Use when stuck on an error or debugging a recurring problem."
227
+ argument-hint: [error message or description]
228
+ ---
205
229
 
206
- ## Interpreting User Intent
230
+ # Debug with Memory
207
231
 
208
- | User says | Parameters |
209
- |-----------|-----------|
210
- | "yesterday" | \`days_back: 1\` |
211
- | "past 3 days" | \`days_back: 3\` |
212
- | "last session" | \`previous_session: true\` + current session ID |
213
- | "session abc123" | \`session_id: "abc123"\` |
214
- | "this week" | \`days_back: 7\` |
215
- | "January 15" | \`from: "2025-01-15T00:00:00Z", to: "2025-01-16T00:00:00Z"\` |
232
+ Search past sessions for prior encounters with the current error, bug pattern, or issue.
233
+
234
+ ## Usage
235
+
236
+ \`\`\`
237
+ /causantic-debug
238
+ /causantic-debug SQLITE_BUSY database is locked
239
+ /causantic-debug the embedder crashes on large files
240
+ \`\`\`
241
+
242
+ ## Workflow
243
+
244
+ 1. **Extract the error**: If no argument provided, extract the most recent error message or stack trace from the current conversation. If an argument is provided, use that as the search query.
245
+ 2. **Search for the error/issue**: Use \`recall\` with the error text to search broadly across sessions
246
+ 3. **Check for related patterns**: Use \`predict\` with the same context to surface tangentially related issues
247
+ 4. **Present findings**:
248
+ - Prior occurrences of this or similar errors
249
+ - What was tried (including failed approaches)
250
+ - What ultimately resolved it
251
+
252
+ ## Parameters
253
+
254
+ - **recall**: query = error text (from argument or extracted from conversation), project = current project
255
+ - **predict**: context = same error text, project = current project
256
+
257
+ ## Output Format
258
+
259
+ - **Prior Occurrences**: matching past encounters with dates
260
+ - **What Was Tried**: approaches attempted, including failures
261
+ - **Resolution**: what ultimately worked
262
+ - **Related Issues**: other potentially connected problems
263
+
264
+ If no matches found, say so clearly — do not fabricate matches.
216
265
 
217
266
  ## Guidelines
218
267
 
219
- - Always start with \`list-sessions\` to give the user an overview before reconstructing
220
- - When the user says "last session", use \`previous_session: true\` this finds the session before the current one
221
- - Token budget is applied automatically newest chunks are kept by default
222
- - Results include session boundary markers for easy navigation
268
+ - When invoked with no arguments, scan the current conversation for the most recent error, stack trace, or failing test output and use that automatically
269
+ - Include failed approaches knowing what didn't work is as valuable as what did
270
+ - Quote relevant snippets from past sessions rather than paraphrasing
271
+ - If memory shows a recurring pattern, flag it: "This error has appeared N times"
223
272
  `,
224
273
  },
225
274
  {
@@ -259,7 +308,7 @@ Reconstruct context from the most recent session(s) to help the user pick up whe
259
308
  |-----------|--------|
260
309
  | (nothing) | \`reconstruct\` with \`previous_session: true\` |
261
310
  | "yesterday" / "last week" | \`reconstruct\` with appropriate \`days_back\` |
262
- | a topic name | \`reconstruct\` last session + \`recall\` with that topic, \`range: "long"\` |
311
+ | a topic name | \`reconstruct\` last session + \`recall\` with that topic |
263
312
 
264
313
  ## Output Format
265
314
 
@@ -278,96 +327,97 @@ Present a concise briefing:
278
327
  `,
279
328
  },
280
329
  {
281
- dirName: 'causantic-debug',
330
+ dirName: 'causantic-reconstruct',
282
331
  content: `---
283
- name: causantic-debug
284
- description: "Search past sessions for prior encounters with the current error, bug pattern, or issue. Use when stuck on an error or debugging a recurring problem."
285
- argument-hint: [error message or description]
332
+ name: causantic-reconstruct
333
+ description: "Reconstruct session context from Causantic long-term memory. Use to rebuild what was worked on yesterday, show the last session, or reconstruct context from a time range."
334
+ argument-hint: [time range or description]
286
335
  ---
287
336
 
288
- # Debug with Memory
337
+ # Reconstruct Session Context
289
338
 
290
- Search past sessions for prior encounters with the current error, bug pattern, or issue.
339
+ Use the \`list-sessions\` and \`reconstruct\` MCP tools from \`causantic\` to rebuild session context chronologically.
291
340
 
292
341
  ## Usage
293
342
 
294
343
  \`\`\`
295
- /causantic-debug
296
- /causantic-debug SQLITE_BUSY database is locked
297
- /causantic-debug the embedder crashes on large files
344
+ /causantic-reconstruct what did I work on yesterday?
345
+ /causantic-reconstruct last session
346
+ /causantic-reconstruct past 3 days
347
+ /causantic-reconstruct session abc12345
298
348
  \`\`\`
299
349
 
300
350
  ## Workflow
301
351
 
302
- 1. **Extract the error**: If no argument provided, extract the most recent error message or stack trace from the current conversation. If an argument is provided, use that as the search query.
303
- 2. **Search for the error/issue**: Use \`recall\` with the error text, \`range: "long"\` to search broadly across sessions
304
- 3. **Check for related patterns**: Use \`predict\` with the same context to surface tangentially related issues
305
- 4. **Present findings**:
306
- - Prior occurrences of this or similar errors
307
- - What was tried (including failed approaches)
308
- - What ultimately resolved it
352
+ 1. **Identify the project**: Use \`list-projects\` if the user hasn't specified one
353
+ 2. **Browse sessions**: Use \`list-sessions\` to see available sessions and their time ranges
354
+ 3. **Reconstruct**: Use \`reconstruct\` with appropriate parameters
309
355
 
310
- ## Parameters
356
+ ## Parameters for \`list-sessions\`
311
357
 
312
- - **recall**: query = error text (from argument or extracted from conversation), range = "long", project = current project
313
- - **predict**: context = same error text, project = current project
358
+ - **project** (required): Project slug
359
+ - **from**: Start date (ISO 8601)
360
+ - **to**: End date (ISO 8601)
361
+ - **days_back**: Look back N days
314
362
 
315
- ## Output Format
363
+ ## Parameters for \`reconstruct\`
316
364
 
317
- - **Prior Occurrences**: matching past encounters with dates
318
- - **What Was Tried**: approaches attempted, including failures
319
- - **Resolution**: what ultimately worked
320
- - **Related Issues**: other potentially connected problems
365
+ - **project** (required): Project slug
366
+ - **session_id**: Specific session ID
367
+ - **from** / **to**: Time range (ISO 8601)
368
+ - **days_back**: Look back N days
369
+ - **previous_session**: Get the session before the current one (set to \`true\`)
370
+ - **current_session_id**: Required when \`previous_session\` is true
371
+ - **keep_newest**: Keep newest chunks when truncating (default: true)
321
372
 
322
- If no matches found, say so clearly — do not fabricate matches.
373
+ ## Interpreting User Intent
374
+
375
+ | User says | Parameters |
376
+ |-----------|-----------|
377
+ | "yesterday" | \`days_back: 1\` |
378
+ | "past 3 days" | \`days_back: 3\` |
379
+ | "last session" | \`previous_session: true\` + current session ID |
380
+ | "session abc123" | \`session_id: "abc123"\` |
381
+ | "this week" | \`days_back: 7\` |
382
+ | "January 15" | \`from: "2025-01-15T00:00:00Z", to: "2025-01-16T00:00:00Z"\` |
323
383
 
324
384
  ## Guidelines
325
385
 
326
- - When invoked with no arguments, scan the current conversation for the most recent error, stack trace, or failing test output and use that automatically
327
- - Include failed approaches knowing what didn't work is as valuable as what did
328
- - Quote relevant snippets from past sessions rather than paraphrasing
329
- - If memory shows a recurring pattern, flag it: "This error has appeared N times"
386
+ - Always start with \`list-sessions\` to give the user an overview before reconstructing
387
+ - When the user says "last session", use \`previous_session: true\` this finds the session before the current one
388
+ - Token budget is applied automatically newest chunks are kept by default
389
+ - Results include session boundary markers for easy navigation
330
390
  `,
331
391
  },
332
392
  {
333
- dirName: 'causantic-context',
393
+ dirName: 'causantic-list-projects',
334
394
  content: `---
335
- name: causantic-context
336
- description: "Deep dive into a codebase area by combining decision history, evolution, and recent activity from memory. Use when you need comprehensive background on a module, feature, or design."
337
- argument-hint: [area or topic]
395
+ name: causantic-list-projects
396
+ description: "List all projects stored in Causantic long-term memory with chunk counts and date ranges. Use to discover available project names for filtering search/recall/predict queries."
338
397
  ---
339
398
 
340
- # Deep Context
399
+ # List Memory Projects
341
400
 
342
- Build comprehensive context about a codebase area by combining decision history, evolution, and recent activity from memory.
401
+ Use the \`list-projects\` MCP tool from \`causantic\` to see all projects in memory.
343
402
 
344
403
  ## Usage
345
404
 
346
405
  \`\`\`
347
- /causantic-context the authentication module
348
- /causantic-context src/storage/chunk-store.ts
349
- /causantic-context how we handle encryption
406
+ /causantic-list-projects
350
407
  \`\`\`
351
408
 
352
- ## Workflow
353
-
354
- 1. **Get decision history**: Use \`explain\` with the topic for historical narrative and rationale
355
- 2. **Get recent work**: Use \`recall\` with the topic and \`range: "short"\` for recent changes
356
- 3. **Present as a structured briefing**
357
-
358
- ## Output Format
409
+ ## Output
359
410
 
360
- - **Purpose**: What this area does (from memory's perspective)
361
- - **Key Decisions**: Decisions that shaped this area, with rationale
362
- - **Evolution**: Major changes over time
363
- - **Constraints & Tech Debt**: Known limitations or workarounds
364
- - **Recent Activity**: What was recently changed or discussed
411
+ Returns a list of projects with:
412
+ - Project name (slug)
413
+ - Number of memory chunks
414
+ - Date range (first seen to last seen)
365
415
 
366
- ## Guidelines
416
+ ## When to Use
367
417
 
368
- - Focus on the "why" the user can read the code for the "what"
369
- - If memory has conflicting information across time, present the most recent and note the evolution
370
- - If memory has little context for the area, say so honestly
418
+ - Before using project-filtered queries with \`/causantic-recall\`, \`/causantic-search\`, or \`/causantic-predict\`
419
+ - To see what projects have been ingested into memory
420
+ - To check the coverage and recency of memory for a specific project
371
421
  `,
372
422
  },
373
423
  {
@@ -392,10 +442,11 @@ Search memory across all projects to find relevant patterns, solutions, or appro
392
442
 
393
443
  ## Workflow
394
444
 
395
- 1. **Search all projects**: Use \`recall\` WITHOUT a project filter, \`range: "long"\`
396
- 2. **Surface related patterns**: Use \`predict\` without a project filter
397
- 3. **Group by project**: Organize results by which project they came from
398
- 4. **Highlight transferable insights**: Focus on what can be reused or adapted
445
+ 1. **Search all projects**: Use \`search\` WITHOUT a project filter for broad semantic discovery
446
+ 2. **Walk causal chains**: Use \`recall\` WITHOUT a project filter for narrative context
447
+ 3. **Surface related patterns**: Use \`predict\` without a project filter
448
+ 4. **Group by project**: Organize results by which project they came from
449
+ 5. **Highlight transferable insights**: Focus on what can be reused or adapted
399
450
 
400
451
  ## Output Format
401
452
 
@@ -435,9 +486,9 @@ Analyze patterns across past sessions to surface recurring themes, problems, and
435
486
 
436
487
  1. **Determine scope**:
437
488
  - Time range specified → use \`list-sessions\` with that window
438
- - Topic specified → use \`recall\` with \`range: "long"\`
489
+ - Topic specified → use \`recall\` with the topic
439
490
  - Neither → default to \`days_back: 30\`
440
- 2. **Gather context**: Use \`recall\` with \`range: "long"\` across the scope
491
+ 2. **Gather context**: Use \`recall\` across the scope
441
492
  3. **Synthesize patterns**: Analyze for recurring themes
442
493
 
443
494
  ## Output Format
@@ -582,8 +633,8 @@ Detect the project's linting tools and run them in strict/pedantic mode to surfa
582
633
  **This phase uses Causantic memory to enrich the review with historical context.**
583
634
 
584
635
  ### 2.1 Decision History
585
- - Use \`explain\` to retrieve the history behind major architectural decisions
586
- - Use \`recall\` with \`range: "long"\` to find past discussions about code quality, tech debt, and refactoring
636
+ - Use \`recall\` to retrieve the episodic history behind major architectural decisions
637
+ - Use \`search\` to find past discussions about code quality, tech debt, and refactoring
587
638
  - Document: why things are the way they are, what was tried before, what constraints exist
588
639
 
589
640
  ### 2.2 Known Tech Debt
@@ -598,7 +649,7 @@ Detect the project's linting tools and run them in strict/pedantic mode to surfa
598
649
 
599
650
  ### 2.4 Dependency History
600
651
  - Use \`recall\` to search for past dependency upgrade attempts, compatibility issues, or migration discussions
601
- - Use \`explain\` to understand why specific dependency versions may be pinned
652
+ - Use \`recall\` to understand why specific dependency versions may be pinned
602
653
  - Cross-reference memory findings with current dependency state — avoid recommending upgrades that were previously tried and caused issues
603
654
 
604
655
  ### 2.5 Lint & Suppression History
@@ -1089,17 +1140,35 @@ export function getMinimalClaudeMdBlock() {
1089
1140
  Long-term memory is available via the \`causantic\` MCP server.
1090
1141
 
1091
1142
  ### Skills
1092
- - \`/causantic-resume\` — Resume interrupted work (start-of-session briefing)
1093
- - \`/causantic-recall [query]\` — Look up context from past sessions
1094
- - \`/causantic-explain [topic]\` — Understand history behind decisions
1095
- - \`/causantic-predict\` — Surface relevant past context proactively
1143
+
1144
+ **Core retrieval:**
1145
+ - \`/causantic-recall [query]\` — Walk causal chains to reconstruct narrative (how did we solve X?)
1146
+ - \`/causantic-search [query]\` — Ranked discovery across memory by relevance (what do I know about X?)
1147
+ - \`/causantic-predict <context>\` — Surface relevant past context proactively for a given task
1148
+
1149
+ **Understanding & analysis:**
1150
+ - \`/causantic-explain [question]\` — Answer "why" questions about code and architecture decisions
1151
+ - \`/causantic-context [area]\` — Deep dive into a codebase area's history, evolution, and constraints
1096
1152
  - \`/causantic-debug [error]\` — Search for prior encounters with an error (auto-extracts from conversation if no argument)
1097
- - \`/causantic-context [area]\` — Deep dive into a codebase area's history
1098
- - \`/causantic-crossref [pattern]\` — Search across all projects
1099
- - \`/causantic-retro [scope]\` — Retrospective pattern analysis
1100
- - \`/causantic-cleanup\` — Memory-informed codebase review and cleanup plan
1101
- - \`/causantic-list-projects\` — Discover available projects
1153
+
1154
+ **Session & project navigation:**
1155
+ - \`/causantic-resume\` — Resume interrupted work (start-of-session briefing)
1102
1156
  - \`/causantic-reconstruct [time range]\` — Reconstruct session context by time
1157
+ - \`/causantic-list-projects\` — Discover available projects
1158
+
1159
+ **Cross-cutting analysis:**
1160
+ - \`/causantic-crossref [pattern]\` — Search across all projects for reusable patterns
1161
+ - \`/causantic-retro [scope]\` — Retrospective pattern analysis across sessions
1162
+ - \`/causantic-cleanup\` — Memory-informed codebase review and cleanup plan
1163
+
1164
+ ### Quick Decision Guide
1165
+
1166
+ | User intent | Skill |
1167
+ |-------------|-------|
1168
+ | "What do I know about X?" | \`search\` |
1169
+ | "How did we solve X?" | \`recall\` |
1170
+ | "Why does X work this way?" | \`explain\` |
1171
+ | "What might be relevant?" | \`predict\` |
1103
1172
 
1104
1173
  ### Proactive Memory Usage
1105
1174
 
@@ -1108,6 +1177,7 @@ Long-term memory is available via the \`causantic\` MCP server.
1108
1177
  - User references past work ("remember when...", "like we did before", "that bug from last week")
1109
1178
  - When stuck on an error after 2 failed attempts — use \`recall\` with the error text before trying a 3rd approach
1110
1179
  - User asks "why" about existing code or architecture — use \`explain\` before guessing
1180
+ - Starting work in an unfamiliar area — use \`search\` for broad discovery
1111
1181
  - Before making significant architectural decisions — use \`recall\` to check for prior discussions
1112
1182
 
1113
1183
  **Skip memory (avoid latency) when:**
@@ -1 +1 @@
1
- {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCZ;KACE;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ;KACE;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DZ;KACE;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDZ;KACE;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCZ;KACE;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCZ;KACE;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAumBZ;KACE;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,eAAe,GAAG,iCAAiC,CAAC;IAC1D,MAAM,aAAa,GAAG,+BAA+B,CAAC;IAEtD,OAAO,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCzB,aAAa,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"skill-templates.js","sourceRoot":"","sources":["../../src/cli/skill-templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCZ;KACE;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCZ;KACE;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDZ;KACE;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDZ;KACE;IACD;QACE,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DZ;KACE;IACD;QACE,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ;KACE;IACD;QACE,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCZ;KACE;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCZ;KACE;IACD;QACE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAumBZ;KACE;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,eAAe,GAAG,iCAAiC,CAAC;IAC1D,MAAM,aAAa,GAAG,+BAA+B,CAAC;IAEtD,OAAO,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2DzB,aAAa,EAAE,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,wEAAwE;IACxE,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBlD;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAyB1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCzF;AAiND;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,EAAE,CAerE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyClF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAQpE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EnE"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/cli/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,wEAAwE;IACxE,MAAM,EAAE,MAAM,OAAO,CAAC;CACvB;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBlD;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBnE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CA8B1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkCzF;AAiND;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,EAAE,CAerE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAyClF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAQpE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6EnE"}
@@ -91,7 +91,10 @@ export function removeJsonKey(filePath, keyPath) {
91
91
  parent = parent[keyPath[i]];
92
92
  }
93
93
  const targetKey = keyPath[keyPath.length - 1];
94
- if (parent === null || parent === undefined || typeof parent !== 'object' || !(targetKey in parent)) {
94
+ if (parent === null ||
95
+ parent === undefined ||
96
+ typeof parent !== 'object' ||
97
+ !(targetKey in parent)) {
95
98
  return false;
96
99
  }
97
100
  delete parent[targetKey];