cogmem 3.6.2

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 (793) hide show
  1. package/BENCHMARKS.md +62 -0
  2. package/CHANGELOG.md +215 -0
  3. package/CONCURRENT_ACCESS.md +27 -0
  4. package/CONTRIBUTING.md +32 -0
  5. package/LICENSE +21 -0
  6. package/MEMORY_ATLAS.md +101 -0
  7. package/MEMORY_MODEL.md +179 -0
  8. package/README.md +751 -0
  9. package/RECALL_EXPLAINABILITY.md +152 -0
  10. package/RELEASE_CHECKLIST.md +92 -0
  11. package/SECURITY.md +21 -0
  12. package/dist/adapters/MarkdownSourceLoader.d.ts +5 -0
  13. package/dist/adapters/MarkdownSourceLoader.js +19 -0
  14. package/dist/adapters/conversation/ConversationMarkdownAdapter.d.ts +9 -0
  15. package/dist/adapters/conversation/ConversationMarkdownAdapter.js +233 -0
  16. package/dist/adapters/hermes/HermesStateDbAdapter.d.ts +10 -0
  17. package/dist/adapters/hermes/HermesStateDbAdapter.js +268 -0
  18. package/dist/adapters/hermes/HermesWorkspaceProfile.d.ts +15 -0
  19. package/dist/adapters/hermes/HermesWorkspaceProfile.js +82 -0
  20. package/dist/adapters/index.d.ts +15 -0
  21. package/dist/adapters/index.js +12 -0
  22. package/dist/adapters/openclaw/OpenClawAdapterSupport.d.ts +14 -0
  23. package/dist/adapters/openclaw/OpenClawAdapterSupport.js +29 -0
  24. package/dist/adapters/openclaw/OpenClawDailyMemoryAdapter.d.ts +8 -0
  25. package/dist/adapters/openclaw/OpenClawDailyMemoryAdapter.js +35 -0
  26. package/dist/adapters/openclaw/OpenClawMemoryIndexAdapter.d.ts +8 -0
  27. package/dist/adapters/openclaw/OpenClawMemoryIndexAdapter.js +23 -0
  28. package/dist/adapters/openclaw/OpenClawPersonaAdapter.d.ts +8 -0
  29. package/dist/adapters/openclaw/OpenClawPersonaAdapter.js +24 -0
  30. package/dist/adapters/openclaw/OpenClawSessionAdapter.d.ts +8 -0
  31. package/dist/adapters/openclaw/OpenClawSessionAdapter.js +15 -0
  32. package/dist/adapters/openclaw/OpenClawUserProfileAdapter.d.ts +8 -0
  33. package/dist/adapters/openclaw/OpenClawUserProfileAdapter.js +24 -0
  34. package/dist/adapters/openclaw/OpenClawWorkspaceProfile.d.ts +38 -0
  35. package/dist/adapters/openclaw/OpenClawWorkspaceProfile.js +199 -0
  36. package/dist/adapters/soul/SoulMarkdownAdapter.d.ts +14 -0
  37. package/dist/adapters/soul/SoulMarkdownAdapter.js +255 -0
  38. package/dist/adapters/types.d.ts +97 -0
  39. package/dist/adapters/types.js +185 -0
  40. package/dist/agent/AgentMemoryBackend.d.ts +291 -0
  41. package/dist/agent/AgentMemoryBackend.js +1272 -0
  42. package/dist/agent/AgentRecallQueryCompiler.d.ts +20 -0
  43. package/dist/agent/AgentRecallQueryCompiler.js +289 -0
  44. package/dist/agent/ContextHygiene.d.ts +9 -0
  45. package/dist/agent/ContextHygiene.js +20 -0
  46. package/dist/agent/MemoryUsageReceipt.d.ts +35 -0
  47. package/dist/agent/MemoryUsageReceipt.js +136 -0
  48. package/dist/agent/SessionWorkingState.d.ts +20 -0
  49. package/dist/agent/SessionWorkingState.js +94 -0
  50. package/dist/agent/index.d.ts +6 -0
  51. package/dist/agent/index.js +5 -0
  52. package/dist/algorithm/AlgorithmReviewBackend.d.ts +84 -0
  53. package/dist/algorithm/AlgorithmReviewBackend.js +261 -0
  54. package/dist/algorithm/AlgorithmReviewMetrics.d.ts +23 -0
  55. package/dist/algorithm/AlgorithmReviewMetrics.js +25 -0
  56. package/dist/algorithm/Phase2ModelAlgorithmReviewBackend.d.ts +38 -0
  57. package/dist/algorithm/Phase2ModelAlgorithmReviewBackend.js +372 -0
  58. package/dist/assets/FileAssetIngestionService.d.ts +32 -0
  59. package/dist/assets/FileAssetIngestionService.js +133 -0
  60. package/dist/assets/FileAssetStore.d.ts +36 -0
  61. package/dist/assets/FileAssetStore.js +152 -0
  62. package/dist/assets/FileBlockStore.d.ts +12 -0
  63. package/dist/assets/FileBlockStore.js +110 -0
  64. package/dist/assets/FileChunkStore.d.ts +23 -0
  65. package/dist/assets/FileChunkStore.js +179 -0
  66. package/dist/assets/FileChunker.d.ts +10 -0
  67. package/dist/assets/FileChunker.js +69 -0
  68. package/dist/assets/FileLoaderRegistry.d.ts +8 -0
  69. package/dist/assets/FileLoaderRegistry.js +21 -0
  70. package/dist/assets/FileLoaders.d.ts +37 -0
  71. package/dist/assets/FileLoaders.js +268 -0
  72. package/dist/assets/index.d.ts +10 -0
  73. package/dist/assets/index.js +7 -0
  74. package/dist/assets/providers/types.d.ts +47 -0
  75. package/dist/assets/providers/types.js +1 -0
  76. package/dist/assets/types.d.ts +159 -0
  77. package/dist/assets/types.js +1 -0
  78. package/dist/atlas/ActionFrameExtractor.d.ts +15 -0
  79. package/dist/atlas/ActionFrameExtractor.js +135 -0
  80. package/dist/atlas/MemoryAtlasIndexer.d.ts +32 -0
  81. package/dist/atlas/MemoryAtlasIndexer.js +74 -0
  82. package/dist/atlas/MemoryAtlasQueryCompiler.d.ts +23 -0
  83. package/dist/atlas/MemoryAtlasQueryCompiler.js +55 -0
  84. package/dist/atlas/MemoryAtlasService.d.ts +25 -0
  85. package/dist/atlas/MemoryAtlasService.js +216 -0
  86. package/dist/atlas/MemoryAtlasTypes.d.ts +107 -0
  87. package/dist/atlas/MemoryAtlasTypes.js +1 -0
  88. package/dist/atlas/index.d.ts +6 -0
  89. package/dist/atlas/index.js +5 -0
  90. package/dist/backend/SemanticBackend.d.ts +40 -0
  91. package/dist/backend/SemanticBackend.js +107 -0
  92. package/dist/batch/IngestionCursorStore.d.ts +52 -0
  93. package/dist/batch/IngestionCursorStore.js +153 -0
  94. package/dist/batch/InstalledBatchProcessor.d.ts +88 -0
  95. package/dist/batch/InstalledBatchProcessor.js +179 -0
  96. package/dist/batch/SourceOnboarding.d.ts +56 -0
  97. package/dist/batch/SourceOnboarding.js +366 -0
  98. package/dist/belief/BeliefGovernanceService.d.ts +59 -0
  99. package/dist/belief/BeliefGovernanceService.js +183 -0
  100. package/dist/belief/BeliefStore.d.ts +78 -0
  101. package/dist/belief/BeliefStore.js +898 -0
  102. package/dist/benchmark/BenchmarkRegistry.d.ts +16 -0
  103. package/dist/benchmark/BenchmarkRegistry.js +97 -0
  104. package/dist/benchmark/BenchmarkReport.d.ts +23 -0
  105. package/dist/benchmark/BenchmarkReport.js +62 -0
  106. package/dist/benchmark/BenchmarkRunner.d.ts +27 -0
  107. package/dist/benchmark/BenchmarkRunner.js +64 -0
  108. package/dist/benchmark/BrainEval.d.ts +134 -0
  109. package/dist/benchmark/BrainEval.js +252 -0
  110. package/dist/benchmark/ExternalBenchmarkRunner.d.ts +8 -0
  111. package/dist/benchmark/ExternalBenchmarkRunner.js +12 -0
  112. package/dist/benchmark/LongMemEvalAdapter.d.ts +46 -0
  113. package/dist/benchmark/LongMemEvalAdapter.js +88 -0
  114. package/dist/benchmark/LongMemEvalCli.d.ts +6 -0
  115. package/dist/benchmark/LongMemEvalCli.js +26 -0
  116. package/dist/bin/CliJson.d.ts +17 -0
  117. package/dist/bin/CliJson.js +20 -0
  118. package/dist/bin/brain-eval.d.ts +3 -0
  119. package/dist/bin/brain-eval.js +46 -0
  120. package/dist/bin/cogmem.d.ts +3 -0
  121. package/dist/bin/cogmem.js +95 -0
  122. package/dist/bin/compact.d.ts +3 -0
  123. package/dist/bin/compact.js +96 -0
  124. package/dist/bin/connect.d.ts +3 -0
  125. package/dist/bin/connect.js +398 -0
  126. package/dist/bin/doctor.d.ts +3 -0
  127. package/dist/bin/doctor.js +171 -0
  128. package/dist/bin/dream.d.ts +3 -0
  129. package/dist/bin/dream.js +65 -0
  130. package/dist/bin/episode.d.ts +3 -0
  131. package/dist/bin/episode.js +268 -0
  132. package/dist/bin/explain-recall.d.ts +3 -0
  133. package/dist/bin/explain-recall.js +139 -0
  134. package/dist/bin/import-hermes.d.ts +3 -0
  135. package/dist/bin/import-hermes.js +6 -0
  136. package/dist/bin/import-openclaw.d.ts +3 -0
  137. package/dist/bin/import-openclaw.js +6 -0
  138. package/dist/bin/import-support.d.ts +43 -0
  139. package/dist/bin/import-support.js +528 -0
  140. package/dist/bin/init.d.ts +30 -0
  141. package/dist/bin/init.js +761 -0
  142. package/dist/bin/mcp.d.ts +3 -0
  143. package/dist/bin/mcp.js +52 -0
  144. package/dist/bin/memory.d.ts +3 -0
  145. package/dist/bin/memory.js +803 -0
  146. package/dist/bin/migrate-vectors.d.ts +3 -0
  147. package/dist/bin/migrate-vectors.js +74 -0
  148. package/dist/bin/migrate.d.ts +3 -0
  149. package/dist/bin/migrate.js +95 -0
  150. package/dist/bin/normalize-transcript.d.ts +16 -0
  151. package/dist/bin/normalize-transcript.js +153 -0
  152. package/dist/bin/openclaw.d.ts +3 -0
  153. package/dist/bin/openclaw.js +78 -0
  154. package/dist/bin/prospective.d.ts +3 -0
  155. package/dist/bin/prospective.js +115 -0
  156. package/dist/bin/re-embed.d.ts +3 -0
  157. package/dist/bin/re-embed.js +46 -0
  158. package/dist/bin/repair.d.ts +3 -0
  159. package/dist/bin/repair.js +118 -0
  160. package/dist/bin/snapshot.d.ts +3 -0
  161. package/dist/bin/snapshot.js +100 -0
  162. package/dist/bin/strategy.d.ts +3 -0
  163. package/dist/bin/strategy.js +66 -0
  164. package/dist/bin/update-release.d.ts +15 -0
  165. package/dist/bin/update-release.js +62 -0
  166. package/dist/bin/update.d.ts +3 -0
  167. package/dist/bin/update.js +215 -0
  168. package/dist/binding/BindingClassifier.d.ts +19 -0
  169. package/dist/binding/BindingClassifier.js +270 -0
  170. package/dist/binding/BindingDecisionEngine.d.ts +11 -0
  171. package/dist/binding/BindingDecisionEngine.js +13 -0
  172. package/dist/binding/ClaimKeyGenerator.d.ts +4 -0
  173. package/dist/binding/ClaimKeyGenerator.js +21 -0
  174. package/dist/binding/MemoryBindingService.d.ts +28 -0
  175. package/dist/binding/MemoryBindingService.js +283 -0
  176. package/dist/binding/MemoryBindingTypes.d.ts +140 -0
  177. package/dist/binding/MemoryBindingTypes.js +1 -0
  178. package/dist/binding/TopicPathRegistry.d.ts +5 -0
  179. package/dist/binding/TopicPathRegistry.js +33 -0
  180. package/dist/binding/index.d.ts +12 -0
  181. package/dist/binding/index.js +6 -0
  182. package/dist/boards/ApprovalBoard.d.ts +14 -0
  183. package/dist/boards/ApprovalBoard.js +32 -0
  184. package/dist/boards/Board.d.ts +23 -0
  185. package/dist/boards/Board.js +1 -0
  186. package/dist/boards/BoardEventBuffer.d.ts +10 -0
  187. package/dist/boards/BoardEventBuffer.js +22 -0
  188. package/dist/boards/BoardEventBus.d.ts +15 -0
  189. package/dist/boards/BoardEventBus.js +38 -0
  190. package/dist/boards/BoardEventFilter.d.ts +5 -0
  191. package/dist/boards/BoardEventFilter.js +1 -0
  192. package/dist/boards/BoardRegistry.d.ts +11 -0
  193. package/dist/boards/BoardRegistry.js +15 -0
  194. package/dist/boards/ContextBoard.d.ts +15 -0
  195. package/dist/boards/ContextBoard.js +33 -0
  196. package/dist/boards/MemoryBoard.d.ts +13 -0
  197. package/dist/boards/MemoryBoard.js +30 -0
  198. package/dist/boards/ProcessBoard.d.ts +16 -0
  199. package/dist/boards/ProcessBoard.js +56 -0
  200. package/dist/boards/ProposalBoard.d.ts +13 -0
  201. package/dist/boards/ProposalBoard.js +37 -0
  202. package/dist/boards/ReasoningTraceBoard.d.ts +11 -0
  203. package/dist/boards/ReasoningTraceBoard.js +34 -0
  204. package/dist/boards/TaskBoard.d.ts +14 -0
  205. package/dist/boards/TaskBoard.js +37 -0
  206. package/dist/boards/index.d.ts +13 -0
  207. package/dist/boards/index.js +12 -0
  208. package/dist/config/CogmemConfig.d.ts +43 -0
  209. package/dist/config/CogmemConfig.js +247 -0
  210. package/dist/config/VectorDimension.d.ts +13 -0
  211. package/dist/config/VectorDimension.js +53 -0
  212. package/dist/context/ContextCortex.d.ts +71 -0
  213. package/dist/context/ContextCortex.js +156 -0
  214. package/dist/context/index.d.ts +2 -0
  215. package/dist/context/index.js +1 -0
  216. package/dist/core/ImportanceLevels.d.ts +4 -0
  217. package/dist/core/ImportanceLevels.js +6 -0
  218. package/dist/core/IntentParser.d.ts +12 -0
  219. package/dist/core/IntentParser.js +211 -0
  220. package/dist/core/MemoryGraph.d.ts +100 -0
  221. package/dist/core/MemoryGraph.js +860 -0
  222. package/dist/core/Metabolism.d.ts +43 -0
  223. package/dist/core/Metabolism.js +196 -0
  224. package/dist/core/Neuron.d.ts +20 -0
  225. package/dist/core/Neuron.js +51 -0
  226. package/dist/core/QueryClassifier.d.ts +36 -0
  227. package/dist/core/QueryClassifier.js +161 -0
  228. package/dist/core/Reflection.d.ts +42 -0
  229. package/dist/core/Reflection.js +183 -0
  230. package/dist/core/ResonanceCore.d.ts +26 -0
  231. package/dist/core/ResonanceCore.js +115 -0
  232. package/dist/core/Synapse.d.ts +10 -0
  233. package/dist/core/Synapse.js +27 -0
  234. package/dist/core/TwoStagePulseRanker.d.ts +16 -0
  235. package/dist/core/TwoStagePulseRanker.js +120 -0
  236. package/dist/dream/DreamScheduler.d.ts +47 -0
  237. package/dist/dream/DreamScheduler.js +156 -0
  238. package/dist/dream/index.d.ts +2 -0
  239. package/dist/dream/index.js +1 -0
  240. package/dist/embedding/EmbeddingProvider.d.ts +16 -0
  241. package/dist/embedding/EmbeddingProvider.js +12 -0
  242. package/dist/embedding/NeuronEmbeddingStore.d.ts +38 -0
  243. package/dist/embedding/NeuronEmbeddingStore.js +193 -0
  244. package/dist/embedding/OllamaEmbeddingProvider.d.ts +21 -0
  245. package/dist/embedding/OllamaEmbeddingProvider.js +65 -0
  246. package/dist/embedding/QwenAPIEmbeddingProvider.d.ts +26 -0
  247. package/dist/embedding/QwenAPIEmbeddingProvider.js +53 -0
  248. package/dist/embedding/ReEmbeddingPipeline.d.ts +30 -0
  249. package/dist/embedding/ReEmbeddingPipeline.js +119 -0
  250. package/dist/embedding/ReEmbeddingStatus.d.ts +10 -0
  251. package/dist/embedding/ReEmbeddingStatus.js +1 -0
  252. package/dist/embedding/index.d.ts +11 -0
  253. package/dist/embedding/index.js +5 -0
  254. package/dist/encryption/AesGcmEncryptionProvider.d.ts +9 -0
  255. package/dist/encryption/AesGcmEncryptionProvider.js +42 -0
  256. package/dist/encryption/EncryptionProvider.d.ts +6 -0
  257. package/dist/encryption/EncryptionProvider.js +3 -0
  258. package/dist/encryption/index.d.ts +4 -0
  259. package/dist/encryption/index.js +2 -0
  260. package/dist/engine/BeliefExtractor.d.ts +48 -0
  261. package/dist/engine/BeliefExtractor.js +1189 -0
  262. package/dist/engine/CognitiveGraphCompiler.d.ts +24 -0
  263. package/dist/engine/CognitiveGraphCompiler.js +243 -0
  264. package/dist/engine/ConsolidationPipeline.d.ts +66 -0
  265. package/dist/engine/ConsolidationPipeline.js +376 -0
  266. package/dist/engine/ConsolidationTrigger.d.ts +18 -0
  267. package/dist/engine/ConsolidationTrigger.js +41 -0
  268. package/dist/engine/CrossTopicSynthesizer.d.ts +28 -0
  269. package/dist/engine/CrossTopicSynthesizer.js +70 -0
  270. package/dist/engine/CrossTopicTrigger.d.ts +17 -0
  271. package/dist/engine/CrossTopicTrigger.js +29 -0
  272. package/dist/engine/DeepWriteConfig.d.ts +14 -0
  273. package/dist/engine/DeepWriteConfig.js +37 -0
  274. package/dist/engine/DeepWriteMemoryCompiler.d.ts +43 -0
  275. package/dist/engine/DeepWriteMemoryCompiler.js +42 -0
  276. package/dist/engine/DeepWriteMemoryOrchestrator.d.ts +60 -0
  277. package/dist/engine/DeepWriteMemoryOrchestrator.js +175 -0
  278. package/dist/engine/DeepWritePromotionPolicy.d.ts +48 -0
  279. package/dist/engine/DeepWritePromotionPolicy.js +514 -0
  280. package/dist/engine/DeepWriteRedactor.d.ts +14 -0
  281. package/dist/engine/DeepWriteRedactor.js +53 -0
  282. package/dist/engine/DreamCuratorSchedule.d.ts +18 -0
  283. package/dist/engine/DreamCuratorSchedule.js +95 -0
  284. package/dist/engine/DreamCuratorWorker.d.ts +67 -0
  285. package/dist/engine/DreamCuratorWorker.js +908 -0
  286. package/dist/engine/EntityResolutionEngine.d.ts +45 -0
  287. package/dist/engine/EntityResolutionEngine.js +105 -0
  288. package/dist/engine/EpisodicSemanticDistiller.d.ts +25 -0
  289. package/dist/engine/EpisodicSemanticDistiller.js +68 -0
  290. package/dist/engine/EvolutionVerifier.d.ts +39 -0
  291. package/dist/engine/EvolutionVerifier.js +104 -0
  292. package/dist/engine/FactCompiler.d.ts +41 -0
  293. package/dist/engine/FactCompiler.js +820 -0
  294. package/dist/engine/GraphCommunityEngine.d.ts +20 -0
  295. package/dist/engine/GraphCommunityEngine.js +91 -0
  296. package/dist/engine/ImportanceSignalDetector.d.ts +11 -0
  297. package/dist/engine/ImportanceSignalDetector.js +51 -0
  298. package/dist/engine/IngestionEngine.d.ts +44 -0
  299. package/dist/engine/IngestionEngine.js +182 -0
  300. package/dist/engine/InteractionBinder.d.ts +16 -0
  301. package/dist/engine/InteractionBinder.js +87 -0
  302. package/dist/engine/LocalSemanticCompiler.d.ts +40 -0
  303. package/dist/engine/LocalSemanticCompiler.js +111 -0
  304. package/dist/engine/MemoryConsolidationEngine.d.ts +11 -0
  305. package/dist/engine/MemoryConsolidationEngine.js +21 -0
  306. package/dist/engine/MemoryGate.d.ts +10 -0
  307. package/dist/engine/MemoryGate.js +34 -0
  308. package/dist/engine/OfflineConsolidationPipeline.d.ts +148 -0
  309. package/dist/engine/OfflineConsolidationPipeline.js +670 -0
  310. package/dist/engine/OrphanCleaner.d.ts +15 -0
  311. package/dist/engine/OrphanCleaner.js +27 -0
  312. package/dist/engine/PipelineMetrics.d.ts +32 -0
  313. package/dist/engine/PipelineMetrics.js +126 -0
  314. package/dist/engine/PrincipleDecayPolicy.d.ts +17 -0
  315. package/dist/engine/PrincipleDecayPolicy.js +64 -0
  316. package/dist/engine/TopologyCompiler.d.ts +25 -0
  317. package/dist/engine/TopologyCompiler.js +276 -0
  318. package/dist/engine/WorkingMemoryDelta.d.ts +23 -0
  319. package/dist/engine/WorkingMemoryDelta.js +63 -0
  320. package/dist/entity/EntityGovernanceService.d.ts +47 -0
  321. package/dist/entity/EntityGovernanceService.js +215 -0
  322. package/dist/entity/index.d.ts +3 -0
  323. package/dist/entity/index.js +1 -0
  324. package/dist/episode/CogmemBlockStripper.d.ts +11 -0
  325. package/dist/episode/CogmemBlockStripper.js +58 -0
  326. package/dist/episode/CorrectionResolver.d.ts +30 -0
  327. package/dist/episode/CorrectionResolver.js +17 -0
  328. package/dist/episode/EpisodeAssembler.d.ts +54 -0
  329. package/dist/episode/EpisodeAssembler.js +203 -0
  330. package/dist/episode/EpisodeImportIdentity.d.ts +7 -0
  331. package/dist/episode/EpisodeImportIdentity.js +17 -0
  332. package/dist/episode/EpisodeSemanticSummarizer.d.ts +4 -0
  333. package/dist/episode/EpisodeSemanticSummarizer.js +31 -0
  334. package/dist/episode/EpisodeStore.d.ts +189 -0
  335. package/dist/episode/EpisodeStore.js +680 -0
  336. package/dist/episode/EpisodeTypes.d.ts +96 -0
  337. package/dist/episode/EpisodeTypes.js +1 -0
  338. package/dist/episode/TurnRelationClassifier.d.ts +40 -0
  339. package/dist/episode/TurnRelationClassifier.js +205 -0
  340. package/dist/episode/index.d.ts +9 -0
  341. package/dist/episode/index.js +8 -0
  342. package/dist/eval/datasets/contradiction_injection.d.ts +3 -0
  343. package/dist/eval/datasets/contradiction_injection.js +56 -0
  344. package/dist/eval/datasets/noisy_tool_output_corpus.d.ts +16 -0
  345. package/dist/eval/datasets/noisy_tool_output_corpus.js +59 -0
  346. package/dist/eval/datasets/synthetic_long_conversation.d.ts +40 -0
  347. package/dist/eval/datasets/synthetic_long_conversation.js +136 -0
  348. package/dist/eval/runners/EvalRunner.d.ts +12 -0
  349. package/dist/eval/runners/EvalRunner.js +66 -0
  350. package/dist/eval/runners/ReportFormatter.d.ts +13 -0
  351. package/dist/eval/runners/ReportFormatter.js +59 -0
  352. package/dist/eval/strategy/ContextOutcomeStore.d.ts +12 -0
  353. package/dist/eval/strategy/ContextOutcomeStore.js +44 -0
  354. package/dist/eval/strategy/ContextPolicyScorer.d.ts +25 -0
  355. package/dist/eval/strategy/ContextPolicyScorer.js +58 -0
  356. package/dist/eval/strategy/MemoryUseJudge.d.ts +49 -0
  357. package/dist/eval/strategy/MemoryUseJudge.js +75 -0
  358. package/dist/eval/strategy/StrategyDiversitySelector.d.ts +8 -0
  359. package/dist/eval/strategy/StrategyDiversitySelector.js +44 -0
  360. package/dist/eval/strategy/StrategyRolloutEvaluator.d.ts +15 -0
  361. package/dist/eval/strategy/StrategyRolloutEvaluator.js +30 -0
  362. package/dist/eval/strategy/index.d.ts +6 -0
  363. package/dist/eval/strategy/index.js +5 -0
  364. package/dist/factory.d.ts +726 -0
  365. package/dist/factory.js +2118 -0
  366. package/dist/governance/CandidateReviewService.d.ts +33 -0
  367. package/dist/governance/CandidateReviewService.js +126 -0
  368. package/dist/governance/ContradictionResolver.d.ts +22 -0
  369. package/dist/governance/ContradictionResolver.js +54 -0
  370. package/dist/governance/CredibilityScorer.d.ts +10 -0
  371. package/dist/governance/CredibilityScorer.js +29 -0
  372. package/dist/governance/DecayPolicy.d.ts +18 -0
  373. package/dist/governance/DecayPolicy.js +28 -0
  374. package/dist/governance/MemoryExplain.d.ts +46 -0
  375. package/dist/governance/MemoryExplain.js +62 -0
  376. package/dist/governance/MemoryGovernanceExecutor.d.ts +18 -0
  377. package/dist/governance/MemoryGovernanceExecutor.js +37 -0
  378. package/dist/governance/MemoryGovernancePlan.d.ts +36 -0
  379. package/dist/governance/MemoryGovernancePlan.js +1 -0
  380. package/dist/governance/MemoryGovernanceValidator.d.ts +13 -0
  381. package/dist/governance/MemoryGovernanceValidator.js +53 -0
  382. package/dist/governance/ObservationHygieneRules.d.ts +17 -0
  383. package/dist/governance/ObservationHygieneRules.js +28 -0
  384. package/dist/governance/PiiRedactor.d.ts +20 -0
  385. package/dist/governance/PiiRedactor.js +37 -0
  386. package/dist/governance/SupersedeChain.d.ts +21 -0
  387. package/dist/governance/SupersedeChain.js +107 -0
  388. package/dist/governance/index.d.ts +14 -0
  389. package/dist/governance/index.js +6 -0
  390. package/dist/graph/BrainGraphView.d.ts +20 -0
  391. package/dist/graph/BrainGraphView.js +45 -0
  392. package/dist/host/openclaw/AutoMemoryPluginInstaller.d.ts +45 -0
  393. package/dist/host/openclaw/AutoMemoryPluginInstaller.js +1904 -0
  394. package/dist/internal.d.ts +148 -0
  395. package/dist/internal.js +144 -0
  396. package/dist/lexicon/coreMemoryLexicon.d.ts +96 -0
  397. package/dist/lexicon/coreMemoryLexicon.js +525 -0
  398. package/dist/lexicon/language-packs/en.d.ts +42 -0
  399. package/dist/lexicon/language-packs/en.js +41 -0
  400. package/dist/lexicon/language-packs/zh.d.ts +42 -0
  401. package/dist/lexicon/language-packs/zh.js +41 -0
  402. package/dist/lexicon/zh/entities.d.ts +2 -0
  403. package/dist/lexicon/zh/entities.js +17 -0
  404. package/dist/lexicon/zh/index.d.ts +5 -0
  405. package/dist/lexicon/zh/index.js +3 -0
  406. package/dist/lexicon/zh/stopwords.d.ts +2 -0
  407. package/dist/lexicon/zh/stopwords.js +22 -0
  408. package/dist/lexicon/zh/topics.d.ts +6 -0
  409. package/dist/lexicon/zh/topics.js +52 -0
  410. package/dist/mcp/CoreMcpTools.d.ts +33 -0
  411. package/dist/mcp/CoreMcpTools.js +832 -0
  412. package/dist/mcp/server.d.ts +5 -0
  413. package/dist/mcp/server.js +29 -0
  414. package/dist/meta/MetaObservationCollector.d.ts +37 -0
  415. package/dist/meta/MetaObservationCollector.js +348 -0
  416. package/dist/meta/PolicyProposalGenerator.d.ts +11 -0
  417. package/dist/meta/PolicyProposalGenerator.js +159 -0
  418. package/dist/meta/ProposalApplier.d.ts +18 -0
  419. package/dist/meta/ProposalApplier.js +91 -0
  420. package/dist/meta/ProposalConfigOverlay.d.ts +13 -0
  421. package/dist/meta/ProposalConfigOverlay.js +27 -0
  422. package/dist/meta/ProposalEvalRunner.d.ts +31 -0
  423. package/dist/meta/ProposalEvalRunner.js +62 -0
  424. package/dist/meta/ProposalLedger.d.ts +34 -0
  425. package/dist/meta/ProposalLedger.js +242 -0
  426. package/dist/meta/types.d.ts +63 -0
  427. package/dist/meta/types.js +1 -0
  428. package/dist/migrations/0001_init.d.ts +4 -0
  429. package/dist/migrations/0001_init.js +67 -0
  430. package/dist/migrations/0002_v06_platform.d.ts +10 -0
  431. package/dist/migrations/0002_v06_platform.js +103 -0
  432. package/dist/migrations/0003_v07_dialogues.d.ts +9 -0
  433. package/dist/migrations/0003_v07_dialogues.js +53 -0
  434. package/dist/migrations/0004_v09_self_improvement.d.ts +9 -0
  435. package/dist/migrations/0004_v09_self_improvement.js +100 -0
  436. package/dist/migrations/0005_dialogue_buffer.d.ts +8 -0
  437. package/dist/migrations/0005_dialogue_buffer.js +44 -0
  438. package/dist/migrations/0006_deep_write_memory.d.ts +3 -0
  439. package/dist/migrations/0006_deep_write_memory.js +54 -0
  440. package/dist/migrations/0007_deep_write_summaries.d.ts +3 -0
  441. package/dist/migrations/0007_deep_write_summaries.js +24 -0
  442. package/dist/migrations/0009_memory_importance.d.ts +3 -0
  443. package/dist/migrations/0009_memory_importance.js +18 -0
  444. package/dist/migrations/0010_skill_neurons.d.ts +3 -0
  445. package/dist/migrations/0010_skill_neurons.js +19 -0
  446. package/dist/migrations/0011_topic_path.d.ts +3 -0
  447. package/dist/migrations/0011_topic_path.js +19 -0
  448. package/dist/migrations/0012_governance_security.d.ts +3 -0
  449. package/dist/migrations/0012_governance_security.js +23 -0
  450. package/dist/migrations/0015_memory_governance.d.ts +3 -0
  451. package/dist/migrations/0015_memory_governance.js +74 -0
  452. package/dist/migrations/0016_entity_governance.d.ts +3 -0
  453. package/dist/migrations/0016_entity_governance.js +40 -0
  454. package/dist/migrations/0017_belief_graph.d.ts +3 -0
  455. package/dist/migrations/0017_belief_graph.js +41 -0
  456. package/dist/migrations/0018_temporal_memory.d.ts +3 -0
  457. package/dist/migrations/0018_temporal_memory.js +25 -0
  458. package/dist/migrations/0019_context_cortex.d.ts +3 -0
  459. package/dist/migrations/0019_context_cortex.js +19 -0
  460. package/dist/migrations/0020_prospective_memory.d.ts +3 -0
  461. package/dist/migrations/0020_prospective_memory.js +42 -0
  462. package/dist/migrations/0021_strategy_cortex.d.ts +3 -0
  463. package/dist/migrations/0021_strategy_cortex.js +23 -0
  464. package/dist/migrations/0022_episode_dream_engine.d.ts +3 -0
  465. package/dist/migrations/0022_episode_dream_engine.js +74 -0
  466. package/dist/migrations/0023_episode_dream_hardening.d.ts +3 -0
  467. package/dist/migrations/0023_episode_dream_hardening.js +65 -0
  468. package/dist/migrations/0024_episode_ontology_reliability.d.ts +3 -0
  469. package/dist/migrations/0024_episode_ontology_reliability.js +70 -0
  470. package/dist/migrations/0025_memory_atlas.d.ts +6 -0
  471. package/dist/migrations/0025_memory_atlas.js +268 -0
  472. package/dist/migrations/0026_runtime_governance_atlas_reliability.d.ts +3 -0
  473. package/dist/migrations/0026_runtime_governance_atlas_reliability.js +72 -0
  474. package/dist/migrations/0027_openclaw_upgrade_hotfix.d.ts +3 -0
  475. package/dist/migrations/0027_openclaw_upgrade_hotfix.js +21 -0
  476. package/dist/migrations/SchemaMigrationRunner.d.ts +21 -0
  477. package/dist/migrations/SchemaMigrationRunner.js +67 -0
  478. package/dist/migrations/index.d.ts +36 -0
  479. package/dist/migrations/index.js +57 -0
  480. package/dist/models/ModelCapabilityRouter.d.ts +17 -0
  481. package/dist/models/ModelCapabilityRouter.js +75 -0
  482. package/dist/models/ModelRegistry.d.ts +15 -0
  483. package/dist/models/ModelRegistry.js +132 -0
  484. package/dist/models/ModelRole.d.ts +19 -0
  485. package/dist/models/ModelRole.js +1 -0
  486. package/dist/models/UserInsight.d.ts +16 -0
  487. package/dist/models/UserInsight.js +9 -0
  488. package/dist/models/UserInsightExtractor.d.ts +19 -0
  489. package/dist/models/UserInsightExtractor.js +99 -0
  490. package/dist/models/UserModelManager.d.ts +21 -0
  491. package/dist/models/UserModelManager.js +41 -0
  492. package/dist/models/UserModelStore.d.ts +20 -0
  493. package/dist/models/UserModelStore.js +136 -0
  494. package/dist/models/WorkingMemoryReporter.d.ts +16 -0
  495. package/dist/models/WorkingMemoryReporter.js +38 -0
  496. package/dist/models/adapters/MemoryReviewAdapter.d.ts +12 -0
  497. package/dist/models/adapters/MemoryReviewAdapter.js +77 -0
  498. package/dist/models/index.d.ts +8 -0
  499. package/dist/models/index.js +5 -0
  500. package/dist/models/providers/AnthropicClient.d.ts +17 -0
  501. package/dist/models/providers/AnthropicClient.js +40 -0
  502. package/dist/models/providers/OpenAICompatibleClient.d.ts +24 -0
  503. package/dist/models/providers/OpenAICompatibleClient.js +76 -0
  504. package/dist/observability/DecisionExplainer.d.ts +5 -0
  505. package/dist/observability/DecisionExplainer.js +62 -0
  506. package/dist/observability/TraceEvent.d.ts +11 -0
  507. package/dist/observability/TraceEvent.js +1 -0
  508. package/dist/observability/TraceQuery.d.ts +15 -0
  509. package/dist/observability/TraceQuery.js +28 -0
  510. package/dist/observability/TraceStore.d.ts +15 -0
  511. package/dist/observability/TraceStore.js +110 -0
  512. package/dist/observability/TraceWriter.d.ts +8 -0
  513. package/dist/observability/TraceWriter.js +14 -0
  514. package/dist/ontology/MemoryOntology.d.ts +4 -0
  515. package/dist/ontology/MemoryOntology.js +7 -0
  516. package/dist/prospective/ProspectiveMemoryService.d.ts +79 -0
  517. package/dist/prospective/ProspectiveMemoryService.js +258 -0
  518. package/dist/prospective/index.d.ts +2 -0
  519. package/dist/prospective/index.js +1 -0
  520. package/dist/public.d.ts +160 -0
  521. package/dist/public.js +115 -0
  522. package/dist/recall/BrainRecall.d.ts +96 -0
  523. package/dist/recall/BrainRecall.js +574 -0
  524. package/dist/recall/HierarchicalRecallRouter.d.ts +24 -0
  525. package/dist/recall/HierarchicalRecallRouter.js +62 -0
  526. package/dist/recall/RecallExplanation.d.ts +59 -0
  527. package/dist/recall/RecallExplanation.js +244 -0
  528. package/dist/recall/RecallGovernance.d.ts +10 -0
  529. package/dist/recall/RecallGovernance.js +83 -0
  530. package/dist/recall/RecallSufficiencyGate.d.ts +40 -0
  531. package/dist/recall/RecallSufficiencyGate.js +208 -0
  532. package/dist/recall/SourceContextMetadata.d.ts +49 -0
  533. package/dist/recall/SourceContextMetadata.js +134 -0
  534. package/dist/recall/TopicClassifier.d.ts +33 -0
  535. package/dist/recall/TopicClassifier.js +138 -0
  536. package/dist/recall/TopicDecayPolicy.d.ts +15 -0
  537. package/dist/recall/TopicDecayPolicy.js +46 -0
  538. package/dist/recall/TopicRegistry.d.ts +12 -0
  539. package/dist/recall/TopicRegistry.js +26 -0
  540. package/dist/recall/TopicSummaryBoard.d.ts +27 -0
  541. package/dist/recall/TopicSummaryBoard.js +139 -0
  542. package/dist/recall/VectorCandidateFilter.d.ts +50 -0
  543. package/dist/recall/VectorCandidateFilter.js +78 -0
  544. package/dist/retrieval/ConditionDslEvaluator.d.ts +33 -0
  545. package/dist/retrieval/ConditionDslEvaluator.js +160 -0
  546. package/dist/retrieval/EntityActivationIndex.d.ts +14 -0
  547. package/dist/retrieval/EntityActivationIndex.js +19 -0
  548. package/dist/retrieval/EvidenceFusionPolicy.d.ts +30 -0
  549. package/dist/retrieval/EvidenceFusionPolicy.js +112 -0
  550. package/dist/retrieval/EvidenceFusionRanker.d.ts +13 -0
  551. package/dist/retrieval/EvidenceFusionRanker.js +17 -0
  552. package/dist/retrieval/NarrativeRecallAssembler.d.ts +32 -0
  553. package/dist/retrieval/NarrativeRecallAssembler.js +27 -0
  554. package/dist/retrieval/NativeQueryParser.d.ts +23 -0
  555. package/dist/retrieval/NativeQueryParser.js +135 -0
  556. package/dist/retrieval/PlanDslExecutor.d.ts +67 -0
  557. package/dist/retrieval/PlanDslExecutor.js +194 -0
  558. package/dist/retrieval/PolicyRuntimeEvaluator.d.ts +48 -0
  559. package/dist/retrieval/PolicyRuntimeEvaluator.js +96 -0
  560. package/dist/retrieval/PolicySideEffectExecutor.d.ts +50 -0
  561. package/dist/retrieval/PolicySideEffectExecutor.js +202 -0
  562. package/dist/retrieval/PulseRetrievalEngine.d.ts +37 -0
  563. package/dist/retrieval/PulseRetrievalEngine.js +51 -0
  564. package/dist/retrieval/QueryCompiler.d.ts +18 -0
  565. package/dist/retrieval/QueryCompiler.js +97 -0
  566. package/dist/retrieval/QueryTimePendingEntityResolver.d.ts +67 -0
  567. package/dist/retrieval/QueryTimePendingEntityResolver.js +260 -0
  568. package/dist/retrieval/RetrievalPlanner.d.ts +42 -0
  569. package/dist/retrieval/RetrievalPlanner.js +209 -0
  570. package/dist/retrieval/TemporalBranchSearch.d.ts +38 -0
  571. package/dist/retrieval/TemporalBranchSearch.js +109 -0
  572. package/dist/retrieval/UniverseNavigator.d.ts +43 -0
  573. package/dist/retrieval/UniverseNavigator.js +75 -0
  574. package/dist/retrieval/UniverseTraversalExecutor.d.ts +21 -0
  575. package/dist/retrieval/UniverseTraversalExecutor.js +77 -0
  576. package/dist/routing/AnswerEvidenceTrace.d.ts +18 -0
  577. package/dist/routing/AnswerEvidenceTrace.js +1 -0
  578. package/dist/routing/BrainToolDispatcher.d.ts +37 -0
  579. package/dist/routing/BrainToolDispatcher.js +163 -0
  580. package/dist/routing/ConfidenceGate.d.ts +26 -0
  581. package/dist/routing/ConfidenceGate.js +40 -0
  582. package/dist/routing/ConfirmationPhraseMatcher.d.ts +9 -0
  583. package/dist/routing/ConfirmationPhraseMatcher.js +43 -0
  584. package/dist/routing/DirectReplyFormatter.d.ts +5 -0
  585. package/dist/routing/DirectReplyFormatter.js +55 -0
  586. package/dist/routing/EvidenceBudgetManager.d.ts +30 -0
  587. package/dist/routing/EvidenceBudgetManager.js +55 -0
  588. package/dist/routing/ExecutionLoop.d.ts +79 -0
  589. package/dist/routing/ExecutionLoop.js +234 -0
  590. package/dist/routing/IntentClassifier.d.ts +15 -0
  591. package/dist/routing/IntentClassifier.js +97 -0
  592. package/dist/routing/IntentPatternMatcher.d.ts +12 -0
  593. package/dist/routing/IntentPatternMatcher.js +206 -0
  594. package/dist/routing/IterativeLLMClarifier.d.ts +80 -0
  595. package/dist/routing/IterativeLLMClarifier.js +408 -0
  596. package/dist/routing/LLMToolSchema.d.ts +60 -0
  597. package/dist/routing/LLMToolSchema.js +143 -0
  598. package/dist/routing/MessageRouter.d.ts +20 -0
  599. package/dist/routing/MessageRouter.js +58 -0
  600. package/dist/routing/SessionContextSelector.d.ts +12 -0
  601. package/dist/routing/SessionContextSelector.js +86 -0
  602. package/dist/routing/SystemIntentClassifier.d.ts +15 -0
  603. package/dist/routing/SystemIntentClassifier.js +50 -0
  604. package/dist/routing/TaskPlan.d.ts +31 -0
  605. package/dist/routing/TaskPlan.js +1 -0
  606. package/dist/routing/TaskRouter.d.ts +13 -0
  607. package/dist/routing/TaskRouter.js +111 -0
  608. package/dist/routing/ToolCallParser.d.ts +16 -0
  609. package/dist/routing/ToolCallParser.js +123 -0
  610. package/dist/routing/ToolEvidenceNormalizer.d.ts +13 -0
  611. package/dist/routing/ToolEvidenceNormalizer.js +96 -0
  612. package/dist/routing/ToolEvidencePack.d.ts +36 -0
  613. package/dist/routing/ToolEvidencePack.js +84 -0
  614. package/dist/routing/ToolResultSanitizer.d.ts +19 -0
  615. package/dist/routing/ToolResultSanitizer.js +58 -0
  616. package/dist/routing/ToolUsePolicy.d.ts +78 -0
  617. package/dist/routing/ToolUsePolicy.js +163 -0
  618. package/dist/routing/index.d.ts +32 -0
  619. package/dist/routing/index.js +19 -0
  620. package/dist/routing/templates/ability_template.d.ts +2 -0
  621. package/dist/routing/templates/ability_template.js +34 -0
  622. package/dist/routing/templates/approvals_template.d.ts +2 -0
  623. package/dist/routing/templates/approvals_template.js +43 -0
  624. package/dist/routing/templates/context_template.d.ts +2 -0
  625. package/dist/routing/templates/context_template.js +25 -0
  626. package/dist/routing/templates/contradictions_template.d.ts +2 -0
  627. package/dist/routing/templates/contradictions_template.js +36 -0
  628. package/dist/routing/templates/importance_template.d.ts +2 -0
  629. package/dist/routing/templates/importance_template.js +23 -0
  630. package/dist/routing/templates/memory_template.d.ts +2 -0
  631. package/dist/routing/templates/memory_template.js +37 -0
  632. package/dist/routing/templates/self_manifest_template.d.ts +5 -0
  633. package/dist/routing/templates/self_manifest_template.js +64 -0
  634. package/dist/routing/templates/tasks_template.d.ts +2 -0
  635. package/dist/routing/templates/tasks_template.js +41 -0
  636. package/dist/routing/templates/trace_template.d.ts +2 -0
  637. package/dist/routing/templates/trace_template.js +37 -0
  638. package/dist/routing/tools/EntityExpandTool.d.ts +25 -0
  639. package/dist/routing/tools/EntityExpandTool.js +59 -0
  640. package/dist/routing/tools/NeuronContextTool.d.ts +32 -0
  641. package/dist/routing/tools/NeuronContextTool.js +66 -0
  642. package/dist/routing/tools/SecondaryRecallTool.d.ts +27 -0
  643. package/dist/routing/tools/SecondaryRecallTool.js +30 -0
  644. package/dist/routing/tools/SkillDiscoveryTool.d.ts +13 -0
  645. package/dist/routing/tools/SkillDiscoveryTool.js +11 -0
  646. package/dist/snapshot/SnapshotExporter.d.ts +13 -0
  647. package/dist/snapshot/SnapshotExporter.js +70 -0
  648. package/dist/snapshot/SnapshotHeader.d.ts +15 -0
  649. package/dist/snapshot/SnapshotHeader.js +1 -0
  650. package/dist/snapshot/SnapshotImporter.d.ts +20 -0
  651. package/dist/snapshot/SnapshotImporter.js +40 -0
  652. package/dist/snapshot/errors.d.ts +18 -0
  653. package/dist/snapshot/errors.js +34 -0
  654. package/dist/snapshot/index.d.ts +5 -0
  655. package/dist/snapshot/index.js +3 -0
  656. package/dist/storage/StorageCompactor.d.ts +30 -0
  657. package/dist/storage/StorageCompactor.js +95 -0
  658. package/dist/store/ActivationStore.d.ts +45 -0
  659. package/dist/store/ActivationStore.js +135 -0
  660. package/dist/store/BackgroundJobStore.d.ts +49 -0
  661. package/dist/store/BackgroundJobStore.js +156 -0
  662. package/dist/store/CandidateReviewStore.d.ts +33 -0
  663. package/dist/store/CandidateReviewStore.js +67 -0
  664. package/dist/store/CognitiveGraphStore.d.ts +42 -0
  665. package/dist/store/CognitiveGraphStore.js +193 -0
  666. package/dist/store/CompilerConfidenceStore.d.ts +20 -0
  667. package/dist/store/CompilerConfidenceStore.js +76 -0
  668. package/dist/store/DeepWriteCandidateStore.d.ts +94 -0
  669. package/dist/store/DeepWriteCandidateStore.js +290 -0
  670. package/dist/store/DeterministicEmbedder.d.ts +10 -0
  671. package/dist/store/DeterministicEmbedder.js +24 -0
  672. package/dist/store/DreamLedgerStore.d.ts +22 -0
  673. package/dist/store/DreamLedgerStore.js +84 -0
  674. package/dist/store/Embedder.d.ts +14 -0
  675. package/dist/store/Embedder.js +52 -0
  676. package/dist/store/EmbedderFactory.d.ts +12 -0
  677. package/dist/store/EmbedderFactory.js +51 -0
  678. package/dist/store/EntityStore.d.ts +195 -0
  679. package/dist/store/EntityStore.js +941 -0
  680. package/dist/store/EventStore.d.ts +118 -0
  681. package/dist/store/EventStore.js +699 -0
  682. package/dist/store/FactStore.d.ts +76 -0
  683. package/dist/store/FactStore.js +356 -0
  684. package/dist/store/HnswlibVectorStore.d.ts +2 -0
  685. package/dist/store/HnswlibVectorStore.js +1 -0
  686. package/dist/store/IVectorStore.d.ts +32 -0
  687. package/dist/store/IVectorStore.js +1 -0
  688. package/dist/store/InteractionUnitStore.d.ts +52 -0
  689. package/dist/store/InteractionUnitStore.js +167 -0
  690. package/dist/store/MemoryAtlasStore.d.ts +60 -0
  691. package/dist/store/MemoryAtlasStore.js +500 -0
  692. package/dist/store/MemoryBindingStore.d.ts +77 -0
  693. package/dist/store/MemoryBindingStore.js +608 -0
  694. package/dist/store/MemoryGovernanceStore.d.ts +23 -0
  695. package/dist/store/MemoryGovernanceStore.js +103 -0
  696. package/dist/store/MemoryInspectionStore.d.ts +61 -0
  697. package/dist/store/MemoryInspectionStore.js +215 -0
  698. package/dist/store/PlanRuntimeStore.d.ts +83 -0
  699. package/dist/store/PlanRuntimeStore.js +257 -0
  700. package/dist/store/PolicyExecutionProjector.d.ts +17 -0
  701. package/dist/store/PolicyExecutionProjector.js +115 -0
  702. package/dist/store/PolicyExecutionStore.d.ts +62 -0
  703. package/dist/store/PolicyExecutionStore.js +290 -0
  704. package/dist/store/PolicyProjectionStore.d.ts +18 -0
  705. package/dist/store/PolicyProjectionStore.js +61 -0
  706. package/dist/store/ProjectionObservabilityStore.d.ts +38 -0
  707. package/dist/store/ProjectionObservabilityStore.js +310 -0
  708. package/dist/store/ReasoningChainStore.d.ts +13 -0
  709. package/dist/store/ReasoningChainStore.js +74 -0
  710. package/dist/store/RuntimeProjectionStore.d.ts +18 -0
  711. package/dist/store/RuntimeProjectionStore.js +61 -0
  712. package/dist/store/RuntimeProjector.d.ts +17 -0
  713. package/dist/store/RuntimeProjector.js +119 -0
  714. package/dist/store/SqliteVecStore.d.ts +25 -0
  715. package/dist/store/SqliteVecStore.js +126 -0
  716. package/dist/store/SummaryStore.d.ts +56 -0
  717. package/dist/store/SummaryStore.js +225 -0
  718. package/dist/store/TemporalAdjacencyStore.d.ts +49 -0
  719. package/dist/store/TemporalAdjacencyStore.js +300 -0
  720. package/dist/store/TopologyStore.d.ts +89 -0
  721. package/dist/store/TopologyStore.js +657 -0
  722. package/dist/store/VectorProjector.d.ts +22 -0
  723. package/dist/store/VectorProjector.js +125 -0
  724. package/dist/store/VectorStore.d.ts +35 -0
  725. package/dist/store/VectorStore.js +201 -0
  726. package/dist/strategy/StrategyCapsule.d.ts +44 -0
  727. package/dist/strategy/StrategyCapsule.js +1 -0
  728. package/dist/strategy/StrategyConditionedCandidateBuilder.d.ts +9 -0
  729. package/dist/strategy/StrategyConditionedCandidateBuilder.js +11 -0
  730. package/dist/strategy/StrategyContextFormatter.d.ts +3 -0
  731. package/dist/strategy/StrategyContextFormatter.js +25 -0
  732. package/dist/strategy/StrategyCortex.d.ts +28 -0
  733. package/dist/strategy/StrategyCortex.js +78 -0
  734. package/dist/strategy/StrategyTemplateRegistry.d.ts +9 -0
  735. package/dist/strategy/StrategyTemplateRegistry.js +78 -0
  736. package/dist/strategy/index.d.ts +6 -0
  737. package/dist/strategy/index.js +5 -0
  738. package/dist/temporal/TemporalMemoryService.d.ts +62 -0
  739. package/dist/temporal/TemporalMemoryService.js +128 -0
  740. package/dist/temporal/index.d.ts +2 -0
  741. package/dist/temporal/index.js +1 -0
  742. package/dist/topic/TopicAliasRegistry.d.ts +21 -0
  743. package/dist/topic/TopicAliasRegistry.js +67 -0
  744. package/dist/topic/TopicGovernance.d.ts +21 -0
  745. package/dist/topic/TopicGovernance.js +173 -0
  746. package/dist/topic/TopicPathRegistry.d.ts +36 -0
  747. package/dist/topic/TopicPathRegistry.js +105 -0
  748. package/dist/topic/TopicRelationGraph.d.ts +23 -0
  749. package/dist/topic/TopicRelationGraph.js +55 -0
  750. package/dist/topic/TopicTypes.d.ts +73 -0
  751. package/dist/topic/TopicTypes.js +1 -0
  752. package/dist/topic/index.d.ts +6 -0
  753. package/dist/topic/index.js +5 -0
  754. package/dist/types/AsyncEnrichment.d.ts +62 -0
  755. package/dist/types/AsyncEnrichment.js +7 -0
  756. package/dist/types/BrainRecallResult.d.ts +66 -0
  757. package/dist/types/BrainRecallResult.js +1 -0
  758. package/dist/types/ExtensionPoints.d.ts +116 -0
  759. package/dist/types/ExtensionPoints.js +1 -0
  760. package/dist/types/Migration.d.ts +22 -0
  761. package/dist/types/Migration.js +1 -0
  762. package/dist/types/QueryTimePendingEntityResolution.d.ts +11 -0
  763. package/dist/types/QueryTimePendingEntityResolution.js +23 -0
  764. package/dist/types/index.d.ts +855 -0
  765. package/dist/types/index.js +24 -0
  766. package/dist/types/query-ir.d.ts +71 -0
  767. package/dist/types/query-ir.js +4 -0
  768. package/dist/types/reasoning.d.ts +16 -0
  769. package/dist/types/reasoning.js +4 -0
  770. package/dist/utils/AAAKGenerator.d.ts +57 -0
  771. package/dist/utils/AAAKGenerator.js +212 -0
  772. package/dist/utils/Config.d.ts +78 -0
  773. package/dist/utils/Config.js +91 -0
  774. package/dist/utils/ConversationMarkdownNormalization.d.ts +88 -0
  775. package/dist/utils/ConversationMarkdownNormalization.js +567 -0
  776. package/dist/utils/Logger.d.ts +22 -0
  777. package/dist/utils/Logger.js +77 -0
  778. package/dist/utils/hash.d.ts +33 -0
  779. package/dist/utils/hash.js +53 -0
  780. package/dist/utils/text.d.ts +2 -0
  781. package/dist/utils/text.js +19 -0
  782. package/dist/utils/vector.d.ts +26 -0
  783. package/dist/utils/vector.js +38 -0
  784. package/examples/hermes-backend/AGENTS.md +218 -0
  785. package/examples/hermes-backend/README.md +153 -0
  786. package/examples/hermes-backend/SKILL.md +365 -0
  787. package/examples/hermes-backend/references/operations.md +202 -0
  788. package/examples/openclaw-backend/AGENTS.md +195 -0
  789. package/examples/openclaw-backend/README.md +228 -0
  790. package/examples/openclaw-backend/SKILL.md +464 -0
  791. package/examples/openclaw-backend/references/operations.md +269 -0
  792. package/install.sh +84 -0
  793. package/package.json +90 -0
