@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
package/dist/agent/types.d.ts
CHANGED
|
@@ -14,6 +14,44 @@
|
|
|
14
14
|
*
|
|
15
15
|
* error 事件:流式过程中发生错误(如 LLM 超时、连接断开),
|
|
16
16
|
* 替代裸 throw 让宿主能优雅展示错误并清理 UI(避免未处理 rejection 静默卡死)。
|
|
17
|
+
*
|
|
18
|
+
* ─── agent/ 模块依赖图(最后更新:2026-07-16) ─────────────────
|
|
19
|
+
* 如需精确依赖关系,请阅读各文件 import 语句。本图仅展示高层模块关系。
|
|
20
|
+
*
|
|
21
|
+
* agent.ts(门面,Agent 类)
|
|
22
|
+
* ├─ assembler.ts(组件装配,init 阶段)
|
|
23
|
+
* ├─ loop.ts(主循环,chat 阶段)
|
|
24
|
+
* │ ├─ toolExecutor.ts(工具执行)
|
|
25
|
+
* │ ├─ contextManager.ts(上下文窗口管理)
|
|
26
|
+
* │ ├─ messageHistory.ts(历史消息存储)
|
|
27
|
+
* │ ├─ guardrail.ts(护栏规则)
|
|
28
|
+
* │ └─ tracer.ts(可观测性 span)
|
|
29
|
+
* ├─ personaMatcher.ts(LLM 角色匹配,从 persona 迁入)
|
|
30
|
+
* ├─ userFactExtractor.ts(用户事实提取,纯函数)
|
|
31
|
+
* ├─ builtinToolHandlers.ts(内置工具处理器)
|
|
32
|
+
* └─ managers/(12 个专职 Manager)
|
|
33
|
+
* ├─ chatLockManager.ts(并发锁,token 机制)
|
|
34
|
+
* ├─ configManager.ts(配置加载)
|
|
35
|
+
* ├─ contextManager.ts(上下文管理)
|
|
36
|
+
* ├─ insightExtractor.ts(LLM 提炼,prompt 独立函数)
|
|
37
|
+
* ├─ memoryInspector.ts(记忆读写统一入口,ADR-014)
|
|
38
|
+
* ├─ memoryDecayScheduler.ts(记忆衰减调度)
|
|
39
|
+
* ├─ memoryAdvisor.ts(记忆建议)
|
|
40
|
+
* ├─ relationBuilder.ts(记忆关系构建,ADR-014 侧车)
|
|
41
|
+
* ├─ archiveCoordinator.ts(归档协调,emit archiveFailed)
|
|
42
|
+
* ├─ sessionArchiver.ts(会话归档)
|
|
43
|
+
* ├─ sessionManager.ts(会话状态)
|
|
44
|
+
* ├─ textPolishManager.ts(文本润色)
|
|
45
|
+
* ├─ autoConfigRefiner.ts(配置自动优化)
|
|
46
|
+
* └─ workProjection.ts(作品投影)
|
|
47
|
+
*
|
|
48
|
+
* 分层依赖方向(ADR-008):
|
|
49
|
+
* agent/ → memory/ → storage/(不可反向)
|
|
50
|
+
* agent/ → persona/(不可反向,persona 不调 LLM)
|
|
51
|
+
* agent/ → llm/(provider 注入)
|
|
52
|
+
* agent/ → skill/(技能加载)
|
|
53
|
+
* agent/ → config/(配置加载)
|
|
54
|
+
* ──────────────────────────────────────────────────────────
|
|
17
55
|
*/
|
|
18
56
|
/** thinking 事件的阶段标识 */
|
|
19
57
|
export type ThinkingPhase = 'recalling' | 'processing' | 'archiving';
|
|
@@ -118,6 +156,15 @@ export interface UIMessages {
|
|
|
118
156
|
guardrailWarningPrefix?: string;
|
|
119
157
|
/** 输出被护栏阻断提示模板 */
|
|
120
158
|
outputBlockedByGuard?: (rule: string) => string;
|
|
159
|
+
/**
|
|
160
|
+
* Reflection(反思/自修正)提示生成函数
|
|
161
|
+
*
|
|
162
|
+
* 工具调用失败且错误可重试时,在 LLM 上下文中追加此提示,帮助 LLM 聚焦于修正而非放弃。
|
|
163
|
+
*
|
|
164
|
+
* @param remaining 剩余反思次数
|
|
165
|
+
* @returns 系统消息内容
|
|
166
|
+
*/
|
|
167
|
+
reflectionHint?: (remaining: number) => string;
|
|
121
168
|
}
|
|
122
169
|
/**
|
|
123
170
|
* Agent 归档模式三态控制
|
|
@@ -132,4 +179,90 @@ export interface UIMessages {
|
|
|
132
179
|
* 归档行为保持一致——`insights-only` 下都自动,`manual` 下都需手动。
|
|
133
180
|
*/
|
|
134
181
|
export type ArchiveMode = 'full' | 'insights-only' | 'manual';
|
|
182
|
+
import type { LlmProvider } from '../llm/provider.js';
|
|
183
|
+
import type { IVectorStore } from '../memory/vectorStore.js';
|
|
184
|
+
import type { IMemoryStorage } from '../memory/storageInterface.js';
|
|
185
|
+
import type { IMemoryRelationStore } from '../memory/relationStore.js';
|
|
186
|
+
import type { ISessionStore } from '../memory/sessionStore.js';
|
|
187
|
+
import type { ITracer } from '../agent/tracer.js';
|
|
188
|
+
import type { ProjectContext } from '../memory/projectManager.js';
|
|
189
|
+
/** Agent 构造选项 */
|
|
190
|
+
export interface AgentOptions {
|
|
191
|
+
/** 项目路径(必须) */
|
|
192
|
+
projectPath: string;
|
|
193
|
+
/** 前台 LLM Provider(必须,宿主负责创建) */
|
|
194
|
+
provider: LlmProvider;
|
|
195
|
+
/** 后台 LLM Provider(可选,用于投影等后台操作,不配时复用前台) */
|
|
196
|
+
backgroundProvider?: LlmProvider;
|
|
197
|
+
/** 配置目录(personas/rules/skills) */
|
|
198
|
+
configDir?: string;
|
|
199
|
+
/** 记忆数据目录(由宿主显式注入) */
|
|
200
|
+
dataDir?: string;
|
|
201
|
+
/** 项目注册表目录(默认与 dataDir 相同)。设为用户级路径可避免每项目重复存储 */
|
|
202
|
+
registryDir?: string;
|
|
203
|
+
/** 最大上下文 token 数(默认 120000) */
|
|
204
|
+
maxContextTokens?: number;
|
|
205
|
+
/** 默认角色名 */
|
|
206
|
+
persona?: string;
|
|
207
|
+
/** 安全权限 */
|
|
208
|
+
permission?: 'owner' | 'guest';
|
|
209
|
+
/** 允许的路径白名单 */
|
|
210
|
+
allowedPaths?: string[];
|
|
211
|
+
/** 写入确认 */
|
|
212
|
+
confirmWrites?: boolean;
|
|
213
|
+
/** 向量存储(可选,提供时启用语义搜索召回;宿主可注入任意 IVectorStore 实现) */
|
|
214
|
+
vectorStore?: IVectorStore;
|
|
215
|
+
/** 召回时排除的 source 标签(默认 ['persona', 'rule', 'skill'],这些已由 bootstrap 注入) */
|
|
216
|
+
recallExcludeSources?: string[];
|
|
217
|
+
/** 外部注入的存储实例(可选,不传则内部创建 InMemoryStorage) */
|
|
218
|
+
storage?: IMemoryStorage;
|
|
219
|
+
/** 外部注入的记忆关系存储(可选,ADR-014 侧车模型,不传则跳过关系构建) */
|
|
220
|
+
relationStore?: IMemoryRelationStore;
|
|
221
|
+
/** 外部注入的会话存储(可选,不传则仅在内存中保存) */
|
|
222
|
+
sessionStore?: ISessionStore;
|
|
223
|
+
/** 可观测性 Tracer(可选,不传则使用 NoopTracer 静默丢弃所有 span) */
|
|
224
|
+
tracer?: ITracer;
|
|
225
|
+
/** 宿主可覆盖的 UI 消息文本(默认英文,宿主覆盖为中文等) */
|
|
226
|
+
messages?: UIMessages;
|
|
227
|
+
/** 上下文超限时是否自动生成摘要(默认 true,开启后首次截断时增加 ~1-2s 延迟) */
|
|
228
|
+
enableContextSummary?: boolean;
|
|
229
|
+
/**
|
|
230
|
+
* 归档模式(ADR-015,默认 'full')
|
|
231
|
+
*
|
|
232
|
+
* - 'full':profile facts + insight 自动归档(对话原始内容待会话归档实现后自动)
|
|
233
|
+
* - 'insights-only':profile facts + insight 自动归档,对话原始内容需手动
|
|
234
|
+
* - 'manual':所有归档都需手动触发
|
|
235
|
+
*/
|
|
236
|
+
archiveMode?: ArchiveMode;
|
|
237
|
+
}
|
|
238
|
+
/** Agent 初始化后暴露的运行时上下文 */
|
|
239
|
+
export type AgentContext = ProjectContext;
|
|
240
|
+
/** Agent 项目条目(来自 ProjectManager 注册表) */
|
|
241
|
+
export interface AgentProjectEntry {
|
|
242
|
+
name: string;
|
|
243
|
+
path: string;
|
|
244
|
+
lastOpened: string;
|
|
245
|
+
}
|
|
246
|
+
/** Agent 内部配置(构造参数分组) */
|
|
247
|
+
export interface AgentConfig {
|
|
248
|
+
dataDir: string;
|
|
249
|
+
registryDir: string | undefined;
|
|
250
|
+
maxContextTokens: number;
|
|
251
|
+
personaName: string | undefined;
|
|
252
|
+
permission: 'owner' | 'guest';
|
|
253
|
+
allowedPaths: string[];
|
|
254
|
+
confirmWrites: boolean;
|
|
255
|
+
vectorStore: IVectorStore | undefined;
|
|
256
|
+
recallExcludeSources: string[];
|
|
257
|
+
storage: IMemoryStorage | undefined;
|
|
258
|
+
relationStore: IMemoryRelationStore | undefined;
|
|
259
|
+
sessionStore: ISessionStore | undefined;
|
|
260
|
+
projectPath: string;
|
|
261
|
+
configDir: string | undefined;
|
|
262
|
+
tracer: ITracer | undefined;
|
|
263
|
+
messages: UIMessages | undefined;
|
|
264
|
+
enableContextSummary: boolean;
|
|
265
|
+
/** 归档模式(ADR-015,默认 'full') */
|
|
266
|
+
archiveMode: ArchiveMode;
|
|
267
|
+
}
|
|
135
268
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,uBAAuB;AACvB,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,qBAAqB,EAAE,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GAC1C;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAIrB;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,uCAAuC;IACvC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB;IAClB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAID;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,CAAC;AAI9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,iBAAiB;AACjB,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,eAAe;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW;IACX,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,0BAA0B;AAC1B,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAE1C,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IACtC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,8BAA8B;IAC9B,WAAW,EAAE,WAAW,CAAC;CAC1B"}
|
package/dist/agent/types.js
CHANGED
|
@@ -14,6 +14,44 @@
|
|
|
14
14
|
*
|
|
15
15
|
* error 事件:流式过程中发生错误(如 LLM 超时、连接断开),
|
|
16
16
|
* 替代裸 throw 让宿主能优雅展示错误并清理 UI(避免未处理 rejection 静默卡死)。
|
|
17
|
+
*
|
|
18
|
+
* ─── agent/ 模块依赖图(最后更新:2026-07-16) ─────────────────
|
|
19
|
+
* 如需精确依赖关系,请阅读各文件 import 语句。本图仅展示高层模块关系。
|
|
20
|
+
*
|
|
21
|
+
* agent.ts(门面,Agent 类)
|
|
22
|
+
* ├─ assembler.ts(组件装配,init 阶段)
|
|
23
|
+
* ├─ loop.ts(主循环,chat 阶段)
|
|
24
|
+
* │ ├─ toolExecutor.ts(工具执行)
|
|
25
|
+
* │ ├─ contextManager.ts(上下文窗口管理)
|
|
26
|
+
* │ ├─ messageHistory.ts(历史消息存储)
|
|
27
|
+
* │ ├─ guardrail.ts(护栏规则)
|
|
28
|
+
* │ └─ tracer.ts(可观测性 span)
|
|
29
|
+
* ├─ personaMatcher.ts(LLM 角色匹配,从 persona 迁入)
|
|
30
|
+
* ├─ userFactExtractor.ts(用户事实提取,纯函数)
|
|
31
|
+
* ├─ builtinToolHandlers.ts(内置工具处理器)
|
|
32
|
+
* └─ managers/(12 个专职 Manager)
|
|
33
|
+
* ├─ chatLockManager.ts(并发锁,token 机制)
|
|
34
|
+
* ├─ configManager.ts(配置加载)
|
|
35
|
+
* ├─ contextManager.ts(上下文管理)
|
|
36
|
+
* ├─ insightExtractor.ts(LLM 提炼,prompt 独立函数)
|
|
37
|
+
* ├─ memoryInspector.ts(记忆读写统一入口,ADR-014)
|
|
38
|
+
* ├─ memoryDecayScheduler.ts(记忆衰减调度)
|
|
39
|
+
* ├─ memoryAdvisor.ts(记忆建议)
|
|
40
|
+
* ├─ relationBuilder.ts(记忆关系构建,ADR-014 侧车)
|
|
41
|
+
* ├─ archiveCoordinator.ts(归档协调,emit archiveFailed)
|
|
42
|
+
* ├─ sessionArchiver.ts(会话归档)
|
|
43
|
+
* ├─ sessionManager.ts(会话状态)
|
|
44
|
+
* ├─ textPolishManager.ts(文本润色)
|
|
45
|
+
* ├─ autoConfigRefiner.ts(配置自动优化)
|
|
46
|
+
* └─ workProjection.ts(作品投影)
|
|
47
|
+
*
|
|
48
|
+
* 分层依赖方向(ADR-008):
|
|
49
|
+
* agent/ → memory/ → storage/(不可反向)
|
|
50
|
+
* agent/ → persona/(不可反向,persona 不调 LLM)
|
|
51
|
+
* agent/ → llm/(provider 注入)
|
|
52
|
+
* agent/ → skill/(技能加载)
|
|
53
|
+
* agent/ → config/(配置加载)
|
|
54
|
+
* ──────────────────────────────────────────────────────────
|
|
17
55
|
*/
|
|
18
56
|
export {};
|
|
19
57
|
//# sourceMappingURL=types.js.map
|
package/dist/agent/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userFactExtractor.d.ts","sourceRoot":"","sources":["../../src/agent/userFactExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"userFactExtractor.d.ts","sourceRoot":"","sources":["../../src/agent/userFactExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAuFlF"}
|
|
@@ -17,6 +17,8 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
17
17
|
if (identityMatch) {
|
|
18
18
|
facts.push({
|
|
19
19
|
category: 'identity',
|
|
20
|
+
// 显式 fieldName,冲突检测基于 category + fieldName
|
|
21
|
+
fieldName: '姓名',
|
|
20
22
|
value: `姓名: ${identityMatch[1]}`,
|
|
21
23
|
sourceTurn: turnIndex,
|
|
22
24
|
confidence: 0.95,
|
|
@@ -27,6 +29,7 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
27
29
|
if (locationMatch) {
|
|
28
30
|
facts.push({
|
|
29
31
|
category: 'identity',
|
|
32
|
+
fieldName: '住址',
|
|
30
33
|
value: `住址: ${locationMatch[1]}`,
|
|
31
34
|
sourceTurn: turnIndex,
|
|
32
35
|
confidence: 0.9,
|
|
@@ -38,6 +41,7 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
38
41
|
// 避免与 identityMatch 重复
|
|
39
42
|
facts.push({
|
|
40
43
|
category: 'identity',
|
|
44
|
+
fieldName: '职业',
|
|
41
45
|
value: `职业: ${jobMatch[1]}`,
|
|
42
46
|
sourceTurn: turnIndex,
|
|
43
47
|
confidence: 0.85,
|
|
@@ -49,6 +53,7 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
49
53
|
if (prefMatch) {
|
|
50
54
|
facts.push({
|
|
51
55
|
category: 'preference',
|
|
56
|
+
fieldName: '偏好',
|
|
52
57
|
value: `偏好: ${prefMatch[1]}`,
|
|
53
58
|
sourceTurn: turnIndex,
|
|
54
59
|
confidence: 0.85,
|
|
@@ -60,6 +65,7 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
60
65
|
if (toolMatch && !prefMatch) {
|
|
61
66
|
facts.push({
|
|
62
67
|
category: 'preference',
|
|
68
|
+
fieldName: '工具',
|
|
63
69
|
value: `工具: ${toolMatch[1]}`,
|
|
64
70
|
sourceTurn: turnIndex,
|
|
65
71
|
confidence: 0.8,
|
|
@@ -71,6 +77,7 @@ export function extractUserFacts(input, turnIndex) {
|
|
|
71
77
|
if (expertiseMatch) {
|
|
72
78
|
facts.push({
|
|
73
79
|
category: 'expertise',
|
|
80
|
+
fieldName: '专长',
|
|
74
81
|
value: `专长: ${expertiseMatch[1]}`,
|
|
75
82
|
sourceTurn: turnIndex,
|
|
76
83
|
confidence: 0.75,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userFactExtractor.js","sourceRoot":"","sources":["../../src/agent/userFactExtractor.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,SAAiB;IAC/D,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,kBAAkB;IAClB,0BAA0B;IAC1B,uCAAuC;IACzC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAChF,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE;YAChC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7E,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE;YAChC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAC1B,4DAA4D,CAC7D,CAAC;IACF,IAAI,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC3B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,qCAAqC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAC3B,wEAAwE,CACzE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3E,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,qBAAqB;IACrB,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE;YACjC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"userFactExtractor.js","sourceRoot":"","sources":["../../src/agent/userFactExtractor.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,SAAiB;IAC/D,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,kBAAkB;IAClB,0BAA0B;IAC1B,uCAAuC;IACzC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAChF,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,2CAA2C;YAC3C,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE;YAChC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7E,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE;YAChC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAC1B,4DAA4D,CAC7D,CAAC;IACF,IAAI,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC3B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,qCAAqC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAC3B,wEAAwE,CACzE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC3E,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,qBAAqB;IACrB,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE;YACjC,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -1,246 +1,134 @@
|
|
|
1
|
-
|
|
2
|
-
declare const ConfigSchema: z.ZodObject<{
|
|
3
|
-
llm: z.ZodDefault<z.ZodObject<{
|
|
4
|
-
provider: z.ZodDefault<z.ZodString>;
|
|
5
|
-
model: z.ZodDefault<z.ZodString>;
|
|
6
|
-
baseUrl: z.ZodOptional<z.ZodString>;
|
|
7
|
-
apiKey: z.ZodOptional<z.ZodString>;
|
|
8
|
-
temperature: z.ZodDefault<z.ZodNumber>;
|
|
9
|
-
/**
|
|
10
|
-
* 多 Provider 映射表
|
|
11
|
-
*
|
|
12
|
-
* key 为 Provider 别名(如 "deepseek"、"openai"),value 为 Provider 配置。
|
|
13
|
-
* 配置后,旧扁平字段(provider/model/baseUrl/apiKey)被忽略。
|
|
14
|
-
* 不配置时回退到旧的单 provider 行为——完全向后兼容。
|
|
15
|
-
*/
|
|
16
|
-
providers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
17
|
-
provider: z.ZodString;
|
|
18
|
-
model: z.ZodString;
|
|
19
|
-
baseUrl: z.ZodOptional<z.ZodString>;
|
|
20
|
-
apiKey: z.ZodOptional<z.ZodString>;
|
|
21
|
-
/** 该 Provider 的 temperature,未配置时回退到全局 llm.temperature */
|
|
22
|
-
temperature: z.ZodOptional<z.ZodNumber>;
|
|
23
|
-
/** 该 Provider 的上下文窗口大小(token 数),未配置时回退到 memory.maxContextTokens */
|
|
24
|
-
contextWindow: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
}, "strip", z.ZodTypeAny, {
|
|
26
|
-
model: string;
|
|
27
|
-
provider: string;
|
|
28
|
-
apiKey?: string | undefined;
|
|
29
|
-
temperature?: number | undefined;
|
|
30
|
-
baseUrl?: string | undefined;
|
|
31
|
-
contextWindow?: number | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
model: string;
|
|
34
|
-
provider: string;
|
|
35
|
-
apiKey?: string | undefined;
|
|
36
|
-
temperature?: number | undefined;
|
|
37
|
-
baseUrl?: string | undefined;
|
|
38
|
-
contextWindow?: number | undefined;
|
|
39
|
-
}>>>;
|
|
40
|
-
/**
|
|
41
|
-
* 当前激活的 Provider 别名
|
|
42
|
-
*
|
|
43
|
-
* 必须与 providers 中的某个 key 一致。
|
|
44
|
-
* 不配置时默认使用 providers 的第一个 key。
|
|
45
|
-
*/
|
|
46
|
-
active: z.ZodOptional<z.ZodString>;
|
|
47
|
-
/**
|
|
48
|
-
* 后台通道配置(多 Provider 路由预留)
|
|
49
|
-
*
|
|
50
|
-
* 不配时所有消费者复用前台(llm)配置——零破坏性,完全向后兼容。
|
|
51
|
-
* 配置后,归档/投影/画像等后台操作使用此通道,降低成本。
|
|
52
|
-
* 详见接入指南 §九
|
|
53
|
-
*/
|
|
54
|
-
background: z.ZodOptional<z.ZodObject<{
|
|
55
|
-
provider: z.ZodString;
|
|
56
|
-
model: z.ZodString;
|
|
57
|
-
baseUrl: z.ZodOptional<z.ZodString>;
|
|
58
|
-
apiKey: z.ZodOptional<z.ZodString>;
|
|
59
|
-
temperature: z.ZodDefault<z.ZodNumber>;
|
|
60
|
-
}, "strip", z.ZodTypeAny, {
|
|
61
|
-
temperature: number;
|
|
62
|
-
model: string;
|
|
63
|
-
provider: string;
|
|
64
|
-
apiKey?: string | undefined;
|
|
65
|
-
baseUrl?: string | undefined;
|
|
66
|
-
}, {
|
|
67
|
-
model: string;
|
|
68
|
-
provider: string;
|
|
69
|
-
apiKey?: string | undefined;
|
|
70
|
-
temperature?: number | undefined;
|
|
71
|
-
baseUrl?: string | undefined;
|
|
72
|
-
}>>;
|
|
73
|
-
}, "strip", z.ZodTypeAny, {
|
|
74
|
-
temperature: number;
|
|
75
|
-
model: string;
|
|
76
|
-
provider: string;
|
|
77
|
-
apiKey?: string | undefined;
|
|
78
|
-
active?: string | undefined;
|
|
79
|
-
baseUrl?: string | undefined;
|
|
80
|
-
providers?: Record<string, {
|
|
81
|
-
model: string;
|
|
82
|
-
provider: string;
|
|
83
|
-
apiKey?: string | undefined;
|
|
84
|
-
temperature?: number | undefined;
|
|
85
|
-
baseUrl?: string | undefined;
|
|
86
|
-
contextWindow?: number | undefined;
|
|
87
|
-
}> | undefined;
|
|
88
|
-
background?: {
|
|
89
|
-
temperature: number;
|
|
90
|
-
model: string;
|
|
91
|
-
provider: string;
|
|
92
|
-
apiKey?: string | undefined;
|
|
93
|
-
baseUrl?: string | undefined;
|
|
94
|
-
} | undefined;
|
|
95
|
-
}, {
|
|
96
|
-
apiKey?: string | undefined;
|
|
97
|
-
temperature?: number | undefined;
|
|
98
|
-
model?: string | undefined;
|
|
99
|
-
active?: string | undefined;
|
|
100
|
-
provider?: string | undefined;
|
|
101
|
-
baseUrl?: string | undefined;
|
|
102
|
-
providers?: Record<string, {
|
|
103
|
-
model: string;
|
|
104
|
-
provider: string;
|
|
105
|
-
apiKey?: string | undefined;
|
|
106
|
-
temperature?: number | undefined;
|
|
107
|
-
baseUrl?: string | undefined;
|
|
108
|
-
contextWindow?: number | undefined;
|
|
109
|
-
}> | undefined;
|
|
110
|
-
background?: {
|
|
111
|
-
model: string;
|
|
112
|
-
provider: string;
|
|
113
|
-
apiKey?: string | undefined;
|
|
114
|
-
temperature?: number | undefined;
|
|
115
|
-
baseUrl?: string | undefined;
|
|
116
|
-
} | undefined;
|
|
117
|
-
}>>;
|
|
118
|
-
memory: z.ZodDefault<z.ZodObject<{
|
|
119
|
-
dataDir: z.ZodDefault<z.ZodString>;
|
|
120
|
-
maxContextTokens: z.ZodDefault<z.ZodNumber>;
|
|
121
|
-
}, "strip", z.ZodTypeAny, {
|
|
122
|
-
maxContextTokens: number;
|
|
123
|
-
dataDir: string;
|
|
124
|
-
}, {
|
|
125
|
-
maxContextTokens?: number | undefined;
|
|
126
|
-
dataDir?: string | undefined;
|
|
127
|
-
}>>;
|
|
128
|
-
security: z.ZodDefault<z.ZodObject<{
|
|
129
|
-
permission: z.ZodDefault<z.ZodEnum<["owner", "guest"]>>;
|
|
130
|
-
confirmWrites: z.ZodDefault<z.ZodBoolean>;
|
|
131
|
-
}, "strip", z.ZodTypeAny, {
|
|
132
|
-
permission: "owner" | "guest";
|
|
133
|
-
confirmWrites: boolean;
|
|
134
|
-
}, {
|
|
135
|
-
permission?: "owner" | "guest" | undefined;
|
|
136
|
-
confirmWrites?: boolean | undefined;
|
|
137
|
-
}>>;
|
|
138
|
-
allowedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
139
|
-
persona: z.ZodOptional<z.ZodString>;
|
|
1
|
+
interface ProviderConfig {
|
|
140
2
|
/**
|
|
141
|
-
*
|
|
3
|
+
* Provider 标识(仅用于日志,不影响路由)
|
|
142
4
|
*
|
|
143
|
-
*
|
|
144
|
-
*
|
|
5
|
+
* 宿主 UI 用此字段存储模式标识('cloud' / 'local' / 厂商名),
|
|
6
|
+
* 内核仅作透传,不依据此字段做路由决策。
|
|
145
7
|
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
8
|
+
provider: string;
|
|
9
|
+
/** 模型名称 */
|
|
10
|
+
model: string;
|
|
11
|
+
/** API 基础 URL(可选——内核不做预设回退,缺失时工厂会报错) */
|
|
12
|
+
baseUrl?: string;
|
|
13
|
+
/** API 密钥(可选,从环境变量读取。本地 LLM 如 Ollama 可为空字符串) */
|
|
14
|
+
apiKey?: string;
|
|
15
|
+
/** 该 Provider 的 temperature,未配置时回退到全局 llm.temperature */
|
|
16
|
+
temperature?: number;
|
|
17
|
+
/** 该 Provider 的上下文窗口大小(token 数),未配置时回退到 memory.maxContextTokens */
|
|
18
|
+
contextWindow?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 后台通道配置接口(多 Provider 路由预留)
|
|
22
|
+
*
|
|
23
|
+
* 不配时所有消费者复用前台(llm)配置——零破坏性,完全向后兼容。
|
|
24
|
+
* 配置后,归档/投影/画像等后台操作使用此通道,降低成本。
|
|
25
|
+
* 详见接入指南 §九
|
|
26
|
+
*/
|
|
27
|
+
interface BackgroundConfig {
|
|
28
|
+
/** Provider 名称 */
|
|
29
|
+
provider: string;
|
|
30
|
+
/** 模型名称 */
|
|
31
|
+
model: string;
|
|
32
|
+
/** API 基础 URL(可选) */
|
|
33
|
+
baseUrl?: string;
|
|
34
|
+
/** API 密钥(可选,从环境变量读取) */
|
|
35
|
+
apiKey?: string;
|
|
36
|
+
/** 该通道的 temperature */
|
|
37
|
+
temperature: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* LLM 配置接口
|
|
41
|
+
*
|
|
42
|
+
* provider 允许任意字符串:内核仅内置 'mock' 一种机制(用于无 API Key 的测试/降级),
|
|
43
|
+
* 其他厂商 provider(deepseek/openai/doubao 等)需宿主或用户显式配置 baseUrl + model。
|
|
44
|
+
* 详见 ADR-003(内核只提供机制,不预设厂商策略)
|
|
45
|
+
*/
|
|
46
|
+
interface LlmConfig {
|
|
47
|
+
/** Provider 名称 */
|
|
48
|
+
provider: string;
|
|
49
|
+
/** 模型名称 */
|
|
50
|
+
model: string;
|
|
51
|
+
/** API 基础 URL(可选) */
|
|
52
|
+
baseUrl?: string;
|
|
53
|
+
/** API 密钥(可选,从环境变量读取。本地 LLM 可为空) */
|
|
54
|
+
apiKey?: string;
|
|
55
|
+
/** 采样温度(0-2) */
|
|
56
|
+
temperature: number;
|
|
57
|
+
/**
|
|
58
|
+
* 多 Provider 映射表
|
|
59
|
+
*
|
|
60
|
+
* key 为 Provider 别名(如 "deepseek"、"openai"),value 为 Provider 配置。
|
|
61
|
+
* 配置后,旧扁平字段(provider/model/baseUrl/apiKey)被忽略。
|
|
62
|
+
* 不配置时回退到旧的单 provider 行为——完全向后兼容。
|
|
63
|
+
*/
|
|
64
|
+
providers?: Record<string, ProviderConfig>;
|
|
65
|
+
/**
|
|
66
|
+
* 当前激活的 Provider 别名
|
|
67
|
+
*
|
|
68
|
+
* 必须与 providers 中的某个 key 一致。
|
|
69
|
+
* 不配置时默认使用 providers 的第一个 key。
|
|
70
|
+
*/
|
|
71
|
+
active?: string;
|
|
72
|
+
/**
|
|
73
|
+
* 后台通道配置(多 Provider 路由预留)
|
|
74
|
+
*
|
|
75
|
+
* 不配时所有消费者复用前台(llm)配置——零破坏性,完全向后兼容。
|
|
76
|
+
* 配置后,归档/投影/画像等后台操作使用此通道,降低成本。
|
|
77
|
+
* 详见接入指南 §九
|
|
78
|
+
*/
|
|
79
|
+
background?: BackgroundConfig;
|
|
80
|
+
}
|
|
81
|
+
/** 内存配置接口 */
|
|
82
|
+
interface MemoryConfig {
|
|
83
|
+
/** 数据存储目录 */
|
|
84
|
+
dataDir: string;
|
|
85
|
+
/** 最大上下文 token 数 */
|
|
86
|
+
maxContextTokens: number;
|
|
87
|
+
}
|
|
88
|
+
/** 安全配置接口 */
|
|
89
|
+
interface SecurityConfig {
|
|
90
|
+
/** 权限级别:owner(所有者)或 guest(访客) */
|
|
91
|
+
permission: 'owner' | 'guest';
|
|
92
|
+
/** 是否确认写入操作 */
|
|
93
|
+
confirmWrites: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Embedding 配置接口(可选,配置后启用向量语义召回)
|
|
97
|
+
*
|
|
98
|
+
* 复用 OpenAI 兼容协议的 /embeddings 端点。
|
|
99
|
+
* 不配置时降级为纯关键词召回(当前行为)。
|
|
100
|
+
*/
|
|
101
|
+
interface EmbeddingConfig {
|
|
102
|
+
/** Embedding 模型名称 */
|
|
103
|
+
model: string;
|
|
104
|
+
/** API 基础 URL(可选) */
|
|
105
|
+
baseUrl?: string;
|
|
106
|
+
/** API 密钥(可选,从环境变量读取) */
|
|
107
|
+
apiKey?: string;
|
|
108
|
+
}
|
|
109
|
+
/** 完整配置接口 */
|
|
110
|
+
export interface Config {
|
|
111
|
+
/** LLM 配置 */
|
|
112
|
+
llm: LlmConfig;
|
|
113
|
+
/** 内存配置 */
|
|
114
|
+
memory: MemoryConfig;
|
|
115
|
+
/** 安全配置 */
|
|
116
|
+
security: SecurityConfig;
|
|
117
|
+
/** 允许的路径白名单(绝对路径) */
|
|
191
118
|
allowedPaths: string[];
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
} | undefined;
|
|
198
|
-
}, {
|
|
199
|
-
persona?: string | undefined;
|
|
200
|
-
llm?: {
|
|
201
|
-
apiKey?: string | undefined;
|
|
202
|
-
temperature?: number | undefined;
|
|
203
|
-
model?: string | undefined;
|
|
204
|
-
active?: string | undefined;
|
|
205
|
-
provider?: string | undefined;
|
|
206
|
-
baseUrl?: string | undefined;
|
|
207
|
-
providers?: Record<string, {
|
|
208
|
-
model: string;
|
|
209
|
-
provider: string;
|
|
210
|
-
apiKey?: string | undefined;
|
|
211
|
-
temperature?: number | undefined;
|
|
212
|
-
baseUrl?: string | undefined;
|
|
213
|
-
contextWindow?: number | undefined;
|
|
214
|
-
}> | undefined;
|
|
215
|
-
background?: {
|
|
216
|
-
model: string;
|
|
217
|
-
provider: string;
|
|
218
|
-
apiKey?: string | undefined;
|
|
219
|
-
temperature?: number | undefined;
|
|
220
|
-
baseUrl?: string | undefined;
|
|
221
|
-
} | undefined;
|
|
222
|
-
} | undefined;
|
|
223
|
-
security?: {
|
|
224
|
-
permission?: "owner" | "guest" | undefined;
|
|
225
|
-
confirmWrites?: boolean | undefined;
|
|
226
|
-
} | undefined;
|
|
227
|
-
memory?: {
|
|
228
|
-
maxContextTokens?: number | undefined;
|
|
229
|
-
dataDir?: string | undefined;
|
|
230
|
-
} | undefined;
|
|
231
|
-
allowedPaths?: string[] | undefined;
|
|
232
|
-
embedding?: {
|
|
233
|
-
model: string;
|
|
234
|
-
apiKey?: string | undefined;
|
|
235
|
-
baseUrl?: string | undefined;
|
|
236
|
-
} | undefined;
|
|
237
|
-
}>;
|
|
238
|
-
export type Config = z.infer<typeof ConfigSchema>;
|
|
119
|
+
/** 默认角色名(对应 personas/*.md) */
|
|
120
|
+
persona?: string;
|
|
121
|
+
/** Embedding 配置(可选) */
|
|
122
|
+
embedding?: EmbeddingConfig;
|
|
123
|
+
}
|
|
239
124
|
/**
|
|
240
125
|
* 加载配置
|
|
241
126
|
*
|
|
242
|
-
* 单一真理源:所有默认值由
|
|
243
|
-
* 不再维护独立的
|
|
127
|
+
* 单一真理源:所有默认值由 DEFAULT_CONFIG 声明,
|
|
128
|
+
* 不再维护独立的 schema(避免两处真理源打架)。
|
|
129
|
+
*
|
|
130
|
+
* 查找顺序:显式 configPath → 项目级 .memora/config.json → 内置默认值。
|
|
131
|
+
* 用户级配置路径由宿主通过 configPath 显式传入。
|
|
244
132
|
*
|
|
245
133
|
* @param configPath 显式指定的配置文件路径
|
|
246
134
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAgCA,UAAU,cAAc;IACtB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,UAAU,gBAAgB;IACxB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,UAAU,SAAS;IAEjB,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,aAAa;AACb,UAAU,YAAY;IACpB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,aAAa;AACb,UAAU,cAAc;IACtB,iCAAiC;IACjC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,eAAe;IACf,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,UAAU,eAAe;IACvB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,aAAa;AACb,MAAM,WAAW,MAAM;IACrB,aAAa;IACb,GAAG,EAAE,SAAS,CAAC;IACf,WAAW;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,qBAAqB;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAgSD;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBrE"}
|