yuangs 3.22.0 → 3.26.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 (54) hide show
  1. package/dist/agent/AgentRuntime.d.ts +2 -1
  2. package/dist/agent/AgentRuntime.js +69 -4
  3. package/dist/agent/AgentRuntime.js.map +1 -1
  4. package/dist/agent/astParser.d.ts +45 -0
  5. package/dist/agent/astParser.js +232 -0
  6. package/dist/agent/astParser.js.map +1 -0
  7. package/dist/agent/codeSummary.d.ts +2 -2
  8. package/dist/agent/codeSummary.js +36 -76
  9. package/dist/agent/codeSummary.js.map +1 -1
  10. package/dist/agent/executor.d.ts +6 -0
  11. package/dist/agent/executor.js +55 -20
  12. package/dist/agent/executor.js.map +1 -1
  13. package/dist/agent/llm.d.ts +1 -1
  14. package/dist/agent/llm.js +56 -3
  15. package/dist/agent/llm.js.map +1 -1
  16. package/dist/agent/llmAdapter.d.ts +1 -1
  17. package/dist/agent/llmAdapter.js +8 -52
  18. package/dist/agent/llmAdapter.js.map +1 -1
  19. package/dist/agent/prompt.js +16 -37
  20. package/dist/agent/prompt.js.map +1 -1
  21. package/dist/agent/protocolV2_2.d.ts +22 -0
  22. package/dist/agent/protocolV2_2.js +217 -0
  23. package/dist/agent/protocolV2_2.js.map +1 -0
  24. package/dist/agent/skills.js +14 -6
  25. package/dist/agent/skills.js.map +1 -1
  26. package/dist/commands/handleAIChat.js +2 -2
  27. package/dist/commands/handleAIChat.js.map +1 -1
  28. package/dist/commands/handleAICommand.js +1 -1
  29. package/dist/commands/handleAICommand.js.map +1 -1
  30. package/dist/core/capabilitySystem.d.ts +1 -1
  31. package/dist/core/capabilitySystem.js +2 -2
  32. package/dist/core/capabilitySystem.js.map +1 -1
  33. package/dist/core/executionRecord.d.ts +2 -1
  34. package/dist/core/executionRecord.js +3 -1
  35. package/dist/core/executionRecord.js.map +1 -1
  36. package/dist/core/kernel/ASTParser.d.ts +86 -0
  37. package/dist/core/kernel/ASTParser.js +208 -0
  38. package/dist/core/kernel/ASTParser.js.map +1 -0
  39. package/dist/core/kernel/AtomicTransactionManager.d.ts +119 -0
  40. package/dist/core/kernel/AtomicTransactionManager.js +268 -0
  41. package/dist/core/kernel/AtomicTransactionManager.js.map +1 -0
  42. package/dist/core/kernel/FastScanner.d.ts +77 -0
  43. package/dist/core/kernel/FastScanner.js +273 -0
  44. package/dist/core/kernel/FastScanner.js.map +1 -0
  45. package/dist/core/kernel/PostCheckVerifier.d.ts +86 -0
  46. package/dist/core/kernel/PostCheckVerifier.js +182 -0
  47. package/dist/core/kernel/PostCheckVerifier.js.map +1 -0
  48. package/dist/core/kernel/XResolver.d.ts +76 -0
  49. package/dist/core/kernel/XResolver.js +217 -0
  50. package/dist/core/kernel/XResolver.js.map +1 -0
  51. package/dist/utils/renderer.d.ts +18 -1
  52. package/dist/utils/renderer.js +56 -8
  53. package/dist/utils/renderer.js.map +1 -1
  54. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
+ import { StreamMarkdownRenderer } from '../utils/renderer';
1
2
  export declare class AgentRuntime {
2
3
  private context;
3
4
  private executionId;
4
5
  constructor(initialContext: any);
5
- run(userInput: string, mode?: "chat" | "command", onChunk?: (chunk: string) => void, model?: string): Promise<void>;
6
+ run(userInput: string, mode?: "chat" | "command", onChunk?: (chunk: string) => void, model?: string, renderer?: StreamMarkdownRenderer): Promise<void>;
6
7
  }
@@ -51,6 +51,7 @@ const executor_1 = require("./executor");
51
51
  const smartContextManager_1 = require("./smartContextManager");
