@claude-flow/cli 3.7.0-alpha.7 → 3.7.0-alpha.70

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 (262) hide show
  1. package/.claude/helpers/hook-handler.cjs +12 -4
  2. package/.claude/helpers/statusline.cjs +31 -2
  3. package/.claude/helpers/statusline.js +35 -4
  4. package/README.md +51 -34
  5. package/bin/cli.js +15 -2
  6. package/bin/mcp-server.js +1 -1
  7. package/dist/src/__probe.d.ts +2 -0
  8. package/dist/src/__probe.d.ts.map +1 -0
  9. package/dist/src/__probe.js +5 -0
  10. package/dist/src/__probe.js.map +1 -0
  11. package/dist/src/commands/agent-wasm.js +2 -2
  12. package/dist/src/commands/agent-wasm.js.map +1 -1
  13. package/dist/src/commands/benchmark-cosign.d.ts +29 -0
  14. package/dist/src/commands/benchmark-cosign.d.ts.map +1 -0
  15. package/dist/src/commands/benchmark-cosign.js +222 -0
  16. package/dist/src/commands/benchmark-cosign.js.map +1 -0
  17. package/dist/src/commands/benchmark-verify.d.ts +21 -0
  18. package/dist/src/commands/benchmark-verify.d.ts.map +1 -0
  19. package/dist/src/commands/benchmark-verify.js +202 -0
  20. package/dist/src/commands/benchmark-verify.js.map +1 -0
  21. package/dist/src/commands/daemon.d.ts +20 -0
  22. package/dist/src/commands/daemon.d.ts.map +1 -1
  23. package/dist/src/commands/daemon.js +366 -7
  24. package/dist/src/commands/daemon.js.map +1 -1
  25. package/dist/src/commands/doctor.d.ts.map +1 -1
  26. package/dist/src/commands/doctor.js +224 -46
  27. package/dist/src/commands/doctor.js.map +1 -1
  28. package/dist/src/commands/embeddings.d.ts.map +1 -1
  29. package/dist/src/commands/embeddings.js +18 -9
  30. package/dist/src/commands/embeddings.js.map +1 -1
  31. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  32. package/dist/src/commands/hive-mind.js +25 -7
  33. package/dist/src/commands/hive-mind.js.map +1 -1
  34. package/dist/src/commands/hooks.d.ts.map +1 -1
  35. package/dist/src/commands/hooks.js +56 -29
  36. package/dist/src/commands/hooks.js.map +1 -1
  37. package/dist/src/commands/memory.d.ts.map +1 -1
  38. package/dist/src/commands/memory.js +104 -3
  39. package/dist/src/commands/memory.js.map +1 -1
  40. package/dist/src/commands/start.js +1 -1
  41. package/dist/src/commands/start.js.map +1 -1
  42. package/dist/src/commands/swarm.js +1 -1
  43. package/dist/src/commands/swarm.js.map +1 -1
  44. package/dist/src/commands/task.d.ts.map +1 -1
  45. package/dist/src/commands/task.js +8 -4
  46. package/dist/src/commands/task.js.map +1 -1
  47. package/dist/src/config-adapter.js +1 -1
  48. package/dist/src/config-adapter.js.map +1 -1
  49. package/dist/src/index.d.ts +5 -1
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/index.js +61 -18
  52. package/dist/src/index.js.map +1 -1
  53. package/dist/src/init/executor.d.ts.map +1 -1
  54. package/dist/src/init/executor.js +92 -0
  55. package/dist/src/init/executor.js.map +1 -1
  56. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  57. package/dist/src/init/helpers-generator.js +6 -2
  58. package/dist/src/init/helpers-generator.js.map +1 -1
  59. package/dist/src/init/mcp-generator.js +4 -4
  60. package/dist/src/init/mcp-generator.js.map +1 -1
  61. package/dist/src/init/settings-generator.d.ts.map +1 -1
  62. package/dist/src/init/settings-generator.js +78 -19
  63. package/dist/src/init/settings-generator.js.map +1 -1
  64. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  65. package/dist/src/init/statusline-generator.js +75 -31
  66. package/dist/src/init/statusline-generator.js.map +1 -1
  67. package/dist/src/init/types.d.ts +7 -0
  68. package/dist/src/init/types.d.ts.map +1 -1
  69. package/dist/src/init/types.js.map +1 -1
  70. package/dist/src/mcp-client.d.ts.map +1 -1
  71. package/dist/src/mcp-client.js +12 -0
  72. package/dist/src/mcp-client.js.map +1 -1
  73. package/dist/src/mcp-server.d.ts.map +1 -1
  74. package/dist/src/mcp-server.js +38 -5
  75. package/dist/src/mcp-server.js.map +1 -1
  76. package/dist/src/mcp-tools/agent-execute-core.d.ts +3 -2
  77. package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
  78. package/dist/src/mcp-tools/agent-execute-core.js +16 -9
  79. package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
  80. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  81. package/dist/src/mcp-tools/agent-tools.js +88 -11
  82. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  83. package/dist/src/mcp-tools/agentdb-tools.d.ts +3 -0
  84. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
  85. package/dist/src/mcp-tools/agentdb-tools.js +206 -21
  86. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  87. package/dist/src/mcp-tools/analyze-tools.js +6 -6
  88. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  89. package/dist/src/mcp-tools/autopilot-tools.js +10 -10
  90. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  91. package/dist/src/mcp-tools/browser-session-tools.d.ts.map +1 -1
  92. package/dist/src/mcp-tools/browser-session-tools.js +18 -7
  93. package/dist/src/mcp-tools/browser-session-tools.js.map +1 -1
  94. package/dist/src/mcp-tools/browser-tools.js +23 -23
  95. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  96. package/dist/src/mcp-tools/claims-tools.js +12 -12
  97. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  98. package/dist/src/mcp-tools/config-tools.js +6 -6
  99. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  100. package/dist/src/mcp-tools/coordination-tools.js +7 -7
  101. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  102. package/dist/src/mcp-tools/daa-tools.js +8 -8
  103. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  104. package/dist/src/mcp-tools/embeddings-tools.js +10 -10
  105. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  106. package/dist/src/mcp-tools/github-tools.js +5 -5
  107. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  108. package/dist/src/mcp-tools/guidance-tools.js +21 -21
  109. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  110. package/dist/src/mcp-tools/hive-consensus-runtime.d.ts +149 -0
  111. package/dist/src/mcp-tools/hive-consensus-runtime.d.ts.map +1 -0
  112. package/dist/src/mcp-tools/hive-consensus-runtime.js +296 -0
  113. package/dist/src/mcp-tools/hive-consensus-runtime.js.map +1 -0
  114. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  115. package/dist/src/mcp-tools/hive-mind-tools.js +53 -9
  116. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  117. package/dist/src/mcp-tools/hooks-tools.d.ts +2 -0
  118. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  119. package/dist/src/mcp-tools/hooks-tools.js +179 -46
  120. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  121. package/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
  122. package/dist/src/mcp-tools/managed-agent-tools.d.ts.map +1 -0
  123. package/dist/src/mcp-tools/managed-agent-tools.js +357 -0
  124. package/dist/src/mcp-tools/managed-agent-tools.js.map +1 -0
  125. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  126. package/dist/src/mcp-tools/memory-tools.js +490 -68
  127. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  128. package/dist/src/mcp-tools/neural-tools.js +6 -6
  129. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  130. package/dist/src/mcp-tools/performance-tools.js +6 -6
  131. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  132. package/dist/src/mcp-tools/progress-tools.js +4 -4
  133. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  134. package/dist/src/mcp-tools/ruvllm-tools.js +10 -10
  135. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  136. package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
  137. package/dist/src/mcp-tools/security-tools.js +34 -9
  138. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  139. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
  140. package/dist/src/mcp-tools/session-tools.js +130 -6
  141. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  142. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  143. package/dist/src/mcp-tools/swarm-tools.js +76 -7
  144. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  145. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  146. package/dist/src/mcp-tools/system-tools.js +91 -18
  147. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  148. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  149. package/dist/src/mcp-tools/task-tools.js +55 -7
  150. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  151. package/dist/src/mcp-tools/terminal-tools.js +5 -5
  152. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  153. package/dist/src/mcp-tools/transfer-tools.js +11 -11
  154. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  155. package/dist/src/mcp-tools/wasm-agent-tools.js +11 -11
  156. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  157. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  158. package/dist/src/mcp-tools/workflow-tools.js +118 -10
  159. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  160. package/dist/src/memory/ann-router-registry.d.ts +61 -0
  161. package/dist/src/memory/ann-router-registry.d.ts.map +1 -0
  162. package/dist/src/memory/ann-router-registry.js +72 -0
  163. package/dist/src/memory/ann-router-registry.js.map +1 -0
  164. package/dist/src/memory/diskann-registry.d.ts +56 -0
  165. package/dist/src/memory/diskann-registry.d.ts.map +1 -0
  166. package/dist/src/memory/diskann-registry.js +88 -0
  167. package/dist/src/memory/diskann-registry.js.map +1 -0
  168. package/dist/src/memory/memory-bridge.d.ts +69 -0
  169. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  170. package/dist/src/memory/memory-bridge.js +293 -5
  171. package/dist/src/memory/memory-bridge.js.map +1 -1
  172. package/dist/src/memory/memory-initializer.d.ts +8 -0
  173. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  174. package/dist/src/memory/memory-initializer.js +89 -16
  175. package/dist/src/memory/memory-initializer.js.map +1 -1
  176. package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
  177. package/dist/src/memory/sona-optimizer.js +3 -0
  178. package/dist/src/memory/sona-optimizer.js.map +1 -1
  179. package/dist/src/parser.d.ts +9 -0
  180. package/dist/src/parser.d.ts.map +1 -1
  181. package/dist/src/parser.js +11 -0
  182. package/dist/src/parser.js.map +1 -1
  183. package/dist/src/plugins/store/discovery.d.ts +15 -4
  184. package/dist/src/plugins/store/discovery.d.ts.map +1 -1
  185. package/dist/src/plugins/store/discovery.js +40 -18
  186. package/dist/src/plugins/store/discovery.js.map +1 -1
  187. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -1
  188. package/dist/src/ruvector/agent-wasm.js +4 -1
  189. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  190. package/dist/src/ruvector/coverage-tools.js +6 -6
  191. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  192. package/dist/src/services/headless-worker-executor.d.ts +6 -0
  193. package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
  194. package/dist/src/services/headless-worker-executor.js +37 -3
  195. package/dist/src/services/headless-worker-executor.js.map +1 -1
  196. package/dist/src/services/worker-daemon.d.ts +80 -2
  197. package/dist/src/services/worker-daemon.d.ts.map +1 -1
  198. package/dist/src/services/worker-daemon.js +372 -11
  199. package/dist/src/services/worker-daemon.js.map +1 -1
  200. package/dist/tsconfig.tsbuildinfo +1 -1
  201. package/package.json +12 -8
  202. package/.claude/skills/agentdb-advanced/SKILL.md +0 -550
  203. package/.claude/skills/agentdb-learning/SKILL.md +0 -545
  204. package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -339
  205. package/.claude/skills/agentdb-optimization/SKILL.md +0 -509
  206. package/.claude/skills/agentdb-vector-search/SKILL.md +0 -339
  207. package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
  208. package/.claude/skills/aidefence-scan.md +0 -151
  209. package/.claude/skills/aidefence.yaml +0 -297
  210. package/.claude/skills/browser/SKILL.md +0 -204
  211. package/.claude/skills/flow-nexus-neural/SKILL.md +0 -738
  212. package/.claude/skills/flow-nexus-platform/SKILL.md +0 -1157
  213. package/.claude/skills/flow-nexus-swarm/SKILL.md +0 -610
  214. package/.claude/skills/github-code-review/SKILL.md +0 -1140
  215. package/.claude/skills/github-multi-repo/SKILL.md +0 -874
  216. package/.claude/skills/github-project-management/SKILL.md +0 -1277
  217. package/.claude/skills/github-release-management/SKILL.md +0 -1081
  218. package/.claude/skills/github-workflow-automation/SKILL.md +0 -1065
  219. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -712
  220. package/.claude/skills/hooks-automation/SKILL.md +0 -1201
  221. package/.claude/skills/pair-programming/SKILL.md +0 -1202
  222. package/.claude/skills/performance-analysis/SKILL.md +0 -563
  223. package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -446
  224. package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -201
  225. package/.claude/skills/secure-review.md +0 -181
  226. package/.claude/skills/skill-builder/SKILL.md +0 -910
  227. package/.claude/skills/sparc-methodology/SKILL.md +0 -1115
  228. package/.claude/skills/stream-chain/SKILL.md +0 -563
  229. package/.claude/skills/swarm-advanced/SKILL.md +0 -973
  230. package/.claude/skills/swarm-orchestration/SKILL.md +0 -179
  231. package/.claude/skills/v3-cli-modernization/SKILL.md +0 -872
  232. package/.claude/skills/v3-core-implementation/SKILL.md +0 -797
  233. package/.claude/skills/v3-ddd-architecture/SKILL.md +0 -442
  234. package/.claude/skills/v3-integration-deep/SKILL.md +0 -241
  235. package/.claude/skills/v3-mcp-optimization/SKILL.md +0 -777
  236. package/.claude/skills/v3-memory-unification/SKILL.md +0 -174
  237. package/.claude/skills/v3-performance-optimization/SKILL.md +0 -390
  238. package/.claude/skills/v3-security-overhaul/SKILL.md +0 -82
  239. package/.claude/skills/v3-swarm-coordination/SKILL.md +0 -340
  240. package/.claude/skills/verification-quality/SKILL.md +0 -649
  241. package/.claude/skills/worker-benchmarks/skill.md +0 -135
  242. package/.claude/skills/worker-integration/skill.md +0 -154
  243. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  244. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  245. package/dist/src/ruvector/flash-attention.js +0 -643
  246. package/dist/src/ruvector/flash-attention.js.map +0 -1
  247. package/dist/src/ruvector/moe-router.d.ts +0 -206
  248. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  249. package/dist/src/ruvector/moe-router.js +0 -626
  250. package/dist/src/ruvector/moe-router.js.map +0 -1
  251. package/dist/src/services/event-stream.d.ts +0 -25
  252. package/dist/src/services/event-stream.d.ts.map +0 -1
  253. package/dist/src/services/event-stream.js +0 -27
  254. package/dist/src/services/event-stream.js.map +0 -1
  255. package/dist/src/services/loop-worker-runner.d.ts +0 -16
  256. package/dist/src/services/loop-worker-runner.d.ts.map +0 -1
  257. package/dist/src/services/loop-worker-runner.js +0 -34
  258. package/dist/src/services/loop-worker-runner.js.map +0 -1
  259. package/dist/src/services/runtime-capabilities.d.ts +0 -22
  260. package/dist/src/services/runtime-capabilities.d.ts.map +0 -1
  261. package/dist/src/services/runtime-capabilities.js +0 -45
  262. package/dist/src/services/runtime-capabilities.js.map +0 -1
