moflo 4.8.19 → 4.8.20

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 (241) hide show
  1. package/.claude/guidance/shipped/moflo.md +45 -0
  2. package/.claude/helpers/statusline.cjs +1 -1
  3. package/.claude/workflow-state.json +9 -0
  4. package/package.json +2 -2
  5. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +1 -1
  6. package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +5 -3
  7. package/src/@claude-flow/cli/package.json +1 -1
  8. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +131 -0
  9. package/src/@claude-flow/memory/dist/agent-memory-scope.js +223 -0
  10. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +8 -0
  11. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +466 -0
  12. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +165 -0
  13. package/src/@claude-flow/memory/dist/agentdb-adapter.js +806 -0
  14. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +212 -0
  15. package/src/@claude-flow/memory/dist/agentdb-backend.js +842 -0
  16. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +7 -0
  17. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +258 -0
  18. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +65 -0
  19. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +129 -0
  20. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +48 -0
  21. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +72 -0
  22. package/src/@claude-flow/memory/dist/application/index.d.ts +12 -0
  23. package/src/@claude-flow/memory/dist/application/index.js +15 -0
  24. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +72 -0
  25. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +143 -0
  26. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +121 -0
  27. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +190 -0
  28. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +226 -0
  29. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +709 -0
  30. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +8 -0
  31. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +757 -0
  32. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +2 -0
  33. package/src/@claude-flow/memory/dist/benchmark.test.js +277 -0
  34. package/src/@claude-flow/memory/dist/cache-manager.d.ts +134 -0
  35. package/src/@claude-flow/memory/dist/cache-manager.js +407 -0
  36. package/src/@claude-flow/memory/dist/controller-registry.d.ts +216 -0
  37. package/src/@claude-flow/memory/dist/controller-registry.js +893 -0
  38. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +14 -0
  39. package/src/@claude-flow/memory/dist/controller-registry.test.js +593 -0
  40. package/src/@claude-flow/memory/dist/database-provider.d.ts +87 -0
  41. package/src/@claude-flow/memory/dist/database-provider.js +372 -0
  42. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +7 -0
  43. package/src/@claude-flow/memory/dist/database-provider.test.js +287 -0
  44. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +143 -0
  45. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +226 -0
  46. package/src/@claude-flow/memory/dist/domain/index.d.ts +11 -0
  47. package/src/@claude-flow/memory/dist/domain/index.js +12 -0
  48. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +102 -0
  49. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +11 -0
  50. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +105 -0
  51. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +297 -0
  52. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +111 -0
  53. package/src/@claude-flow/memory/dist/hnsw-index.js +781 -0
  54. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +23 -0
  55. package/src/@claude-flow/memory/dist/hnsw-lite.js +168 -0
  56. package/src/@claude-flow/memory/dist/index.d.ts +204 -0
  57. package/src/@claude-flow/memory/dist/index.js +358 -0
  58. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +17 -0
  59. package/src/@claude-flow/memory/dist/infrastructure/index.js +16 -0
  60. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +66 -0
  61. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +409 -0
  62. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +137 -0
  63. package/src/@claude-flow/memory/dist/learning-bridge.js +335 -0
  64. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +8 -0
  65. package/src/@claude-flow/memory/dist/learning-bridge.test.js +578 -0
  66. package/src/@claude-flow/memory/dist/memory-graph.d.ts +100 -0
  67. package/src/@claude-flow/memory/dist/memory-graph.js +333 -0
  68. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +8 -0
  69. package/src/@claude-flow/memory/dist/memory-graph.test.js +609 -0
  70. package/src/@claude-flow/memory/dist/migration.d.ts +68 -0
  71. package/src/@claude-flow/memory/dist/migration.js +513 -0
  72. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +144 -0
  73. package/src/@claude-flow/memory/dist/persistent-sona.js +332 -0
  74. package/src/@claude-flow/memory/dist/query-builder.d.ts +211 -0
  75. package/src/@claude-flow/memory/dist/query-builder.js +438 -0
  76. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +51 -0
  77. package/src/@claude-flow/memory/dist/rvf-backend.js +481 -0
  78. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +139 -0
  79. package/src/@claude-flow/memory/dist/rvf-learning-store.js +295 -0
  80. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +45 -0
  81. package/src/@claude-flow/memory/dist/rvf-migration.js +234 -0
  82. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +127 -0
  83. package/src/@claude-flow/memory/dist/sqljs-backend.js +600 -0
  84. package/src/@claude-flow/memory/dist/types.d.ts +484 -0
  85. package/src/@claude-flow/memory/dist/types.js +58 -0
  86. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  87. package/src/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  88. package/src/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  89. package/src/@claude-flow/shared/dist/core/config/index.js +12 -0
  90. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  91. package/src/@claude-flow/shared/dist/core/config/loader.js +222 -0
  92. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +1134 -0
  93. package/src/@claude-flow/shared/dist/core/config/schema.js +158 -0
  94. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  95. package/src/@claude-flow/shared/dist/core/config/validator.js +147 -0
  96. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  97. package/src/@claude-flow/shared/dist/core/event-bus.js +197 -0
  98. package/src/@claude-flow/shared/dist/core/index.d.ts +15 -0
  99. package/src/@claude-flow/shared/dist/core/index.js +19 -0
  100. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  101. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  102. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  103. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  104. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  105. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  106. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  107. package/src/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  108. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  109. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  110. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  111. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  112. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  113. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  114. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  115. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  116. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  117. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  118. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  119. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  120. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  121. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  122. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  123. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  124. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  125. package/src/@claude-flow/shared/dist/events/domain-events.js +165 -0
  126. package/src/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  127. package/src/@claude-flow/shared/dist/events/event-store.js +432 -0
  128. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  129. package/src/@claude-flow/shared/dist/events/event-store.test.js +297 -0
  130. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  131. package/src/@claude-flow/shared/dist/events/example-usage.js +193 -0
  132. package/src/@claude-flow/shared/dist/events/index.d.ts +21 -0
  133. package/src/@claude-flow/shared/dist/events/index.js +22 -0
  134. package/src/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  135. package/src/@claude-flow/shared/dist/events/projections.js +421 -0
  136. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  137. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  138. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  139. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  140. package/src/@claude-flow/shared/dist/events.d.ts +80 -0
  141. package/src/@claude-flow/shared/dist/events.js +249 -0
  142. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  143. package/src/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  144. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  145. package/src/@claude-flow/shared/dist/hooks/executor.js +267 -0
  146. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  147. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  148. package/src/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  149. package/src/@claude-flow/shared/dist/hooks/index.js +51 -0
  150. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  151. package/src/@claude-flow/shared/dist/hooks/registry.js +277 -0
  152. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  153. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  154. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  155. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  156. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  157. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  158. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  159. package/src/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  160. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  161. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  162. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  163. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  164. package/src/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  165. package/src/@claude-flow/shared/dist/hooks/types.js +62 -0
  166. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  167. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  168. package/src/@claude-flow/shared/dist/index.d.ts +20 -0
  169. package/src/@claude-flow/shared/dist/index.js +50 -0
  170. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  171. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  172. package/src/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  173. package/src/@claude-flow/shared/dist/mcp/index.js +84 -0
  174. package/src/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  175. package/src/@claude-flow/shared/dist/mcp/server.js +593 -0
  176. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  177. package/src/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  178. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  179. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  180. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  181. package/src/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  182. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  183. package/src/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  184. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  185. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  186. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  187. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  188. package/src/@claude-flow/shared/dist/mcp/types.d.ts +438 -0
  189. package/src/@claude-flow/shared/dist/mcp/types.js +54 -0
  190. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  191. package/src/@claude-flow/shared/dist/plugin-interface.js +23 -0
  192. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  193. package/src/@claude-flow/shared/dist/plugin-loader.js +434 -0
  194. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  195. package/src/@claude-flow/shared/dist/plugin-registry.js +457 -0
  196. package/src/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  197. package/src/@claude-flow/shared/dist/plugins/index.js +10 -0
  198. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  199. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  200. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  201. package/src/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  202. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  203. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  204. package/src/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  205. package/src/@claude-flow/shared/dist/plugins/types.js +9 -0
  206. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  207. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  208. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  209. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  210. package/src/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  211. package/src/@claude-flow/shared/dist/resilience/index.js +19 -0
  212. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  213. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  214. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  215. package/src/@claude-flow/shared/dist/resilience/retry.js +159 -0
  216. package/src/@claude-flow/shared/dist/security/index.d.ts +10 -0
  217. package/src/@claude-flow/shared/dist/security/index.js +12 -0
  218. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  219. package/src/@claude-flow/shared/dist/security/input-validation.js +201 -0
  220. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  221. package/src/@claude-flow/shared/dist/security/secure-random.js +142 -0
  222. package/src/@claude-flow/shared/dist/services/index.d.ts +7 -0
  223. package/src/@claude-flow/shared/dist/services/index.js +7 -0
  224. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  225. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  226. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  227. package/src/@claude-flow/shared/dist/types/agent.types.js +6 -0
  228. package/src/@claude-flow/shared/dist/types/index.d.ts +11 -0
  229. package/src/@claude-flow/shared/dist/types/index.js +17 -0
  230. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  231. package/src/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  232. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  233. package/src/@claude-flow/shared/dist/types/memory.types.js +7 -0
  234. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  235. package/src/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  236. package/src/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  237. package/src/@claude-flow/shared/dist/types/task.types.js +32 -0
  238. package/src/@claude-flow/shared/dist/types.d.ts +197 -0
  239. package/src/@claude-flow/shared/dist/types.js +21 -0
  240. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  241. package/src/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
