yuangs 5.60.0 → 5.63.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.
Files changed (35) hide show
  1. package/dist/agent/DualAgentRuntime.d.ts +15 -1
  2. package/dist/agent/DualAgentRuntime.js +62 -37
  3. package/dist/agent/DualAgentRuntime.js.map +1 -1
  4. package/dist/agent/PlanCache.d.ts +207 -0
  5. package/dist/agent/PlanCache.js +468 -0
  6. package/dist/agent/PlanCache.js.map +1 -0
  7. package/dist/agent/governance/riskScoring.d.ts +118 -0
  8. package/dist/agent/governance/riskScoring.js +422 -0
  9. package/dist/agent/governance/riskScoring.js.map +1 -0
  10. package/dist/agent/governance.d.ts +26 -0
  11. package/dist/agent/governance.js +86 -5
  12. package/dist/agent/governance.js.map +1 -1
  13. package/dist/agent/relevance.d.ts +93 -0
  14. package/dist/agent/relevance.js +345 -1
  15. package/dist/agent/relevance.js.map +1 -1
  16. package/dist/agent/smartContextManager.d.ts +22 -1
  17. package/dist/agent/smartContextManager.js +108 -4
  18. package/dist/agent/smartContextManager.js.map +1 -1
  19. package/dist/agent/state.d.ts +3 -0
  20. package/dist/commands/contextStorage.d.ts +32 -0
  21. package/dist/commands/contextStorage.js +81 -0
  22. package/dist/commands/contextStorage.js.map +1 -1
  23. package/dist/core/modelRouter/AdaptiveWeights.d.ts +134 -0
  24. package/dist/core/modelRouter/AdaptiveWeights.js +300 -0
  25. package/dist/core/modelRouter/AdaptiveWeights.js.map +1 -0
  26. package/dist/core/modelRouter/ModelRouter.d.ts +45 -3
  27. package/dist/core/modelRouter/ModelRouter.js +138 -6
  28. package/dist/core/modelRouter/ModelRouter.js.map +1 -1
  29. package/dist/core/modelRouter/MultiMetricSupervisor.d.ts +99 -0
  30. package/dist/core/modelRouter/MultiMetricSupervisor.js +267 -0
  31. package/dist/core/modelRouter/MultiMetricSupervisor.js.map +1 -0
  32. package/dist/core/modelRouter/policies/DslPolicy.d.ts +16 -1
  33. package/dist/core/modelRouter/policies/DslPolicy.js +22 -1
  34. package/dist/core/modelRouter/policies/DslPolicy.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,10 +1,12 @@
1
1
  import { TaskStep } from './types';
2
+ import { PlanCache } from './PlanCache';
2
3
  export declare class DualAgentRuntime {
3
4
  private context;
4
5
  private executionId;
5
6
  private steps;
6
7
  private currentIndex;
7
- constructor(initialContext: any);
8
+ private planCache;
9
+ constructor(initialContext: any, planCache?: PlanCache);
8
10
  run(userInput: string, onChunk?: (chunk: string) => void, model?: string): Promise<void>;
9
11
  private shouldUsePlanner;
10
12
  private assessComplexity;
@@ -20,4 +22,16 @@ export declare class DualAgentRuntime {
20
22
  steps: TaskStep[];
21
23
  currentIndex: number;
22
24
  };
25
+ /**
26
+ * 获取计划缓存统计
27
+ */
28
+ getPlanCacheStats(): import("./PlanCache").CacheStats;
29
+ /**
30
+ * 清理计划缓存
31
+ */
32
+ clearPlanCache(): void;
33
+ /**
34
+ * 清理过期的计划缓存
35
+ */
36
+ cleanupPlanCache(): number;
23
37
  }
@@ -43,14 +43,18 @@ const executor_1 = require("./executor");
43
43
  const contextManager_1 = require("./contextManager");
44
44
  const client_1 = require("../ai/client");
45
45
  const modelRouterIntegration_1 = require("./modelRouterIntegration");