@@ -0,0 +1,657 @@
1
+ import Database from 'bun:sqlite';
2
+ export class TopologyStore {
3
+ db;
4
+ constructor(dbPath = ':memory:') {
5
+ this.db = new Database(dbPath);
6
+ this.initializeSchema();
7
+ }
8
+ initializeSchema() {
9
+ this.db.exec(`
10
+ CREATE TABLE IF NOT EXISTS time_buckets (
11
+ bucket_id TEXT PRIMARY KEY,
12
+ bucket_type TEXT NOT NULL,
13
+ bucket_start INTEGER NOT NULL,
14
+ bucket_end INTEGER NOT NULL,
15
+ label TEXT NOT NULL
16
+ );
17
+
18
+ CREATE TABLE IF NOT EXISTS time_bucket_entries (
19
+ bucket_id TEXT NOT NULL,
20
+ neuron_id TEXT,
21
+ unit_id TEXT,
22
+ belief_id TEXT,
23
+ fact_id TEXT,
24
+ event_id TEXT,
25
+ project_id TEXT,
26
+ created_at INTEGER NOT NULL,
27
+ UNIQUE(bucket_id, neuron_id, unit_id, belief_id, fact_id, event_id)
28
+ );
29
+
30
+ CREATE TABLE IF NOT EXISTS project_branches (
31
+ branch_id TEXT PRIMARY KEY,
32
+ project_id TEXT NOT NULL,
33
+ branch_key TEXT NOT NULL,
34
+ branch_kind TEXT NOT NULL,
35
+ title TEXT NOT NULL,
36
+ created_at INTEGER NOT NULL,
37
+ updated_at INTEGER NOT NULL,
38
+ UNIQUE(project_id, branch_key)
39
+ );
40
+
41
+ CREATE TABLE IF NOT EXISTS branch_links (
42
+ parent_branch_id TEXT NOT NULL,
43
+ child_branch_id TEXT NOT NULL,
44
+ relation_type TEXT NOT NULL,
45
+ created_at INTEGER NOT NULL,
46
+ UNIQUE(parent_branch_id, child_branch_id, relation_type)
47
+ );
48
+
49
+ CREATE TABLE IF NOT EXISTS branch_entries (
50
+ branch_id TEXT NOT NULL,
51
+ neuron_id TEXT,
52
+ unit_id TEXT,
53
+ belief_id TEXT,
54
+ fact_id TEXT,
55
+ event_id TEXT,
56
+ created_at INTEGER NOT NULL,
57
+ UNIQUE(branch_id, neuron_id, unit_id, belief_id, fact_id, event_id)
58
+ );
59
+
60
+ CREATE TABLE IF NOT EXISTS task_branches (
61
+ task_id TEXT PRIMARY KEY,
62
+ project_id TEXT,
63
+ task_key TEXT NOT NULL UNIQUE,
64
+ title TEXT NOT NULL,
65
+ status TEXT NOT NULL,
66
+ created_at INTEGER NOT NULL,
67
+ updated_at INTEGER NOT NULL
68
+ );
69
+
70
+ CREATE TABLE IF NOT EXISTS task_branch_entries (
71
+ task_id TEXT NOT NULL,
72
+ neuron_id TEXT,
73
+ unit_id TEXT,
74
+ belief_id TEXT,
75
+ fact_id TEXT,
76
+ event_id TEXT,
77
+ created_at INTEGER NOT NULL,
78
+ UNIQUE(task_id, neuron_id, unit_id, belief_id, fact_id, event_id)
79
+ );
80
+
81
+ CREATE TABLE IF NOT EXISTS event_clusters (
82
+ cluster_id TEXT PRIMARY KEY,
83
+ project_id TEXT,
84
+ cluster_key TEXT NOT NULL UNIQUE,
85
+ cluster_type TEXT NOT NULL,
86
+ title TEXT NOT NULL,
87
+ created_at INTEGER NOT NULL,
88
+ updated_at INTEGER NOT NULL
89
+ );
90
+
91
+ CREATE TABLE IF NOT EXISTS event_cluster_entries (
92
+ cluster_id TEXT NOT NULL,
93
+ neuron_id TEXT,
94
+ unit_id TEXT,
95
+ belief_id TEXT,
96
+ fact_id TEXT,
97
+ event_id TEXT,
98
+ created_at INTEGER NOT NULL,
99
+ UNIQUE(cluster_id, neuron_id, unit_id, belief_id, fact_id, event_id)
100
+ );
101
+
102
+ CREATE TABLE IF NOT EXISTS topology_membership (
103
+ neuron_id TEXT NOT NULL,
104
+ project_id TEXT,
105
+ dimension_type TEXT NOT NULL,
106
+ dimension_key TEXT NOT NULL,
107
+ title TEXT,
108
+ created_at INTEGER NOT NULL,
109
+ UNIQUE(neuron_id, dimension_type, dimension_key)
110
+ );
111
+
112
+ CREATE INDEX IF NOT EXISTS idx_time_bucket_entries_bucket
113
+ ON time_bucket_entries(bucket_id, created_at DESC);
114
+ CREATE INDEX IF NOT EXISTS idx_project_branches_project
115
+ ON project_branches(project_id, updated_at DESC);
116
+ CREATE INDEX IF NOT EXISTS idx_task_branches_project
117
+ ON task_branches(project_id, updated_at DESC);
118
+ CREATE INDEX IF NOT EXISTS idx_event_clusters_project
119
+ ON event_clusters(project_id, updated_at DESC);
120
+ CREATE INDEX IF NOT EXISTS idx_topology_membership_project
121
+ ON topology_membership(project_id, dimension_type, created_at DESC);
122
+ CREATE INDEX IF NOT EXISTS idx_topology_membership_dimension
123
+ ON topology_membership(dimension_type, dimension_key, created_at DESC);
124
+ `);
125
+ }
126
+ upsertTimeBucket(bucket) {
127
+ this.db.prepare(`
128
+ INSERT OR REPLACE INTO time_buckets (
129
+ bucket_id, bucket_type, bucket_start, bucket_end, label
130
+ ) VALUES (?, ?, ?, ?, ?)
131
+ `).run(bucket.bucketId, bucket.bucketType, bucket.bucketStart, bucket.bucketEnd, bucket.label);
132
+ return bucket;
133
+ }
134
+ attachToTimeBucket(bucketId, ref) {
135
+ this.db.prepare(`
136
+ INSERT OR IGNORE INTO time_bucket_entries (
137
+ bucket_id, neuron_id, unit_id, belief_id, fact_id, event_id, project_id, created_at
138
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
139
+ `).run(bucketId, ref.neuronId || null, ref.unitId || null, ref.beliefId || null, ref.factId || null, ref.eventId || null, ref.projectId || null, ref.createdAt);
140
+ if (ref.neuronId) {
141
+ const row = this.db.prepare(`
142
+ SELECT label FROM time_buckets WHERE bucket_id = ?
143
+ `).get(bucketId);
144
+ this.upsertMembership(ref.neuronId, ref.projectId, 'time_bucket', bucketId, row?.label, ref.createdAt);
145
+ }
146
+ }
147
+ upsertProjectBranch(input) {
148
+ const existing = this.db.prepare(`
149
+ SELECT * FROM project_branches WHERE project_id = ? AND branch_key = ?
150
+ `).get(input.projectId, input.branchKey);
151
+ const branchId = existing?.branch_id || input.branchId;
152
+ const createdAt = existing?.created_at || input.createdAt;
153
+ this.db.prepare(`
154
+ INSERT OR REPLACE INTO project_branches (
155
+ branch_id, project_id, branch_key, branch_kind, title, created_at, updated_at
156
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
157
+ `).run(branchId, input.projectId, input.branchKey, input.branchKind, input.title, createdAt, input.createdAt);
158
+ return {
159
+ branchId,
160
+ projectId: input.projectId,
161
+ branchKey: input.branchKey,
162
+ branchKind: input.branchKind,
163
+ title: input.title,
164
+ createdAt,
165
+ updatedAt: input.createdAt
166
+ };
167
+ }
168
+ linkBranches(parentBranchId, childBranchId, relationType, createdAt) {
169
+ this.db.prepare(`
170
+ INSERT OR IGNORE INTO branch_links (
171
+ parent_branch_id, child_branch_id, relation_type, created_at
172
+ ) VALUES (?, ?, ?, ?)
173
+ `).run(parentBranchId, childBranchId, relationType, createdAt);
174
+ }
175
+ attachToBranch(branchId, ref) {
176
+ this.db.prepare(`
177
+ INSERT OR IGNORE INTO branch_entries (
178
+ branch_id, neuron_id, unit_id, belief_id, fact_id, event_id, created_at
179
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
180
+ `).run(branchId, ref.neuronId || null, ref.unitId || null, ref.beliefId || null, ref.factId || null, ref.eventId || null, ref.createdAt);
181
+ if (ref.neuronId) {
182
+ const row = this.db.prepare(`
183
+ SELECT project_id, branch_key, title FROM project_branches WHERE branch_id = ?
184
+ `).get(branchId);
185
+ this.upsertMembership(ref.neuronId, row?.project_id || undefined, 'project_branch', row?.branch_key || branchId, row?.title, ref.createdAt);
186
+ }
187
+ }
188
+ upsertTaskBranch(input) {
189
+ const existing = this.db.prepare(`
190
+ SELECT * FROM task_branches WHERE task_key = ?
191
+ `).get(input.taskKey);
192
+ const taskId = existing?.task_id || input.taskId;
193
+ const createdAt = existing?.created_at || input.createdAt;
194
+ const status = input.status || 'derived';
195
+ this.db.prepare(`
196
+ INSERT OR REPLACE INTO task_branches (
197
+ task_id, project_id, task_key, title, status, created_at, updated_at
198
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
199
+ `).run(taskId, input.projectId || null, input.taskKey, input.title, status, createdAt, input.createdAt);
200
+ return {
201
+ taskId,
202
+ projectId: input.projectId,
203
+ taskKey: input.taskKey,
204
+ title: input.title,
205
+ status,
206
+ createdAt,
207
+ updatedAt: input.createdAt
208
+ };
209
+ }
210
+ attachToTask(taskId, ref) {
211
+ this.db.prepare(`
212
+ INSERT OR IGNORE INTO task_branch_entries (
213
+ task_id, neuron_id, unit_id, belief_id, fact_id, event_id, created_at
214
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
215
+ `).run(taskId, ref.neuronId || null, ref.unitId || null, ref.beliefId || null, ref.factId || null, ref.eventId || null, ref.createdAt);
216
+ if (ref.neuronId) {
217
+ const row = this.db.prepare(`
218
+ SELECT project_id, task_key, title FROM task_branches WHERE task_id = ?
219
+ `).get(taskId);
220
+ this.upsertMembership(ref.neuronId, row?.project_id || undefined, 'task_branch', row?.task_key || taskId, row?.title, ref.createdAt);
221
+ }
222
+ }
223
+ upsertEventCluster(input) {
224
+ const existing = this.db.prepare(`
225
+ SELECT * FROM event_clusters WHERE cluster_key = ?
226
+ `).get(input.clusterKey);
227
+ const clusterId = existing?.cluster_id || input.clusterId;
228
+ const createdAt = existing?.created_at || input.createdAt;
229
+ this.db.prepare(`
230
+ INSERT OR REPLACE INTO event_clusters (
231
+ cluster_id, project_id, cluster_key, cluster_type, title, created_at, updated_at
232
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
233
+ `).run(clusterId, input.projectId || null, input.clusterKey, input.clusterType, input.title, createdAt, input.createdAt);
234
+ return {
235
+ clusterId,
236
+ projectId: input.projectId,
237
+ clusterKey: input.clusterKey,
238
+ clusterType: input.clusterType,
239
+ title: input.title,
240
+ createdAt,
241
+ updatedAt: input.createdAt
242
+ };
243
+ }
244
+ attachToEventCluster(clusterId, ref) {
245
+ this.db.prepare(`
246
+ INSERT OR IGNORE INTO event_cluster_entries (
247
+ cluster_id, neuron_id, unit_id, belief_id, fact_id, event_id, created_at
248
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
249
+ `).run(clusterId, ref.neuronId || null, ref.unitId || null, ref.beliefId || null, ref.factId || null, ref.eventId || null, ref.createdAt);
250
+ if (ref.neuronId) {
251
+ const row = this.db.prepare(`
252
+ SELECT project_id, cluster_key, title FROM event_clusters WHERE cluster_id = ?
253
+ `).get(clusterId);
254
+ this.upsertMembership(ref.neuronId, row?.project_id || undefined, 'event_cluster', row?.cluster_key || clusterId, row?.title, ref.createdAt);
255
+ }
256
+ }
257
+ listProjectBranches(projectId) {
258
+ const rows = this.db.prepare(`
259
+ SELECT * FROM project_branches
260
+ WHERE project_id = ?
261
+ ORDER BY updated_at DESC, created_at DESC
262
+ `).all(projectId);
263
+ return rows.map((row) => ({
264
+ branchId: row.branch_id,
265
+ projectId: row.project_id,
266
+ branchKey: row.branch_key,
267
+ branchKind: row.branch_kind,
268
+ title: row.title,
269
+ createdAt: row.created_at,
270
+ updatedAt: row.updated_at
271
+ }));
272
+ }
273
+ listTaskBranches(projectId) {
274
+ const rows = projectId
275
+ ? this.db.prepare(`SELECT * FROM task_branches WHERE project_id = ? ORDER BY updated_at DESC`).all(projectId)
276
+ : this.db.prepare(`SELECT * FROM task_branches ORDER BY updated_at DESC`).all();
277
+ return rows.map((row) => ({
278
+ taskId: row.task_id,
279
+ projectId: row.project_id || undefined,
280
+ taskKey: row.task_key,
281
+ title: row.title,
282
+ status: row.status,
283
+ createdAt: row.created_at,
284
+ updatedAt: row.updated_at
285
+ }));
286
+ }
287
+ listEventClusters(projectId) {
288
+ const rows = projectId
289
+ ? this.db.prepare(`SELECT * FROM event_clusters WHERE project_id = ? ORDER BY updated_at DESC`).all(projectId)
290
+ : this.db.prepare(`SELECT * FROM event_clusters ORDER BY updated_at DESC`).all();
291
+ return rows.map((row) => ({
292
+ clusterId: row.cluster_id,
293
+ projectId: row.project_id || undefined,
294
+ clusterKey: row.cluster_key,
295
+ clusterType: row.cluster_type,
296
+ title: row.title,
297
+ createdAt: row.created_at,
298
+ updatedAt: row.updated_at
299
+ }));
300
+ }
301
+ listNeuronIdsByProject(projectId) {
302
+ const rows = this.db.prepare(`
303
+ SELECT DISTINCT neuron_id
304
+ FROM branch_entries be
305
+ JOIN project_branches pb ON pb.branch_id = be.branch_id
306
+ WHERE pb.project_id = ?
307
+ AND neuron_id IS NOT NULL
308
+ ORDER BY be.created_at DESC
309
+ `).all(projectId);
310
+ return rows.map((row) => row.neuron_id).filter((value) => Boolean(value));
311
+ }
312
+ listNeuronIdsByTemporalRange(start, end) {
313
+ const rows = this.db.prepare(`
314
+ SELECT DISTINCT neuron_id
315
+ FROM time_bucket_entries
316
+ WHERE created_at >= ?
317
+ AND created_at <= ?
318
+ AND neuron_id IS NOT NULL
319
+ ORDER BY created_at DESC
320
+ `).all(start, end);
321
+ return rows.map((row) => row.neuron_id).filter((value) => Boolean(value));
322
+ }
323
+ listTimeBucketIdsByNeuronIds(neuronIds, projectId, limit = 80) {
324
+ if (neuronIds.length === 0)
325
+ return [];
326
+ const scopedNeuronIds = Array.from(new Set(neuronIds.filter(Boolean))).slice(0, 200);
327
+ if (scopedNeuronIds.length === 0)
328
+ return [];
329
+ const rowLimit = Math.max(1, Math.min(limit, 200));
330
+ const placeholders = scopedNeuronIds.map(() => '?').join(', ');
331
+ const rows = this.db.prepare(`
332
+ SELECT DISTINCT bucket_id
333
+ FROM time_bucket_entries
334
+ WHERE neuron_id IN (${placeholders})
335
+ AND (? IS NULL OR project_id = ?)
336
+ ORDER BY created_at DESC
337
+ LIMIT ?
338
+ `).all(...scopedNeuronIds, projectId || null, projectId || null, rowLimit);
339
+ return rows.map((row) => row.bucket_id);
340
+ }
341
+ collectCandidateNeuronIds(input) {
342
+ const limit = input.limit ?? 200;
343
+ const collected = new Set();
344
+ const terms = (input.terms || []).map((term) => term.trim().toLowerCase()).filter((term) => term.length >= 2);
345
+ const baseRows = this.db.prepare(`
346
+ SELECT neuron_id
347
+ FROM topology_membership
348
+ WHERE (? IS NULL OR project_id = ?)
349
+ AND (? IS NULL OR created_at >= ?)
350
+ AND (? IS NULL OR created_at <= ?)
351
+ ORDER BY created_at DESC
352
+ LIMIT ?
353
+ `).all(input.projectId ?? null, input.projectId ?? null, input.startTime ?? null, input.startTime ?? null, input.endTime ?? null, input.endTime ?? null, limit * 2);
354
+ for (const row of baseRows) {
355
+ collected.add(row.neuron_id);
356
+ if (collected.size >= limit)
357
+ break;
358
+ }
359
+ for (const term of terms) {
360
+ if (collected.size >= limit)
361
+ break;
362
+ const rows = this.db.prepare(`
363
+ SELECT neuron_id
364
+ FROM topology_membership
365
+ WHERE (? IS NULL OR project_id = ?)
366
+ AND (lower(title) LIKE ? OR lower(dimension_key) LIKE ?)
367
+ ORDER BY created_at DESC
368
+ LIMIT ?
369
+ `).all(input.projectId ?? null, input.projectId ?? null, `%${term}%`, `%${term}%`, limit);
370
+ for (const row of rows) {
371
+ collected.add(row.neuron_id);
372
+ if (collected.size >= limit)
373
+ break;
374
+ }
375
+ }
376
+ return Array.from(collected).slice(0, limit);
377
+ }
378
+ collectBranchNavigation(input) {
379
+ const limit = input.limit ?? 120;
380
+ const siblingDepth = Math.max(0, input.siblingDepth ?? 1);
381
+ const terms = (input.terms || []).map((term) => term.trim().toLowerCase()).filter((term) => term.length >= 2);
382
+ const branchIds = new Set();
383
+ const taskIds = new Set();
384
+ const clusterIds = new Set();
385
+ const neuronIds = new Set();
386
+ const addNeuronRows = (rows) => {
387
+ for (const row of rows) {
388
+ if (!row.neuron_id)
389
+ continue;
390
+ neuronIds.add(row.neuron_id);
391
+ if (neuronIds.size >= limit)
392
+ break;
393
+ }
394
+ };
395
+ if (input.projectId) {
396
+ const rootRows = this.db.prepare(`
397
+ SELECT branch_id
398
+ FROM project_branches
399
+ WHERE project_id = ?
400
+ `).all(input.projectId);
401
+ for (const row of rootRows) {
402
+ branchIds.add(row.branch_id);
403
+ }
404
+ }
405
+ for (const term of terms) {
406
+ const branchRows = this.db.prepare(`
407
+ SELECT branch_id
408
+ FROM project_branches
409
+ WHERE (? IS NULL OR project_id = ?)
410
+ AND (lower(title) LIKE ? OR lower(branch_key) LIKE ?)
411
+ ORDER BY updated_at DESC
412
+ LIMIT ?
413
+ `).all(input.projectId || null, input.projectId || null, `%${term}%`, `%${term}%`, limit);
414
+ for (const row of branchRows)
415
+ branchIds.add(row.branch_id);
416
+ const taskRows = this.db.prepare(`
417
+ SELECT task_id
418
+ FROM task_branches
419
+ WHERE (? IS NULL OR project_id = ?)
420
+ AND (lower(title) LIKE ? OR lower(task_key) LIKE ?)
421
+ ORDER BY updated_at DESC
422
+ LIMIT ?
423
+ `).all(input.projectId || null, input.projectId || null, `%${term}%`, `%${term}%`, limit);
424
+ for (const row of taskRows)
425
+ taskIds.add(row.task_id);
426
+ const clusterRows = this.db.prepare(`
427
+ SELECT cluster_id
428
+ FROM event_clusters
429
+ WHERE (? IS NULL OR project_id = ?)
430
+ AND (lower(title) LIKE ? OR lower(cluster_key) LIKE ?)
431
+ ORDER BY updated_at DESC
432
+ LIMIT ?
433
+ `).all(input.projectId || null, input.projectId || null, `%${term}%`, `%${term}%`, limit);
434
+ for (const row of clusterRows)
435
+ clusterIds.add(row.cluster_id);
436
+ }
437
+ if (branchIds.size > 0 && siblingDepth > 0) {
438
+ const frontier = Array.from(branchIds);
439
+ const visited = new Set(frontier);
440
+ for (let depth = 0; depth < siblingDepth; depth += 1) {
441
+ const next = [];
442
+ for (const branchId of frontier) {
443
+ const linked = this.db.prepare(`
444
+ SELECT parent_branch_id, child_branch_id
445
+ FROM branch_links
446
+ WHERE parent_branch_id = ? OR child_branch_id = ?
447
+ `).all(branchId, branchId);
448
+ for (const row of linked) {
449
+ const candidates = [row.parent_branch_id, row.child_branch_id];
450
+ for (const candidate of candidates) {
451
+ if (visited.has(candidate))
452
+ continue;
453
+ visited.add(candidate);
454
+ branchIds.add(candidate);
455
+ next.push(candidate);
456
+ }
457
+ }
458
+ }
459
+ frontier.splice(0, frontier.length, ...next);
460
+ if (frontier.length === 0)
461
+ break;
462
+ }
463
+ }
464
+ if (branchIds.size > 0) {
465
+ const placeholders = Array.from(branchIds).map(() => '?').join(', ');
466
+ addNeuronRows(this.db.prepare(`
467
+ SELECT DISTINCT neuron_id
468
+ FROM branch_entries
469
+ WHERE branch_id IN (${placeholders})
470
+ AND neuron_id IS NOT NULL
471
+ ORDER BY created_at DESC
472
+ LIMIT ?
473
+ `).all(...Array.from(branchIds), limit));
474
+ }
475
+ if (taskIds.size > 0) {
476
+ const placeholders = Array.from(taskIds).map(() => '?').join(', ');
477
+ addNeuronRows(this.db.prepare(`
478
+ SELECT DISTINCT neuron_id
479
+ FROM task_branch_entries
480
+ WHERE task_id IN (${placeholders})
481
+ AND neuron_id IS NOT NULL
482
+ ORDER BY created_at DESC
483
+ LIMIT ?
484
+ `).all(...Array.from(taskIds), limit));
485
+ }
486
+ if (clusterIds.size > 0) {
487
+ const placeholders = Array.from(clusterIds).map(() => '?').join(', ');
488
+ addNeuronRows(this.db.prepare(`
489
+ SELECT DISTINCT neuron_id
490
+ FROM event_cluster_entries
491
+ WHERE cluster_id IN (${placeholders})
492
+ AND neuron_id IS NOT NULL
493
+ ORDER BY created_at DESC
494
+ LIMIT ?
495
+ `).all(...Array.from(clusterIds), limit));
496
+ }
497
+ return {
498
+ branchIds: Array.from(branchIds).slice(0, limit),
499
+ taskIds: Array.from(taskIds).slice(0, limit),
500
+ clusterIds: Array.from(clusterIds).slice(0, limit),
501
+ neuronIds: Array.from(neuronIds).slice(0, limit)
502
+ };
503
+ }
504
+ collectNavigationFromNeuronIds(input) {
505
+ const limit = input.limit ?? 120;
506
+ const siblingDepth = Math.max(0, input.siblingDepth ?? 1);
507
+ if (input.neuronIds.length === 0) {
508
+ return { branchIds: [], taskIds: [], clusterIds: [], neuronIds: [] };
509
+ }
510
+ const branchIds = new Set();
511
+ const taskIds = new Set();
512
+ const clusterIds = new Set();
513
+ const neuronIds = new Set(input.neuronIds);
514
+ const placeholders = input.neuronIds.map(() => '?').join(', ');
515
+ const branchRows = this.db.prepare(`
516
+ SELECT DISTINCT be.branch_id
517
+ FROM branch_entries be
518
+ JOIN project_branches pb ON pb.branch_id = be.branch_id
519
+ WHERE be.neuron_id IN (${placeholders})
520
+ AND (? IS NULL OR pb.project_id = ?)
521
+ ORDER BY be.created_at DESC
522
+ LIMIT ?
523
+ `).all(...input.neuronIds, input.projectId || null, input.projectId || null, limit);
524
+ for (const row of branchRows)
525
+ branchIds.add(row.branch_id);
526
+ const taskRows = this.db.prepare(`
527
+ SELECT DISTINCT tbe.task_id
528
+ FROM task_branch_entries tbe
529
+ JOIN task_branches tb ON tb.task_id = tbe.task_id
530
+ WHERE tbe.neuron_id IN (${placeholders})
531
+ AND (? IS NULL OR tb.project_id = ?)
532
+ ORDER BY tbe.created_at DESC
533
+ LIMIT ?
534
+ `).all(...input.neuronIds, input.projectId || null, input.projectId || null, limit);
535
+ for (const row of taskRows)
536
+ taskIds.add(row.task_id);
537
+ const clusterRows = this.db.prepare(`
538
+ SELECT DISTINCT ece.cluster_id
539
+ FROM event_cluster_entries ece
540
+ JOIN event_clusters ec ON ec.cluster_id = ece.cluster_id
541
+ WHERE ece.neuron_id IN (${placeholders})
542
+ AND (? IS NULL OR ec.project_id = ?)
543
+ ORDER BY ece.created_at DESC
544
+ LIMIT ?
545
+ `).all(...input.neuronIds, input.projectId || null, input.projectId || null, limit);
546
+ for (const row of clusterRows)
547
+ clusterIds.add(row.cluster_id);
548
+ if (branchIds.size > 0 && siblingDepth > 0) {
549
+ const frontier = Array.from(branchIds);
550
+ const visited = new Set(frontier);
551
+ for (let depth = 0; depth < siblingDepth; depth += 1) {
552
+ const next = [];
553
+ for (const branchId of frontier) {
554
+ const linked = this.db.prepare(`
555
+ SELECT parent_branch_id, child_branch_id
556
+ FROM branch_links
557
+ WHERE parent_branch_id = ? OR child_branch_id = ?
558
+ `).all(branchId, branchId);
559
+ for (const row of linked) {
560
+ for (const candidate of [row.parent_branch_id, row.child_branch_id]) {
561
+ if (visited.has(candidate))
562
+ continue;
563
+ visited.add(candidate);
564
+ branchIds.add(candidate);
565
+ next.push(candidate);
566
+ }
567
+ }
568
+ }
569
+ frontier.splice(0, frontier.length, ...next);
570
+ if (frontier.length === 0)
571
+ break;
572
+ }
573
+ }
574
+ if (branchIds.size > 0) {
575
+ const placeholders2 = Array.from(branchIds).map(() => '?').join(', ');
576
+ const rows = this.db.prepare(`
577
+ SELECT DISTINCT neuron_id
578
+ FROM branch_entries
579
+ WHERE branch_id IN (${placeholders2})
580
+ AND neuron_id IS NOT NULL
581
+ ORDER BY created_at DESC
582
+ LIMIT ?
583
+ `).all(...Array.from(branchIds), limit);
584
+ for (const row of rows) {
585
+ if (row.neuron_id)
586
+ neuronIds.add(row.neuron_id);
587
+ if (neuronIds.size >= limit)
588
+ break;
589
+ }
590
+ }
591
+ return {
592
+ branchIds: Array.from(branchIds).slice(0, limit),
593
+ taskIds: Array.from(taskIds).slice(0, limit),
594
+ clusterIds: Array.from(clusterIds).slice(0, limit),
595
+ neuronIds: Array.from(neuronIds).slice(0, limit)
596
+ };
597
+ }
598
+ collectTemporalContext(input) {
599
+ const limit = input.limit ?? 120;
600
+ const bucketType = input.preferredBucketType ?? 'day';
601
+ const rows = this.db.prepare(`
602
+ SELECT tb.bucket_id, tb.label, tbe.neuron_id
603
+ FROM time_bucket_entries tbe
604
+ JOIN time_buckets tb ON tb.bucket_id = tbe.bucket_id
605
+ WHERE tb.bucket_type = ?
606
+ AND (? IS NULL OR tbe.created_at >= ?)
607
+ AND (? IS NULL OR tbe.created_at <= ?)
608
+ ORDER BY tb.bucket_start DESC, tbe.created_at DESC
609
+ LIMIT ?
610
+ `).all(bucketType, input.startTime ?? null, input.startTime ?? null, input.endTime ?? null, input.endTime ?? null, limit * 4);
611
+ const bucketIds = [];
612
+ const bucketLabels = [];
613
+ const neuronIds = [];
614
+ const seenBuckets = new Set();
615
+ const seenNeurons = new Set();
616
+ for (const row of rows) {
617
+ if (!seenBuckets.has(row.bucket_id)) {
618
+ seenBuckets.add(row.bucket_id);
619
+ bucketIds.push(row.bucket_id);
620
+ bucketLabels.push(row.label);
621
+ }
622
+ if (row.neuron_id && !seenNeurons.has(row.neuron_id)) {
623
+ seenNeurons.add(row.neuron_id);
624
+ neuronIds.push(row.neuron_id);
625
+ }
626
+ if (neuronIds.length >= limit && bucketIds.length >= Math.min(limit, 12))
627
+ break;
628
+ }
629
+ return {
630
+ bucketType,
631
+ bucketIds: bucketIds.slice(0, limit),
632
+ bucketLabels: bucketLabels.slice(0, 12),
633
+ neuronIds: neuronIds.slice(0, limit)
634
+ };
635
+ }
636
+ getTimeBucketEntryCount(bucketType, start) {
637
+ const bucketId = `${bucketType}:${start}`;
638
+ const row = this.db.prepare(`
639
+ SELECT COUNT(*) AS count FROM time_bucket_entries WHERE bucket_id = ?
640
+ `).get(bucketId);
641
+ return row?.count || 0;
642
+ }
643
+ getMaterializedMembershipCount() {
644
+ const row = this.db.prepare(`SELECT COUNT(*) AS count FROM topology_membership`).get();
645
+ return row?.count || 0;
646
+ }
647
+ upsertMembership(neuronId, projectId, dimensionType, dimensionKey, title, createdAt) {
648
+ this.db.prepare(`
649
+ INSERT OR IGNORE INTO topology_membership (
650
+ neuron_id, project_id, dimension_type, dimension_key, title, created_at
651
+ ) VALUES (?, ?, ?, ?, ?, ?)
652
+ `).run(neuronId, projectId || null, dimensionType, dimensionKey, title || null, createdAt);
653
+ }
654
+ close() {
655
+ this.db.close();
656
+ }
657
+ }
@@ -0,0 +1,22 @@
1
+ import type { MemoryEvent } from '../types/index.js';
2
+ import { MemoryGraph } from '../core/MemoryGraph.js';
3
+ import { EventStore } from './EventStore.js';
4
+ import type { IVectorStore } from './IVectorStore.js';
5
+ /**
6
+ * 基于 memory_events 的最小向量投影器。
7
+ * 目标:
8
+ * - 启动时优先 replay 增量事件
9
+ * - 只有在 checkpoint 不可信时才 full rebuild
10
+ */
11
+ export declare class VectorProjector {
12
+ private eventStore;
13
+ private memoryGraph;
14
+ private vectorStore;
15
+ private projectionName;
16
+ constructor(eventStore: EventStore, memoryGraph: MemoryGraph, vectorStore: IVectorStore, projectionName?: string);
17
+ bootstrap(): Promise<void>;
18
+ fullRebuild(reason: string): Promise<void>;
19
+ replay(events: MemoryEvent[], previousRebuildAt?: number): Promise<void>;
20
+ private applyEvent;
21
+ }
22
+ //# sourceMappingURL=VectorProjector.d.ts.map