52
52
  const core_1 = require("./governance/core");
53
53
  const dynamicPrompt_1 = require("./dynamicPrompt");
54
+ const renderer_1 = require("../utils/renderer");
54
55
  class AgentRuntime {
55
56
  context;
56
57
  executionId;
@@ -58,7 +59,7 @@ class AgentRuntime {
58
59
  this.context = new smartContextManager_1.SmartContextManager(initialContext);
59
60
  this.executionId = (0, crypto_1.randomUUID)();
60
61
  }
61
- async run(userInput, mode = "chat", onChunk, model) {
62
+ async run(userInput, mode = "chat", onChunk, model, renderer) {
62
63
  let turnCount = 0;
63
64
  const maxTurns = 10;
64
65
  let lastError;
@@ -107,7 +108,14 @@ class AgentRuntime {
107
108
  const basePrompt = governance_1.GovernanceService.getPolicyManual();
108
109
  // 注入动态上下文
109
110
  const enhancedPrompt = (0, dynamicPrompt_1.injectDynamicContext)(basePrompt, dynamicContext);
110
- const thought = await llmAdapter_1.LLMAdapter.think(messages, mode, onChunk, model, enhancedPrompt, this.context);
111
+ // Create renderer if not provided but onChunk is available
112
+ let agentRenderer = renderer;
113
+ let agentOnChunk = onChunk;
114
+ if (!agentRenderer && agentOnChunk) {
115
+ agentRenderer = new renderer_1.StreamMarkdownRenderer(chalk_1.default.bgHex('#3b82f6').white.bold(' 🤖 Agent ') + ' ', undefined, { autoFinish: false });
116
+ agentOnChunk = agentRenderer.startChunking();
117
+ }
118
+ const thought = await llmAdapter_1.LLMAdapter.think(messages, mode, agentOnChunk, model, enhancedPrompt, this.context);
111
119
  const action = {
112
120
  id: (0, crypto_1.randomUUID)(),
113
121
  type: thought.type || "answer",
@@ -122,10 +130,43 @@ class AgentRuntime {
122
130
  if (thought.isDone || action.type === "answer") {
123
131
  const result = await executor_1.ToolExecutor.execute(action);
124
132
  if (!onChunk) {
125
- const rendered = (0, marked_1.marked)(result.output);
126
- console.log(chalk_1.default.green(`\n🤖 AI:\n`) + rendered);
133
+ if (agentRenderer) {
134
+ // Stream final answer through renderer
135
+ for (let i = 0; i < result.output.length; i += 10) {
136
+ const chunk = result.output.slice(i, i + 10);
137
+ agentRenderer.onChunk(chunk);
138
+ }
139
+ agentRenderer.finish();
140
+ }
141
+ else {
142
+ const rendered = (0, marked_1.marked)(result.output);
143
+ console.log(chalk_1.default.green(`\n🤖 AI:\n`) + rendered);
144
+ }
127
145
  }
128
146
  this.context.addMessage("assistant", result.output);
147
+ // Learn from successful chat
148
+ try {
149
+ const { createExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionRecord')));
150
+ const { inferCapabilityRequirement } = await Promise.resolve().then(() => __importStar(require('../core/capabilityInference')));
151
+ const { saveExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionStore')));
152
+ const record = createExecutionRecord('agent-chat', { required: [], preferred: [] }, {
153
+ aiProxyUrl: { value: '', source: 'built-in' },
154
+ defaultModel: { value: '', source: 'built-in' },
155
+ accountType: { value: 'free', source: 'built-in' }
156
+ }, { selected: null, candidates: [], fallbackOccurred: false }, { success: true }, undefined, userInput, 'chat');
157
+ record.llmResult = { plan: thought.parsedPlan };
158
+ record.input = { rawInput: userInput };
159
+ const savedRecordId = saveExecutionRecord(record);
160
+ const { loadExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionStore')));
161
+ const savedRecord = loadExecutionRecord(savedRecordId);
162
+ if (savedRecord) {
163
+ const { learnSkillFromRecord } = await Promise.resolve().then(() => __importStar(require('./skills')));
164
+ learnSkillFromRecord(savedRecord, true);
165
+ }
166
+ }
167
+ catch (error) {
168
+ console.warn(chalk_1.default.yellow(`[Skill Learning] Failed: ${error}`));
169
+ }
129
170
  break;
130
171
  }
131
172
  // === 强制 ACK 校验(Causal Lock) ===
@@ -187,6 +228,30 @@ class AgentRuntime {
187
228
  ? result.output.substring(0, 300) + '...'
188
229
  : result.output;
189
230
  console.log(chalk_1.default.green(`[SUCCESS] Result:\n${preview}`));
231
+ // Learn from this successful execution
232
+ try {
233
+ const { createExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionRecord')));
234
+ const { inferCapabilityRequirement } = await Promise.resolve().then(() => __importStar(require('../core/capabilityInference')));
235
+ const { saveExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionStore')));
236
+ const record = createExecutionRecord(`agent-${mode}`, { required: [], preferred: [] }, {
237
+ aiProxyUrl: { value: '', source: 'built-in' },
238
+ defaultModel: { value: '', source: 'built-in' },
239
+ accountType: { value: 'free', source: 'built-in' }
240
+ }, { selected: null, candidates: [], fallbackOccurred: false }, { success: true }, undefined, userInput, mode);
241
+ // Attach thought/plan data for skill learning
242
+ record.llmResult = { plan: thought.parsedPlan };
243
+ record.input = { rawInput: userInput };
244
+ const savedRecordId = saveExecutionRecord(record);
245
+ const { loadExecutionRecord } = await Promise.resolve().then(() => __importStar(require('../core/executionStore')));
246
+ const savedRecord = loadExecutionRecord(savedRecordId);
247
+ if (savedRecord) {
248
+ const { learnSkillFromRecord } = await Promise.resolve().then(() => __importStar(require('./skills')));
249
+ learnSkillFromRecord(savedRecord, true);
250
+ }
251
+ }
252
+ catch (error) {
253
+ console.warn(chalk_1.default.yellow(`[Skill Learning] Failed: ${error}`));
254
+ }
190
255
  }
191
256
  else {
192
257
  // 失败时记录错误,下次循环会注入错误恢复指导
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentRuntime.js","sourceRoot":"","sources":["../../src/agent/AgentRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * AST Parser for TypeScript/JavaScript
3
+ *
4
+ * 使用 TypeScript Compiler API 进行真正的 AST 级别符号提取
5
+ * 替代正则表达式,提供更准确的结构化摘要
6
+ */
7
+ import { Symbol } from './codeSummary';
8
+ export interface ASTParseResult {
9
+ symbols: Symbol[];
10
+ success: boolean;
11
+ error?: string;
12
+ }
13
+ /**
14
+ * TypeScript/JavaScript AST 解析器
15
+ */
16
+ export declare class TypeScriptASTParser {
17
+ /**
18
+ * 从源代码提取符号
19
+ */
20
+ static parse(code: string, filePath: string): ASTParseResult;
21
+ /**
22
+ * 递归遍历 AST 提取符号
23
+ */
24
+ private static extractSymbols;
25
+ /**
26
+ * 检查节点是否有导出修饰符
27
+ */
28
+ private static hasExportModifier;
29
+ /**
30
+ * 添加符号到列表
31
+ */
32
+ private static addSymbol;
33
+ /**
34
+ * 获取节点签名字符串
35
+ */
36
+ private static getSignature;
37
+ /**
38
+ * 从文件路径解析并返回符号
39
+ */
40
+ static parseFile(filePath: string): Promise<ASTParseResult>;
41
+ /**
42
+ * 生成紧凑的符号摘要文本
43
+ */
44
+ static generateCompactSummary(symbols: Symbol[], filePath: string): string;
45
+ }
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * AST Parser for TypeScript/JavaScript
4
+ *
5
+ * 使用 TypeScript Compiler API 进行真正的 AST 级别符号提取
6
+ * 替代正则表达式,提供更准确的结构化摘要
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TypeScriptASTParser = void 0;
43
+ const ts = __importStar(require("typescript"));
44
+ const fs = __importStar(require("fs/promises"));
45
+ const path = __importStar(require("path"));
46
+ /**
47
+ * TypeScript/JavaScript AST 解析器
48
+ */
49
+ class TypeScriptASTParser {
50
+ /**
51
+ * 从源代码提取符号
52
+ */
53
+ static parse(code, filePath) {
54
+ try {
55
+ const sourceFile = ts.createSourceFile(filePath, code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
56
+ const symbols = [];
57
+ this.extractSymbols(sourceFile, symbols);
58
+ return {
59
+ symbols,
60
+ success: true
61
+ };
62
+ }
63
+ catch (error) {
64
+ return {
65
+ symbols: [],
66
+ success: false,
67
+ error: error instanceof Error ? error.message : 'Unknown parsing error'
68
+ };
69
+ }
70
+ }
71
+ /**
72
+ * 递归遍历 AST 提取符号
73
+ */
74
+ static extractSymbols(node, symbols) {
75
+ if (!node)
76
+ return;
77
+ const isExported = this.hasExportModifier(node);
78
+ // 提取导入语句
79
+ if (ts.isImportDeclaration(node)) {
80
+ const moduleSpecifier = node.moduleSpecifier.getText();
81
+ this.addSymbol(symbols, moduleSpecifier, 'import', node);
82
+ }
83
+ else if (ts.isImportEqualsDeclaration(node)) {
84
+ this.addSymbol(symbols, node.name.getText(), 'import', node);
85
+ }
86
+ // 提取导出语句
87
+ else if (ts.isExportDeclaration(node)) {
88
+ const moduleSpecifier = node.moduleSpecifier?.getText();
89
+ if (moduleSpecifier) {
90
+ this.addSymbol(symbols, `export ${moduleSpecifier}`, 'export', node);
91
+ }
92
+ }
93
+ // 提取类定义
94
+ else if (ts.isClassDeclaration(node) && node.name) {
95
+ this.addSymbol(symbols, node.name.getText(), isExported ? 'export' : 'class', node, this.getSignature(node));
96
+ }
97
+ // 提取接口定义
98
+ else if (ts.isInterfaceDeclaration(node) && node.name) {
99
+ this.addSymbol(symbols, node.name.getText(), isExported ? 'export' : 'interface', node, this.getSignature(node));
100
+ }
101
+ // 提取类型别名
102
+ else if (ts.isTypeAliasDeclaration(node) && node.name) {
103
+ this.addSymbol(symbols, node.name.getText(), isExported ? 'export' : 'type', node, this.getSignature(node));
104
+ }
105
+ // 提取枚举定义
106
+ else if (ts.isEnumDeclaration(node) && node.name) {
107
+ this.addSymbol(symbols, node.name.getText(), isExported ? 'export' : 'enum', node, this.getSignature(node));
108
+ }
109
+ // 提取函数声明
110
+ else if (ts.isFunctionDeclaration(node) && node.name) {
111
+ this.addSymbol(symbols, node.name.getText(), isExported ? 'export' : 'function', node, this.getSignature(node));
112
+ }
113
+ // 提取方法声明
114
+ else if (ts.isMethodDeclaration(node) && node.name) {
115
+ this.addSymbol(symbols, node.name.getText(), 'function', node, this.getSignature(node));
116
+ }
117
+ // 提取箭头函数赋值
118
+ else if (ts.isVariableStatement(node)) {
119
+ const exported = this.hasExportModifier(node);
120
+ const declaration = node.declarationList.declarations[0];
121
+ if (declaration && ts.isIdentifier(declaration.name)) {
122
+ const init = declaration.initializer;
123
+ if (init && (ts.isArrowFunction(init) || ts.isFunctionExpression(init))) {
124
+ this.addSymbol(symbols, declaration.name.getText(), exported ? 'export' : 'function', node, this.getSignature(node));
125
+ }
126
+ else {
127
+ this.addSymbol(symbols, declaration.name.getText(), exported ? 'export' : 'variable', node, this.getSignature(node));
128
+ }
129
+ }
130
+ }
131
+ // 递归处理子节点
132
+ ts.forEachChild(node, (child) => this.extractSymbols(child, symbols));
133
+ }
134
+ /**
135
+ * 检查节点是否有导出修饰符
136
+ */
137
+ static hasExportModifier(node) {
138
+ if ('modifiers' in node) {
139
+ const modifiers = node.modifiers;
140
+ return modifiers && modifiers.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
141
+ }
142
+ return false;
143
+ }
144
+ /**
145
+ * 添加符号到列表
146
+ */
147
+ static addSymbol(symbols, name, type, node, signature) {
148
+ const sourceFile = node.getSourceFile();
149
+ const { line } = sourceFile.getLineAndCharacterOfPosition(node.getStart());
150
+ symbols.push({
151
+ name: name.replace(/['"]/g, ''),
152
+ type,
153
+ line: line + 1,
154
+ signature: signature || node.getText().split('\n')[0].slice(0, 200)
155
+ });
156
+ }
157
+ /**
158
+ * 获取节点签名字符串
159
+ */
160
+ static getSignature(node) {
161
+ let signature = '';
162
+ const nodeText = node.getText();
163
+ // 提取第一行或签名部分
164
+ const firstLine = nodeText.split('\n')[0];
165
+ if (firstLine.length < 200) {
166
+ signature = firstLine;
167
+ }
168
+ else {
169
+ // 尝试提取签名部分
170
+ const signatureMatch = firstLine.match(/^(.*?)[{;]/);
171
+ if (signatureMatch) {
172
+ signature = signatureMatch[1];
173
+ }
174
+ else {
175
+ signature = firstLine.slice(0, 200);
176
+ }
177
+ }
178
+ return signature;
179
+ }
180
+ /**
181
+ * 从文件路径解析并返回符号
182
+ */
183
+ static async parseFile(filePath) {
184
+ try {
185
+ const code = await fs.readFile(filePath, 'utf-8');
186
+ return this.parse(code, filePath);
187
+ }
188
+ catch (error) {
189
+ return {
190
+ symbols: [],
191
+ success: false,
192
+ error: error instanceof Error ? error.message : 'File read error'
193
+ };
194
+ }
195
+ }
196
+ /**
197
+ * 生成紧凑的符号摘要文本
198
+ */
199
+ static generateCompactSummary(symbols, filePath) {
200
+ const imports = symbols.filter(s => s.type === 'import');
201
+ const exports = symbols.filter(s => s.type === 'export');
202
+ const types = symbols.filter(s => ['interface', 'type', 'enum'].includes(s.type));
203
+ const classes = symbols.filter(s => s.type === 'class');
204
+ const functions = symbols.filter(s => s.type === 'function');
205
+ const variables = symbols.filter(s => s.type === 'variable');
206
+ let summary = `文件: ${path.basename(filePath)}\n`;
207
+ summary += `统计: ${imports.length}个导入, ${exports.length}个导出, ${types.length}个类型, ${classes.length}个类, ${functions.length}个函数\n`;
208
+ if (symbols.length > 0) {
209
+ summary += '\n主要符号:\n';
210
+ if (classes.length > 0) {
211
+ summary += ' 类: ' + classes.map(s => s.name).join(', ') + '\n';
212
+ }
213
+ if (functions.length > 0) {
214
+ const displayFunctions = functions.slice(0, 10);
215
+ summary += ' 函数: ' + displayFunctions.map(fn => fn.name).join(', ');
216
+ if (functions.length > 10) {
217
+ summary += ` (还有${functions.length - 10}个)`;
218
+ }
219
+ summary += '\n';
220
+ }
221
+ if (imports.length > 0 && imports.length <= 5) {
222
+ summary += ' 导入: ' + imports.map(s => s.name).join(', ') + '\n';
223
+ }
224
+ if (exports.length > 0 && exports.length <= 5) {
225
+ summary += ' 导出: ' + exports.map(s => s.name).join(', ') + '\n';
226
+ }
227
+ }
228
+ return summary;
229
+ }
230
+ }
231
+ exports.TypeScriptASTParser = TypeScriptASTParser;
232
+ //# sourceMappingURL=astParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astParser.js","sourceRoot":"","sources":["../../src/agent/astParser.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,12 @@ export interface FileSummary {
9
9
  }
10
10
  export interface Symbol {
11
11
  name: string;
12
- type: 'function' | 'class' | 'variable' | 'import' | 'export';
12
+ type: 'function' | 'class' | 'variable' | 'import' | 'export' | 'interface' | 'type' | 'enum';
13
13
  line?: number;
14
14
  signature?: string;
15
15
  }
16
16
  /**
17
- * 从代码中提取符号(简单正则实现,支持多语言)
17
+ * 从代码中提取符号(优先AST,回退到正则)
18
18
  */
19
19
  export declare function extractSymbols(code: string, filename: string): Symbol[];
20
20
  /**