46
+ const PlanCache_1 = require("./PlanCache");
46
47
  class DualAgentRuntime {
47
48
  context;
48
49
  executionId;
49
50
  steps = [];
50
51
  currentIndex = 0;
51
- constructor(initialContext) {
52
+ planCache;
53
+ constructor(initialContext, planCache) {
52
54
  this.context = new contextManager_1.ContextManager(initialContext);
53
55
  this.executionId = (0, crypto_1.randomUUID)();
56
+ // 默认创建新的缓存实例,避免全局单例导致的测试隔离问题
57
+ this.planCache = planCache || new PlanCache_1.PlanCache();
54
58
  }
55
59
  async run(userInput, onChunk, model) {
56
60
  const needsPlanner = await this.shouldUsePlanner(userInput);
@@ -140,44 +144,47 @@ class DualAgentRuntime {
140
144
  async callPlanner(input, model) {
141
145
  const config = (0, client_1.getUserConfig)();
142
146
  const finalModel = model || config.defaultModel || 'Assistant';
143
- const prompt = this.buildPlannerPrompt(input);
144
- const messages = [{ role: 'user', content: prompt }];
145
- try {
146
- let response;
147
- if (model) {
148
- console.log(chalk_1.default.gray(`[Planner] Using specified model: ${model}`));
149
- response = await (0, client_1.askAI)(prompt, model);
150
- }
151
- else {
152
- console.log(chalk_1.default.gray(`[Planner] Choosing best model for planning...`));
153
- const routerResult = await (0, modelRouterIntegration_1.callLLMWithRouter)(messages, 'command', {
154
- taskType: 'analysis', // Planning is primarily analysis
155
- routingStrategy: 'best_quality' // We want high quality plans
156
- });
157
- response = routerResult.rawText || await (0, client_1.askAI)(prompt, finalModel);
158
- }
159
- const jsonMatch = response.match(/```json\n([\s\S]*?)\n```/);
160
- if (jsonMatch) {
161
- return JSON.parse(jsonMatch[1]);
147
+ // 使用计划缓存
148
+ return this.planCache.getOrGenerate(input, async () => {
149
+ const prompt = this.buildPlannerPrompt(input);
150
+ const messages = [{ role: 'user', content: prompt }];
151
+ try {
152
+ let response;
153
+ if (model) {
154
+ console.log(chalk_1.default.gray(`[Planner] Using specified model: ${model}`));
155
+ response = await (0, client_1.askAI)(prompt, model);
156
+ }
157
+ else {
158
+ console.log(chalk_1.default.gray(`[Planner] Choosing best model for planning...`));
159
+ const routerResult = await (0, modelRouterIntegration_1.callLLMWithRouter)(messages, 'command', {
160
+ taskType: 'analysis', // Planning is primarily analysis
161
+ routingStrategy: 'best_quality' // We want high quality plans
162
+ });
163
+ response = routerResult.rawText || await (0, client_1.askAI)(prompt, finalModel);
164
+ }
165
+ const jsonMatch = response.match(/```json\n([\s\S]*?)\n```/);
166
+ if (jsonMatch) {
167
+ return JSON.parse(jsonMatch[1]);
168
+ }
169
+ const braceMatch = response.match(/\{[\s\S]*\}/);
170
+ if (braceMatch) {
171
+ return JSON.parse(braceMatch[0]);
172
+ }
173
+ return {
174
+ plan: 'No plan generated',
175
+ steps: [],
176
+ estimated_time: 'Unknown'
177
+ };
162
178
  }
163
- const braceMatch = response.match(/\{[\s\S]*\}/);
164
- if (braceMatch) {
165
- return JSON.parse(braceMatch[0]);
179
+ catch (error) {
180
+ console.error(chalk_1.default.red(`Planner error: ${error}`));
181
+ return {
182
+ plan: 'Plan generation failed',
183
+ steps: [],
184
+ estimated_time: 'Unknown'
185
+ };
166
186
  }
167
- return {
168
- plan: 'No plan generated',
169
- steps: [],
170
- estimated_time: 'Unknown'
171
- };
172
- }
173
- catch (error) {
174
- console.error(chalk_1.default.red(`Planner error: ${error}`));
175
- return {
176
- plan: 'Plan generation failed',
177
- steps: [],
178
- estimated_time: 'Unknown'
179
- };
180
- }
187
+ });
181
188
  }
182
189
  buildPlannerPrompt(input) {
183
190
  const context = this.getContextSummary();
@@ -308,6 +315,24 @@ ${context ? `Context:\n${context}\n` : ''}
308
315
  currentIndex: this.currentIndex
309
316
  };
310
317
  }
318
+ /**
319
+ * 获取计划缓存统计
320
+ */
321
+ getPlanCacheStats() {
322
+ return this.planCache.getStats();
323
+ }
324
+ /**
325
+ * 清理计划缓存
326
+ */
327
+ clearPlanCache() {
328
+ this.planCache.clear();
329
+ }
330
+ /**
331
+ * 清理过期的计划缓存
332
+ */
333
+ cleanupPlanCache() {
334
+ return this.planCache.cleanup();
335
+ }
311
336
  }
312
337
  exports.DualAgentRuntime = DualAgentRuntime;
313
338
  //# sourceMappingURL=DualAgentRuntime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DualAgentRuntime.js","sourceRoot":"","sources":["../../src/agent/DualAgentRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DualAgentRuntime.js","sourceRoot":"","sources":["../../src/agent/DualAgentRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ import { TaskPlan } from './types';
2
+ /**
3
+ * 缓存条目
4
+ */
5
+ interface CacheEntry {
6
+ /** 计划内容 */
7
+ plan: TaskPlan;
8
+ /** 规范化后的输入(用于相似度匹配) */
9
+ normalizedInput: string;
10
+ /** 缓存时间戳 */
11
+ timestamp: number;
12
+ /** 访问次数 */
13
+ accessCount: number;
14
+ /** 最后访问时间 */
15
+ lastAccessed: number;
16
+ /** 命中次数 */
17
+ hitCount: number;
18
+ /** 计划的复杂度评分 */
19
+ complexityScore: number;
20
+ }
21
+ /**
22
+ * 缓存配置
23
+ */
24
+ export interface PlanCacheConfig {
25
+ /** 最大缓存条目数 */
26
+ maxEntries: number;
27
+ /** 缓存过期时间 (毫秒) */
28
+ ttl: number;
29
+ /** 是否启用复杂度感知缓存 */
30
+ enableComplexityAware: boolean;
31
+ /** 相似度阈值 (0-1),高于此值视为匹配 */
32
+ similarityThreshold: number;
33
+ }
34
+ /**
35
+ * 缓存统计信息
36
+ */
37
+ export interface CacheStats {
38
+ /** 总条目数 */
39
+ totalEntries: number;
40
+ /** 总命中次数 */
41
+ totalHits: number;
42
+ /** 总未命中次数 */
43
+ totalMisses: number;
44
+ /** 命中率 */
45
+ hitRate: number;
46
+ /** 平均缓存大小 (bytes) */
47
+ avgCacheSize: number;
48
+ /** 复杂度分布 */
49
+ complexityDistribution: {
50
+ low: number;
51
+ medium: number;
52
+ high: number;
53
+ };
54
+ }
55
+ /**
56
+ * 计划缓存系统
57
+ *
58
+ * 功能:
59
+ * 1. 输入规范化 - 将可变参数替换为占位符
60
+ * 2. 相似度匹配 - 使用 TF-IDF 计算文本相似度
61
+ * 3. 复杂度感知 - 根据计划复杂度调整缓存策略
62
+ * 4. LRU 淘汰 - 最近最少使用优先淘汰
63
+ * 5. TTL 过期 - 自动清理过期缓存
64
+ *
65
+ * 使用场景:
66
+ * - 用户重复请求相似任务
67
+ * - 批量操作中的重复计划
68
+ * - 测试和调试阶段的频繁调用
69
+ */
70
+ export declare class PlanCache {
71
+ private cache;
72
+ private config;
73
+ private totalHits;
74
+ private totalMisses;
75
+ private lruKeys;
76
+ private oldestKey;
77
+ private readonly STOP_WORDS;
78
+ constructor(config?: Partial<PlanCacheConfig>);
79
+ /**
80
+ * 获取或生成计划
81
+ */
82
+ getOrGenerate(input: string, generator: () => Promise<TaskPlan>): Promise<TaskPlan>;
83
+ /**
84
+ * 保存计划到缓存
85
+ */
86
+ private set;
87
+ /**
88
+ * 访问时更新 LRU 跟踪
89
+ *
90
+ * 当条目被访问时,它的 lastAccessed 会被更新,
91
+ * 如果之前是 oldestKey,需要重新计算。
92
+ */
93
+ private updateLRUOnAccess;
94
+ /**
95
+ * 根据缓存条目获取其哈希值
96
+ * 用于相似度匹配后更新 LRU
97
+ */
98
+ private getHashByEntry;
99
+ /**
100
+ * 检查缓存条目是否有效
101
+ */
102
+ private isValid;
103
+ /**
104
+ * 查找相似的计划
105
+ *
106
+ * 性能说明: 当前使用 O(N) 遍历,对于默认 maxEntries=100 的情况下性能可接受。
107
+ * 如果未来需要支持更大的缓存,可以考虑使用局部敏感哈希 (LSH) 或近似最近邻搜索。
108
+ */
109
+ private findSimilar;
110
+ /**
111
+ * 规范化输入
112
+ *
113
+ * 策略:
114
+ * 1. 转换为小写
115
+ * 2. 替换数字为 N
116
+ * 3. 替换引号内容为 ""
117
+ * 4. 移除多余空格
118
+ * 5. 移除停用词
119
+ */
120
+ private normalizeInput;
121
+ /**
122
+ * 计算输入哈希
123
+ */
124
+ private hashInput;
125
+ /**
126
+ * 计算文本相似度 (TF 向量 + 余弦相似度)
127
+ */
128
+ private calculateSimilarity;
129
+ /**
130
+ * 计算归一化的词频向量
131
+ *
132
+ * 注意: 这个方法只计算 Term Frequency (TF) 并归一化,
133
+ * 不包含 Inverse Document Frequency (IDF)。
134
+ * 对于相似度匹配来说,单文档的 TF 已经足够。
135
+ */
136
+ private calculateNormalizedTF;
137
+ /**
138
+ * 余弦相似度
139
+ */
140
+ private cosineSimilarity;
141
+ /**
142
+ * 计算计划复杂度
143
+ */
144
+ private calculateComplexity;
145
+ /**
146
+ * LRU 淘汰策略 (优化版本)
147
+ *
148
+ * 使用 oldestKey 跟踪最近最少使用的条目,将最常见的情况优化为 O(1)。
149
+ * 仅在 oldestKey 无效时回退到 O(N) 遍历。
150
+ *
151
+ * 注意: 这不是标准的 LRU 实现(使用 Map + 双向链表),
152
+ * 但对于当前用例(maxEntries=100,低频淘汰)已足够高效。
153
+ */
154
+ private evictLRU;
155
+ /**
156
+ * 更新 oldestKey (在淘汰或删除后调用)
157
+ *
158
+ * 注意: 这是一个 O(N) 操作,因为需要遍历所有条目找到最少使用的。
159
+ * 但这只在淘汰/清理时调用,不是每次访问时调用,所以整体性能仍可接受。
160
+ */
161
+ private updateOldestKey;
162
+ /**
163
+ * LRU 淘汰回退方法 (当 oldestKey 无效时使用)
164
+ */
165
+ private evictLRUFallback;
166
+ /**
167
+ * 清理过期缓存
168
+ */
169
+ cleanup(): number;
170
+ /**
171
+ * 清空缓存
172
+ */
173
+ clear(): void;
174
+ /**
175
+ * 获取缓存统计
176
+ */
177
+ getStats(): CacheStats;
178
+ /**
179
+ * 获取缓存条目详情
180
+ */
181
+ getEntry(hash: string): CacheEntry | undefined;
182
+ /**
183
+ * 预热缓存(批量导入)
184
+ *
185
+ * 注意: 如果条目数超过 maxEntries,将使用 LRU 策略淘汰旧条目
186
+ */
187
+ warmUp(entries: Array<{
188
+ input: string;
189
+ plan: TaskPlan;
190
+ }>): void;
191
+ /**
192
+ * 导出缓存(用于持久化)
193
+ */
194
+ export(): Array<{
195
+ hash: string;
196
+ entry: CacheEntry;
197
+ }>;
198
+ /**
199
+ * 导入缓存(从持久化恢复)
200
+ */
201
+ import(data: Array<{
202
+ hash: string;
203
+ entry: CacheEntry;
204
+ }>): void;
205
+ }
206
+ export declare const defaultPlanCache: PlanCache;
207
+ export {};