@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workProjection.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/workProjection.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"workProjection.d.ts","sourceRoot":"","sources":["../../../src/agent/managers/workProjection.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAanE,iBAAiB;AACjB,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW;IACX,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,WAAW;IAGxC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+D;IAExF;;;;;;;;;;;;;;;;OAgBG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAgBtC;;OAEG;YACW,kBAAkB;IAiDhC;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAO1E;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAO/C;;;;;;OAMG;YACW,QAAQ;IAuDtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAchB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAalB;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAyCtB"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* - hash 未变(重复读取)→ 跳过
|
|
13
13
|
*
|
|
14
14
|
* 设计原则:
|
|
15
|
-
* - 作品 =
|
|
15
|
+
* - 作品 = 用户的产出物(文档、代码等),不归 Agent 管
|
|
16
16
|
* - 作品投影 = Agent 记住"作品的形象",source = 'work-projection'
|
|
17
17
|
* - 文件变化由用户负责
|
|
18
18
|
*
|
|
@@ -24,9 +24,12 @@ import { createHash } from 'node:crypto';
|
|
|
24
24
|
import { SOURCE_LABELS } from '../../memory/types.js';
|
|
25
25
|
import { logger } from '../../logging/logger.js';
|
|
26
26
|
import { slugify } from '../../utils/strings.js';
|
|
27
|
-
import {
|
|
28
|
-
import { toError } from '../../utils/
|
|
27
|
+
import { getBaseName } from '../../utils/path.js';
|
|
28
|
+
import { toError } from '../../utils/toError.js';
|
|
29
29
|
import { parseLlmJson } from '../../utils/json.js';
|
|
30
|
+
import { nowIso } from '../../utils/time.js';
|
|
31
|
+
/** 作品投影生成时内容截断长度(字符),控制 LLM token 消耗 */
|
|
32
|
+
const CONTENT_TRUNCATE_CHARS = 3000;
|
|
30
33
|
/**
|
|
31
34
|
* 作品投影管理器
|
|
32
35
|
*
|
|
@@ -82,7 +85,7 @@ export class WorkProjectionManager {
|
|
|
82
85
|
*/
|
|
83
86
|
async doEnsureProjection(filePath, content, fileName) {
|
|
84
87
|
const hash = this.computeHash(content);
|
|
85
|
-
const name = fileName ?? (
|
|
88
|
+
const name = fileName ?? (getBaseName(filePath) || 'unknown');
|
|
86
89
|
// 查询已有投影
|
|
87
90
|
const existingId = `work-proj-${slugify(name)}`;
|
|
88
91
|
const existing = this.index.getById(existingId);
|
|
@@ -105,7 +108,7 @@ export class WorkProjectionManager {
|
|
|
105
108
|
summary: projection.summary,
|
|
106
109
|
structure: projection.structure,
|
|
107
110
|
keyDecisions: projection.keyDecisions,
|
|
108
|
-
updatedAt:
|
|
111
|
+
updatedAt: nowIso(),
|
|
109
112
|
};
|
|
110
113
|
// 写入存储(source = 'work-projection',语义独立)
|
|
111
114
|
this.index.upsert(this.toMemory(entry, hash));
|
|
@@ -124,7 +127,7 @@ export class WorkProjectionManager {
|
|
|
124
127
|
* @returns 投影条目,不存在返回 null
|
|
125
128
|
*/
|
|
126
129
|
async getProjection(filePath) {
|
|
127
|
-
const name =
|
|
130
|
+
const name = getBaseName(filePath) || 'unknown';
|
|
128
131
|
const id = `work-proj-${slugify(name)}`;
|
|
129
132
|
const existing = this.index.getById(id);
|
|
130
133
|
return existing ? this.fromMemory(existing) : null;
|
|
@@ -145,8 +148,8 @@ export class WorkProjectionManager {
|
|
|
145
148
|
* @returns { summary, structure, keyDecisions }
|
|
146
149
|
*/
|
|
147
150
|
async generate(name, content) {
|
|
148
|
-
//
|
|
149
|
-
const truncated = content.slice(0,
|
|
151
|
+
// 截断内容(控制 token 消耗)
|
|
152
|
+
const truncated = content.slice(0, CONTENT_TRUNCATE_CHARS);
|
|
150
153
|
const promptMessages = [
|
|
151
154
|
{
|
|
152
155
|
role: 'system',
|
|
@@ -209,8 +212,8 @@ export class WorkProjectionManager {
|
|
|
209
212
|
* summary 保持为可见内容。source = 'work-projection'。
|
|
210
213
|
*/
|
|
211
214
|
toMemory(entry, hash) {
|
|
212
|
-
const now =
|
|
213
|
-
const fileName =
|
|
215
|
+
const now = nowIso();
|
|
216
|
+
const fileName = getBaseName(entry.sourcePath);
|
|
214
217
|
return {
|
|
215
218
|
id: entry.id,
|
|
216
219
|
content: this.encodeContent(hash, entry.structure, entry.keyDecisions, entry.summary),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workProjection.js","sourceRoot":"","sources":["../../../src/agent/managers/workProjection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"workProjection.js","sourceRoot":"","sources":["../../../src/agent/managers/workProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,14 +29,6 @@ export declare class MessageHistory {
|
|
|
29
29
|
* 不注入则仅在内存中保存(AgentLoop.messages[])。
|
|
30
30
|
*/
|
|
31
31
|
private readonly sessionStore?;
|
|
32
|
-
/**
|
|
33
|
-
* 临时记忆最小窗口轮次(记忆减法方案 v1.0 · 排雷修正 L2)
|
|
34
|
-
*
|
|
35
|
-
* 上下文压缩时,最少保留的对话轮次。即使上下文利用率 ≥ 85%,
|
|
36
|
-
* 也不压缩到少于此轮次,保证基本上下文连贯性。
|
|
37
|
-
* 默认 3 轮,不可在运行时突破。
|
|
38
|
-
*/
|
|
39
|
-
private readonly minWindowRounds;
|
|
40
32
|
/** 当前日期 YYYY-MM-DD */
|
|
41
33
|
private currentDate;
|
|
42
34
|
/** 当前会话标识(不含日期前缀) */
|
|
@@ -52,15 +44,7 @@ export declare class MessageHistory {
|
|
|
52
44
|
* 注入后,消息会持久化到宿主提供的存储实现。
|
|
53
45
|
* 不注入则仅在内存中保存(AgentLoop.messages[])。
|
|
54
46
|
*/
|
|
55
|
-
sessionStore?: ISessionStore | undefined,
|
|
56
|
-
/**
|
|
57
|
-
* 临时记忆最小窗口轮次(记忆减法方案 v1.0 · 排雷修正 L2)
|
|
58
|
-
*
|
|
59
|
-
* 上下文压缩时,最少保留的对话轮次。即使上下文利用率 ≥ 85%,
|
|
60
|
-
* 也不压缩到少于此轮次,保证基本上下文连贯性。
|
|
61
|
-
* 默认 3 轮,不可在运行时突破。
|
|
62
|
-
*/
|
|
63
|
-
minWindowRounds?: number, initialDate?: string, initialSession?: string);
|
|
47
|
+
sessionStore?: ISessionStore | undefined, initialDate?: string, initialSession?: string);
|
|
64
48
|
/**
|
|
65
49
|
* 获取当前会话名(日期-会话组合名)
|
|
66
50
|
*/
|
|
@@ -73,11 +57,6 @@ export declare class MessageHistory {
|
|
|
73
57
|
* 获取当前会话标识
|
|
74
58
|
*/
|
|
75
59
|
get session(): string;
|
|
76
|
-
/**
|
|
77
|
-
* 获取最小窗口轮次(记忆减法方案 v1.0)
|
|
78
|
-
* 上下文压缩时的下限保护
|
|
79
|
-
*/
|
|
80
|
-
get minWindowRoundsValue(): number;
|
|
81
60
|
/**
|
|
82
61
|
* 切换会话
|
|
83
62
|
* @param newSession - 新会话标识
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageHistory.d.ts","sourceRoot":"","sources":["../../src/agent/messageHistory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"messageHistory.d.ts","sourceRoot":"","sources":["../../src/agent/messageHistory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM9E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,cAAc;IAavB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAjBhC,sBAAsB;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,qBAAqB;IACrB,OAAO,CAAC,cAAc,CAAS;IAE/B;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAoC;;IAGzD;;;;OAIG;IACc,YAAY,CAAC,EAAE,aAAa,YAAA,EAC7C,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,SAAS;IAMzB;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED,wCAAwC;IACxC,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,+BAA+B;IAC/B,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAKzC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IA0BtB;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU;IAuD/C;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrD;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ1C;;;;;;;OAOG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAenF;;;OAGG;IACH,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAOjD;;;;;;;;;OASG;IACG,oBAAoB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA4B/D"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { logger } from '../logging/logger.js';
|
|
2
2
|
import { configError } from '../utils/errors.js';
|
|
3
|
+
import { safeSetTimeout } from '../utils/safeTimer.js';
|
|
3
4
|
import { nowIso, todayDate } from '../utils/time.js';
|
|
4
5
|
/**
|
|
5
6
|
* 消息历史类
|
|
6
7
|
*/
|
|
7
8
|
export class MessageHistory {
|
|
8
9
|
sessionStore;
|
|
9
|
-
minWindowRounds;
|
|
10
10
|
/** 当前日期 YYYY-MM-DD */
|
|
11
11
|
currentDate;
|
|
12
12
|
/** 当前会话标识(不含日期前缀) */
|
|
@@ -22,17 +22,8 @@ export class MessageHistory {
|
|
|
22
22
|
* 注入后,消息会持久化到宿主提供的存储实现。
|
|
23
23
|
* 不注入则仅在内存中保存(AgentLoop.messages[])。
|
|
24
24
|
*/
|
|
25
|
-
sessionStore,
|
|
26
|
-
/**
|
|
27
|
-
* 临时记忆最小窗口轮次(记忆减法方案 v1.0 · 排雷修正 L2)
|
|
28
|
-
*
|
|
29
|
-
* 上下文压缩时,最少保留的对话轮次。即使上下文利用率 ≥ 85%,
|
|
30
|
-
* 也不压缩到少于此轮次,保证基本上下文连贯性。
|
|
31
|
-
* 默认 3 轮,不可在运行时突破。
|
|
32
|
-
*/
|
|
33
|
-
minWindowRounds = 3, initialDate, initialSession = 'main') {
|
|
25
|
+
sessionStore, initialDate, initialSession = 'main') {
|
|
34
26
|
this.sessionStore = sessionStore;
|
|
35
|
-
this.minWindowRounds = minWindowRounds;
|
|
36
27
|
this.currentDate = initialDate ?? todayDate();
|
|
37
28
|
this.currentSession = initialSession;
|
|
38
29
|
}
|
|
@@ -56,13 +47,6 @@ export class MessageHistory {
|
|
|
56
47
|
get session() {
|
|
57
48
|
return this.currentSession;
|
|
58
49
|
}
|
|
59
|
-
/**
|
|
60
|
-
* 获取最小窗口轮次(记忆减法方案 v1.0)
|
|
61
|
-
* 上下文压缩时的下限保护
|
|
62
|
-
*/
|
|
63
|
-
get minWindowRoundsValue() {
|
|
64
|
-
return this.minWindowRounds;
|
|
65
|
-
}
|
|
66
50
|
/**
|
|
67
51
|
* 切换会话
|
|
68
52
|
* @param newSession - 新会话标识
|
|
@@ -275,7 +259,7 @@ export class MessageHistory {
|
|
|
275
259
|
return true;
|
|
276
260
|
}
|
|
277
261
|
// 有挂起任务 → 等所有 settle
|
|
278
|
-
const timeout = new Promise((resolve) =>
|
|
262
|
+
const timeout = new Promise((resolve) => safeSetTimeout(resolve, Math.max(50, deadline - Date.now())));
|
|
279
263
|
await Promise.race([Promise.allSettled(current), timeout]);
|
|
280
264
|
// 如果所有都清空了 → 完成
|
|
281
265
|
if (this.pendingArchives.size === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageHistory.js","sourceRoot":"","sources":["../../src/agent/messageHistory.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAcpD;;GAEG;AACH,MAAM,OAAO,cAAc;IAkBN;
|
|
1
|
+
{"version":3,"file":"messageHistory.js","sourceRoot":"","sources":["../../src/agent/messageHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 工具执行器
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 阶段二(M-204):扩展为 4 个工具(read_file / write_file / list_dir / search_memories)
|
|
4
|
+
* 4 个内置工具:read_file / write_file / list_dir / search_memories
|
|
6
5
|
* 详见 ADR-006 · 安全采用两级权限 + 工具白名单 + 路径白名单
|
|
7
6
|
*
|
|
8
|
-
*
|
|
7
|
+
* 内置工具实现 + 路径安全已提取到 BuiltinToolHandlers,
|
|
9
8
|
* ToolExecutor 聚焦工具注册 / 分发 / 参数校验。
|
|
10
9
|
*/
|
|
11
10
|
import type { SecurityGuard } from '../security/pathGuard.js';
|
|
@@ -57,28 +56,16 @@ export interface ToolContext {
|
|
|
57
56
|
* S-01: 自定义工具如需访问文件系统,应调用 ctx.guardPath(path) 校验路径。
|
|
58
57
|
*/
|
|
59
58
|
export type ToolHandler = (args: Record<string, unknown>, ctx: ToolContext) => Promise<string>;
|
|
60
|
-
/**
|
|
61
|
-
* 自定义工具注册条目
|
|
62
|
-
*
|
|
63
|
-
* 将工具定义与处理器绑定在一起,
|
|
64
|
-
* 存入 ToolExecutor 的 customTools Map 中。
|
|
65
|
-
*/
|
|
66
|
-
export interface CustomToolEntry {
|
|
67
|
-
/** 工具定义(名称、描述、参数 schema) */
|
|
68
|
-
definition: ToolDefinition;
|
|
69
|
-
/** 工具执行处理器 */
|
|
70
|
-
handler: ToolHandler;
|
|
71
|
-
}
|
|
72
59
|
/**
|
|
73
60
|
* 工具执行器
|
|
74
61
|
*
|
|
75
62
|
* 职责:工具注册 + 分发 + 参数校验。
|
|
76
|
-
* 内置工具实现委托给 BuiltinToolHandlers
|
|
63
|
+
* 内置工具实现委托给 BuiltinToolHandlers。
|
|
77
64
|
*/
|
|
78
65
|
export declare class ToolExecutor {
|
|
79
66
|
/** 自定义工具注册表(宿主项目通过 registerTool 注册领域工具) */
|
|
80
67
|
private readonly customTools;
|
|
81
|
-
/** 内置工具处理器(路径安全 +
|
|
68
|
+
/** 内置工具处理器(路径安全 + 内置工具实现) */
|
|
82
69
|
private readonly builtinHandlers;
|
|
83
70
|
constructor(projectPath: string, security: SecurityGuard, memoryIndex: IMemoryStorage,
|
|
84
71
|
/** 作品投影管理器(可选,读取文件时自动生成投影) */
|
|
@@ -86,7 +73,7 @@ export declare class ToolExecutor {
|
|
|
86
73
|
/**
|
|
87
74
|
* 注册自定义工具
|
|
88
75
|
*
|
|
89
|
-
*
|
|
76
|
+
* 宿主项目调用此方法注册领域专属工具(如 create_chapter、run_tests 等业务专属操作)。
|
|
90
77
|
* 工具名不能与内置工具重复,也不能重复注册。
|
|
91
78
|
* 注册后工具会出现在 `tools.list` 列表中,
|
|
92
79
|
* LLM 可通过 tool_call 调用,execute() 会路由到 handler。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolExecutor.d.ts","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"toolExecutor.d.ts","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,KAAK,UAAU,GAAG,MAAM,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAgB/F;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;gBAGpD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,cAAc;IAC3B,8BAA8B;IAC9B,cAAc,CAAC,EAAE,qBAAqB;IAYxC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAwBpE;;OAEG;IACH,IAAI,IAAI,IAAI,cAAc,EAAE,CAE3B;IAED;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAwGhG;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,qBAAqB;CAyE9B"}
|
|
@@ -7,24 +7,24 @@ export { BUILTIN_TOOLS } from '../agent/builtinTools.js';
|
|
|
7
7
|
* 工具执行器
|
|
8
8
|
*
|
|
9
9
|
* 职责:工具注册 + 分发 + 参数校验。
|
|
10
|
-
* 内置工具实现委托给 BuiltinToolHandlers
|
|
10
|
+
* 内置工具实现委托给 BuiltinToolHandlers。
|
|
11
11
|
*/
|
|
12
12
|
export class ToolExecutor {
|
|
13
13
|
/** 自定义工具注册表(宿主项目通过 registerTool 注册领域工具) */
|
|
14
14
|
customTools = new Map();
|
|
15
|
-
/** 内置工具处理器(路径安全 +
|
|
15
|
+
/** 内置工具处理器(路径安全 + 内置工具实现) */
|
|
16
16
|
builtinHandlers;
|
|
17
17
|
constructor(projectPath, security, memoryIndex,
|
|
18
18
|
/** 作品投影管理器(可选,读取文件时自动生成投影) */
|
|
19
19
|
workProjection) {
|
|
20
|
-
//
|
|
20
|
+
// 内置工具实现 + 路径安全委托给 BuiltinToolHandlers
|
|
21
21
|
// 构造参数仅用于初始化 BuiltinToolHandlers,ToolExecutor 自身不再持有这些引用
|
|
22
22
|
this.builtinHandlers = new BuiltinToolHandlers(projectPath, security, memoryIndex, workProjection);
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* 注册自定义工具
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* 宿主项目调用此方法注册领域专属工具(如 create_chapter、run_tests 等业务专属操作)。
|
|
28
28
|
* 工具名不能与内置工具重复,也不能重复注册。
|
|
29
29
|
* 注册后工具会出现在 `tools.list` 列表中,
|
|
30
30
|
* LLM 可通过 tool_call 调用,execute() 会路由到 handler。
|
|
@@ -97,7 +97,7 @@ export class ToolExecutor {
|
|
|
97
97
|
const val = args[key];
|
|
98
98
|
return typeof val === 'string' ? val : (fallback ?? '');
|
|
99
99
|
};
|
|
100
|
-
//
|
|
100
|
+
// 内置工具调用委托给 BuiltinToolHandlers
|
|
101
101
|
switch (name) {
|
|
102
102
|
case 'read_file':
|
|
103
103
|
return this.builtinHandlers.readFile(strArg('path'));
|
|
@@ -111,8 +111,8 @@ export class ToolExecutor {
|
|
|
111
111
|
// 自定义工具 fallback:查找 customTools Map
|
|
112
112
|
const custom = this.customTools.get(name);
|
|
113
113
|
if (custom) {
|
|
114
|
-
//
|
|
115
|
-
//
|
|
114
|
+
// 传入 ToolContext,提供 guardPath 安全校验方法
|
|
115
|
+
// 路径安全委托给 BuiltinToolHandlers
|
|
116
116
|
const ctx = {
|
|
117
117
|
guardPath: (path) => {
|
|
118
118
|
const absolutePath = this.builtinHandlers.resolveSafePath(path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolExecutor.js","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolExecutor.js","sourceRoot":"","sources":["../../src/agent/toolExecutor.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/tracer.d.ts
CHANGED
|
@@ -57,8 +57,15 @@ export declare const TRACE_SPANS: {
|
|
|
57
57
|
readonly TOOL_EXEC: "tool.execute";
|
|
58
58
|
/** 最终响应生成 */
|
|
59
59
|
readonly RESPONSE: "response.generate";
|
|
60
|
-
/**
|
|
60
|
+
/** 记忆衰减执行(补全衰减可观测性缺口) */
|
|
61
61
|
readonly DECAY: "memory.decay";
|
|
62
|
+
/**
|
|
63
|
+
* 上下文摘要生成(补全 generateContextSummary 可观测性缺口)
|
|
64
|
+
*
|
|
65
|
+
* 触发条件:消息超 maxContextTokens 触发截断时,调用 LLM 生成"遗忘补偿"摘要。
|
|
66
|
+
* 监控此 span 可观察截断频率、摘要生成耗时与失败率。
|
|
67
|
+
*/
|
|
68
|
+
readonly CONTEXT_SUMMARY: "context.summary";
|
|
62
69
|
};
|
|
63
70
|
/**
|
|
64
71
|
* Agent 运行时指标快照
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,iBAAiB;AACjB,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAIpD,6BAA6B;AAC7B,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,iBAAiB;IACjB,GAAG,IAAI,IAAI,CAAC;IACZ,4BAA4B;IAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrC;AAID,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC;CACjF;AA4BD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,OAA0B,CAAC;AAIrD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB,aAAa;;IAEb,iBAAiB;;IAEjB,WAAW;;IAEX,aAAa;;IAEb,
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,iBAAiB;AACjB,KAAK,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAIpD,6BAA6B;AAC7B,MAAM,WAAW,KAAK;IACpB,yBAAyB;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,iBAAiB;IACjB,GAAG,IAAI,IAAI,CAAC;IACZ,4BAA4B;IAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrC;AAID,8BAA8B;AAC9B,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC;CACjF;AA4BD,qCAAqC;AACrC,eAAO,MAAM,WAAW,EAAE,OAA0B,CAAC;AAIrD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB,aAAa;;IAEb,iBAAiB;;IAEjB,WAAW;;IAEX,aAAa;;IAEb,yBAAyB;;IAEzB;;;;;OAKG;;CAEK,CAAC;AAIX;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB;IACjB,GAAG,EAAE;QACH,4CAA4C;QAC5C,SAAS,EAAE,MAAM,CAAC;QAClB,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;QACzB,2CAA2C;QAC3C,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,eAAe;IACf,MAAM,EAAE;QACN,uCAAuC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,sBAAsB;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,0DAA0D;QAC1D,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,eAAe;IACf,KAAK,EAAE;QACL,cAAc;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,4BAA4B;QAC5B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,cAAc;IACd,OAAO,EAAE;QACP,oDAAoD;QACpD,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,sCAAsC;QACtC,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,+CAA+C;IAC/C,KAAK,EAAE;QACL,aAAa;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,8BAA8B;QAC9B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oCAAoC;QACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV"}
|
package/dist/agent/tracer.js
CHANGED
|
@@ -58,7 +58,14 @@ export const TRACE_SPANS = {
|
|
|
58
58
|
TOOL_EXEC: 'tool.execute',
|
|
59
59
|
/** 最终响应生成 */
|
|
60
60
|
RESPONSE: 'response.generate',
|
|
61
|
-
/**
|
|
61
|
+
/** 记忆衰减执行(补全衰减可观测性缺口) */
|
|
62
62
|
DECAY: 'memory.decay',
|
|
63
|
+
/**
|
|
64
|
+
* 上下文摘要生成(补全 generateContextSummary 可观测性缺口)
|
|
65
|
+
*
|
|
66
|
+
* 触发条件:消息超 maxContextTokens 触发截断时,调用 LLM 生成"遗忘补偿"摘要。
|
|
67
|
+
* 监控此 span 可观察截断频率、摘要生成耗时与失败率。
|
|
68
|
+
*/
|
|
69
|
+
CONTEXT_SUMMARY: 'context.summary',
|
|
63
70
|
};
|
|
64
71
|
//# sourceMappingURL=tracer.js.map
|
package/dist/agent/tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiCH,6CAA6C;AAE7C,0BAA0B;AAC1B,MAAM,QAAQ;IACZ,YAAY,CAAC,IAAY,EAAE,MAA0B;QACnD,OAAO;IACT,CAAC;IACD,GAAG;QACD,OAAO;IACT,CAAC;IACD,eAAe,CAAC,MAAa;QAC3B,OAAO;IACT,CAAC;CACF;AAED,iCAAiC;AACjC,MAAM,UAAU;IACd,SAAS,CAAC,KAAa,EAAE,WAAgD;QACvE,2BAA2B;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,4CAA4C;AAC5C,MAAM,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEjC,qCAAqC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAY,IAAI,UAAU,EAAE,CAAC;AAErD,kDAAkD;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa;IACb,MAAM,EAAE,eAAe;IACvB,iBAAiB;IACjB,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,SAAS,EAAE,cAAc;IACzB,aAAa;IACb,QAAQ,EAAE,mBAAmB;IAC7B,
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/agent/tracer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiCH,6CAA6C;AAE7C,0BAA0B;AAC1B,MAAM,QAAQ;IACZ,YAAY,CAAC,IAAY,EAAE,MAA0B;QACnD,OAAO;IACT,CAAC;IACD,GAAG;QACD,OAAO;IACT,CAAC;IACD,eAAe,CAAC,MAAa;QAC3B,OAAO;IACT,CAAC;CACF;AAED,iCAAiC;AACjC,MAAM,UAAU;IACd,SAAS,CAAC,KAAa,EAAE,WAAgD;QACvE,2BAA2B;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,4CAA4C;AAC5C,MAAM,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC;AAEjC,qCAAqC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAY,IAAI,UAAU,EAAE,CAAC;AAErD,kDAAkD;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa;IACb,MAAM,EAAE,eAAe;IACvB,iBAAiB;IACjB,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,SAAS,EAAE,cAAc;IACzB,aAAa;IACb,QAAQ,EAAE,mBAAmB;IAC7B,yBAAyB;IACzB,KAAK,EAAE,cAAc;IACrB;;;;;OAKG;IACH,eAAe,EAAE,iBAAiB;CAC1B,CAAC"}
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export type ThinkingPhase = 'recalling' | 'processing' | 'archiving';
|
|
|
26
26
|
* - source:来源标签,可选展示(如 rule/insight/profile)
|
|
27
27
|
*/
|
|
28
28
|
export interface RecalledMemorySummary {
|
|
29
|
+
/** 记忆唯一标识(source:name 格式,用于前端精准跳转详情) */
|
|
30
|
+
id: string;
|
|
29
31
|
/** 记忆可读名称(点击跳转记忆详情用) */
|
|
30
32
|
name: string;
|
|
31
33
|
/** 相似度分数(0-1) */
|
|
@@ -59,6 +61,12 @@ export type AgentChunk = {
|
|
|
59
61
|
} | {
|
|
60
62
|
type: 'error';
|
|
61
63
|
message: string;
|
|
64
|
+
} | {
|
|
65
|
+
type: 'retry';
|
|
66
|
+
attempt: number;
|
|
67
|
+
maxRetries: number;
|
|
68
|
+
delayMs: number;
|
|
69
|
+
error: string;
|
|
62
70
|
} | {
|
|
63
71
|
type: 'done';
|
|
64
72
|
};
|
|
@@ -75,6 +83,14 @@ export interface UIMessages {
|
|
|
75
83
|
abortedByUser?: string;
|
|
76
84
|
/** 达到最大迭代次数提示(默认 "\n\n[Max iterations reached]") */
|
|
77
85
|
maxIterationsReached?: string;
|
|
86
|
+
/**
|
|
87
|
+
* 流式中断标记(默认 "\n\n[已中断]")
|
|
88
|
+
*
|
|
89
|
+
* 流式输出被用户中断时,已生成的部分文本仍会写入历史,
|
|
90
|
+
* 此标记追加到文本末尾,让下一轮 LLM 上下文和历史归档能识别中断响应。
|
|
91
|
+
* 与 maxIterationsReached 性质相同(对话末尾状态标记)。
|
|
92
|
+
*/
|
|
93
|
+
interrupted?: string;
|
|
78
94
|
/**
|
|
79
95
|
* 上下文窗口截断提示生成函数
|
|
80
96
|
* @param skipped 被裁剪的消息数
|
|
@@ -95,4 +111,17 @@ export interface UIMessages {
|
|
|
95
111
|
/** 输出被护栏阻断提示模板 */
|
|
96
112
|
outputBlockedByGuard?: (rule: string) => string;
|
|
97
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Agent 归档模式三态控制
|
|
116
|
+
*
|
|
117
|
+
* 详见 ADR-015-archive-mode.md。
|
|
118
|
+
*
|
|
119
|
+
* - `full`(默认):profile facts + insight + 对话原始内容(会话归档预留)全部自动归档
|
|
120
|
+
* - `insights-only`:profile facts + insight 自动归档,对话原始内容需手动归档
|
|
121
|
+
* - `manual`:所有归档都需手动触发,postProcess 跳过所有自动归档分支
|
|
122
|
+
*
|
|
123
|
+
* 设计原则:profile facts 与 insight 同属"提炼类记忆"(从输入加工得到,非原始对话),
|
|
124
|
+
* 归档行为保持一致——`insights-only` 下都自动,`manual` 下都需手动。
|
|
125
|
+
*/
|
|
126
|
+
export type ArchiveMode = 'full' | 'insights-only' | 'manual';
|
|
98
127
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,uBAAuB;AACvB,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,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;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;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,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;;;;;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;CACjD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;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;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;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;CACjD;AAID;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,eAAe,GAAG,QAAQ,CAAC"}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* - 语义解析属于 agent/ 层,memory/ 只做存储
|
|
10
10
|
* - 兼顾阶段一低成本需求(正则规则),后续可升级为 LLM 提取
|
|
11
11
|
*/
|
|
12
|
-
import type { ExtractedFact } from '
|
|
13
|
-
export type { ExtractedFact } from '
|
|
12
|
+
import type { ExtractedFact } from '../memory/userProfile.js';
|
|
13
|
+
export type { ExtractedFact } from '../memory/userProfile.js';
|
|
14
14
|
/**
|
|
15
15
|
* 从用户输入中提取事实
|
|
16
16
|
*
|
|
@@ -0,0 +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,CAgFlF"}
|
|
@@ -0,0 +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"}
|
package/dist/config/loader.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
74
74
|
baseUrl?: string | undefined;
|
|
75
75
|
} | undefined;
|
|
76
76
|
apiKey?: string | undefined;
|
|
77
|
+
active?: string | undefined;
|
|
77
78
|
baseUrl?: string | undefined;
|
|
78
79
|
providers?: Record<string, {
|
|
79
80
|
model: string;
|
|
@@ -81,7 +82,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
81
82
|
apiKey?: string | undefined;
|
|
82
83
|
baseUrl?: string | undefined;
|
|
83
84
|
}> | undefined;
|
|
84
|
-
active?: string | undefined;
|
|
85
85
|
}, {
|
|
86
86
|
background?: {
|
|
87
87
|
model: string;
|
|
@@ -93,6 +93,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
93
93
|
apiKey?: string | undefined;
|
|
94
94
|
temperature?: number | undefined;
|
|
95
95
|
model?: string | undefined;
|
|
96
|
+
active?: string | undefined;
|
|
96
97
|
provider?: string | undefined;
|
|
97
98
|
baseUrl?: string | undefined;
|
|
98
99
|
providers?: Record<string, {
|
|
@@ -101,7 +102,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
101
102
|
apiKey?: string | undefined;
|
|
102
103
|
baseUrl?: string | undefined;
|
|
103
104
|
}> | undefined;
|
|
104
|
-
active?: string | undefined;
|
|
105
105
|
}>;
|
|
106
106
|
memory: z.ZodObject<{
|
|
107
107
|
dataDir: z.ZodDefault<z.ZodString>;
|
|
@@ -157,6 +157,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
157
157
|
baseUrl?: string | undefined;
|
|
158
158
|
} | undefined;
|
|
159
159
|
apiKey?: string | undefined;
|
|
160
|
+
active?: string | undefined;
|
|
160
161
|
baseUrl?: string | undefined;
|
|
161
162
|
providers?: Record<string, {
|
|
162
163
|
model: string;
|
|
@@ -164,7 +165,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
164
165
|
apiKey?: string | undefined;
|
|
165
166
|
baseUrl?: string | undefined;
|
|
166
167
|
}> | undefined;
|
|
167
|
-
active?: string | undefined;
|
|
168
168
|
};
|
|
169
169
|
security: {
|
|
170
170
|
permission: "owner" | "guest";
|
|
@@ -193,6 +193,7 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
193
193
|
apiKey?: string | undefined;
|
|
194
194
|
temperature?: number | undefined;
|
|
195
195
|
model?: string | undefined;
|
|
196
|
+
active?: string | undefined;
|
|
196
197
|
provider?: string | undefined;
|
|
197
198
|
baseUrl?: string | undefined;
|
|
198
199
|
providers?: Record<string, {
|
|
@@ -201,7 +202,6 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
201
202
|
apiKey?: string | undefined;
|
|
202
203
|
baseUrl?: string | undefined;
|
|
203
204
|
}> | undefined;
|
|
204
|
-
active?: string | undefined;
|
|
205
205
|
};
|
|
206
206
|
security: {
|
|
207
207
|
permission?: "owner" | "guest" | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,QAAA,MAAM,YAAY;;;;;;;QAQd;;;;;;WAMG;;;;;;;;;;;;;;;;;QAEH;;;;;WAKG;;QAEH;;;;;;WAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuBL;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQH,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAqBlD;;;GAGG;AACH,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BrE"}
|