@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinTools.js","sourceRoot":"","sources":["../../src/agent/builtinTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wBAAwB;QACrC,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;aACtD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,6GAA6G;QAC/G,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;gBAClD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yEAAyE;iBAC5E;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EACT,kGAAkG;QACpG,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC/E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;aAChE;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,gDAAgD;QAClD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC/C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"builtinTools.js","sourceRoot":"","sources":["../../src/agent/builtinTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 上下文压缩策略接口与实现
|
|
3
|
+
*
|
|
4
|
+
* 对应大厂"微压缩层"设计(如 Claude Code MicroCompact、LangChain Deep Agents Offloading):
|
|
5
|
+
* 在每轮对话前静默执行,将旧的 tool_result 替换为占位符/摘要,回收上下文空间。
|
|
6
|
+
*
|
|
7
|
+
* 边界:超大工具结果不在本层卸载——在**入口关**(AgentLoop.appendToolMessage)落盘,
|
|
8
|
+
* 原语见 src/agent/toolResultOffload.ts。
|
|
9
|
+
*/
|
|
10
|
+
import type { Message } from '../llm/provider.js';
|
|
11
|
+
/**
|
|
12
|
+
* 压缩策略接口(可插拔)
|
|
13
|
+
*/
|
|
14
|
+
export interface ICompactionStrategy {
|
|
15
|
+
/** 判断是否需要压缩 */
|
|
16
|
+
shouldCompact(messages: readonly Message[]): boolean;
|
|
17
|
+
/** 执行压缩,返回新的消息数组(或原地修改),支持异步(如文件 IO) */
|
|
18
|
+
compact(messages: Message[]): Promise<void> | void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 结果替换策略
|
|
22
|
+
*
|
|
23
|
+
* 将旧 tool_result 替换为 "[Previous: used {tool_name}]" 占位符,
|
|
24
|
+
* 仅保留最近 N 次完整结果,兼顾语义与压缩率。
|
|
25
|
+
*/
|
|
26
|
+
export declare class ResultReplacementStrategy implements ICompactionStrategy {
|
|
27
|
+
private readonly keepRecent;
|
|
28
|
+
/** 摘要替代回调:给定 read_file 的 path,返回应写入占位的台账摘要;无摘要返回 undefined → 回退空占位。
|
|
29
|
+
* 由 loop 装配注入(取 `FileExposureLedger` 的覆盖度摘要),压缩时把 read_file 结果换成它**自己的**摘要,
|
|
30
|
+
* 而非空 `[Previous: used read_file]`(摘要替代,非空占位;摘要只产一次、三处同源)。 */
|
|
31
|
+
private readonly readFileReplacement?;
|
|
32
|
+
/**
|
|
33
|
+
* @param keepRecent 保留最近多少次工具调用的完整结果(默认 3)
|
|
34
|
+
* @param readFileReplacement read_file 结果的替代处理器(可选;返回 vacuous 时回退空占位)
|
|
35
|
+
*/
|
|
36
|
+
constructor(keepRecent?: number, readFileReplacement?: (path: string) => string | undefined);
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
shouldCompact(messages: readonly Message[]): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 执行压缩:将旧的 tool_result 替换为占位符
|
|
41
|
+
*
|
|
42
|
+
* 算法:
|
|
43
|
+
* 1. 收集所有 tool 角色的消息(即 tool_result)
|
|
44
|
+
* 2. 构建 tool_use_id -> tool_name 映射(从 assistant 消息中的 toolCalls)
|
|
45
|
+
* 3. 将除最近 N 个外的所有 tool_result 替换为 "[Previous: used {tool_name}]"
|
|
46
|
+
*/
|
|
47
|
+
compact(messages: Message[]): void;
|
|
48
|
+
}
|
|
49
|
+
/** 替换式压缩策略默认保留最近正文轮数(LRU:超出则最早先换) */
|
|
50
|
+
export declare const DEFAULT_REPLACE_KEEP_RECENT_ROUNDS = 5;
|
|
51
|
+
/**
|
|
52
|
+
* 替换式压缩策略(第一级 · 内核自动 LRU)
|
|
53
|
+
*
|
|
54
|
+
* 空间不足时,把完整对话层中越界轮次的正文**替换成它自己的已存记忆摘要**(从库取现成,
|
|
55
|
+
* 零生成成本)。按 LRU(最早先换);被替换轮 roundId 计入装配 exclude(装配时间线互斥,
|
|
56
|
+
* 绝不双写)。替换是机械搬移,无需 LLM,**不暴露为 LLM 工具**。
|
|
57
|
+
*
|
|
58
|
+
* 作用对象:已沉淀记忆摘要的问答闭环;无摘要的轮次由第二级压缩(LLM 触发)兜底。
|
|
59
|
+
*/
|
|
60
|
+
export declare class ReplaceRoundsStrategy implements ICompactionStrategy {
|
|
61
|
+
private readonly keepRecentRounds;
|
|
62
|
+
/** 取该轮 roundId 对应的已存 round-summary(无摘要返回 null,该轮不替换) */
|
|
63
|
+
private readonly getSummary;
|
|
64
|
+
/** 上下文是否刚被截断重排(截断会提取 key messages 重插中间,此处跳过替换,交截断机制兜底) */
|
|
65
|
+
private readonly isContextTruncated;
|
|
66
|
+
/**
|
|
67
|
+
* @param options keepRecentRounds 保留最近正文轮数 / getSummary 按 roundId 取摘要 /
|
|
68
|
+
* onReplaced 被替换轮的 roundId 回调(供装配 exclude 记账,防二次召回)/
|
|
69
|
+
* isContextTruncated 上下文是否被截断重排(截断会提取 key messages 重插中间,跳过替换)
|
|
70
|
+
*
|
|
71
|
+
* 轮次 roundId 不再依赖外部序列的「尾部对齐」——各消息在 loop 写入时已自带 roundId
|
|
72
|
+
* (见 Message.roundId),groupRounds 直接从每轮 user 消息读取,单一真理源、无错位风险。
|
|
73
|
+
*/
|
|
74
|
+
constructor(options: {
|
|
75
|
+
keepRecentRounds: number;
|
|
76
|
+
getSummary: (roundId: string) => string | null;
|
|
77
|
+
onReplaced?: (roundId: string) => void;
|
|
78
|
+
isContextTruncated?: () => boolean;
|
|
79
|
+
});
|
|
80
|
+
/** 被替换轮 roundId 回调(装配时间线互斥:该轮摘要已随替换注入上下文,下次装配须 exclude 防双写) */
|
|
81
|
+
private readonly onReplaced?;
|
|
82
|
+
/** 按 user 消息边界分组为轮次;直接从每轮 user 消息读取自带 roundId(无外部序列、无尾部对齐) */
|
|
83
|
+
private groupRounds;
|
|
84
|
+
/** @inheritdoc 上下文未被截断重排且存在越界轮次(超出保留轮数)时需替换 */
|
|
85
|
+
shouldCompact(messages: readonly Message[]): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* 执行替换:最早先换(LRU),把越界轮次正文替换成它自己的已存记忆摘要。
|
|
88
|
+
* 轮次 roundId 直接取自该轮 user 消息自带字段(Message.roundId),不再依赖尾部对齐序列;
|
|
89
|
+
* 从后往前替换,避免索引位移。无摘要 / 无 roundId 的轮次保持不动(交第二级压缩)。
|
|
90
|
+
*/
|
|
91
|
+
compact(messages: Message[]): void;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=compaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe;IACf,aAAa,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAAC;IAErD,wCAAwC;IACxC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC;;mEAE+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAuC;IAE5E;;;OAGG;gBACS,UAAU,GAAE,MAAU,EAAE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAK9F,kBAAkB;IAClB,aAAa,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO;IAKpD;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;CA2CnC;AAaD,qCAAqC;AACrC,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqC;IAChE,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgB;IAEnD;;;;;;;OAOG;gBACS,OAAO,EAAE;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;QAC/C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;KACpC;IAOD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA4B;IAExD,8DAA8D;IAC9D,OAAO,CAAC,WAAW;IAmBnB,+CAA+C;IAC/C,aAAa,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO;IAOpD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;CA8BnC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 上下文压缩策略接口与实现
|
|
3
|
+
*
|
|
4
|
+
* 对应大厂"微压缩层"设计(如 Claude Code MicroCompact、LangChain Deep Agents Offloading):
|
|
5
|
+
* 在每轮对话前静默执行,将旧的 tool_result 替换为占位符/摘要,回收上下文空间。
|
|
6
|
+
*
|
|
7
|
+
* 边界:超大工具结果不在本层卸载——在**入口关**(AgentLoop.appendToolMessage)落盘,
|
|
8
|
+
* 原语见 src/agent/toolResultOffload.ts。
|
|
9
|
+
*/
|
|
10
|
+
// 软上限摘要 marker(生成侧与检测侧共用同一文本源)
|
|
11
|
+
import { SOFT_LIMIT_SUMMARY_MARKER_ROUND } from '../agent/contextManager.js';
|
|
12
|
+
/**
|
|
13
|
+
* 结果替换策略
|
|
14
|
+
*
|
|
15
|
+
* 将旧 tool_result 替换为 "[Previous: used {tool_name}]" 占位符,
|
|
16
|
+
* 仅保留最近 N 次完整结果,兼顾语义与压缩率。
|
|
17
|
+
*/
|
|
18
|
+
export class ResultReplacementStrategy {
|
|
19
|
+
keepRecent;
|
|
20
|
+
/** 摘要替代回调:给定 read_file 的 path,返回应写入占位的台账摘要;无摘要返回 undefined → 回退空占位。
|
|
21
|
+
* 由 loop 装配注入(取 `FileExposureLedger` 的覆盖度摘要),压缩时把 read_file 结果换成它**自己的**摘要,
|
|
22
|
+
* 而非空 `[Previous: used read_file]`(摘要替代,非空占位;摘要只产一次、三处同源)。 */
|
|
23
|
+
readFileReplacement;
|
|
24
|
+
/**
|
|
25
|
+
* @param keepRecent 保留最近多少次工具调用的完整结果(默认 3)
|
|
26
|
+
* @param readFileReplacement read_file 结果的替代处理器(可选;返回 vacuous 时回退空占位)
|
|
27
|
+
*/
|
|
28
|
+
constructor(keepRecent = 3, readFileReplacement) {
|
|
29
|
+
this.keepRecent = keepRecent;
|
|
30
|
+
this.readFileReplacement = readFileReplacement;
|
|
31
|
+
}
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
shouldCompact(messages) {
|
|
34
|
+
const toolResultCount = messages.filter((m) => m.role === 'tool').length;
|
|
35
|
+
return toolResultCount > this.keepRecent;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 执行压缩:将旧的 tool_result 替换为占位符
|
|
39
|
+
*
|
|
40
|
+
* 算法:
|
|
41
|
+
* 1. 收集所有 tool 角色的消息(即 tool_result)
|
|
42
|
+
* 2. 构建 tool_use_id -> tool_name 映射(从 assistant 消息中的 toolCalls)
|
|
43
|
+
* 3. 将除最近 N 个外的所有 tool_result 替换为 "[Previous: used {tool_name}]"
|
|
44
|
+
*/
|
|
45
|
+
compact(messages) {
|
|
46
|
+
// 1. 收集所有工具结果消息(role === 'tool')
|
|
47
|
+
const toolResults = [];
|
|
48
|
+
for (const msg of messages) {
|
|
49
|
+
if (msg.role === 'tool' && msg.toolCallId) {
|
|
50
|
+
toolResults.push(msg);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// 如果工具结果数量 <= 保留阈值,无需压缩
|
|
54
|
+
if (toolResults.length <= this.keepRecent) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
// 2. 构建工具调用 ID -> 工具名称 / 参数的映射
|
|
58
|
+
// 从 assistant 消息中的 toolCalls 提取(参数用于定位 read_file 的 path 以取台账摘要)
|
|
59
|
+
const toolNameMap = new Map();
|
|
60
|
+
const toolArgsMap = new Map();
|
|
61
|
+
for (const msg of messages) {
|
|
62
|
+
if (msg.role === 'assistant' && msg.toolCalls) {
|
|
63
|
+
for (const tc of msg.toolCalls) {
|
|
64
|
+
toolNameMap.set(tc.id, tc.function.name);
|
|
65
|
+
toolArgsMap.set(tc.id, tc.function.arguments);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// 3. 确定需要替换的工具结果(除了最近 N 个)
|
|
70
|
+
const toReplace = toolResults.slice(0, -this.keepRecent);
|
|
71
|
+
// 4. 执行替换
|
|
72
|
+
for (const resultMsg of toReplace) {
|
|
73
|
+
const toolName = toolNameMap.get(resultMsg.toolCallId) ?? 'unknown';
|
|
74
|
+
// 摘要替代:read_file 且能定位 path 且台账有摘要 → 用摘要(非空占位);否则回退 [Previous: used x]
|
|
75
|
+
let replacement;
|
|
76
|
+
if (toolName === 'read_file' && this.readFileReplacement) {
|
|
77
|
+
const path = readFilePathFromArgs(toolArgsMap.get(resultMsg.toolCallId));
|
|
78
|
+
if (path)
|
|
79
|
+
replacement = this.readFileReplacement(path);
|
|
80
|
+
}
|
|
81
|
+
// 关键:保留工具名以维持语义连贯性,替换完整内容
|
|
82
|
+
resultMsg.content = replacement ?? `[Previous: used ${toolName}]`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** 从 read_file 工具调用参数里提取 path(供摘要替代定位台账摘要);非 JSON / 无 path → undefined */
|
|
87
|
+
function readFilePathFromArgs(argsJson) {
|
|
88
|
+
if (argsJson === undefined)
|
|
89
|
+
return undefined;
|
|
90
|
+
try {
|
|
91
|
+
const a = JSON.parse(argsJson);
|
|
92
|
+
return typeof a?.path === 'string' && a.path.trim() !== '' ? a.path : undefined;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** 替换式压缩策略默认保留最近正文轮数(LRU:超出则最早先换) */
|
|
99
|
+
export const DEFAULT_REPLACE_KEEP_RECENT_ROUNDS = 5;
|
|
100
|
+
/**
|
|
101
|
+
* 替换式压缩策略(第一级 · 内核自动 LRU)
|
|
102
|
+
*
|
|
103
|
+
* 空间不足时,把完整对话层中越界轮次的正文**替换成它自己的已存记忆摘要**(从库取现成,
|
|
104
|
+
* 零生成成本)。按 LRU(最早先换);被替换轮 roundId 计入装配 exclude(装配时间线互斥,
|
|
105
|
+
* 绝不双写)。替换是机械搬移,无需 LLM,**不暴露为 LLM 工具**。
|
|
106
|
+
*
|
|
107
|
+
* 作用对象:已沉淀记忆摘要的问答闭环;无摘要的轮次由第二级压缩(LLM 触发)兜底。
|
|
108
|
+
*/
|
|
109
|
+
export class ReplaceRoundsStrategy {
|
|
110
|
+
keepRecentRounds;
|
|
111
|
+
/** 取该轮 roundId 对应的已存 round-summary(无摘要返回 null,该轮不替换) */
|
|
112
|
+
getSummary;
|
|
113
|
+
/** 上下文是否刚被截断重排(截断会提取 key messages 重插中间,此处跳过替换,交截断机制兜底) */
|
|
114
|
+
isContextTruncated;
|
|
115
|
+
/**
|
|
116
|
+
* @param options keepRecentRounds 保留最近正文轮数 / getSummary 按 roundId 取摘要 /
|
|
117
|
+
* onReplaced 被替换轮的 roundId 回调(供装配 exclude 记账,防二次召回)/
|
|
118
|
+
* isContextTruncated 上下文是否被截断重排(截断会提取 key messages 重插中间,跳过替换)
|
|
119
|
+
*
|
|
120
|
+
* 轮次 roundId 不再依赖外部序列的「尾部对齐」——各消息在 loop 写入时已自带 roundId
|
|
121
|
+
* (见 Message.roundId),groupRounds 直接从每轮 user 消息读取,单一真理源、无错位风险。
|
|
122
|
+
*/
|
|
123
|
+
constructor(options) {
|
|
124
|
+
this.keepRecentRounds = options.keepRecentRounds;
|
|
125
|
+
this.getSummary = options.getSummary;
|
|
126
|
+
this.onReplaced = options.onReplaced;
|
|
127
|
+
this.isContextTruncated = options.isContextTruncated ?? (() => false);
|
|
128
|
+
}
|
|
129
|
+
/** 被替换轮 roundId 回调(装配时间线互斥:该轮摘要已随替换注入上下文,下次装配须 exclude 防双写) */
|
|
130
|
+
onReplaced;
|
|
131
|
+
/** 按 user 消息边界分组为轮次;直接从每轮 user 消息读取自带 roundId(无外部序列、无尾部对齐) */
|
|
132
|
+
groupRounds(messages) {
|
|
133
|
+
const rounds = [];
|
|
134
|
+
let start = -1;
|
|
135
|
+
for (let i = 0; i < messages.length; i++) {
|
|
136
|
+
if (messages[i].role === 'user') {
|
|
137
|
+
if (start !== -1) {
|
|
138
|
+
rounds.push({ start, end: i - 1, roundId: messages[start]?.roundId });
|
|
139
|
+
}
|
|
140
|
+
start = i;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (start !== -1) {
|
|
144
|
+
rounds.push({ start, end: messages.length - 1, roundId: messages[start]?.roundId });
|
|
145
|
+
}
|
|
146
|
+
return rounds;
|
|
147
|
+
}
|
|
148
|
+
/** @inheritdoc 上下文未被截断重排且存在越界轮次(超出保留轮数)时需替换 */
|
|
149
|
+
shouldCompact(messages) {
|
|
150
|
+
// 截断会提取 key messages 重插中间,作用于裁剪后视图风险较高——
|
|
151
|
+
// 此时跳过替换(错位替换正文比不替换危害更大),空间维护交回截断机制的摘要注入
|
|
152
|
+
if (this.isContextTruncated())
|
|
153
|
+
return false;
|
|
154
|
+
return this.groupRounds(messages).length > this.keepRecentRounds;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* 执行替换:最早先换(LRU),把越界轮次正文替换成它自己的已存记忆摘要。
|
|
158
|
+
* 轮次 roundId 直接取自该轮 user 消息自带字段(Message.roundId),不再依赖尾部对齐序列;
|
|
159
|
+
* 从后往前替换,避免索引位移。无摘要 / 无 roundId 的轮次保持不动(交第二级压缩)。
|
|
160
|
+
*/
|
|
161
|
+
compact(messages) {
|
|
162
|
+
// 双保险:截断重排后视图不稳定 → 即使被直接调用也不替换(空间维护交回截断机制)
|
|
163
|
+
if (this.isContextTruncated())
|
|
164
|
+
return;
|
|
165
|
+
const rounds = this.groupRounds(messages);
|
|
166
|
+
// 越界轮次:保留最近 keepRecentRounds 轮,其余为可替换区(LRU 最早先换)
|
|
167
|
+
const replaceableCount = Math.max(0, rounds.length - this.keepRecentRounds);
|
|
168
|
+
if (replaceableCount === 0)
|
|
169
|
+
return;
|
|
170
|
+
const replaceable = rounds.slice(0, replaceableCount);
|
|
171
|
+
// 从后往前替换,保证早于它的轮次索引不受位移影响
|
|
172
|
+
for (let k = replaceable.length - 1; k >= 0; k--) {
|
|
173
|
+
const round = replaceable[k];
|
|
174
|
+
const roundId = round.roundId;
|
|
175
|
+
if (!roundId)
|
|
176
|
+
continue; // 该轮消息未携带 roundId(异常态)→ 跳过,交第二级压缩
|
|
177
|
+
const summary = this.getSummary(roundId);
|
|
178
|
+
if (!summary)
|
|
179
|
+
continue; // 无已存摘要 → 该轮不替换(交第二级压缩)
|
|
180
|
+
// 整轮正文替换为一条摘要 system 消息(roundId 经 onReplaced 上报供 trace_summary 回溯)
|
|
181
|
+
const replacement = {
|
|
182
|
+
role: 'system',
|
|
183
|
+
content: `[${SOFT_LIMIT_SUMMARY_MARKER_ROUND} ${roundId}]\n${summary}\n` +
|
|
184
|
+
`(该轮正文已替换为记忆摘要,细节可经 trace_summary 回溯原始对话)`,
|
|
185
|
+
};
|
|
186
|
+
messages.splice(round.start, round.end - round.start + 1, replacement);
|
|
187
|
+
// 记账被替换轮 roundId(装配时间线互斥:下次装配 exclude 防其摘要被二次召回)
|
|
188
|
+
this.onReplaced?.(roundId);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=compaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/agent/compaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,28 +9,26 @@
|
|
|
9
9
|
/**
|
|
10
10
|
* Agent 门面层常量
|
|
11
11
|
*
|
|
12
|
-
* 用于 agent.ts
|
|
12
|
+
* 用于 agent.ts 中的并发锁、输入限制、召回/上下文配置等。
|
|
13
13
|
*/
|
|
14
14
|
export declare const AGENT_CONSTANTS: {
|
|
15
15
|
/**
|
|
16
|
-
* chat()
|
|
17
|
-
*
|
|
18
|
-
* 取 180s(LLM 120s + 60s 缓冲),与超时体系匹配,作为所有超时失败后的最后兜底:
|
|
19
|
-
* - chunk 级读超时 30s(openaiCompatible parseSseStream)
|
|
20
|
-
* - LLM 请求超时 120s(LLM_TIMEOUT_MS)
|
|
21
|
-
* - 宿主层无进展兜底 60s(chatHandlers STREAM_NO_PROGRESS_TIMEOUT_MS)
|
|
16
|
+
* chat() 并发锁超时。锁超时后仅自动释放锁(放行新对话),不中断生成流——
|
|
17
|
+
* LLM 无进展由 provider 层兜底(请求级 120s + SSE 事件停滞 120s),锁不对整次对话时长设上限。
|
|
22
18
|
*/
|
|
23
19
|
readonly CHAT_LOCK_TIMEOUT_MS: 180000;
|
|
24
20
|
/** close() 关闭时等待归档完成的超时(毫秒)。 */
|
|
25
21
|
readonly SHUTDOWN_ARCHIVE_TIMEOUT_MS: 5000;
|
|
26
22
|
/** chat() 输入最大长度(字节)。128KB。 */
|
|
27
23
|
readonly CHAT_INPUT_MAX_LENGTH: number;
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
/**
|
|
25
|
+
* AgentConfig.maxContextTokens 默认值。120K tokens。
|
|
26
|
+
* ⚠️ **本键为真源**;镜像一处须同步 = `src/config/loader.ts` 的 `DEFAULT_MAX_CONTEXT_TOKENS`
|
|
27
|
+
* (同语义同值:配置层默认窗口,分层不可 import,按本仓既有做法「重复 + 注释对冲」)。
|
|
28
|
+
* 注意:`strategyKeys.MIN_CONTEXT_LIMIT` **不是镜像**——它是角色包 contextLimit 的声明
|
|
29
|
+
* 下限语义(正数声明不得低于默认窗口,「收紧」无意义),取值依赖本键但不得随本键联动改。
|
|
30
|
+
*/
|
|
31
31
|
readonly DEFAULT_MAX_CONTEXT_TOKENS: 120000;
|
|
32
|
-
/** recallExcludeSources 默认值——永久记忆不参与增量召回。 */
|
|
33
|
-
readonly DEFAULT_RECALL_EXCLUDE_SOURCES: readonly ["persona", "rule", "skill"];
|
|
34
32
|
/**
|
|
35
33
|
* systemPrompt 时间注入的默认 locale(对齐"核心库领域无关"原则,可被 AssembleInput.locale 覆盖)。
|
|
36
34
|
* 默认 'zh-CN' 是项目母语,宿主可注入其他 locale 实现国际化。
|
|
@@ -38,17 +36,24 @@ export declare const AGENT_CONSTANTS: {
|
|
|
38
36
|
readonly DEFAULT_LOCALE: "zh-CN";
|
|
39
37
|
/** 召回记忆数量上限。5 条记忆兼顾上下文窗口与召回质量。 */
|
|
40
38
|
readonly DEFAULT_RECALL_LIMIT: 5;
|
|
41
|
-
/**
|
|
42
|
-
readonly
|
|
39
|
+
/** 暂停超时阈值(毫秒)。30 分钟内无心跳则视为超时,自动归档清理。 */
|
|
40
|
+
readonly PAUSE_TIMEOUT_MS: number;
|
|
41
|
+
/**
|
|
42
|
+
* 孤儿 Round 垃圾回收周期(毫秒)。
|
|
43
|
+
* 每天执行一次:清理 refCount=0 且超龄的孤立问答闭环(崩溃残留 pending / 已删会话遗留)。
|
|
44
|
+
*/
|
|
45
|
+
readonly GC_INTERVAL_MS: number;
|
|
46
|
+
readonly COMPLETED_TOOL_CALLS_MAX: 48;
|
|
43
47
|
};
|
|
44
48
|
/**
|
|
45
49
|
* AgentLoop 引擎层常量
|
|
46
50
|
*
|
|
47
51
|
* 用于 loop.ts 中的 token 估算、召回上下文长度、LLM 重试、循环限制等。
|
|
48
52
|
*
|
|
49
|
-
* 注意:AgentLoop 构造选项中的默认值(maxIterations
|
|
50
|
-
*
|
|
51
|
-
*
|
|
53
|
+
* 注意:AgentLoop 构造选项中的默认值(maxIterations 兜底 DEFAULT_MAX_ITERATIONS 等)定义在
|
|
54
|
+
* role-pack/strategyKeys.ts——这是角色包策略边界层的常量,agent→role-pack 单向依赖引用。
|
|
55
|
+
* loop.ts runIterationLoop 入口动态计算 effectiveMax:角色包 stepBudget > 0 则覆盖,
|
|
56
|
+
* 否则用 maxIterations 兜底。角色包配多少给多少,内核不 clamp。
|
|
52
57
|
*/
|
|
53
58
|
export declare const LOOP_CONSTANTS: {
|
|
54
59
|
/**
|
|
@@ -76,17 +81,129 @@ export declare const LOOP_CONSTANTS: {
|
|
|
76
81
|
readonly RETRY_BASE_DELAY_MS: 1000;
|
|
77
82
|
/** 单次 LLM 请求超时(毫秒)。120 秒。超时后可重试。 */
|
|
78
83
|
readonly LLM_TIMEOUT_MS: 120000;
|
|
79
|
-
/**
|
|
84
|
+
/**
|
|
85
|
+
* 上下文截断时保留的窗口比例(**保留系数**:乘 `maxContextTokens` 得目标上限)。0.9 = 留 10% 缓冲。
|
|
86
|
+
*
|
|
87
|
+
* ⚠️ 与 `budget.ts` 的 `DEFAULT_OUTPUT_RESERVE_RATIO = 0.15` **不可直接比较**——两者基准不同、
|
|
88
|
+
* 语法相反(同属「给模型回答的预留」,但阶段与依据均不同):
|
|
89
|
+
* · 本常量(**截断线**):`ContextManager.truncateMessages` 触发于 `token > maxContextTokens`,
|
|
90
|
+
* 把 payload 压到 `maxContextTokens × 0.9`。基准 = **窗口总量**;语义 = **保留 90%**(乘法)。
|
|
91
|
+
* · `DEFAULT_OUTPUT_RESERVE_RATIO`(**装配线**):`computeContextBudget` 的
|
|
92
|
+
* `可用 = 窗口 × (1 − 0.15) − 固定开销`。基准 = **窗口总量**;语义 = **预留 15%**(减法)。
|
|
93
|
+
* 二者恰好互余(0.9 保留 ↔ 0.15 预留)纯属巧合,勿据此推导关联或试图统一。
|
|
94
|
+
*/
|
|
80
95
|
readonly CONTEXT_TOKENS_BUFFER_RATIO: 0.9;
|
|
96
|
+
/**
|
|
97
|
+
* 软上限检测:摘要层 token 占容量阈值比例。
|
|
98
|
+
*
|
|
99
|
+
* 当摘要层(含 Round summary / Compressed context 标记的消息)token 占用
|
|
100
|
+
* 超过 maxContextTokens × SUMMARY_LAYER_TOKEN_RATIO 时,判定为"摘要层达容量上限",
|
|
101
|
+
* 触发软上限收尾信号让 LLM 收敛。
|
|
102
|
+
*
|
|
103
|
+
* 0.3 = 摘要层占 30% 容量即触发,配合 CONTEXT_TOKENS_BUFFER_RATIO=0.9
|
|
104
|
+
* 使用:总上下文逼近上限 + 摘要层占比过高 → 注入软上限。
|
|
105
|
+
*/
|
|
106
|
+
readonly SUMMARY_LAYER_TOKEN_RATIO: 0.3;
|
|
107
|
+
/**
|
|
108
|
+
* 单条工具结果进入上下文的最大 token 数(≈ 上下文窗口的 5%)。6,000。
|
|
109
|
+
*
|
|
110
|
+
* **同源红线(一个键,三处引用,且只按 token 判定)**:
|
|
111
|
+
* · **不变量**:任何进入上下文的单条 tool 消息(**含 `wrapToolResult` 包裹**)≤ 本键;
|
|
112
|
+
* · `read_file` 分段预算 = 本键 − `TOOL_RESULT_WRAP_OVERHEAD_TOKENS`(生产者侧扣包裹开销);
|
|
113
|
+
* · 入口关落盘判据 = `estimateTokensText(content) > 本键`(`loop.appendToolMessage`,
|
|
114
|
+
* content 即 wrapped 后待入上下文的内容)。
|
|
115
|
+
* 判据是**严格大于**,而 `read_file` 产出(含包裹)恒 ≤ 本键 → `read_file` **结构性不落盘**,
|
|
116
|
+
* 回取 offload 产物时不会再次落盘 → **无限嵌套不可能**。若本键被调到低于 read_file 产出口径、
|
|
117
|
+
* 或 read_file 预算不再扣包裹余量,读回产物即再次超阈 → 再落盘 → 拿到新路径 → 循环;
|
|
118
|
+
* `ToolResultCache` 拦不住这种嵌套(产物文件名含时间戳与随机串,每次去重 key 都不同)。
|
|
119
|
+
*
|
|
120
|
+
* ⚠️ 故本键**不可**改写成「24,000 字符」这类字符数限额 —— 同一字符数在中英文下 token 数
|
|
121
|
+
* 相差近 2 倍(CJK `CJK_CHARS_PER_TOKEN=1.5` vs 其他 `CHARS_PER_TOKEN=3`),按字符限额必然
|
|
122
|
+
* 让其中一侧实际越界。字符只是 token 的估算输入,不是限额本身。
|
|
123
|
+
*/
|
|
124
|
+
readonly SINGLE_TOOL_RESULT_MAX_TOKENS: 6000;
|
|
125
|
+
/**
|
|
126
|
+
* `wrapToolResult` 包裹模板的 token 开销预留(含工具名)。
|
|
127
|
+
*
|
|
128
|
+
* `read_file` 的分段预算 = `SINGLE_TOOL_RESULT_MAX_TOKENS` − 本键,使**含包裹**的输出仍 ≤ 单条上限
|
|
129
|
+
* (不变量在生产者侧成立)。实测模板固定开销 ≈30 tokens(两行 ASCII 标签 + 一句 26 字中文提示)
|
|
130
|
+
* + 工具名(≤ 十余字符),100 已宽裕覆盖超长自定义工具名。
|
|
131
|
+
*
|
|
132
|
+
* ⚠️ 扣除方向不可反:若 `read_file` 直接以 `SINGLE_TOOL_RESULT_MAX_TOKENS` 作预算,其 wrapped 输出
|
|
133
|
+
* 会超出单条上限 → 被入口关落盘 → LLM 每次读文件只看得到路径(荒谬行为,且无测试会红)。
|
|
134
|
+
*/
|
|
135
|
+
readonly TOOL_RESULT_WRAP_OVERHEAD_TOKENS: 100;
|
|
136
|
+
/**
|
|
137
|
+
* `search_memories` 工具响应性护栏:整次关键词搜索的上限。
|
|
138
|
+
*
|
|
139
|
+
* 背景:搜索服务为网络调用(web/project search)时以 30s 超时为先例(webSearchProvider.ts),
|
|
140
|
+
* 本地记忆搜索更快,故收窄为 5s——超时降级为提示文案而非挂死工具。
|
|
141
|
+
*/
|
|
142
|
+
readonly MEMORY_SEARCH_TIMEOUT_MS: 5000;
|
|
143
|
+
/**
|
|
144
|
+
* 情报区(LLM 私有工作笔记,大文本统一通道)字符数上限。
|
|
145
|
+
*
|
|
146
|
+
* LLM 经 `remember_intel` 自写的私有笔记累积;超限裁最旧(保留最新)。这是**数据上限**
|
|
147
|
+
* (防单 turn 内多次写入把笔记撑爆),**不是预算维度** —— 情报区仍作为尾部 system 消息
|
|
148
|
+
* 参与现有 `truncateMessages` 窗口淘汰(锚点 C:不新增第 5 个预算维度)。
|
|
149
|
+
*/
|
|
150
|
+
readonly MAX_INTEL_PREFIX_LEN: 4000;
|
|
81
151
|
/** 摘要缓存 TTL:消息数增长超过此值时缓存过期,需重新生成摘要。 */
|
|
82
152
|
readonly SUMMARY_CACHE_TTL_MSGS: 10;
|
|
83
|
-
/**
|
|
84
|
-
|
|
153
|
+
/** 流式中断的默认追加标记(SSOT):含断点摘要,让 LLM 明确"以上已输出,请继续不重复"。
|
|
154
|
+
* loop(流式响应中断)与 orchestrator(历史写入中断标记)必须用同一份默认文案,
|
|
155
|
+
* 避免宿主未注入 messages 时两条路径降级出不同文案(另一路径为短 "[已中断]")。
|
|
156
|
+
*/
|
|
157
|
+
readonly DEFAULT_INTERRUPTED_MARK: "\n\n[已中断]\n\n[断点摘要:以上内容已输出到 LLM,请在此基础上继续回答,不要重复已输出的内容]";
|
|
158
|
+
/** 达到最大迭代/步数预算的默认追加标记(SSOT):loop 的撞线收尾文案默认值,
|
|
159
|
+
* 宿主可经 messages.maxIterationsReached 覆盖(与 DEFAULT_INTERRUPTED_MARK 同族文案)。 */
|
|
160
|
+
readonly DEFAULT_MAX_ITERATIONS_REACHED_MARK: "\n\n[Max iterations reached]";
|
|
161
|
+
/**
|
|
162
|
+
* 上下文预算预警提示:容量逼近警戒线但摘要层未饱和时注入的温和提示,
|
|
163
|
+
* 引导 LLM 主动压缩 / 收敛——软上限(收尾信号)的前一级。低压通用文案不走 UIMessages 覆盖层,
|
|
164
|
+
* 如需宿主定制可后续升级(与 softLimitWrapup 同族,但非高频行为文案)。
|
|
165
|
+
*/
|
|
166
|
+
readonly CONTEXT_PRESSURE_HINT: string;
|
|
167
|
+
/**
|
|
168
|
+
* 搜索收敛护栏(实测:LLM 连续成功联网搜索 10+ 次不收敛,Bing 结果泛泛仍反复搜)。
|
|
169
|
+
* 单 turn(问答闭环)内成功 web_search 次数达到此阈值后,注入收敛提示引导 LLM 停止搜索直接作答。
|
|
170
|
+
* 计入成功(ok=true)与连续轮次无关——一次工具步内并行多个搜索按多次计。
|
|
171
|
+
*/
|
|
172
|
+
readonly SEARCH_CONVERGENCE_THRESHOLD: 2;
|
|
173
|
+
/** 搜索收敛提示(executionTemp 幂等:一轮内仅注入一次,下一闭环入口即弃) */
|
|
174
|
+
readonly SEARCH_CONVERGENCE_HINT: string;
|
|
175
|
+
/**
|
|
176
|
+
* 搜索硬上限(实测软提示未能阻止 LLM 持续重搜,故确定性拒绝)。
|
|
177
|
+
* 单 turn(问答闭环)内 web_search 调用次数超过此数后,后续搜索执行时直接拒绝并回填拒绝文案,
|
|
178
|
+
* 不依赖 LLM 听从软提示——软提示引导收敛(< 上限时),硬限兜底(达到上限强制停)。
|
|
179
|
+
*/
|
|
180
|
+
readonly MAX_WEB_SEARCH_CALLS: 6;
|
|
181
|
+
/**
|
|
182
|
+
* 工具调用导语纪律(分区式 UI 配套):正文只承载最终交付,工具步的过程叙述
|
|
183
|
+
* 由内核 narrate 事件投影进过程区。约束模型在调用工具前不输出长段规划——长导语若发生在
|
|
184
|
+
* 首轮工具步(消息级分类前)会逐字混入正文,压到一句话可把残余影响降至可忽略。
|
|
185
|
+
* 随「可用工具」节一起注入,无工具定义时(纯对话角色)不出现。
|
|
186
|
+
*/
|
|
187
|
+
readonly TOOL_NARRATION_DISCIPLINE: string;
|
|
85
188
|
/** 上下文摘要:参与摘要的最近消息条数。 */
|
|
86
189
|
readonly SUMMARY_MSG_COUNT: 6;
|
|
87
190
|
/** 上下文摘要:单条消息内容截断长度(字符)。 */
|
|
88
191
|
readonly SUMMARY_CONTENT_SLICE: 200;
|
|
89
192
|
/** 上下文摘要:LLM 调用 maxTokens 参数。 */
|
|
90
193
|
readonly SUMMARY_MAX_TOKENS: 150;
|
|
194
|
+
/**
|
|
195
|
+
* 任务分类启发式:用户消息超过此长度(字符)判定为 'reasoning'。
|
|
196
|
+
*
|
|
197
|
+
* 原 loop.determineTaskType 内的魔法数 500 归入内核常数。
|
|
198
|
+
* 注意这是内核启发式阈值,不属于角色包可影响的 L2 策略维度——任务类型分类是
|
|
199
|
+
* Provider 路由(影响成本)的内部决策,不开放给角色包配置(避免"策略全景物化")。
|
|
200
|
+
*/
|
|
201
|
+
readonly REASONING_INPUT_CHARS: 500;
|
|
202
|
+
/**
|
|
203
|
+
* 任务分类检测窗口:determineTaskType 从后向前取最近 N 条 user 消息做代码块检测,
|
|
204
|
+
* 避免多轮对话中"含代码的请求不在最后一条"被误判为 simple(错配 Provider 成本失真)。
|
|
205
|
+
* 长文本(reasoning)判定仍以最近一条 user 消息为准(反映当前轮意图)。
|
|
206
|
+
*/
|
|
207
|
+
readonly TASK_TYPE_WINDOW: 3;
|
|
91
208
|
};
|
|
92
209
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;;;GAIG;AACH,eAAO,MAAM,eAAe;IAC1B;;;OAGG;;IAGH,gCAAgC;;IAGhC,+BAA+B;;IAG/B;;;;;;OAMG;;IAGH;;;OAGG;;IAGH,kCAAkC;;IAGlC,wCAAwC;;IAGxC;;;OAGG;;;CASK,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;OAKG;;IAGH;;;;;;;;;;OAUG;;IAGH,4BAA4B;;IAG5B,gCAAgC;;IAGhC,oCAAoC;;IAGpC;;;;;;;;;;OAUG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH,uCAAuC;;IAGvC;;;OAGG;;IAIH;kFAC8E;;IAG9E;;;;OAIG;;IAMH;;;;OAIG;;IAGH,iDAAiD;;IAMjD;;;;OAIG;;IAGH;;;;;OAKG;;IAMH,yBAAyB;;IAGzB,4BAA4B;;IAG5B,iCAAiC;;IAGjC;;;;;;OAMG;;IAGH;;;;OAIG;;CAEK,CAAC"}
|