@zooique/memora 2.0.3 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (588) hide show
  1. package/CHANGELOG.md +1037 -0
  2. package/README.en.md +305 -272
  3. package/README.md +303 -260
  4. package/config.example.json +43 -0
  5. package/dist/agent/agent.d.ts +376 -408
  6. package/dist/agent/agent.d.ts.map +1 -1
  7. package/dist/agent/agent.js +1166 -926
  8. package/dist/agent/agent.js.map +1 -1
  9. package/dist/agent/assembler.d.ts +105 -43
  10. package/dist/agent/assembler.d.ts.map +1 -1
  11. package/dist/agent/assembler.js +543 -75
  12. package/dist/agent/assembler.js.map +1 -1
  13. package/dist/agent/budget.d.ts +131 -0
  14. package/dist/agent/budget.d.ts.map +1 -0
  15. package/dist/agent/budget.js +128 -0
  16. package/dist/agent/budget.js.map +1 -0
  17. package/dist/agent/builtinToolHandlers.d.ts +225 -38
  18. package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
  19. package/dist/agent/builtinToolHandlers.js +748 -132
  20. package/dist/agent/builtinToolHandlers.js.map +1 -1
  21. package/dist/agent/builtinTools.d.ts +198 -7
  22. package/dist/agent/builtinTools.d.ts.map +1 -1
  23. package/dist/agent/builtinTools.js +646 -14
  24. package/dist/agent/builtinTools.js.map +1 -1
  25. package/dist/agent/compaction.d.ts +93 -0
  26. package/dist/agent/compaction.d.ts.map +1 -0
  27. package/dist/agent/compaction.js +192 -0
  28. package/dist/agent/compaction.js.map +1 -0
  29. package/dist/agent/constants.d.ts +137 -20
  30. package/dist/agent/constants.d.ts.map +1 -1
  31. package/dist/agent/constants.js +152 -20
  32. package/dist/agent/constants.js.map +1 -1
  33. package/dist/agent/contextManager.d.ts +119 -77
  34. package/dist/agent/contextManager.d.ts.map +1 -1
  35. package/dist/agent/contextManager.js +192 -135
  36. package/dist/agent/contextManager.js.map +1 -1
  37. package/dist/agent/contextPreparer.d.ts +78 -0
  38. package/dist/agent/contextPreparer.d.ts.map +1 -0
  39. package/dist/agent/contextPreparer.js +128 -0
  40. package/dist/agent/contextPreparer.js.map +1 -0
  41. package/dist/agent/duplicateInterceptor.d.ts +67 -0
  42. package/dist/agent/duplicateInterceptor.d.ts.map +1 -0
  43. package/dist/agent/duplicateInterceptor.js +82 -0
  44. package/dist/agent/duplicateInterceptor.js.map +1 -0
  45. package/dist/agent/guardRail.d.ts +166 -0
  46. package/dist/agent/guardRail.d.ts.map +1 -0
  47. package/dist/agent/guardRail.js +333 -0
  48. package/dist/agent/guardRail.js.map +1 -0
  49. package/dist/agent/loop.d.ts +716 -295
  50. package/dist/agent/loop.d.ts.map +1 -1
  51. package/dist/agent/loop.js +2178 -664
  52. package/dist/agent/loop.js.map +1 -1
  53. package/dist/agent/managers/archiveCoordinator.d.ts +14 -171
  54. package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
  55. package/dist/agent/managers/archiveCoordinator.js +19 -287
  56. package/dist/agent/managers/archiveCoordinator.js.map +1 -1
  57. package/dist/agent/managers/chatLockManager.d.ts +20 -88
  58. package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
  59. package/dist/agent/managers/chatLockManager.js +31 -103
  60. package/dist/agent/managers/chatLockManager.js.map +1 -1
  61. package/dist/agent/managers/dedupManager.d.ts +31 -115
  62. package/dist/agent/managers/dedupManager.d.ts.map +1 -1
  63. package/dist/agent/managers/dedupManager.js +48 -136
  64. package/dist/agent/managers/dedupManager.js.map +1 -1
  65. package/dist/agent/managers/goalConsistencyChecker.d.ts +42 -0
  66. package/dist/agent/managers/goalConsistencyChecker.d.ts.map +1 -0
  67. package/dist/agent/managers/goalConsistencyChecker.js +178 -0
  68. package/dist/agent/managers/goalConsistencyChecker.js.map +1 -0
  69. package/dist/agent/managers/llmCaller.d.ts +124 -0
  70. package/dist/agent/managers/llmCaller.d.ts.map +1 -0
  71. package/dist/agent/managers/llmCaller.js +417 -0
  72. package/dist/agent/managers/llmCaller.js.map +1 -0
  73. package/dist/agent/managers/llmJudgeHelper.d.ts +8 -25
  74. package/dist/agent/managers/llmJudgeHelper.d.ts.map +1 -1
  75. package/dist/agent/managers/llmJudgeHelper.js +7 -24
  76. package/dist/agent/managers/llmJudgeHelper.js.map +1 -1
  77. package/dist/agent/managers/loopMetrics.d.ts +58 -0
  78. package/dist/agent/managers/loopMetrics.d.ts.map +1 -0
  79. package/dist/agent/managers/loopMetrics.js +68 -0
  80. package/dist/agent/managers/loopMetrics.js.map +1 -0
  81. package/dist/agent/managers/memoryAdvisor.d.ts +27 -120
  82. package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
  83. package/dist/agent/managers/memoryAdvisor.js +85 -207
  84. package/dist/agent/managers/memoryAdvisor.js.map +1 -1
  85. package/dist/agent/managers/memoryGovernance.d.ts +10 -42
  86. package/dist/agent/managers/memoryGovernance.d.ts.map +1 -1
  87. package/dist/agent/managers/memoryGovernance.js +19 -36
  88. package/dist/agent/managers/memoryGovernance.js.map +1 -1
  89. package/dist/agent/managers/memoryInspector.d.ts +59 -268
  90. package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
  91. package/dist/agent/managers/memoryInspector.js +91 -442
  92. package/dist/agent/managers/memoryInspector.js.map +1 -1
  93. package/dist/agent/managers/roundSummaryGenerator.d.ts +56 -0
  94. package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -0
  95. package/dist/agent/managers/roundSummaryGenerator.js +201 -0
  96. package/dist/agent/managers/roundSummaryGenerator.js.map +1 -0
  97. package/dist/agent/managers/sessionArchiver.d.ts +19 -68
  98. package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
  99. package/dist/agent/managers/sessionArchiver.js +76 -147
  100. package/dist/agent/managers/sessionArchiver.js.map +1 -1
  101. package/dist/agent/managers/sessionManager.d.ts +286 -57
  102. package/dist/agent/managers/sessionManager.d.ts.map +1 -1
  103. package/dist/agent/managers/sessionManager.js +846 -85
  104. package/dist/agent/managers/sessionManager.js.map +1 -1
  105. package/dist/agent/managers/sessionNamer.d.ts +35 -0
  106. package/dist/agent/managers/sessionNamer.d.ts.map +1 -0
  107. package/dist/agent/managers/sessionNamer.js +104 -0
  108. package/dist/agent/managers/sessionNamer.js.map +1 -0
  109. package/dist/agent/managers/streamAccumulator.d.ts +8 -33
  110. package/dist/agent/managers/streamAccumulator.d.ts.map +1 -1
  111. package/dist/agent/managers/streamAccumulator.js +4 -29
  112. package/dist/agent/managers/streamAccumulator.js.map +1 -1
  113. package/dist/agent/managers/textPolishManager.d.ts +8 -44
  114. package/dist/agent/managers/textPolishManager.d.ts.map +1 -1
  115. package/dist/agent/managers/textPolishManager.js +9 -41
  116. package/dist/agent/managers/textPolishManager.js.map +1 -1
  117. package/dist/agent/managers/toolCallHelpers.d.ts +105 -0
  118. package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -0
  119. package/dist/agent/managers/toolCallHelpers.js +161 -0
  120. package/dist/agent/managers/toolCallHelpers.js.map +1 -0
  121. package/dist/agent/managers/workProjection.d.ts +55 -100
  122. package/dist/agent/managers/workProjection.d.ts.map +1 -1
  123. package/dist/agent/managers/workProjection.js +164 -268
  124. package/dist/agent/managers/workProjection.js.map +1 -1
  125. package/dist/agent/messageHistory.d.ts +134 -84
  126. package/dist/agent/messageHistory.d.ts.map +1 -1
  127. package/dist/agent/messageHistory.js +419 -133
  128. package/dist/agent/messageHistory.js.map +1 -1
  129. package/dist/agent/needsPlanning.d.ts +28 -0
  130. package/dist/agent/needsPlanning.d.ts.map +1 -0
  131. package/dist/agent/needsPlanning.js +68 -0
  132. package/dist/agent/needsPlanning.js.map +1 -0
  133. package/dist/agent/seed/index.d.ts +11 -0
  134. package/dist/agent/seed/index.d.ts.map +1 -0
  135. package/dist/agent/seed/index.js +10 -0
  136. package/dist/agent/seed/index.js.map +1 -0
  137. package/dist/agent/seed/orchestrator.d.ts +83 -0
  138. package/dist/agent/seed/orchestrator.d.ts.map +1 -0
  139. package/dist/agent/seed/orchestrator.js +260 -0
  140. package/dist/agent/seed/orchestrator.js.map +1 -0
  141. package/dist/agent/seed/prepare.d.ts +49 -0
  142. package/dist/agent/seed/prepare.d.ts.map +1 -0
  143. package/dist/agent/seed/prepare.js +107 -0
  144. package/dist/agent/seed/prepare.js.map +1 -0
  145. package/dist/agent/seed/types.d.ts +115 -0
  146. package/dist/agent/seed/types.d.ts.map +1 -0
  147. package/dist/agent/seed/types.js +15 -0
  148. package/dist/agent/seed/types.js.map +1 -0
  149. package/dist/agent/sessionStateMachine.d.ts +78 -0
  150. package/dist/agent/sessionStateMachine.d.ts.map +1 -0
  151. package/dist/agent/sessionStateMachine.js +182 -0
  152. package/dist/agent/sessionStateMachine.js.map +1 -0
  153. package/dist/agent/taskTableRenderer.d.ts +51 -0
  154. package/dist/agent/taskTableRenderer.d.ts.map +1 -0
  155. package/dist/agent/taskTableRenderer.js +115 -0
  156. package/dist/agent/taskTableRenderer.js.map +1 -0
  157. package/dist/agent/toolExecutor.d.ts +236 -10
  158. package/dist/agent/toolExecutor.d.ts.map +1 -1
  159. package/dist/agent/toolExecutor.js +932 -21
  160. package/dist/agent/toolExecutor.js.map +1 -1
  161. package/dist/agent/toolLedger.d.ts +120 -0
  162. package/dist/agent/toolLedger.d.ts.map +1 -0
  163. package/dist/agent/toolLedger.js +149 -0
  164. package/dist/agent/toolLedger.js.map +1 -0
  165. package/dist/agent/toolResultCache.d.ts +134 -0
  166. package/dist/agent/toolResultCache.d.ts.map +1 -0
  167. package/dist/agent/toolResultCache.js +243 -0
  168. package/dist/agent/toolResultCache.js.map +1 -0
  169. package/dist/agent/toolResultOffload.d.ts +59 -0
  170. package/dist/agent/toolResultOffload.d.ts.map +1 -0
  171. package/dist/agent/toolResultOffload.js +70 -0
  172. package/dist/agent/toolResultOffload.js.map +1 -0
  173. package/dist/agent/toolRunner.d.ts +59 -0
  174. package/dist/agent/toolRunner.d.ts.map +1 -0
  175. package/dist/agent/toolRunner.js +147 -0
  176. package/dist/agent/toolRunner.js.map +1 -0
  177. package/dist/agent/tracer.d.ts +99 -107
  178. package/dist/agent/tracer.d.ts.map +1 -1
  179. package/dist/agent/tracer.js +24 -69
  180. package/dist/agent/tracer.js.map +1 -1
  181. package/dist/agent/types.d.ts +510 -169
  182. package/dist/agent/types.d.ts.map +1 -1
  183. package/dist/agent/types.js +2 -51
  184. package/dist/agent/types.js.map +1 -1
  185. package/dist/code-exec/codeExecutionProvider.d.ts +16 -0
  186. package/dist/code-exec/codeExecutionProvider.d.ts.map +1 -0
  187. package/dist/code-exec/codeExecutionProvider.js +57 -0
  188. package/dist/code-exec/codeExecutionProvider.js.map +1 -0
  189. package/dist/code-exec/types.d.ts +37 -0
  190. package/dist/code-exec/types.d.ts.map +1 -0
  191. package/dist/code-exec/types.js +12 -0
  192. package/dist/code-exec/types.js.map +1 -0
  193. package/dist/config/expandEnvVars.d.ts +22 -0
  194. package/dist/config/expandEnvVars.d.ts.map +1 -0
  195. package/dist/config/expandEnvVars.js +38 -0
  196. package/dist/config/expandEnvVars.js.map +1 -0
  197. package/dist/config/loader.d.ts +27 -98
  198. package/dist/config/loader.d.ts.map +1 -1
  199. package/dist/config/loader.js +110 -223
  200. package/dist/config/loader.js.map +1 -1
  201. package/dist/index.d.ts +67 -77
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +90 -69
  204. package/dist/index.js.map +1 -1
  205. package/dist/llm/abortSignal.d.ts +2 -3
  206. package/dist/llm/abortSignal.d.ts.map +1 -1
  207. package/dist/llm/abortSignal.js +2 -3
  208. package/dist/llm/abortSignal.js.map +1 -1
  209. package/dist/llm/factory.d.ts +22 -32
  210. package/dist/llm/factory.d.ts.map +1 -1
  211. package/dist/llm/factory.js +29 -46
  212. package/dist/llm/factory.js.map +1 -1
  213. package/dist/llm/openaiCompatible.d.ts +25 -40
  214. package/dist/llm/openaiCompatible.d.ts.map +1 -1
  215. package/dist/llm/openaiCompatible.js +179 -120
  216. package/dist/llm/openaiCompatible.js.map +1 -1
  217. package/dist/llm/provider.d.ts +29 -42
  218. package/dist/llm/provider.d.ts.map +1 -1
  219. package/dist/llm/provider.js +11 -10
  220. package/dist/llm/provider.js.map +1 -1
  221. package/dist/llm/types.d.ts +54 -11
  222. package/dist/llm/types.d.ts.map +1 -1
  223. package/dist/llm/types.js +0 -5
  224. package/dist/llm/types.js.map +1 -1
  225. package/dist/logging/logger.d.ts +8 -31
  226. package/dist/logging/logger.d.ts.map +1 -1
  227. package/dist/logging/logger.js +28 -215
  228. package/dist/logging/logger.js.map +1 -1
  229. package/dist/logging/loggerInterface.d.ts +9 -8
  230. package/dist/logging/loggerInterface.d.ts.map +1 -1
  231. package/dist/memory/gcService.d.ts +164 -0
  232. package/dist/memory/gcService.d.ts.map +1 -0
  233. package/dist/memory/gcService.js +215 -0
  234. package/dist/memory/gcService.js.map +1 -0
  235. package/dist/memory/governance.d.ts +11 -44
  236. package/dist/memory/governance.d.ts.map +1 -1
  237. package/dist/memory/governance.js +11 -64
  238. package/dist/memory/governance.js.map +1 -1
  239. package/dist/memory/inMemoryRoundStore.d.ts +124 -0
  240. package/dist/memory/inMemoryRoundStore.d.ts.map +1 -0
  241. package/dist/memory/inMemoryRoundStore.js +216 -0
  242. package/dist/memory/inMemoryRoundStore.js.map +1 -0
  243. package/dist/memory/inMemorySessionStore.d.ts +92 -0
  244. package/dist/memory/inMemorySessionStore.d.ts.map +1 -0
  245. package/dist/memory/inMemorySessionStore.js +219 -0
  246. package/dist/memory/inMemorySessionStore.js.map +1 -0
  247. package/dist/memory/inMemorySessionViewLoader.d.ts +89 -0
  248. package/dist/memory/inMemorySessionViewLoader.d.ts.map +1 -0
  249. package/dist/memory/inMemorySessionViewLoader.js +183 -0
  250. package/dist/memory/inMemorySessionViewLoader.js.map +1 -0
  251. package/dist/memory/inMemoryStorage.d.ts +25 -175
  252. package/dist/memory/inMemoryStorage.d.ts.map +1 -1
  253. package/dist/memory/inMemoryStorage.js +32 -221
  254. package/dist/memory/inMemoryStorage.js.map +1 -1
  255. package/dist/memory/keywordsTouch.d.ts +20 -0
  256. package/dist/memory/keywordsTouch.d.ts.map +1 -0
  257. package/dist/memory/keywordsTouch.js +25 -0
  258. package/dist/memory/keywordsTouch.js.map +1 -0
  259. package/dist/memory/lockManager.d.ts +2 -2
  260. package/dist/memory/lockManager.d.ts.map +1 -1
  261. package/dist/memory/lockManager.js +6 -8
  262. package/dist/memory/lockManager.js.map +1 -1
  263. package/dist/memory/projectManager.d.ts +30 -129
  264. package/dist/memory/projectManager.d.ts.map +1 -1
  265. package/dist/memory/projectManager.js +39 -189
  266. package/dist/memory/projectManager.js.map +1 -1
  267. package/dist/memory/projectRegistry.d.ts +14 -62
  268. package/dist/memory/projectRegistry.d.ts.map +1 -1
  269. package/dist/memory/projectRegistry.js +27 -111
  270. package/dist/memory/projectRegistry.js.map +1 -1
  271. package/dist/memory/roundStore.d.ts +629 -0
  272. package/dist/memory/roundStore.d.ts.map +1 -0
  273. package/dist/memory/roundStore.js +116 -0
  274. package/dist/memory/roundStore.js.map +1 -0
  275. package/dist/memory/sessionStore.d.ts +70 -61
  276. package/dist/memory/sessionStore.d.ts.map +1 -1
  277. package/dist/memory/sessionStore.js +23 -1
  278. package/dist/memory/sessionStore.js.map +1 -1
  279. package/dist/memory/sessionViewLoader.d.ts +141 -0
  280. package/dist/memory/sessionViewLoader.d.ts.map +1 -0
  281. package/dist/memory/sessionViewLoader.js +65 -0
  282. package/dist/memory/sessionViewLoader.js.map +1 -0
  283. package/dist/memory/sourceValidation.d.ts +10 -12
  284. package/dist/memory/sourceValidation.d.ts.map +1 -1
  285. package/dist/memory/sourceValidation.js +16 -32
  286. package/dist/memory/sourceValidation.js.map +1 -1
  287. package/dist/memory/storageInterface.d.ts +44 -150
  288. package/dist/memory/storageInterface.d.ts.map +1 -1
  289. package/dist/memory/types.d.ts +65 -164
  290. package/dist/memory/types.d.ts.map +1 -1
  291. package/dist/memory/types.js +81 -83
  292. package/dist/memory/types.js.map +1 -1
  293. package/dist/project-search/projectSearchProvider.d.ts +29 -0
  294. package/dist/project-search/projectSearchProvider.d.ts.map +1 -0
  295. package/dist/project-search/projectSearchProvider.js +57 -0
  296. package/dist/project-search/projectSearchProvider.js.map +1 -0
  297. package/dist/project-search/terms.d.ts +14 -0
  298. package/dist/project-search/terms.d.ts.map +1 -0
  299. package/dist/project-search/terms.js +68 -0
  300. package/dist/project-search/terms.js.map +1 -0
  301. package/dist/project-search/types.d.ts +139 -0
  302. package/dist/project-search/types.d.ts.map +1 -0
  303. package/dist/project-search/types.js +8 -0
  304. package/dist/project-search/types.js.map +1 -0
  305. package/dist/role-pack/capabilityMap.d.ts +28 -0
  306. package/dist/role-pack/capabilityMap.d.ts.map +1 -0
  307. package/dist/role-pack/capabilityMap.js +56 -0
  308. package/dist/role-pack/capabilityMap.js.map +1 -0
  309. package/dist/role-pack/constants.d.ts +21 -0
  310. package/dist/role-pack/constants.d.ts.map +1 -0
  311. package/dist/role-pack/constants.js +21 -0
  312. package/dist/role-pack/constants.js.map +1 -0
  313. package/dist/role-pack/rolePackManager.d.ts +269 -0
  314. package/dist/role-pack/rolePackManager.d.ts.map +1 -0
  315. package/dist/role-pack/rolePackManager.js +1082 -0
  316. package/dist/role-pack/rolePackManager.js.map +1 -0
  317. package/dist/role-pack/strategyKeys.d.ts +100 -0
  318. package/dist/role-pack/strategyKeys.d.ts.map +1 -0
  319. package/dist/role-pack/strategyKeys.js +184 -0
  320. package/dist/role-pack/strategyKeys.js.map +1 -0
  321. package/dist/role-pack/strategyResolver.d.ts +109 -0
  322. package/dist/role-pack/strategyResolver.d.ts.map +1 -0
  323. package/dist/role-pack/strategyResolver.js +304 -0
  324. package/dist/role-pack/strategyResolver.js.map +1 -0
  325. package/dist/role-pack/types.d.ts +237 -0
  326. package/dist/role-pack/types.d.ts.map +1 -0
  327. package/dist/role-pack/types.js +8 -0
  328. package/dist/role-pack/types.js.map +1 -0
  329. package/dist/role-pack/validator.d.ts +38 -0
  330. package/dist/role-pack/validator.d.ts.map +1 -0
  331. package/dist/role-pack/validator.js +436 -0
  332. package/dist/role-pack/validator.js.map +1 -0
  333. package/dist/security/pathGuard.d.ts +69 -72
  334. package/dist/security/pathGuard.d.ts.map +1 -1
  335. package/dist/security/pathGuard.js +151 -131
  336. package/dist/security/pathGuard.js.map +1 -1
  337. package/dist/skill/skillLayer3.d.ts +91 -0
  338. package/dist/skill/skillLayer3.d.ts.map +1 -0
  339. package/dist/skill/skillLayer3.js +104 -0
  340. package/dist/skill/skillLayer3.js.map +1 -0
  341. package/dist/skill/skillManager.d.ts +136 -19
  342. package/dist/skill/skillManager.d.ts.map +1 -1
  343. package/dist/skill/skillManager.js +312 -61
  344. package/dist/skill/skillManager.js.map +1 -1
  345. package/dist/skill/skillScriptRunner.d.ts +97 -0
  346. package/dist/skill/skillScriptRunner.d.ts.map +1 -0
  347. package/dist/skill/skillScriptRunner.js +271 -0
  348. package/dist/skill/skillScriptRunner.js.map +1 -0
  349. package/dist/skill/types.d.ts +73 -16
  350. package/dist/skill/types.d.ts.map +1 -1
  351. package/dist/skill/types.js +5 -1
  352. package/dist/skill/types.js.map +1 -1
  353. package/dist/utils/array.d.ts +5 -6
  354. package/dist/utils/array.d.ts.map +1 -1
  355. package/dist/utils/array.js +6 -6
  356. package/dist/utils/array.js.map +1 -1
  357. package/dist/utils/atomicWrite.d.ts +8 -0
  358. package/dist/utils/atomicWrite.d.ts.map +1 -0
  359. package/dist/utils/atomicWrite.js +31 -0
  360. package/dist/utils/atomicWrite.js.map +1 -0
  361. package/dist/utils/backgroundTask.d.ts +38 -0
  362. package/dist/utils/backgroundTask.d.ts.map +1 -0
  363. package/dist/utils/backgroundTask.js +117 -0
  364. package/dist/utils/backgroundTask.js.map +1 -0
  365. package/dist/utils/configResourceManager.d.ts +40 -72
  366. package/dist/utils/configResourceManager.d.ts.map +1 -1
  367. package/dist/utils/configResourceManager.js +78 -76
  368. package/dist/utils/configResourceManager.js.map +1 -1
  369. package/dist/utils/errors.d.ts +44 -69
  370. package/dist/utils/errors.d.ts.map +1 -1
  371. package/dist/utils/errors.js +54 -71
  372. package/dist/utils/errors.js.map +1 -1
  373. package/dist/utils/eventEmitter.d.ts +104 -103
  374. package/dist/utils/eventEmitter.d.ts.map +1 -1
  375. package/dist/utils/eventEmitter.js +37 -45
  376. package/dist/utils/eventEmitter.js.map +1 -1
  377. package/dist/utils/fileSafe.d.ts +20 -0
  378. package/dist/utils/fileSafe.d.ts.map +1 -0
  379. package/dist/utils/fileSafe.js +56 -0
  380. package/dist/utils/fileSafe.js.map +1 -0
  381. package/dist/utils/frontmatter.d.ts +2 -3
  382. package/dist/utils/frontmatter.d.ts.map +1 -1
  383. package/dist/utils/frontmatter.js +2 -3
  384. package/dist/utils/frontmatter.js.map +1 -1
  385. package/dist/utils/hash.d.ts +12 -0
  386. package/dist/utils/hash.d.ts.map +1 -0
  387. package/dist/utils/hash.js +27 -0
  388. package/dist/utils/hash.js.map +1 -0
  389. package/dist/utils/http.d.ts +17 -0
  390. package/dist/utils/http.d.ts.map +1 -0
  391. package/dist/utils/http.js +29 -0
  392. package/dist/utils/http.js.map +1 -0
  393. package/dist/utils/json.d.ts +1 -1
  394. package/dist/utils/json.js +1 -1
  395. package/dist/utils/math.d.ts +25 -3
  396. package/dist/utils/math.d.ts.map +1 -1
  397. package/dist/utils/math.js +32 -16
  398. package/dist/utils/math.js.map +1 -1
  399. package/dist/utils/objects.d.ts +2 -3
  400. package/dist/utils/objects.d.ts.map +1 -1
  401. package/dist/utils/objects.js +2 -3
  402. package/dist/utils/objects.js.map +1 -1
  403. package/dist/utils/recallDefaults.d.ts +16 -0
  404. package/dist/utils/recallDefaults.d.ts.map +1 -0
  405. package/dist/utils/recallDefaults.js +16 -0
  406. package/dist/utils/recallDefaults.js.map +1 -0
  407. package/dist/utils/safeTimer.d.ts +8 -36
  408. package/dist/utils/safeTimer.d.ts.map +1 -1
  409. package/dist/utils/safeTimer.js +9 -37
  410. package/dist/utils/safeTimer.js.map +1 -1
  411. package/dist/utils/scanner.d.ts +97 -17
  412. package/dist/utils/scanner.d.ts.map +1 -1
  413. package/dist/utils/scanner.js +269 -47
  414. package/dist/utils/scanner.js.map +1 -1
  415. package/dist/utils/segmenter.d.ts +20 -19
  416. package/dist/utils/segmenter.d.ts.map +1 -1
  417. package/dist/utils/segmenter.js +230 -97
  418. package/dist/utils/segmenter.js.map +1 -1
  419. package/dist/utils/strings.d.ts +15 -32
  420. package/dist/utils/strings.d.ts.map +1 -1
  421. package/dist/utils/strings.js +25 -44
  422. package/dist/utils/strings.js.map +1 -1
  423. package/dist/utils/time.d.ts +37 -0
  424. package/dist/utils/time.d.ts.map +1 -1
  425. package/dist/utils/time.js +56 -0
  426. package/dist/utils/time.js.map +1 -1
  427. package/dist/utils/toError.d.ts +13 -1
  428. package/dist/utils/toError.d.ts.map +1 -1
  429. package/dist/utils/toError.js +18 -1
  430. package/dist/utils/toError.js.map +1 -1
  431. package/dist/web-fetch/fetchWebFetchProvider.d.ts +14 -0
  432. package/dist/web-fetch/fetchWebFetchProvider.d.ts.map +1 -0
  433. package/dist/web-fetch/fetchWebFetchProvider.js +69 -0
  434. package/dist/web-fetch/fetchWebFetchProvider.js.map +1 -0
  435. package/dist/web-fetch/types.d.ts +30 -0
  436. package/dist/web-fetch/types.d.ts.map +1 -0
  437. package/dist/web-fetch/types.js +7 -0
  438. package/dist/web-fetch/types.js.map +1 -0
  439. package/dist/web-fetch/webFetchProvider.d.ts +10 -0
  440. package/dist/web-fetch/webFetchProvider.d.ts.map +1 -0
  441. package/dist/web-fetch/webFetchProvider.js +28 -0
  442. package/dist/web-fetch/webFetchProvider.js.map +1 -0
  443. package/dist/web-search/fetchWebSearchProvider.d.ts +27 -0
  444. package/dist/web-search/fetchWebSearchProvider.d.ts.map +1 -0
  445. package/dist/web-search/fetchWebSearchProvider.js +199 -0
  446. package/dist/web-search/fetchWebSearchProvider.js.map +1 -0
  447. package/dist/web-search/types.d.ts +46 -0
  448. package/dist/web-search/types.d.ts.map +1 -0
  449. package/dist/web-search/types.js +2 -0
  450. package/dist/{persona → web-search}/types.js.map +1 -1
  451. package/dist/web-search/webSearchProvider.d.ts +10 -0
  452. package/dist/web-search/webSearchProvider.d.ts.map +1 -0
  453. package/dist/web-search/webSearchProvider.js +30 -0
  454. package/dist/web-search/webSearchProvider.js.map +1 -0
  455. package/docs/architecture/role-pack-authoring-guide.md +243 -0
  456. package/docs/architecture/role-pack-spec.md +767 -0
  457. package/docs/memora-api-reference.md +416 -476
  458. package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +841 -806
  459. package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -0
  460. package/package.json +105 -100
  461. package/role-packs/README.md +41 -0
  462. package/role-packs/memora/345/212/251/346/211/213/manifest.json +12 -0
  463. package/role-packs/memora/345/212/251/346/211/213/persona.md +12 -0
  464. package/role-packs/memora/345/212/251/346/211/213/rules.md +4 -0
  465. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +44 -0
  466. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -0
  467. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +15 -0
  468. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/character-sheet.md +34 -0
  469. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/core-extractor.md +37 -0
  470. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/craft-review.md +69 -0
  471. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/dialogue-craft.md +45 -0
  472. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -0
  473. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/empathy-craft.md +79 -0
  474. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -0
  475. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/hotspot-mapping.md +121 -0
  476. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/idea-lever.md +42 -0
  477. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/logline-craft.md +47 -0
  478. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/longform-guard.md +64 -0
  479. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/need-finder.md +40 -0
  480. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +46 -0
  481. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/pacing-hook.md +34 -0
  482. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/polish-method.md +113 -0
  483. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/pov-discipline.md +79 -0
  484. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/SKILL.md +112 -0
  485. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/project-init/scripts/init-novel-project.mjs +441 -0
  486. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/relationship-web.md +47 -0
  487. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/scene-craft.md +46 -0
  488. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +60 -0
  489. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-structure.md +36 -0
  490. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/style-weaver.md +109 -0
  491. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/three-layer-check.md +27 -0
  492. package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/world-builder.md +41 -0
  493. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/manifest.json +48 -0
  494. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/persona.md +73 -0
  495. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/rules.md +19 -0
  496. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/api-doc-writer.md +40 -0
  497. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/doc-planner.md +42 -0
  498. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/nutrient-search.md +28 -0
  499. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/seed-finder.md +28 -0
  500. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/ssot-audit.md +34 -0
  501. package/role-packs//347/231/275/350/257/235/346/226/271/346/241/210/350/256/276/350/256/241/345/270/210/skills/style-guide.md +40 -0
  502. package/dist/agent/guardrail.d.ts +0 -49
  503. package/dist/agent/guardrail.d.ts.map +0 -1
  504. package/dist/agent/guardrail.js +0 -59
  505. package/dist/agent/guardrail.js.map +0 -1
  506. package/dist/agent/managers/autoConfigRefiner.d.ts +0 -39
  507. package/dist/agent/managers/autoConfigRefiner.d.ts.map +0 -1
  508. package/dist/agent/managers/autoConfigRefiner.js +0 -146
  509. package/dist/agent/managers/autoConfigRefiner.js.map +0 -1
  510. package/dist/agent/managers/configManager.d.ts +0 -209
  511. package/dist/agent/managers/configManager.d.ts.map +0 -1
  512. package/dist/agent/managers/configManager.js +0 -331
  513. package/dist/agent/managers/configManager.js.map +0 -1
  514. package/dist/agent/managers/insightExtractor.d.ts +0 -139
  515. package/dist/agent/managers/insightExtractor.d.ts.map +0 -1
  516. package/dist/agent/managers/insightExtractor.js +0 -401
  517. package/dist/agent/managers/insightExtractor.js.map +0 -1
  518. package/dist/agent/managers/memoryDecayScheduler.d.ts +0 -239
  519. package/dist/agent/managers/memoryDecayScheduler.d.ts.map +0 -1
  520. package/dist/agent/managers/memoryDecayScheduler.js +0 -413
  521. package/dist/agent/managers/memoryDecayScheduler.js.map +0 -1
  522. package/dist/agent/managers/relationBuilder.d.ts +0 -131
  523. package/dist/agent/managers/relationBuilder.d.ts.map +0 -1
  524. package/dist/agent/managers/relationBuilder.js +0 -192
  525. package/dist/agent/managers/relationBuilder.js.map +0 -1
  526. package/dist/agent/personaMatcher.d.ts +0 -29
  527. package/dist/agent/personaMatcher.d.ts.map +0 -1
  528. package/dist/agent/personaMatcher.js +0 -60
  529. package/dist/agent/personaMatcher.js.map +0 -1
  530. package/dist/agent/userFactExtractor.d.ts +0 -25
  531. package/dist/agent/userFactExtractor.d.ts.map +0 -1
  532. package/dist/agent/userFactExtractor.js +0 -88
  533. package/dist/agent/userFactExtractor.js.map +0 -1
  534. package/dist/eval/evalRunner.d.ts +0 -94
  535. package/dist/eval/evalRunner.d.ts.map +0 -1
  536. package/dist/eval/evalRunner.js +0 -141
  537. package/dist/eval/evalRunner.js.map +0 -1
  538. package/dist/eval/evalTypes.d.ts +0 -148
  539. package/dist/eval/evalTypes.d.ts.map +0 -1
  540. package/dist/eval/evalTypes.js +0 -118
  541. package/dist/eval/evalTypes.js.map +0 -1
  542. package/dist/eval/scenarios.d.ts +0 -33
  543. package/dist/eval/scenarios.d.ts.map +0 -1
  544. package/dist/eval/scenarios.js +0 -109
  545. package/dist/eval/scenarios.js.map +0 -1
  546. package/dist/llm/embedding.d.ts +0 -79
  547. package/dist/llm/embedding.d.ts.map +0 -1
  548. package/dist/llm/embedding.js +0 -184
  549. package/dist/llm/embedding.js.map +0 -1
  550. package/dist/memory/hybridMerge.d.ts +0 -50
  551. package/dist/memory/hybridMerge.d.ts.map +0 -1
  552. package/dist/memory/hybridMerge.js +0 -51
  553. package/dist/memory/hybridMerge.js.map +0 -1
  554. package/dist/memory/inMemoryRelationStore.d.ts +0 -58
  555. package/dist/memory/inMemoryRelationStore.d.ts.map +0 -1
  556. package/dist/memory/inMemoryRelationStore.js +0 -80
  557. package/dist/memory/inMemoryRelationStore.js.map +0 -1
  558. package/dist/memory/loader.d.ts +0 -51
  559. package/dist/memory/loader.d.ts.map +0 -1
  560. package/dist/memory/loader.js +0 -100
  561. package/dist/memory/loader.js.map +0 -1
  562. package/dist/memory/recall.d.ts +0 -82
  563. package/dist/memory/recall.d.ts.map +0 -1
  564. package/dist/memory/recall.js +0 -157
  565. package/dist/memory/recall.js.map +0 -1
  566. package/dist/memory/relationStore.d.ts +0 -95
  567. package/dist/memory/relationStore.d.ts.map +0 -1
  568. package/dist/memory/relationStore.js +0 -2
  569. package/dist/memory/relationStore.js.map +0 -1
  570. package/dist/memory/store.d.ts +0 -71
  571. package/dist/memory/store.d.ts.map +0 -1
  572. package/dist/memory/store.js +0 -199
  573. package/dist/memory/store.js.map +0 -1
  574. package/dist/memory/userProfile.d.ts +0 -180
  575. package/dist/memory/userProfile.d.ts.map +0 -1
  576. package/dist/memory/userProfile.js +0 -381
  577. package/dist/memory/userProfile.js.map +0 -1
  578. package/dist/memory/vectorStore.d.ts +0 -179
  579. package/dist/memory/vectorStore.d.ts.map +0 -1
  580. package/dist/memory/vectorStore.js +0 -284
  581. package/dist/memory/vectorStore.js.map +0 -1
  582. package/dist/persona/personaManager.d.ts +0 -109
  583. package/dist/persona/personaManager.d.ts.map +0 -1
  584. package/dist/persona/personaManager.js +0 -315
  585. package/dist/persona/personaManager.js.map +0 -1
  586. package/dist/persona/types.d.ts +0 -32
  587. package/dist/persona/types.d.ts.map +0 -1
  588. package/dist/persona/types.js +0 -5
