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,525 @@
1
+ import { EN_ENTITY_TYPE_TERMS, EN_ISSUE_KEYWORDS, EN_ISSUE_QUALIFIERS, EN_LONG_TERM_SIGNAL_TERMS, EN_PENDING_PATTERNS, EN_REFERENCE_SIGNALS, EN_RELATION_PHRASES, EN_SHORT_REPLY_BINDING } from './language-packs/en.js';
2
+ import { ZH_ENTITY_TYPE_TERMS, ZH_ISSUE_KEYWORDS, ZH_ISSUE_QUALIFIERS, ZH_LONG_TERM_SIGNAL_TERMS, ZH_PENDING_PATTERNS, ZH_REFERENCE_SIGNALS, ZH_RELATION_PHRASES, ZH_SHORT_REPLY_BINDING } from './language-packs/zh.js';
3
+ export const ENTITY_TYPE_LEXICON = {
4
+ device: [...ZH_ENTITY_TYPE_TERMS.device, ...EN_ENTITY_TYPE_TERMS.device],
5
+ project: [...ZH_ENTITY_TYPE_TERMS.project, ...EN_ENTITY_TYPE_TERMS.project],
6
+ person: [...ZH_ENTITY_TYPE_TERMS.person, ...EN_ENTITY_TYPE_TERMS.person],
7
+ brand: [...ZH_ENTITY_TYPE_TERMS.brand, ...EN_ENTITY_TYPE_TERMS.brand],
8
+ issue: [...ZH_ENTITY_TYPE_TERMS.issue, ...EN_ENTITY_TYPE_TERMS.issue]
9
+ };
10
+ export const RELATION_PHRASE_MAP = {
11
+ owns: [...ZH_RELATION_PHRASES.owns, ...EN_RELATION_PHRASES.owns],
12
+ purchased: [...ZH_RELATION_PHRASES.purchased, ...EN_RELATION_PHRASES.purchased],
13
+ has_issue: [...ZH_RELATION_PHRASES.has_issue, ...EN_RELATION_PHRASES.has_issue],
14
+ worked_on: [...ZH_RELATION_PHRASES.worked_on, ...EN_RELATION_PHRASES.worked_on],
15
+ likes: [...ZH_RELATION_PHRASES.likes, ...EN_RELATION_PHRASES.likes],
16
+ dislikes: [...ZH_RELATION_PHRASES.dislikes, ...EN_RELATION_PHRASES.dislikes],
17
+ approved: ['user approved'],
18
+ rejected: ['user rejected']
19
+ };
20
+ export const REFERENCE_SIGNAL_LEXICON = {
21
+ new_instance_signal: [...ZH_REFERENCE_SIGNALS.newInstance, ...EN_REFERENCE_SIGNALS.newInstance],
22
+ update_instance_signal: [...ZH_REFERENCE_SIGNALS.updateInstance, ...EN_REFERENCE_SIGNALS.updateInstance],
23
+ ambiguous_reference_signal: [...ZH_REFERENCE_SIGNALS.ambiguous, ...EN_REFERENCE_SIGNALS.ambiguous]
24
+ };
25
+ export const REFERENCE_SYNONYMS = {
26
+ latest: [...ZH_REFERENCE_SIGNALS.latest, ...EN_REFERENCE_SIGNALS.latest],
27
+ previous: [...ZH_REFERENCE_SIGNALS.previous, ...EN_REFERENCE_SIGNALS.previous]
28
+ };
29
+ export const ENTITY_INSTANCE_SIGNAL_LEXICON = {
30
+ strongNew: REFERENCE_SIGNAL_LEXICON.new_instance_signal,
31
+ strongUpdate: REFERENCE_SIGNAL_LEXICON.update_instance_signal
32
+ };
33
+ export const INTERACTION_EVENT_PREFIX = {
34
+ approved: 'user approved',
35
+ rejected: 'user rejected',
36
+ entitySelection: 'user selected'
37
+ };
38
+ export const SHORT_REPLY_BINDING_LEXICON = {
39
+ approved: [...ZH_SHORT_REPLY_BINDING.approved, ...EN_SHORT_REPLY_BINDING.approved],
40
+ rejected: [...ZH_SHORT_REPLY_BINDING.rejected, ...EN_SHORT_REPLY_BINDING.rejected],
41
+ entitySelection: [
42
+ ...REFERENCE_SYNONYMS.latest,
43
+ ...REFERENCE_SYNONYMS.previous,
44
+ ...ZH_SHORT_REPLY_BINDING.entitySelection,
45
+ ...EN_SHORT_REPLY_BINDING.entitySelection
46
+ ]
47
+ };
48
+ export const PENDING_BINDING_PROMPT_PATTERNS = {
49
+ action: [
50
+ ...ZH_PENDING_PATTERNS.action,
51
+ ...EN_PENDING_PATTERNS.action
52
+ ],
53
+ entity: [
54
+ ...ZH_PENDING_PATTERNS.entity,
55
+ ...EN_PENDING_PATTERNS.entity
56
+ ]
57
+ };
58
+ export const LONG_TERM_MEMORY_SIGNAL_TERMS = [
59
+ ...ZH_LONG_TERM_SIGNAL_TERMS,
60
+ ...EN_LONG_TERM_SIGNAL_TERMS
61
+ ];
62
+ export const ISSUE_FAMILY_LEXICON = {
63
+ connectivity_issue: {
64
+ keywords: [...ZH_ISSUE_KEYWORDS.connectivity, ...EN_ISSUE_KEYWORDS.connectivity]
65
+ },
66
+ sound_issue: {
67
+ keywords: [...ZH_ISSUE_KEYWORDS.sound, ...EN_ISSUE_KEYWORDS.sound]
68
+ },
69
+ performance_issue: {
70
+ keywords: [...ZH_ISSUE_KEYWORDS.performance, ...EN_ISSUE_KEYWORDS.performance]
71
+ },
72
+ generic_issue: {
73
+ keywords: ['有问题', '什么问题', 'issue', '故障', '异常', '坏了']
74
+ }
75
+ };
76
+ export const ISSUE_QUALIFIER_LEXICON = {
77
+ left: [...ZH_ISSUE_QUALIFIERS.left, ...EN_ISSUE_QUALIFIERS.left],
78
+ right: [...ZH_ISSUE_QUALIFIERS.right, ...EN_ISSUE_QUALIFIERS.right]
79
+ };
80
+ const DEVICE_SURFACE_PATTERN = /([A-Za-z0-9._+-]+(?:\s+[A-Za-z0-9._+-]+){0,4}\s+(?:headset|monitor|keyboard|mouse|earbuds?|earphones?)|bluetooth\s+(?:earbuds?|earphones?)|[A-Za-z0-9._+-]+(?:耳机|键盘|鼠标|显示器)|[\u4e00-\u9fa5A-Za-z0-9._+-]+(?:耳机|键盘|鼠标|显示器)|耳机|键盘|鼠标|显示器|headset|monitor|keyboard|mouse|earbuds?|earphones?)/gi;
81
+ const PROJECT_SURFACE_PATTERN = /([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,5}\s+(?:project|sdk|library|platform|api|repository|repo)|[\u4e00-\u9fa5A-Za-z0-9._-]+项目)/gi;
82
+ function collapseSurfaceWhitespace(value) {
83
+ return value.trim().replace(/\s+/g, ' ');
84
+ }
85
+ function stripRepeatedPrefixes(value, patterns) {
86
+ let current = collapseSurfaceWhitespace(value);
87
+ for (let index = 0; index < 6; index += 1) {
88
+ let changed = false;
89
+ for (const pattern of patterns) {
90
+ const next = current.replace(pattern, '').trim();
91
+ if (next !== current) {
92
+ current = collapseSurfaceWhitespace(next);
93
+ changed = true;
94
+ }
95
+ }
96
+ if (!changed)
97
+ break;
98
+ }
99
+ return current;
100
+ }
101
+ function escapeLexiconRegex(value) {
102
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
103
+ }
104
+ function cleanDeviceSurfaceCandidate(candidate, fullText) {
105
+ const raw = collapseSurfaceWhitespace(candidate);
106
+ const stripped = stripRepeatedPrefixes(candidate, [
107
+ /^(?:my|our|the|an?|another)\s+/i,
108
+ /^(?:一个|一副|一台|一部|个|副|台|部)\s*/i,
109
+ /^(?:i\s+own(?:\s+(?:a|an))?|i\s+bought(?:\s+(?:a|an|another))?(?:\s+new)?|i\s+have(?:\s+(?:a|an))?|i\s+had(?:\s+(?:a|an))?|i\s+got(?:\s+(?:a|an))?(?:\s+new)?|i\s+used)\s+/i,
110
+ /^(?:我(?:又)?买了(?:一个|一副)?|我有一个|我有个|我的|用了)\s*/i,
111
+ /^(?:the\s+previous|previous|the\s+new|new|the\s+old|old|this|that)\s+/i,
112
+ /^(?:前一个|之前那个|上一个|新的那个|新买的|旧的那个|旧的|旧|这个|那个)\s*/i
113
+ ]);
114
+ if (!stripped)
115
+ return undefined;
116
+ if (/\bproject\b|项目/i.test(stripped))
117
+ return undefined;
118
+ if (/^(?:耳机|键盘|鼠标|显示器|bluetooth\s+(?:earbuds?|earphones?)|earbuds?|earphones?|keyboard|mouse|monitor|device|headset)$/i.test(stripped)) {
119
+ if (fullText) {
120
+ const hasOwnershipLead = /(?:i\s+own|i\s+bought|i\s+have|i\s+had|i\s+got|my\b|我(?:又)?买了|我有一个|我有个|我的)/i.test(fullText);
121
+ if (hasOwnershipLead)
122
+ return stripped;
123
+ const escaped = escapeLexiconRegex(stripped);
124
+ if (new RegExp(`(?:the\\s+previous|previous|the\\s+new|new|the\\s+old|old|this|that)\\s+${escaped}\\b`, 'i').test(fullText)
125
+ || new RegExp(`(?:前一个|之前那个|上一个|新的那个|新买的|旧的那个|旧的|旧|这个|那个)\\s*${escaped}`, 'i').test(fullText)) {
126
+ return undefined;
127
+ }
128
+ }
129
+ const hadRelativeLead = /^(?:the previous|previous|the new|new|the old|old|this|that|前一个|之前那个|上一个|新的那个|新买的|旧的那个|旧的|旧|这个|那个)\b/i.test(raw);
130
+ return hadRelativeLead ? undefined : stripped;
131
+ }
132
+ return stripped;
133
+ }
134
+ function cleanProjectSurfaceCandidate(candidate) {
135
+ const stripped = stripRepeatedPrefixes(candidate, [
136
+ /^(?:are\s+building(?:\s+(?:a|an|the))?)\s+/i,
137
+ /^(?:the|an?|this|that)\s+/i,
138
+ /^(?:for|in|during|on)\s+/i,
139
+ /^(?:we\s+are\s+building|we're\s+building|worked on|working on|doing|building|developing|maintaining|shipping)\s+/i,
140
+ /^(?:而且)?(?:还)?(?:做过|参与过|负责过|在做|在开发|开发|维护|跟进)\s*/i,
141
+ /^(?:the\s+previous|previous|the\s+new|new|old)\s+/i,
142
+ /^(?:前一个|上一个|新的|旧的|这个|那个)\s*/i
143
+ ]);
144
+ if (!stripped)
145
+ return undefined;
146
+ if (/^(?:项目|project|sdk|library|platform|api|repository|repo)$/i.test(stripped))
147
+ return undefined;
148
+ return stripped;
149
+ }
150
+ export function normalizeLexiconText(text) {
151
+ return text
152
+ .trim()
153
+ .replace(/蓝芽/g, '蓝牙')
154
+ .replace(/藍牙/g, '蓝牙')
155
+ .replace(/耳機/g, '耳机')
156
+ .replace(/断联/g, '断连')
157
+ .replace(/斷連/g, '断连')
158
+ .replace(/雜音/g, '杂音')
159
+ .replace(/\bleft\s+disconnect\b/gi, 'left ear disconnect')
160
+ .replace(/\bright\s+disconnect\b/gi, 'right ear disconnect')
161
+ .replace(/\bleft ear\b/gi, '左耳')
162
+ .replace(/\bright ear\b/gi, '右耳')
163
+ .replace(/\s+/g, ' ')
164
+ .trim();
165
+ }
166
+ export function includesLexiconTerm(text, terms) {
167
+ return terms.some((term) => text.toLowerCase().includes(term.toLowerCase()));
168
+ }
169
+ function normalizeShortReplyText(text) {
170
+ return normalizeLexiconText(text)
171
+ .toLowerCase()
172
+ .replace(/[,,]/g, ' ')
173
+ .replace(/[。.!!??]/g, ' ')
174
+ .replace(/\s+/g, ' ')
175
+ .trim();
176
+ }
177
+ export function inferEntityTypeFromText(text) {
178
+ const lowered = text.toLowerCase();
179
+ const orderedTypes = ['device', 'project', 'brand', 'issue', 'person'];
180
+ return orderedTypes.find((type) => includesLexiconTerm(lowered, ENTITY_TYPE_LEXICON[type]));
181
+ }
182
+ export function extractRelativeReferences(text) {
183
+ const lexiconRefs = [
184
+ ...REFERENCE_SYNONYMS.latest,
185
+ ...REFERENCE_SYNONYMS.previous,
186
+ ...REFERENCE_SIGNAL_LEXICON.ambiguous_reference_signal
187
+ ].filter((ref) => text.toLowerCase().includes(ref.toLowerCase()));
188
+ const patternRefs = Array.from(normalizeLexiconText(text).matchAll(/((?:之前那个|前一个|上一个|新的那个|新的项目|新买的|新项目|旧的那个|旧的|那个|这个|它)(?:[\u4e00-\u9fa5A-Za-z0-9._ -]{0,6}(?:耳机|键盘|鼠标|显示器|项目|device|project)|(?:耳机|键盘|鼠标|显示器|项目|device|project))?)/gi)).map((match) => match[1].trim());
189
+ const englishPatternRefs = Array.from(normalizeLexiconText(text).matchAll(/((?:the new one|new one|this one|the current one|the previous one|previous one|the old one|old one|that one|this project|that project|the new project|new project|the previous project|previous project|old project|the previous headset|previous headset|the new headset|new headset|the previous monitor|previous monitor|the new monitor|new monitor|the previous keyboard|previous keyboard|the new keyboard|new keyboard|the previous mouse|previous mouse|the new mouse|new mouse)(?:\s+(?:bluetooth|wireless|current|new|old))?(?:\s+(?:headset|monitor|keyboard|mouse|device|project|earbuds))?)/gi)).map((match) => match[1].trim());
190
+ return Array.from(new Set([...lexiconRefs, ...patternRefs, ...englishPatternRefs]));
191
+ }
192
+ export function classifyIssueFamilies(text) {
193
+ const lowered = text.toLowerCase();
194
+ const families = Object.entries(ISSUE_FAMILY_LEXICON)
195
+ .filter(([, descriptor]) => includesLexiconTerm(lowered, descriptor.keywords))
196
+ .map(([family]) => family);
197
+ return families.length > 0 ? families : [];
198
+ }
199
+ export function detectIssueQualifier(text) {
200
+ const lowered = text.toLowerCase();
201
+ if (includesLexiconTerm(lowered, ISSUE_QUALIFIER_LEXICON.left))
202
+ return 'left';
203
+ if (includesLexiconTerm(lowered, ISSUE_QUALIFIER_LEXICON.right))
204
+ return 'right';
205
+ return 'generic';
206
+ }
207
+ export function inferIssueValue(text) {
208
+ const families = classifyIssueFamilies(text);
209
+ if (families.includes('connectivity_issue'))
210
+ return '断连';
211
+ if (families.includes('sound_issue'))
212
+ return '杂音';
213
+ if (families.includes('performance_issue'))
214
+ return '卡顿';
215
+ return '问题';
216
+ }
217
+ export function hasIssueSignal(text) {
218
+ return classifyIssueFamilies(text).length > 0;
219
+ }
220
+ export function isStrongNewInstanceSignal(text) {
221
+ return includesLexiconTerm(normalizeLexiconText(text), ENTITY_INSTANCE_SIGNAL_LEXICON.strongNew);
222
+ }
223
+ export function isStrongUpdateInstanceSignal(text) {
224
+ return includesLexiconTerm(normalizeLexiconText(text), ENTITY_INSTANCE_SIGNAL_LEXICON.strongUpdate);
225
+ }
226
+ export function matchBindingReplyIntent(text) {
227
+ const raw = normalizeLexiconText(text);
228
+ if (/[??]/.test(raw) || raw.length > 24) {
229
+ return null;
230
+ }
231
+ const normalized = normalizeShortReplyText(text);
232
+ const selectedReference = SHORT_REPLY_BINDING_LEXICON.entitySelection.find((term) => normalized.includes(term.toLowerCase()));
233
+ if (selectedReference) {
234
+ return { kind: 'entity_selection', reference: selectedReference };
235
+ }
236
+ const rejected = SHORT_REPLY_BINDING_LEXICON.rejected.find((term) => normalized.includes(term.toLowerCase()));
237
+ if (rejected) {
238
+ return { kind: 'rejected' };
239
+ }
240
+ const approved = SHORT_REPLY_BINDING_LEXICON.approved.find((term) => normalized === term.toLowerCase());
241
+ if (approved) {
242
+ return { kind: 'approved' };
243
+ }
244
+ return null;
245
+ }
246
+ export function isBindFirstShortReply(text) {
247
+ return matchBindingReplyIntent(text) !== null;
248
+ }
249
+ export function detectPendingBindingPromptType(text) {
250
+ const normalized = normalizeLexiconText(text);
251
+ if (PENDING_BINDING_PROMPT_PATTERNS.action.some((pattern) => pattern.test(normalized)))
252
+ return 'action';
253
+ const hasRelativeReferences = extractRelativeReferences(normalized).length > 0;
254
+ const hasEntityPromptPattern = PENDING_BINDING_PROMPT_PATTERNS.entity.some((pattern) => pattern.test(normalized));
255
+ if (hasEntityPromptPattern && hasRelativeReferences)
256
+ return 'entity';
257
+ if (/\?$|?$/.test(normalized))
258
+ return 'question';
259
+ return null;
260
+ }
261
+ export function hasLongTermMemorySignal(text) {
262
+ const normalized = normalizeLexiconText(text);
263
+ return Boolean(inferEntityTypeFromText(normalized)
264
+ || hasIssueSignal(normalized)
265
+ || isOwnershipSignal(normalized)
266
+ || isPurchaseSignal(normalized)
267
+ || isWorkedOnSignal(normalized)
268
+ || extractPreference(normalized)
269
+ || includesLexiconTerm(normalized, LONG_TERM_MEMORY_SIGNAL_TERMS));
270
+ }
271
+ export function extractIssueHints(text) {
272
+ const normalized = normalizeLexiconText(text);
273
+ const segments = normalized
274
+ .split(/[,。,.!?!?]/)
275
+ .map((segment) => segment.trim())
276
+ .filter(Boolean);
277
+ const hints = segments.filter((segment) => hasIssueSignal(segment));
278
+ return hints.length > 0 ? hints : (hasIssueSignal(normalized) ? [normalized] : []);
279
+ }
280
+ export function extractLatestIssueReference(text) {
281
+ const normalized = normalizeLexiconText(text);
282
+ const segments = normalized
283
+ .split(/[,。,.!?!?]/)
284
+ .map((segment) => segment.trim())
285
+ .filter(Boolean)
286
+ .filter((segment) => hasIssueSignal(segment));
287
+ const target = segments[segments.length - 1];
288
+ if (!target)
289
+ return null;
290
+ const qualifier = detectIssueQualifier(target);
291
+ const explicitDevice = extractDeviceCandidate(target);
292
+ const explicitProject = extractProjectCandidate(target);
293
+ const reference = qualifier === 'left'
294
+ ? '左耳'
295
+ : qualifier === 'right'
296
+ ? '右耳'
297
+ : explicitDevice
298
+ || explicitProject
299
+ || extractRelativeReferences(target)[0]
300
+ || 'device';
301
+ return {
302
+ reference,
303
+ issue: inferIssueValue(target)
304
+ };
305
+ }
306
+ export function extractIssueRankingTokensFromText(text) {
307
+ const normalized = normalizeLexiconText(text);
308
+ const tokens = [];
309
+ const qualifier = detectIssueQualifier(normalized);
310
+ if (qualifier === 'left')
311
+ tokens.push('left-ear');
312
+ if (qualifier === 'right')
313
+ tokens.push('right-ear');
314
+ for (const family of classifyIssueFamilies(normalized)) {
315
+ if (family === 'connectivity_issue')
316
+ tokens.push('disconnect');
317
+ if (family === 'sound_issue')
318
+ tokens.push('noise');
319
+ if (family === 'performance_issue')
320
+ tokens.push('performance');
321
+ }
322
+ return Array.from(new Set(tokens));
323
+ }
324
+ export function extractDeviceCandidate(text) {
325
+ const normalized = normalizeLexiconText(text);
326
+ const targetedPatterns = [
327
+ /(?:i\s+own|i\s+have|i\s+got|i\s+bought(?:\s+(?:a|an|another))?(?:\s+new)?|my)\s+(?:an?\s+|the\s+)?([A-Za-z0-9._+-]+(?:\s+[A-Za-z0-9._+-]+){0,4}\s+(?:earphones?|earbuds?|headset|monitor|keyboard|mouse|device))\b/i,
328
+ /(?:我(?:有|买了)|我的)\s*([\u4e00-\u9fa5A-Za-z0-9._+-]+(?:耳机|键盘|鼠标|显示器))/i,
329
+ /\b([A-Za-z0-9._+-]+(?:\s+[A-Za-z0-9._+-]+){0,3}\s+(?:earphones?|earbuds?|headset|monitor|keyboard|mouse))\b/i
330
+ ];
331
+ for (const pattern of targetedPatterns) {
332
+ const matched = normalized.match(pattern)?.[1];
333
+ const candidate = matched ? cleanDeviceSurfaceCandidate(matched, normalized) : undefined;
334
+ if (candidate)
335
+ return candidate;
336
+ }
337
+ const matches = Array.from(normalized.matchAll(DEVICE_SURFACE_PATTERN));
338
+ for (const match of matches) {
339
+ const candidate = cleanDeviceSurfaceCandidate(match[1] || '', normalized);
340
+ if (candidate)
341
+ return candidate;
342
+ }
343
+ return undefined;
344
+ }
345
+ export function extractDeviceAliasCandidates(text) {
346
+ const normalized = normalizeLexiconText(text);
347
+ const candidate = extractDeviceCandidate(normalized);
348
+ if (!candidate)
349
+ return [];
350
+ const aliases = new Set();
351
+ const loweredCandidate = candidate.toLowerCase();
352
+ const nounMatch = loweredCandidate.match(/\b(earphones?|earbuds?|headset|monitor|keyboard|mouse|device)\b/);
353
+ if (nounMatch?.[1])
354
+ aliases.add(nounMatch[1].replace(/s$/i, ''));
355
+ if (/\bbluetooth\b/i.test(candidate))
356
+ aliases.add('bluetooth');
357
+ if (/\bwireless\b/i.test(candidate))
358
+ aliases.add('wireless');
359
+ return Array.from(aliases);
360
+ }
361
+ export function isOwnershipSignal(text) {
362
+ return includesLexiconTerm(text, RELATION_PHRASE_MAP.owns);
363
+ }
364
+ export function extractOwnershipSignals(text) {
365
+ const normalized = normalizeLexiconText(text);
366
+ const matches = normalized.match(/(我有一个[^,。,.!?]+|我有个[^,。,.!?]+|my\s+[^,.!?]+|i own (?:a|an)?\s*[^,.!?]+|i have (?:a|an)?\s*[^,.!?]+)/gi) || [];
367
+ return Array.from(new Set(matches.map((match) => match.trim()).filter(Boolean)));
368
+ }
369
+ export function isPurchaseSignal(text) {
370
+ return includesLexiconTerm(text, RELATION_PHRASE_MAP.purchased);
371
+ }
372
+ export function isWorkedOnSignal(text) {
373
+ return includesLexiconTerm(text, RELATION_PHRASE_MAP.worked_on);
374
+ }
375
+ export function extractProjectCandidate(text) {
376
+ const normalized = normalizeLexiconText(text);
377
+ const targetedPatterns = [
378
+ /(?:we\s+are\s+building|we're\s+building|building|developing|working on|maintaining|shipping)\s+(?:an?\s+|the\s+)?([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,5}\s+(?:sdk|library|platform|api|project|repository|repo))\b/i,
379
+ /(?:for|in|during|on)\s+(?:the\s+)?([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,3}\s+project)\b/i,
380
+ /(?:worked on|working on|doing|building|maintaining|shipping)\s+([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,3}\s+project)\b/i,
381
+ /([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,5}\s+(?:sdk|library|platform|api))\b/i,
382
+ /([A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,3}\s+project)\b/i,
383
+ /([\u4e00-\u9fa5A-Za-z0-9._-]+项目)/i
384
+ ];
385
+ for (const pattern of targetedPatterns) {
386
+ const matched = normalized.match(pattern)?.[1];
387
+ const candidate = matched ? cleanProjectSurfaceCandidate(matched) : undefined;
388
+ if (candidate)
389
+ return candidate;
390
+ }
391
+ const matches = Array.from(normalized.matchAll(PROJECT_SURFACE_PATTERN));
392
+ for (const match of matches) {
393
+ const candidate = cleanProjectSurfaceCandidate(match[1] || '');
394
+ if (candidate && !/(?:headset|monitor|keyboard|mouse|earbuds?|耳机|键盘|鼠标|显示器)/i.test(candidate)) {
395
+ return candidate;
396
+ }
397
+ }
398
+ return undefined;
399
+ }
400
+ export function extractProjectLinks(text) {
401
+ const normalized = normalizeLexiconText(text);
402
+ const matches = normalized.match(/[\u4e00-\u9fa5A-Za-z0-9._-]+项目|[A-Za-z0-9._-]+(?:\s+[A-Za-z0-9._-]+){0,5}\s+(?:project|sdk|library|platform|api)/gi) || [];
403
+ return Array.from(new Set(matches
404
+ .map((match) => cleanProjectSurfaceCandidate(match))
405
+ .filter((match) => Boolean(match))));
406
+ }
407
+ export function extractProjectAliasCandidates(text) {
408
+ const normalized = normalizeLexiconText(text);
409
+ const aliases = new Set();
410
+ const projectCandidate = extractProjectCandidate(normalized);
411
+ const patterns = [
412
+ /([\u4e00-\u9fa5A-Za-z0-9._-]+项目|[A-Za-z0-9._-]+\s+project).{0,16}(?:也叫|又叫|别名是|alias|aka|also called|called)\s*([A-Za-z0-9._-]+(?:\s+project)?)/gi,
413
+ /([A-Za-z0-9._-]+(?:\s+project)?).{0,16}(?:就是|is|means)\s*([\u4e00-\u9fa5A-Za-z0-9._-]+项目|[A-Za-z0-9._-]+\s+project)/gi
414
+ ];
415
+ for (const pattern of patterns) {
416
+ for (const match of normalized.matchAll(pattern)) {
417
+ if (match[1])
418
+ aliases.add(match[1].trim());
419
+ if (match[2])
420
+ aliases.add(match[2].trim());
421
+ }
422
+ }
423
+ for (const link of extractProjectLinks(normalized)) {
424
+ aliases.add(link);
425
+ if (link.includes('-'))
426
+ aliases.add(link.replace(/-/g, ' '));
427
+ if (/\s+project$/i.test(link))
428
+ aliases.add(link.replace(/\s+project$/i, ''));
429
+ if (/\s+sdk$/i.test(link) && /\bbluetooth\b/i.test(link))
430
+ aliases.add('bluetooth sdk');
431
+ }
432
+ if (projectCandidate && /\bsdk\b/i.test(projectCandidate)) {
433
+ if (/\bbluetooth\b/i.test(projectCandidate))
434
+ aliases.add('bluetooth sdk');
435
+ if (/\bbluetooth low energy\b/i.test(projectCandidate))
436
+ aliases.add('ble sdk');
437
+ if (/\biot\b/i.test(normalized))
438
+ aliases.add('iot sdk');
439
+ }
440
+ for (const reference of extractRelativeReferences(normalized)) {
441
+ if (/project|项目/i.test(reference))
442
+ aliases.add(reference);
443
+ }
444
+ return Array.from(aliases).filter(Boolean);
445
+ }
446
+ export function extractConditionHints(text) {
447
+ const normalized = normalizeLexiconText(text);
448
+ const matches = normalized.match(/如果[^,。,.!?]+|if\s+[^,.!?]+/gi) || [];
449
+ return Array.from(new Set(matches.map((match) => match.trim()).filter(Boolean)));
450
+ }
451
+ export function extractTemporalHints(text) {
452
+ const normalized = normalizeLexiconText(text);
453
+ const hints = [];
454
+ if (/(今天|today)/i.test(normalized))
455
+ hints.push('today');
456
+ if (/(本周|this week)/i.test(normalized))
457
+ hints.push('this_week');
458
+ if (/(这个月|this month)/i.test(normalized))
459
+ hints.push('this_month');
460
+ if (/(近一年|past year|last year)/i.test(normalized))
461
+ hints.push('past_year');
462
+ if (/(半年|half year|six months)/i.test(normalized))
463
+ hints.push('around_half_year_ago');
464
+ return Array.from(new Set(hints));
465
+ }
466
+ export function extractPreference(text) {
467
+ const matches = Array.from(text.matchAll(/(?<verb>喜欢|I like|讨厌|不喜欢|I dislike)\s*(?<target>[\u4e00-\u9fa5A-Za-z0-9._-]+(?:\s+[\u4e00-\u9fa5A-Za-z0-9._-]+){0,2})/gi));
468
+ const last = matches[matches.length - 1];
469
+ if (!last?.groups?.verb || !last.groups.target)
470
+ return null;
471
+ return {
472
+ kind: /^(讨厌|不喜欢|I dislike)$/i.test(last.groups.verb) ? 'dislike' : 'like',
473
+ target: last.groups.target.trim().replace(/\s+/g, ' ')
474
+ };
475
+ }
476
+ export function extractNegativePreferenceCue(text) {
477
+ const normalized = normalizeLexiconText(text);
478
+ const negative = normalized.match(/(?:一闻到|一看到|看到|听到)?\s*([\u4e00-\u9fa5A-Za-z0-9._-]+(?:\s+[\u4e00-\u9fa5A-Za-z0-9._-]+){0,2})\s*(?:就烦|就讨厌|就难受|就不想碰)/i);
479
+ if (!negative?.[1])
480
+ return null;
481
+ return {
482
+ kind: 'dislike',
483
+ target: negative[1]
484
+ .trim()
485
+ .replace(/^(现在|如今|最近)\s*/i, '')
486
+ .replace(/^(一闻到|一看到|看到|听到)\s*/i, '')
487
+ .replace(/\s+/g, ' ')
488
+ };
489
+ }
490
+ export function extractExplicitNamedEntityCandidate(text) {
491
+ const normalized = normalizeLexiconText(text);
492
+ const explicitNamedDevice = normalized.match(/(?:i\s+bought(?:\s+(?:a|an|another))?(?:\s+new)?|i\s+have(?:\s+(?:a|an))?|i\s+had(?:\s+(?:a|an))?|i\s+got(?:\s+(?:a|an))?(?:\s+new)?|my|买了(?:一个|一副)?|我买了|我有一个|我有个|我的)\s+([A-Za-z][A-Za-z0-9._-]*(?:\s+[A-Za-z0-9._-]+){0,3})(?=\s+(?:for|in|during|on|yesterday|today|earlier|later|project|headset|monitor|keyboard|mouse|earbuds?)\b|[,.!?,。!?]|$)/i);
493
+ const candidate = explicitNamedDevice?.[1]
494
+ ?.trim()
495
+ .replace(/\s+(?:yesterday|today|earlier|later)\.?$/i, '')
496
+ .trim();
497
+ if (!candidate)
498
+ return null;
499
+ if (/^(i like|i dislike)$/i.test(candidate))
500
+ return null;
501
+ return collapseSurfaceWhitespace(candidate);
502
+ }
503
+ export function extractApprovedArchiveProject(text) {
504
+ const normalized = normalizeLexiconText(text);
505
+ const archiveProject = normalized.match(/(?:([\u4e00-\u9fa5A-Za-z0-9._-]+项目|[A-Za-z0-9._-]+\s+project).*(归档|archive))|((归档|archive).{0,12}([\u4e00-\u9fa5A-Za-z0-9._-]+项目|[A-Za-z0-9._-]+\s+project))/i);
506
+ return archiveProject?.[1] || archiveProject?.[5] || null;
507
+ }
508
+ export function inferReferenceType(reference, query) {
509
+ const candidate = `${reference} ${query}`.toLowerCase();
510
+ if (includesLexiconTerm(candidate, ENTITY_TYPE_LEXICON.device))
511
+ return 'device';
512
+ if (includesLexiconTerm(candidate, ENTITY_TYPE_LEXICON.project))
513
+ return 'project';
514
+ return undefined;
515
+ }
516
+ export function isLatestReference(reference) {
517
+ const normalized = reference.toLowerCase();
518
+ return REFERENCE_SYNONYMS.latest.some((item) => item.toLowerCase() === normalized)
519
+ || /\b(the\s+)?new\s+(headset|monitor|keyboard|mouse|project)\b/i.test(reference);
520
+ }
521
+ export function isPreviousReference(reference) {
522
+ const normalized = reference.toLowerCase();
523
+ return REFERENCE_SYNONYMS.previous.some((item) => item.toLowerCase() === normalized)
524
+ || /\b(the\s+)?previous\s+(headset|monitor|keyboard|mouse|project)\b/i.test(reference);
525
+ }
@@ -0,0 +1,42 @@
1
+ export declare const EN_ENTITY_TYPE_TERMS: {
2
+ readonly device: readonly ["keyboard", "mouse", "monitor", "device", "earbuds", "bluetooth earbuds", "headset", "earphone", "earphones"];
3
+ readonly project: readonly ["project", "repo", "repository", "sdk", "library", "platform", "api"];
4
+ readonly person: readonly ["they", "user"];
5
+ readonly brand: readonly ["apple", "sony", "logitech", "razer", "dell", "brand", "framework", "library"];
6
+ readonly issue: readonly ["issue", "bug"];
7
+ };
8
+ export declare const EN_RELATION_PHRASES: {
9
+ readonly owns: readonly ["i own", "i have", "i got", "my"];
10
+ readonly purchased: readonly ["i bought", "i bought another", "i bought a new", "i got a new"];
11
+ readonly has_issue: readonly ["issue", "disconnect", "noise", "lag", "slow", "connection lost", "flicker"];
12
+ readonly worked_on: readonly ["worked on", "working on", "building", "we are building", "we're building", "developing", "maintaining", "shipping"];
13
+ readonly likes: readonly ["i like"];
14
+ readonly dislikes: readonly ["i dislike"];
15
+ };
16
+ export declare const EN_REFERENCE_SIGNALS: {
17
+ readonly newInstance: readonly ["i bought another", "i got a new"];
18
+ readonly updateInstance: readonly ["that one", "the old one", "the new one", "the previous one", "previous one", "new one", "this project", "the new project", "the previous project"];
19
+ readonly ambiguous: readonly ["it", "this one", "that thing", "this project", "that project"];
20
+ readonly latest: readonly ["the new one", "new one", "this one", "the current one", "this project", "the new project", "new project", "that project"];
21
+ readonly previous: readonly ["the previous one", "previous one", "the old one", "old one", "the previous project", "previous project", "old project"];
22
+ };
23
+ export declare const EN_SHORT_REPLY_BINDING: {
24
+ readonly approved: readonly ["yes", "ok", "okay", "sounds good", "continue", "go on"];
25
+ readonly rejected: readonly ["no", "don't", "don't do that", "never mind", "forget it"];
26
+ readonly entitySelection: readonly ["that one", "this one", "the new one", "new one", "the previous one", "previous one", "the old one", "old one"];
27
+ };
28
+ export declare const EN_PENDING_PATTERNS: {
29
+ readonly action: readonly [RegExp, RegExp, RegExp];
30
+ readonly entity: readonly [RegExp, RegExp];
31
+ };
32
+ export declare const EN_LONG_TERM_SIGNAL_TERMS: readonly ["workflow", "api", "database", "project", "issue", "prefer", "like", "dislike", "decide", "using", "fixed", "gave away"];
33
+ export declare const EN_ISSUE_KEYWORDS: {
34
+ readonly connectivity: readonly ["disconnect", "connection lost"];
35
+ readonly sound: readonly ["noise"];
36
+ readonly performance: readonly ["lag", "slow", "flicker"];
37
+ };
38
+ export declare const EN_ISSUE_QUALIFIERS: {
39
+ readonly left: readonly ["left ear"];
40
+ readonly right: readonly ["right ear"];
41
+ };
42
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1,41 @@
1
+ export const EN_ENTITY_TYPE_TERMS = {
2
+ device: ['keyboard', 'mouse', 'monitor', 'device', 'earbuds', 'bluetooth earbuds', 'headset', 'earphone', 'earphones'],
3
+ project: ['project', 'repo', 'repository', 'sdk', 'library', 'platform', 'api'],
4
+ person: ['they', 'user'],
5
+ brand: ['apple', 'sony', 'logitech', 'razer', 'dell', 'brand', 'framework', 'library'],
6
+ issue: ['issue', 'bug']
7
+ };
8
+ export const EN_RELATION_PHRASES = {
9
+ owns: ['i own', 'i have', 'i got', 'my'],
10
+ purchased: ['i bought', 'i bought another', 'i bought a new', 'i got a new'],
11
+ has_issue: ['issue', 'disconnect', 'noise', 'lag', 'slow', 'connection lost', 'flicker'],
12
+ worked_on: ['worked on', 'working on', 'building', 'we are building', "we're building", 'developing', 'maintaining', 'shipping'],
13
+ likes: ['i like'],
14
+ dislikes: ['i dislike']
15
+ };
16
+ export const EN_REFERENCE_SIGNALS = {
17
+ newInstance: ['i bought another', 'i got a new'],
18
+ updateInstance: ['that one', 'the old one', 'the new one', 'the previous one', 'previous one', 'new one', 'this project', 'the new project', 'the previous project'],
19
+ ambiguous: ['it', 'this one', 'that thing', 'this project', 'that project'],
20
+ latest: ['the new one', 'new one', 'this one', 'the current one', 'this project', 'the new project', 'new project', 'that project'],
21
+ previous: ['the previous one', 'previous one', 'the old one', 'old one', 'the previous project', 'previous project', 'old project']
22
+ };
23
+ export const EN_SHORT_REPLY_BINDING = {
24
+ approved: ['yes', 'ok', 'okay', 'sounds good', 'continue', 'go on'],
25
+ rejected: ['no', "don't", "don't do that", 'never mind', 'forget it'],
26
+ entitySelection: ['that one', 'this one', 'the new one', 'new one', 'the previous one', 'previous one', 'the old one', 'old one']
27
+ };
28
+ export const EN_PENDING_PATTERNS = {
29
+ action: [/\bshould\b/i, /\bdo you want\b/i, /\bwant me to\b/i],
30
+ entity: [/\bwhich\b/i, /\bor\b/i]
31
+ };
32
+ export const EN_LONG_TERM_SIGNAL_TERMS = ['workflow', 'api', 'database', 'project', 'issue', 'prefer', 'like', 'dislike', 'decide', 'using', 'fixed', 'gave away'];
33
+ export const EN_ISSUE_KEYWORDS = {
34
+ connectivity: ['disconnect', 'connection lost'],
35
+ sound: ['noise'],
36
+ performance: ['lag', 'slow', 'flicker']
37
+ };
38
+ export const EN_ISSUE_QUALIFIERS = {
39
+ left: ['left ear'],
40
+ right: ['right ear']
41
+ };
@@ -0,0 +1,42 @@
1
+ export declare const ZH_ENTITY_TYPE_TERMS: {
2
+ readonly device: readonly ["耳机", "键盘", "鼠标", "显示器"];
3
+ readonly project: readonly ["项目"];
4
+ readonly person: readonly ["我", "用户", "他", "她"];
5
+ readonly brand: readonly ["品牌", "框架", "库"];
6
+ readonly issue: readonly ["问题", "故障", "异常"];
7
+ };
8
+ export declare const ZH_RELATION_PHRASES: {
9
+ readonly owns: readonly ["我有一个", "我有个"];
10
+ readonly purchased: readonly ["买了一个", "又买了一个", "新买的", "重新买了", "第二个"];
11
+ readonly has_issue: readonly ["有问题", "什么问题", "故障", "异常", "坏了", "断连", "杂音", "卡顿", "延迟", "闪屏"];
12
+ readonly worked_on: readonly ["做过", "负责过", "参与过"];
13
+ readonly likes: readonly ["喜欢"];
14
+ readonly dislikes: readonly ["讨厌", "不喜欢"];
15
+ };
16
+ export declare const ZH_REFERENCE_SIGNALS: {
17
+ readonly newInstance: readonly ["新买的", "新的那个", "第二个", "刚入手一个", "又买了一个"];
18
+ readonly updateInstance: readonly ["那个耳机", "那个设备", "那个项目", "前一个", "之前那个", "它后来", "旧的"];
19
+ readonly ambiguous: readonly ["它", "这个", "那个东西", "那个设备"];
20
+ readonly latest: readonly ["新的那个", "新的设备", "新买的设备", "这个设备", "那个设备", "这个项目", "那个项目", "新项目", "新的项目", "它", "新买的耳机", "这个耳机", "那个耳机"];
21
+ readonly previous: readonly ["之前那个", "前一个", "前一个设备", "旧设备", "前一个项目", "旧项目", "上一个项目", "前一个耳机", "旧耳机"];
22
+ };
23
+ export declare const ZH_SHORT_REPLY_BINDING: {
24
+ readonly approved: readonly ["好的", "好", "行", "可以", "继续"];
25
+ readonly rejected: readonly ["不要", "不行", "算了", "先别这个", "先别"];
26
+ readonly entitySelection: readonly ["旧的那个", "就这个", "还是它"];
27
+ };
28
+ export declare const ZH_PENDING_PATTERNS: {
29
+ readonly action: readonly [RegExp, RegExp, RegExp, RegExp];
30
+ readonly entity: readonly [RegExp, RegExp, RegExp];
31
+ };
32
+ export declare const ZH_LONG_TERM_SIGNAL_TERMS: readonly ["项目", "喜欢", "讨厌", "决定", "必须", "不能", "买了", "修好了", "送人了", "在用"];
33
+ export declare const ZH_ISSUE_KEYWORDS: {
34
+ readonly connectivity: readonly ["断连", "掉线", "配对失败"];
35
+ readonly sound: readonly ["杂音", "爆音", "无声", "收音发闷", "电流声"];
36
+ readonly performance: readonly ["卡顿", "延迟", "慢", "不稳定", "闪屏"];
37
+ };
38
+ export declare const ZH_ISSUE_QUALIFIERS: {
39
+ readonly left: readonly ["左耳"];
40
+ readonly right: readonly ["右耳"];
41
+ };
42
+ //# sourceMappingURL=zh.d.ts.map