@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,99 +1,328 @@
1
1
  /**
2
- * 会话管理器
3
- *
4
- * 从 Agent 类中提取会话管理职责(ADR-010 §Agent 类拆分)。
5
- * 负责会话切换、分叉、恢复和消息加载,通过回调函数访问 Agent 的当前组件状态,
6
- * 避免与 Agent 的 history/loop 引用生命周期耦合。
7
- *
8
- * Agent 通过组合方式持有 SessionManager 实例,将会话相关操作委托给它。
2
+ * 会话管理器:从 Agent 拆出的独立会话职责,负责会话切换/分叉/恢复/消息加载。
3
+ * 通过回调访问 Agent 当前组件状态,避免与 history/loop 引用生命周期耦合。
4
+ * 不中断工作模型:SessionCheckpoint 为同进程内存态快照(不落盘、无序列化/恢复路径);SessionStateMachine 管理三态流转。
9
5
  */
10
6
  import type { AgentLoop } from '../../agent/loop.js';
11
- import type { MessageHistory } from '../../agent/messageHistory.js';
7
+ import type { MessageHistory, ForkResult } from '../../agent/messageHistory.js';
12
8
  import type { SessionMessage } from '../../memory/sessionStore.js';
13
- import type { ISessionStore } from '../../memory/sessionStore.js';
9
+ import type { ISessionStore, SessionMeta } from '../../memory/sessionStore.js';
10
+ import { type AgentEventName } from '../../utils/eventEmitter.js';
11
+ import type { SessionCheckpoint, SessionStatus, PlanItem, ToolExecutionRecord, PauseMeta, PauseSource } from '../../agent/types.js';
12
+ import type { GoalConsistencyResult } from '../../agent/managers/goalConsistencyChecker.js';
14
13
  /**
15
- * Agent.forkSession() 返回值类型
14
+ * 分叉操作结果(round-based 模式)
16
15
  *
17
- * 注意:与 MessageHistory.forkSession() 的内部返回类型 ForkResult 不同,
18
- * Agent 层做了简化封装,只暴露宿主需要的 newSession 和 messageCount。
19
- */
20
- export interface AgentForkResult {
21
- /** 新分支会话名(不含日期前缀的简短名,可直接传给 switchSession()) */
22
- newSession: string;
23
- /** 分叉时复制的消息数量 */
24
- messageCount: number;
25
- }
26
- /**
27
- * 会话管理器
28
- *
29
- * 通过回调函数访问 Agent 的当前组件状态,支持 Agent 重建组件后自动获取最新引用。
16
+ * 在 MessageHistory 内部 ForkResult(newSession/date/roundIds)之上附加 roundCount,
17
+ * 基础字段派生复用,不再手写重复声明。
30
18
  */
