@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,9 +1,27 @@
|
|
|
1
1
|
import type { SecurityGuard } from '../security/pathGuard.js';
|
|
2
2
|
import type { IMemoryStorage } from '../memory/storageInterface.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ISessionStore } from '../memory/sessionStore.js';
|
|
4
4
|
import type { WriteExtensions } from '../agent/toolExecutor.js';
|
|
5
|
-
|
|
6
|
-
type
|
|
5
|
+
import type { MemoryInspector } from '../agent/managers/memoryInspector.js';
|
|
6
|
+
import type { LlmProvider } from '../llm/provider.js';
|
|
7
|
+
/**
|
|
8
|
+
* 内置文件工具忽略的目录/文件名(模块级单一真理源)
|
|
9
|
+
*
|
|
10
|
+
* list_dir 忽略规则与宿主项目内容搜索(search_project content 模式)共享;
|
|
11
|
+
* 宿主通过主入口 import 此常量对齐忽略目录,避免数值/规则漂移。
|
|
12
|
+
*/
|
|
13
|
+
export declare const IGNORED_DIR_NAMES: readonly string[];
|
|
14
|
+
/**
|
|
15
|
+
* 任务表保留文件名判定(write_file 守卫唯一消费)
|
|
16
|
+
*
|
|
17
|
+
* 任务表是内核工具数据(task_table_write/update 管理),不落盘为 markdown 文件——`task-table.md` /
|
|
18
|
+
* `任务表.md` 等文件名保留给任务表机制,禁止 write_file 写入。命中规则 = 文件名(去扩展名)即
|
|
19
|
+
* `task-table` / `task_table` / `任务表`,或以其带分隔符/后缀开头(如 `task-table-进度.md`)。
|
|
20
|
+
*
|
|
21
|
+
* @param absolutePath 目标文件绝对路径
|
|
22
|
+
* @returns 是否命中保留名(任务表语义文件)
|
|
23
|
+
*/
|
|
24
|
+
export declare function isReservedTaskTableFile(absolutePath: string): boolean;
|
|
7
25
|
/**
|
|
8
26
|
* 内置工具处理器
|
|
9
27
|
*
|
|
@@ -11,44 +29,49 @@ type ToolResult = string;
|
|
|
11
29
|
* 从 ToolExecutor 提取,保持无状态设计(不持有 customTools 注册表)。
|
|
12
30
|
*/
|
|
13
31
|
export declare class BuiltinToolHandlers {
|
|
14
|
-
|
|
32
|
+
readonly projectPath: string;
|
|
15
33
|
private readonly security;
|
|
16
34
|
private readonly memoryIndex;
|
|
17
|
-
private readonly
|
|
18
|
-
|
|
19
|
-
/** list_dir 默认忽略的目录/文件名 */
|
|
35
|
+
private readonly sessionStore?;
|
|
36
|
+
/** list_dir 默认忽略的目录/文件名(引用模块级单一真理源,保持类静态 API 兼容) */
|
|
20
37
|
static readonly IGNORED_DIR_NAMES: readonly string[];
|
|
21
38
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* write_file 写入 projectPath/personas/ 只会创建"孤儿文件"——不在配置目录中,不会被加载。
|
|
39
|
+
* @param projectPath 项目根路径(用于相对路径解析;公开只读,供 run_code script_path 模式取 cwd)
|
|
40
|
+
* @param security 安全守卫(路径白名单 + 写入确认)
|
|
41
|
+
* @param memoryIndex 记忆索引(用于 search_memories 工具)
|
|
42
|
+
* @param sessionStore 会话存储(可选,trace_summary 溯源原始对话用;未注入时回退为摘要文本)
|
|
27
43
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
constructor(projectPath: string, security: SecurityGuard, memoryIndex: IMemoryStorage, sessionStore?: ISessionStore | undefined);
|
|
45
|
+
/** 记忆搜索器(search_memories 语义后端,装配期注入;未注入时回退关键词 memoryIndex.search) */
|
|
46
|
+
private memoryInspector;
|
|
47
|
+
/** 当前会话「正文或摘要已在眼前」的轮次提供者(装配期注入;search_memories 用它与装配期内容互斥) */
|
|
48
|
+
private exclusionRoundIdsProvider;
|
|
49
|
+
/** memoryRecalled 事件发射回调(宿主感知「LLM 查询记忆命中 N 条」;装配期注入,缺省不发射) */
|
|
50
|
+
private onMemoryRecalled;
|
|
30
51
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* source: persona/skill/rule —— 这是 FileStore.write 写入的结构特征,LLM 无法绕过。
|
|
52
|
+
* 注入 MemoryInspector,启用 search_memories 的纯关键词搜索后端(memory-tool-recall-design §3.3)。
|
|
53
|
+
* 装配依赖 loop/history,toolExec 在 assembler 中先于它构造,故用「构造后注入」而非构造参数。
|
|
54
|
+
* 注入后 search_memories 走 searchByKeyword(纯关键词 + superseded 过滤 + 溯源揭示),未注入保持旧关键词行为。
|
|
35
55
|
*/
|
|
36
|
-
|
|
56
|
+
setMemoryInspector(inspector: MemoryInspector): void;
|
|
37
57
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* @param configDir 配置目录路径(可选,拦截提示中告知 LLM 正确的写入位置)
|
|
58
|
+
* 注入 memoryRecalled 事件发射回调(宿主消费,§2.4「保留改语义」定案)。
|
|
59
|
+
* 搜索工具命中记忆时触发,文案语义 =「LLM 查询记忆命中 N 条」。
|
|
60
|
+
* **唯一触发位**:全库仅本类 emit memoryRecalled(无其他发射点)。
|
|
61
|
+
* 缺省不注入则静默跳过(内置工具也可被测试/脚本直调,无宿主时 no-op)。
|
|
43
62
|
*/
|
|
44
|
-
|
|
63
|
+
setOnMemoryRecalled(callback: (info: {
|
|
64
|
+
count: number;
|
|
65
|
+
query: string;
|
|
66
|
+
}) => void): void;
|
|
45
67
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
68
|
+
* 注入召回互斥排除集提供者(memory-tool-recall-design §5.1 工具互斥)。
|
|
69
|
+
* search_memories 用它排除「正文或摘要已在眼前」轮次的 round-summary,避免与装配期内容重复。
|
|
70
|
+
* 提供者返回精确集合(`loop.getExclusionRoundIds()`:视图内 ∪ 被替换 ∪ 在途),
|
|
71
|
+
* 语义为「该轮内容已在上下文,其摘要不应再被召回带回」——从视图派生,与模型窗口无关。
|
|
72
|
+
* 缺省不注入则不过滤(保持测试/独立调用可直接触发)。
|
|
50
73
|
*/
|
|
51
|
-
|
|
74
|
+
setExclusionRoundIdsProvider(provider: () => ReadonlySet<string>): void;
|
|
52
75
|
/**
|
|
53
76
|
* 解析相对路径为绝对路径
|
|
54
77
|
*
|
|
@@ -63,24 +86,101 @@ export declare class BuiltinToolHandlers {
|
|
|
63
86
|
*/
|
|
64
87
|
guardPathOrThrow(absolutePath: string, tool: string, source?: 'builtin' | 'custom' | 'system'): void;
|
|
65
88
|
/**
|
|
66
|
-
*
|
|
89
|
+
* 读前预检:目标是目录时抛语义化工具错误(read_file 与 run_code script_path 共用)
|
|
90
|
+
*
|
|
91
|
+
* 两处曾各自实现同一段「stat + isDirectory 判定 + MemoraError 移交」;文案因工具而异,
|
|
92
|
+
* 故工具名与提示参数化。stat 失败(ENOENT/权限)不在此处理——移交调用方统一异常路径。
|
|
93
|
+
*
|
|
94
|
+
* @param absolutePath 目标绝对路径(已过白名单校验)
|
|
95
|
+
* @param displayPath 用于文案的相对路径(可读性)
|
|
96
|
+
* @param toolLabel 工具显示名(如 'read_file' / 'run_code script_path')
|
|
97
|
+
* @param hint 目录误用时的行动指引
|
|
67
98
|
*/
|
|
68
|
-
|
|
99
|
+
private assertFileNotDir;
|
|
69
100
|
/**
|
|
70
|
-
*
|
|
101
|
+
* 读取文件(带路径白名单校验;支持按行分段)
|
|
102
|
+
*
|
|
103
|
+
* **分段语义(大文本统一通道)**
|
|
104
|
+
* - `offset`:起始行号(1-based,默认 1);`limit`:最多返回行数(省略 = 尽可能多)。
|
|
105
|
+
* - **同源不变量**:返回内容的 token 数**恒 ≤ `LOOP_CONSTANTS.SINGLE_TOOL_RESULT_MAX_TOKENS`**。
|
|
106
|
+
* 这保证 read_file 的结果永不触发入口关落盘(阈值同键)→「路径即引用」不会自我嵌套
|
|
107
|
+
* (详见该常量注释)。故本方法**不**使用字符数上限,而是按 token 预算逐行填充。
|
|
108
|
+
* - **截断诚实化**:一旦未能读到文件末尾,脚注给出「已显示第 X–Y 行(共 M 行)」与续读
|
|
109
|
+
* offset;静默追加 `…` 会让 LLM 既不知道后面还有内容、也没有续读手段(静默截断 = 假阴性)。
|
|
110
|
+
*/
|
|
111
|
+
readFile(relativePath: string, offset?: string, limit?: string): Promise<string>;
|
|
112
|
+
/**
|
|
113
|
+
* 失败即给证据:read_file 目标不存在(ENOENT)时,返回其**同级目录实际条目**的紧凑清单,
|
|
114
|
+
* 让模型自查真实文件名(优于单纯拒绝;配合失败硬闸在首次失败就给路,比硬拦更止妖)。
|
|
115
|
+
* 父目录不可读 / 无可见条目 → 返回空串(不掩盖原始错误)。条目经 shouldIgnore 过滤,join 拼接。
|
|
116
|
+
*/
|
|
117
|
+
private siblingDirHint;
|
|
118
|
+
/**
|
|
119
|
+
* 按行分段 + token 预算切片(read_file 返回形态的**单一收口**)
|
|
120
|
+
*
|
|
121
|
+
* 算法:
|
|
122
|
+
* 1. 解析 `offset`(1-based 起始行)/ `limit`(行数上限);offset 超出末尾 → 如实告知;
|
|
123
|
+
* 2. 期望区间 = offset .. min(offset+limit−1, 总行数);
|
|
124
|
+
* 3. 若**不需要**截断(读到末尾且预算够)→ 返回原文,**不追加脚注**(零噪音);
|
|
125
|
+
* 4. 否则先为脚注预留 token,再**二分**出最大可容纳行数(token 随行数单调增 → 二分成立);
|
|
126
|
+
* 5. 脚注如实告知「已显示第 X–Y 行(共 M 行)」与续读 `offset=Y+1`。
|
|
127
|
+
*
|
|
128
|
+
* 退化情形(病态长行:单行本身就超预算)→ 该行按估算比反推字符数截断,并明示已截断。
|
|
129
|
+
*
|
|
130
|
+
* **不变量**:任何返回路径的 token 数都 ≤ `SINGLE_TOOL_RESULT_MAX_TOKENS −
|
|
131
|
+
* TOOL_RESULT_WRAP_OVERHEAD_TOKENS`(**含脚注**)—— 即 wrapped 入上下文后仍 ≤ 单条上限,
|
|
132
|
+
* 从而**结构性不触发**入口关落盘(否则 LLM 每次读文件只看得到路径)。脚注预留用最坏位数
|
|
133
|
+
* (endLine = 总行数)估算,故实际脚注必不超预留。
|
|
134
|
+
*
|
|
135
|
+
* @param content 已净化的文件全文
|
|
136
|
+
* @param displayPath 用于文案的相对路径(越界/退化提示可读)
|
|
137
|
+
* @param offset LLM 传入的起始行号字符串(可选)
|
|
138
|
+
* @param limit LLM 传入的行数上限字符串(可选)
|
|
139
|
+
*/
|
|
140
|
+
private sliceFileByLineBudget;
|
|
141
|
+
/**
|
|
142
|
+
* 读取项目脚本文件原始内容(供 run_code script_path 模式执行)
|
|
143
|
+
*
|
|
144
|
+
* 与 readFile 的区别:不截断不净化——脚本代码要原样交给执行器,截断会破坏语法。
|
|
145
|
+
* 仅做路径白名单校验 + 长度上限(SCRIPT_READ_MAX_LEN,防超大脚本滥用)。
|
|
146
|
+
*
|
|
147
|
+
* @param relativePath 相对项目根的文件路径
|
|
148
|
+
* @returns 脚本文件原始内容
|
|
149
|
+
*/
|
|
150
|
+
readScriptFile(relativePath: string): Promise<string>;
|
|
151
|
+
/**
|
|
152
|
+
* 删除项目文件(供 delete_file 工具)
|
|
153
|
+
*
|
|
154
|
+
* 安全策略:路径白名单校验 + 用户确认(guest 模式 / confirmWrites)。
|
|
155
|
+
* 仅支持删除文件,不支持删除目录(防误删)。
|
|
156
|
+
*
|
|
157
|
+
* 与 readScriptFile 同属「临时脚本」闭环(write_file 写 → run_code 执行 → delete_file 清理,
|
|
158
|
+
* 对齐主流 AI IDE 一次性数据处理不留痕的行为约定)。
|
|
159
|
+
*
|
|
160
|
+
* @param relativePath 相对项目根的文件路径
|
|
161
|
+
* @returns 删除结果描述
|
|
162
|
+
*/
|
|
163
|
+
deleteFile(relativePath: string): Promise<string>;
|
|
164
|
+
/**
|
|
165
|
+
* 写入文件(支持 overwrite / append / insert / replace,模式清单 SSOT = builtinTools.WRITE_FILE_MODES,
|
|
166
|
+
* 新增模式时本清单与 docs/memora-api-reference.md 的 write_file 行须同步复核)
|
|
71
167
|
*
|
|
72
168
|
* 安全策略:
|
|
73
169
|
* - 路径必须在白名单内
|
|
74
170
|
* - 写入前需用户确认(WriteExtensions.onBeforeWrite 或 SecurityGuard.requestWriteConfirmation)
|
|
75
171
|
* - 自动创建不存在的父目录
|
|
76
172
|
*
|
|
173
|
+
* 参数形态前提(位置参数,当前 6 个):再加 mode 专属参数时须一并评估改收 options 对象,
|
|
174
|
+
* 且四个内置文件工具(read_file / list_dir / search_memories)同批收,不单点特化本工具。
|
|
175
|
+
*
|
|
77
176
|
* @param relativePath 相对项目根的文件路径
|
|
78
177
|
* @param content 要写入的内容
|
|
79
178
|
* @param extensions 写入扩展(可选,用于 diff 确认等)
|
|
80
|
-
* @param mode
|
|
179
|
+
* @param mode 写入模式(合法值集 = WriteFileMode 类型,派生自 WRITE_FILE_MODES),默认 "overwrite"
|
|
81
180
|
* @param insertLine insert 模式下的目标行号(从 1 开始),省略则插入到末尾
|
|
181
|
+
* @param oldString replace 模式下的被替换文本(须在旧内容中唯一出现)
|
|
82
182
|
*/
|
|
83
|
-
writeFile(relativePath: string, content: string, extensions?: WriteExtensions, mode?: string, insertLine?: string): Promise<
|
|
183
|
+
writeFile(relativePath: string, content: string, extensions?: WriteExtensions, mode?: string, insertLine?: string, oldString?: string): Promise<string>;
|
|
84
184
|
/**
|
|
85
185
|
* 根据写入模式计算最终文件内容
|
|
86
186
|
*
|
|
@@ -88,6 +188,7 @@ export declare class BuiltinToolHandlers {
|
|
|
88
188
|
* @param content LLM 提供的写入内容
|
|
89
189
|
* @param beforeContent 文件旧内容(null 表示新文件)
|
|
90
190
|
* @param insertLine insert 模式下的行号
|
|
191
|
+
* @param oldString replace 模式下的被替换文本(须唯一匹配)
|
|
91
192
|
* @returns 最终要写入文件的完整内容
|
|
92
193
|
*/
|
|
93
194
|
private computeWriteContent;
|
|
@@ -99,7 +200,7 @@ export declare class BuiltinToolHandlers {
|
|
|
99
200
|
* - 递归深度 ≤ 3(maxDepth 入参强校验)
|
|
100
201
|
* - 自动忽略:.git / node_modules / .memora / dist / coverage / .next
|
|
101
202
|
*/
|
|
102
|
-
listDir(relativePath: string, recursiveStr: string, maxDepthStr: string): Promise<
|
|
203
|
+
listDir(relativePath: string, recursiveStr: string, maxDepthStr: string): Promise<string>;
|
|
103
204
|
/**
|
|
104
205
|
* 递归遍历目录(深度受限 + 忽略特定目录)
|
|
105
206
|
*/
|
|
@@ -115,7 +216,93 @@ export declare class BuiltinToolHandlers {
|
|
|
115
216
|
* @param limitStr 返回数量上限
|
|
116
217
|
* @param modeStr 搜索模式:"match"(任一命中,默认)或 "near"(全部命中)
|
|
117
218
|
*/
|
|
118
|
-
searchMemories(query: string, limitStr: string, modeStr: string): Promise<
|
|
219
|
+
searchMemories(query: string, limitStr: string, modeStr: string): Promise<string>;
|
|
220
|
+
/**
|
|
221
|
+
* 命中即 touch:fire-and-forget 刷新命中记忆的 accessedAt(不涉及任何重要度字段)。
|
|
222
|
+
*
|
|
223
|
+
* 收敛到 keywordsTouch.ts 的单一真理源 touchScores(§5.2 只 touch 不加权,内部只调 storage.touch)——
|
|
224
|
+
* 不为工具命中另造写分路径。backgroundTask 保证 fire-and-forget 不阻塞搜索返回,
|
|
225
|
+
* 且统一并发限流;失败兜底记日志即可(touch 是排序副作用,非主线流程)。
|
|
226
|
+
*
|
|
227
|
+
* @param hits 搜索命中项(取其 id 定位,实际写入交由 touchScores 收敛)
|
|
228
|
+
*/
|
|
229
|
+
private touchHits;
|
|
230
|
+
/**
|
|
231
|
+
* `search_memories` 响应性护栏包装:给整次记忆搜索设上限。
|
|
232
|
+
*
|
|
233
|
+
* 背景:搜索服务为网络调用时超时远长于本地上限,这里收窄为 MEMORY_SEARCH_TIMEOUT_MS(5s)——
|
|
234
|
+
* 超时降级为「搜索超时」提示(空结果语义),而非挂死工具或抛错中断对话。
|
|
235
|
+
*
|
|
236
|
+
* @param run 返回记忆搜索结果的函数(同步或异步)
|
|
237
|
+
* @returns 搜索完成后返回全量命中;超时则返回空数组(降级提示由调用方近零命中分支承担)
|
|
238
|
+
*/
|
|
239
|
+
private withMemorySearchTimeout;
|
|
240
|
+
/**
|
|
241
|
+
* 追溯轮次摘要的原始对话内容
|
|
242
|
+
*
|
|
243
|
+
* 从记忆索引中查找 `source='round-summary'` 的记忆,
|
|
244
|
+
* 根据 sessionId 和 roundId 过滤。
|
|
245
|
+
* 返回格式化后的摘要列表,包含摘要内容、类型和溯源信息。
|
|
246
|
+
*
|
|
247
|
+
* @param sessionId 会话标识(格式:YYYY-MM-DD-sessionName)
|
|
248
|
+
* @param roundId 轮次 ID(可选,不传则返回最近 N 条摘要)
|
|
249
|
+
* @param limitStr 返回结果数量上限(默认 "5",最大 "20")
|
|
250
|
+
*/
|
|
251
|
+
traceSummary(sessionId: string, roundId?: string, limitStr?: string): Promise<string>;
|
|
252
|
+
/**
|
|
253
|
+
* 溯源指定轮次的原始对话消息
|
|
254
|
+
*
|
|
255
|
+
* 通过 sessionStore.loadMessages 定位该会话,按 SessionMessage.roundId 过滤出本轮消息。
|
|
256
|
+
* 规模控制:最多 5 条消息,超过则截断并标记 isTruncated。
|
|
257
|
+
*
|
|
258
|
+
* @param sessionId 会话标识(格式:YYYY-MM-DD-sessionName)
|
|
259
|
+
* @param roundId 轮次 ID
|
|
260
|
+
* @returns 原始消息列表(≤5 条)+ 是否截断;会话存储不可用或未命中该轮次时返回 null
|
|
261
|
+
*/
|
|
262
|
+
private loadRawRoundMessages;
|
|
263
|
+
/**
|
|
264
|
+
* list_sessions:列出历史会话**路标**(会话级摘要),供 LLM 粗定位后再用 trace_summary 下钻。
|
|
265
|
+
*
|
|
266
|
+
* 会话级摘要是「路标」而非记忆——存于 SessionMeta(summary/keyTopics),不进记忆召回池
|
|
267
|
+
* (会话级路标不进记忆库)。本工具是「粗定位 → 细取证」闭环的第一环:
|
|
268
|
+
* 返回最近 N 个会话的路标,LLM 据此挑目标,再用 trace_summary(sessionId) 取该会话轮次摘要。
|
|
269
|
+
*
|
|
270
|
+
* 路标滞后说明:SessionArchiver 在**会话切换前**触发,故当前会话的摘要可能落后于最新对话。
|
|
271
|
+
* 本工具按 updatedAt 降序返回,历史会话路标准确;当前会话以实际上下文为准,不依赖路标。
|
|
272
|
+
*
|
|
273
|
+
* @param limitStr 返回条数上限(默认 "10",最大 "30")
|
|
274
|
+
* @returns 格式化的会话路标列表;无会话存储 / 无会话时返回说明文本(不抛错)
|
|
275
|
+
*/
|
|
276
|
+
listSessions(limitStr?: string): Promise<string>;
|
|
119
277
|
}
|
|
120
|
-
|
|
278
|
+
/**
|
|
279
|
+
* run_team_meeting 执行实现(工具内嵌 LLM 调用,一次 chat() 完成)
|
|
280
|
+
*
|
|
281
|
+
* 串联既有原语实现「评估/评审型小组会议」:解析组名 → 取各角色 persona 全文 → 拼多角色
|
|
282
|
+
* system prompt → 单次 provider.chat() → 返回评审文本。依赖经参数注入(不持有全局状态),
|
|
283
|
+
* 由装配层在后续注入时把 rolePackManager 与 provider 收敛进闭包。
|
|
284
|
+
*
|
|
285
|
+
* 边界(探索方案 §5.3 实证):
|
|
286
|
+
* - 只覆盖评估/评审型(各视角独立观点 + 组长汇总),不覆盖你来我往的讨论型会议;
|
|
287
|
+
* - 角色数隐式受组解析截断约束(组长 1 + 组员 ≤ 4),persona 全文 token 成本高。
|
|
288
|
+
*
|
|
289
|
+
* @param params 依赖注入 + 工具入参(resolveTeam/buildPersona/provider 由装配层提供)
|
|
290
|
+
* @returns 多角色评估文本(已净化 + 长度上限)
|
|
291
|
+
* @throws 参数缺失 / 组不存在 / 组角色未装载 → MemoraError
|
|
292
|
+
*/
|
|
293
|
+
export declare function runTeamMeetingAssessment(params: {
|
|
294
|
+
/** 组解析:按组名返回队长 + 组员名单(null = 组不存在) */
|
|
295
|
+
resolveTeam: (group: string) => {
|
|
296
|
+
leader: string;
|
|
297
|
+
members: readonly string[];
|
|
298
|
+
} | null;
|
|
299
|
+
/** 角色 persona 取全文(如 rolePackManager.buildSystemPrompt(name)) */
|
|
300
|
+
buildPersona: (name: string) => string;
|
|
301
|
+
/** 前台 LLM provider(评审为 turn 内工具,走主通道) */
|
|
302
|
+
provider: LlmProvider;
|
|
303
|
+
/** 组名(= 组长角色包名) */
|
|
304
|
+
group: string;
|
|
305
|
+
/** 要评估的议题 */
|
|
306
|
+
topic: string;
|
|
307
|
+
}): Promise<string>;
|
|
121
308
|
//# sourceMappingURL=builtinToolHandlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"builtinToolHandlers.d.ts","sourceRoot":"","sources":["../../src/agent/builtinToolHandlers.ts"],"names":[],"mappings":"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"}
|