@zooique/memora 2.0.3 → 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 -272
- package/README.md +303 -260
- package/config.example.json +43 -0
- package/dist/agent/agent.d.ts +376 -408
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +1166 -926
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +105 -43
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +543 -75
- 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 +225 -38
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +748 -132
- 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 +137 -20
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +152 -20
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +119 -77
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +192 -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 +716 -295
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +2178 -664
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +14 -171
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +19 -287
- 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 +31 -115
- package/dist/agent/managers/dedupManager.d.ts.map +1 -1
- package/dist/agent/managers/dedupManager.js +48 -136
- package/dist/agent/managers/dedupManager.js.map +1 -1
- 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 +8 -25
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +1 -1
- package/dist/agent/managers/llmJudgeHelper.js +7 -24
- package/dist/agent/managers/llmJudgeHelper.js.map +1 -1
- 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 +85 -207
- package/dist/agent/managers/memoryAdvisor.js.map +1 -1
- package/dist/agent/managers/memoryGovernance.d.ts +10 -42
- package/dist/agent/managers/memoryGovernance.d.ts.map +1 -1
- package/dist/agent/managers/memoryGovernance.js +19 -36
- package/dist/agent/managers/memoryGovernance.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +59 -268
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +91 -442
- 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 -68
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +76 -147
- 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 +8 -33
- package/dist/agent/managers/streamAccumulator.d.ts.map +1 -1
- package/dist/agent/managers/streamAccumulator.js +4 -29
- package/dist/agent/managers/streamAccumulator.js.map +1 -1
- 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 +9 -41
- 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 +55 -100
- package/dist/agent/managers/workProjection.d.ts.map +1 -1
- package/dist/agent/managers/workProjection.js +164 -268
- 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 +236 -10
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +932 -21
- 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 +510 -169
- 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 +27 -98
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +110 -223
- package/dist/config/loader.js.map +1 -1
- package/dist/index.d.ts +67 -77
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -69
- 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 +22 -32
- package/dist/llm/factory.d.ts.map +1 -1
- package/dist/llm/factory.js +29 -46
- 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 +179 -120
- 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 -31
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +28 -215
- 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 +11 -44
- package/dist/memory/governance.d.ts.map +1 -1
- package/dist/memory/governance.js +11 -64
- package/dist/memory/governance.js.map +1 -1
- 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 +25 -175
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +32 -221
- 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 +2 -2
- package/dist/memory/lockManager.d.ts.map +1 -1
- package/dist/memory/lockManager.js +6 -8
- package/dist/memory/lockManager.js.map +1 -1
- package/dist/memory/projectManager.d.ts +30 -129
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +39 -189
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/projectRegistry.d.ts +14 -62
- package/dist/memory/projectRegistry.d.ts.map +1 -1
- package/dist/memory/projectRegistry.js +27 -111
- 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 +10 -12
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +16 -32
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +44 -150
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/types.d.ts +65 -164
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +81 -83
- 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 +136 -19
- package/dist/skill/skillManager.d.ts.map +1 -1
- package/dist/skill/skillManager.js +312 -61
- 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 -16
- 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 +40 -72
- package/dist/utils/configResourceManager.d.ts.map +1 -1
- package/dist/utils/configResourceManager.js +78 -76
- package/dist/utils/configResourceManager.js.map +1 -1
- package/dist/utils/errors.d.ts +44 -69
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +54 -71
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +104 -103
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +37 -45
- 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 +2 -3
- 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 +25 -3
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +32 -16
- 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 -19
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +230 -97
- 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 +416 -476
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +841 -806
- 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 -100
- 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 -49
- package/dist/agent/guardrail.d.ts.map +0 -1
- package/dist/agent/guardrail.js +0 -59
- 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 -146
- package/dist/agent/managers/autoConfigRefiner.js.map +0 -1
- package/dist/agent/managers/configManager.d.ts +0 -209
- package/dist/agent/managers/configManager.d.ts.map +0 -1
- package/dist/agent/managers/configManager.js +0 -331
- 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 -239
- package/dist/agent/managers/memoryDecayScheduler.d.ts.map +0 -1
- package/dist/agent/managers/memoryDecayScheduler.js +0 -413
- 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 -88
- 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 -79
- 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 -50
- package/dist/memory/hybridMerge.d.ts.map +0 -1
- package/dist/memory/hybridMerge.js +0 -51
- package/dist/memory/hybridMerge.js.map +0 -1
- package/dist/memory/inMemoryRelationStore.d.ts +0 -58
- package/dist/memory/inMemoryRelationStore.d.ts.map +0 -1
- package/dist/memory/inMemoryRelationStore.js +0 -80
- package/dist/memory/inMemoryRelationStore.js.map +0 -1
- package/dist/memory/loader.d.ts +0 -51
- package/dist/memory/loader.d.ts.map +0 -1
- package/dist/memory/loader.js +0 -100
- package/dist/memory/loader.js.map +0 -1
- package/dist/memory/recall.d.ts +0 -82
- package/dist/memory/recall.d.ts.map +0 -1
- package/dist/memory/recall.js +0 -157
- package/dist/memory/recall.js.map +0 -1
- package/dist/memory/relationStore.d.ts +0 -95
- 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 -71
- package/dist/memory/store.d.ts.map +0 -1
- package/dist/memory/store.js +0 -199
- package/dist/memory/store.js.map +0 -1
- package/dist/memory/userProfile.d.ts +0 -180
- package/dist/memory/userProfile.d.ts.map +0 -1
- package/dist/memory/userProfile.js +0 -381
- package/dist/memory/userProfile.js.map +0 -1
- package/dist/memory/vectorStore.d.ts +0 -179
- package/dist/memory/vectorStore.d.ts.map +0 -1
- package/dist/memory/vectorStore.js +0 -284
- package/dist/memory/vectorStore.js.map +0 -1
- package/dist/persona/personaManager.d.ts +0 -109
- package/dist/persona/personaManager.d.ts.map +0 -1
- package/dist/persona/personaManager.js +0 -315
- 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 聚焦上下文窗口管理。
|
|
@@ -18,6 +20,10 @@ 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';
|
|
20
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';
|
|
21
27
|
/**
|
|
22
28
|
* 判断字符是否为 CJK 字符(中文适配)
|
|
23
29
|
*
|
|
@@ -63,6 +69,45 @@ function countCjkAndOther(str) {
|
|
|
63
69
|
}
|
|
64
70
|
return { cjkChars, otherChars };
|
|
65
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
|
+
}
|
|
66
111
|
/**
|
|
67
112
|
* 上下文窗口管理器
|
|
68
113
|
*
|
|
@@ -70,154 +115,185 @@ function countCjkAndOther(str) {
|
|
|
70
115
|
* 从 AgentLoop 提取,保持无状态设计(不持有 messages 引用)。
|
|
71
116
|
*/
|
|
72
117
|
export class ContextManager {
|
|
73
|
-
|
|
118
|
+
// 组合 root 统一注入为字段,类内不承担 Provider 选址逻辑。
|
|
119
|
+
// 非 readonly:模型热切换(Agent.setContextWindow)后经 setMaxContextTokens 更新,
|
|
120
|
+
// 截断阈值 / 软上限 / 召回注入警戒线随新窗口同步重算。
|
|
74
121
|
maxContextTokens;
|
|
75
|
-
/** LLM Provider(用于 generateContextSummary) */
|
|
76
122
|
provider;
|
|
77
|
-
|
|
123
|
+
providerRouter;
|
|
78
124
|
contextTruncatedFn;
|
|
79
|
-
/** 可观测性 Tracer(用于 generateContextSummary span 埋点,默认 NOOP) */
|
|
80
125
|
tracer;
|
|
81
|
-
/** 上下文摘要缓存(首次截断后生成,后续截断复用) */
|
|
82
126
|
contextSummary = null;
|
|
83
|
-
/** 摘要缓存生成时的消息数量,用于判断缓存是否过期 */
|
|
84
127
|
contextSummaryMsgCount = 0;
|
|
85
|
-
/** 截断次数统计(truncateMessages 实际触发截断 +1,供 getMetrics 读取) */
|
|
86
128
|
_truncationCount = 0;
|
|
87
|
-
/** 截断事件回调(宿主可注入以通知用户) */
|
|
88
129
|
onContextTruncated;
|
|
130
|
+
roundSummaryLoader;
|
|
131
|
+
minRecentRounds;
|
|
89
132
|
constructor(opts) {
|
|
90
133
|
this.maxContextTokens = opts.maxContextTokens;
|
|
91
134
|
this.provider = opts.provider;
|
|
135
|
+
this.providerRouter = opts.providerRouter;
|
|
92
136
|
this.contextTruncatedFn = opts.contextTruncatedFn;
|
|
93
137
|
this.onContextTruncated = opts.onContextTruncated;
|
|
94
|
-
|
|
138
|
+
this.roundSummaryLoader = opts.roundSummaryLoader;
|
|
139
|
+
this.minRecentRounds = Math.max(0, Math.floor(opts.minRecentRounds ?? 0));
|
|
95
140
|
this.tracer = opts.tracer ?? NOOP_TRACER;
|
|
96
141
|
}
|
|
97
|
-
/** 截断次数(供 AgentLoop.getMetrics 读取) */
|
|
98
|
-
get truncationCount() {
|
|
99
|
-
return this._truncationCount;
|
|
100
|
-
}
|
|
101
142
|
/**
|
|
102
|
-
*
|
|
143
|
+
* 运行时更新上下文窗口上限(token)
|
|
103
144
|
*
|
|
104
|
-
*
|
|
105
|
-
* - CJK 字符(中文/日文/韩文):cjkChars / CJK_CHARS_PER_TOKEN(1.5)
|
|
106
|
-
* - 非 CJK 字符(英文/数字/符号):otherChars / CHARS_PER_TOKEN(3)
|
|
107
|
-
* 统一字符估算会严重低估中文(4 字符 ≈ 1.3 token,实际约 4-8 token)。
|
|
145
|
+
* 截断判定 / 软上限 / 召回注入警戒线均内读本字段,更新即刻生效。
|
|
108
146
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* @param messages 消息数组
|
|
112
|
-
* @returns 估算的 token 数
|
|
147
|
+
* @param tokens 新窗口 token 数
|
|
113
148
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const contentCounts = countCjkAndOther(m.content);
|
|
120
|
-
cjkChars += contentCounts.cjkChars;
|
|
121
|
-
otherChars += contentCounts.otherChars;
|
|
122
|
-
// toolCalls 的 JSON 序列化字符数(同样区分 CJK/非 CJK)
|
|
123
|
-
if (m.toolCalls) {
|
|
124
|
-
const toolCallsCounts = countCjkAndOther(JSON.stringify(m.toolCalls));
|
|
125
|
-
cjkChars += toolCallsCounts.cjkChars;
|
|
126
|
-
otherChars += toolCallsCounts.otherChars;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
// CJK 与非 CJK 分别按各自密度估算后求和
|
|
130
|
-
return Math.ceil(cjkChars / LOOP_CONSTANTS.CJK_CHARS_PER_TOKEN +
|
|
131
|
-
otherChars / LOOP_CONSTANTS.CHARS_PER_TOKEN);
|
|
149
|
+
setMaxContextTokens(tokens) {
|
|
150
|
+
this.maxContextTokens = tokens;
|
|
151
|
+
}
|
|
152
|
+
get truncationCount() {
|
|
153
|
+
return this._truncationCount;
|
|
132
154
|
}
|
|
133
155
|
/**
|
|
134
|
-
*
|
|
156
|
+
* 估算消息 token 数。
|
|
135
157
|
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
158
|
+
* CJK(中/日/韩)与其它字符密度不同需分开估算:
|
|
159
|
+
* 统一按 3 字符/token 会严重低估中文(实际约 1.5 字符/token)。
|
|
160
|
+
* toolCalls 序列化字符同样计入。
|
|
138
161
|
*/
|
|
162
|
+
estimateTokens(messages) {
|
|
163
|
+
return estimateTokensMessages(messages);
|
|
164
|
+
}
|
|
165
|
+
/** token 超阈值且消息数 > 3(避免单条消息触发截断)时才需要截断 */
|
|
139
166
|
shouldTruncate(messages) {
|
|
140
167
|
return this.estimateTokens(messages) > this.maxContextTokens && messages.length > 3;
|
|
141
168
|
}
|
|
142
169
|
/**
|
|
143
|
-
*
|
|
170
|
+
* 软上限判定:上下文逼近容量上限(≥ 缓冲阈值)且摘要层 token 占比过高时,注入收尾信号让 LLM 收敛。
|
|
171
|
+
* 从 AgentLoop._shouldInjectSoftLimitWrapup 迁入(与 estimateTokens/maxContextTokens 同属上下文预算层)。
|
|
144
172
|
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
* - 头部被裁剪的消息替换为一条摘要占位消息
|
|
173
|
+
* 精确检测摘要层 token 占用(替代原"存在标记即触发"的近似判断):
|
|
174
|
+
* - 过滤出标记为摘要的消息(Round summary / Compressed context)
|
|
175
|
+
* - 计算摘要层 token 占用
|
|
176
|
+
* - 当摘要层 token ≥ maxContextTokens × SUMMARY_LAYER_TOKEN_RATIO 时判定为"摘要层达容量上限"
|
|
150
177
|
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
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(软上限的前一级预警)
|
|
153
204
|
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
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
|
+
* 截断消息数组以适配上下文窗口。
|
|
156
222
|
*
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
223
|
+
* 策略:保留下方(最近)、裁中间、头部折叠成占位消息。
|
|
224
|
+
* - messages[0](system prompt)始终保留;
|
|
225
|
+
* - 从被裁剪段按重要性(user > tool > assistant)提取关键消息;
|
|
226
|
+
* - 若 system prompt 本身已超窗口则不截断(配置问题,交由 LLM API 报错)。
|
|
160
227
|
*/
|
|
161
228
|
truncateMessages(messages, summary) {
|
|
162
229
|
const estimated = this.estimateTokens(messages);
|
|
163
230
|
if (estimated <= this.maxContextTokens || messages.length <= 3) {
|
|
164
|
-
return messages;
|
|
231
|
+
return messages;
|
|
165
232
|
}
|
|
166
|
-
// system prompt 单独保留
|
|
167
233
|
const systemMsg = messages[0];
|
|
168
234
|
if (!systemMsg || systemMsg.role !== 'system') {
|
|
169
|
-
return messages;
|
|
235
|
+
return messages;
|
|
170
236
|
}
|
|
171
237
|
const systemTokens = this.estimateTokens([systemMsg]);
|
|
172
238
|
if (systemTokens >= this.maxContextTokens) {
|
|
173
|
-
// system prompt 本身就超了——这是配置问题,不应该截断
|
|
174
239
|
logger.warn({ systemTokens, maxContextTokens: this.maxContextTokens }, 'system prompt 已超过上下文窗口上限,请缩减 bootstrapMemories 或 toolDefinitions');
|
|
175
240
|
return messages;
|
|
176
241
|
}
|
|
177
|
-
//
|
|
242
|
+
// 留 10% 缓冲给 LLM 响应
|
|
178
243
|
const availableTokens = Math.floor(this.maxContextTokens * LOOP_CONSTANTS.CONTEXT_TOKENS_BUFFER_RATIO) - systemTokens;
|
|
179
|
-
//
|
|
244
|
+
// 从尾部向前收集最近消息(tail 区);cutIndex 记录裁剪起始
|
|
180
245
|
const tail = [];
|
|
181
246
|
let tailTokens = 0;
|
|
182
|
-
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
|
+
}
|
|
183
263
|
for (let i = messages.length - 1; i >= 1; i--) {
|
|
184
|
-
// QC-17 移除非空断言:循环条件保证索引有效,null 检查兜底
|
|
185
264
|
const msg = messages[i];
|
|
186
265
|
if (!msg)
|
|
187
266
|
break;
|
|
188
267
|
const msgTokens = this.estimateTokens([msg]);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
268
|
+
// 强制保留区不计入 token 上限;超出该区才按 token 截断
|
|
269
|
+
const inForced = tail.length < forcedTailCount;
|
|
270
|
+
if (!inForced && tailTokens + msgTokens > availableTokens) {
|
|
271
|
+
cutIndex = i + 1;
|
|
272
|
+
break;
|
|
192
273
|
}
|
|
193
|
-
tail.unshift(msg);
|
|
274
|
+
tail.unshift(msg);
|
|
194
275
|
tailTokens += msgTokens;
|
|
195
276
|
cutIndex = i;
|
|
196
277
|
}
|
|
197
|
-
//
|
|
198
|
-
const skipped = cutIndex - 1;
|
|
278
|
+
// 去掉 system prompt(-1);裁剪数为 0 说明全部保留
|
|
279
|
+
const skipped = cutIndex - 1;
|
|
199
280
|
if (skipped <= 0) {
|
|
200
|
-
return messages;
|
|
281
|
+
return messages;
|
|
201
282
|
}
|
|
202
|
-
// 截断次数统计:确实发生了截断(skipped > 0)
|
|
203
283
|
this._truncationCount++;
|
|
204
|
-
// 通知宿主上下文被截断(如��回调)
|
|
205
284
|
this.onContextTruncated?.(skipped, tail.length);
|
|
206
|
-
//
|
|
207
|
-
// 重要性权重:user > tool > assistant;内容较长的用户消息优先
|
|
285
|
+
// 从被裁剪段按重要性提取关键消息(保留信息量最高的用户输入)
|
|
208
286
|
const cutMessages = messages.slice(1, cutIndex);
|
|
209
287
|
const keyMessages = this.extractKeyMessages(cutMessages, availableTokens - tailTokens);
|
|
210
|
-
//
|
|
288
|
+
// 占位消息:告知 LLM 有历史被裁剪
|
|
211
289
|
const placeholder = {
|
|
212
290
|
role: 'system',
|
|
213
291
|
content: this.contextTruncatedFn(skipped, tail.length),
|
|
214
292
|
};
|
|
215
293
|
const truncated = [systemMsg];
|
|
216
|
-
// 如果有摘要,插入到 system prompt 和 placeholder 之间
|
|
217
294
|
if (summary) {
|
|
218
295
|
truncated.push({ role: 'system', content: summary });
|
|
219
296
|
}
|
|
220
|
-
// 插入从被裁剪区域提取的关键消息
|
|
221
297
|
truncated.push(...keyMessages);
|
|
222
298
|
truncated.push(placeholder);
|
|
223
299
|
truncated.push(...tail);
|
|
@@ -233,37 +309,24 @@ export class ContextManager {
|
|
|
233
309
|
return truncated;
|
|
234
310
|
}
|
|
235
311
|
/**
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
* 重要性权重:
|
|
239
|
-
* - user 消息:权重 3(用户输入信息量最高)
|
|
240
|
-
* - tool 消息:权重 2(工具结果有参考价值)
|
|
241
|
-
* - assistant 消息:权重 1(助手回复可从上下文推断)
|
|
242
|
-
*
|
|
243
|
-
* 贪心选取:按权重降序 + 内容长度降序排列,逐条选取直到 token 用完。
|
|
244
|
-
* 最终按原始顺序返回(保持时间线一致性)。
|
|
245
|
-
*
|
|
246
|
-
* @param cutMessages 被裁剪的消息数组
|
|
247
|
-
* @param availableTokens 可用 token 数
|
|
248
|
-
* @returns 提取的关键消息数组(按原始顺序)
|
|
312
|
+
* 从被裁剪段按重要性贪心选取关键消息,保留信息量最高的用户输入。
|
|
313
|
+
* 权重:user=3 > tool=2 > assistant=1,同级按内容长度;最后恢复原始顺序。
|
|
249
314
|
*/
|
|
250
315
|
extractKeyMessages(cutMessages, availableTokens) {
|
|
251
316
|
if (availableTokens <= 0 || cutMessages.length === 0)
|
|
252
317
|
return [];
|
|
253
|
-
// 计算每条消息的权重和 token 数
|
|
254
318
|
const weighted = cutMessages.map((msg, index) => ({
|
|
255
319
|
msg,
|
|
256
|
-
index, //
|
|
320
|
+
index, // 原始顺序索引(最终恢复用)
|
|
257
321
|
weight: this.messageImportance(msg),
|
|
258
322
|
tokens: this.estimateTokens([msg]),
|
|
259
323
|
}));
|
|
260
|
-
// 按权重降序 + 内容长度降序排列
|
|
261
324
|
weighted.sort((a, b) => {
|
|
262
325
|
if (b.weight !== a.weight)
|
|
263
326
|
return b.weight - a.weight;
|
|
264
327
|
return b.msg.content.length - a.msg.content.length;
|
|
265
328
|
});
|
|
266
|
-
//
|
|
329
|
+
// 贪心选取直到 token 用完
|
|
267
330
|
const selected = [];
|
|
268
331
|
let usedTokens = 0;
|
|
269
332
|
for (const item of weighted) {
|
|
@@ -272,16 +335,11 @@ export class ContextManager {
|
|
|
272
335
|
selected.push(item);
|
|
273
336
|
usedTokens += item.tokens;
|
|
274
337
|
}
|
|
275
|
-
//
|
|
338
|
+
// 恢复原始顺序,保持时间线一致
|
|
276
339
|
selected.sort((a, b) => a.index - b.index);
|
|
277
340
|
return selected.map((item) => item.msg);
|
|
278
341
|
}
|
|
279
|
-
/**
|
|
280
|
-
* 评估单条消息的重要性权重
|
|
281
|
-
*
|
|
282
|
-
* @param msg 消息
|
|
283
|
-
* @returns 权重值(user=3, tool=2, assistant=1)
|
|
284
|
-
*/
|
|
342
|
+
/** 消息重要性权重:user>tool>assistant */
|
|
285
343
|
messageImportance(msg) {
|
|
286
344
|
if (msg.role === 'user')
|
|
287
345
|
return 3;
|
|
@@ -290,60 +348,63 @@ export class ContextManager {
|
|
|
290
348
|
return 1;
|
|
291
349
|
}
|
|
292
350
|
/**
|
|
293
|
-
*
|
|
351
|
+
* 作废摘要缓存
|
|
294
352
|
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
353
|
+
* 缓存过期靠 `messages.length - contextSummaryMsgCount > TTL` 这个**单向**数值判断,
|
|
354
|
+
* 只覆盖「消息增长」。当消息集合被整体替换(`AgentLoop.restoreHistory` 恢复检查点)
|
|
355
|
+
* 且新历史更短时,差值为负 → 陈旧摘要永不过期,会把上一段会话的摘要注入新上下文。
|
|
297
356
|
*
|
|
298
|
-
*
|
|
299
|
-
*
|
|
357
|
+
* 修法不是把条件改成 `Math.abs`:truncateMessages 的正常裁剪同样让消息变少,
|
|
358
|
+
* 而那时摘要恰恰更该保留(它描述的就是被裁掉的历史)。真理源是「消息集合是否被替换」
|
|
359
|
+
* 这一事实,故由替换方显式作废,而非从长度差反推。
|
|
360
|
+
*/
|
|
361
|
+
resetSummary() {
|
|
362
|
+
this.contextSummary = null;
|
|
363
|
+
this.contextSummaryMsgCount = 0;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* 获取或创建上下文摘要(带缓存)。
|
|
300
367
|
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
* @returns 摘要字符串(失败/中断时返回空字符串,降级为无摘要)
|
|
368
|
+
* 缓存 TTL:消息数增长超 SUMMARY_CACHE_TTL_MSGS 即过期重生成。
|
|
369
|
+
* signal 使摘要 LLM 可被中断,避免其卡住时挂起调用方。
|
|
304
370
|
*/
|
|
305
371
|
async getOrCreateSummary(messages, signal) {
|
|
306
|
-
// 检查缓存是否有效
|
|
307
372
|
const summaryExpired = this.contextSummary !== null &&
|
|
308
373
|
messages.length - this.contextSummaryMsgCount > LOOP_CONSTANTS.SUMMARY_CACHE_TTL_MSGS;
|
|
309
374
|
if (this.contextSummary && !summaryExpired) {
|
|
310
375
|
return this.contextSummary;
|
|
311
376
|
}
|
|
312
|
-
// 生成新摘要(传入 signal 支持中断)
|
|
313
377
|
const summary = await this.generateContextSummary(messages, signal);
|
|
314
378
|
this.contextSummary = summary;
|
|
315
379
|
this.contextSummaryMsgCount = messages.length;
|
|
316
380
|
return summary;
|
|
317
381
|
}
|
|
318
382
|
/**
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
* 在首次截断时,提取即将被裁剪的消息中最近几条用户/助手对话,
|
|
322
|
-
* 调用 provider 生成一句摘要,作为"遗忘补偿"注入到 system prompt 中。
|
|
323
|
-
*
|
|
324
|
-
* 通过 tracer span 埋点(TRACE_SPANS.CONTEXT_SUMMARY),
|
|
325
|
-
* 让宿主监控面板能观察截断频率、摘要生成耗时与失败率。
|
|
383
|
+
* 生成上下文摘要:把被裁剪段压缩成"遗忘补偿"注入 system prompt。
|
|
326
384
|
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
* @param messages 当前消息数组
|
|
332
|
-
* @param signal 可选的 AbortSignal
|
|
333
|
-
* @returns 摘要字符串(失败/中断时返回空字符串,降级为无摘要)
|
|
385
|
+
* 策略:
|
|
386
|
+
* - 优先复用已存的 round-summary(每轮后台生成的零成本产物),仅无已存摘要才调 LLM;
|
|
387
|
+
* - 走 providerRouter 的 'summary' 路由(轻量模型),未配置则回退主 provider;
|
|
388
|
+
* - abort 或失败一律降级为空串返回,不影响主流程。
|
|
334
389
|
*/
|
|
335
390
|
async generateContextSummary(messages, signal) {
|
|
336
|
-
// 启动 CONTEXT_SUMMARY span,记录摘要生成的耗时与异常
|
|
337
391
|
const summarySpan = this.tracer.startSpan(TRACE_SPANS.CONTEXT_SUMMARY, {
|
|
338
392
|
messageCount: messages.length,
|
|
339
393
|
summarizingMessages: Math.min(messages.length - 1, LOOP_CONSTANTS.SUMMARY_MSG_COUNT),
|
|
340
394
|
});
|
|
341
395
|
try {
|
|
342
|
-
// signal 已 abort 时直接返回空,不发起 LLM 调用
|
|
343
396
|
if (signal?.aborted) {
|
|
344
397
|
summarySpan.setAttribute('aborted', true);
|
|
345
398
|
return '';
|
|
346
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
|
+
}
|
|
347
408
|
const messagesToSummarize = messages.slice(1);
|
|
348
409
|
const recentMessages = messagesToSummarize
|
|
349
410
|
.filter((m) => m.role === 'user' || (m.role === 'assistant' && typeof m.content === 'string'))
|
|
@@ -354,8 +415,8 @@ export class ContextManager {
|
|
|
354
415
|
summarySpan.setAttribute('skipped', true);
|
|
355
416
|
return '';
|
|
356
417
|
}
|
|
357
|
-
|
|
358
|
-
const stream =
|
|
418
|
+
const summaryProvider = this.providerRouter ? this.providerRouter('summary') : this.provider;
|
|
419
|
+
const stream = summaryProvider.chat([
|
|
359
420
|
{
|
|
360
421
|
role: 'system',
|
|
361
422
|
content: 'Summarize the following conversation excerpt in 1-2 sentences. Focus on key facts, decisions, and user preferences. Be concise.',
|
|
@@ -368,7 +429,6 @@ export class ContextManager {
|
|
|
368
429
|
});
|
|
369
430
|
let summary = '';
|
|
370
431
|
for await (const chunk of stream) {
|
|
371
|
-
// 流读取过程中检查 abort,提前退出(provider 收到 abort 会抛 AbortError 进入 catch)
|
|
372
432
|
if (signal?.aborted) {
|
|
373
433
|
summarySpan.setAttribute('aborted', true);
|
|
374
434
|
break;
|
|
@@ -376,7 +436,6 @@ export class ContextManager {
|
|
|
376
436
|
if (chunk.content)
|
|
377
437
|
summary += chunk.content;
|
|
378
438
|
}
|
|
379
|
-
// 被中断时返回空字符串(降级为无摘要),不缓存
|
|
380
439
|
if (signal?.aborted) {
|
|
381
440
|
return '';
|
|
382
441
|
}
|
|
@@ -385,19 +444,17 @@ export class ContextManager {
|
|
|
385
444
|
return `[Context summary of earlier conversation]\n${summary}`;
|
|
386
445
|
}
|
|
387
446
|
catch (err) {
|
|
388
|
-
// AbortError
|
|
447
|
+
// AbortError 是用户主动取消,降级为无摘要而非错误
|
|
389
448
|
if (isAbortError(err)) {
|
|
390
449
|
summarySpan.setAttribute('aborted', true);
|
|
391
450
|
logger.debug('上下文摘要生成被中断,降级为无摘要');
|
|
392
451
|
return '';
|
|
393
452
|
}
|
|
394
|
-
// 记录异常到 span(不中断 span,标记错误状态)
|
|
395
453
|
summarySpan.recordException(err instanceof Error ? err : new Error(String(err)));
|
|
396
454
|
logger.warn({ err }, '上下文摘要生成失败,降级为无摘要');
|
|
397
455
|
return '';
|
|
398
456
|
}
|
|
399
457
|
finally {
|
|
400
|
-
// 无论成功/失败都结束 span
|
|
401
458
|
summarySpan.end();
|
|
402
459
|
}
|
|
403
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
|