@@ -278,6 +278,75 @@ export declare function bridgeRecordCausalEdge(options: {
278
278
  success: boolean;
279
279
  controller: string;
280
280
  } | null>;
281
+ /**
282
+ * Delete a hierarchical-memory entry by key (#1784).
283
+ *
284
+ * Reality check: agentdb's HierarchicalMemory class doesn't expose a public
285
+ * delete API today, so the real-backend path falls back to direct SQL on
286
+ * the underlying SQLite tables (status flip to 'deleted' + AttestationLog
287
+ * audit). The bridge-fallback path that bridgeHierarchicalStore uses when
288
+ * HierarchicalMemory isn't loaded writes plain memory_entries rows that
289
+ * `bridgeDeleteEntry` already handles.
290
+ *
291
+ * Returns { controller: 'native-unsupported' } when the real HM is loaded
292
+ * and the SQL fallback can't reach its private tables — surfacing the
293
+ * limitation honestly instead of silently returning success.
294
+ */
295
+ export declare function bridgeDeleteHierarchical(options: {
296
+ key: string;
297
+ tier?: string;
298
+ dbPath?: string;
299
+ }): Promise<{
300
+ success: boolean;
301
+ deleted: boolean;
302
+ key: string;
303
+ tier?: string;
304
+ controller: string;
305
+ guarded?: boolean;
306
+ error?: string;
307
+ } | null>;
308
+ /**
309
+ * Delete a causal edge between two memory entries (#1784).
310
+ *
311
+ * The bridge stores fallback edges in namespace='causal-edges' with key
312
+ * '{sourceId}→{targetId}'. Those CAN be soft-deleted. The native graph-node
313
+ * backend has no delete API (createNode/createEdge/createHyperedge only),
314
+ * so an edge that landed in graph-node native storage stays there. We
315
+ * surface that explicitly via controller: 'native-unsupported'.
316
+ */
317
+ export declare function bridgeDeleteCausalEdge(options: {
318
+ sourceId: string;
319
+ targetId: string;
320
+ relation?: string;
321
+ dbPath?: string;
322
+ }): Promise<{
323
+ success: boolean;
324
+ deleted: boolean;
325
+ sourceId: string;
326
+ targetId: string;
327
+ controller: string;
328
+ guarded?: boolean;
329
+ error?: string;
330
+ } | null>;
331
+ /**
332
+ * Cascade-delete a causal node and all its incident edges (#1784).
333
+ *
334
+ * Same constraint as bridgeDeleteCausalEdge — native graph-node lacks a
335
+ * delete API. SQL fallback path soft-deletes the node (if stored as a
336
+ * memory_entries row) and every edge whose key contains the nodeId.
337
+ */
338
+ export declare function bridgeDeleteCausalNode(options: {
339
+ nodeId: string;
340
+ dbPath?: string;
341
+ }): Promise<{
342
+ success: boolean;
343
+ deletedNode: boolean;
344
+ deletedEdges: number;
345
+ nodeId: string;
346
+ controller: string;
347
+ guarded?: boolean;
348
+ error?: string;
349
+ } | null>;
281
350
  /**
282
351
  * Start a session with ReflexionMemory episodic replay.
283
352
  * Loads relevant past session patterns for the new session.
@@ -1 +1 @@
1
- {"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../../src/memory/memory-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../../src/memory/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsgBH;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CA8FR;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CAyGR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;IACJ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CAwDR;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CAoFR;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CA0DR;AAID;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAoB5E;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,CAuBR;AAID;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,CA4BR;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,GAAG,IAAI,CAAC,CA0DT;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACtE,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAyBzB;AAID;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CASrB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAAC,CAS1E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAEhF;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAWpD;AAID;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkD9E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAyCzG;AAID;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA0E5E;AAID;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAoC3D;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CAiFR;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CAiER;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,CA2ER;AAID;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,CAqCR;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,CAoDR;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAAC,CAqCR;AAID;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D,GAAG,IAAI,CAAC,CA0BR;AAID;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAqBtI;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA4BpH;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAStG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA+CtG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA+B1G;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBjF;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,KAAK,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC,GAAG,IAAI,CAAC,CAsCT"}
@@ -18,26 +18,50 @@
18
18
  */
19
19
  import * as path from 'path';
20
20
  import * as crypto from 'crypto';
21
+ import { createRequire } from 'node:module';
21
22
  // ===== Lazy singleton =====
22
23
  let registryPromise = null;
23
24
  let registryInstance = null;
24
25
  let bridgeAvailable = null;
25
26
  /**
26
27
  * Resolve database path with path traversal protection.
27
- * Only allows paths within or below the project's .swarm directory,
28
+ * Only allows paths within or below the project's working directory,
28
29
  * or the special ':memory:' path.
30
+ *
31
+ * #1945: the previous hard-coded `<cwd>/.swarm/memory.db` default ignored
32
+ * `CLAUDE_FLOW_MEMORY_PATH` / `claude-flow.config.json#memory.persistPath`
33
+ * — so users with non-default memory paths had `memory init` write to e.g.
34
+ * `data/memory/memory.db` while `bridgeStoreEntry()` wrote to
35
+ * `.swarm/memory.db`. CLI store reported success against the wrong file and
36
+ * a fresh process reading the configured path saw nothing.
37
+ *
38
+ * Use `getMemoryRoot()` (from memory-initializer) so the bridge and the
39
+ * initializer agree on the same file. Imported via require() to avoid a
40
+ * circular ESM dep between memory-initializer.ts and memory-bridge.ts.
29
41
  */
30
42
  function getDbPath(customPath) {
31
- const swarmDir = path.resolve(process.cwd(), '.swarm');
43
+ let defaultDir = path.resolve(process.cwd(), '.swarm');
44
+ try {
45
+ // `getMemoryRoot()` honors $CLAUDE_FLOW_MEMORY_PATH, then the
46
+ // claude-flow.config.json `memory.persistPath`, then defaults to `.swarm`.
47
+ const cjsRequire = createRequire(import.meta.url);
48
+ const mod = cjsRequire('./memory-initializer.js');
49
+ if (typeof mod.getMemoryRoot === 'function') {
50
+ defaultDir = mod.getMemoryRoot();
51
+ }
52
+ }
53
+ catch {
54
+ /* memory-initializer not resolvable in this build — keep `.swarm/` default */
55
+ }
32
56
  if (!customPath)
33
- return path.join(swarmDir, 'memory.db');
57
+ return path.join(defaultDir, 'memory.db');
34
58
  if (customPath === ':memory:')
35
59
  return ':memory:';
36
60
  const resolved = path.resolve(customPath);
37
- // Ensure the path doesn't escape the working directory
61
+ // Ensure the path doesn't escape the working directory.
38
62
  const cwd = process.cwd();
39
63
  if (!resolved.startsWith(cwd)) {
40
- return path.join(swarmDir, 'memory.db'); // fallback to safe default
64
+ return path.join(defaultDir, 'memory.db'); // fallback to safe default
41
65
  }
42
66
  return resolved;
43
67
  }
@@ -555,6 +579,17 @@ export async function bridgeStoreEntry(options) {
555
579
  embedding, embedding_dimensions, embedding_model,
556
580
  tags, metadata, created_at, updated_at, expires_at, status
557
581
  ) VALUES (?, ?, ?, ?, 'semantic', ?, ?, ?, ?, ?, ?, ?, ?, 'active')`;
582
+ // #1941: provision a `vector_indexes` row for this namespace before the
583
+ // entry insert. AgentDB's HNSW/router keys lookups by namespace via this
584
+ // table — if it has no row for e.g. `claude-memories`, `memory_search`
585
+ // returns 0 results even when memory_entries holds hundreds of rows for
586
+ // that namespace. INSERT OR IGNORE so existing index rows are preserved.
587
+ try {
588
+ ctx.db
589
+ .prepare(`INSERT OR IGNORE INTO vector_indexes (id, name, dimensions) VALUES (?, ?, ?)`)
590
+ .run(namespace, namespace, dimensions || 384);
591
+ }
592
+ catch { /* vector_indexes may not exist on legacy DBs — fall through */ }
558
593
  const stmt = ctx.db.prepare(insertSql);
559
594
  stmt.run(id, key, namespace, value, embeddingJson, dimensions || null, model, tags.length > 0 ? JSON.stringify(tags) : null, '{}', now, now, ttl ? now + (ttl * 1000) : null);
560
595
  // Phase 2: Write-through to TieredCache
@@ -1354,6 +1389,259 @@ export async function bridgeRecordCausalEdge(options) {
1354
1389
  return null;
1355
1390
  }
1356
1391
  }
1392
+ // ===== #1784: Delete tools for hierarchical + causal-graph =====
1393
+ /**
1394
+ * Delete a hierarchical-memory entry by key (#1784).
1395
+ *
1396
+ * Reality check: agentdb's HierarchicalMemory class doesn't expose a public
1397
+ * delete API today, so the real-backend path falls back to direct SQL on
1398
+ * the underlying SQLite tables (status flip to 'deleted' + AttestationLog
1399
+ * audit). The bridge-fallback path that bridgeHierarchicalStore uses when
1400
+ * HierarchicalMemory isn't loaded writes plain memory_entries rows that
1401
+ * `bridgeDeleteEntry` already handles.
1402
+ *
1403
+ * Returns { controller: 'native-unsupported' } when the real HM is loaded
1404
+ * and the SQL fallback can't reach its private tables — surfacing the
1405
+ * limitation honestly instead of silently returning success.
1406
+ */
1407
+ export async function bridgeDeleteHierarchical(options) {
1408
+ const registry = await getRegistry(options.dbPath);
1409
+ if (!registry)
1410
+ return null;
1411
+ try {
1412
+ const { key, tier } = options;
1413
+ // MutationGuard validation
1414
+ const guardResult = await guardValidate(registry, 'delete', { key, namespace: 'hierarchical' });
1415
+ if (!guardResult.allowed) {
1416
+ return { success: false, deleted: false, key, tier, controller: 'guard', error: `MutationGuard rejected: ${guardResult.reason}` };
1417
+ }
1418
+ const hm = registry.get('hierarchicalMemory');
1419
+ // 1. agentdb@3.0.0-alpha.13+: ReflexionMemory.deleteEpisode propagates through
1420
+ // graph adapter / generic graph backend / vector backend AND purges SQL
1421
+ // episodes + episode_embeddings rows. Single call, durably consistent.
1422
+ // See agentic-flow#150/#151 (closes ruvnet/RuVector#427 the cli-visible way).
1423
+ const reflexion = registry.get('reflexionMemory');
1424
+ if (reflexion && typeof reflexion.deleteEpisode === 'function') {
1425
+ try {
1426
+ const removed = await reflexion.deleteEpisode(key);
1427
+ if (removed) {
1428
+ await logAttestation(registry, 'delete', key, { namespace: 'hierarchical', tier });
1429
+ return { success: true, deleted: true, key, tier, controller: 'reflexionMemory', guarded: true };
1430
+ }
1431
+ }
1432
+ catch { /* fall through */ }
1433
+ }
1434
+ // 2. Try HierarchicalMemory's own delete API if it ever ships one.
1435
+ if (hm && typeof hm.delete === 'function') {
1436
+ try {
1437
+ await hm.delete(key);
1438
+ await logAttestation(registry, 'delete', key, { namespace: 'hierarchical', tier });
1439
+ return { success: true, deleted: true, key, tier, controller: 'hierarchicalMemory', guarded: true };
1440
+ }
1441
+ catch (err) {
1442
+ // Fall through to SQL fallback
1443
+ }
1444
+ }
1445
+ // 3. Stub HierarchicalMemory may expose `remove` or `forget`
1446
+ if (hm && typeof hm.remove === 'function') {
1447
+ try {
1448
+ await hm.remove(key);
1449
+ await logAttestation(registry, 'delete', key, { namespace: 'hierarchical', tier });
1450
+ return { success: true, deleted: true, key, tier, controller: 'hierarchicalMemory-stub', guarded: true };
1451
+ }
1452
+ catch { /* fall through */ }
1453
+ }
1454
+ // 3. Bridge-fallback: HM stored to memory_entries with namespace prefix
1455
+ // (used when the real controller isn't loaded). Soft-delete via SQL.
1456
+ const ctx = getDb(registry);
1457
+ if (ctx) {
1458
+ try {
1459
+ const result = ctx.db.prepare(`
1460
+ UPDATE memory_entries
1461
+ SET status = 'deleted', updated_at = ?
1462
+ WHERE key = ? AND namespace LIKE 'hierarchical%' AND status = 'active'
1463
+ `).run(Date.now(), key);
1464
+ const changes = result?.changes ?? 0;
1465
+ if (changes > 0) {
1466
+ await logAttestation(registry, 'delete', key, { namespace: 'hierarchical', tier });
1467
+ return { success: true, deleted: true, key, tier, controller: 'bridge-fallback', guarded: true };
1468
+ }
1469
+ // Nothing to delete in SQL fallback — and no real-HM delete API.
1470
+ // Surface the situation honestly.
1471
+ return {
1472
+ success: false, deleted: false, key, tier,
1473
+ controller: hm ? 'native-unsupported' : 'not-found',
1474
+ error: hm
1475
+ ? 'HierarchicalMemory has no public delete API; entry remains in native storage'
1476
+ : 'No hierarchical entry found with this key',
1477
+ };
1478
+ }
1479
+ catch (err) {
1480
+ return { success: false, deleted: false, key, tier, controller: 'sql-error', error: err.message };
1481
+ }
1482
+ }
1483
+ return null;
1484
+ }
1485
+ catch {
1486
+ return null;
1487
+ }
1488
+ }
1489
+ /**
1490
+ * Delete a causal edge between two memory entries (#1784).
1491
+ *
1492
+ * The bridge stores fallback edges in namespace='causal-edges' with key
1493
+ * '{sourceId}→{targetId}'. Those CAN be soft-deleted. The native graph-node
1494
+ * backend has no delete API (createNode/createEdge/createHyperedge only),
1495
+ * so an edge that landed in graph-node native storage stays there. We
1496
+ * surface that explicitly via controller: 'native-unsupported'.
1497
+ */
1498
+ export async function bridgeDeleteCausalEdge(options) {
1499
+ const registry = await getRegistry(options.dbPath);
1500
+ if (!registry)
1501
+ return null;
1502
+ try {
1503
+ const { sourceId, targetId, relation } = options;
1504
+ const edgeKey = `${sourceId}→${targetId}`;
1505
+ const guardResult = await guardValidate(registry, 'delete', { key: edgeKey, namespace: 'causal-edges' });
1506
+ if (!guardResult.allowed) {
1507
+ return { success: false, deleted: false, sourceId, targetId, controller: 'guard', error: `MutationGuard rejected: ${guardResult.reason}` };
1508
+ }
1509
+ const causalGraph = registry.get('causalGraph');
1510
+ // 1. agentdb@3.0.0-alpha.13+: GraphDatabaseAdapter.deleteEdgesByEndpoints
1511
+ // handles the (sourceId, targetId, relation?) tuple case directly via
1512
+ // Cypher MATCH … DETACH DELETE. Cypher-injection-safe (label validated
1513
+ // against /^[A-Za-z_][A-Za-z0-9_]*$/ upstream).
1514
+ if (causalGraph && typeof causalGraph.deleteEdgesByEndpoints === 'function') {
1515
+ try {
1516
+ const r = await causalGraph.deleteEdgesByEndpoints(sourceId, targetId, relation);
1517
+ const deletedCount = typeof r === 'object' && r ? (r.deleted ?? 0) : (r ? 1 : 0);
1518
+ if (deletedCount > 0) {
1519
+ await logAttestation(registry, 'delete', edgeKey, { namespace: 'causal-edges', relation, count: deletedCount });
1520
+ return { success: true, deleted: true, sourceId, targetId, controller: 'causalGraph-cypher', guarded: true };
1521
+ }
1522
+ }
1523
+ catch { /* fall through */ }
1524
+ }
1525
+ // 2. Pre-alpha.13 / different controller: try removeEdge() if exposed.
1526
+ if (causalGraph && typeof causalGraph.removeEdge === 'function') {
1527
+ try {
1528
+ await causalGraph.removeEdge(sourceId, targetId, relation);
1529
+ await logAttestation(registry, 'delete', edgeKey, { namespace: 'causal-edges', relation });
1530
+ return { success: true, deleted: true, sourceId, targetId, controller: 'causalGraph', guarded: true };
1531
+ }
1532
+ catch { /* fall through */ }
1533
+ }
1534
+ // 2. Bridge-fallback: soft-delete the memory_entries row.
1535
+ const ctx = getDb(registry);
1536
+ if (ctx) {
1537
+ try {
1538
+ const result = ctx.db.prepare(`
1539
+ UPDATE memory_entries
1540
+ SET status = 'deleted', updated_at = ?
1541
+ WHERE key = ? AND namespace = 'causal-edges' AND status = 'active'
1542
+ `).run(Date.now(), edgeKey);
1543
+ const changes = result?.changes ?? 0;
1544
+ if (changes > 0) {
1545
+ await logAttestation(registry, 'delete', edgeKey, { namespace: 'causal-edges', relation });
1546
+ return { success: true, deleted: true, sourceId, targetId, controller: 'bridge-fallback', guarded: true };
1547
+ }
1548
+ return {
1549
+ success: false, deleted: false, sourceId, targetId,
1550
+ controller: 'native-unsupported',
1551
+ error: 'graph-node native backend has no delete API; edge cannot be removed from native storage. SQL fallback found no matching row.',
1552
+ };
1553
+ }
1554
+ catch (err) {
1555
+ return { success: false, deleted: false, sourceId, targetId, controller: 'sql-error', error: err.message };
1556
+ }
1557
+ }
1558
+ return null;
1559
+ }
1560
+ catch {
1561
+ return null;
1562
+ }
1563
+ }
1564
+ /**
1565
+ * Cascade-delete a causal node and all its incident edges (#1784).
1566
+ *
1567
+ * Same constraint as bridgeDeleteCausalEdge — native graph-node lacks a
1568
+ * delete API. SQL fallback path soft-deletes the node (if stored as a
1569
+ * memory_entries row) and every edge whose key contains the nodeId.
1570
+ */
1571
+ export async function bridgeDeleteCausalNode(options) {
1572
+ const registry = await getRegistry(options.dbPath);
1573
+ if (!registry)
1574
+ return null;
1575
+ try {
1576
+ const { nodeId } = options;
1577
+ const guardResult = await guardValidate(registry, 'delete', { key: nodeId, namespace: 'causal-nodes' });
1578
+ if (!guardResult.allowed) {
1579
+ return { success: false, deletedNode: false, deletedEdges: 0, nodeId, controller: 'guard', error: `MutationGuard rejected: ${guardResult.reason}` };
1580
+ }
1581
+ // 1. agentdb@3.0.0-alpha.13+: GraphDatabaseAdapter.deleteNode(id, {cascade})
1582
+ // counts incident edges before delete so we get accurate audit numbers
1583
+ // regardless of binding stats. Cypher MATCH (n {id}) DETACH DELETE n.
1584
+ const causalGraph = registry.get('causalGraph');
1585
+ if (causalGraph && typeof causalGraph.deleteNode === 'function') {
1586
+ try {
1587
+ const r = await causalGraph.deleteNode(nodeId, { cascade: true });
1588
+ if (r && typeof r === 'object') {
1589
+ const deletedNodeNative = !!r.deletedNode;
1590
+ const deletedEdgesNative = typeof r.deletedEdges === 'number' ? r.deletedEdges : 0;
1591
+ await logAttestation(registry, 'delete', nodeId, { namespace: 'causal-nodes', deletedEdges: deletedEdgesNative });
1592
+ return {
1593
+ success: true,
1594
+ deletedNode: deletedNodeNative,
1595
+ deletedEdges: deletedEdgesNative,
1596
+ nodeId,
1597
+ controller: 'causalGraph-cypher',
1598
+ guarded: true,
1599
+ };
1600
+ }
1601
+ }
1602
+ catch { /* fall through to SQL */ }
1603
+ }
1604
+ // 2. SQL fallback: soft-delete the node row + every causal-edges row whose
1605
+ // key contains nodeId on either side. Used when agentdb pre-alpha.13 OR
1606
+ // when the entry was stored via the bridge's SQL fallback path.
1607
+ const ctx = getDb(registry);
1608
+ if (!ctx)
1609
+ return null;
1610
+ let deletedEdges = 0;
1611
+ let deletedNode = false;
1612
+ try {
1613
+ const edgeResult = ctx.db.prepare(`
1614
+ UPDATE memory_entries
1615
+ SET status = 'deleted', updated_at = ?
1616
+ WHERE namespace = 'causal-edges'
1617
+ AND status = 'active'
1618
+ AND (key LIKE ? OR key LIKE ?)
1619
+ `).run(Date.now(), `${nodeId}→%`, `%→${nodeId}`);
1620
+ deletedEdges = edgeResult?.changes ?? 0;
1621
+ const nodeResult = ctx.db.prepare(`
1622
+ UPDATE memory_entries
1623
+ SET status = 'deleted', updated_at = ?
1624
+ WHERE key = ? AND status = 'active'
1625
+ `).run(Date.now(), nodeId);
1626
+ deletedNode = (nodeResult?.changes ?? 0) > 0;
1627
+ await logAttestation(registry, 'delete', nodeId, { namespace: 'causal-nodes', deletedEdges });
1628
+ }
1629
+ catch (err) {
1630
+ return { success: false, deletedNode: false, deletedEdges: 0, nodeId, controller: 'sql-error', error: err.message };
1631
+ }
1632
+ return {
1633
+ success: true,
1634
+ deletedNode,
1635
+ deletedEdges,
1636
+ nodeId,
1637
+ controller: 'bridge-fallback',
1638
+ guarded: true,
1639
+ };
1640
+ }
1641
+ catch {
1642
+ return null;
1643
+ }
1644
+ }
1357
1645
  // ===== Phase 5: ReflexionMemory session lifecycle =====
1358
1646
  /**
1359
1647
  * Start a session with ReflexionMemory episodic replay.