@zooique/memora 2.0.0 → 3.0.0
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.
- package/CHANGELOG.md +1028 -0
- package/README.en.md +305 -0
- package/README.md +303 -148
- package/config.example.json +43 -0
- package/dist/agent/agent.d.ts +438 -295
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +1368 -836
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +117 -39
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +574 -71
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/budget.d.ts +131 -0
- package/dist/agent/budget.d.ts.map +1 -0
- package/dist/agent/budget.js +128 -0
- package/dist/agent/budget.js.map +1 -0
- package/dist/agent/builtinToolHandlers.d.ts +229 -17
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +758 -70
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +198 -7
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +646 -14
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/compaction.d.ts +93 -0
- package/dist/agent/compaction.d.ts.map +1 -0
- package/dist/agent/compaction.js +192 -0
- package/dist/agent/compaction.js.map +1 -0
- package/dist/agent/constants.d.ts +139 -18
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +154 -18
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +126 -76
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +197 -135
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/contextPreparer.d.ts +78 -0
- package/dist/agent/contextPreparer.d.ts.map +1 -0
- package/dist/agent/contextPreparer.js +128 -0
- package/dist/agent/contextPreparer.js.map +1 -0
- package/dist/agent/duplicateInterceptor.d.ts +67 -0
- package/dist/agent/duplicateInterceptor.d.ts.map +1 -0
- package/dist/agent/duplicateInterceptor.js +82 -0
- package/dist/agent/duplicateInterceptor.js.map +1 -0
- package/dist/agent/guardRail.d.ts +166 -0
- package/dist/agent/guardRail.d.ts.map +1 -0
- package/dist/agent/guardRail.js +333 -0
- package/dist/agent/guardRail.js.map +1 -0
- package/dist/agent/loop.d.ts +718 -253
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +2215 -648
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +21 -74
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +32 -105
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/chatLockManager.d.ts +20 -88
- package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
- package/dist/agent/managers/chatLockManager.js +31 -103
- package/dist/agent/managers/chatLockManager.js.map +1 -1
- package/dist/agent/managers/dedupManager.d.ts +85 -0
- package/dist/agent/managers/dedupManager.d.ts.map +1 -0
- package/dist/agent/managers/dedupManager.js +248 -0
- package/dist/agent/managers/dedupManager.js.map +1 -0
- package/dist/agent/managers/goalConsistencyChecker.d.ts +42 -0
- package/dist/agent/managers/goalConsistencyChecker.d.ts.map +1 -0
- package/dist/agent/managers/goalConsistencyChecker.js +178 -0
- package/dist/agent/managers/goalConsistencyChecker.js.map +1 -0
- package/dist/agent/managers/llmCaller.d.ts +124 -0
- package/dist/agent/managers/llmCaller.d.ts.map +1 -0
- package/dist/agent/managers/llmCaller.js +417 -0
- package/dist/agent/managers/llmCaller.js.map +1 -0
- package/dist/agent/managers/llmJudgeHelper.d.ts +21 -0
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +1 -0
- package/dist/agent/managers/llmJudgeHelper.js +32 -0
- package/dist/agent/managers/llmJudgeHelper.js.map +1 -0
- package/dist/agent/managers/loopMetrics.d.ts +58 -0
- package/dist/agent/managers/loopMetrics.d.ts.map +1 -0
- package/dist/agent/managers/loopMetrics.js +68 -0
- package/dist/agent/managers/loopMetrics.js.map +1 -0
- package/dist/agent/managers/memoryAdvisor.d.ts +27 -120
- package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
- package/dist/agent/managers/memoryAdvisor.js +56 -192
- package/dist/agent/managers/memoryAdvisor.js.map +1 -1
- package/dist/agent/managers/memoryGovernance.d.ts +24 -0
- package/dist/agent/managers/memoryGovernance.d.ts.map +1 -0
- package/dist/agent/managers/memoryGovernance.js +46 -0
- package/dist/agent/managers/memoryGovernance.js.map +1 -0
- package/dist/agent/managers/memoryInspector.d.ts +59 -393
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +92 -736
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts +56 -0
- package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -0
- package/dist/agent/managers/roundSummaryGenerator.js +201 -0
- package/dist/agent/managers/roundSummaryGenerator.js.map +1 -0
- package/dist/agent/managers/sessionArchiver.d.ts +19 -63
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +83 -157
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts +286 -57
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +846 -85
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/managers/sessionNamer.d.ts +35 -0
- package/dist/agent/managers/sessionNamer.d.ts.map +1 -0
- package/dist/agent/managers/sessionNamer.js +104 -0
- package/dist/agent/managers/sessionNamer.js.map +1 -0
- package/dist/agent/managers/streamAccumulator.d.ts +20 -0
- package/dist/agent/managers/streamAccumulator.d.ts.map +1 -0
- package/dist/agent/managers/streamAccumulator.js +15 -0
- package/dist/agent/managers/streamAccumulator.js.map +1 -0
- package/dist/agent/managers/textPolishManager.d.ts +8 -44
- package/dist/agent/managers/textPolishManager.d.ts.map +1 -1
- package/dist/agent/managers/textPolishManager.js +12 -47
- package/dist/agent/managers/textPolishManager.js.map +1 -1
- package/dist/agent/managers/toolCallHelpers.d.ts +105 -0
- package/dist/agent/managers/toolCallHelpers.d.ts.map +1 -0
- package/dist/agent/managers/toolCallHelpers.js +161 -0
- package/dist/agent/managers/toolCallHelpers.js.map +1 -0
- package/dist/agent/managers/workProjection.d.ts +57 -87
- package/dist/agent/managers/workProjection.d.ts.map +1 -1
- package/dist/agent/managers/workProjection.js +166 -246
- package/dist/agent/managers/workProjection.js.map +1 -1
- package/dist/agent/messageHistory.d.ts +134 -84
- package/dist/agent/messageHistory.d.ts.map +1 -1
- package/dist/agent/messageHistory.js +419 -133
- package/dist/agent/messageHistory.js.map +1 -1
- package/dist/agent/needsPlanning.d.ts +28 -0
- package/dist/agent/needsPlanning.d.ts.map +1 -0
- package/dist/agent/needsPlanning.js +68 -0
- package/dist/agent/needsPlanning.js.map +1 -0
- package/dist/agent/seed/index.d.ts +11 -0
- package/dist/agent/seed/index.d.ts.map +1 -0
- package/dist/agent/seed/index.js +10 -0
- package/dist/agent/seed/index.js.map +1 -0
- package/dist/agent/seed/orchestrator.d.ts +83 -0
- package/dist/agent/seed/orchestrator.d.ts.map +1 -0
- package/dist/agent/seed/orchestrator.js +260 -0
- package/dist/agent/seed/orchestrator.js.map +1 -0
- package/dist/agent/seed/prepare.d.ts +49 -0
- package/dist/agent/seed/prepare.d.ts.map +1 -0
- package/dist/agent/seed/prepare.js +107 -0
- package/dist/agent/seed/prepare.js.map +1 -0
- package/dist/agent/seed/types.d.ts +115 -0
- package/dist/agent/seed/types.d.ts.map +1 -0
- package/dist/agent/seed/types.js +15 -0
- package/dist/agent/seed/types.js.map +1 -0
- package/dist/agent/sessionStateMachine.d.ts +78 -0
- package/dist/agent/sessionStateMachine.d.ts.map +1 -0
- package/dist/agent/sessionStateMachine.js +182 -0
- package/dist/agent/sessionStateMachine.js.map +1 -0
- package/dist/agent/taskTableRenderer.d.ts +51 -0
- package/dist/agent/taskTableRenderer.d.ts.map +1 -0
- package/dist/agent/taskTableRenderer.js +115 -0
- package/dist/agent/taskTableRenderer.js.map +1 -0
- package/dist/agent/toolExecutor.d.ts +255 -9
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +956 -20
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/toolLedger.d.ts +120 -0
- package/dist/agent/toolLedger.d.ts.map +1 -0
- package/dist/agent/toolLedger.js +149 -0
- package/dist/agent/toolLedger.js.map +1 -0
- package/dist/agent/toolResultCache.d.ts +134 -0
- package/dist/agent/toolResultCache.d.ts.map +1 -0
- package/dist/agent/toolResultCache.js +243 -0
- package/dist/agent/toolResultCache.js.map +1 -0
- package/dist/agent/toolResultOffload.d.ts +59 -0
- package/dist/agent/toolResultOffload.d.ts.map +1 -0
- package/dist/agent/toolResultOffload.js +70 -0
- package/dist/agent/toolResultOffload.js.map +1 -0
- package/dist/agent/toolRunner.d.ts +59 -0
- package/dist/agent/toolRunner.d.ts.map +1 -0
- package/dist/agent/toolRunner.js +147 -0
- package/dist/agent/toolRunner.js.map +1 -0
- package/dist/agent/tracer.d.ts +99 -107
- package/dist/agent/tracer.d.ts.map +1 -1
- package/dist/agent/tracer.js +24 -69
- package/dist/agent/tracer.js.map +1 -1
- package/dist/agent/types.d.ts +512 -162
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +2 -51
- package/dist/agent/types.js.map +1 -1
- package/dist/code-exec/codeExecutionProvider.d.ts +16 -0
- package/dist/code-exec/codeExecutionProvider.d.ts.map +1 -0
- package/dist/code-exec/codeExecutionProvider.js +57 -0
- package/dist/code-exec/codeExecutionProvider.js.map +1 -0
- package/dist/code-exec/types.d.ts +37 -0
- package/dist/code-exec/types.d.ts.map +1 -0
- package/dist/code-exec/types.js +12 -0
- package/dist/code-exec/types.js.map +1 -0
- package/dist/config/expandEnvVars.d.ts +22 -0
- package/dist/config/expandEnvVars.d.ts.map +1 -0
- package/dist/config/expandEnvVars.js +38 -0
- package/dist/config/expandEnvVars.js.map +1 -0
- package/dist/config/loader.d.ts +59 -242
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +237 -194
- package/dist/config/loader.js.map +1 -1
- package/dist/index.d.ts +69 -74
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +93 -63
- package/dist/index.js.map +1 -1
- package/dist/llm/abortSignal.d.ts +2 -3
- package/dist/llm/abortSignal.d.ts.map +1 -1
- package/dist/llm/abortSignal.js +2 -3
- package/dist/llm/abortSignal.js.map +1 -1
- package/dist/llm/factory.d.ts +29 -25
- package/dist/llm/factory.d.ts.map +1 -1
- package/dist/llm/factory.js +34 -69
- package/dist/llm/factory.js.map +1 -1
- package/dist/llm/openaiCompatible.d.ts +25 -40
- package/dist/llm/openaiCompatible.d.ts.map +1 -1
- package/dist/llm/openaiCompatible.js +181 -129
- package/dist/llm/openaiCompatible.js.map +1 -1
- package/dist/llm/provider.d.ts +29 -42
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +11 -10
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/types.d.ts +54 -11
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +0 -5
- package/dist/llm/types.js.map +1 -1
- package/dist/logging/logger.d.ts +8 -29
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +43 -233
- package/dist/logging/logger.js.map +1 -1
- package/dist/logging/loggerInterface.d.ts +9 -8
- package/dist/logging/loggerInterface.d.ts.map +1 -1
- package/dist/memory/gcService.d.ts +164 -0
- package/dist/memory/gcService.d.ts.map +1 -0
- package/dist/memory/gcService.js +215 -0
- package/dist/memory/gcService.js.map +1 -0
- package/dist/memory/governance.d.ts +17 -0
- package/dist/memory/governance.d.ts.map +1 -0
- package/dist/memory/governance.js +17 -0
- package/dist/memory/governance.js.map +1 -0
- package/dist/memory/inMemoryRoundStore.d.ts +124 -0
- package/dist/memory/inMemoryRoundStore.d.ts.map +1 -0
- package/dist/memory/inMemoryRoundStore.js +216 -0
- package/dist/memory/inMemoryRoundStore.js.map +1 -0
- package/dist/memory/inMemorySessionStore.d.ts +92 -0
- package/dist/memory/inMemorySessionStore.d.ts.map +1 -0
- package/dist/memory/inMemorySessionStore.js +219 -0
- package/dist/memory/inMemorySessionStore.js.map +1 -0
- package/dist/memory/inMemorySessionViewLoader.d.ts +89 -0
- package/dist/memory/inMemorySessionViewLoader.d.ts.map +1 -0
- package/dist/memory/inMemorySessionViewLoader.js +183 -0
- package/dist/memory/inMemorySessionViewLoader.js.map +1 -0
- package/dist/memory/inMemoryStorage.d.ts +26 -141
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +48 -187
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/keywordsTouch.d.ts +20 -0
- package/dist/memory/keywordsTouch.d.ts.map +1 -0
- package/dist/memory/keywordsTouch.js +25 -0
- package/dist/memory/keywordsTouch.js.map +1 -0
- package/dist/memory/lockManager.d.ts +7 -2
- package/dist/memory/lockManager.d.ts.map +1 -1
- package/dist/memory/lockManager.js +35 -11
- package/dist/memory/lockManager.js.map +1 -1
- package/dist/memory/projectManager.d.ts +30 -128
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +39 -171
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/projectRegistry.d.ts +22 -37
- package/dist/memory/projectRegistry.d.ts.map +1 -1
- package/dist/memory/projectRegistry.js +78 -85
- package/dist/memory/projectRegistry.js.map +1 -1
- package/dist/memory/roundStore.d.ts +629 -0
- package/dist/memory/roundStore.d.ts.map +1 -0
- package/dist/memory/roundStore.js +116 -0
- package/dist/memory/roundStore.js.map +1 -0
- package/dist/memory/sessionStore.d.ts +70 -61
- package/dist/memory/sessionStore.d.ts.map +1 -1
- package/dist/memory/sessionStore.js +23 -1
- package/dist/memory/sessionStore.js.map +1 -1
- package/dist/memory/sessionViewLoader.d.ts +141 -0
- package/dist/memory/sessionViewLoader.d.ts.map +1 -0
- package/dist/memory/sessionViewLoader.js +65 -0
- package/dist/memory/sessionViewLoader.js.map +1 -0
- package/dist/memory/sourceValidation.d.ts +18 -9
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +35 -29
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +45 -126
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/types.d.ts +82 -168
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +116 -79
- package/dist/memory/types.js.map +1 -1
- package/dist/project-search/projectSearchProvider.d.ts +29 -0
- package/dist/project-search/projectSearchProvider.d.ts.map +1 -0
- package/dist/project-search/projectSearchProvider.js +57 -0
- package/dist/project-search/projectSearchProvider.js.map +1 -0
- package/dist/project-search/terms.d.ts +14 -0
- package/dist/project-search/terms.d.ts.map +1 -0
- package/dist/project-search/terms.js +68 -0
- package/dist/project-search/terms.js.map +1 -0
- package/dist/project-search/types.d.ts +139 -0
- package/dist/project-search/types.d.ts.map +1 -0
- package/dist/project-search/types.js +8 -0
- package/dist/project-search/types.js.map +1 -0
- package/dist/role-pack/capabilityMap.d.ts +28 -0
- package/dist/role-pack/capabilityMap.d.ts.map +1 -0
- package/dist/role-pack/capabilityMap.js +56 -0
- package/dist/role-pack/capabilityMap.js.map +1 -0
- package/dist/role-pack/constants.d.ts +21 -0
- package/dist/role-pack/constants.d.ts.map +1 -0
- package/dist/role-pack/constants.js +21 -0
- package/dist/role-pack/constants.js.map +1 -0
- package/dist/role-pack/rolePackManager.d.ts +269 -0
- package/dist/role-pack/rolePackManager.d.ts.map +1 -0
- package/dist/role-pack/rolePackManager.js +1082 -0
- package/dist/role-pack/rolePackManager.js.map +1 -0
- package/dist/role-pack/strategyKeys.d.ts +100 -0
- package/dist/role-pack/strategyKeys.d.ts.map +1 -0
- package/dist/role-pack/strategyKeys.js +184 -0
- package/dist/role-pack/strategyKeys.js.map +1 -0
- package/dist/role-pack/strategyResolver.d.ts +109 -0
- package/dist/role-pack/strategyResolver.d.ts.map +1 -0
- package/dist/role-pack/strategyResolver.js +304 -0
- package/dist/role-pack/strategyResolver.js.map +1 -0
- package/dist/role-pack/types.d.ts +237 -0
- package/dist/role-pack/types.d.ts.map +1 -0
- package/dist/role-pack/types.js +8 -0
- package/dist/role-pack/types.js.map +1 -0
- package/dist/role-pack/validator.d.ts +38 -0
- package/dist/role-pack/validator.d.ts.map +1 -0
- package/dist/role-pack/validator.js +436 -0
- package/dist/role-pack/validator.js.map +1 -0
- package/dist/security/pathGuard.d.ts +69 -72
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +151 -131
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/skill/skillLayer3.d.ts +91 -0
- package/dist/skill/skillLayer3.d.ts.map +1 -0
- package/dist/skill/skillLayer3.js +104 -0
- package/dist/skill/skillLayer3.js.map +1 -0
- package/dist/skill/skillManager.d.ts +127 -56
- package/dist/skill/skillManager.d.ts.map +1 -1
- package/dist/skill/skillManager.js +318 -163
- package/dist/skill/skillManager.js.map +1 -1
- package/dist/skill/skillScriptRunner.d.ts +97 -0
- package/dist/skill/skillScriptRunner.d.ts.map +1 -0
- package/dist/skill/skillScriptRunner.js +271 -0
- package/dist/skill/skillScriptRunner.js.map +1 -0
- package/dist/skill/types.d.ts +73 -17
- package/dist/skill/types.d.ts.map +1 -1
- package/dist/skill/types.js +5 -1
- package/dist/skill/types.js.map +1 -1
- package/dist/utils/array.d.ts +5 -6
- package/dist/utils/array.d.ts.map +1 -1
- package/dist/utils/array.js +6 -6
- package/dist/utils/array.js.map +1 -1
- package/dist/utils/atomicWrite.d.ts +8 -0
- package/dist/utils/atomicWrite.d.ts.map +1 -0
- package/dist/utils/atomicWrite.js +31 -0
- package/dist/utils/atomicWrite.js.map +1 -0
- package/dist/utils/backgroundTask.d.ts +38 -0
- package/dist/utils/backgroundTask.d.ts.map +1 -0
- package/dist/utils/backgroundTask.js +117 -0
- package/dist/utils/backgroundTask.js.map +1 -0
- package/dist/utils/configResourceManager.d.ts +79 -0
- package/dist/utils/configResourceManager.d.ts.map +1 -0
- package/dist/utils/configResourceManager.js +150 -0
- package/dist/utils/configResourceManager.js.map +1 -0
- package/dist/utils/errors.d.ts +48 -56
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +60 -58
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +141 -63
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +50 -35
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/fileSafe.d.ts +20 -0
- package/dist/utils/fileSafe.d.ts.map +1 -0
- package/dist/utils/fileSafe.js +56 -0
- package/dist/utils/fileSafe.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +2 -3
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +6 -5
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/hash.d.ts +12 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +27 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/http.d.ts +17 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +29 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/json.d.ts +1 -1
- package/dist/utils/json.js +1 -1
- package/dist/utils/math.d.ts +34 -1
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +47 -14
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/objects.d.ts +2 -3
- package/dist/utils/objects.d.ts.map +1 -1
- package/dist/utils/objects.js +2 -3
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/recallDefaults.d.ts +16 -0
- package/dist/utils/recallDefaults.d.ts.map +1 -0
- package/dist/utils/recallDefaults.js +16 -0
- package/dist/utils/recallDefaults.js.map +1 -0
- package/dist/utils/safeTimer.d.ts +8 -36
- package/dist/utils/safeTimer.d.ts.map +1 -1
- package/dist/utils/safeTimer.js +9 -37
- package/dist/utils/safeTimer.js.map +1 -1
- package/dist/utils/scanner.d.ts +97 -17
- package/dist/utils/scanner.d.ts.map +1 -1
- package/dist/utils/scanner.js +269 -47
- package/dist/utils/scanner.js.map +1 -1
- package/dist/utils/segmenter.d.ts +20 -29
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +230 -88
- package/dist/utils/segmenter.js.map +1 -1
- package/dist/utils/strings.d.ts +15 -32
- package/dist/utils/strings.d.ts.map +1 -1
- package/dist/utils/strings.js +25 -44
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/time.d.ts +37 -0
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +56 -0
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/toError.d.ts +13 -1
- package/dist/utils/toError.d.ts.map +1 -1
- package/dist/utils/toError.js +18 -1
- package/dist/utils/toError.js.map +1 -1
- package/dist/web-fetch/fetchWebFetchProvider.d.ts +14 -0
- package/dist/web-fetch/fetchWebFetchProvider.d.ts.map +1 -0
- package/dist/web-fetch/fetchWebFetchProvider.js +69 -0
- package/dist/web-fetch/fetchWebFetchProvider.js.map +1 -0
- package/dist/web-fetch/types.d.ts +30 -0
- package/dist/web-fetch/types.d.ts.map +1 -0
- package/dist/web-fetch/types.js +7 -0
- package/dist/web-fetch/types.js.map +1 -0
- package/dist/web-fetch/webFetchProvider.d.ts +10 -0
- package/dist/web-fetch/webFetchProvider.d.ts.map +1 -0
- package/dist/web-fetch/webFetchProvider.js +28 -0
- package/dist/web-fetch/webFetchProvider.js.map +1 -0
- package/dist/web-search/fetchWebSearchProvider.d.ts +27 -0
- package/dist/web-search/fetchWebSearchProvider.d.ts.map +1 -0
- package/dist/web-search/fetchWebSearchProvider.js +199 -0
- package/dist/web-search/fetchWebSearchProvider.js.map +1 -0
- package/dist/web-search/types.d.ts +46 -0
- package/dist/web-search/types.d.ts.map +1 -0
- package/dist/web-search/types.js +2 -0
- package/dist/{persona → web-search}/types.js.map +1 -1
- package/dist/web-search/webSearchProvider.d.ts +10 -0
- package/dist/web-search/webSearchProvider.d.ts.map +1 -0
- package/dist/web-search/webSearchProvider.js +30 -0
- package/dist/web-search/webSearchProvider.js.map +1 -0
- package/docs/architecture/role-pack-authoring-guide.md +243 -0
- package/docs/architecture/role-pack-spec.md +767 -0
- package/docs/memora-api-reference.md +1175 -0
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +843 -0
- package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -0
- package/package.json +105 -83
- package/role-packs/README.md +41 -0
- package/role-packs/memora/345/212/251/346/211/213/manifest.json +12 -0
- package/role-packs/memora/345/212/251/346/211/213/persona.md +12 -0
- package/role-packs/memora/345/212/251/346/211/213/rules.md +4 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +44 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +15 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/character-sheet.md +34 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/core-extractor.md +37 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/craft-review.md +69 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/dialogue-craft.md +45 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/empathy-craft.md +79 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/hotspot-mapping.md +121 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/idea-lever.md +42 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/logline-craft.md +47 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/longform-guard.md +64 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/need-finder.md +40 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +46 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/pacing-hook.md +34 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/polish-method.md +113 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/pov-discipline.md +79 -0
- 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
- 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
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/relationship-web.md +47 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/scene-craft.md +46 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +60 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-structure.md +36 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/style-weaver.md +109 -0
- 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
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/world-builder.md +41 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/agent/guardrail.d.ts +0 -47
- package/dist/agent/guardrail.d.ts.map +0 -1
- package/dist/agent/guardrail.js +0 -51
- package/dist/agent/guardrail.js.map +0 -1
- package/dist/agent/managers/autoConfigRefiner.d.ts +0 -39
- package/dist/agent/managers/autoConfigRefiner.d.ts.map +0 -1
- package/dist/agent/managers/autoConfigRefiner.js +0 -150
- package/dist/agent/managers/autoConfigRefiner.js.map +0 -1
- package/dist/agent/managers/configManager.d.ts +0 -125
- package/dist/agent/managers/configManager.d.ts.map +0 -1
- package/dist/agent/managers/configManager.js +0 -194
- package/dist/agent/managers/configManager.js.map +0 -1
- package/dist/agent/managers/insightExtractor.d.ts +0 -139
- package/dist/agent/managers/insightExtractor.d.ts.map +0 -1
- package/dist/agent/managers/insightExtractor.js +0 -401
- package/dist/agent/managers/insightExtractor.js.map +0 -1
- package/dist/agent/managers/memoryDecayScheduler.d.ts +0 -198
- package/dist/agent/managers/memoryDecayScheduler.d.ts.map +0 -1
- package/dist/agent/managers/memoryDecayScheduler.js +0 -349
- package/dist/agent/managers/memoryDecayScheduler.js.map +0 -1
- package/dist/agent/managers/relationBuilder.d.ts +0 -131
- package/dist/agent/managers/relationBuilder.d.ts.map +0 -1
- package/dist/agent/managers/relationBuilder.js +0 -192
- package/dist/agent/managers/relationBuilder.js.map +0 -1
- package/dist/agent/personaMatcher.d.ts +0 -29
- package/dist/agent/personaMatcher.d.ts.map +0 -1
- package/dist/agent/personaMatcher.js +0 -60
- package/dist/agent/personaMatcher.js.map +0 -1
- package/dist/agent/userFactExtractor.d.ts +0 -25
- package/dist/agent/userFactExtractor.d.ts.map +0 -1
- package/dist/agent/userFactExtractor.js +0 -81
- package/dist/agent/userFactExtractor.js.map +0 -1
- package/dist/eval/evalRunner.d.ts +0 -94
- package/dist/eval/evalRunner.d.ts.map +0 -1
- package/dist/eval/evalRunner.js +0 -141
- package/dist/eval/evalRunner.js.map +0 -1
- package/dist/eval/evalTypes.d.ts +0 -148
- package/dist/eval/evalTypes.d.ts.map +0 -1
- package/dist/eval/evalTypes.js +0 -118
- package/dist/eval/evalTypes.js.map +0 -1
- package/dist/eval/scenarios.d.ts +0 -33
- package/dist/eval/scenarios.d.ts.map +0 -1
- package/dist/eval/scenarios.js +0 -109
- package/dist/eval/scenarios.js.map +0 -1
- package/dist/llm/embedding.d.ts +0 -67
- package/dist/llm/embedding.d.ts.map +0 -1
- package/dist/llm/embedding.js +0 -184
- package/dist/llm/embedding.js.map +0 -1
- package/dist/memory/hybridMerge.d.ts +0 -54
- package/dist/memory/hybridMerge.d.ts.map +0 -1
- package/dist/memory/hybridMerge.js +0 -36
- package/dist/memory/hybridMerge.js.map +0 -1
- package/dist/memory/inMemoryRelationStore.d.ts +0 -51
- package/dist/memory/inMemoryRelationStore.d.ts.map +0 -1
- package/dist/memory/inMemoryRelationStore.js +0 -65
- package/dist/memory/inMemoryRelationStore.js.map +0 -1
- package/dist/memory/loader.d.ts +0 -49
- package/dist/memory/loader.d.ts.map +0 -1
- package/dist/memory/loader.js +0 -93
- package/dist/memory/loader.js.map +0 -1
- package/dist/memory/recall.d.ts +0 -66
- package/dist/memory/recall.d.ts.map +0 -1
- package/dist/memory/recall.js +0 -142
- package/dist/memory/recall.js.map +0 -1
- package/dist/memory/relationStore.d.ts +0 -78
- package/dist/memory/relationStore.d.ts.map +0 -1
- package/dist/memory/relationStore.js +0 -2
- package/dist/memory/relationStore.js.map +0 -1
- package/dist/memory/store.d.ts +0 -50
- package/dist/memory/store.d.ts.map +0 -1
- package/dist/memory/store.js +0 -161
- package/dist/memory/store.js.map +0 -1
- package/dist/memory/userProfile.d.ts +0 -156
- package/dist/memory/userProfile.d.ts.map +0 -1
- package/dist/memory/userProfile.js +0 -320
- package/dist/memory/userProfile.js.map +0 -1
- package/dist/memory/vectorStore.d.ts +0 -185
- package/dist/memory/vectorStore.d.ts.map +0 -1
- package/dist/memory/vectorStore.js +0 -257
- package/dist/memory/vectorStore.js.map +0 -1
- package/dist/persona/personaManager.d.ts +0 -160
- package/dist/persona/personaManager.d.ts.map +0 -1
- package/dist/persona/personaManager.js +0 -414
- package/dist/persona/personaManager.js.map +0 -1
- package/dist/persona/types.d.ts +0 -32
- package/dist/persona/types.d.ts.map +0 -1
- package/dist/persona/types.js +0 -5
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* 3. 关键消息提取(extractKeyMessages)—— 按重要性权重贪心选取
|
|
8
8
|
* 4. 上下文摘要生成(generateContextSummary)—— LLM 生成"遗忘补偿"
|
|
9
9
|
* 5. 摘要缓存管理(getOrCreateSummary)—— 缓存 TTL + 过期重生成
|
|
10
|
+
* 6. 软上限判定(shouldInjectSoftLimitWrapup)—— 摘要层饱和注入收尾信号(自 AgentLoop 迁入)
|
|
11
|
+
* 7. 压力预警(shouldInjectContextPressureHint)—— 容量到线但摘要健康的前一级提示
|
|
10
12
|
*
|
|
11
13
|
* 设计理由:AgentLoop 1151 行超阈值,上下文管理是独立职责,
|
|
12
14
|
* 拆分后 AgentLoop 聚焦对话循环,ContextManager 聚焦上下文窗口管理。
|
|
@@ -17,6 +19,11 @@
|
|
|
17
19
|
import { LOOP_CONSTANTS } from '../agent/constants.js';
|
|
18
20
|
import { logger } from '../logging/logger.js';
|
|
19
21
|
import { NOOP_TRACER, TRACE_SPANS } from '../agent/tracer.js';
|
|
22
|
+
import { isAbortError } from '../utils/errors.js';
|
|
23
|
+
/** 软上限摘要化判定标记:第一级替换产物文案前缀(compaction.ts ReplaceRoundsStrategy) */
|
|
24
|
+
export const SOFT_LIMIT_SUMMARY_MARKER_ROUND = 'Round summary · roundId:';
|
|
25
|
+
/** 软上限摘要化判定标记:第二级压缩产物文案前缀(loop.compressContext) */
|
|
26
|
+
export const SOFT_LIMIT_SUMMARY_MARKER_COMPRESS = 'Compressed context';
|
|
20
27
|
/**
|
|
21
28
|
* 判断字符是否为 CJK 字符(中文适配)
|
|
22
29
|
*
|
|
@@ -62,6 +69,45 @@ function countCjkAndOther(str) {
|
|
|
62
69
|
}
|
|
63
70
|
return { cjkChars, otherChars };
|
|
64
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* 估算消息序列 token 数(CJK 感知,零状态纯函数)。
|
|
74
|
+
*
|
|
75
|
+
* 单一真理源:先累计全部字符、最后一次向上取整——与逐条取整再求和**不等价**
|
|
76
|
+
* (后者系统性高估)。运行时(`ContextManager.estimateTokens` / contextPreparer
|
|
77
|
+
* 各层计量)与宿主历史会话占用重算共用本函数,两端口径不漂移。
|
|
78
|
+
*
|
|
79
|
+
* @param messages 待估算的消息序列(content 计入,toolCalls 序列化后计入)
|
|
80
|
+
* @returns token 数(按 CJK/其他字符分轨估算后向上取整)
|
|
81
|
+
*/
|
|
82
|
+
export function estimateTokensMessages(messages) {
|
|
83
|
+
let cjkChars = 0;
|
|
84
|
+
let otherChars = 0;
|
|
85
|
+
for (const m of messages) {
|
|
86
|
+
const contentCounts = countCjkAndOther(m.content);
|
|
87
|
+
cjkChars += contentCounts.cjkChars;
|
|
88
|
+
otherChars += contentCounts.otherChars;
|
|
89
|
+
if (m.toolCalls) {
|
|
90
|
+
const toolCallsCounts = countCjkAndOther(JSON.stringify(m.toolCalls));
|
|
91
|
+
cjkChars += toolCallsCounts.cjkChars;
|
|
92
|
+
otherChars += toolCallsCounts.otherChars;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return Math.ceil(cjkChars / LOOP_CONSTANTS.CJK_CHARS_PER_TOKEN + otherChars / LOOP_CONSTANTS.CHARS_PER_TOKEN);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 估算单段文本 token 数(CJK 感知,零状态纯函数)。
|
|
99
|
+
*
|
|
100
|
+
* 供「单段文本」场景使用(如宿主对一条记忆正文的独立计量)。
|
|
101
|
+
* 计量**消息序列**须用 `estimateTokensMessages`:本函数逐条调用再求和会放大
|
|
102
|
+
* 取整误差,与本函数同口径但结果不等价。
|
|
103
|
+
*
|
|
104
|
+
* @param text 待估算文本
|
|
105
|
+
* @returns token 数(按 CJK/其他字符分轨估算后向上取整)
|
|
106
|
+
*/
|
|
107
|
+
export function estimateTokensText(text) {
|
|
108
|
+
const { cjkChars, otherChars } = countCjkAndOther(text);
|
|
109
|
+
return Math.ceil(cjkChars / LOOP_CONSTANTS.CJK_CHARS_PER_TOKEN + otherChars / LOOP_CONSTANTS.CHARS_PER_TOKEN);
|
|
110
|
+
}
|
|
65
111
|
/**
|
|
66
112
|
* 上下文窗口管理器
|
|
67
113
|
*
|
|
@@ -69,149 +115,185 @@ function countCjkAndOther(str) {
|
|
|
69
115
|
* 从 AgentLoop 提取,保持无状态设计(不持有 messages 引用)。
|
|
70
116
|
*/
|
|
71
117
|
export class ContextManager {
|
|
72
|
-
|
|
118
|
+
// 组合 root 统一注入为字段,类内不承担 Provider 选址逻辑。
|
|
119
|
+
// 非 readonly:模型热切换(Agent.setContextWindow)后经 setMaxContextTokens 更新,
|
|
120
|
+
// 截断阈值 / 软上限 / 召回注入警戒线随新窗口同步重算。
|
|
73
121
|
maxContextTokens;
|
|
74
|
-
/** LLM Provider(用于 generateContextSummary) */
|
|
75
122
|
provider;
|
|
76
|
-
|
|
123
|
+
providerRouter;
|
|
77
124
|
contextTruncatedFn;
|
|
78
|
-
/** 可观测性 Tracer(用于 generateContextSummary span 埋点,默认 NOOP) */
|
|
79
125
|
tracer;
|
|
80
|
-
/** 上下文摘要缓存(首次截断后生成,后续截断复用) */
|
|
81
126
|
contextSummary = null;
|
|
82
|
-
/** 摘要缓存生成时的消息数量,用于判断缓存是否过期 */
|
|
83
127
|
contextSummaryMsgCount = 0;
|
|
84
|
-
/** 截断次数统计(truncateMessages 实际触发截断 +1,供 getMetrics 读取) */
|
|
85
128
|
_truncationCount = 0;
|
|
129
|
+
onContextTruncated;
|
|
130
|
+
roundSummaryLoader;
|
|
131
|
+
minRecentRounds;
|
|
86
132
|
constructor(opts) {
|
|
87
133
|
this.maxContextTokens = opts.maxContextTokens;
|
|
88
134
|
this.provider = opts.provider;
|
|
135
|
+
this.providerRouter = opts.providerRouter;
|
|
89
136
|
this.contextTruncatedFn = opts.contextTruncatedFn;
|
|
90
|
-
|
|
137
|
+
this.onContextTruncated = opts.onContextTruncated;
|
|
138
|
+
this.roundSummaryLoader = opts.roundSummaryLoader;
|
|
139
|
+
this.minRecentRounds = Math.max(0, Math.floor(opts.minRecentRounds ?? 0));
|
|
91
140
|
this.tracer = opts.tracer ?? NOOP_TRACER;
|
|
92
141
|
}
|
|
93
|
-
/** 截断次数(供 AgentLoop.getMetrics 读取) */
|
|
94
|
-
get truncationCount() {
|
|
95
|
-
return this._truncationCount;
|
|
96
|
-
}
|
|
97
142
|
/**
|
|
98
|
-
*
|
|
143
|
+
* 运行时更新上下文窗口上限(token)
|
|
99
144
|
*
|
|
100
|
-
*
|
|
101
|
-
* - CJK 字符(中文/日文/韩文):cjkChars / CJK_CHARS_PER_TOKEN(1.5)
|
|
102
|
-
* - 非 CJK 字符(英文/数字/符号):otherChars / CHARS_PER_TOKEN(3)
|
|
103
|
-
* 统一字符估算会严重低估中文(4 字符 ≈ 1.3 token,实际约 4-8 token)。
|
|
145
|
+
* 截断判定 / 软上限 / 召回注入警戒线均内读本字段,更新即刻生效。
|
|
104
146
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
* @param messages 消息数组
|
|
108
|
-
* @returns 估算的 token 数
|
|
147
|
+
* @param tokens 新窗口 token 数
|
|
109
148
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const contentCounts = countCjkAndOther(m.content);
|
|
116
|
-
cjkChars += contentCounts.cjkChars;
|
|
117
|
-
otherChars += contentCounts.otherChars;
|
|
118
|
-
// toolCalls 的 JSON 序列化字符数(同样区分 CJK/非 CJK)
|
|
119
|
-
if (m.toolCalls) {
|
|
120
|
-
const toolCallsCounts = countCjkAndOther(JSON.stringify(m.toolCalls));
|
|
121
|
-
cjkChars += toolCallsCounts.cjkChars;
|
|
122
|
-
otherChars += toolCallsCounts.otherChars;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// CJK 与非 CJK 分别按各自密度估算后求和
|
|
126
|
-
return Math.ceil(cjkChars / LOOP_CONSTANTS.CJK_CHARS_PER_TOKEN +
|
|
127
|
-
otherChars / LOOP_CONSTANTS.CHARS_PER_TOKEN);
|
|
149
|
+
setMaxContextTokens(tokens) {
|
|
150
|
+
this.maxContextTokens = tokens;
|
|
151
|
+
}
|
|
152
|
+
get truncationCount() {
|
|
153
|
+
return this._truncationCount;
|
|
128
154
|
}
|
|
129
155
|
/**
|
|
130
|
-
*
|
|
156
|
+
* 估算消息 token 数。
|
|
131
157
|
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
158
|
+
* CJK(中/日/韩)与其它字符密度不同需分开估算:
|
|
159
|
+
* 统一按 3 字符/token 会严重低估中文(实际约 1.5 字符/token)。
|
|
160
|
+
* toolCalls 序列化字符同样计入。
|
|
134
161
|
*/
|
|
162
|
+
estimateTokens(messages) {
|
|
163
|
+
return estimateTokensMessages(messages);
|
|
164
|
+
}
|
|
165
|
+
/** token 超阈值且消息数 > 3(避免单条消息触发截断)时才需要截断 */
|
|
135
166
|
shouldTruncate(messages) {
|
|
136
167
|
return this.estimateTokens(messages) > this.maxContextTokens && messages.length > 3;
|
|
137
168
|
}
|
|
138
169
|
/**
|
|
139
|
-
*
|
|
170
|
+
* 软上限判定:上下文逼近容量上限(≥ 缓冲阈值)且摘要层 token 占比过高时,注入收尾信号让 LLM 收敛。
|
|
171
|
+
* 从 AgentLoop._shouldInjectSoftLimitWrapup 迁入(与 estimateTokens/maxContextTokens 同属上下文预算层)。
|
|
140
172
|
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* - 头部被裁剪的消息替换为一条摘要占位消息
|
|
173
|
+
* 精确检测摘要层 token 占用(替代原"存在标记即触发"的近似判断):
|
|
174
|
+
* - 过滤出标记为摘要的消息(Round summary / Compressed context)
|
|
175
|
+
* - 计算摘要层 token 占用
|
|
176
|
+
* - 当摘要层 token ≥ maxContextTokens × SUMMARY_LAYER_TOKEN_RATIO 时判定为"摘要层达容量上限"
|
|
146
177
|
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
178
|
+
* @param messages 当前工作记忆(读型判定,不修改)
|
|
179
|
+
* @returns 是否应注入软上限收尾信号
|
|
180
|
+
*/
|
|
181
|
+
shouldInjectSoftLimitWrapup(messages) {
|
|
182
|
+
// 容量阈值:上下文逼近 maxContextTokens 警戒线(≥ CONTEXT_TOKENS_BUFFER_RATIO)
|
|
183
|
+
const currentTokens = this.estimateTokens(messages);
|
|
184
|
+
if (currentTokens < this.maxContextTokens * LOOP_CONSTANTS.CONTEXT_TOKENS_BUFFER_RATIO) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
// 精确检测:计算摘要层 token 占用(仅统计标记为摘要的消息)
|
|
188
|
+
const summaryMessages = messages.filter((m) => m.content.includes(SOFT_LIMIT_SUMMARY_MARKER_ROUND) ||
|
|
189
|
+
m.content.includes(SOFT_LIMIT_SUMMARY_MARKER_COMPRESS));
|
|
190
|
+
if (summaryMessages.length === 0) {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
// 摘要层 token 占容量阈值比例(≥ SUMMARY_LAYER_TOKEN_RATIO = 30%)
|
|
194
|
+
const summaryTokens = this.estimateTokens(summaryMessages);
|
|
195
|
+
return summaryTokens >= this.maxContextTokens * LOOP_CONSTANTS.SUMMARY_LAYER_TOKEN_RATIO;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* 上下文压力预警判定:容量表达警戒线(≥ CONTEXT_TOKENS_BUFFER_RATIO)但
|
|
199
|
+
* 摘要层未饱和(低于 SUMMARY_LAYER_TOKEN_RATIO)时 → 可注入温和提示(压缩/收敛引导)。
|
|
200
|
+
*
|
|
201
|
+
* 与 shouldInjectSoftLimitWrapup 互补——同一容量闸的两级:
|
|
202
|
+
* 摘要层饱和 → shouldInjectSoftLimitWrapup(收尾信号)
|
|
203
|
+
* 容量到线但摘要健康 → shouldInjectContextPressureHint(软上限的前一级预警)
|
|
149
204
|
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
205
|
+
* @param messages 当前工作记忆(读型判定,不修改)
|
|
206
|
+
* @returns 是否应注入上下文空间预警提示
|
|
207
|
+
*/
|
|
208
|
+
shouldInjectContextPressureHint(messages) {
|
|
209
|
+
// 容量阈值:上下文逼警戒线(≥ CONTEXT_TOKENS_BUFFER_RATIO)
|
|
210
|
+
const currentTokens = this.estimateTokens(messages);
|
|
211
|
+
if (currentTokens < this.maxContextTokens * LOOP_CONSTANTS.CONTEXT_TOKENS_BUFFER_RATIO) {
|
|
212
|
+
return false;
|
|
213
|
+
}
|
|
214
|
+
// 摘要层已达饱和 → 归软上限收尾路径,不重复预警(避免与收尾信号叠加)
|
|
215
|
+
if (this.shouldInjectSoftLimitWrapup(messages)) {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* 截断消息数组以适配上下文窗口。
|
|
152
222
|
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
223
|
+
* 策略:保留下方(最近)、裁中间、头部折叠成占位消息。
|
|
224
|
+
* - messages[0](system prompt)始终保留;
|
|
225
|
+
* - 从被裁剪段按重要性(user > tool > assistant)提取关键消息;
|
|
226
|
+
* - 若 system prompt 本身已超窗口则不截断(配置问题,交由 LLM API 报错)。
|
|
156
227
|
*/
|
|
157
228
|
truncateMessages(messages, summary) {
|
|
158
229
|
const estimated = this.estimateTokens(messages);
|
|
159
230
|
if (estimated <= this.maxContextTokens || messages.length <= 3) {
|
|
160
|
-
return messages;
|
|
231
|
+
return messages;
|
|
161
232
|
}
|
|
162
|
-
// system prompt 单独保留
|
|
163
233
|
const systemMsg = messages[0];
|
|
164
234
|
if (!systemMsg || systemMsg.role !== 'system') {
|
|
165
|
-
return messages;
|
|
235
|
+
return messages;
|
|
166
236
|
}
|
|
167
237
|
const systemTokens = this.estimateTokens([systemMsg]);
|
|
168
238
|
if (systemTokens >= this.maxContextTokens) {
|
|
169
|
-
// system prompt 本身就超了——这是配置问题,不应该截断
|
|
170
239
|
logger.warn({ systemTokens, maxContextTokens: this.maxContextTokens }, 'system prompt 已超过上下文窗口上限,请缩减 bootstrapMemories 或 toolDefinitions');
|
|
171
240
|
return messages;
|
|
172
241
|
}
|
|
173
|
-
//
|
|
242
|
+
// 留 10% 缓冲给 LLM 响应
|
|
174
243
|
const availableTokens = Math.floor(this.maxContextTokens * LOOP_CONSTANTS.CONTEXT_TOKENS_BUFFER_RATIO) - systemTokens;
|
|
175
|
-
//
|
|
244
|
+
// 从尾部向前收集最近消息(tail 区);cutIndex 记录裁剪起始
|
|
176
245
|
const tail = [];
|
|
177
246
|
let tailTokens = 0;
|
|
178
|
-
let cutIndex = messages.length;
|
|
247
|
+
let cutIndex = messages.length;
|
|
248
|
+
// 强制保留最近 minRecentRounds 轮原始对话,不被摘要替代(0=不强制)
|
|
249
|
+
let forcedTailCount = 0;
|
|
250
|
+
if (this.minRecentRounds > 0) {
|
|
251
|
+
let userSeen = 0;
|
|
252
|
+
for (let i = messages.length - 1; i >= 1; i--) {
|
|
253
|
+
const msg = messages[i];
|
|
254
|
+
if (!msg)
|
|
255
|
+
break;
|
|
256
|
+
if (msg.role === 'user')
|
|
257
|
+
userSeen++;
|
|
258
|
+
if (userSeen > this.minRecentRounds)
|
|
259
|
+
break;
|
|
260
|
+
forcedTailCount++;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
179
263
|
for (let i = messages.length - 1; i >= 1; i--) {
|
|
180
|
-
// QC-17 移除非空断言:循环条件保证索引有效,null 检查兜底
|
|
181
264
|
const msg = messages[i];
|
|
182
265
|
if (!msg)
|
|
183
266
|
break;
|
|
184
267
|
const msgTokens = this.estimateTokens([msg]);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
268
|
+
// 强制保留区不计入 token 上限;超出该区才按 token 截断
|
|
269
|
+
const inForced = tail.length < forcedTailCount;
|
|
270
|
+
if (!inForced && tailTokens + msgTokens > availableTokens) {
|
|
271
|
+
cutIndex = i + 1;
|
|
272
|
+
break;
|
|
188
273
|
}
|
|
189
|
-
tail.unshift(msg);
|
|
274
|
+
tail.unshift(msg);
|
|
190
275
|
tailTokens += msgTokens;
|
|
191
276
|
cutIndex = i;
|
|
192
277
|
}
|
|
193
|
-
//
|
|
194
|
-
const skipped = cutIndex - 1;
|
|
278
|
+
// 去掉 system prompt(-1);裁剪数为 0 说明全部保留
|
|
279
|
+
const skipped = cutIndex - 1;
|
|
195
280
|
if (skipped <= 0) {
|
|
196
|
-
return messages;
|
|
281
|
+
return messages;
|
|
197
282
|
}
|
|
198
|
-
// 截断次数统计:确实发生了截断(skipped > 0)
|
|
199
283
|
this._truncationCount++;
|
|
200
|
-
|
|
201
|
-
//
|
|
284
|
+
this.onContextTruncated?.(skipped, tail.length);
|
|
285
|
+
// 从被裁剪段按重要性提取关键消息(保留信息量最高的用户输入)
|
|
202
286
|
const cutMessages = messages.slice(1, cutIndex);
|
|
203
287
|
const keyMessages = this.extractKeyMessages(cutMessages, availableTokens - tailTokens);
|
|
204
|
-
//
|
|
288
|
+
// 占位消息:告知 LLM 有历史被裁剪
|
|
205
289
|
const placeholder = {
|
|
206
290
|
role: 'system',
|
|
207
291
|
content: this.contextTruncatedFn(skipped, tail.length),
|
|
208
292
|
};
|
|
209
293
|
const truncated = [systemMsg];
|
|
210
|
-
// 如果有摘要,插入到 system prompt 和 placeholder 之间
|
|
211
294
|
if (summary) {
|
|
212
295
|
truncated.push({ role: 'system', content: summary });
|
|
213
296
|
}
|
|
214
|
-
// 插入从被裁剪区域提取的关键消息
|
|
215
297
|
truncated.push(...keyMessages);
|
|
216
298
|
truncated.push(placeholder);
|
|
217
299
|
truncated.push(...tail);
|
|
@@ -227,37 +309,24 @@ export class ContextManager {
|
|
|
227
309
|
return truncated;
|
|
228
310
|
}
|
|
229
311
|
/**
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
* 重要性权重:
|
|
233
|
-
* - user 消息:权重 3(用户输入信息量最高)
|
|
234
|
-
* - tool 消息:权重 2(工具结果有参考价值)
|
|
235
|
-
* - assistant 消息:权重 1(助手回复可从上下文推断)
|
|
236
|
-
*
|
|
237
|
-
* 贪心选取:按权重降序 + 内容长度降序排列,逐条选取直到 token 用完。
|
|
238
|
-
* 最终按原始顺序返回(保持时间线一致性)。
|
|
239
|
-
*
|
|
240
|
-
* @param cutMessages 被裁剪的消息数组
|
|
241
|
-
* @param availableTokens 可用 token 数
|
|
242
|
-
* @returns 提取的关键消息数组(按原始顺序)
|
|
312
|
+
* 从被裁剪段按重要性贪心选取关键消息,保留信息量最高的用户输入。
|
|
313
|
+
* 权重:user=3 > tool=2 > assistant=1,同级按内容长度;最后恢复原始顺序。
|
|
243
314
|
*/
|
|
244
315
|
extractKeyMessages(cutMessages, availableTokens) {
|
|
245
316
|
if (availableTokens <= 0 || cutMessages.length === 0)
|
|
246
317
|
return [];
|
|
247
|
-
// 计算每条消息的权重和 token 数
|
|
248
318
|
const weighted = cutMessages.map((msg, index) => ({
|
|
249
319
|
msg,
|
|
250
|
-
index, //
|
|
320
|
+
index, // 原始顺序索引(最终恢复用)
|
|
251
321
|
weight: this.messageImportance(msg),
|
|
252
322
|
tokens: this.estimateTokens([msg]),
|
|
253
323
|
}));
|
|
254
|
-
// 按权重降序 + 内容长度降序排列
|
|
255
324
|
weighted.sort((a, b) => {
|
|
256
325
|
if (b.weight !== a.weight)
|
|
257
326
|
return b.weight - a.weight;
|
|
258
327
|
return b.msg.content.length - a.msg.content.length;
|
|
259
328
|
});
|
|
260
|
-
//
|
|
329
|
+
// 贪心选取直到 token 用完
|
|
261
330
|
const selected = [];
|
|
262
331
|
let usedTokens = 0;
|
|
263
332
|
for (const item of weighted) {
|
|
@@ -266,16 +335,11 @@ export class ContextManager {
|
|
|
266
335
|
selected.push(item);
|
|
267
336
|
usedTokens += item.tokens;
|
|
268
337
|
}
|
|
269
|
-
//
|
|
338
|
+
// 恢复原始顺序,保持时间线一致
|
|
270
339
|
selected.sort((a, b) => a.index - b.index);
|
|
271
340
|
return selected.map((item) => item.msg);
|
|
272
341
|
}
|
|
273
|
-
/**
|
|
274
|
-
* 评估单条消息的重要性权重
|
|
275
|
-
*
|
|
276
|
-
* @param msg 消息
|
|
277
|
-
* @returns 权重值(user=3, tool=2, assistant=1)
|
|
278
|
-
*/
|
|
342
|
+
/** 消息重要性权重:user>tool>assistant */
|
|
279
343
|
messageImportance(msg) {
|
|
280
344
|
if (msg.role === 'user')
|
|
281
345
|
return 3;
|
|
@@ -284,60 +348,63 @@ export class ContextManager {
|
|
|
284
348
|
return 1;
|
|
285
349
|
}
|
|
286
350
|
/**
|
|
287
|
-
*
|
|
351
|
+
* 作废摘要缓存
|
|
288
352
|
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
353
|
+
* 缓存过期靠 `messages.length - contextSummaryMsgCount > TTL` 这个**单向**数值判断,
|
|
354
|
+
* 只覆盖「消息增长」。当消息集合被整体替换(`AgentLoop.restoreHistory` 恢复检查点)
|
|
355
|
+
* 且新历史更短时,差值为负 → 陈旧摘要永不过期,会把上一段会话的摘要注入新上下文。
|
|
291
356
|
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
357
|
+
* 修法不是把条件改成 `Math.abs`:truncateMessages 的正常裁剪同样让消息变少,
|
|
358
|
+
* 而那时摘要恰恰更该保留(它描述的就是被裁掉的历史)。真理源是「消息集合是否被替换」
|
|
359
|
+
* 这一事实,故由替换方显式作废,而非从长度差反推。
|
|
360
|
+
*/
|
|
361
|
+
resetSummary() {
|
|
362
|
+
this.contextSummary = null;
|
|
363
|
+
this.contextSummaryMsgCount = 0;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* 获取或创建上下文摘要(带缓存)。
|
|
294
367
|
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
* @returns 摘要字符串(失败/中断时返回空字符串,降级为无摘要)
|
|
368
|
+
* 缓存 TTL:消息数增长超 SUMMARY_CACHE_TTL_MSGS 即过期重生成。
|
|
369
|
+
* signal 使摘要 LLM 可被中断,避免其卡住时挂起调用方。
|
|
298
370
|
*/
|
|
299
371
|
async getOrCreateSummary(messages, signal) {
|
|
300
|
-
// 检查缓存是否有效
|
|
301
372
|
const summaryExpired = this.contextSummary !== null &&
|
|
302
373
|
messages.length - this.contextSummaryMsgCount > LOOP_CONSTANTS.SUMMARY_CACHE_TTL_MSGS;
|
|
303
374
|
if (this.contextSummary && !summaryExpired) {
|
|
304
375
|
return this.contextSummary;
|
|
305
376
|
}
|
|
306
|
-
// 生成新摘要(传入 signal 支持中断)
|
|
307
377
|
const summary = await this.generateContextSummary(messages, signal);
|
|
308
378
|
this.contextSummary = summary;
|
|
309
379
|
this.contextSummaryMsgCount = messages.length;
|
|
310
380
|
return summary;
|
|
311
381
|
}
|
|
312
382
|
/**
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
* 在首次截断时,提取即将被裁剪的消息中最近几条用户/助手对话,
|
|
316
|
-
* 调用 provider 生成一句摘要,作为"遗忘补偿"注入到 system prompt 中。
|
|
317
|
-
*
|
|
318
|
-
* 通过 tracer span 埋点(TRACE_SPANS.CONTEXT_SUMMARY),
|
|
319
|
-
* 让宿主监控面板能观察截断频率、摘要生成耗时与失败率。
|
|
383
|
+
* 生成上下文摘要:把被裁剪段压缩成"遗忘补偿"注入 system prompt。
|
|
320
384
|
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
* @param messages 当前消息数组
|
|
326
|
-
* @param signal 可选的 AbortSignal
|
|
327
|
-
* @returns 摘要字符串(失败/中断时返回空字符串,降级为无摘要)
|
|
385
|
+
* 策略:
|
|
386
|
+
* - 优先复用已存的 round-summary(每轮后台生成的零成本产物),仅无已存摘要才调 LLM;
|
|
387
|
+
* - 走 providerRouter 的 'summary' 路由(轻量模型),未配置则回退主 provider;
|
|
388
|
+
* - abort 或失败一律降级为空串返回,不影响主流程。
|
|
328
389
|
*/
|
|
329
390
|
async generateContextSummary(messages, signal) {
|
|
330
|
-
// 启动 CONTEXT_SUMMARY span,记录摘要生成的耗时与异常
|
|
331
391
|
const summarySpan = this.tracer.startSpan(TRACE_SPANS.CONTEXT_SUMMARY, {
|
|
332
392
|
messageCount: messages.length,
|
|
333
393
|
summarizingMessages: Math.min(messages.length - 1, LOOP_CONSTANTS.SUMMARY_MSG_COUNT),
|
|
334
394
|
});
|
|
335
395
|
try {
|
|
336
|
-
// signal 已 abort 时直接返回空,不发起 LLM 调用
|
|
337
396
|
if (signal?.aborted) {
|
|
338
397
|
summarySpan.setAttribute('aborted', true);
|
|
339
398
|
return '';
|
|
340
399
|
}
|
|
400
|
+
if (this.roundSummaryLoader) {
|
|
401
|
+
const existing = this.roundSummaryLoader();
|
|
402
|
+
if (existing) {
|
|
403
|
+
summarySpan.setAttribute('source', 'round-summary');
|
|
404
|
+
logger.debug('上下文截断复用已存 round-summary,跳过 LLM 摘要生成');
|
|
405
|
+
return existing;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
341
408
|
const messagesToSummarize = messages.slice(1);
|
|
342
409
|
const recentMessages = messagesToSummarize
|
|
343
410
|
.filter((m) => m.role === 'user' || (m.role === 'assistant' && typeof m.content === 'string'))
|
|
@@ -348,8 +415,8 @@ export class ContextManager {
|
|
|
348
415
|
summarySpan.setAttribute('skipped', true);
|
|
349
416
|
return '';
|
|
350
417
|
}
|
|
351
|
-
|
|
352
|
-
const stream =
|
|
418
|
+
const summaryProvider = this.providerRouter ? this.providerRouter('summary') : this.provider;
|
|
419
|
+
const stream = summaryProvider.chat([
|
|
353
420
|
{
|
|
354
421
|
role: 'system',
|
|
355
422
|
content: 'Summarize the following conversation excerpt in 1-2 sentences. Focus on key facts, decisions, and user preferences. Be concise.',
|
|
@@ -362,7 +429,6 @@ export class ContextManager {
|
|
|
362
429
|
});
|
|
363
430
|
let summary = '';
|
|
364
431
|
for await (const chunk of stream) {
|
|
365
|
-
// 流读取过程中检查 abort,提前退出(provider 收到 abort 会抛 AbortError 进入 catch)
|
|
366
432
|
if (signal?.aborted) {
|
|
367
433
|
summarySpan.setAttribute('aborted', true);
|
|
368
434
|
break;
|
|
@@ -370,7 +436,6 @@ export class ContextManager {
|
|
|
370
436
|
if (chunk.content)
|
|
371
437
|
summary += chunk.content;
|
|
372
438
|
}
|
|
373
|
-
// 被中断时返回空字符串(降级为无摘要),不缓存
|
|
374
439
|
if (signal?.aborted) {
|
|
375
440
|
return '';
|
|
376
441
|
}
|
|
@@ -379,20 +444,17 @@ export class ContextManager {
|
|
|
379
444
|
return `[Context summary of earlier conversation]\n${summary}`;
|
|
380
445
|
}
|
|
381
446
|
catch (err) {
|
|
382
|
-
// AbortError
|
|
383
|
-
|
|
384
|
-
if (isAbort) {
|
|
447
|
+
// AbortError 是用户主动取消,降级为无摘要而非错误
|
|
448
|
+
if (isAbortError(err)) {
|
|
385
449
|
summarySpan.setAttribute('aborted', true);
|
|
386
450
|
logger.debug('上下文摘要生成被中断,降级为无摘要');
|
|
387
451
|
return '';
|
|
388
452
|
}
|
|
389
|
-
// 记录异常到 span(不中断 span,标记错误状态)
|
|
390
453
|
summarySpan.recordException(err instanceof Error ? err : new Error(String(err)));
|
|
391
454
|
logger.warn({ err }, '上下文摘要生成失败,降级为无摘要');
|
|
392
455
|
return '';
|
|
393
456
|
}
|
|
394
457
|
finally {
|
|
395
|
-
// 无论成功/失败都结束 span
|
|
396
458
|
summarySpan.end();
|
|
397
459
|
}
|
|
398
460
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contextManager.js","sourceRoot":"","sources":["../../src/agent/contextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent 输入增强管线 — 外部输入 → 上下文装配
|
|
3
|
+
*
|
|
4
|
+
* 职责:
|
|
5
|
+
* - assembleContext:上下文装配(预算派生 + 对话层注入 + 占用快照)。
|
|
6
|
+
* 每轮无自动记忆召回(memory-tool-recall-design §3/§4),检索由 LLM 经 search_memories 工具主动触发。
|
|
7
|
+
* - 角色包只能手动切换,无 autoMatch / LLM 语义兜底(无角色自动匹配)
|
|
8
|
+
*
|
|
9
|
+
* 设计原则:
|
|
10
|
+
* - 只依赖 Agent 注入的稳定能力(deps),不反向依赖 Agent 私有状态(与 AgentHooks 同构)
|
|
11
|
+
* - 管线逻辑单一真理源:对话层注入/占用快照随管线走
|
|
12
|
+
* - Agent 门面保留编排骨架(thinking 阶段 yield 与调用点),叶子逻辑在此唯一实现
|
|
13
|
+
* - 事件发射(inputTooLarge)经 emit 回调由 Agent 承接
|
|
14
|
+
*/
|
|
15
|
+
import type { AgentLoop } from '../agent/loop.js';
|
|
16
|
+
import type { RolePackManager } from '../role-pack/rolePackManager.js';
|
|
17
|
+
import type { IMemoryStorage } from '../memory/storageInterface.js';
|
|
18
|
+
import type { UIMessages } from '../agent/types.js';
|
|
19
|
+
import { type AgentEventName } from '../utils/eventEmitter.js';
|
|
20
|
+
import type { ITracer } from '../agent/tracer.js';
|
|
21
|
+
/**
|
|
22
|
+
* 输入增强管线的依赖注入接口(Agent 稳定能力的窄面)
|
|
23
|
+
*
|
|
24
|
+
* 边界:只传 Agent 的稳定能力(组件引用 / 配置 / 事件发射),
|
|
25
|
+
* 不传可变私有状态。
|
|
26
|
+
*/
|
|
27
|
+
export interface ContextPreparerDeps {
|
|
28
|
+
/** AgentLoop(最近对话注入 + 召回互斥排除集派生) */
|
|
29
|
+
loop: AgentLoop;
|
|
30
|
+
/** 角色包管理器(策略来源;可为空) */
|
|
31
|
+
rolePackManager: RolePackManager | null;
|
|
32
|
+
/** 懒取项目记忆索引(requirePctx.index 等价物,避免持有可变 ProjectContext 引用) */
|
|
33
|
+
getIndex: () => IMemoryStorage;
|
|
34
|
+
/** 宿主可观测性 / 存储 / 文案配置 */
|
|
35
|
+
config: {
|
|
36
|
+
/** 可观测性 Tracer(可选,缺省 Noop) */
|
|
37
|
+
tracer: ITracer | null;
|
|
38
|
+
/** 界面文案(最近对话 / 用户 / 助手标签) */
|
|
39
|
+
messages: UIMessages | undefined;
|
|
40
|
+
/** 上下文窗口容量(token):唯一真理源 = 宿主在构造内核前经 resolveContextWindow(window) 解析注入的单一数字(per-LLM 窗口,缺失回退默认 120K)。内核预算路径只消费单一数字,不认 provider/用户双层来源 */
|
|
41
|
+
maxContextTokens: number;
|
|
42
|
+
};
|
|
43
|
+
/** 事件发射(桥接到 Agent 强类型 emit) */
|
|
44
|
+
emit: (event: AgentEventName, data: unknown) => void;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 输入增强管线协调器
|
|
48
|
+
*
|
|
49
|
+
* 承载 chat() 回答前的输入增强:记忆召回 + 固定轮次注入。Agent.prepareChatContext
|
|
50
|
+
* 保留编排骨架,本类唯一实现叶子逻辑。
|
|
51
|
+
*/
|
|
52
|
+
export declare class ContextPreparer {
|
|
53
|
+
/** 依赖注入集合(Agent 稳定能力窄面) */
|
|
54
|
+
private readonly deps;
|
|
55
|
+
constructor(deps: ContextPreparerDeps);
|
|
56
|
+
/**
|
|
57
|
+
* 运行时更新上下文窗口上限(token)
|
|
58
|
+
*
|
|
59
|
+
* 模型热切换(Agent.setContextWindow)后调用:deps.config.maxContextTokens 为装配期
|
|
60
|
+
* 值拷贝,须显式同步——否则每轮 prepare 的预算派生(computeContextBudget)与占用快照
|
|
61
|
+
* (recordOccupancy 的 totalTokens / outputReserve / free)仍用旧窗口。
|
|
62
|
+
*
|
|
63
|
+
* @param tokens 新窗口 token 数
|
|
64
|
+
*/
|
|
65
|
+
setMaxContextTokens(tokens: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* 上下文装配(纯上下文装配,无自动召回)
|
|
68
|
+
*
|
|
69
|
+
* 记忆检索由 LLM 经 search_memories 工具主动触发(builtinToolHandlers.searchMemories),
|
|
70
|
+
* 本方法不代模型猜测"此刻需要什么记忆",只做纯**上下文装配**:预算派生 + roundId 互斥 +
|
|
71
|
+
* 对话层注入 + 上下文占用快照,不返回任何自动召回的注入记忆。
|
|
72
|
+
* 对话层注入恒走 hybrid(最近对话摘要注入),无 fixed/query 分支。
|
|
73
|
+
*
|
|
74
|
+
* @param input 用户输入(仅作顶级锚点预算估算,不再作为召回 query)
|
|
75
|
+
*/
|
|
76
|
+
assembleContext(input: string): Promise<void>;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=contextPreparer.d.ts.map
|