@@ -1,59 +0,0 @@
1
- import { logger } from '../logging/logger.js';
2
- /**
3
- * 运行护栏检查
4
- *
5
- * 遍历所有 guardrail 规则,用正则匹配输入文本。
6
- * 命中 block action 时返回 blocked=true;
7
- * 命中 warn action 时返回 blocked=false + warning。
8
- *
9
- * 护栏自身异常(正则编译失败等)降级为"放行 + 记日志 + 通知宿主",
10
- * 永远不阻断用户对话(降级优先原则)。
11
- *
12
- * @param rules - 护栏规则记忆数组(source='guardrail' 的 Memory)
13
- * @param input - 待检查的文本(用户输入或 LLM 输出)
14
- * @param ui - UI 消息接口(用于生成阻断/警告提示文案)
15
- * @returns 护栏检查结果
16
- */
17
- export function runGuardrails(rules, input, ui) {
18
- // 无规则时直接放行(快速路径)
19
- if (rules.length === 0)
20
- return { blocked: false };
21
- for (const rule of rules) {
22
- try {
23
- // 从记忆内容中提取 pattern(格式:pattern: /regex/ action: block|warn)
24
- // 非贪婪 + 正向预查止步于 `action:`:单行格式 `pattern: /暴力/ action: block`
25
- // 也能正确切出 /暴力/,不再把 `action: block` 整段吞入 pattern 导致 fail-open。
26
- const patternMatch = rule.content.match(/pattern:\s*(\S.*?)(?=\s+action:|$)/);
27
- const actionMatch = rule.content.match(/action:\s*(block|warn)/);
28
- if (!patternMatch || !actionMatch)
29
- continue;
30
- const pattern = patternMatch[1]?.trim();
31
- const action = actionMatch[1]?.trim();
32
- if (!pattern || !action)
33
- continue;
34
- // 去掉正则定界符 //(仅当被 / 完整包围时,避免误剥内容中的 /)
35
- const regexStr = pattern.length >= 2 && pattern.startsWith('/') && pattern.endsWith('/')
36
- ? pattern.slice(1, -1)
37
- : pattern;
38
- // 编译失败(用户写错正则)被下方 catch 捕获,记 error 并跳过该规则,
39
- // 不再像旧实现那样静默放行(旧实现因贪婪匹配生成非法字面量正则,永远不匹配)。
40
- const regex = new RegExp(regexStr, 'i');
41
- if (regex.test(input)) {
42
- if (action === 'block') {
43
- logger.warn({ rule: rule.name, pattern: regexStr }, '输入护栏阻断');
44
- return { blocked: true, message: ui.inputBlockedByGuard(rule.name) };
45
- }
46
- logger.warn({ rule: rule.name, pattern: regexStr }, '输入护栏警告');
47
- return { blocked: false, warning: ui.inputBlockedByGuard(rule.name) };
48
- }
49
- }
50
- catch (err) {
51
- // 护栏自身异常降级:放行 + 记日志 + 通知宿主
52
- logger.error({ rule: rule.name, err }, '护栏规则执行异常,已降级放行');
53
- const errMessage = err instanceof Error ? err.message : String(err);
54
- ui.onRegexError?.(rule.name, errMessage);
55
- }
56
- }
57
- return { blocked: false };
58
- }
59
- //# sourceMappingURL=guardrail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../src/agent/guardrail.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAoB7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAwB,EACxB,KAAa,EACb,EAAe;IAEf,iBAAiB;IACjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,2DAA2D;YAC3D,6DAA6D;YAC7D,6DAA6D;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE5C,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;gBAAE,SAAS;YAElC,qCAAqC;YACrC,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,CAAC,CAAC,OAAO,CAAC;YACd,2CAA2C;YAC3C,yCAAyC;YACzC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAExC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2BAA2B;YAC3B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpE,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * AutoConfigRefiner — Agent 智能总结接口(模式 3)
3
- *
4
- * 从对话中提取配置建议(规则/角色/技能),通过 ConfigManager.onConfigSuggestion 通知宿主。
5
- *
6
- * 设计原则:
7
- * - 使用后台 Provider(setBackgroundProvider 注入),不占用前台对话资源
8
- * - 无后台 Provider 时降级为启发式规则提取
9
- * - 每次对话后异步执行,不阻塞主流程
10
- * - 置信度低于阈值时静默跳过
11
- */
12
- import type { LlmProvider } from '../../llm/provider.js';
13
- import type { ConfigSuggestion } from '../../agent/managers/configManager.js';
14
- /** AutoConfigRefiner 配置 */
15
- export interface AutoConfigRefinerOptions {
16
- /** 最低置信度阈值(0-1),低于此值的建议被丢弃 */
17
- minConfidence?: number;
18
- /** 单次对话最大建议数 */
19
- maxSuggestions?: number;
20
- }
21
- export declare class AutoConfigRefiner {
22
- private readonly onConfigSuggestion;
23
- private readonly options;
24
- private backgroundProvider;
25
- constructor(onConfigSuggestion: (suggestion: ConfigSuggestion) => void, options?: AutoConfigRefinerOptions);
26
- /** 注入后台 Provider(由 Agent.setBackgroundProvider 调用) */
27
- setBackgroundProvider(provider: LlmProvider | null): void;
28
- /**
29
- * 分析对话,提取配置建议
30
- *
31
- * 在 Agent.postProcess 中异步调用,不阻塞主流程。
32
- */
33
- analyze(userInput: string, assistantContent: string): Promise<void>;
34
- /** 使用后台 LLM 分析对话 */
35
- private analyzeWithLlm;
36
- /** 启发式规则提取(无 LLM 时的降级方案) */
37
- private analyzeWithHeuristics;
38
- }
39
- //# sourceMappingURL=autoConfigRefiner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoConfigRefiner.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/autoConfigRefiner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAK1E,2BAA2B;AAC3B,MAAM,WAAW,wBAAwB;IACvC,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiBD,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAJrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,kBAAkB,CAA4B;gBAGnC,kBAAkB,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,EAC3E,OAAO,CAAC,EAAE,wBAAwB;IAKpC,sDAAsD;IACtD,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CzE,oBAAoB;YACN,cAAc;IAgD5B,4BAA4B;IAC5B,OAAO,CAAC,qBAAqB;CAiD9B"}
@@ -1,146 +0,0 @@
1
- import { logger } from '../../logging/logger.js';
2
- import { parseLlmJson } from '../../utils/json.js';
3
- import { accumulateStream } from '../../agent/managers/streamAccumulator.js';
4
- const DEFAULT_OPTIONS = {
5
- minConfidence: 0.6,
6
- maxSuggestions: 3,
7
- };
8
- export class AutoConfigRefiner {
9
- onConfigSuggestion;
10
- options;
11
- backgroundProvider = null;
12
- constructor(onConfigSuggestion, options) {
13
- this.onConfigSuggestion = onConfigSuggestion;
14
- this.options = { ...DEFAULT_OPTIONS, ...options };
15
- }
16
- /** 注入后台 Provider(由 Agent.setBackgroundProvider 调用) */
17
- setBackgroundProvider(provider) {
18
- this.backgroundProvider = provider;
19
- }
20
- /**
21
- * 分析对话,提取配置建议
22
- *
23
- * 在 Agent.postProcess 中异步调用,不阻塞主流程。
24
- */
25
- async analyze(userInput, assistantContent) {
26
- // 短对话跳过(信息量不足)
27
- if (userInput.length < 20 || assistantContent.length < 20) {
28
- return;
29
- }
30
- let suggestions;
31
- if (this.backgroundProvider) {
32
- suggestions = await this.analyzeWithLlm(userInput, assistantContent);
33
- }
34
- else {
35
- suggestions = this.analyzeWithHeuristics(userInput);
36
- }
37
- // 过滤低置信度 + 限制数量
38
- const filtered = suggestions
39
- .filter((s) => s.confidence >= this.options.minConfidence)
40
- .slice(0, this.options.maxSuggestions);
41
- for (const raw of filtered) {
42
- const suggestion = {
43
- type: raw.type,
44
- name: raw.name,
45
- content: raw.content,
46
- confidence: raw.confidence,
47
- source: 'auto-config-refiner',
48
- };
49
- logger.info({ type: raw.type, name: raw.name, confidence: raw.confidence, reason: raw.reason }, 'AutoConfigRefiner: 提取到配置建议');
50
- // 单条建议回调失败时记日志并继续处理下一条,避免一条失败导致后续全部丢失
51
- try {
52
- this.onConfigSuggestion(suggestion);
53
- }
54
- catch (err) {
55
- logger.warn({ err, suggestionName: raw.name, suggestionType: raw.type }, 'AutoConfigRefiner: 单条建议回调失败,跳过该条继续处理');
56
- }
57
- }
58
- }
59
- /** 使用后台 LLM 分析对话 */
60
- async analyzeWithLlm(userInput, assistantContent) {
61
- if (!this.backgroundProvider)
62
- return [];
63
- const systemPrompt = `你是一个配置分析助手。分析用户和助手的对话,提取可能的配置建议。
64
-
65
- 规则(rule):用户反复提到的偏好、约束或工作方式
66
- 角色(persona):用户的工作角色或专业领域
67
- 技能(skill):用户经常需要的能力或工具
68
-
69
- 返回 JSON 数组,每个元素包含:
70
- - type: "rule" | "persona" | "skill"
71
- - name: 简短名称(2-6字)
72
- - content: Markdown 格式的详细内容
73
- - confidence: 0-1 置信度
74
- - reason: 为什么提出此建议
75
-
76
- 如果没有有价值的建议,返回空数组 []。
77
- 只返回 JSON,不要其他内容。`;
78
- const messages = [
79
- { role: 'system', content: systemPrompt },
80
- {
81
- role: 'user',
82
- content: `用户输入:${userInput.slice(0, 500)}\n\n助手回复:${assistantContent.slice(0, 500)}`,
83
- },
84
- ];
85
- try {
86
- // 收集流式输出(复用 accumulateStream 工具函数)
87
- const fullContent = await accumulateStream(this.backgroundProvider, messages, {
88
- temperature: 0.3,
89
- });
90
- const parsed = parseLlmJson(fullContent || '[]');
91
- const items = Array.isArray(parsed) ? parsed : parsed?.suggestions ?? [];
92
- return items.filter((s) => s.type && s.name && s.content && typeof s.confidence === 'number');
93
- }
94
- catch (err) {
95
- logger.warn({ err }, 'AutoConfigRefiner: LLM 分析失败,跳过');
96
- return [];
97
- }
98
- }
99
- /** 启发式规则提取(无 LLM 时的降级方案) */
100
- analyzeWithHeuristics(userInput) {
101
- const suggestions = [];
102
- const input = userInput.toLowerCase();
103
- // 检测明确的偏好声明("我喜欢..."、"我习惯..."、"我偏好...")
104
- const preferencePatterns = [
105
- /我(?:喜欢|偏好|习惯|常用|一般用)\s*(.{2,20})/gu,
106
- /(?:always|prefer|usually|typically)\s+(?:use|work with)\s+(.{2,20})/giu,
107
- ];
108
- for (const pattern of preferencePatterns) {
109
- const matches = input.matchAll(pattern);
110
- for (const match of matches) {
111
- const captured = match[1]?.trim() ?? '';
112
- const original = match[0] ?? '';
113
- if (!captured)
114
- continue;
115
- suggestions.push({
116
- type: 'rule',
117
- name: `偏好-${captured.slice(0, 10)}`,
118
- content: `用户偏好:${captured}`,
119
- confidence: 0.65,
120
- reason: `检测到明确的偏好声明:${original}`,
121
- });
122
- }
123
- }
124
- // 检测专业领域关键词
125
- const domainKeywords = {
126
- '代码|编程|bug|debug|重构|函数|接口': '程序员助手',
127
- '设计|UI|UX|原型|交互|视觉': '设计师助手',
128
- '写作|文案|编辑|文章|内容': '写作助手',
129
- '数据|分析|报表|统计|指标': '数据分析师',
130
- };
131
- for (const [keywordPattern, personaName] of Object.entries(domainKeywords)) {
132
- const regex = new RegExp(keywordPattern, 'iu');
133
- if (regex.test(input)) {
134
- suggestions.push({
135
- type: 'persona',
136
- name: personaName,
137
- content: `专业领域:${personaName}。用户对话中频繁出现相关术语。`,
138
- confidence: 0.6,
139
- reason: `检测到${personaName}领域关键词`,
140
- });
141
- }
142
- }
143
- return suggestions;
144
- }
145
- }
146
- //# sourceMappingURL=autoConfigRefiner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoConfigRefiner.js","sourceRoot":"","sources":["../../../src/agent/managers/autoConfigRefiner.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAoBzE,MAAM,eAAe,GAAuC;IAC1D,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,OAAO,iBAAiB;IAKT;IAJF,OAAO,CAAqC;IACrD,kBAAkB,GAAuB,IAAI,CAAC;IAEtD,YACmB,kBAA0D,EAC3E,OAAkC;QADjB,uBAAkB,GAAlB,kBAAkB,CAAwC;QAG3E,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,sDAAsD;IACtD,qBAAqB,CAAC,QAA4B;QAChD,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,gBAAwB;QACvD,eAAe;QACf,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,WAA4B,CAAC;QAEjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,gBAAgB;QAChB,MAAM,QAAQ,GAAG,WAAW;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;aACzD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAqB;gBACnC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,MAAM,EAAE,qBAAqB;aAC9B,CAAC;YAEF,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAClF,4BAA4B,CAC7B,CAAC;YAEF,sCAAsC;YACtC,IAAI,CAAC;gBACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,EAC3D,sCAAsC,CACvC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IACZ,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,gBAAwB;QACtE,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;iBAcR,CAAC;QAEd,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,QAAQ,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACrF;SACF,CAAC;QAEF,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE;gBAC5E,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,YAAY,CACzB,WAAW,IAAI,IAAI,CACpB,CAAC;YACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;YAEzE,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,CAAgB,EAAE,EAAE,CACnB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CACpE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,4BAA4B;IACpB,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,WAAW,GAAoB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEtC,wCAAwC;QACxC,MAAM,kBAAkB,GAAG;YACzB,oCAAoC;YACpC,wEAAwE;SACzE,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;oBACnC,OAAO,EAAE,QAAQ,QAAQ,EAAE;oBAC3B,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,cAAc,QAAQ,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,YAAY;QACZ,MAAM,cAAc,GAA2B;YAC7C,0BAA0B,EAAE,OAAO;YACnC,mBAAmB,EAAE,OAAO;YAC5B,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,OAAO;SAC1B,CAAC;QAEF,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,QAAQ,WAAW,iBAAiB;oBAC7C,UAAU,EAAE,GAAG;oBACf,MAAM,EAAE,MAAM,WAAW,OAAO;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
@@ -1,209 +0,0 @@
1
- /**
2
- * 配置管理器 — 规则/技能注入 + 配置建议持久化 + 设定 CRUD
3
- *
4
- * 从 Agent 拆分出来,负责:
5
- * - addRule / addSimpleRule:运行时规则注入(SQLite + System Prompt)
6
- * - addSkill / addSimpleSkill:运行时技能注入(仅 SkillManager,session-only)
7
- * - onConfigSuggestion / confirmConfigSuggestion:模式 3 配置建议回调 + 持久化
8
- * - deleteRule / updateRule / listRules:规则单条 CRUD(SQLite + System Prompt 同步)
9
- * - deleteSkill / listSkills:技能单条删除与列表(SQLite + SkillManager 内存同步)
10
- * - getBootstrapMemories:获取 rule + skill 记忆(供 AgentLoop 刷新 system prompt)
11
- *
12
- * 设计原则:
13
- * - 独立于 Agent 生命周期,仅依赖 Storage / SkillManager / 回调
14
- * - 不持有 LLM Provider(纯配置操作)
15
- * - 不直接操作文件(文件 CRUD 由宿主层 configFileManager 处理,本类只管 SQLite + system prompt 同步)
16
- */
17
- import type { Memory } from '../../memory/types.js';
18
- import type { IMemoryStorage } from '../../memory/storageInterface.js';
19
- import type { SkillManager } from '../../skill/skillManager.js';
20
- /**
21
- * 配置建议(模式 3 · Agent 智能总结)
22
- *
23
- * AutoConfigRefiner 从对话中提取的配置建议,通过 onConfigSuggestion 回调通知宿主。
24
- * 宿主决定展示方式(桌宠气泡 / CLI 打印 / WebUI 弹窗),
25
- * 用户确认后调用 confirmConfigSuggestion() 写入配置文件。
26
- *
27
- * 与 addRule() 的区别:
28
- * - addRule() 写入 SQLite(运行时注入,会话级)
29
- * - confirmConfigSuggestion() 写入配置文件(持久化,重启后依然生效)
30
- */
31
- export interface ConfigSuggestion {
32
- /**
33
- * 建议类型(开放字符串,对齐 ADR-004 基元驱动模型)
34
- *
35
- * 约定值:'rule' | 'persona' | 'skill'(由 sourceMap 映射到 SOURCE_LABELS)
36
- * 扩展值:任意字符串,需配合 `memorySource` 字段直接指定记忆 source 标签
37
- */
38
- type: string;
39
- /** 建议名称(如"代码风格"、"TypeScript 偏好") */
40
- name: string;
41
- /** 建议内容(Markdown 格式) */
42
- content: string;
43
- /** 置信度 0-1,低于阈值时宿主可选择性忽略 */
44
- confidence: number;
45
- /** 建议来源(如对话摘要、用户画像分析) */
46
- source?: string;
47
- /**
48
- * 可选:直接指定记忆 source 标签(绕过 sourceMap)
49
- *
50
- * 当 type 不在约定值内时,必须提供此字段,否则 confirmConfigSuggestion 抛 configError。
51
- */
52
- memorySource?: string;
53
- /**
54
- * 可选:写入配置文件 frontmatter 的额外元数据
55
- *
56
- * 键值对会合并到 frontmatter 中(如 `keywords`、`description`),
57
- * 供 PersonaManager.parseKeywords / SkillManager 等加载时解析。
58
- * 不传时 frontmatter 仅含标准字段(id/source/score/createdAt/accessedAt)。
59
- */
60
- metadata?: Record<string, string>;
61
- }
62
- /** 配置建议回调函数类型 */
63
- export type ConfigSuggestionHandler = (suggestion: ConfigSuggestion) => void;
64
- export declare class ConfigManager {
65
- private readonly index;
66
- private readonly skillManager;
67
- private readonly injectSystemMessage;
68
- private readonly writeConfigFile?;
69
- private readonly refreshBootstrapMemories?;
70
- /** 配置建议回调(模式 3) */
71
- private suggestionHandler;
72
- /**
73
- * @param index - 记忆存储(规则写入 SQLite)
74
- * @param skillManager - 技能管理器(运行时注入技能)
75
- * @param injectSystemMessage - 注入 system 消息的回调(来自 AgentLoop)
76
- * @param writeConfigFile - 写入配置文件的回调(来自 Agent,解耦 FileStore 依赖)
77
- * @param refreshBootstrapMemories - 刷新 AgentLoop system prompt 中 bootstrap 段的回调
78
- * 设定 CRUD(deleteRule/updateRule/deleteSkill)后调用,使 system prompt 中的
79
- * rule/skill 段立即同步。由 Agent 在装配时注入(assembler.ts)。
80
- */
81
- constructor(index: IMemoryStorage, skillManager: SkillManager, injectSystemMessage: (message: string) => void, writeConfigFile?: ((memory: Memory) => Promise<void>) | undefined, refreshBootstrapMemories?: (() => void) | undefined);
82
- /**
83
- * 注册配置建议回调(模式 3)
84
- *
85
- * 宿主项目通过此方法注册回调,当 AutoConfigRefiner 从对话中
86
- * 提取到配置建议时,通过此回调通知宿主。
87
- */
88
- onConfigSuggestion(handler: ConfigSuggestionHandler): void;
89
- /** 获取当前注册的配置建议回调 */
90
- get suggestionCallback(): ConfigSuggestionHandler | null;
91
- /**
92
- * 确认配置建议并写入配置文件(模式 3)
93
- *
94
- * 用户确认配置建议后,宿主调用此方法将建议持久化到 configDir/ 目录。
95
- * 写入的是配置文件(真理源),下次启动时 MemoryLoader 自动扫描加载到 SQLite。
96
- *
97
- * 与 addRule() 的关键区别:
98
- * - addRule() → 写入 SQLite(运行时注入,会话级,重启后需重新注入)
99
- * - confirmConfigSuggestion() → 写入配置文件(持久化,重启后自动加载)
100
- */
101
- confirmConfigSuggestion(suggestion: ConfigSuggestion): Promise<void>;
102
- /**
103
- * 新增项目规则记忆(Q-701 · v1.1)
104
- *
105
- * 宿主项目可通过此 API 在运行时动态注入规则记忆。
106
- * 规则写入 SQLite 索引后,重启时由 bootstrap 自动召回。
107
- * 当前轮次以 system 消息注入 AgentLoop。
108
- */
109
- addRule(memory: Memory): Promise<void>;
110
- /**
111
- * 新增项目规则的便捷方法
112
- *
113
- * 宿主程序只需提供 name + content 两个业务字段,
114
- * 内部自动填充 id / source / createdAt / accessedAt / score 等字段。
115
- */
116
- addSimpleRule(name: string, content: string): Promise<void>;
117
- /**
118
- * 运行时动态注入技能(session-only)
119
- *
120
- * 技能在 Skill 的设计中属于"配置型记忆"——
121
- * 由 SkillManager 在内存中管理,通过关键词匹配触发,
122
- * 同时写入 SQLite 索引(source: skill)以支持 recall() 检索。
123
- *
124
- * 路径一(文件加载):SkillManager.load() 扫描 configDir/skills/*.md → 内存 + SQLite
125
- * 路径二(运行时注入):addSkill() → SkillManager.register() → 内存 + SQLite
126
- * 路径三(持久化新增):config.confirmConfigSuggestion({type:'skill',...}) → 写配置文件 → 下次 load() 自动加载
127
- *
128
- * 注意:运行时注入的技能仅在当前会话内生效,重启后需重新注入。
129
- * 如需跨会话持久化,宿主应调用 config.confirmConfigSuggestion() 写入配置文件。
130
- */
131
- addSkill(memory: Memory): Promise<void>;
132
- /**
133
- * 运行时注入技能的便捷方法(session-only)
134
- *
135
- * 宿主程序只需提供 name + content 两个业务字段,
136
- * 内部自动填充 id / source / createdAt / accessedAt / score。
137
- * 注入后仅在当前会话生效,持久化需调用 config.confirmConfigSuggestion()。
138
- */
139
- addSimpleSkill(name: string, content: string, keywords?: string[]): Promise<void>;
140
- /**
141
- * 删除规则(设定面板调用)
142
- *
143
- * 软删除 SQLite 中 source='rule' name=name 的记忆,
144
- * 并刷新 AgentLoop system prompt 中的 bootstrap 段。
145
- *
146
- * 文件层删除由宿主层 configFileManager 处理(本方法不操作文件)。
147
- * 删除后调用 refreshBootstrapMemories 回调,使 system prompt 立即同步。
148
- *
149
- * @param name 规则名(与 frontmatter name 字段一致)
150
- * @returns true 删除成功;false 规则不存在
151
- */
152
- deleteRule(name: string): boolean;
153
- /**
154
- * 更新规则内容(设定面板调用)
155
- *
156
- * upsert SQLite 中 source='rule' name=name 的记忆,
157
- * 并刷新 AgentLoop system prompt 中的 bootstrap 段。
158
- *
159
- * 文件层更新由宿主层 configFileManager 处理(本方法不操作文件)。
160
- * 与 addRule 的区别:addRule 是新增(追加 system 消息),
161
- * updateRule 是覆盖更新(刷新 bootstrap 段,不追加 system 消息)。
162
- *
163
- * content 处理:调用方传入的是完整文件内容(含 frontmatter + body),
164
- * 本方法用 parseFrontmatter 解析后只存 body.trim(),
165
- * 与 FileStore.parseMemory(store.ts)保持一致——避免 system prompt bootstrap 段
166
- * 含 frontmatter 噪音,且重启后 MemoryLoader 重新加载时内容一致。
167
- *
168
- * @param name 规则名
169
- * @param content 新的规则文件内容(含 frontmatter + body)
170
- */
171
- updateRule(name: string, content: string): void;
172
- /**
173
- * 列出所有规则(设定面板调用)
174
- *
175
- * @returns 所有 source='rule' 的活跃记忆(按 score 降序)
176
- */
177
- listRules(): Memory[];
178
- /**
179
- * 删除技能(设定面板调用)
180
- *
181
- * 软删除 SQLite 中 source='skill' name=name 的记忆,
182
- * 同步清理 SkillManager 内存缓存,
183
- * 并刷新 AgentLoop system prompt 中的 bootstrap 段。
184
- *
185
- * 文件层删除由宿主层 configFileManager 处理(本方法不操作文件)。
186
- *
187
- * @param name 技能名
188
- * @returns true 删除成功;false 技能不存在
189
- */
190
- deleteSkill(name: string): boolean;
191
- /**
192
- * 列出所有技能(设定面板调用)
193
- *
194
- * @returns 所有 source='skill' 的活跃记忆(按 score 降序)
195
- */
196
- listSkills(): Memory[];
197
- /**
198
- * 获取 bootstrap 记忆(仅 Rule,供 AgentLoop 刷新 system prompt)
199
- *
200
- * AgentLoop 的 system prompt 中包含 bootstrap 段(rule 记忆)。
201
- * Skill 已迁移到 per-round matchAndInjectSkill 动态注入,不再放入 bootstrap。
202
- * 设定 CRUD 后调用 refreshBootstrapMemories 回调,回调内部调用此方法
203
- * 获取最新的 rule 记忆,传给 AgentLoop.refreshBootstrapMemories()。
204
- *
205
- * @returns rule 活跃记忆数组
206
- */
207
- getBootstrapMemories(): Memory[];
208
- }
209
- //# sourceMappingURL=configManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configManager.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/configManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,iBAAiB;AACjB,MAAM,MAAM,uBAAuB,GAAG,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAI7E,qBAAa,aAAa;IActB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAjB5C,mBAAmB;IACnB,OAAO,CAAC,iBAAiB,CAAwC;IAEjE;;;;;;;;OAQG;gBAEgB,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC9C,eAAe,CAAC,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA,EACnD,wBAAwB,CAAC,GAAE,MAAM,IAAI,aAAA;IAKxD;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAI1D,oBAAoB;IACpB,IAAI,kBAAkB,IAAI,uBAAuB,GAAG,IAAI,CAEvD;IAED;;;;;;;;;OASG;IACG,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6E1E;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C;;;;;OAKG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjE;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB7C;;;;;;OAMG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3F;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAajC;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAwB/C;;;;OAIG;IACH,SAAS,IAAI,MAAM,EAAE;IAIrB;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAelC;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;;;;;;;OASG;IACH,oBAAoB,IAAI,MAAM,EAAE;CAKjC"}