@zooique/memora 1.0.1 → 2.0.3
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/README.en.md +272 -0
- package/README.md +150 -38
- package/dist/agent/agent.d.ts +257 -115
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +747 -400
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +32 -16
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +83 -47
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +27 -2
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +78 -5
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/constants.d.ts +4 -0
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +4 -0
- 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 +7 -2
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/guardrail.d.ts +4 -2
- package/dist/agent/guardrail.d.ts.map +1 -1
- package/dist/agent/guardrail.js +13 -5
- package/dist/agent/guardrail.js.map +1 -1
- package/dist/agent/loop.d.ts +137 -15
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +449 -270
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +126 -22
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -1
- package/dist/agent/managers/archiveCoordinator.js +239 -44
- package/dist/agent/managers/archiveCoordinator.js.map +1 -1
- package/dist/agent/managers/autoConfigRefiner.d.ts.map +1 -1
- package/dist/agent/managers/autoConfigRefiner.js +4 -8
- package/dist/agent/managers/autoConfigRefiner.js.map +1 -1
- package/dist/agent/managers/chatLockManager.d.ts +116 -0
- package/dist/agent/managers/chatLockManager.d.ts.map +1 -0
- package/dist/agent/managers/chatLockManager.js +191 -0
- package/dist/agent/managers/chatLockManager.js.map +1 -0
- package/dist/agent/managers/configManager.d.ts +87 -3
- package/dist/agent/managers/configManager.d.ts.map +1 -1
- package/dist/agent/managers/configManager.js +139 -2
- package/dist/agent/managers/configManager.js.map +1 -1
- package/dist/agent/managers/dedupManager.d.ts +169 -0
- package/dist/agent/managers/dedupManager.d.ts.map +1 -0
- package/dist/agent/managers/dedupManager.js +336 -0
- package/dist/agent/managers/dedupManager.js.map +1 -0
- package/dist/agent/managers/insightExtractor.d.ts +31 -3
- package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
- package/dist/agent/managers/insightExtractor.js +130 -59
- package/dist/agent/managers/insightExtractor.js.map +1 -1
- package/dist/agent/managers/llmJudgeHelper.d.ts +38 -0
- package/dist/agent/managers/llmJudgeHelper.d.ts.map +1 -0
- package/dist/agent/managers/llmJudgeHelper.js +49 -0
- package/dist/agent/managers/llmJudgeHelper.js.map +1 -0
- package/dist/agent/managers/memoryAdvisor.d.ts +102 -2
- package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
- package/dist/agent/managers/memoryAdvisor.js +254 -10
- package/dist/agent/managers/memoryAdvisor.js.map +1 -1
- package/dist/agent/managers/memoryDecayScheduler.d.ts +127 -1
- package/dist/agent/managers/memoryDecayScheduler.d.ts.map +1 -1
- package/dist/agent/managers/memoryDecayScheduler.js +283 -4
- package/dist/agent/managers/memoryDecayScheduler.js.map +1 -1
- package/dist/agent/managers/memoryGovernance.d.ts +56 -0
- package/dist/agent/managers/memoryGovernance.d.ts.map +1 -0
- package/dist/agent/managers/memoryGovernance.js +63 -0
- package/dist/agent/managers/memoryGovernance.js.map +1 -0
- package/dist/agent/managers/memoryInspector.d.ts +113 -30
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +165 -32
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/relationBuilder.d.ts +4 -4
- package/dist/agent/managers/relationBuilder.d.ts.map +1 -1
- package/dist/agent/managers/relationBuilder.js +5 -4
- package/dist/agent/managers/relationBuilder.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +12 -1
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +87 -30
- package/dist/agent/managers/sessionArchiver.js.map +1 -1
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +9 -17
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/managers/streamAccumulator.d.ts +45 -0
- package/dist/agent/managers/streamAccumulator.d.ts.map +1 -0
- package/dist/agent/managers/streamAccumulator.js +40 -0
- package/dist/agent/managers/streamAccumulator.js.map +1 -0
- package/dist/agent/managers/textPolishManager.d.ts +62 -0
- package/dist/agent/managers/textPolishManager.d.ts.map +1 -0
- package/dist/agent/managers/textPolishManager.js +96 -0
- package/dist/agent/managers/textPolishManager.js.map +1 -0
- package/dist/agent/managers/workProjection.d.ts +16 -1
- package/dist/agent/managers/workProjection.d.ts.map +1 -1
- package/dist/agent/managers/workProjection.js +48 -24
- package/dist/agent/managers/workProjection.js.map +1 -1
- package/dist/agent/personaMatcher.d.ts +29 -0
- package/dist/agent/personaMatcher.d.ts.map +1 -0
- package/dist/agent/personaMatcher.js +60 -0
- package/dist/agent/personaMatcher.js.map +1 -0
- package/dist/agent/toolExecutor.d.ts +24 -4
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +30 -4
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/tracer.d.ts +31 -0
- package/dist/agent/tracer.d.ts.map +1 -1
- package/dist/agent/tracer.js +31 -0
- package/dist/agent/tracer.js.map +1 -1
- package/dist/agent/types.d.ts +133 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +38 -0
- package/dist/agent/types.js.map +1 -1
- package/dist/agent/userFactExtractor.d.ts.map +1 -1
- package/dist/agent/userFactExtractor.js +7 -0
- package/dist/agent/userFactExtractor.js.map +1 -1
- package/dist/config/loader.d.ts +124 -236
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +296 -118
- package/dist/config/loader.js.map +1 -1
- package/dist/eval/evalRunner.d.ts +94 -0
- package/dist/eval/evalRunner.d.ts.map +1 -0
- package/dist/eval/evalRunner.js +141 -0
- package/dist/eval/evalRunner.js.map +1 -0
- package/dist/eval/evalTypes.d.ts +21 -0
- package/dist/eval/evalTypes.d.ts.map +1 -1
- package/dist/eval/evalTypes.js +15 -0
- package/dist/eval/evalTypes.js.map +1 -1
- package/dist/eval/scenarios.d.ts +33 -0
- package/dist/eval/scenarios.d.ts.map +1 -0
- package/dist/eval/scenarios.js +109 -0
- package/dist/eval/scenarios.js.map +1 -0
- package/dist/index.d.ts +45 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -5
- package/dist/index.js.map +1 -1
- package/dist/llm/abortSignal.d.ts +27 -0
- package/dist/llm/abortSignal.d.ts.map +1 -0
- package/dist/llm/abortSignal.js +44 -0
- package/dist/llm/abortSignal.js.map +1 -0
- package/dist/llm/embedding.d.ts +13 -12
- package/dist/llm/embedding.d.ts.map +1 -1
- package/dist/llm/embedding.js +5 -17
- package/dist/llm/embedding.js.map +1 -1
- package/dist/llm/factory.d.ts +19 -5
- package/dist/llm/factory.d.ts.map +1 -1
- package/dist/llm/factory.js +19 -37
- package/dist/llm/factory.js.map +1 -1
- package/dist/llm/openaiCompatible.d.ts.map +1 -1
- package/dist/llm/openaiCompatible.js +17 -34
- package/dist/llm/openaiCompatible.js.map +1 -1
- package/dist/logging/logger.d.ts +3 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +47 -50
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/governance.d.ts +50 -0
- package/dist/memory/governance.d.ts.map +1 -0
- package/dist/memory/governance.js +70 -0
- package/dist/memory/governance.js.map +1 -0
- package/dist/memory/hybridMerge.d.ts +0 -4
- package/dist/memory/hybridMerge.d.ts.map +1 -1
- package/dist/memory/hybridMerge.js +19 -4
- package/dist/memory/hybridMerge.js.map +1 -1
- package/dist/memory/inMemoryRelationStore.d.ts +7 -0
- package/dist/memory/inMemoryRelationStore.d.ts.map +1 -1
- package/dist/memory/inMemoryRelationStore.js +15 -0
- package/dist/memory/inMemoryRelationStore.js.map +1 -1
- package/dist/memory/inMemoryStorage.d.ts +36 -1
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +70 -19
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/loader.d.ts +2 -0
- package/dist/memory/loader.d.ts.map +1 -1
- package/dist/memory/loader.js +8 -1
- package/dist/memory/loader.js.map +1 -1
- package/dist/memory/lockManager.d.ts +7 -2
- package/dist/memory/lockManager.d.ts.map +1 -1
- package/dist/memory/lockManager.js +35 -17
- package/dist/memory/lockManager.js.map +1 -1
- package/dist/memory/projectManager.d.ts +8 -7
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +33 -15
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/projectRegistry.d.ts +34 -1
- package/dist/memory/projectRegistry.d.ts.map +1 -1
- package/dist/memory/projectRegistry.js +100 -31
- package/dist/memory/projectRegistry.js.map +1 -1
- package/dist/memory/recall.d.ts +16 -0
- package/dist/memory/recall.d.ts.map +1 -1
- package/dist/memory/recall.js +35 -20
- package/dist/memory/recall.js.map +1 -1
- package/dist/memory/relationStore.d.ts +20 -3
- package/dist/memory/relationStore.d.ts.map +1 -1
- package/dist/memory/sourceValidation.d.ts +17 -0
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +27 -3
- package/dist/memory/sourceValidation.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +26 -1
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/store.d.ts +22 -1
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +58 -20
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +44 -31
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +63 -24
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/userProfile.d.ts +32 -8
- package/dist/memory/userProfile.d.ts.map +1 -1
- package/dist/memory/userProfile.js +105 -44
- package/dist/memory/userProfile.js.map +1 -1
- package/dist/memory/vectorStore.d.ts +16 -8
- package/dist/memory/vectorStore.d.ts.map +1 -1
- package/dist/memory/vectorStore.js +49 -22
- package/dist/memory/vectorStore.js.map +1 -1
- package/dist/persona/personaManager.d.ts +38 -63
- package/dist/persona/personaManager.d.ts.map +1 -1
- package/dist/persona/personaManager.js +136 -202
- package/dist/persona/personaManager.js.map +1 -1
- package/dist/skill/skillManager.d.ts +11 -57
- package/dist/skill/skillManager.d.ts.map +1 -1
- package/dist/skill/skillManager.js +46 -141
- package/dist/skill/skillManager.js.map +1 -1
- package/dist/skill/types.d.ts +2 -3
- package/dist/skill/types.d.ts.map +1 -1
- package/dist/utils/array.d.ts +24 -0
- package/dist/utils/array.d.ts.map +1 -0
- package/dist/utils/array.js +24 -0
- package/dist/utils/array.js.map +1 -0
- package/dist/utils/configResourceManager.d.ts +111 -0
- package/dist/utils/configResourceManager.d.ts.map +1 -0
- package/dist/utils/configResourceManager.js +148 -0
- package/dist/utils/configResourceManager.js.map +1 -0
- package/dist/utils/errors.d.ts +27 -8
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +31 -9
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +88 -4
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +23 -0
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +4 -2
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/math.d.ts +11 -0
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +17 -0
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/objects.d.ts +17 -0
- package/dist/utils/objects.d.ts.map +1 -0
- package/dist/utils/objects.js +19 -0
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/segmenter.d.ts +11 -10
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +23 -1
- package/dist/utils/segmenter.js.map +1 -1
- package/dist/utils/strings.d.ts +22 -1
- package/dist/utils/strings.d.ts.map +1 -1
- package/dist/utils/strings.js +29 -1
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/time.d.ts +18 -3
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/time.js +24 -8
- package/dist/utils/time.js.map +1 -1
- package/dist/utils/toError.d.ts +8 -4
- package/dist/utils/toError.d.ts.map +1 -1
- package/dist/utils/toError.js +25 -5
- package/dist/utils/toError.js.map +1 -1
- package/docs/memora-api-reference.md +1235 -0
- package/docs/memora-/346/216/245/345/205/245/346/214/207/345/215/227.md +808 -0
- package/package.json +49 -22
- package/dist/agent/managers/memoryMutator.d.ts +0 -92
- package/dist/agent/managers/memoryMutator.d.ts.map +0 -1
- package/dist/agent/managers/memoryMutator.js +0 -94
- package/dist/agent/managers/memoryMutator.js.map +0 -1
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* 记忆管理器 — 统一的记忆读写入口
|
|
3
3
|
*
|
|
4
|
-
* 从 Agent
|
|
4
|
+
* 从 Agent 拆分出来,负责记忆的查询 + 写入操作。
|
|
5
|
+
* 写方法以 writeXxx 前缀命名,与读方法明确区分。
|
|
5
6
|
*
|
|
6
7
|
* 设计原则:
|
|
7
|
-
* -
|
|
8
|
-
* - 同步返回——避免数据不一致(不调 LLM、不调 SQLite
|
|
8
|
+
* - 读写统一入口——writeXxx 前缀区分写操作,降低认知负荷
|
|
9
|
+
* - 同步返回——避免数据不一致(不调 LLM、不调 SQLite 异步写入)
|
|
9
10
|
* - 轻量——每层只返回前 N 条 + 总数
|
|
11
|
+
* - 静默降级——relationStore 未注入时关系方法静默 no-op(ADR-014 降级优先)
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
* -
|
|
13
|
+
* 方法清单:
|
|
14
|
+
* - 只读查询:snapshot / search / searchHybrid / stats /
|
|
13
15
|
* getRelations / getAllRelations / getRelationPath / getRelationNeighbors /
|
|
14
|
-
* getById / getBySource / list / listDeleted / getDeletedById
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* getById / getBySource / list / listDeleted / getDeletedById
|
|
17
|
+
* - 写操作(writeXxx 前缀):
|
|
18
|
+
* writeUpsert / writeDelete / writeRestore / writePurge / writePurgeExpired /
|
|
19
|
+
* writeAddRelation / writeRemoveRelation
|
|
20
|
+
*
|
|
21
|
+
* 拆分历史:
|
|
22
|
+
* - SPLIT-3(2026-07-21):L1 语义去重(deduplicateMemories)拆分至 DedupManager
|
|
23
|
+
* - v2 PROXY-1(2026-07-21):detectConflicts 直连 MemoryAdvisor(消除 3 层代理)
|
|
24
|
+
* - FIX-P1-3(2026-07-24):sourceHealth/suggest 直连 MemoryAdvisor,
|
|
25
|
+
* 删除本类转发方法 + advisor 字段,Agent 作为门面委托 advisor(与
|
|
26
|
+
* detectConflicts 同模式)。本类回归纯存储读写 + 查询入口。
|
|
19
27
|
*/
|
|
20
28
|
import type { Memory } from '../../memory/types.js';
|
|
21
29
|
import type { IMemoryStorage } from '../../memory/storageInterface.js';
|
|
@@ -24,7 +32,6 @@ import type { MemoryRelation, RelationDirection, RelationPath, RelationNeighbor
|
|
|
24
32
|
import type { IVectorStore } from '../../memory/vectorStore.js';
|
|
25
33
|
import type { MessageHistory } from '../../agent/messageHistory.js';
|
|
26
34
|
import type { AgentLoop } from '../../agent/loop.js';
|
|
27
|
-
import type { MemoryAdvisor, SourceHealthReport, SuggestOptions, SuggestHit } from '../../agent/managers/memoryAdvisor.js';
|
|
28
35
|
export type { SourceHealthStatus, SourceHealthEntry, SourceHealthReport, SuggestOptions, SuggestHit, } from '../../agent/managers/memoryAdvisor.js';
|
|
29
36
|
/** 记忆快照 */
|
|
30
37
|
export interface MemorySnapshot {
|
|
@@ -106,18 +113,18 @@ export declare class MemoryInspector {
|
|
|
106
113
|
private readonly history;
|
|
107
114
|
/** 向量存储(可选,提供时 searchHybrid 启用语义搜索) */
|
|
108
115
|
private vectorStore;
|
|
109
|
-
/** 关系存储(可选,ADR-014
|
|
116
|
+
/** 关系存储(可选,ADR-014 侧车,未注入时关系方法静默降级) */
|
|
110
117
|
private readonly relationStore;
|
|
111
|
-
/** 记忆顾问(sourceHealth + suggest 委托) */
|
|
112
|
-
private readonly advisor;
|
|
113
118
|
/**
|
|
114
|
-
*
|
|
119
|
+
* FIX-P1-3(2026-07-24):移除 advisor 参数,sourceHealth/suggest 改由
|
|
120
|
+
* Agent 直接委托 MemoryAdvisor(与 detectConflicts 同模式),消除 3 层代理。
|
|
121
|
+
*
|
|
122
|
+
* @param index - 记忆存储(用于读写操作)
|
|
115
123
|
* @param loop - AgentLoop(用于获取工作记忆)
|
|
116
124
|
* @param history - MessageHistory(用于获取当前会话信息)
|
|
117
|
-
* @param
|
|
118
|
-
* @param relationStore - 关系存储侧车(可选,ADR-014,未注入时关系相关方法降级返回空)
|
|
125
|
+
* @param relationStore - 关系存储侧车(可选,ADR-014,未注入时关系方法降级返回空/no-op)
|
|
119
126
|
*/
|
|
120
|
-
constructor(index: IMemoryStorage, loop: AgentLoop, history: MessageHistory,
|
|
127
|
+
constructor(index: IMemoryStorage, loop: AgentLoop, history: MessageHistory, relationStore?: IMemoryRelationStore | null);
|
|
121
128
|
/**
|
|
122
129
|
* 注入向量存储(由 Agent 在初始化后调用,解决构造时序)
|
|
123
130
|
*/
|
|
@@ -125,7 +132,8 @@ export declare class MemoryInspector {
|
|
|
125
132
|
/**
|
|
126
133
|
* 列出回收站中的软删除记忆(只读查询)
|
|
127
134
|
*
|
|
128
|
-
* @param limit
|
|
135
|
+
* @param limit 返回数量上限。`limit <= 0` 或 `undefined` 表示不设上限(返回全部);
|
|
136
|
+
* 正整数 N 表示返回最近 N 条。默认 undefined(全部)。
|
|
129
137
|
* @returns 软删除记忆列表(按 deletedAt 降序)
|
|
130
138
|
*/
|
|
131
139
|
listDeleted(limit?: number): Memory[];
|
|
@@ -259,21 +267,96 @@ export declare class MemoryInspector {
|
|
|
259
267
|
*/
|
|
260
268
|
private countRelations;
|
|
261
269
|
/**
|
|
262
|
-
*
|
|
270
|
+
* 插入或更新记忆
|
|
271
|
+
*
|
|
272
|
+
* @param memory 完整记忆对象
|
|
273
|
+
*/
|
|
274
|
+
writeUpsert(memory: Memory): void;
|
|
275
|
+
/**
|
|
276
|
+
* 提升记忆的 score(L2 采纳反哺内核)
|
|
277
|
+
*
|
|
278
|
+
* 用户在补全模块采纳某条候选后,通过 IPC 调用此方法反哺到内核 Memory.score。
|
|
279
|
+
* 与 recall.ts 的 boostScore 路径语义一致("越常用越重要"),但触发源不同:
|
|
280
|
+
* - recall.ts boostScore:召回时触发(被动)
|
|
281
|
+
* - writeBoost:用户主动采纳时触发(主动)
|
|
282
|
+
*
|
|
283
|
+
* 设计原则:
|
|
284
|
+
* - score 上限 1.0(与 recall.ts SCORE_CEILING 一致)
|
|
285
|
+
* - 同步更新 accessedAt,避免被衰减机制误降级
|
|
286
|
+
* - 记忆不存在时静默返回 false(补全候选可能来自对话历史,无对应记忆)
|
|
287
|
+
*
|
|
288
|
+
* @param id 记忆唯一标识(${source}:${name} 格式)
|
|
289
|
+
* @param increment score 提升量(默认 0.05,与 recall.ts BOOST_INCREMENT 一致)
|
|
290
|
+
* @returns 是否成功提升(记忆不存在时返回 false)
|
|
291
|
+
*/
|
|
292
|
+
writeBoost(id: string, increment?: number): boolean;
|
|
293
|
+
/**
|
|
294
|
+
* 软删除记忆(写入 deletedAt)
|
|
295
|
+
*
|
|
296
|
+
* @param id 记忆唯一标识(${source}:${name} 格式)
|
|
297
|
+
*/
|
|
298
|
+
writeDelete(id: string): void;
|
|
299
|
+
/**
|
|
300
|
+
* 恢复软删除的记忆(清除 deletedAt)
|
|
301
|
+
*
|
|
302
|
+
* @param id 记忆唯一标识
|
|
303
|
+
*/
|
|
304
|
+
writeRestore(id: string): void;
|
|
305
|
+
/**
|
|
306
|
+
* 物理删除记忆(不可恢复,用于回收站彻底删除)
|
|
307
|
+
*
|
|
308
|
+
* @param id 记忆唯一标识
|
|
309
|
+
*/
|
|
310
|
+
writePurge(id: string): void;
|
|
311
|
+
/**
|
|
312
|
+
* 清理过期的软删除记忆(FIX-P0-2:统一编排关系清理)
|
|
313
|
+
*
|
|
314
|
+
* 物理删除所有 deletedAt 早于 before 的记忆,并同步清理这些记忆的关系边。
|
|
315
|
+
* 由宿主项目的定时器调用(默认 30 天保留期)。
|
|
316
|
+
*
|
|
317
|
+
* FIX-P0-2 修复说明:
|
|
318
|
+
* 原实现仅调用 `index.purgeExpired(before)` 物理删除记忆,不清理 memory_relations
|
|
319
|
+
* 表中的关系边,导致孤儿边残留。手动 purge 路径会清理关系,但自动清理路径遗漏。
|
|
320
|
+
* 本方法是统一协调点(已持有 relationStore 引用),先查询待清理记忆 → 逐个清理关系边
|
|
321
|
+
* → 再物理删除记忆,保证两侧数据一致。
|
|
322
|
+
*
|
|
323
|
+
* 容错策略:
|
|
324
|
+
* - relationStore 未注入时跳过关系清理,仅物理删除记忆(向后兼容)
|
|
325
|
+
* - 单条关系清理失败不阻塞整体流程,记录 warn 日志后继续
|
|
326
|
+
*
|
|
327
|
+
* @param before 时间阈值,deletedAt 早于此值的记忆将被物理删除
|
|
328
|
+
* @returns 被清理的记忆数量
|
|
329
|
+
*/
|
|
330
|
+
writePurgeExpired(before: Date): number;
|
|
331
|
+
/**
|
|
332
|
+
* 添加记忆关系(透传 relationStore)
|
|
333
|
+
*
|
|
334
|
+
* 用于宿主 UI 手动创建关系(关系图右键菜单 → 连线 → 创建关系)。
|
|
335
|
+
* relationStore 未注入时静默降级(不阻塞)。
|
|
336
|
+
*
|
|
337
|
+
* @param relation 关系边数据
|
|
338
|
+
*/
|
|
339
|
+
writeAddRelation(relation: MemoryRelation): void;
|
|
340
|
+
/**
|
|
341
|
+
* 删除记忆关系(透传 relationStore)
|
|
342
|
+
*
|
|
343
|
+
* 用于宿主 UI 手动删除关系(关系图右键菜单 → 编辑关系 → 删除)。
|
|
344
|
+
* relationStore 未注入时静默降级(不阻塞)。
|
|
263
345
|
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
346
|
+
* @param sourceId 关系起点
|
|
347
|
+
* @param targetId 关系终点
|
|
348
|
+
* @param type 关系类型
|
|
266
349
|
*/
|
|
267
|
-
|
|
350
|
+
writeRemoveRelation(sourceId: string, targetId: string, type: string): void;
|
|
268
351
|
/**
|
|
269
|
-
*
|
|
352
|
+
* 删除某记忆的所有关系边(透传 relationStore)
|
|
270
353
|
*
|
|
271
|
-
*
|
|
272
|
-
*
|
|
354
|
+
* 用于记忆软删除/物理删除场景,防止 memory_relations 表残留孤儿边。
|
|
355
|
+
* relationStore 未注入时静默降级(不阻塞记忆删除主流程)。
|
|
273
356
|
*
|
|
274
|
-
* @param
|
|
275
|
-
* @
|
|
357
|
+
* @param memoryId 记忆 ID
|
|
358
|
+
* @returns 被删除的关系数量(relationStore 未注入时返回 0)
|
|
276
359
|
*/
|
|
277
|
-
|
|
360
|
+
writeRemoveRelationsByMemoryId(memoryId: string): number;
|
|
278
361
|
}
|
|
279
362
|
//# 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,9 +1,14 @@
|
|
|
1
1
|
import { SOURCE_LABELS } from '../../memory/types.js';
|
|
2
2
|
import { configError } from '../../utils/errors.js';
|
|
3
|
+
import { nowIso } from '../../utils/time.js';
|
|
4
|
+
import { truncate } from '../../utils/strings.js';
|
|
3
5
|
import { logger } from '../../logging/logger.js';
|
|
4
6
|
// 双通道融合排序算法 + 常量从 hybridMerge 导入(不再绕道 recall.ts)
|
|
5
7
|
// 消除"agent 模块依赖 memory/recall.ts 内部常量"的分层违规
|
|
6
8
|
import { hybridMerge, RECALL_LIMIT_MULTIPLIER, } from '../../memory/hybridMerge.js';
|
|
9
|
+
// LLM 治理共享常量(v2 REPEAT-1/2 闭环,消除 5 处独立维护的治理源列表 + 2 处 score 常量重复)
|
|
10
|
+
// MIND2-L3:SCORE_CEILING 不再需要(incrementScore 内部 clamp),仅保留 BOOST_INCREMENT
|
|
11
|
+
import { BOOST_INCREMENT } from '../../memory/governance.js';
|
|
7
12
|
// ─── 常量 ────────────────────────────────────────────────
|
|
8
13
|
/** 工作记忆预览条数(最近 N 条) */
|
|
9
14
|
const WORKING_PREVIEW = 5;
|
|
@@ -18,23 +23,21 @@ export class MemoryInspector {
|
|
|
18
23
|
history;
|
|
19
24
|
/** 向量存储(可选,提供时 searchHybrid 启用语义搜索) */
|
|
20
25
|
vectorStore = null;
|
|
21
|
-
/** 关系存储(可选,ADR-014
|
|
26
|
+
/** 关系存储(可选,ADR-014 侧车,未注入时关系方法静默降级) */
|
|
22
27
|
relationStore;
|
|
23
|
-
/** 记忆顾问(sourceHealth + suggest 委托) */
|
|
24
|
-
advisor;
|
|
25
28
|
/**
|
|
26
|
-
*
|
|
29
|
+
* FIX-P1-3(2026-07-24):移除 advisor 参数,sourceHealth/suggest 改由
|
|
30
|
+
* Agent 直接委托 MemoryAdvisor(与 detectConflicts 同模式),消除 3 层代理。
|
|
31
|
+
*
|
|
32
|
+
* @param index - 记忆存储(用于读写操作)
|
|
27
33
|
* @param loop - AgentLoop(用于获取工作记忆)
|
|
28
34
|
* @param history - MessageHistory(用于获取当前会话信息)
|
|
29
|
-
* @param
|
|
30
|
-
* @param relationStore - 关系存储侧车(可选,ADR-014,未注入时关系相关方法降级返回空)
|
|
35
|
+
* @param relationStore - 关系存储侧车(可选,ADR-014,未注入时关系方法降级返回空/no-op)
|
|
31
36
|
*/
|
|
32
|
-
constructor(index, loop, history,
|
|
37
|
+
constructor(index, loop, history, relationStore = null) {
|
|
33
38
|
this.index = index;
|
|
34
39
|
this.loop = loop;
|
|
35
40
|
this.history = history;
|
|
36
|
-
// 组合根一致性——advisor 由 assembler.ts 显式注入(必填,不再内部创建)
|
|
37
|
-
this.advisor = advisor;
|
|
38
41
|
this.relationStore = relationStore;
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
@@ -44,15 +47,15 @@ export class MemoryInspector {
|
|
|
44
47
|
this.vectorStore = vs;
|
|
45
48
|
}
|
|
46
49
|
// ─── 只读查询(IMemoryStorage 透传) ───────────────────
|
|
47
|
-
//
|
|
48
|
-
// 本节仅保留查询方法:getById / getBySource / list / listDeleted / getDeletedById。
|
|
50
|
+
// 写操作以 writeXxx 前缀命名,集中在本类末尾的"写操作"section。
|
|
49
51
|
/**
|
|
50
52
|
* 列出回收站中的软删除记忆(只读查询)
|
|
51
53
|
*
|
|
52
|
-
* @param limit
|
|
54
|
+
* @param limit 返回数量上限。`limit <= 0` 或 `undefined` 表示不设上限(返回全部);
|
|
55
|
+
* 正整数 N 表示返回最近 N 条。默认 undefined(全部)。
|
|
53
56
|
* @returns 软删除记忆列表(按 deletedAt 降序)
|
|
54
57
|
*/
|
|
55
|
-
listDeleted(limit
|
|
58
|
+
listDeleted(limit) {
|
|
56
59
|
return this.index.listDeleted(limit);
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
@@ -185,7 +188,7 @@ export class MemoryInspector {
|
|
|
185
188
|
source: m.source,
|
|
186
189
|
score: m.score,
|
|
187
190
|
// 截断长内容到搜索预览长度
|
|
188
|
-
contentPreview: m.content
|
|
191
|
+
contentPreview: truncate(m.content, SEARCH_PREVIEW_LEN),
|
|
189
192
|
createdAt: m.createdAt,
|
|
190
193
|
}));
|
|
191
194
|
}
|
|
@@ -242,7 +245,7 @@ export class MemoryInspector {
|
|
|
242
245
|
source: memory.source,
|
|
243
246
|
score: memory.score,
|
|
244
247
|
similarity: vectorScore,
|
|
245
|
-
contentPreview: memory.content
|
|
248
|
+
contentPreview: truncate(memory.content, SEARCH_PREVIEW_LEN),
|
|
246
249
|
createdAt: memory.createdAt,
|
|
247
250
|
}));
|
|
248
251
|
}
|
|
@@ -294,8 +297,7 @@ export class MemoryInspector {
|
|
|
294
297
|
return [];
|
|
295
298
|
return this.relationStore.getAllRelations();
|
|
296
299
|
}
|
|
297
|
-
//
|
|
298
|
-
// 本类仅保留关系查询:getRelations / getAllRelations / getRelationPath / getRelationNeighbors。
|
|
300
|
+
// 关系写操作以 writeAddRelation / writeRemoveRelation 命名,见本类末尾"写操作"section。
|
|
299
301
|
/**
|
|
300
302
|
* 记忆关系路径追溯(ADR-014 扩展,Phase 5.1)
|
|
301
303
|
*
|
|
@@ -339,8 +341,10 @@ export class MemoryInspector {
|
|
|
339
341
|
continue;
|
|
340
342
|
const relations = this.relationStore.getRelations(current.id, direction);
|
|
341
343
|
for (const rel of relations) {
|
|
342
|
-
// direction
|
|
343
|
-
|
|
344
|
+
// 根据每条边的实际方向判断邻居,不依赖 direction 参数
|
|
345
|
+
// (direction='both' 时返回的边可能 incoming 也可能 outgoing,
|
|
346
|
+
// 旧实现按 direction 取 neighborId 会漏掉 incoming 邻居)
|
|
347
|
+
const neighborId = rel.sourceId === current.id ? rel.targetId : rel.sourceId;
|
|
344
348
|
if (visited.has(neighborId))
|
|
345
349
|
continue;
|
|
346
350
|
visited.add(neighborId);
|
|
@@ -428,27 +432,156 @@ export class MemoryInspector {
|
|
|
428
432
|
return 0;
|
|
429
433
|
return this.relationStore.getAllRelations().length;
|
|
430
434
|
}
|
|
431
|
-
// ─── 源健康诊断 +
|
|
435
|
+
// ─── 源健康诊断 + 关联推荐 ───
|
|
436
|
+
//
|
|
437
|
+
// FIX-P1-3(2026-07-24):sourceHealth() / suggest() 已从此处删除。
|
|
438
|
+
// 调用方应通过 Agent 门面访问:
|
|
439
|
+
// - agent.sourceHealth() → MemoryAdvisor.sourceHealth()
|
|
440
|
+
// - agent.suggest(...) → MemoryAdvisor.suggest(...)
|
|
441
|
+
// 与 detectConflicts 同模式(agent.detectConflicts → advisor.detectConflicts),
|
|
442
|
+
// 消除"inspector 三层纯转发"的设计气味。
|
|
443
|
+
// ─── 写操作(writeXxx 前缀,IMemoryStorage / IMemoryRelationStore 透传) ───
|
|
444
|
+
/**
|
|
445
|
+
* 插入或更新记忆
|
|
446
|
+
*
|
|
447
|
+
* @param memory 完整记忆对象
|
|
448
|
+
*/
|
|
449
|
+
writeUpsert(memory) {
|
|
450
|
+
this.index.upsert(memory);
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* 提升记忆的 score(L2 采纳反哺内核)
|
|
454
|
+
*
|
|
455
|
+
* 用户在补全模块采纳某条候选后,通过 IPC 调用此方法反哺到内核 Memory.score。
|
|
456
|
+
* 与 recall.ts 的 boostScore 路径语义一致("越常用越重要"),但触发源不同:
|
|
457
|
+
* - recall.ts boostScore:召回时触发(被动)
|
|
458
|
+
* - writeBoost:用户主动采纳时触发(主动)
|
|
459
|
+
*
|
|
460
|
+
* 设计原则:
|
|
461
|
+
* - score 上限 1.0(与 recall.ts SCORE_CEILING 一致)
|
|
462
|
+
* - 同步更新 accessedAt,避免被衰减机制误降级
|
|
463
|
+
* - 记忆不存在时静默返回 false(补全候选可能来自对话历史,无对应记忆)
|
|
464
|
+
*
|
|
465
|
+
* @param id 记忆唯一标识(${source}:${name} 格式)
|
|
466
|
+
* @param increment score 提升量(默认 0.05,与 recall.ts BOOST_INCREMENT 一致)
|
|
467
|
+
* @returns 是否成功提升(记忆不存在时返回 false)
|
|
468
|
+
*/
|
|
469
|
+
writeBoost(id, increment = BOOST_INCREMENT) {
|
|
470
|
+
// MIND2-L3:改用 incrementScore 原子操作,消除 read-modify-write 并发冲突
|
|
471
|
+
// 原 getById → spread → boostScore → upsert 四步合并为存储层一条原子更新
|
|
472
|
+
return this.index.incrementScore(id, increment, nowIso());
|
|
473
|
+
}
|
|
432
474
|
/**
|
|
433
|
-
*
|
|
475
|
+
* 软删除记忆(写入 deletedAt)
|
|
434
476
|
*
|
|
435
|
-
*
|
|
436
|
-
* 实现已迁移至 MemoryAdvisor,此处保留委托以维持 API 契约。
|
|
477
|
+
* @param id 记忆唯一标识(${source}:${name} 格式)
|
|
437
478
|
*/
|
|
438
|
-
|
|
439
|
-
|
|
479
|
+
writeDelete(id) {
|
|
480
|
+
this.index.delete(id);
|
|
440
481
|
}
|
|
441
482
|
/**
|
|
442
|
-
*
|
|
483
|
+
* 恢复软删除的记忆(清除 deletedAt)
|
|
484
|
+
*
|
|
485
|
+
* @param id 记忆唯一标识
|
|
486
|
+
*/
|
|
487
|
+
writeRestore(id) {
|
|
488
|
+
this.index.restore(id);
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* 物理删除记忆(不可恢复,用于回收站彻底删除)
|
|
492
|
+
*
|
|
493
|
+
* @param id 记忆唯一标识
|
|
494
|
+
*/
|
|
495
|
+
writePurge(id) {
|
|
496
|
+
this.index.purge(id);
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* 清理过期的软删除记忆(FIX-P0-2:统一编排关系清理)
|
|
500
|
+
*
|
|
501
|
+
* 物理删除所有 deletedAt 早于 before 的记忆,并同步清理这些记忆的关系边。
|
|
502
|
+
* 由宿主项目的定时器调用(默认 30 天保留期)。
|
|
503
|
+
*
|
|
504
|
+
* FIX-P0-2 修复说明:
|
|
505
|
+
* 原实现仅调用 `index.purgeExpired(before)` 物理删除记忆,不清理 memory_relations
|
|
506
|
+
* 表中的关系边,导致孤儿边残留。手动 purge 路径会清理关系,但自动清理路径遗漏。
|
|
507
|
+
* 本方法是统一协调点(已持有 relationStore 引用),先查询待清理记忆 → 逐个清理关系边
|
|
508
|
+
* → 再物理删除记忆,保证两侧数据一致。
|
|
443
509
|
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
510
|
+
* 容错策略:
|
|
511
|
+
* - relationStore 未注入时跳过关系清理,仅物理删除记忆(向后兼容)
|
|
512
|
+
* - 单条关系清理失败不阻塞整体流程,记录 warn 日志后继续
|
|
446
513
|
*
|
|
447
|
-
* @param
|
|
448
|
-
* @
|
|
514
|
+
* @param before 时间阈值,deletedAt 早于此值的记忆将被物理删除
|
|
515
|
+
* @returns 被清理的记忆数量
|
|
449
516
|
*/
|
|
450
|
-
|
|
451
|
-
|
|
517
|
+
writePurgeExpired(before) {
|
|
518
|
+
// 1. 先查询待清理的软删除记忆(listDeleted 不传 limit = 全部)
|
|
519
|
+
// 用 before 时间戳过滤,避免清理未过期的记忆
|
|
520
|
+
const beforeMs = before.getTime();
|
|
521
|
+
const candidates = this.index
|
|
522
|
+
.listDeleted()
|
|
523
|
+
.filter((m) => m.deletedAt && new Date(m.deletedAt).getTime() < beforeMs);
|
|
524
|
+
// 2. 关系清理:在物理删除前移除关系边,防止 memory_relations 残留孤儿边
|
|
525
|
+
// relationStore 未注入时跳过(ADR-014 降级优先)
|
|
526
|
+
if (this.relationStore && candidates.length > 0) {
|
|
527
|
+
for (const m of candidates) {
|
|
528
|
+
try {
|
|
529
|
+
const removed = this.relationStore.removeRelationsByMemoryId(m.id);
|
|
530
|
+
if (removed > 0) {
|
|
531
|
+
logger.debug({ memoryId: m.id, removedRelations: removed }, '自动清理过期记忆时清理了关系边');
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
catch (err) {
|
|
535
|
+
// 单条关系清理失败不阻塞整体流程,记忆仍会被物理删除
|
|
536
|
+
// 孤儿边比记忆残留更可控(后续可由关系图谱治理任务清理)
|
|
537
|
+
logger.warn({ err, memoryId: m.id }, '清理过期记忆的关系边失败,可能残留孤儿边');
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
// 3. 物理删除记忆(IMemoryStorage.purgeExpired 返回被清理的数量)
|
|
542
|
+
return this.index.purgeExpired(before);
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* 添加记忆关系(透传 relationStore)
|
|
546
|
+
*
|
|
547
|
+
* 用于宿主 UI 手动创建关系(关系图右键菜单 → 连线 → 创建关系)。
|
|
548
|
+
* relationStore 未注入时静默降级(不阻塞)。
|
|
549
|
+
*
|
|
550
|
+
* @param relation 关系边数据
|
|
551
|
+
*/
|
|
552
|
+
writeAddRelation(relation) {
|
|
553
|
+
if (!this.relationStore)
|
|
554
|
+
return;
|
|
555
|
+
this.relationStore.addRelation(relation);
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* 删除记忆关系(透传 relationStore)
|
|
559
|
+
*
|
|
560
|
+
* 用于宿主 UI 手动删除关系(关系图右键菜单 → 编辑关系 → 删除)。
|
|
561
|
+
* relationStore 未注入时静默降级(不阻塞)。
|
|
562
|
+
*
|
|
563
|
+
* @param sourceId 关系起点
|
|
564
|
+
* @param targetId 关系终点
|
|
565
|
+
* @param type 关系类型
|
|
566
|
+
*/
|
|
567
|
+
writeRemoveRelation(sourceId, targetId, type) {
|
|
568
|
+
if (!this.relationStore)
|
|
569
|
+
return;
|
|
570
|
+
this.relationStore.removeRelation(sourceId, targetId, type);
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* 删除某记忆的所有关系边(透传 relationStore)
|
|
574
|
+
*
|
|
575
|
+
* 用于记忆软删除/物理删除场景,防止 memory_relations 表残留孤儿边。
|
|
576
|
+
* relationStore 未注入时静默降级(不阻塞记忆删除主流程)。
|
|
577
|
+
*
|
|
578
|
+
* @param memoryId 记忆 ID
|
|
579
|
+
* @returns 被删除的关系数量(relationStore 未注入时返回 0)
|
|
580
|
+
*/
|
|
581
|
+
writeRemoveRelationsByMemoryId(memoryId) {
|
|
582
|
+
if (!this.relationStore)
|
|
583
|
+
return 0;
|
|
584
|
+
return this.relationStore.removeRelationsByMemoryId(memoryId);
|
|
452
585
|
}
|
|
453
586
|
}
|
|
454
587
|
//# sourceMappingURL=memoryInspector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryInspector.js","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memoryInspector.js","sourceRoot":"","sources":["../../../src/agent/managers/memoryInspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 关系构建器 — ADR-014 记忆关系构建的专职 Manager
|
|
3
3
|
*
|
|
4
|
-
* 从 InsightExtractor
|
|
4
|
+
* 从 InsightExtractor 拆分出来,负责:
|
|
5
5
|
* - 召回关系判断候选记忆(top-5 关键词搜索)
|
|
6
6
|
* - 构建关系判断 prompt 片段(候选列表 + 关系类型说明)
|
|
7
7
|
* - 解析 LLM 输出的 relations 字段并写入 IMemoryRelationStore
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
* - 静默降级——relationStore 未注入时所有方法返回空/no-op(ADR-014 降级优先)
|
|
13
13
|
* - 薄层代理——关系写入直接透传到 IMemoryRelationStore,仅增加 weight 推断 + targetId 校验
|
|
14
14
|
*
|
|
15
|
-
* 与 InsightExtractor 的分工(
|
|
15
|
+
* 与 InsightExtractor 的分工(1.0 接口稳定化):
|
|
16
16
|
* - InsightExtractor:insight 提取 + 去重 + 写入 + 输入分类
|
|
17
17
|
* - RelationBuilder:候选召回 + prompt 构建 + 关系写入 + 冲突检测
|
|
18
18
|
*
|
|
19
|
-
* 详见 ADR-014
|
|
19
|
+
* 详见 ADR-014(记忆关系侧车模型)
|
|
20
20
|
*/
|
|
21
21
|
import type { Memory } from '../../memory/types.js';
|
|
22
22
|
import type { IMemoryStorage } from '../../memory/storageInterface.js';
|
|
@@ -40,7 +40,7 @@ export interface ConflictInfo {
|
|
|
40
40
|
/**
|
|
41
41
|
* 关系构建器
|
|
42
42
|
*
|
|
43
|
-
* 封装 ADR-014 记忆关系构建的全部逻辑,从 InsightExtractor
|
|
43
|
+
* 封装 ADR-014 记忆关系构建的全部逻辑,从 InsightExtractor 拆分。
|
|
44
44
|
* relationStore 未注入时所有方法静默降级(返回空/no-op)。
|
|
45
45
|
*/
|
|
46
46
|
export declare class RelationBuilder {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationBuilder.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/relationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"relationBuilder.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/relationBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAetE;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;;;GAKG;AACH,qBAAa,eAAe;IASxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAThC,+DAA+D;IAC/D,OAAO,CAAC,UAAU,CAA+C;IAEjE;;;OAGG;gBAEgB,KAAK,EAAE,cAAc,EACrB,aAAa,GAAE,oBAAoB,GAAG,IAAW;IAGpE,yCAAyC;IACzC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAM/D;;;;;;;;;OASG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAMrD;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM;IAWnD;;;;;;;OAOG;IACH,oBAAoB,IAAI,MAAM;IAqB9B;;;;;;;;;;;;;OAaG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,EACxD,UAAU,EAAE,MAAM,EAAE,GACnB,IAAI;IA4CP;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;CAYrB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { RELATION_WEIGHTS } from '../../memory/types.js';
|
|
2
|
-
import {
|
|
2
|
+
import { escapeLikeSnippet } from '../../memory/sourceValidation.js';
|
|
3
3
|
import { logger } from '../../logging/logger.js';
|
|
4
4
|
import { nowIso } from '../../utils/time.js';
|
|
5
|
+
import { truncate } from '../../utils/strings.js';
|
|
5
6
|
// ─── 常量 ────────────────────────────────────────────────
|
|
6
7
|
/** 关系判断:召回候选记忆数量上限(top-5) */
|
|
7
8
|
const RELATION_CANDIDATE_LIMIT = 5;
|
|
@@ -11,7 +12,7 @@ const RELATION_CANDIDATE_CONTENT_LIMIT = 100;
|
|
|
11
12
|
/**
|
|
12
13
|
* 关系构建器
|
|
13
14
|
*
|
|
14
|
-
* 封装 ADR-014 记忆关系构建的全部逻辑,从 InsightExtractor
|
|
15
|
+
* 封装 ADR-014 记忆关系构建的全部逻辑,从 InsightExtractor 拆分。
|
|
15
16
|
* relationStore 未注入时所有方法静默降级(返回空/no-op)。
|
|
16
17
|
*/
|
|
17
18
|
export class RelationBuilder {
|
|
@@ -57,7 +58,7 @@ export class RelationBuilder {
|
|
|
57
58
|
recallRelationCandidates(userInput) {
|
|
58
59
|
if (!this.relationStore)
|
|
59
60
|
return [];
|
|
60
|
-
const snippet =
|
|
61
|
+
const snippet = escapeLikeSnippet(userInput);
|
|
61
62
|
return this.index.search(snippet, RELATION_CANDIDATE_LIMIT);
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
@@ -76,7 +77,7 @@ export class RelationBuilder {
|
|
|
76
77
|
return '';
|
|
77
78
|
const lines = candidates.map((m, i) => {
|
|
78
79
|
const safeContent = m.content.length > RELATION_CANDIDATE_CONTENT_LIMIT
|
|
79
|
-
? m.content
|
|
80
|
+
? truncate(m.content, RELATION_CANDIDATE_CONTENT_LIMIT)
|
|
80
81
|
: m.content;
|
|
81
82
|
return `[${i + 1}] id: ${m.id}, content: ${safeContent}`;
|
|
82
83
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationBuilder.js","sourceRoot":"","sources":["../../../src/agent/managers/relationBuilder.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"relationBuilder.js","sourceRoot":"","sources":["../../../src/agent/managers/relationBuilder.ts"],"names":[],"mappings":"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"}
|