@@ -0,0 +1,23 @@
1
+ export interface HnswSearchResult {
2
+ id: string;
3
+ score: number;
4
+ }
5
+ export declare class HnswLite {
6
+ private vectors;
7
+ private neighbors;
8
+ private readonly dimensions;
9
+ private readonly maxNeighbors;
10
+ private readonly efConstruction;
11
+ private readonly metric;
12
+ constructor(dimensions: number, m: number, efConstruction: number, metric: string);
13
+ get size(): number;
14
+ add(id: string, vector: Float32Array): void;
15
+ remove(id: string): void;
16
+ search(query: Float32Array, k: number, threshold?: number): HnswSearchResult[];
17
+ private bruteForce;
18
+ private findNearest;
19
+ private pruneNeighbors;
20
+ private similarity;
21
+ }
22
+ export declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
23
+ //# sourceMappingURL=hnsw-lite.d.ts.map
@@ -0,0 +1,168 @@
1
+ export class HnswLite {
2
+ vectors = new Map();
3
+ neighbors = new Map();
4
+ dimensions;
5
+ maxNeighbors;
6
+ efConstruction;
7
+ metric;
8
+ constructor(dimensions, m, efConstruction, metric) {
9
+ this.dimensions = dimensions;
10
+ this.maxNeighbors = m;
11
+ this.efConstruction = efConstruction;
12
+ this.metric = metric;
13
+ }
14
+ get size() {
15
+ return this.vectors.size;
16
+ }
17
+ add(id, vector) {
18
+ this.vectors.set(id, vector);
19
+ if (this.vectors.size === 1) {
20
+ this.neighbors.set(id, new Set());
21
+ return;
22
+ }
23
+ const nearest = this.findNearest(vector, this.maxNeighbors);
24
+ const neighborSet = new Set();
25
+ for (const n of nearest) {
26
+ neighborSet.add(n.id);
27
+ const nNeighbors = this.neighbors.get(n.id);
28
+ if (nNeighbors) {
29
+ nNeighbors.add(id);
30
+ if (nNeighbors.size > this.maxNeighbors * 2) {
31
+ this.pruneNeighbors(n.id);
32
+ }
33
+ }
34
+ }
35
+ this.neighbors.set(id, neighborSet);
36
+ }
37
+ remove(id) {
38
+ this.vectors.delete(id);
39
+ const myNeighbors = this.neighbors.get(id);
40
+ if (myNeighbors) {
41
+ for (const nId of myNeighbors) {
42
+ this.neighbors.get(nId)?.delete(id);
43
+ }
44
+ }
45
+ this.neighbors.delete(id);
46
+ }
47
+ search(query, k, threshold) {
48
+ if (this.vectors.size === 0)
49
+ return [];
50
+ if (this.vectors.size <= k * 2) {
51
+ return this.bruteForce(query, k, threshold);
52
+ }
53
+ const visited = new Set();
54
+ const candidates = [];
55
+ let entryId;
56
+ let bestScore = -1;
57
+ for (const [id] of this.vectors) {
58
+ const score = this.similarity(query, this.vectors.get(id));
59
+ if (score > bestScore) {
60
+ bestScore = score;
61
+ entryId = id;
62
+ }
63
+ if (visited.size >= Math.min(this.efConstruction, this.vectors.size))
64
+ break;
65
+ visited.add(id);
66
+ candidates.push({ id, score });
67
+ }
68
+ if (entryId) {
69
+ const queue = [entryId];
70
+ let idx = 0;
71
+ while (idx < queue.length && visited.size < this.efConstruction * 2) {
72
+ const currentId = queue[idx++];
73
+ const currentNeighbors = this.neighbors.get(currentId);
74
+ if (!currentNeighbors)
75
+ continue;
76
+ for (const nId of currentNeighbors) {
77
+ if (visited.has(nId))
78
+ continue;
79
+ visited.add(nId);
80
+ const vec = this.vectors.get(nId);
81
+ if (!vec)
82
+ continue;
83
+ const score = this.similarity(query, vec);
84
+ candidates.push({ id: nId, score });
85
+ queue.push(nId);
86
+ }
87
+ }
88
+ }
89
+ candidates.sort((a, b) => b.score - a.score);
90
+ let filtered = candidates;
91
+ if (threshold !== undefined) {
92
+ filtered = filtered.filter(c => c.score >= threshold);
93
+ }
94
+ return filtered.slice(0, k);
95
+ }
96
+ bruteForce(query, k, threshold) {
97
+ const results = [];
98
+ for (const [id, vec] of this.vectors) {
99
+ const score = this.similarity(query, vec);
100
+ if (threshold !== undefined && score < threshold)
101
+ continue;
102
+ results.push({ id, score });
103
+ }
104
+ results.sort((a, b) => b.score - a.score);
105
+ return results.slice(0, k);
106
+ }
107
+ findNearest(query, k) {
108
+ return this.bruteForce(query, k);
109
+ }
110
+ pruneNeighbors(id) {
111
+ const myNeighbors = this.neighbors.get(id);
112
+ if (!myNeighbors)
113
+ return;
114
+ const vec = this.vectors.get(id);
115
+ if (!vec)
116
+ return;
117
+ const scored = [];
118
+ for (const nId of myNeighbors) {
119
+ const nVec = this.vectors.get(nId);
120
+ if (!nVec)
121
+ continue;
122
+ scored.push({ id: nId, score: this.similarity(vec, nVec) });
123
+ }
124
+ scored.sort((a, b) => b.score - a.score);
125
+ const keep = new Set(scored.slice(0, this.maxNeighbors).map(s => s.id));
126
+ for (const nId of myNeighbors) {
127
+ if (!keep.has(nId)) {
128
+ myNeighbors.delete(nId);
129
+ }
130
+ }
131
+ }
132
+ similarity(a, b) {
133
+ if (this.metric === 'dot')
134
+ return dotProduct(a, b);
135
+ if (this.metric === 'euclidean')
136
+ return 1 / (1 + euclideanDistance(a, b));
137
+ return cosineSimilarity(a, b);
138
+ }
139
+ }
140
+ export function cosineSimilarity(a, b) {
141
+ let dot = 0;
142
+ let normA = 0;
143
+ let normB = 0;
144
+ for (let i = 0; i < a.length; i++) {
145
+ dot += a[i] * b[i];
146
+ normA += a[i] * a[i];
147
+ normB += b[i] * b[i];
148
+ }
149
+ if (normA === 0 || normB === 0)
150
+ return 0;
151
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB));
152
+ }
153
+ function dotProduct(a, b) {
154
+ let sum = 0;
155
+ for (let i = 0; i < a.length; i++) {
156
+ sum += a[i] * b[i];
157
+ }
158
+ return sum;
159
+ }
160
+ function euclideanDistance(a, b) {
161
+ let sum = 0;
162
+ for (let i = 0; i < a.length; i++) {
163
+ const d = a[i] - b[i];
164
+ sum += d * d;
165
+ }
166
+ return Math.sqrt(sum);
167
+ }
168
+ //# sourceMappingURL=hnsw-lite.js.map
@@ -0,0 +1,204 @@
1
+ /**
2
+ * @claude-flow/memory - V3 Unified Memory System
3
+ *
4
+ * Provides a unified memory interface backed by AgentDB with HNSW indexing
5
+ * for 150x-12,500x faster vector search compared to brute-force approaches.
6
+ *
7
+ * @module @claude-flow/memory
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { UnifiedMemoryService, query, QueryTemplates } from '@claude-flow/memory';
12
+ *
13
+ * // Initialize the memory service
14
+ * const memory = new UnifiedMemoryService({
15
+ * dimensions: 1536,
16
+ * cacheEnabled: true,
17
+ * embeddingGenerator: async (text) => embeddings.embed(text),
18
+ * });
19
+ *
20
+ * await memory.initialize();
21
+ *
22
+ * // Store entries
23
+ * await memory.store({
24
+ * key: 'auth-patterns',
25
+ * content: 'OAuth 2.0 implementation patterns for secure authentication',
26
+ * tags: ['auth', 'security', 'patterns'],
27
+ * });
28
+ *
29
+ * // Semantic search
30
+ * const results = await memory.semanticSearch('user authentication best practices', 5);
31
+ *
32
+ * // Query with fluent builder
33
+ * const entries = await memory.query(
34
+ * query()
35
+ * .semantic('security vulnerabilities')
36
+ * .inNamespace('security')
37
+ * .withTags(['critical'])
38
+ * .threshold(0.8)
39
+ * .limit(10)
40
+ * .build()
41
+ * );
42
+ * ```
43
+ */
44
+ export type { MemoryType, AccessLevel, ConsistencyLevel, DistanceMetric, MemoryEntry, MemoryEntryInput, MemoryEntryUpdate, QueryType, MemoryQuery, SearchResult, SearchOptions, HNSWConfig, HNSWStats, QuantizationConfig, IMemoryBackend, BackendStats, HealthCheckResult, ComponentHealth, CacheConfig, CacheStats, CachedEntry, MigrationSource, MigrationConfig, MigrationProgress, MigrationResult, MigrationError, MemoryEventType, MemoryEvent, MemoryEventHandler, SONAMode, LearningPattern, EmbeddingGenerator, } from './types.js';
45
+ export { generateMemoryId, createDefaultEntry, PERFORMANCE_TARGETS, } from './types.js';
46
+ export { AutoMemoryBridge, resolveAutoMemoryDir, findGitRoot } from './auto-memory-bridge.js';
47
+ export type { AutoMemoryBridgeConfig, MemoryInsight, InsightCategory, SyncDirection, SyncMode, PruneStrategy, SyncResult, ImportResult, } from './auto-memory-bridge.js';
48
+ export { LearningBridge } from './learning-bridge.js';
49
+ export type { LearningBridgeConfig, LearningStats, ConsolidateResult, PatternMatch, } from './learning-bridge.js';
50
+ export { RvfLearningStore } from './rvf-learning-store.js';
51
+ export type { RvfLearningStoreConfig, PatternRecord, LoraRecord, EwcRecord, TrajectoryRecord, } from './rvf-learning-store.js';
52
+ export { PersistentSonaCoordinator } from './persistent-sona.js';
53
+ export type { PersistentSonaConfig } from './persistent-sona.js';
54
+ export { RvfMigrator } from './rvf-migration.js';
55
+ export type { RvfMigrationOptions, RvfMigrationResult } from './rvf-migration.js';
56
+ export { MemoryGraph } from './memory-graph.js';
57
+ export type { MemoryGraphConfig, GraphNode, GraphEdge, GraphStats, RankedResult, EdgeType, } from './memory-graph.js';
58
+ export { resolveAgentMemoryDir, createAgentBridge, transferKnowledge, listAgentScopes, } from './agent-memory-scope.js';
59
+ export type { AgentMemoryScope, AgentScopedConfig, TransferOptions, TransferResult, } from './agent-memory-scope.js';
60
+ export { ControllerRegistry, INIT_LEVELS } from './controller-registry.js';
61
+ export type { AgentDBControllerName, CLIControllerName, ControllerName, InitLevel, ControllerHealth, RegistryHealthReport, RuntimeConfig, } from './controller-registry.js';
62
+ export { AgentDBAdapter } from './agentdb-adapter.js';
63
+ export type { AgentDBAdapterConfig } from './agentdb-adapter.js';
64
+ export { AgentDBBackend } from './agentdb-backend.js';
65
+ export type { AgentDBBackendConfig } from './agentdb-backend.js';
66
+ export { SqlJsBackend } from './sqljs-backend.js';
67
+ export type { SqlJsBackendConfig } from './sqljs-backend.js';
68
+ export { RvfBackend } from './rvf-backend.js';
69
+ export type { RvfBackendConfig } from './rvf-backend.js';
70
+ export { HnswLite, cosineSimilarity } from './hnsw-lite.js';
71
+ export type { HnswSearchResult } from './hnsw-lite.js';
72
+ export { HNSWIndex } from './hnsw-index.js';
73
+ export { CacheManager, TieredCacheManager } from './cache-manager.js';
74
+ export { QueryBuilder, query, QueryTemplates } from './query-builder.js';
75
+ export type { SortDirection, SortField } from './query-builder.js';
76
+ export { MemoryMigrator, createMigrator, migrateMultipleSources } from './migration.js';
77
+ export { createDatabase, getPlatformInfo, getAvailableProviders } from './database-provider.js';
78
+ export type { DatabaseProvider, DatabaseOptions } from './database-provider.js';
79
+ import { EventEmitter } from 'node:events';
80
+ import { IMemoryBackend, MemoryEntry, MemoryEntryInput, MemoryEntryUpdate, MemoryQuery, SearchResult, SearchOptions, BackendStats, HealthCheckResult, EmbeddingGenerator, MigrationSource, MigrationConfig, MigrationResult } from './types.js';
81
+ import { AgentDBAdapter, AgentDBAdapterConfig } from './agentdb-adapter.js';
82
+ /**
83
+ * Configuration for UnifiedMemoryService
84
+ */
85
+ export interface UnifiedMemoryServiceConfig extends Partial<AgentDBAdapterConfig> {
86
+ /** Enable automatic embedding generation */
87
+ autoEmbed?: boolean;
88
+ /** Default embedding dimensions */
89
+ dimensions?: number;
90
+ /** Embedding generator function */
91
+ embeddingGenerator?: EmbeddingGenerator;
92
+ }
93
+ /**
94
+ * Unified Memory Service
95
+ *
96
+ * High-level interface for the V3 memory system that provides:
97
+ * - Simple API for common operations
98
+ * - Automatic embedding generation
99
+ * - Cross-agent memory sharing
100
+ * - SONA integration for learning
101
+ * - Event-driven notifications
102
+ * - Performance monitoring
103
+ */
104
+ export declare class UnifiedMemoryService extends EventEmitter implements IMemoryBackend {
105
+ private adapter;
106
+ private config;
107
+ private initialized;
108
+ constructor(config?: UnifiedMemoryServiceConfig);
109
+ initialize(): Promise<void>;
110
+ shutdown(): Promise<void>;
111
+ store(entry: MemoryEntry): Promise<void>;
112
+ get(id: string): Promise<MemoryEntry | null>;
113
+ getByKey(namespace: string, key: string): Promise<MemoryEntry | null>;
114
+ update(id: string, update: MemoryEntryUpdate): Promise<MemoryEntry | null>;
115
+ delete(id: string): Promise<boolean>;
116
+ query(query: MemoryQuery): Promise<MemoryEntry[]>;
117
+ search(embedding: Float32Array, options: SearchOptions): Promise<SearchResult[]>;
118
+ bulkInsert(entries: MemoryEntry[]): Promise<void>;
119
+ bulkDelete(ids: string[]): Promise<number>;
120
+ count(namespace?: string): Promise<number>;
121
+ listNamespaces(): Promise<string[]>;
122
+ clearNamespace(namespace: string): Promise<number>;
123
+ getStats(): Promise<BackendStats>;
124
+ healthCheck(): Promise<HealthCheckResult>;
125
+ /**
126
+ * Store an entry from simple input
127
+ */
128
+ storeEntry(input: MemoryEntryInput): Promise<MemoryEntry>;
129
+ /**
130
+ * Semantic search by content string
131
+ */
132
+ semanticSearch(content: string, k?: number, threshold?: number): Promise<SearchResult[]>;
133
+ /**
134
+ * Find similar entries to a given entry
135
+ */
136
+ findSimilar(id: string, k?: number): Promise<SearchResult[]>;
137
+ /**
138
+ * Get or create an entry
139
+ */
140
+ getOrCreate(namespace: string, key: string, creator: () => MemoryEntryInput | Promise<MemoryEntryInput>): Promise<MemoryEntry>;
141
+ /**
142
+ * Append content to an existing entry
143
+ */
144
+ appendContent(id: string, content: string): Promise<MemoryEntry | null>;
145
+ /**
146
+ * Add tags to an existing entry
147
+ */
148
+ addTags(id: string, tags: string[]): Promise<MemoryEntry | null>;
149
+ /**
150
+ * Remove tags from an existing entry
151
+ */
152
+ removeTags(id: string, tags: string[]): Promise<MemoryEntry | null>;
153
+ /**
154
+ * Migrate from a legacy memory source
155
+ */
156
+ migrateFrom(source: MigrationSource, sourcePath: string, options?: Partial<MigrationConfig>): Promise<MigrationResult>;
157
+ /**
158
+ * Share an entry with another agent
159
+ */
160
+ shareWith(id: string, agentId: string): Promise<MemoryEntry | null>;
161
+ /**
162
+ * Get entries shared with a specific agent
163
+ */
164
+ getSharedWith(agentId: string): Promise<MemoryEntry[]>;
165
+ /**
166
+ * Get the underlying adapter for advanced operations
167
+ */
168
+ getAdapter(): AgentDBAdapter;
169
+ /**
170
+ * Check if the service is initialized
171
+ */
172
+ isInitialized(): boolean;
173
+ }
174
+ /**
175
+ * Create a simple in-memory service (for testing)
176
+ */
177
+ export declare function createInMemoryService(): UnifiedMemoryService;
178
+ /**
179
+ * Create a persistent memory service
180
+ */
181
+ export declare function createPersistentService(path: string): UnifiedMemoryService;
182
+ /**
183
+ * Create a memory service with embedding support
184
+ */
185
+ export declare function createEmbeddingService(embeddingGenerator: EmbeddingGenerator, dimensions?: number): UnifiedMemoryService;
186
+ /**
187
+ * Create a hybrid memory service (SQLite + AgentDB)
188
+ * This is the DEFAULT recommended configuration per ADR-009
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const memory = createHybridService('./data/memory.db', embeddingFn);
193
+ * await memory.initialize();
194
+ *
195
+ * // Structured queries go to SQLite
196
+ * const user = await memory.getByKey('users', 'john@example.com');
197
+ *
198
+ * // Semantic queries go to AgentDB
199
+ * const similar = await memory.semanticSearch('authentication patterns', 10);
200
+ * ```
201
+ */
202
+ export declare function createHybridService(databasePath: string, embeddingGenerator: EmbeddingGenerator, dimensions?: number): UnifiedMemoryService;
203
+ export default UnifiedMemoryService;
204
+ //# sourceMappingURL=index.d.ts.map