@zooique/memora 0.1.0 → 0.2.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/dist/agent/agent.d.ts +155 -23
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +386 -124
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/assembler.d.ts +8 -2
- package/dist/agent/assembler.d.ts.map +1 -1
- package/dist/agent/assembler.js +17 -6
- package/dist/agent/assembler.js.map +1 -1
- package/dist/agent/builtinToolHandlers.d.ts +1 -1
- package/dist/agent/builtinToolHandlers.d.ts.map +1 -1
- package/dist/agent/builtinToolHandlers.js +5 -3
- package/dist/agent/builtinToolHandlers.js.map +1 -1
- package/dist/agent/builtinTools.d.ts +1 -1
- package/dist/agent/builtinTools.js +2 -2
- package/dist/agent/builtinTools.js.map +1 -1
- package/dist/agent/constants.d.ts +27 -6
- package/dist/agent/constants.d.ts.map +1 -1
- package/dist/agent/constants.js +27 -6
- package/dist/agent/constants.js.map +1 -1
- package/dist/agent/contextManager.d.ts +35 -9
- package/dist/agent/contextManager.d.ts.map +1 -1
- package/dist/agent/contextManager.js +138 -25
- package/dist/agent/contextManager.js.map +1 -1
- package/dist/agent/loop.d.ts +41 -11
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +143 -61
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/managers/archiveCoordinator.d.ts +100 -0
- package/dist/agent/managers/archiveCoordinator.d.ts.map +1 -0
- package/dist/agent/managers/archiveCoordinator.js +127 -0
- package/dist/agent/managers/archiveCoordinator.js.map +1 -0
- package/dist/agent/managers/autoConfigRefiner.d.ts.map +1 -1
- package/dist/agent/managers/autoConfigRefiner.js +1 -1
- package/dist/agent/managers/autoConfigRefiner.js.map +1 -1
- package/dist/agent/managers/configManager.d.ts +13 -2
- package/dist/agent/managers/configManager.d.ts.map +1 -1
- package/dist/agent/managers/configManager.js +13 -5
- package/dist/agent/managers/configManager.js.map +1 -1
- package/dist/agent/managers/insightExtractor.d.ts +36 -3
- package/dist/agent/managers/insightExtractor.d.ts.map +1 -1
- package/dist/agent/managers/insightExtractor.js +48 -11
- package/dist/agent/managers/insightExtractor.js.map +1 -1
- package/dist/agent/managers/memoryAdvisor.d.ts +4 -2
- package/dist/agent/managers/memoryAdvisor.d.ts.map +1 -1
- package/dist/agent/managers/memoryAdvisor.js +6 -4
- package/dist/agent/managers/memoryAdvisor.js.map +1 -1
- package/dist/agent/managers/memoryDecayScheduler.d.ts +113 -0
- package/dist/agent/managers/memoryDecayScheduler.d.ts.map +1 -0
- package/dist/agent/managers/memoryDecayScheduler.js +134 -0
- package/dist/agent/managers/memoryDecayScheduler.js.map +1 -0
- package/dist/agent/managers/memoryInspector.d.ts +70 -10
- package/dist/agent/managers/memoryInspector.d.ts.map +1 -1
- package/dist/agent/managers/memoryInspector.js +97 -23
- package/dist/agent/managers/memoryInspector.js.map +1 -1
- package/dist/agent/managers/sessionArchiver.d.ts +77 -0
- package/dist/agent/managers/sessionArchiver.d.ts.map +1 -0
- package/dist/agent/managers/sessionArchiver.js +175 -0
- package/dist/agent/managers/sessionArchiver.js.map +1 -0
- package/dist/agent/managers/sessionManager.d.ts +10 -0
- package/dist/agent/managers/sessionManager.d.ts.map +1 -1
- package/dist/agent/managers/sessionManager.js +26 -5
- package/dist/agent/managers/sessionManager.js.map +1 -1
- package/dist/agent/managers/workProjection.d.ts +1 -1
- package/dist/agent/managers/workProjection.d.ts.map +1 -1
- package/dist/agent/managers/workProjection.js +13 -10
- package/dist/agent/managers/workProjection.js.map +1 -1
- package/dist/agent/messageHistory.d.ts +1 -22
- package/dist/agent/messageHistory.d.ts.map +1 -1
- package/dist/agent/messageHistory.js +3 -19
- package/dist/agent/messageHistory.js.map +1 -1
- package/dist/agent/toolExecutor.d.ts +5 -18
- package/dist/agent/toolExecutor.d.ts.map +1 -1
- package/dist/agent/toolExecutor.js +7 -7
- package/dist/agent/toolExecutor.js.map +1 -1
- package/dist/agent/tracer.d.ts +8 -1
- package/dist/agent/tracer.d.ts.map +1 -1
- package/dist/agent/tracer.js +8 -1
- package/dist/agent/tracer.js.map +1 -1
- package/dist/agent/types.d.ts +29 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/{managers/userFactExtractor.d.ts → userFactExtractor.d.ts} +2 -2
- package/dist/agent/userFactExtractor.d.ts.map +1 -0
- package/dist/agent/userFactExtractor.js.map +1 -0
- package/dist/config/loader.d.ts +4 -4
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +11 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/eval/evalTypes.js +1 -1
- package/dist/eval/evalTypes.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/llm/embedding.d.ts.map +1 -1
- package/dist/llm/embedding.js +8 -6
- package/dist/llm/embedding.js.map +1 -1
- package/dist/llm/factory.d.ts.map +1 -1
- package/dist/llm/factory.js +2 -1
- package/dist/llm/factory.js.map +1 -1
- package/dist/llm/openaiCompatible.d.ts +9 -0
- package/dist/llm/openaiCompatible.d.ts.map +1 -1
- package/dist/llm/openaiCompatible.js +77 -33
- package/dist/llm/openaiCompatible.js.map +1 -1
- package/dist/llm/provider.d.ts +17 -3
- package/dist/llm/provider.d.ts.map +1 -1
- package/dist/llm/provider.js +6 -2
- package/dist/llm/provider.js.map +1 -1
- package/dist/logging/logger.d.ts.map +1 -1
- package/dist/logging/logger.js +25 -9
- package/dist/logging/logger.js.map +1 -1
- package/dist/memory/hybridMerge.d.ts +54 -0
- package/dist/memory/hybridMerge.d.ts.map +1 -0
- package/dist/memory/hybridMerge.js +36 -0
- package/dist/memory/hybridMerge.js.map +1 -0
- package/dist/memory/inMemoryStorage.d.ts +90 -15
- package/dist/memory/inMemoryStorage.d.ts.map +1 -1
- package/dist/memory/inMemoryStorage.js +179 -28
- package/dist/memory/inMemoryStorage.js.map +1 -1
- package/dist/memory/loader.js +1 -1
- package/dist/memory/loader.js.map +1 -1
- package/dist/memory/projectManager.d.ts +34 -5
- package/dist/memory/projectManager.d.ts.map +1 -1
- package/dist/memory/projectManager.js +98 -62
- package/dist/memory/projectManager.js.map +1 -1
- package/dist/memory/recall.d.ts +7 -18
- package/dist/memory/recall.d.ts.map +1 -1
- package/dist/memory/recall.js +14 -19
- package/dist/memory/recall.js.map +1 -1
- package/dist/memory/storageInterface.d.ts +81 -14
- package/dist/memory/storageInterface.d.ts.map +1 -1
- package/dist/memory/store.js +1 -1
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +7 -1
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +5 -1
- package/dist/memory/types.js.map +1 -1
- package/dist/memory/userProfile.d.ts +6 -6
- package/dist/memory/userProfile.d.ts.map +1 -1
- package/dist/memory/userProfile.js +20 -15
- package/dist/memory/userProfile.js.map +1 -1
- package/dist/memory/vectorStore.d.ts +35 -0
- package/dist/memory/vectorStore.d.ts.map +1 -1
- package/dist/memory/vectorStore.js +111 -2
- package/dist/memory/vectorStore.js.map +1 -1
- package/dist/persona/personaManager.d.ts +17 -4
- package/dist/persona/personaManager.d.ts.map +1 -1
- package/dist/persona/personaManager.js +44 -12
- package/dist/persona/personaManager.js.map +1 -1
- package/dist/security/pathGuard.d.ts +29 -7
- package/dist/security/pathGuard.d.ts.map +1 -1
- package/dist/security/pathGuard.js +148 -81
- package/dist/security/pathGuard.js.map +1 -1
- package/dist/skill/skillManager.d.ts +15 -0
- package/dist/skill/skillManager.d.ts.map +1 -1
- package/dist/skill/skillManager.js +25 -3
- package/dist/skill/skillManager.js.map +1 -1
- package/dist/skill/types.d.ts +7 -1
- package/dist/skill/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +26 -7
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +10 -18
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/eventEmitter.d.ts +9 -2
- package/dist/utils/eventEmitter.d.ts.map +1 -1
- package/dist/utils/eventEmitter.js +1 -1
- package/dist/utils/eventEmitter.js.map +1 -1
- package/dist/utils/frontmatter.d.ts +8 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +14 -3
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/path.d.ts +5 -1
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +5 -1
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/safeTimer.d.ts +19 -0
- package/dist/utils/safeTimer.d.ts.map +1 -1
- package/dist/utils/safeTimer.js +27 -0
- package/dist/utils/safeTimer.js.map +1 -1
- package/dist/utils/segmenter.d.ts +0 -12
- package/dist/utils/segmenter.d.ts.map +1 -1
- package/dist/utils/segmenter.js +8 -3
- package/dist/utils/segmenter.js.map +1 -1
- package/dist/utils/strings.d.ts +1 -1
- package/dist/utils/strings.d.ts.map +1 -1
- package/dist/utils/strings.js +4 -2
- package/dist/utils/strings.js.map +1 -1
- package/package.json +1 -1
- package/dist/agent/managers/userFactExtractor.d.ts.map +0 -1
- package/dist/agent/managers/userFactExtractor.js.map +0 -1
- /package/dist/agent/{managers/userFactExtractor.js → userFactExtractor.js} +0 -0
package/dist/agent/agent.d.ts
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import type { AgentLoop } from '../agent/loop.js';
|
|
2
|
-
import type { AgentChunk, UIMessages } from '../agent/types.js';
|
|
2
|
+
import type { AgentChunk, UIMessages, ArchiveMode } from '../agent/types.js';
|
|
3
3
|
import type { ToolExecutor } from '../agent/toolExecutor.js';
|
|
4
4
|
import type { MessageHistory } from '../agent/messageHistory.js';
|
|
5
5
|
import { ProjectManager, type ProjectContext } from '../memory/projectManager.js';
|
|
6
6
|
import { SecurityGuard } from '../security/pathGuard.js';
|
|
7
7
|
import type { PersonaManager } from '../persona/personaManager.js';
|
|
8
|
-
import type { UserProfile } from '../memory/userProfile.js';
|
|
8
|
+
import type { UserProfile, UserProfileEntry } from '../memory/userProfile.js';
|
|
9
9
|
import type { SkillManager } from '../skill/skillManager.js';
|
|
10
10
|
import type { InsightExtractor } from '../agent/managers/insightExtractor.js';
|
|
11
|
+
import type { SessionArchiveResult } from '../agent/managers/sessionArchiver.js';
|
|
11
12
|
import type { ConfigManager } from '../agent/managers/configManager.js';
|
|
12
13
|
import type { WorkProjectionManager } from '../agent/managers/workProjection.js';
|
|
13
14
|
import type { MemoryInspector } from '../agent/managers/memoryInspector.js';
|
|
14
15
|
import { SessionManager, type AgentForkResult } from '../agent/managers/sessionManager.js';
|
|
15
16
|
import { TypedEventEmitter, type AgentEventMap } from '../utils/eventEmitter.js';
|
|
16
17
|
import type { LlmProvider } from '../llm/provider.js';
|
|
18
|
+
import type { Memory } from '../memory/types.js';
|
|
17
19
|
import type { IMemoryStorage } from '../memory/storageInterface.js';
|
|
18
20
|
import type { IMemoryRelationStore } from '../memory/relationStore.js';
|
|
19
21
|
import type { ISessionStore } from '../memory/sessionStore.js';
|
|
@@ -59,6 +61,14 @@ export interface AgentOptions {
|
|
|
59
61
|
messages?: UIMessages;
|
|
60
62
|
/** 上下文超限时是否自动生成摘要(默认 true,开启后首次截断时增加 ~1-2s 延迟) */
|
|
61
63
|
enableContextSummary?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 归档模式(ADR-015,默认 'full')
|
|
66
|
+
*
|
|
67
|
+
* - 'full':profile facts + insight 自动归档(对话原始内容待会话归档实现后自动)
|
|
68
|
+
* - 'insights-only':profile facts + insight 自动归档,对话原始内容需手动
|
|
69
|
+
* - 'manual':所有归档都需手动触发
|
|
70
|
+
*/
|
|
71
|
+
archiveMode?: ArchiveMode;
|
|
62
72
|
}
|
|
63
73
|
/** Agent 初始化后暴露的运行时上下文 */
|
|
64
74
|
export type AgentContext = ProjectContext;
|
|
@@ -110,8 +120,10 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
110
120
|
private configManager;
|
|
111
121
|
private memoryInspector;
|
|
112
122
|
private workProjection;
|
|
113
|
-
/**
|
|
123
|
+
/** AutoConfigRefiner(模式 3:Agent 智能总结) */
|
|
114
124
|
private autoConfigRefiner;
|
|
125
|
+
/** SessionArchiver(会话内容归档器,content 类记忆) */
|
|
126
|
+
private sessionArchiver;
|
|
115
127
|
/** 会话管理器(从 Agent 拆分出的会话管理职责) */
|
|
116
128
|
private _sessionManager;
|
|
117
129
|
/** 当前激活的技能名(上一轮匹配,本轮注入) */
|
|
@@ -120,20 +132,35 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
120
132
|
private pctx;
|
|
121
133
|
/** chat() 并发锁 */
|
|
122
134
|
private _chatBusy;
|
|
135
|
+
/**
|
|
136
|
+
* chat() 锁持有者 token(race condition 防护)
|
|
137
|
+
*
|
|
138
|
+
* 设计目的:
|
|
139
|
+
* 原锁是简单布尔值 `_chatBusy`,无 owner 校验。超时回调与 finally 块无差别清理,
|
|
140
|
+
* 导致 race condition:T=0 A 获取锁 → T=180s 超时释放 → T=181s B 获取锁
|
|
141
|
+
* → T=182s A 的 finally 误清 B 的锁/计时器/controller。
|
|
142
|
+
*
|
|
143
|
+
* 防护方案:
|
|
144
|
+
* - 获取锁时 token 递增:`const myToken = ++this._chatLockToken`
|
|
145
|
+
* - 超时回调校验 `this._chatLockToken === myToken` 后才释放
|
|
146
|
+
* - finally 块校验 `this._chatLockToken === myToken` 后才清理
|
|
147
|
+
* - 不匹配时跳过清理,避免误清新调用者的资源
|
|
148
|
+
*
|
|
149
|
+
* 选择 number 而非 Symbol:递增计数器可序列化、零依赖、足够唯一(同一 Agent 实例内)
|
|
150
|
+
*/
|
|
151
|
+
private _chatLockToken;
|
|
123
152
|
/** 聊天锁超时计时器(防止 LLM 卡死时锁永久持有) */
|
|
124
153
|
private chatLockTimer;
|
|
125
154
|
/** chat() 内部 AbortController(超时时中断 generator,防止并发) */
|
|
126
155
|
private chatAbortController;
|
|
127
|
-
/**
|
|
156
|
+
/** 记忆衰减定时器(已迁移至 MemoryDecayScheduler,此字段保留用于 close 时引用判断) */
|
|
128
157
|
private decayTimer;
|
|
129
158
|
/** 最近一次 chat() 调用的时间戳 */
|
|
130
159
|
private _lastInteractionAt;
|
|
131
|
-
/**
|
|
132
|
-
private
|
|
133
|
-
/**
|
|
134
|
-
private
|
|
135
|
-
/** 上次衰减时间(ISO 8601,null 表示从未执行过) */
|
|
136
|
-
private metricLastDecayAt;
|
|
160
|
+
/** 记忆衰减调度器(init 时创建,close 时销毁) */
|
|
161
|
+
private memoryDecayScheduler;
|
|
162
|
+
/** 归档协调器(归档操作委托给 ArchiveCoordinator) */
|
|
163
|
+
private archiveCoordinator;
|
|
137
164
|
constructor(opts: AgentOptions);
|
|
138
165
|
/**
|
|
139
166
|
* 初始化 Agent:加载索引、组装内部组件
|
|
@@ -143,6 +170,32 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
143
170
|
* 流式对话(核心 API)
|
|
144
171
|
*/
|
|
145
172
|
chat(input: string, signal?: AbortSignal): AsyncGenerator<AgentChunk, void, unknown>;
|
|
173
|
+
/**
|
|
174
|
+
* 强制释放对话锁
|
|
175
|
+
*
|
|
176
|
+
* 场景:宿主主进程"无进展超时"兜底后,generator 可能仍卡在不可中断的 await 点
|
|
177
|
+
* (executeToolCalls 和 generateContextSummary 已覆盖 signal 响应,但其他
|
|
178
|
+
* 第三方库或未来新增的 await 点仍可能不响应 signal)。
|
|
179
|
+
* 此时 _chatBusy 锁未释放,用户再发消息会被 chat() 的竞态保护拒绝,
|
|
180
|
+
* 表现为"UI 能操作但发不出消息",需等到 3 分钟锁超时才能恢复。
|
|
181
|
+
*
|
|
182
|
+
* 本方法让宿主在确认 generator 挂起后强制释放锁,让用户能立即发起新对话。
|
|
183
|
+
*
|
|
184
|
+
* 安全机制:
|
|
185
|
+
* - 递增 _chatLockToken,让原 chat() 的 finally 块检测到 token 不匹配后
|
|
186
|
+
* 跳过资源清理(避免误清新调用者的 _chatBusy/chatAbortController)
|
|
187
|
+
* - abort chatAbortController,让响应 signal 的 await 点(如 fetch)退出
|
|
188
|
+
* - 原 generator 仍可能在后台运行(无法真正中断不响应 signal 的 await),
|
|
189
|
+
* 但其 finally 块的 token 校验会阻止它影响新调用
|
|
190
|
+
*
|
|
191
|
+
* 幂等性:_chatBusy 已 false 时 no-op(多次调用安全)
|
|
192
|
+
*
|
|
193
|
+
* 使用约束:
|
|
194
|
+
* - 仅在宿主确认 generator 挂起(如无进展超时)后调用
|
|
195
|
+
* - 不应在常规 abort 路径调用(常规 abort 走 signal,generator 自然退出)
|
|
196
|
+
* - 调用后不应再消费原 chat() generator 的后续 chunk(token 已变,chunk 无意义)
|
|
197
|
+
*/
|
|
198
|
+
forceReleaseChatLock(): void;
|
|
146
199
|
/**
|
|
147
200
|
* 召回记忆 + 注入最近对话上下文
|
|
148
201
|
*
|
|
@@ -163,6 +216,13 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
163
216
|
*
|
|
164
217
|
* 所有归档/匹配操作均为 best-effort:任何子步骤失败不应影响用户已收到的回答,
|
|
165
218
|
* 失败仅记录日志,不向上抛出异常。
|
|
219
|
+
*
|
|
220
|
+
* ADR-015 归档模式控制:
|
|
221
|
+
* - 角色匹配 + 技能匹配不受 archiveMode 影响(每轮都执行,非归档行为)
|
|
222
|
+
* - `manual` 模式跳过所有自动归档(profile + insight),需用户手动调用
|
|
223
|
+
* archiveProfileFacts() / archiveInsight() 触发
|
|
224
|
+
* - `full` / `insights-only` 模式下 profile + insight 都自动归档
|
|
225
|
+
* (会话归档实现后,`insights-only` 将跳过对话原始内容自动归档)
|
|
166
226
|
*/
|
|
167
227
|
private postProcess;
|
|
168
228
|
/**
|
|
@@ -191,8 +251,92 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
191
251
|
* 用当前 pctx 重建 history / loop
|
|
192
252
|
*/
|
|
193
253
|
private rebuildComponentsWithCurrentCtx;
|
|
254
|
+
/**
|
|
255
|
+
* 创建会话管理器(提取重复的 forwardEvent + SessionManager 构造逻辑)
|
|
256
|
+
*
|
|
257
|
+
* assembleComponents 和 rebuildComponentsWithCurrentCtx 共享同一套构造逻辑:
|
|
258
|
+
* - 通过回调访问当前组件(支持 rebuild 后自动获取最新引用)
|
|
259
|
+
* - 事件转发桥接:SessionManager 使用宽类型 (string, Record<string,unknown>),
|
|
260
|
+
* Agent 内部桥接到 TypedEventEmitter 的强类型 emit
|
|
261
|
+
* - 运行时校验事件名是否在 AgentEventMap 中,避免不安全的类型断言
|
|
262
|
+
*
|
|
263
|
+
* @returns 新的 SessionManager 实例
|
|
264
|
+
*/
|
|
265
|
+
private createSessionManager;
|
|
194
266
|
setProvider(provider: LlmProvider): void;
|
|
195
267
|
setBackgroundProvider(provider: LlmProvider | null): void;
|
|
268
|
+
/**
|
|
269
|
+
* 运行时切换归档模式
|
|
270
|
+
*
|
|
271
|
+
* 与 setProvider 一致,对话进行中禁止切换(避免本轮 postProcess 行为不一致)。
|
|
272
|
+
*
|
|
273
|
+
* @param mode 目标模式
|
|
274
|
+
*/
|
|
275
|
+
setArchiveMode(mode: ArchiveMode): void;
|
|
276
|
+
/**
|
|
277
|
+
* 查询当前归档模式
|
|
278
|
+
*
|
|
279
|
+
* 宿主 UI(如设置面板)可据此同步显示当前模式。
|
|
280
|
+
*/
|
|
281
|
+
getArchiveMode(): ArchiveMode;
|
|
282
|
+
/**
|
|
283
|
+
* 手动触发 profile facts 归档(manual 模式下使用)
|
|
284
|
+
*
|
|
285
|
+
* manual 模式下 postProcess 跳过自动归档,用户需通过此 API 主动归档。
|
|
286
|
+
* full / insights-only 模式下也可调用(会重复归档,但不推荐)。
|
|
287
|
+
*
|
|
288
|
+
* 归档逻辑已委托给 ArchiveCoordinator
|
|
289
|
+
*
|
|
290
|
+
* @param input 本轮用户输入
|
|
291
|
+
* @returns 写入/更新的 UserProfileEntry 列表
|
|
292
|
+
*/
|
|
293
|
+
archiveProfileFacts(input: string): Promise<UserProfileEntry[]>;
|
|
294
|
+
/**
|
|
295
|
+
* 手动触发 insight 提取(manual 模式下使用)
|
|
296
|
+
*
|
|
297
|
+
* manual 模式下 postProcess 跳过自动归档,用户需通过此 API 主动归档。
|
|
298
|
+
* 内部仍走 classify 判断(避免无价值输入浪费 LLM 调用)。
|
|
299
|
+
*
|
|
300
|
+
* 归档逻辑已委托给 ArchiveCoordinator
|
|
301
|
+
*
|
|
302
|
+
* @param input 本轮用户输入
|
|
303
|
+
* @param assistantContent 本轮助手回复内容
|
|
304
|
+
* @returns 写入/更新的 Memory 列表
|
|
305
|
+
*/
|
|
306
|
+
archiveInsight(input: string, assistantContent: string): Promise<Memory[]>;
|
|
307
|
+
/**
|
|
308
|
+
* 手动归档会话内容(content 类记忆)
|
|
309
|
+
*
|
|
310
|
+
* 适用于 `insights-only` / `manual` 模式下用户手动触发会话内容归档。
|
|
311
|
+
* `full` 模式下由宿主在会话切换前自动调用,无需用户干预。
|
|
312
|
+
*
|
|
313
|
+
* 归档逻辑已委托给 ArchiveCoordinator
|
|
314
|
+
*
|
|
315
|
+
* @param date 会话日期 YYYY-MM-DD
|
|
316
|
+
* @param session 会话标识(不含日期前缀)
|
|
317
|
+
* @returns 归档结果(memories 可能为空,表示无归档价值或 LLM 失败)
|
|
318
|
+
*/
|
|
319
|
+
archiveSessionContent(date: string, session: string): Promise<SessionArchiveResult>;
|
|
320
|
+
/**
|
|
321
|
+
* 重载配置类记忆:从 configDir 重新扫描指定 source 的配置文件并更新内存缓存 + SQLite 索引
|
|
322
|
+
*
|
|
323
|
+
* 解决方案:installSkill 写入文件后或 confirmConfigSuggestion 写入配置文件后,
|
|
324
|
+
* 调用此方法使当前会话立即生效,无需重启 Agent。
|
|
325
|
+
*
|
|
326
|
+
* 支持的 source:
|
|
327
|
+
* - 'skill' → SkillManager.reload() 清空缓存重新扫描 skills/ 目录
|
|
328
|
+
* - 'persona' → PersonaManager.reload() 清空缓存重新扫描 personas/ 目录(保持激活角色)
|
|
329
|
+
* - 'rule' → 无操作(rule 类型已由 ConfigManager.addRule() 即时注入 system prompt)
|
|
330
|
+
* - 'guardrail' → 抛错(guardrail 是 AgentLoop 的 readonly 数组,需 rebuildComponents 才能重载)
|
|
331
|
+
* - undefined → 重载 skill + persona(全量重载,不含 guardrail)
|
|
332
|
+
*
|
|
333
|
+
* @param source 配置类型,缺省时重载全部可热更新的配置
|
|
334
|
+
* @returns 重载结果统计
|
|
335
|
+
*/
|
|
336
|
+
reloadConfig(source?: string): Promise<{
|
|
337
|
+
skill: number;
|
|
338
|
+
persona: number;
|
|
339
|
+
}>;
|
|
196
340
|
/**
|
|
197
341
|
* 重建内部组件(history / loop / managers)
|
|
198
342
|
*
|
|
@@ -215,16 +359,6 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
215
359
|
* @throws MemoraError 如果 value 为 null/undefined
|
|
216
360
|
*/
|
|
217
361
|
private requireNonNull;
|
|
218
|
-
/**
|
|
219
|
-
* 对 insight/profile/work-projection 记忆执行 score 衰减
|
|
220
|
-
*
|
|
221
|
-
* 长期未访问的记忆 score 逐渐降低,体现"自然遗忘"
|
|
222
|
-
* 不影响 persona/rule/skill(这些是配置型记忆,不应衰减)
|
|
223
|
-
*
|
|
224
|
-
* 衰减逻辑委派给 IMemoryStorage.decayScores(),
|
|
225
|
-
* 宿主(SqliteStorage)可用一条 SQL UPDATE 批量完成,避免 O(n) 全量加载。
|
|
226
|
-
*/
|
|
227
|
-
private runMemoryDecay;
|
|
228
362
|
/**
|
|
229
363
|
* 关闭 Agent,释放 SQLite 连接等资源
|
|
230
364
|
*/
|
|
@@ -246,7 +380,7 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
246
380
|
get isBusy(): boolean;
|
|
247
381
|
get lastInteractionAt(): Date | null;
|
|
248
382
|
/**
|
|
249
|
-
* 获取 Agent
|
|
383
|
+
* 获取 Agent 运行时指标快照(可观测性增强)
|
|
250
384
|
*
|
|
251
385
|
* 聚合 AgentLoop 指标(LLM 调用、记忆召回、工具调用、上下文管理)
|
|
252
386
|
* 与 Agent 层指标(记忆衰减),返回完整的 AgentMetrics 快照。
|
|
@@ -337,7 +471,5 @@ export declare class Agent extends TypedEventEmitter<AgentEventMap> {
|
|
|
337
471
|
get works(): WorkProjectionManager | null;
|
|
338
472
|
/** 会话管理器(宿主可通过此 getter 访问会话恢复/切换/分叉功能) */
|
|
339
473
|
get sessionManager(): SessionManager | null;
|
|
340
|
-
/** 记忆存储(宿主可直接调用 CRUD,如 delete/upsert) */
|
|
341
|
-
get storage(): IMemoryStorage | null;
|
|
342
474
|
}
|
|
343
475
|
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -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,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
|