@zooique/memora 4.0.0 → 5.1.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 +235 -1743
- package/README.en.md +43 -36
- package/README.md +308 -303
- package/dist/agent/agent.d.ts +46 -82
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +153 -220
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +3 -16
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +76 -47
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/backgroundTasks.d.ts +8 -1
- package/dist/agent/backgroundTasks.d.ts.map +1 -1
- package/dist/agent/backgroundTasks.js +8 -1
- package/dist/agent/backgroundTasks.js.map +1 -1
- package/dist/agent/budget.d.ts +23 -5
- package/dist/agent/budget.d.ts.map +1 -1
- package/dist/agent/budget.js +8 -2
- package/dist/agent/budget.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +50 -10
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +67 -20
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +16 -0
- package/dist/agent/builtinTools.d.ts.map +1 -1
- package/dist/agent/builtinTools.js +15 -4
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/constants.d.ts +0 -6
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +7 -8
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +8 -0
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +45 -3
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/contextPreparer.d.ts +1 -1
- package/dist/agent/contextPreparer.d.ts.map +1 -1
- package/dist/agent/contextPreparer.js +15 -10
- package/dist/agent/contextPreparer.js.map +1 -1
- package/dist/agent/guardRail.d.ts +25 -10
- package/dist/agent/guardRail.d.ts.map +1 -1
- package/dist/agent/guardRail.js +154 -46
- package/dist/agent/guardRail.js.map +1 -1
- package/dist/agent/loop.d.ts +46 -13
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +145 -32
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +15 -3
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +13 -7
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/chatLockManager.d.ts +3 -9
- package/dist/agent/managers/chatLockManager.d.ts.map +1 -1
- package/dist/agent/managers/chatLockManager.js +7 -25
- package/dist/agent/managers/chatLockManager.js.map +1 -1
- package/dist/agent/managers/llmCaller.d.ts.map +1 -1
- package/dist/agent/managers/llmCaller.js +27 -1
- package/dist/agent/managers/llmCaller.js.map +1 -1
- package/dist/agent/managers/memoryInspector.d.ts +12 -7
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +32 -19
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts +3 -1
- package/dist/agent/managers/roundSummaryGenerator.d.ts.map +1 -1
- package/dist/agent/managers/roundSummaryGenerator.js +14 -4
- package/dist/agent/managers/roundSummaryGenerator.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +20 -6
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +19 -5
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts +21 -88
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +77 -278
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/seed/orchestrator.d.ts.map +1 -1
- package/dist/agent/seed/orchestrator.js +3 -3
- package/dist/agent/seed/orchestrator.js.map +1 -1
- package/dist/agent/seed/prepare.d.ts.map +1 -1
- package/dist/agent/seed/prepare.js +9 -4
- package/dist/agent/seed/prepare.js.map +1 -1
- package/dist/agent/seed/types.d.ts +11 -4
- package/dist/agent/seed/types.d.ts.map +1 -1
- package/dist/agent/seed/types.js +2 -2
- package/dist/agent/toolExecutor.d.ts +69 -18
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +188 -28
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/toolResultCache.js +1 -1
- package/dist/agent/toolRunner.d.ts +4 -2
- package/dist/agent/toolRunner.d.ts.map +1 -1
- package/dist/agent/toolRunner.js +7 -4
- package/dist/agent/toolRunner.js.map +1 -1
- package/dist/agent/types.d.ts +8 -25
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/index.d.ts +9 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -32
- package/dist/index.js.map +1 -1
- package/dist/logging/logger.d.ts +4 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +5 -2
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/gcService.d.ts.map +1 -1
- package/dist/memory/gcService.js +3 -5
- package/dist/memory/gcService.js.map +1 -1
- package/dist/memory/inMemorySessionStore.d.ts +2 -2
- package/dist/memory/inMemorySessionStore.js +2 -2
- package/dist/memory/inMemoryStorage.d.ts +4 -3
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +2 -2
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/nodeSqliteStorage.d.ts +17 -0
- package/dist/memory/nodeSqliteStorage.d.ts.map +1 -0
- package/dist/memory/nodeSqliteStorage.js +393 -0
- package/dist/memory/nodeSqliteStorage.js.map +1 -0
- package/dist/memory/projectManager.d.ts +10 -20
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +27 -41
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/roundStore.d.ts +76 -1
- package/dist/memory/roundStore.d.ts.map +1 -1
- package/dist/memory/roundStore.js.map +1 -1
- package/dist/memory/roundSummaryLookup.d.ts +26 -0
- package/dist/memory/roundSummaryLookup.d.ts.map +1 -0
- package/dist/memory/roundSummaryLookup.js +19 -0
- package/dist/memory/roundSummaryLookup.js.map +1 -0
- package/dist/memory/sessionStore.d.ts +19 -2
- package/dist/memory/sessionStore.d.ts.map +1 -1
- package/dist/memory/sessionStore.js.map +1 -1
- package/dist/memory/sourceValidation.d.ts +2 -13
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +5 -16
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +26 -16
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/supersedeResolve.d.ts +39 -0
- package/dist/memory/supersedeResolve.d.ts.map +1 -0
- package/dist/memory/supersedeResolve.js +16 -0
- package/dist/memory/supersedeResolve.js.map +1 -0
- package/dist/memory/types.d.ts +3 -2
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +2 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/role-pack/rolePackManager.d.ts +33 -24
- package/dist/role-pack/rolePackManager.d.ts.map +1 -1
- package/dist/role-pack/rolePackManager.js +48 -42
- package/dist/role-pack/rolePackManager.js.map +1 -1
- package/dist/role-pack/strategyKeys.d.ts +8 -0
- package/dist/role-pack/strategyKeys.d.ts.map +1 -1
- package/dist/role-pack/strategyKeys.js +10 -0
- package/dist/role-pack/strategyKeys.js.map +1 -1
- package/dist/role-pack/strategyResolver.d.ts +6 -1
- package/dist/role-pack/strategyResolver.d.ts.map +1 -1
- package/dist/role-pack/strategyResolver.js +20 -2
- package/dist/role-pack/strategyResolver.js.map +1 -1
- package/dist/role-pack/types.d.ts +5 -1
- package/dist/role-pack/types.d.ts.map +1 -1
- package/dist/security/confirmEntries.d.ts +21 -6
- package/dist/security/confirmEntries.d.ts.map +1 -1
- package/dist/security/confirmEntries.js +21 -6
- package/dist/security/confirmEntries.js.map +1 -1
- package/dist/security/pathGuard.d.ts +44 -10
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +70 -10
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/utils/backgroundTask.d.ts +56 -34
- package/dist/utils/backgroundTask.d.ts.map +1 -1
- package/dist/utils/backgroundTask.js +130 -99
- package/dist/utils/backgroundTask.js.map +1 -1
- package/dist/utils/errors.d.ts +3 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +20 -22
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +0 -3
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/time.d.ts +3 -3
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +3 -3
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/toError.d.ts +1 -1
- package/dist/utils/toError.js +1 -1
- package/dist/web-fetch/loginWall.d.ts +39 -0
- package/dist/web-fetch/loginWall.d.ts.map +1 -0
- package/dist/web-fetch/loginWall.js +78 -0
- package/dist/web-fetch/loginWall.js.map +1 -0
- package/dist/web-fetch/types.d.ts +8 -0
- package/dist/web-fetch/types.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.d.ts.map +1 -1
- package/dist/web-fetch/webFetchProvider.js +3 -1
- package/dist/web-fetch/webFetchProvider.js.map +1 -1
- package/dist/web-search/fetchWebSearchProvider.js +28 -23
- package/dist/web-search/fetchWebSearchProvider.js.map +1 -1
- package/docs/architecture/role-pack-authoring-guide.md +7 -1
- package/docs/architecture/role-pack-spec.md +11 -6
- package/docs/memora-api-reference.md +1354 -1276
- package/docs/memora-/345/215/207/347/272/247/346/214/207/345/215/227-4.x-/345/210/260-5.0.0.md +385 -0
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +89 -49
- package/docs/role-pack-/345/274/200/346/224/276/351/224/256/346/214/207/345/215/227.md +148 -148
- package/package.json +13 -4
- package/role-packs/README.md +41 -40
- package/role-packs/memora/345/212/251/346/211/213/rules.md +5 -4
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/manifest.json +1 -0
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/persona.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/rules.md +17 -16
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/emotion-wave.md +46 -46
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/foreshadow.md +29 -29
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/outline-expand.md +73 -48
- 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 +445 -441
- package/role-packs//345/205/261/351/270/243/345/260/217/350/257/264/345/256/266/skills/story-bible.md +62 -62
- 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 +1 -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 +2 -1
- package/dist/agent/managers/dedupManager.d.ts +0 -85
- package/dist/agent/managers/dedupManager.d.ts.map +0 -1
- package/dist/agent/managers/dedupManager.js +0 -248
- package/dist/agent/managers/dedupManager.js.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.d.ts +0 -42
- package/dist/agent/managers/goalConsistencyChecker.d.ts.map +0 -1
- package/dist/agent/managers/goalConsistencyChecker.js +0 -178
- package/dist/agent/managers/goalConsistencyChecker.js.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.d.ts +0 -21
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +0 -1
- package/dist/agent/managers/llmJudgeHelper.js +0 -32
- package/dist/agent/managers/llmJudgeHelper.js.map +0 -1
- package/dist/agent/managers/memoryAdvisor.d.ts +0 -105
- package/dist/agent/managers/memoryAdvisor.d.ts.map +0 -1
- package/dist/agent/managers/memoryAdvisor.js +0 -322
- package/dist/agent/managers/memoryAdvisor.js.map +0 -1
- package/dist/agent/managers/memoryGovernance.d.ts +0 -24
- package/dist/agent/managers/memoryGovernance.d.ts.map +0 -1
- package/dist/agent/managers/memoryGovernance.js +0 -46
- package/dist/agent/managers/memoryGovernance.js.map +0 -1
- package/dist/memory/governance.d.ts +0 -17
- package/dist/memory/governance.d.ts.map +0 -1
- package/dist/memory/governance.js +0 -17
- package/dist/memory/governance.js.map +0 -1
- package/dist/memory/projectRegistry.d.ts +0 -47
- package/dist/memory/projectRegistry.d.ts.map +0 -1
- package/dist/memory/projectRegistry.js +0 -151
- package/dist/memory/projectRegistry.js.map +0 -1
- package/dist/utils/recallDefaults.d.ts +0 -16
- package/dist/utils/recallDefaults.d.ts.map +0 -1
- package/dist/utils/recallDefaults.js +0 -16
- package/dist/utils/recallDefaults.js.map +0 -1
|
@@ -28,6 +28,15 @@ import { logger } from '../../logging/logger.js';
|
|
|
28
28
|
* 与 degrade 降级文案同为内联中文常量——非 UI 文案,不进 UIMessages(宿主可覆盖面不膨胀)。
|
|
29
29
|
*/
|
|
30
30
|
const TRUNCATION_RECOVERY_HINT = '上一次回复因思考耗尽输出预算被截断,请直接给出结论或工具调用';
|
|
31
|
+
/**
|
|
32
|
+
* 输入 token 估算偏差告警阈值(P1-2)。
|
|
33
|
+
*
|
|
34
|
+
* 实测输入 token ÷ 估算输入 token 超过该比值 → 估算器**显著低估**(高密度文本如代码 / JSON、
|
|
35
|
+
* 或 tokenizer 密度与 3 字符/token 启发式偏离)。低估的后果:截断判定「没超」而服务端实际超窗
|
|
36
|
+
* → 请求失败/静默截断。此前 `actualInputTokens` 有采集有透出却**零消费者** = 观测断链;
|
|
37
|
+
* 本阈值把它接上消费者:超阈即 warn + span 属性(inputTokenEstimateRatio)持久化比值。
|
|
38
|
+
*/
|
|
39
|
+
const INPUT_TOKEN_DRIFT_ALERT_RATIO = 1.5;
|
|
31
40
|
/**
|
|
32
41
|
* 确定当前回合任务类型(多模型路由):含代码块→code;长文本(>500字符)→reasoning;其余→simple
|
|
33
42
|
*
|
|
@@ -177,7 +186,8 @@ export class LlmCaller {
|
|
|
177
186
|
try {
|
|
178
187
|
attemptsMade++;
|
|
179
188
|
metrics.llmCallCount++;
|
|
180
|
-
|
|
189
|
+
const estimatedInputTokens = contextManager.estimateTokens(safeMessages);
|
|
190
|
+
metrics.totalInputTokens += estimatedInputTokens;
|
|
181
191
|
// 截断型换策略(双轨,方案 T2):①降推理深度已在下方 empty 分支随 truncatedRetry 置入
|
|
182
192
|
// effectiveOpts.reasoning_effort='low'(复用 multiStepReasoning='manual' 既有转达通道,
|
|
183
193
|
// provider 支持才生效);②纠正提示注入消息尾(提示保底——reasoning_effort 被中转无视
|
|
@@ -187,6 +197,8 @@ export class LlmCaller {
|
|
|
187
197
|
if (truncatedRetry) {
|
|
188
198
|
requestMessages.push({ role: 'system', content: TRUNCATION_RECOVERY_HINT });
|
|
189
199
|
}
|
|
200
|
+
// P1-2:估算/实测偏差告警(每次调用至多一次,防多 chunk 重复刷屏)
|
|
201
|
+
let inputDriftWarned = false;
|
|
190
202
|
for await (const chunk of effectiveProvider.chat(requestMessages, effectiveOpts)) {
|
|
191
203
|
streamStarted = true;
|
|
192
204
|
if (signal?.aborted) {
|
|
@@ -199,6 +211,20 @@ export class LlmCaller {
|
|
|
199
211
|
metrics.actualOutputTokens += chunk.usage.outputTokens;
|
|
200
212
|
llmSpan.setAttribute('actualInputTokens', chunk.usage.inputTokens);
|
|
201
213
|
llmSpan.setAttribute('actualOutputTokens', chunk.usage.outputTokens);
|
|
214
|
+
// P1-2:实测输入 token 相对估算的偏差告警(低估方向超阈即报,接通 actualInputTokens 消费者)
|
|
215
|
+
if (!inputDriftWarned && estimatedInputTokens > 0 && chunk.usage.inputTokens > 0) {
|
|
216
|
+
inputDriftWarned = true;
|
|
217
|
+
const ratio = chunk.usage.inputTokens / estimatedInputTokens;
|
|
218
|
+
llmSpan.setAttribute('inputTokenEstimateRatio', ratio);
|
|
219
|
+
if (ratio > INPUT_TOKEN_DRIFT_ALERT_RATIO) {
|
|
220
|
+
logger.warn({
|
|
221
|
+
estimatedInputTokens,
|
|
222
|
+
actualInputTokens: chunk.usage.inputTokens,
|
|
223
|
+
ratio,
|
|
224
|
+
}, '输入 token 估算显著低估(实测 > 估算 × 阈值):估算器对高密度文本可能失准,' +
|
|
225
|
+
'截断判定或将滞后(判定未超而实际超窗)');
|
|
226
|
+
}
|
|
227
|
+
}
|
|
202
228
|
}
|
|
203
229
|
// 诊断证据采集(末次口径):finish_reason 随尾 chunk 回传(末条覆盖为准),
|
|
204
230
|
// thinking 字符数按增量累计——空响应分型(截断/瞬态)的裁决依据
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmCaller.js","sourceRoot":"","sources":["../../../src/agent/managers/llmCaller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llmCaller.js","sourceRoot":"","sources":["../../../src/agent/managers/llmCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 记忆管理器 — 统一的记忆读写入口。
|
|
3
3
|
* 写方法 writeXxx 前缀区分写操作。同步返回避免数据不一致;每层只返回前 N 条 + 总数(轻量)。
|
|
4
|
-
*
|
|
4
|
+
* 职责边界:本类只做存储读写与查询。**记忆的写时治理**(supersede 取代判定)不在此——
|
|
5
|
+
* 它在 `roundSummaryGenerator` 的写入路径上。曾有「语义去重归 DedupManager、冲突检测/建议归
|
|
6
|
+
* MemoryAdvisor」的分工,二者已随 GOVERNANCE-SRC-1(2026-10-18)整链退役,勿按旧注释查找。
|
|
5
7
|
*/
|
|
6
8
|
import type { Memory } from '../../memory/types.js';
|
|
7
9
|
import type { IMemoryStorage } from '../../memory/storageInterface.js';
|
|
@@ -78,7 +80,8 @@ export declare class MemoryInspector {
|
|
|
78
80
|
private readonly loop;
|
|
79
81
|
private readonly history;
|
|
80
82
|
/**
|
|
81
|
-
*
|
|
83
|
+
* 构造记忆管理器。本类不持有任何 advisor——原 `sourceHealth` / `suggest` 曾由 Agent 门面直连
|
|
84
|
+
* `MemoryAdvisor`(消除 3 层代理),该类已随 GOVERNANCE-SRC-1(2026-10-18)整链退役。
|
|
82
85
|
*/
|
|
83
86
|
constructor(index: IMemoryStorage, loop: AgentLoop, history: MessageHistory);
|
|
84
87
|
/** 列出回收站软删除记忆。limit<=0 或 undefined 表示不设上限,否则返回最近 N 条(默认 undefined=全部)。 */
|
|
@@ -106,10 +109,12 @@ export declare class MemoryInspector {
|
|
|
106
109
|
* 分层分轨原属「召回编排」`recall()`;**现行实现中已无任何召回编排**,
|
|
107
110
|
* 搜索工具只暴露过滤后的结果,供宿主/上层按需自取(见 memory-as-summary §4.5 边界标注)。
|
|
108
111
|
*
|
|
109
|
-
* 无语义(向量)通道:embedding
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
112
|
+
* 无语义(向量)通道:embedding 写端从未接通,语义通道生产从未生效,已随 B0 收编整体移除
|
|
113
|
+
* (vectorStore / embedding 配置段全删),工具描述亦已明文否认——此处仅存「为何无向量通道」的
|
|
114
|
+
* 历史说明,非现行能力宣称。设计依据:主流 agent(Anthropic Memory tool / Claude Code /
|
|
115
|
+
* Librarian Pattern)已实证「LLM 消费者 + 小语料」下纯关键词足用,LLM 会自主改述重试(工具
|
|
116
|
+
* 描述已提示)。cache-recompute 形态为预留补回位(见 memory-as-summary §4.5),等真实
|
|
117
|
+
* 「关键词搜不到」复现再按缓存重算形态补回。
|
|
113
118
|
*
|
|
114
119
|
* @param excludeRoundIds 排除的轮次 ID 集合(可选):这些轮次的 round-summary 已被装配期载入正文,
|
|
115
120
|
* 不重复返回(工具召回与装配期正文互斥,§5.1);缺省不过滤。
|
|
@@ -140,7 +145,7 @@ export declare class MemoryInspector {
|
|
|
140
145
|
* 宿主经 IPC 同步消费——无 fire-and-forget/catch 可言,注释按事实陈述。
|
|
141
146
|
*/
|
|
142
147
|
writePurge(id: string): void;
|
|
143
|
-
/** 清理 deletedAt 早于 before
|
|
148
|
+
/** 清理 deletedAt 早于 before 的软删除记忆(宿主入口显式调用;保留期归宿主策略,当前默认 30 天) */
|
|
144
149
|
writePurgeExpired(before: Date): number;
|
|
145
150
|
}
|
|
146
151
|
//# sourceMappingURL=memoryInspector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryInspector.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memoryInspector.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { SOURCE_LABELS } from '../../memory/types.js';
|
|
2
|
+
import { hasActiveSuperseder } from '../../memory/supersedeResolve.js';
|
|
3
|
+
import { findRoundSummaries } from '../../memory/roundSummaryLookup.js';
|
|
2
4
|
import { configError } from '../../utils/errors.js';
|
|
3
5
|
import { truncate } from '../../utils/strings.js';
|
|
4
6
|
// ─── 常量 ────────────────────────────────────────────────
|
|
@@ -14,7 +16,8 @@ export class MemoryInspector {
|
|
|
14
16
|
loop;
|
|
15
17
|
history;
|
|
16
18
|
/**
|
|
17
|
-
*
|
|
19
|
+
* 构造记忆管理器。本类不持有任何 advisor——原 `sourceHealth` / `suggest` 曾由 Agent 门面直连
|
|
20
|
+
* `MemoryAdvisor`(消除 3 层代理),该类已随 GOVERNANCE-SRC-1(2026-10-18)整链退役。
|
|
18
21
|
*/
|
|
19
22
|
constructor(index, loop, history) {
|
|
20
23
|
this.index = index;
|
|
@@ -97,10 +100,12 @@ export class MemoryInspector {
|
|
|
97
100
|
* 分层分轨原属「召回编排」`recall()`;**现行实现中已无任何召回编排**,
|
|
98
101
|
* 搜索工具只暴露过滤后的结果,供宿主/上层按需自取(见 memory-as-summary §4.5 边界标注)。
|
|
99
102
|
*
|
|
100
|
-
* 无语义(向量)通道:embedding
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
103
|
+
* 无语义(向量)通道:embedding 写端从未接通,语义通道生产从未生效,已随 B0 收编整体移除
|
|
104
|
+
* (vectorStore / embedding 配置段全删),工具描述亦已明文否认——此处仅存「为何无向量通道」的
|
|
105
|
+
* 历史说明,非现行能力宣称。设计依据:主流 agent(Anthropic Memory tool / Claude Code /
|
|
106
|
+
* Librarian Pattern)已实证「LLM 消费者 + 小语料」下纯关键词足用,LLM 会自主改述重试(工具
|
|
107
|
+
* 描述已提示)。cache-recompute 形态为预留补回位(见 memory-as-summary §4.5),等真实
|
|
108
|
+
* 「关键词搜不到」复现再按缓存重算形态补回。
|
|
104
109
|
*
|
|
105
110
|
* @param excludeRoundIds 排除的轮次 ID 集合(可选):这些轮次的 round-summary 已被装配期载入正文,
|
|
106
111
|
* 不重复返回(工具召回与装配期正文互斥,§5.1);缺省不过滤。
|
|
@@ -116,11 +121,15 @@ export class MemoryInspector {
|
|
|
116
121
|
'使用 limit = 10(默认值)',
|
|
117
122
|
]);
|
|
118
123
|
}
|
|
119
|
-
//
|
|
124
|
+
// 单个通道:纯关键词搜索(无向量通道、无融合排序、**无 FTS 索引**)——顺序由存储层
|
|
125
|
+
// 按 `accessedAt` 倒序给出(§5.2 2026-10-19 改定案:承认时间主序),命中本身不产生次序。
|
|
120
126
|
const keywordResults = this.index.search(query, limit);
|
|
121
|
-
// 前置 superseded
|
|
122
|
-
//
|
|
123
|
-
|
|
127
|
+
// 前置 superseded 过滤:被「现存且活跃」摘要取代的摘要不作为当前事实返回
|
|
128
|
+
// (仍保留可回溯,trace_summary 可精确取原文);悬空指针(替代物已移除/软删)视为未取代,
|
|
129
|
+
// 旧摘要回退为当前版本——判据见 supersedeResolve.hasActiveSuperseder。
|
|
130
|
+
// 本过滤在 index.search 取回 top-limit 之后执行、被取代者不补位——已知边界:被取代条目
|
|
131
|
+
// 占槽位时返回可能少于 limit(不扩量重查;与 excludeRoundIds 的「不补位」同形态)。
|
|
132
|
+
const active = keywordResults.filter((m) => !hasActiveSuperseder(m, this.index));
|
|
124
133
|
// 工具召回与装配期内容互斥(§5.1):排除「正文或摘要已在眼前」轮次的 round-summary,
|
|
125
134
|
// 避免 LLM 拿回眼前内容的摘要重复(excludeRoundIds 由调用方按 loop.getExclusionRoundIds 精确派生,
|
|
126
135
|
// = 视图内 ∪ 被替换 ∪ 在途,天然不含当轮)。
|
|
@@ -128,8 +137,9 @@ export class MemoryInspector {
|
|
|
128
137
|
const unexcluded = excludeRoundIds && excludeRoundIds.size > 0
|
|
129
138
|
? active.filter((m) => !m.roundId || !excludeRoundIds.has(m.roundId))
|
|
130
139
|
: active;
|
|
131
|
-
// 截断到 limit
|
|
132
|
-
// accessedAt
|
|
140
|
+
// 截断到 limit。排序**不由本层再动**:存储层已按 accessedAt 倒序(§5.2 2026-10-19 改定案),
|
|
141
|
+
// 本层只做过滤与截断,不重排/不分档(重排会造第二种次序判据)。accessedAt 同时随命中项
|
|
142
|
+
// 作为事实字段揭示(工具命中 touch 刷新),供 LLM 判断新鲜度。
|
|
133
143
|
const result = unexcluded.slice(0, limit);
|
|
134
144
|
return result.map((memory) => ({
|
|
135
145
|
id: memory.id,
|
|
@@ -182,15 +192,18 @@ export class MemoryInspector {
|
|
|
182
192
|
if (roundIds.length === 0)
|
|
183
193
|
return 0;
|
|
184
194
|
const idSet = new Set(roundIds);
|
|
195
|
+
// 寻址单源:与 GC 的 cleanUpRoundSummary 共用同一选择集(roundSummaryLookup),
|
|
196
|
+
// 分叉仅在处置动作(软删+脱钩 vs 物理 purge,见 memory-as-summary.md §5.1)
|
|
197
|
+
const roundSummaries = findRoundSummaries(this.index, idSet);
|
|
185
198
|
let count = 0;
|
|
186
|
-
for (const memory of
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
count++;
|
|
192
|
-
}
|
|
199
|
+
for (const memory of roundSummaries) {
|
|
200
|
+
// 脱钩溯源(覆盖写为无溯源副本,仅清除顶层字段不动内容/权重)→ 软删进回收站
|
|
201
|
+
this.index.upsert({ ...memory, sessionName: undefined, roundId: undefined });
|
|
202
|
+
this.index.delete(memory.id);
|
|
203
|
+
count++;
|
|
193
204
|
}
|
|
205
|
+
// 无需在此收敛悬空取代指针:消费侧 hasActiveSuperseder 把悬空指针视为未取代,
|
|
206
|
+
// 被移除替代物的旧摘要自动回退为当前版本(见 supersedeResolve.ts),与移除路径解耦。
|
|
194
207
|
return count;
|
|
195
208
|
}
|
|
196
209
|
/** 恢复软删除记忆(清除 deletedAt) */
|
|
@@ -204,7 +217,7 @@ export class MemoryInspector {
|
|
|
204
217
|
writePurge(id) {
|
|
205
218
|
this.index.purge(id);
|
|
206
219
|
}
|
|
207
|
-
/** 清理 deletedAt 早于 before
|
|
220
|
+
/** 清理 deletedAt 早于 before 的软删除记忆(宿主入口显式调用;保留期归宿主策略,当前默认 30 天) */
|
|
208
221
|
writePurgeExpired(before) {
|
|
209
222
|
return this.index.purgeExpired(before);
|
|
210
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryInspector.js","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memoryInspector.js","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,13 +27,15 @@ export declare class RoundSummaryGenerator {
|
|
|
27
27
|
constructor(provider: LlmProvider, storage: IMemoryStorage);
|
|
28
28
|
/** 注入后台 Provider(Agent.setBackgroundProvider 调用);null 表示回退到默认 Provider */
|
|
29
29
|
setBackgroundProvider(provider: LlmProvider | null): void;
|
|
30
|
-
/** 记忆写入回调(memoryAdded
|
|
30
|
+
/** 记忆写入回调(memoryAdded 事件出口):摘要即记忆,新摘要写入后通知宿主「已沉淀」。
|
|
31
|
+
* content = 记忆正文(宿主提示按用户心智显示内容,回退 name) */
|
|
31
32
|
private _onMemoryAdded;
|
|
32
33
|
/** 绑定记忆写入回调(Agent.init 调用);传 null 解除绑定 */
|
|
33
34
|
setOnMemoryAdded(fn: ((info: {
|
|
34
35
|
id: string;
|
|
35
36
|
source: string;
|
|
36
37
|
name: string;
|
|
38
|
+
content: string;
|
|
37
39
|
}) => void) | null): void;
|
|
38
40
|
/**
|
|
39
41
|
* 生成并持久化轮次摘要。异步 fire-and-forget,内部捕获异常,仅记警告不阻塞主对话流程。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundSummaryGenerator.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/roundSummaryGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAU9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"roundSummaryGenerator.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/roundSummaryGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAU9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAmCnE;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEnF;AAqDD,6EAA6E;AAC7E,qBAAa,qBAAqB;IAQ9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;gBAG5C,QAAQ,EAAE,WAAW,EACJ,OAAO,EAAE,cAAc;IAM1C,0EAA0E;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD;+CAC2C;IAC3C,OAAO,CAAC,cAAc,CAC0E;IAEhG,0CAA0C;IAC1C,gBAAgB,CACd,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GACzF,IAAI;IAIP;;;;;;;;OAQG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA6EhB;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;CA0BzB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { SOURCE_LABELS, SUMMARY_TYPES, roundSummaryMemoryId, roundSummarySessionPrefix, } from '../../memory/types.js';
|
|
7
7
|
import { extractEnhancedKeywords, calculateWeightedJaccard } from '../../utils/segmenter.js';
|
|
8
8
|
import { sha256Fingerprint } from '../../utils/hash.js';
|
|
9
|
+
import { hasActiveSuperseder } from '../../memory/supersedeResolve.js';
|
|
9
10
|
import { logger } from '../../logging/logger.js';
|
|
10
11
|
import { parseLlmJson } from '../../utils/json.js';
|
|
11
12
|
import { nowIso } from '../../utils/time.js';
|
|
@@ -109,7 +110,8 @@ export class RoundSummaryGenerator {
|
|
|
109
110
|
setBackgroundProvider(provider) {
|
|
110
111
|
this.provider = provider ?? this.defaultProvider;
|
|
111
112
|
}
|
|
112
|
-
/** 记忆写入回调(memoryAdded
|
|
113
|
+
/** 记忆写入回调(memoryAdded 事件出口):摘要即记忆,新摘要写入后通知宿主「已沉淀」。
|
|
114
|
+
* content = 记忆正文(宿主提示按用户心智显示内容,回退 name) */
|
|
113
115
|
_onMemoryAdded = null;
|
|
114
116
|
/** 绑定记忆写入回调(Agent.init 调用);传 null 解除绑定 */
|
|
115
117
|
setOnMemoryAdded(fn) {
|
|
@@ -179,7 +181,12 @@ export class RoundSummaryGenerator {
|
|
|
179
181
|
};
|
|
180
182
|
this.storage.upsert(memory);
|
|
181
183
|
// memoryAdded 事件出口:宿主「已沉淀」提示的可观测通道
|
|
182
|
-
this._onMemoryAdded?.({
|
|
184
|
+
this._onMemoryAdded?.({
|
|
185
|
+
id: memory.id,
|
|
186
|
+
source: memory.source,
|
|
187
|
+
name: memory.name,
|
|
188
|
+
content: memory.content,
|
|
189
|
+
});
|
|
183
190
|
// 写路径取代检测:仅对「同 session 最近 N 条」摘要做取代判定(收敛重叠计算面,避免对全库摘要逐一计算)
|
|
184
191
|
this.supersedeSimilar(memory, this.getSessionCandidates(memory));
|
|
185
192
|
logger.debug({ memoryId, summaryType, sessionName, roundId }, '轮次摘要已生成');
|
|
@@ -217,9 +224,12 @@ export class RoundSummaryGenerator {
|
|
|
217
224
|
return [];
|
|
218
225
|
const sessionPrefix = roundSummarySessionPrefix(sessionName);
|
|
219
226
|
const all = this.storage.getBySource(SOURCE_LABELS.ROUND_SUMMARY);
|
|
220
|
-
// 同 session +
|
|
227
|
+
// 同 session + 未被「现存且活跃」摘要取代(排除自身):悬空指针(替代物已移除/软删)视为未取代,
|
|
228
|
+
// 该旧摘要回退为当前版本、仍可再被取代(判据见 hasActiveSuperseder)。按 createdAt 降序取最近 N 条。
|
|
221
229
|
return all
|
|
222
|
-
.filter((old) => old.id.startsWith(sessionPrefix) &&
|
|
230
|
+
.filter((old) => old.id.startsWith(sessionPrefix) &&
|
|
231
|
+
!hasActiveSuperseder(old, this.storage) &&
|
|
232
|
+
old.id !== newMemory.id)
|
|
223
233
|
.sort((a, b) => Date.parse(b.createdAt) - Date.parse(a.createdAt))
|
|
224
234
|
.slice(0, SUPERSEDE_CANDIDATE_WINDOW);
|
|
225
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundSummaryGenerator.js","sourceRoot":"","sources":["../../../src/agent/managers/roundSummaryGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,0DAA0D;AAE1D,mBAAmB;AACnB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,mBAAmB;AACnB,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,mBAAmB;AACnB,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,sFAAsF;AACtF,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,4BAA4B;AAC5B,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;GAGG;AACH,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,gBAAwB;IACzE,OAAO,iBAAiB,CAAC,GAAG,KAAK,GAAG,qBAAqB,GAAG,gBAAgB,EAAE,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;uBAeP,CAAC;AAExB,+DAA+D;AAC/D,MAAM,2BAA2B,GAAG;;;;;mBAKjB,CAAC;AAEpB,2CAA2C;AAC3C,MAAM,qBAAqB,GAAG,GAAG,2BAA2B;;EAE1D,qBAAqB,EAAE,CAAC;AAE1B;;;GAGG;AACH,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAU,EAAE,CAC3D;;;EAGA,KAAK;;EAEL,qBAAqB,EAAE,CAAC;AAE1B,2DAA2D;AAE3D,6EAA6E;AAC7E,MAAM,OAAO,qBAAqB;IAQb;IAPnB,iCAAiC;IACzB,QAAQ,CAAc;IAC9B,uDAAuD;IACtC,eAAe,CAAc;IAE9C,YACE,QAAqB,EACJ,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QAExC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,0EAA0E;IAC1E,qBAAqB,CAAC,QAA4B;QAChD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;IACnD,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"roundSummaryGenerator.js","sourceRoot":"","sources":["../../../src/agent/managers/roundSummaryGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* - 会话切走(sessionSwitched,switchToSession 后旧会话离场);
|
|
5
5
|
* - 分叉离场(sessionForked,源会话脱离当前态);
|
|
6
6
|
* - 暂停超时(sessionPauseTimedOut,30min watchdog);
|
|
7
|
-
* 三类自动触发经 ArchiveCoordinator 统一入口(archiveMode=manual
|
|
7
|
+
* 三类自动触发经 ArchiveCoordinator 统一入口(archiveMode=manual 时跳过);手动调用不受模式
|
|
8
|
+
* 门控(是否防重由 `skipIfUnchanged` 单独表达,宿主「移入留存区」等便捷手势显式传 true)。
|
|
8
9
|
* 降级:LLM 不可用/消息为空/sessionStore 未注入时静默跳过或返回空结果,不阻塞会话切换(best-effort)。
|
|
9
10
|
*/
|
|
10
11
|
import type { LlmProvider } from '../../llm/provider.js';
|
|
@@ -21,9 +22,16 @@ export interface SessionArchiveResult {
|
|
|
21
22
|
/** 归档触发选项 */
|
|
22
23
|
export interface SessionArchiveOptions {
|
|
23
24
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* 内容未变则跳过:对比上次**实际完成归档**时的消息数,相同即跳过 LLM 调用。
|
|
26
|
+
*
|
|
27
|
+
* 判据可靠性:对话记录 append-only(单条消息不删)⇒ 消息数相同 = 内容未变;
|
|
28
|
+
* 反之只要又聊过(消息数必增)就一定重新归档 —— **防重 ≠ 防更新**。
|
|
29
|
+
*
|
|
30
|
+
* 调用形态(2026-10-19 起):自动触发默认带;手动触发**默认不带**(用户意图优先、
|
|
31
|
+
* 无条件重归档),但宿主便捷手势可显式传 true 享同一判据(见 ArchiveTriggerOptions)。
|
|
32
|
+
*
|
|
33
|
+
* 判据本体在本类(内存 Map + `SessionMeta.archivedMessageCount` 落盘副本双源,
|
|
34
|
+
* 跨进程存活),比较对象是 `messages.length`。
|
|
27
35
|
*/
|
|
28
36
|
skipIfUnchanged?: boolean;
|
|
29
37
|
}
|
|
@@ -36,8 +44,14 @@ export declare class SessionArchiver {
|
|
|
36
44
|
/** 会话存储(加载原始对话消息 + 写入 SessionMeta) */
|
|
37
45
|
private sessionStore;
|
|
38
46
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
47
|
+
* 已归档会话的消息数快照(防重判据):sessionLabel → 上次**实际完成归档**时的消息数。
|
|
48
|
+
*
|
|
49
|
+
* **双源**(顺序不可换):本内存 Map 优先(同进程内准确、零 I/O);未命中则回退落盘副本
|
|
50
|
+
* `SessionMeta.archivedMessageCount`(跨进程存活)。
|
|
51
|
+
*
|
|
52
|
+
* 为何必须双源:纯内存态随进程销毁清零 ⇒ 重启后首次触发会对「内容未变、早归档过」的会话
|
|
53
|
+
* **重复烧一次 LLM**;手动归档入口(manual 模式「移入留存区」)落地后该重复变成用户可见
|
|
54
|
+
* 的开销。写入成功后**两源同写**(见 archiveSession 末段),故重启不丢判据。
|
|
41
55
|
*/
|
|
42
56
|
private lastArchivedMessageCount;
|
|
43
57
|
constructor(provider: LlmProvider, sessionStore: ISessionStore | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionArchiver.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/sessionArchiver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sessionArchiver.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/sessionArchiver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,0BAA0B,CAAC;AAG9E,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,aAAa;AACb,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiBD,uCAAuC;AACvC,qBAAa,eAAe;IAC1B,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAc;IAC9C,sCAAsC;IACtC,OAAO,CAAC,YAAY,CAA4B;IAChD;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB,CAA6B;gBAEjD,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,GAAG,SAAS;IAM1E,0EAA0E;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAIzD;;;OAGG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAoFhC;;;OAGG;YACW,mBAAmB;CAkFlC"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* - 会话切走(sessionSwitched,switchToSession 后旧会话离场);
|
|
5
5
|
* - 分叉离场(sessionForked,源会话脱离当前态);
|
|
6
6
|
* - 暂停超时(sessionPauseTimedOut,30min watchdog);
|
|
7
|
-
* 三类自动触发经 ArchiveCoordinator 统一入口(archiveMode=manual
|
|
7
|
+
* 三类自动触发经 ArchiveCoordinator 统一入口(archiveMode=manual 时跳过);手动调用不受模式
|
|
8
|
+
* 门控(是否防重由 `skipIfUnchanged` 单独表达,宿主「移入留存区」等便捷手势显式传 true)。
|
|
8
9
|
* 降级:LLM 不可用/消息为空/sessionStore 未注入时静默跳过或返回空结果,不阻塞会话切换(best-effort)。
|
|
9
10
|
*/
|
|
10
11
|
import { logger } from '../../logging/logger.js';
|
|
@@ -33,8 +34,14 @@ export class SessionArchiver {
|
|
|
33
34
|
/** 会话存储(加载原始对话消息 + 写入 SessionMeta) */
|
|
34
35
|
sessionStore;
|
|
35
36
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
37
|
+
* 已归档会话的消息数快照(防重判据):sessionLabel → 上次**实际完成归档**时的消息数。
|
|
38
|
+
*
|
|
39
|
+
* **双源**(顺序不可换):本内存 Map 优先(同进程内准确、零 I/O);未命中则回退落盘副本
|
|
40
|
+
* `SessionMeta.archivedMessageCount`(跨进程存活)。
|
|
41
|
+
*
|
|
42
|
+
* 为何必须双源:纯内存态随进程销毁清零 ⇒ 重启后首次触发会对「内容未变、早归档过」的会话
|
|
43
|
+
* **重复烧一次 LLM**;手动归档入口(manual 模式「移入留存区」)落地后该重复变成用户可见
|
|
44
|
+
* 的开销。写入成功后**两源同写**(见 archiveSession 末段),故重启不丢判据。
|
|
38
45
|
*/
|
|
39
46
|
lastArchivedMessageCount = new Map();
|
|
40
47
|
constructor(provider, sessionStore) {
|
|
@@ -67,8 +74,12 @@ export class SessionArchiver {
|
|
|
67
74
|
logger.debug({ sessionLabel, messageCount: messages.length }, 'SessionArchiver: 消息过少,跳过');
|
|
68
75
|
return { ...emptyResult, messageCount: messages.length };
|
|
69
76
|
}
|
|
70
|
-
// 自动触发防重:消息数与上次实际归档时相同 → 内容未变,跳过 LLM
|
|
71
|
-
|
|
77
|
+
// 自动触发防重:消息数与上次实际归档时相同 → 内容未变,跳过 LLM 调用。
|
|
78
|
+
// 判据双源:内存快照优先,未命中回退落盘 SessionMeta.archivedMessageCount(跨进程存活,
|
|
79
|
+
// 否则重启后对「内容未变、早归档过」的会话会重复烧一次 LLM)。两者都是同一语义的单点
|
|
80
|
+
// 副本,不存在第二套判据。
|
|
81
|
+
const lastCount = this.lastArchivedMessageCount.get(sessionLabel) ??
|
|
82
|
+
this.sessionStore.getSessionMeta?.(sessionLabel)?.archivedMessageCount;
|
|
72
83
|
if (options?.skipIfUnchanged && lastCount !== undefined && lastCount === messages.length) {
|
|
73
84
|
logger.debug({ sessionLabel, messageCount: messages.length }, 'SessionArchiver: 内容未变(消息数同上次归档),跳过自动归档');
|
|
74
85
|
return { ...emptyResult, messageCount: messages.length };
|
|
@@ -96,6 +107,9 @@ export class SessionArchiver {
|
|
|
96
107
|
updatedFields.push('autoName');
|
|
97
108
|
}
|
|
98
109
|
if (updatedFields.length > 0) {
|
|
110
|
+
// 防重快照同批落盘(与 summary/keyTopics 一次写入):内存态供本进程、落盘副本供跨进程,
|
|
111
|
+
// 两源同一值、同一写入点(无第二套判据)。
|
|
112
|
+
partialMeta.archivedMessageCount = messages.length;
|
|
99
113
|
this.sessionStore.updateSessionMeta?.(sessionLabel, partialMeta);
|
|
100
114
|
// 写入成功才记防重快照:LLM 判无价值/写入失败不记,下次自动触发仍会重试
|
|
101
115
|
this.lastArchivedMessageCount.set(sessionLabel, messages.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionArchiver.js","sourceRoot":"","sources":["../../../src/agent/managers/sessionArchiver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sessionArchiver.js","sourceRoot":"","sources":["../../../src/agent/managers/sessionArchiver.ts"],"names":[],"mappings":"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"}
|