@zooique/memora 2.0.0 → 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 +233 -58
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +651 -359
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +29 -13
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +79 -44
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +26 -1
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +73 -1
- 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 +58 -14
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +184 -131
- 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/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.map +1 -1
- package/dist/agent/managers/insightExtractor.js +11 -11
- 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 +3 -3
- package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
- package/dist/agent/managers/memoryAdvisor.js +53 -67
- package/dist/agent/managers/memoryAdvisor.js.map +1 -1
- package/dist/agent/managers/memoryDecayScheduler.d.ts +46 -5
- package/dist/agent/managers/memoryDecayScheduler.d.ts.map +1 -1
- package/dist/agent/managers/memoryDecayScheduler.js +127 -63
- 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 +32 -157
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +70 -363
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/relationBuilder.js +2 -2
- package/dist/agent/managers/relationBuilder.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +6 -1
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -1
- package/dist/agent/managers/sessionArchiver.js +19 -22
- package/dist/agent/managers/sessionArchiver.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.map +1 -1
- package/dist/agent/managers/textPolishManager.js +4 -7
- package/dist/agent/managers/textPolishManager.js.map +1 -1
- 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/toolExecutor.d.ts +22 -2
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +28 -3
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/types.d.ts +10 -1
- package/dist/agent/types.d.ts.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 +273 -117
- package/dist/config/loader.js.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/embedding.d.ts +13 -1
- package/dist/llm/embedding.d.ts.map +1 -1
- 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 +2 -9
- 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 +66 -16
- 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 +31 -5
- package/dist/memory/lockManager.js.map +1 -1
- package/dist/memory/projectManager.d.ts +2 -1
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +21 -3
- 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 +99 -22
- 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 +33 -18
- 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 +11 -0
- package/dist/memory/sourceValidation.d.ts.map +1 -1
- package/dist/memory/sourceValidation.js +24 -2
- 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 -22
- 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 +36 -87
- package/dist/persona/personaManager.d.ts.map +1 -1
- package/dist/persona/personaManager.js +131 -230
- 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 -142
- 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/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 +17 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +19 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +83 -6
- 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/segmenter.d.ts +0 -10
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +10 -1
- package/dist/utils/segmenter.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 +39 -22
package/dist/agent/agent.d.ts
CHANGED
|
@@ -13,12 +13,11 @@ import type { TextPolishManager } from '../agent/managers/textPolishManager.js';
|
|
|
13
13
|
import type { ConfigManager } from '../agent/managers/configManager.js';
|
|
14
14
|
import type { WorkProjectionManager } from '../agent/managers/workProjection.js';
|
|
15
15
|
import type { MemoryInspector } from '../agent/managers/memoryInspector.js';
|
|
16
|
-
import type { DedupReport } from '../agent/managers/memoryInspector.js';
|
|
17
|
-
import type { TimelinessReport } from '../agent/managers/memoryDecayScheduler.js';
|
|
18
|
-
import type { ConflictReport } from '../agent/managers/memoryAdvisor.js';
|
|
19
16
|
import { SessionManager, type AgentForkResult } from '../agent/managers/sessionManager.js';
|
|
17
|
+
import { MemoryGovernance } from '../agent/managers/memoryGovernance.js';
|
|
18
|
+
import { type ArchiveTriggerOptions } from '../agent/managers/archiveCoordinator.js';
|
|
20
19
|
import { TypedEventEmitter, type AgentEventMap } from '../utils/eventEmitter.js';
|
|
21
|
-
import type { LlmProvider } from '../llm/provider.js';
|
|
20
|
+
import type { LlmProvider, Message } from '../llm/provider.js';
|
|
22
21
|
import type { Memory } from '../memory/types.js';
|
|
23
22
|
import type { AgentMetrics } from '../agent/tracer.js';
|
|
24
23
|
/**
|
|
@@ -26,7 +25,7 @@ import type { AgentMetrics } from '../agent/tracer.js';
|
|
|
26
25
|
*
|
|
27
26
|
* **设计哲学**:单 Agent,单配置,单记忆。每个 Agent 实例拥有独立的
|
|
28
27
|
* 对话管线(AgentLoop)、独立的消息历史(MessageHistory)和独立的
|
|
29
|
-
* 运行时状态(
|
|
28
|
+
* 运行时状态(chatBusy)。activeSkill 已移除——技能匹配改为当轮实时注入,无需跨轮状态缓存。
|
|
30
29
|
*
|
|
31
30
|
* **多实例**:宿主可通过 new Agent({ dataDir: './agent2' }) 创建
|
|
32
31
|
* 独立实例。只要 dataDir 不同,它们拥有完全隔离的记忆库和会话。
|
|
@@ -62,6 +61,23 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
62
61
|
private insightExtractor;
|
|
63
62
|
private configManager;
|
|
64
63
|
private memoryInspector;
|
|
64
|
+
/**
|
|
65
|
+
* 语义去重管理器(L1 LLM 记忆治理)
|
|
66
|
+
*
|
|
67
|
+
* SPLIT-3 闭环(2026-07-21):从 MemoryInspector 拆分出 deduplicateMemories 职责,
|
|
68
|
+
* 让 MemoryInspector 回归纯存储读写。Agent.deduplicateMemories() 委托本对象。
|
|
69
|
+
*/
|
|
70
|
+
private dedupManager;
|
|
71
|
+
/**
|
|
72
|
+
* 记忆顾问(L3 冲突检测 / sourceHealth / suggest)
|
|
73
|
+
*
|
|
74
|
+
* v2 PROXY-1 闭环:Agent.detectConflicts 直接调用 advisor,
|
|
75
|
+
* 不再经 MemoryInspector 转发,消除 3 层无意义代理。
|
|
76
|
+
* sourceHealth/suggest 仍由 inspector 转发以保持 agent.memory 统一入口语义。
|
|
77
|
+
*/
|
|
78
|
+
private memoryAdvisor;
|
|
79
|
+
/** 记忆治理统一门面(L0/L1/L2/L3 + 诊断) */
|
|
80
|
+
private _governance;
|
|
65
81
|
private workProjection;
|
|
66
82
|
/** AutoConfigRefiner(模式 3:Agent 智能总结) */
|
|
67
83
|
private autoConfigRefiner;
|
|
@@ -71,8 +87,6 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
71
87
|
private textPolisher;
|
|
72
88
|
/** 会话管理器(从 Agent 拆分出的会话管理职责) */
|
|
73
89
|
private _sessionManager;
|
|
74
|
-
/** 当前激活的技能名(上一轮匹配,本轮注入) */
|
|
75
|
-
private activeSkill;
|
|
76
90
|
private _initialized;
|
|
77
91
|
private pctx;
|
|
78
92
|
/**
|
|
@@ -82,10 +96,19 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
82
96
|
* 详见 ChatLockManager 类注释。
|
|
83
97
|
*/
|
|
84
98
|
private chatLockManager;
|
|
85
|
-
/** 记忆衰减定时器(已迁移至 MemoryDecayScheduler,此字段保留用于 close 时引用判断) */
|
|
86
|
-
private decayTimer;
|
|
87
99
|
/** 最近一次 chat() 调用的时间戳 */
|
|
88
100
|
private _lastInteractionAt;
|
|
101
|
+
/**
|
|
102
|
+
* 对话进行中暂存的配置重载请求集合(chatLock 释放后补执行)
|
|
103
|
+
*
|
|
104
|
+
* 场景:用户在对话中通过 create_persona / create_skill 工具创建配置,
|
|
105
|
+
* reloadConfig 因 chatLock 冲突失败时,将 source 暂存于此。
|
|
106
|
+
* chat() 的 finally 块释放锁后遍历此集合逐个补执行 reloadConfig,
|
|
107
|
+
* 兑现"对话结束后自动加载"的承诺(见 tools.ts createConfigHandler 提示文案)。
|
|
108
|
+
*
|
|
109
|
+
* 用 Set 而非数组:同一 source 多次请求只需补执行一次(去重)。
|
|
110
|
+
*/
|
|
111
|
+
private pendingConfigReload;
|
|
89
112
|
/** 记忆衰减调度器(init 时创建,close 时销毁) */
|
|
90
113
|
private memoryDecayScheduler;
|
|
91
114
|
/** 归档协调器(归档操作委托给 ArchiveCoordinator) */
|
|
@@ -95,10 +118,47 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
95
118
|
* 初始化 Agent:加载索引、组装内部组件
|
|
96
119
|
*/
|
|
97
120
|
init(projectPathOverride?: string): Promise<ProjectContext>;
|
|
121
|
+
/**
|
|
122
|
+
* 关闭旧实例(如果已初始化),失败不阻塞重建
|
|
123
|
+
*/
|
|
124
|
+
private disposePreviousInstance;
|
|
125
|
+
/**
|
|
126
|
+
* 创建 ProjectManager 并初始化项目上下文
|
|
127
|
+
*/
|
|
128
|
+
private initializeProject;
|
|
129
|
+
/**
|
|
130
|
+
* 校验核心组件(loop / history)非空
|
|
131
|
+
*/
|
|
132
|
+
private validateCoreComponents;
|
|
133
|
+
/**
|
|
134
|
+
* 创建 init() 后期组件(初始化完成后才需要的组件)
|
|
135
|
+
*/
|
|
136
|
+
private createPostInitComponents;
|
|
98
137
|
/**
|
|
99
138
|
* 流式对话(核心 API)
|
|
100
139
|
*/
|
|
101
140
|
chat(input: string, signal?: AbortSignal): AsyncGenerator<AgentChunk, void, unknown>;
|
|
141
|
+
/**
|
|
142
|
+
* 校验 chat 输入
|
|
143
|
+
*/
|
|
144
|
+
private validateChatInput;
|
|
145
|
+
/**
|
|
146
|
+
* 获取对话锁 — 返回锁上下文
|
|
147
|
+
*/
|
|
148
|
+
private acquireChatLock;
|
|
149
|
+
/**
|
|
150
|
+
* 准备对话上下文:角色匹配 → 记忆召回 → 技能注入 → 用户消息写历史
|
|
151
|
+
* @returns 召回的记忆列表(供 loop.processUserInput 注入为 system 消息)
|
|
152
|
+
*/
|
|
153
|
+
private prepareChatContext;
|
|
154
|
+
/**
|
|
155
|
+
* 执行 LLM 流式循环 → 追加助手消息 → 触发后处理
|
|
156
|
+
*/
|
|
157
|
+
private executeChatLoop;
|
|
158
|
+
/**
|
|
159
|
+
* 补执行对话期间暂存的配置重载请求
|
|
160
|
+
*/
|
|
161
|
+
private flushPendingConfigReload;
|
|
102
162
|
/**
|
|
103
163
|
* 强制释放对话锁
|
|
104
164
|
*
|
|
@@ -137,9 +197,19 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
137
197
|
*/
|
|
138
198
|
private recallAndInject;
|
|
139
199
|
/**
|
|
140
|
-
*
|
|
200
|
+
* 匹配技能并立即注入本轮对话(当轮生效,不延迟到下一轮)
|
|
201
|
+
*
|
|
202
|
+
* 与 persona 的 tryAutoMatchPersona 同模式:匹配 → 注入 → 本轮 LLM 即生效。
|
|
203
|
+
* 原设计为 injectActiveSkill(注入上一轮匹配结果),导致用户说"写代码"的第一轮
|
|
204
|
+
* 得不到技能增强,需再发一条消息才生效。已改为实时匹配注入。
|
|
205
|
+
*
|
|
206
|
+
* 匹配策略:regex trigger 优先(score=1.0),其次关键词匹配(阈值 0.3)。
|
|
207
|
+
* 清理机制:cleanTemporarySystemMessages() 每轮开头清除临时 system 消息,
|
|
208
|
+
* 技能 prompt 自然不会累积到下一轮。
|
|
209
|
+
*
|
|
210
|
+
* @param input 用户输入文本
|
|
141
211
|
*/
|
|
142
|
-
private
|
|
212
|
+
private matchAndInjectSkill;
|
|
143
213
|
/**
|
|
144
214
|
* 对话后处理:用户画像归档、角色匹配、技能匹配、Insight 提取
|
|
145
215
|
*
|
|
@@ -159,7 +229,7 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
159
229
|
*
|
|
160
230
|
* 原 postProcess 逻辑完整保留于此,由外层 postProcess 负责 span 生命周期管理。
|
|
161
231
|
*/
|
|
162
|
-
private
|
|
232
|
+
private doPostProcess;
|
|
163
233
|
/**
|
|
164
234
|
* 发送用户消息,非流式返回完整回复
|
|
165
235
|
*/
|
|
@@ -214,44 +284,137 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
214
284
|
* 宿主 UI(如设置面板)可据此同步显示当前模式。
|
|
215
285
|
*/
|
|
216
286
|
getArchiveMode(): ArchiveMode;
|
|
287
|
+
/**
|
|
288
|
+
* 手动切换角色(宿主 UI 角色选择器入口)
|
|
289
|
+
*
|
|
290
|
+
* 与 doPostProcess 中的自动匹配走同一条事件链路,确保:
|
|
291
|
+
* 1. AgentLoop 的 systemPromptPrefix 立即刷新(下一次对话使用新角色 prompt)
|
|
292
|
+
* 2. 发射 personaSwitched 事件,触发 spriteLifecycleManager 的完整副作用:
|
|
293
|
+
* - emit('personaChanged') 通知宿主 UI
|
|
294
|
+
* - proactiveEngine.addNotice('persona', ...) 记录通知
|
|
295
|
+
* - perceptionCoordinator.refreshBeforeChat() 基于新角色 traits 重新推导情感基调
|
|
296
|
+
*
|
|
297
|
+
* 对话进行中切换角色会破坏当前 system prompt,与项目切换一致拒绝。
|
|
298
|
+
*
|
|
299
|
+
* @param name 目标角色名
|
|
300
|
+
* @returns 切换成功返回新角色的 system prompt 段;角色不存在或切换失败返回 null
|
|
301
|
+
*/
|
|
302
|
+
switchPersona(name: string): string | null;
|
|
303
|
+
/**
|
|
304
|
+
* 获取角色切换锁定状态(透传 PersonaManager,P0-2 用户体验打磨)
|
|
305
|
+
*
|
|
306
|
+
* 与 switchPersona 分离:switchPersona 仍返回 string | null 不变,
|
|
307
|
+
* 锁定原因查询走独立路径,避免破坏既有契约(cli.ts、sprite.test.ts 等消费者无感)。
|
|
308
|
+
*
|
|
309
|
+
* 宿主 IPC 层调用此方法前置判断锁定状态,区分"切换失败"原因
|
|
310
|
+
* (locked / busy / not_found / invalid),让用户知道为什么没反应。
|
|
311
|
+
*
|
|
312
|
+
* @returns locked 是否处于锁定状态;unlockAt 锁定自动恢复时间戳(ms epoch),未锁定时为 null
|
|
313
|
+
*/
|
|
314
|
+
getPersonaSwitchLockStatus(): {
|
|
315
|
+
locked: boolean;
|
|
316
|
+
unlockAt: number | null;
|
|
317
|
+
};
|
|
318
|
+
/**
|
|
319
|
+
* 刷新 AgentLoop 的 systemPromptPrefix(角色 prompt + profile prompt)
|
|
320
|
+
*
|
|
321
|
+
* 提取自 doPostProcess 自动匹配 + switchPersona 手动切换两处共用逻辑(ADR-017 枝叶层 2 次提取)。
|
|
322
|
+
* 组装规则:[personaPrompt, profilePrompt].filter(Boolean).join('\n\n') + 末尾分隔符 '---'
|
|
323
|
+
*
|
|
324
|
+
* 调用时机:
|
|
325
|
+
* - tryAutoMatchPersona 中角色自动匹配成功后(chat() 回答前)
|
|
326
|
+
* - switchPersona 手动切换成功后
|
|
327
|
+
* - loop 为 null 时静默跳过(init 前或 close 后的边界场景)
|
|
328
|
+
*/
|
|
329
|
+
private refreshPersonaPrefixOnLoop;
|
|
330
|
+
/**
|
|
331
|
+
* 角色自动匹配(best-effort:失败不阻塞对话流程)
|
|
332
|
+
*
|
|
333
|
+
* 在 chat() 回答前执行,确保本轮 LLM 调用就用匹配到的角色 system prompt。
|
|
334
|
+
* 两层匹配策略:关键词高置信度 → LLM 辅助(低置信度且 backgroundProvider 已注入时)。
|
|
335
|
+
* LLM 辅助匹配在 agent 层执行,遵循 backend_layers_rules §分层职责(persona/ 不直接调 LLM)。
|
|
336
|
+
*
|
|
337
|
+
* 匹配成功时:切换角色 + 发射 personaSwitched 事件 + 刷新 AgentLoop 前缀。
|
|
338
|
+
* 匹配失败/异常时:静默降级,保持当前角色。
|
|
339
|
+
*
|
|
340
|
+
* @param input 用户输入文本
|
|
341
|
+
*/
|
|
342
|
+
private tryAutoMatchPersona;
|
|
343
|
+
/**
|
|
344
|
+
* 判断是否应回退到默认角色
|
|
345
|
+
*
|
|
346
|
+
* 回退条件(全部满足):
|
|
347
|
+
* 1. 当前激活角色不是默认角色(已在默认角色则无需回退)
|
|
348
|
+
* 2. 角色管理器存在且非锁定状态(锁定时 switchPersona 也会被拦截,回退无意义)
|
|
349
|
+
*
|
|
350
|
+
* 注意:bgProvider 未配置时也会触发回退——因为关键词 + LLM 均未命中说明当前角色不匹配本轮对话,
|
|
351
|
+
* 回退默认角色比卡在错误角色上更合理。
|
|
352
|
+
*
|
|
353
|
+
* @returns 是否应回退到默认角色
|
|
354
|
+
*/
|
|
355
|
+
private shouldFallbackToDefault;
|
|
217
356
|
/**
|
|
218
357
|
* 手动触发 profile facts 归档(manual 模式下使用)
|
|
219
358
|
*
|
|
220
359
|
* manual 模式下 postProcess 跳过自动归档,用户需通过此 API 主动归档。
|
|
221
360
|
* full / insights-only 模式下也可调用(会重复归档,但不推荐)。
|
|
222
361
|
*
|
|
362
|
+
* FIX-P1-4:新增 options 参数透传给 ArchiveCoordinator。
|
|
363
|
+
* 宿主自动触发时传 `{ autoTriggered: true }`,由 ArchiveCoordinator 内部按模式判断;
|
|
364
|
+
* 用户手动触发时无需传 options(默认 autoTriggered=false,无条件执行)。
|
|
365
|
+
*
|
|
223
366
|
* 归档逻辑已委托给 ArchiveCoordinator
|
|
224
367
|
*
|
|
225
368
|
* @param input 本轮用户输入
|
|
369
|
+
* @param options 触发选项(autoTriggered 默认 false,即手动触发)
|
|
226
370
|
* @returns 写入/更新的 UserProfileEntry 列表
|
|
227
371
|
*/
|
|
228
|
-
archiveProfileFacts(input: string): Promise<UserProfileEntry[]>;
|
|
372
|
+
archiveProfileFacts(input: string, options?: ArchiveTriggerOptions): Promise<UserProfileEntry[]>;
|
|
229
373
|
/**
|
|
230
374
|
* 手动触发 insight 提取(manual 模式下使用)
|
|
231
375
|
*
|
|
232
376
|
* manual 模式下 postProcess 跳过自动归档,用户需通过此 API 主动归档。
|
|
233
377
|
* 内部仍走 classify 判断(避免无价值输入浪费 LLM 调用)。
|
|
234
378
|
*
|
|
379
|
+
* FIX-P1-4:新增 options 参数透传给 ArchiveCoordinator。
|
|
380
|
+
* 宿主自动触发时传 `{ autoTriggered: true }`,由 ArchiveCoordinator 内部按模式判断;
|
|
381
|
+
* 用户手动触发时无需传 options(默认 autoTriggered=false,无条件执行)。
|
|
382
|
+
*
|
|
235
383
|
* 归档逻辑已委托给 ArchiveCoordinator
|
|
236
384
|
*
|
|
237
385
|
* @param input 本轮用户输入
|
|
238
386
|
* @param assistantContent 本轮助手回复内容
|
|
387
|
+
* @param options 触发选项(autoTriggered 默认 false,即手动触发)
|
|
239
388
|
* @returns 写入/更新的 Memory 列表
|
|
240
389
|
*/
|
|
241
|
-
archiveInsight(input: string, assistantContent: string): Promise<Memory[]>;
|
|
390
|
+
archiveInsight(input: string, assistantContent: string, options?: ArchiveTriggerOptions): Promise<Memory[]>;
|
|
242
391
|
/**
|
|
243
392
|
* 手动归档会话内容(content 类记忆)
|
|
244
393
|
*
|
|
245
394
|
* 适用于 `insights-only` / `manual` 模式下用户手动触发会话内容归档。
|
|
246
395
|
* `full` 模式下由宿主在会话切换前自动调用,无需用户干预。
|
|
247
396
|
*
|
|
397
|
+
* FIX-P1-4:新增 options 参数透传给 ArchiveCoordinator。
|
|
398
|
+
* 宿主自动触发时传 `{ autoTriggered: true }`,由 ArchiveCoordinator 内部按模式判断;
|
|
399
|
+
* 用户手动触发时无需传 options(默认 autoTriggered=false,无条件执行)。
|
|
400
|
+
*
|
|
248
401
|
* 归档逻辑已委托给 ArchiveCoordinator
|
|
249
402
|
*
|
|
250
403
|
* @param date 会话日期 YYYY-MM-DD
|
|
251
404
|
* @param session 会话标识(不含日期前缀)
|
|
405
|
+
* @param options 触发选项(autoTriggered 默认 false,即手动触发)
|
|
252
406
|
* @returns 归档结果(memories 可能为空,表示无归档价值或 LLM 失败)
|
|
253
407
|
*/
|
|
254
|
-
archiveSessionContent(date: string, session: string): Promise<SessionArchiveResult>;
|
|
408
|
+
archiveSessionContent(date: string, session: string, options?: ArchiveTriggerOptions): Promise<SessionArchiveResult>;
|
|
409
|
+
/**
|
|
410
|
+
* 获取 pending 归档队列长度(MIND2-C3)
|
|
411
|
+
*
|
|
412
|
+
* 返回待重试的失败归档数。归档失败时输入入队,下次同阶段归档调用时自动重试。
|
|
413
|
+
* 供宿主 UI 展示"N 条待补归档"提示,或判断是否需要手动触发重试。
|
|
414
|
+
*
|
|
415
|
+
* @returns pending 队列长度(0 表示无待补)
|
|
416
|
+
*/
|
|
417
|
+
getPendingArchiveCount(): number;
|
|
255
418
|
/**
|
|
256
419
|
* 重载配置类记忆:从 configDir 重新扫描指定 source 的配置文件并更新内存缓存 + SQLite 索引
|
|
257
420
|
*
|
|
@@ -261,7 +424,7 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
261
424
|
* 支持的 source:
|
|
262
425
|
* - 'skill' → SkillManager.reload() 清空缓存重新扫描 skills/ 目录
|
|
263
426
|
* - 'persona' → PersonaManager.reload() 清空缓存重新扫描 personas/ 目录(保持激活角色)
|
|
264
|
-
* - 'rule' → 无操作(rule
|
|
427
|
+
* - 'rule' → 无操作(rule 类型由 ConfigManager CRUD 即时同步 bootstrap 段,详见 deleteRule/updateRule)
|
|
265
428
|
* - 'guardrail' → 抛错(guardrail 是 AgentLoop 的 readonly 数组,需 rebuildComponents 才能重载)
|
|
266
429
|
* - undefined → 重载 skill + persona(全量重载,不含 guardrail)
|
|
267
430
|
*
|
|
@@ -286,6 +449,33 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
286
449
|
* @param requires 需要检查的组件列表
|
|
287
450
|
*/
|
|
288
451
|
private assertInitialized;
|
|
452
|
+
/**
|
|
453
|
+
* 断言对话未进行中 — 统一守卫,避免在 chat() 进行中执行会破坏状态一致性的操作
|
|
454
|
+
*
|
|
455
|
+
* 提取原因:switchProject / setProvider / setBackgroundProvider / setArchiveMode /
|
|
456
|
+
* switchPersona / rebuildComponents 等 6 处方法均有相同的 `if (isBusy) throw chatBusyError('XXX')` 守卫,
|
|
457
|
+
* 违反 DRY 原则(v2 神木回天 REPEAT-4 闭环)。
|
|
458
|
+
*
|
|
459
|
+
* 注意:reloadConfig 不使用本方法——它在 isBusy 时需暂存 source 而非直接抛错。
|
|
460
|
+
*
|
|
461
|
+
* @param operation 操作名称(用于错误消息,如 "切换项目")
|
|
462
|
+
*/
|
|
463
|
+
private assertNotBusy;
|
|
464
|
+
/**
|
|
465
|
+
* 断言 getter:获取 loop,若 null 则抛出明确错误
|
|
466
|
+
* 替代 `this.loop!` 非空断言,提供更好的重构安全性
|
|
467
|
+
*/
|
|
468
|
+
private get requireLoop();
|
|
469
|
+
/**
|
|
470
|
+
* 断言 getter:获取 history,若 null 则抛出明确错误
|
|
471
|
+
*/
|
|
472
|
+
private get requireHistory();
|
|
473
|
+
/**
|
|
474
|
+
* 断言 getter:获取 pctx,若 null 则抛出明确错误
|
|
475
|
+
*/
|
|
476
|
+
private get requirePctx();
|
|
477
|
+
private get requireArchiveCoordinator();
|
|
478
|
+
private get requireSessionManager();
|
|
289
479
|
/**
|
|
290
480
|
* 关闭 Agent,释放 SQLite 连接等资源
|
|
291
481
|
*/
|
|
@@ -299,7 +489,22 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
299
489
|
private nullifyAllComponents;
|
|
300
490
|
get initialized(): boolean;
|
|
301
491
|
get context(): AgentContext | null;
|
|
492
|
+
/**
|
|
493
|
+
* @deprecated 直接暴露 AgentLoop 破坏封装,将在下一主版本移除。
|
|
494
|
+
* 使用 getMessages() / getMessageCount() 等有界接口替代。
|
|
495
|
+
*/
|
|
302
496
|
get agentLoop(): AgentLoop | null;
|
|
497
|
+
/**
|
|
498
|
+
* 获取当前消息列表(只读副本,不可绕过 Agent 编排链路直接修改)
|
|
499
|
+
*/
|
|
500
|
+
getMessages(): readonly Message[];
|
|
501
|
+
/** 获取当前消息数量 */
|
|
502
|
+
getMessageCount(): number;
|
|
503
|
+
/**
|
|
504
|
+
* @deprecated 直接暴露 MessageHistory 破坏封装,将在下一主版本移除。
|
|
505
|
+
* 使用 Agent 的对话管理方法(chat/chatSync/forkSession)替代直接操作。
|
|
506
|
+
*/
|
|
507
|
+
get agentHistory(): MessageHistory | null;
|
|
303
508
|
/**
|
|
304
509
|
* 注入情感基调到 system prompt(Phase 2.1:AffectController)
|
|
305
510
|
*
|
|
@@ -309,10 +514,21 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
309
514
|
* @param affectString 情感描述文本,传空字符串清除注入
|
|
310
515
|
*/
|
|
311
516
|
injectAffect(affectString: string): void;
|
|
312
|
-
get agentHistory(): MessageHistory | null;
|
|
313
517
|
get provider(): LlmProvider;
|
|
314
518
|
get isBusy(): boolean;
|
|
315
519
|
get lastInteractionAt(): Date | null;
|
|
520
|
+
/**
|
|
521
|
+
* 记忆治理统一门面(L0 衰减 / L1 去重 / L2 时效性 / L3 冲突 / 诊断 / 推荐)
|
|
522
|
+
*
|
|
523
|
+
* 统一入口替代散落在 Agent 上的 6 个独立方法:
|
|
524
|
+
* agent.governance.decay() → 原 runMemoryDecayOnce()
|
|
525
|
+
* agent.governance.deduplicate() → 原 deduplicateMemories()
|
|
526
|
+
* agent.governance.evaluateTimeliness() → 原 evaluateTimeliness()
|
|
527
|
+
* agent.governance.detectConflicts() → 原 detectConflicts()
|
|
528
|
+
* agent.governance.sourceHealth() → 原 sourceHealth()
|
|
529
|
+
* agent.governance.suggest() → 原 suggest()
|
|
530
|
+
*/
|
|
531
|
+
get governance(): MemoryGovernance | null;
|
|
316
532
|
/**
|
|
317
533
|
* 获取 Agent 运行时指标快照(可观测性增强)
|
|
318
534
|
*
|
|
@@ -367,47 +583,6 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
367
583
|
* 宿主项目常用模式:`const mem = agent.memory; if (!mem) return [];`
|
|
368
584
|
*/
|
|
369
585
|
get memory(): MemoryInspector | null;
|
|
370
|
-
/**
|
|
371
|
-
* L1 语义去重(委托 MemoryInspector.deduplicateMemories)
|
|
372
|
-
*
|
|
373
|
-
* 扫描名称相似的记忆对,调用 LLM 判断语义等价,降级低分记忆(score→0.1,不物理删除)。
|
|
374
|
-
* backgroundProvider 未注入或 Agent 未初始化时返回 skippedReason 报告,不抛错。
|
|
375
|
-
*
|
|
376
|
-
* @param signal 可选的 AbortSignal(取消进行中的 LLM 判断)
|
|
377
|
-
* @returns 去重报告(扫描数 / 降级 ID 列表 / 跳过原因)
|
|
378
|
-
*/
|
|
379
|
-
deduplicateMemories(signal?: AbortSignal): Promise<DedupReport>;
|
|
380
|
-
/**
|
|
381
|
-
* L2 时效性评估(委托 MemoryDecayScheduler.evaluateTimeliness)
|
|
382
|
-
*
|
|
383
|
-
* 扫描低分记忆(score<0.3),调用 LLM 判断是否过时,降级过时记忆(score→0.05)。
|
|
384
|
-
* backgroundProvider 未注入或 Agent 未初始化时返回 skippedReason 报告,不抛错。
|
|
385
|
-
*
|
|
386
|
-
* 使用场景:
|
|
387
|
-
* - G2 自动触发:onDecayCompleted 钩子内 fire-and-forget 调用
|
|
388
|
-
* - 手动触发:宿主 UI 健康度面板"时效性评估"按钮
|
|
389
|
-
*
|
|
390
|
-
* @param signal 可选的 AbortSignal
|
|
391
|
-
* @returns 评估报告(扫描数 / 过时数 / 降级 ID 列表 / 跳过原因)
|
|
392
|
-
*/
|
|
393
|
-
evaluateTimeliness(signal?: AbortSignal): Promise<TimelinessReport>;
|
|
394
|
-
/**
|
|
395
|
-
* 手动触发一次 L0 记忆衰减(委托 MemoryDecayScheduler.runOnce)
|
|
396
|
-
*
|
|
397
|
-
* 执行纯 score 递减(无 LLM 调用),衰减完成后触发 decayCompleted 事件。
|
|
398
|
-
* 供宿主 UI 手动触发(如仪表盘"立即衰减"按钮),与定时器自动触发路径一致。
|
|
399
|
-
*/
|
|
400
|
-
runMemoryDecayOnce(): void;
|
|
401
|
-
/**
|
|
402
|
-
* L3 冲突检测(委托 MemoryAdvisor.detectConflicts)
|
|
403
|
-
*
|
|
404
|
-
* 同 source 内配对,调用 LLM 判断语义冲突,仅检测不修复(需用户决策)。
|
|
405
|
-
* backgroundProvider 未注入或 Agent 未初始化时返回 skippedReason 报告,不抛错。
|
|
406
|
-
*
|
|
407
|
-
* @param signal 可选的 AbortSignal
|
|
408
|
-
* @returns 冲突报告(扫描数 / 冲突数 / 冲突详情列表 / 跳过原因)
|
|
409
|
-
*/
|
|
410
|
-
detectConflicts(signal?: AbortSignal): Promise<ConflictReport>;
|
|
411
586
|
/**
|
|
412
587
|
* 项目管理器(可能为 null)
|
|
413
588
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAmB,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
|