19
+ export type AgentForkResult = ForkResult & {
20
+ /** 新会话的 Round ID 数量(问答闭环个数) */
21
+ roundCount: number;
22
+ };
23
+ /** 会话管理器:经回调访问 Agent 当前组件状态,支持 Agent 重建后自动取最新引用 */
31
24
  export declare class SessionManager {
32
- /** 获取当前 MessageHistory 实例的回调 */
33
25
  private getHistory;
34
- /** 获取当前 AgentLoop 实例的回调 */
35
26
  private getLoop;
36
27
  /** 会话存储(可选,由宿主注入) */
37
28
  private sessionStore;
38
- /** 检查对话是否繁忙的回调 */
39
29
  private isChatBusy;
40
30
  /** 发射事件(委托给 Agent 的 TypedEventEmitter) */
41
31
  private emitEvent;
42
- constructor(getHistory: () => MessageHistory, getLoop: () => AgentLoop, sessionStore: ISessionStore | undefined, isChatBusy: () => boolean, emitEvent: (event: string, data: Record<string, unknown>) => void);
32
+ /** 会话状态机(三态流转,经有界代理方法访问) */
33
+ private stateMachine;
34
+ /** 当前会话检查点(运行时状态快照) */
35
+ private checkpoint;
36
+ /** 检查点脏标记(内存态收口):touchCheckpoint 置位、settleCheckpoint 清理(纯内存态,不落盘) */
37
+ private checkpointDirty;
38
+ /** 目标一致性校验器(目标版本一致性校验) */
39
+ private readonly consistencyChecker;
43
40
  /**
44
- * 切换当前会话
41
+ * 连续暂停时间戳数组(防滥用窗口):每次高风险暂停记录时间戳,窗口(1 小时)内连续 2 次则强制降为低风险暂停。
42
+ * ⚠ 进程内状态,不入 SessionCheckpoint——重启归零是设计(反滥用卫生状态,非执行状态);1h 窗口自愈防线,勿引入持久化。
43
+ */
44
+ private consecutivePauseTimestamps;
45
+ /** 连续暂停时间窗口(毫秒),1 小时前的暂停不计入连续计数 */
46
+ private static readonly CONSECUTIVE_PAUSE_WINDOW_MS;
47
+ /** 暂停超时检测定时器(只在 paused 状态时运行) */
48
+ private _pauseTimeoutTimer;
49
+ /** 暂停超时检测间隔(毫秒),30 秒检查一次心跳 */
50
+ private static readonly PAUSE_TIMEOUT_CHECK_INTERVAL;
51
+ constructor(getHistory: () => MessageHistory, getLoop: () => AgentLoop, sessionStore: ISessionStore | undefined, isChatBusy: () => boolean, emitEvent: (event: AgentEventName, data: Record<string, unknown>) => void);
52
+ /** 会话状态(状态机状态) */
53
+ get status(): SessionStatus;
54
+ /** 获取暂停信息(仅 PAUSED 时有效) */
55
+ get pauseInfo(): {
56
+ reason: string;
57
+ source: PauseSource;
58
+ } | null;
59
+ /** 获取异常原因(仅 ERROR 时有效) */
60
+ get errorInfo(): string | null;
61
+ /** 获取待处理暂停信息(只读,不消费) */
62
+ get pendingPauseInfo(): {
63
+ reason: string;
64
+ source: PauseSource;
65
+ } | null;
66
+ /** 检查是否处于暂停态 */
67
+ isPaused(): boolean;
68
+ /** 检查是否处于运行态 */
69
+ isRunning(): boolean;
70
+ /** 待处理暂停请求是否在等待中 */
71
+ isPausePending(): boolean;
72
+ /**
73
+ * 请求软暂停(仅 RUNNING 状态允许)
45
74
  *
46
- * 与 forkSession() 对齐:底层 MessageHistory.switchSession 是纯同步操作(字段赋值),
47
- * Agent 层不引入无意义的 async 包装。返回新会话名。
75
+ * 暂存暂停原因和来源,待 loop 边界真正挂起时由 consumePendingPause() 消费。
76
+ * 与 pause() 不同:pause() 立即翻状态机,requestPause() 仅注册待处理请求。
77
+ */
78
+ requestPause(reason: string, source?: PauseSource): boolean;
79
+ /** 消费待处理暂停请求(在 loop 边界真正挂起时调用) */
80
+ consumePendingPause(): {
81
+ reason: string;
82
+ source: PauseSource;
83
+ } | null;
84
+ /** 取消待处理暂停请求 */
85
+ cancelPendingPause(): void;
86
+ /**
87
+ * 会话替换 chokepoint:作废所有会话级派生缓存。
88
+ * 任何替换 loop 工作记忆(switch/fork/restore)入口都必须经此,新增派生缓存在此注册一处避免"对称的另一半没写完"。
48
89
  */
90
+ private invalidateSessionDerivedState;
91
+ /** 切换当前会话。底层 MessageHistory.switchSession 为纯同步操作,不引入无意义 async 包装。 */
49
92
  switchSession(newSession: string): string;
50
93
  /**
51
- * 获取当前会话的日期和会话名
52
- *
53
- * 供宿主在 switchSession 前获取当前会话标识,用于触发 content 类归档。
54
- * 返回 null 表示 history 未初始化。
94
+ * 打开指定会话(新建空/切换已有)= switchSession 的完整版:切换身份后同步 loadSessionMessages + restoreHistory。
95
+ * 已有会话恢复历史到工作记忆;新建空会话 restoreHistory([]) 清空(保留 system prompt),避免旧会话上下文残留注入首条消息。
96
+ * 使用正则 /^(\d{4}-\d{2}-\d{2})-(.+)$/ 解析,正确处理包含连字符的会话名(如 2024-01-15-my-session)。
97
+ * @returns 恢复的消息数(0 表示新建空会话)
55
98
  */
99
+ switchToSession(sessionId: string): Promise<number>;
100
+ /** 获取当前会话的日期和会话名(供 switchSession 前触发 content 类归档);history 未初始化返回 null */
56
101
  getCurrentSessionInfo(): {
57
102
  date: string;
58
103
  session: string;
59
104
  } | null;
105
+ /** 读取会话标题元数据:供宿主历史列表展示;未注入 getSessionMeta 时标题层静默失效 */
106
+ getSessionMeta(sessionId: string): SessionMeta | undefined;
107
+ /** 手动改名会话:仅写 displayName(用户可改),不改 autoName(LLM 只读)。显示回退:displayName 非空用之,否则用 autoName */
108
+ renameSession(sessionId: string, title: string): void;
60
109
  /**
61
- * 分叉当前会话:复制完整消息历史到新分支,切换到新分支继续对话
110
+ * 从指定 Round 位置分叉当前会话(round-based 模式唯一分叉方式)。
111
+ *
112
+ * 分叉后:新会话包含分叉点及之前的所有 Round ID,是完全平等的普通会话。
113
+ * 原会话完整保留可切回;新会话的问答闭环独立互不干扰。
114
+ * ⚠ fork 不隔离记忆——分支 A 的 round-summary 会在分支 B 召回中出现。
62
115
  *
63
- * 分叉后:
64
- * - 原会话完整保留,可随时通过 switchSession() 切回(用原会话简短名)
65
- * - 新分支拥有独立的消息历史,后续对话互不干扰
66
- * - 记忆索引(IMemoryStorage)全局共享,不受分叉影响
116
+ * @param roundId - 分叉点的 Round ID(可选;不传默认使用最后一个 Round)
117
+ * @param targetSession - 可选,自定义新会话名;不传则自动生成
118
+ */
119
+ forkSession(roundId?: string, targetSession?: string): AgentForkResult;
120
+ /**
121
+ * 恢复最近活跃会话:经 ISessionStore 加载最近消息到工作记忆;宿主未注入则返回 0。
122
+ *
123
+ * 会话管理纯度:会话一律手动创建(宿主标题条「+」唯一入口),
124
+ * 本方法只做「恢复」、绝不隐式创建会话——无按天归档隐式语义
125
+ * (「今天-main 优先」类规则),也无 preferredSession 参数。最近活跃的唯一时间序真理源 = listSessionMetas[0](updatedAt 降序)。
126
+ *
127
+ * @returns 恢复的消息条数(0 = 无可恢复会话)
128
+ */
129
+ restoreMostRecentSession(): Promise<number>;
130
+ /** 恢复指定会话的对话 */
131
+ restoreSession(date: string, session: string): Promise<number>;
132
+ /** 对外暴露的 loadSessionMessages 委托。⚠ 会切换当前会话(更新 currentDate/currentSession),加载后下一条 chat 写入被加载会话 */
133
+ loadSessionMessages(date: string, session: string): Promise<SessionMessage[]>;
134
+ /** 将会话消息恢复到 AgentLoop 工作记忆 */
135
+ private applySessionToLoop;
136
+ /**
137
+ * 检查点必需字段默认值工厂(默认值单一真理源)。
138
+ * 仅 createCheckpoint 新建/合并时使用——反序列化采用严格模式,不做静默补齐。
139
+ * 必须返回新实例:数组/对象默认值共享引用会让不同检查点互相污染(一个 push 计划任务项另一凭空多出)。
140
+ */
141
+ private static checkpointDefaults;
142
+ /** 从当前运行时状态创建检查点:快照消息历史与会话标识生成 SessionCheckpoint(纯内存态,
143
+ * 不落盘——中止/断电走中断轮补全,运行时暂停同 turn 内存续跑) */
144
+ createCheckpoint(mainGoal?: string): SessionCheckpoint;
145
+ /**
146
+ * 标记检查点已变更(内存写点统一入口)。刷新心跳并置脏标记。
147
+ * 所有修改 this.checkpoint 的方法都必须调用本方法,不得直接赋值 lastHeartbeat——否则变更不被后续清脏感知,内存与清脏链路静默分叉。
148
+ */
149
+ private touchCheckpoint;
150
+ /**
151
+ * 检查点脏标记清理(**纯内存态**):
152
+ * `SessionCheckpoint` 不落盘——中止/断电走「中断轮补全为完整 turn」而非跨重启恢复,
153
+ * 运行时暂停是同 turn 内续跑(内存态),无跨进程载体需求。故本方法仅清理脏标记,
154
+ * 不再写存储层(保留方法语义边界,避免为纯净化波及 40+ 处调用点)。
155
+ */
156
+ private settleCheckpoint;
157
+ /** 获取当前检查点快照;未创建返回 null */
158
+ getCheckpoint(): SessionCheckpoint | null;
159
+ /**
160
+ * 暂停会话(用户/Agent/系统均可触发)。暂停前自动创建检查点;高风险暂停计入连续计数(防滥用),低风险不计。
161
+ * @param lowRisk 低风险暂停不计连续计数(默认 false)
162
+ */
163
+ pause(reason: string, source?: PauseSource, lowRisk?: boolean): boolean;
164
+ /** 恢复会话:从 PAUSED 恢复到 RUNNING。超时会话需重新开始,不能恢复 */
165
+ resume(): boolean;
166
+ /** 触发异常(仅 RUNNING 态)。异常时自动创建检查点;createCheckpoint 会从状态机投影 status/error,不再手工赋值避免并列真理源 */
167
+ triggerError(cause: string): boolean;
168
+ /** 清理过期暂停时间戳(窗口过滤):移除超过窗口(1 小时)的旧时间戳,仅保留窗口内暂停;每次查询计数时自动调用 */
169
+ private pruneStalePauseTimestamps;
170
+ /** 检查连续暂停是否已达上限(防滥用):先清理窗口外时间戳,再查窗口内暂停≥2 次则强制降为低风险暂停。低风险不计数 */
171
+ isPauseLimitReached(): boolean;
172
+ /** 获取当前连续暂停计数:先清理窗口外时间戳,返回窗口内有效暂停数 */
173
+ getConsecutivePauseCount(): number;
174
+ /** 重置连续暂停计数(防滥用):暂停超时处理后调用。与 resume() 分离,防回答前过早清零致防滥用失效 */
175
+ resetConsecutivePauseCount(): void;
176
+ /**
177
+ * 放弃当前暂停检查点(宿主 stop 语义的内核出口)
67
178
  *
68
- * **注意**:fork 不隔离记忆。分支 A 中提取的 insight 会在分支 B
69
- * 的召回中出现,反之亦然。如需要完全独立的记忆空间(如多用户场景),
70
- * 应创建独立 Agent 实例 + 独立 dataDir,而非 fork。
179
+ * 语义 = 用户决定**彻底放弃**暂停执行,不再 resume。清理内容:
180
+ * 1. 停暂停超时定时器(防止已放弃的 checkpoint 继续被超时清理)
181
+ * 2. 清内存态 checkpoint + checkpointDirty + pauseMeta
182
+ * 3. 状态机 resetToRunning(回到 idle 之前的 running 基础态,下次 chat() 正常)
71
183
  *
72
- * @param targetSession - 自定义新分支名(可选,不传则自动生成)
73
- * @returns { newSession, messageCount }
184
+ * 与 resume() 的区别:resume = 想继续跑暂停点;discardCheckpoint = 不想了,检查点作废。
185
+ * 与 pause() 的对称:pause 创建检查点;discardCheckpoint 销毁检查点。
186
+ * @returns true=成功清理;false=无暂停检查点(空闲态调了个空)
74
187
  */
75
- forkSession(targetSession?: string): AgentForkResult;
188
+ discardCheckpoint(): boolean;
189
+ /** 从异常恢复:标记 error.recovered=true 并经 stateMachine.recover 校验。检查点不落盘,恢复仅活在内存态 */
190
+ recover(): boolean;
76
191
  /**
77
- * 恢复最近的会话对话
192
+ * 更新检查点目标版本:递增 goalChangeSeq 触发漂移检测。漂移处置由内核自兜底不依赖宿主:
193
+ * drift 级内核直接低风险暂停强制确认;minor 级仅发射事件+日志不打断执行。
194
+ * goalDriftDetected 事件为可观测性出口,宿主可选订阅,不订阅不影响正确性。
195
+ */
196
+ updateGoal(newGoal: string): GoalConsistencyResult | null;
197
+ /** 全量替换计划任务项(与 appendPlanItem 仅追加正交;保留已有任务项 id/status)。唯一生产点:task_table_write mode='replace' */
198
+ updatePlan(plan: PlanItem[]): void;
199
+ /** 追加计划任务项:在 plan 末尾追加新任务项,不重排已有 order。rolePack 为会议表层装配角色(可选) */
200
+ appendPlanItem(description: string, rolePack?: string): number;
201
+ /**
202
+ * 写入执行计划(计划写入口唯一分发点)。模式语义:
203
+ * 'overwrite':先清空现有 plan 再逐条追加(真重写——LLM task_table_write / 会议预置都依赖此语义,
204
+ * 若与 'append' 同分支只追加不清空,则 overwrite 名存实亡);
205
+ * 'append' :在现有 plan 后逐条追加;
206
+ * 'replace' :全量替换现有 plan(保留已有 id/status/rolePack,仅覆盖 description)。
207
+ * 其它 mode 兜底 no-op。
208
+ * 分发逻辑归本类承载,由 sessionCheckpointLifecycle.test.ts 覆盖。
209
+ */
210
+ writePlan(mode: 'overwrite' | 'append' | 'replace', items: Array<{
211
+ description: string;
212
+ rolePack?: string;
213
+ }>): PlanItem[];
214
+ /**
215
+ * 更新计划任务项状态(plan 任务项状态的唯一写点)。必须经此写点置 checkpointDirty,
216
+ * 否则状态变更可能丢失标脏,计划变更与标脏在此原子完成。
78
217
  *
79
- * 通过 ISessionStore 加载最近的会话消息,恢复到 AgentLoop 工作记忆。
80
- * 宿主项目需注入 ISessionStore 实现,否则返回 0。
218
+ * 写完后自动 ensureActivePlanItem:如果变更导致 active 空缺(如把 active 标记为 done/blocked),
219
+ * 则推进下一个 pending → active。这保证任何时刻 plan 中恰好有一个 active 任务项。
81
220
  */
82
- restoreMostRecentSession(preferredSession?: string): Promise<number>;
221
+ updatePlanItemStatus(planItemId: string, status: PlanItem['status']): boolean;
83
222
  /**
84
- * 恢复指定会话的对话
223
+ * 确保 plan 中存在且仅存在一个 active 任务项(SSOT 自维护)。
224
+ *
225
+ * 三种场景会触发补偿:
226
+ * 1. 全 pending,无 active → 激活第一个 pending(plan 刚写入时)
227
+ * 2. 有 active,且刚被标记为 done/blocked → 激活下一个 pending(推进语义)
228
+ * 3. 无 active 且全 done/blocked → 空操作(plan 已完成)
229
+ *
230
+ * 不在 updatePlanItemStatus 外部重复调用——它在每次写点后自动执行。
85
231
  */
86
- restoreSession(date: string, session: string): Promise<number>;
232
+ private ensureActivePlanItem;
87
233
  /**
88
- * 对外暴露的 loadSessionMessages 委托
234
+ * 是否存在「在途计划」= 有未完成任务项(pending 或 active)。
89
235
  *
90
- * **注意:此方法会切换当前会话**(更新 currentDate/currentSession)。
91
- * 加载后,下一次 chat() 的消息会写入被加载的会话。
236
+ * SSOT:全库该命题唯一实现。消费方三处——会议骨架预置守卫(prepare,判断续会不重开)、
237
+ * 任务表 nudge 跳过(loop,已有在途表则不再诱导建表)、canContinueWithoutInput(agent,
238
+ * 可续跑信号)。禁任一消费方自行内联谓词。
239
+ *
240
+ * 口径取 pending||active(非仅 active):与 ensureActivePlanItem 的补偿语义对齐——
241
+ * plan 非空时恒有一个 active(见 :826 场景 1/2),全 done/blocked 时无 active(场景 3),
242
+ * 两种判法在「有未完成任务项」上等价,但本口径直接表达「未完成」而非「借 active 存在性」。
92
243
  */
93
- loadSessionMessages(date: string, session: string): Promise<SessionMessage[]>;
244
+ hasInflightPlan(): boolean;
245
+ /** 完成一个任务项(显式完成原语):单函数内顺序写任务项状态 + planItemLog + heartbeat 保证原子性。
246
+ * 消费方 = turn 收尾兜底 concludeActivePlanItemIfPlanFullyReached(LLM 未显式 task_table_update
247
+ * 的最后一个任务项补标);迭代边界 onPlanItemBoundary 只走 logPlanItemBoundary 写日志,
248
+ * 不经本方法推进。 */
249
+ completePlanItem(options: {
250
+ planItemId?: string;
251
+ summary: string;
252
+ }): void;
253
+ /** 写 step 边界日志(时间轴投影,不改 plan 状态)。迭代边界
254
+ * onPlanItemBoundary 只做本写——plan 状态推进唯一写者 = LLM 的 task_table_update。 */
255
+ logPlanItemBoundary(options: {
256
+ planItemId?: string;
257
+ summary: string;
258
+ }): void;
94
259
  /**
95
- * 将会话消息恢复到 AgentLoop 工作记忆
260
+ * 兜底收尾(「LLM 未显式 update 即收尾」):turn 正常完成且计划已「全部到达」——
261
+ * 存在 active 任务项且无 pending 任务项(LLM 已显式完成所有更早任务项、当前项为最后到达的一项)——
262
+ * 时闭合该 active 任务项(completePlanItem:标 done + planItemLog)。LLM 忘标最后一个任务项时由本兜底补上,
263
+ * 使计划达到全 done(任务表 turn 内收敛,turn 结束兜底清理);真实多轮任务(有 pending)不受影响。
264
+ * 触发点 = seed/orchestrator.act 正常收尾分支(非暂停/中断/失败)。
96
265
  */
97
- private applySessionToLoop;
266
+ concludeActivePlanItemIfPlanFullyReached(summary: string): void;
267
+ /**
268
+ * 追加任务项日志(completePlanItem / logPlanItemBoundary 共用)。按 planItemId
269
+ * 分组截断,每任务项最多 3 条——若用全局 FIFO 12 条,5+ 任务项的任务中旧任务项的运行记录会被
270
+ * 整段截没,用户翻旧已完成任务项的摘要看到「空」。
271
+ */
272
+ private appendPlanItemLog;
273
+ /** 卸载运行态挂载物:任务流结束/转 idle 时清空 plan/planItemLog(SSOT 资源层 vs 状态层模型),回到"空闲=无挂载物"常态;与 updatePlan(运行态维护)正交 */
274
+ clearPlan(): void;
275
+ /** 设置暂停元数据;传 undefined 清除。写后必须清脏(清除也清脏,纯内存态无磁盘残留) */
276
+ setPauseMeta(meta: PauseMeta | undefined): void;
277
+ /**
278
+ * 计划是否全部阻塞(预判短路收窄专用判定):仅全 blocked 视为真停滞。
279
+ * 全 done / 计划空不视为"需要拦截"——用户主动点「继续」= 要 AI 产出,
280
+ * 全 done 可能只是本步收尾(还有总结未说出),空计划是普通问答暂停续跑,都应放行调 LLM。
281
+ * 口径警告:不得把空计划/全 done 判为停滞,否则会误拦正常续跑。
282
+ */
283
+ isPlanAllBlocked(): boolean;
284
+ /** 获取下一个 pending 任务项(只读不推进,供上下文注入) */
285
+ getNextPendingPlanItem(): PlanItem | null;
286
+ /** 获取当前 active 任务项 */
287
+ getActivePlanItem(): PlanItem | null;
288
+ /**
289
+ * 记录工具执行:追加到检查点日志(append-only,内存态)。
290
+ * 标脏策略:仅标脏不即时清脏(completePlanItem step 边界统一清脏、createCheckpoint 暂停/异常强制清脏)。
291
+ * 检查点纯内存态不落盘:completedToolCalls 仅内存态,回合中途崩溃即整体丢弃、走中断轮补全恢复;
292
+ * 「工具重跑排重」仅在单进程存活期内有效,无跨重启持久化。
293
+ */
294
+ logToolExecution(record: ToolExecutionRecord): void;
295
+ /** 记录非幂等工具执行(补偿降级后仅日志):不再逐副作用执行补偿,仅记录事实供宿主/人工排查 */
296
+ compensateTool(record: ToolExecutionRecord): string;
297
+ /** 记录所有非幂等工具执行(补偿降级后仅日志):直接记录所有非幂等工具,每条生成一条日志 */
298
+ compensateAllNonIdempotent(): string[];
299
+ /** 发送心跳,防僵尸会话 */
300
+ heartbeat(): void;
301
+ /**
302
+ * 标记会话暂停超时(超时事实唯一写点)。广播式:超时信息经事件载荷传递,多监听器并行消费互不干扰。
303
+ * 由 checkPauseTimeout 调用(唯一调用点,启动路径无跨重启恢复)。
304
+ * 会话标识不符 YYYY-MM-DD-<会话名> 时 date/session 缺省但仍发射事件。
305
+ */
306
+ private markSessionTimedOut;
307
+ /** 启动暂停超时检测定时器(仅 paused 态生效):超时自动清理检查点、重置状态机、发射事件。先 stop 防重复启动 */
308
+ private startPauseTimeoutTimer;
309
+ /** 停止暂停超时检测定时器 */
310
+ private stopPauseTimeoutTimer;
311
+ /** 检查暂停超时并在超时时自动清理:清理检查点、重置状态机、发射事件并停止定时器 */
312
+ private checkPauseTimeout;
313
+ /** 关闭时清脏(纯内存,无落盘):Agent 关闭、destroy 前调用。检查点不落盘,
314
+ * 本方法为保留语义边界的 no-op 清脏(无持久化动作) */
315
+ flushOnShutdown(): void;
316
+ /** 立即清脏(纯内存,无落盘):非只读工具完成后调用。⚠️ 检查点不落盘,completedToolCalls 仅内存态——
317
+ * 「工具重跑排重」仅在单进程存活期内生效,进程崩溃/重启后失效(走中断轮补全)。无落盘设计,
318
+ * 本方法为保留语义边界的 no-op 清脏 */
319
+ flushNow(): void;
320
+ /** 销毁 SessionManager,清理所有定时器(防阻止进程退出或悬空回调) */
321
+ destroy(): void;
322
+ /**
323
+ * 检查暂停是否超时:仅对 paused 态,距离暂停起点(pausedAt,缺失回退 lastHeartbeat)超过 PAUSE_TIMEOUT_MS 视为超时。
324
+ * pausedAt 与 lastHeartbeat 解耦,避免暂停后 touchCheckpoint 刷新心跳让超时判定被无限推迟。超时会话自动清理不再恢复。
325
+ */
326
+ private isPauseTimedOut;
98
327
  }
99
328
  //# sourceMappingURL=sessionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/sessionManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,gCAAgC;IAChC,OAAO,CAAC,UAAU,CAAuB;IACzC,2BAA2B;IAC3B,OAAO,CAAC,OAAO,CAAkB;IACjC,qBAAqB;IACrB,OAAO,CAAC,YAAY,CAA4B;IAChD,kBAAkB;IAClB,OAAO,CAAC,UAAU,CAAgB;IAClC,0CAA0C;IAC1C,OAAO,CAAC,SAAS,CAAyD;gBAGxE,UAAU,EAAE,MAAM,cAAc,EAChC,OAAO,EAAE,MAAM,SAAS,EACxB,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,OAAO,EACzB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IASnE;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IASzC;;;;;OAKG;IACH,qBAAqB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcjE;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,eAAe;IA6BpD;;;;;OAKG;IACG,wBAAwB,CAAC,gBAAgB,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgD1E;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBpE;;;;;OAKG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IASnF;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"sessionManager.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/sessionManager.ts"],"names":[],"mappings":"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"}