tianxincode 1.0.7 → 1.0.9
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/@.txcode/req//351/241/265/351/235/242/345/270/203/345/261/200/AI/346/234/215/345/212/241/345/225/206/345/222/214/346/250/241/345/236/213/351/205/215/347/275/256.html +241 -0
- package/dist/api/ai-log.routes.d.ts +2 -0
- package/dist/api/ai-log.routes.d.ts.map +1 -0
- package/dist/api/ai-log.routes.js +21 -0
- package/dist/api/ai-log.routes.js.map +1 -0
- package/dist/api/chat.routes.d.ts.map +1 -1
- package/dist/api/chat.routes.js +35 -1
- package/dist/api/chat.routes.js.map +1 -1
- package/dist/api/config.routes.js +21 -0
- package/dist/api/config.routes.js.map +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/components/App.d.ts.map +1 -1
- package/dist/components/App.js +71 -19
- package/dist/components/App.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/ai/ai-log.service.d.ts +42 -0
- package/dist/modules/ai/ai-log.service.d.ts.map +1 -0
- package/dist/modules/ai/ai-log.service.js +52 -0
- package/dist/modules/ai/ai-log.service.js.map +1 -0
- package/dist/modules/ai/ai.service.d.ts +7 -6
- package/dist/modules/ai/ai.service.d.ts.map +1 -1
- package/dist/modules/ai/ai.service.js +53 -25
- package/dist/modules/ai/ai.service.js.map +1 -1
- package/dist/modules/ai/ai.types.d.ts +3 -0
- package/dist/modules/ai/ai.types.d.ts.map +1 -1
- package/dist/modules/ai/openai.provider.d.ts +2 -0
- package/dist/modules/ai/openai.provider.d.ts.map +1 -1
- package/dist/modules/ai/openai.provider.js +26 -2
- package/dist/modules/ai/openai.provider.js.map +1 -1
- package/dist/modules/ai/provider/base.d.ts +1 -0
- package/dist/modules/ai/provider/base.d.ts.map +1 -1
- package/dist/modules/ai/provider/openai/openai-agent.d.ts +2 -0
- package/dist/modules/ai/provider/openai/openai-agent.d.ts.map +1 -1
- package/dist/modules/ai/provider/openai/openai-agent.js +45 -8
- package/dist/modules/ai/provider/openai/openai-agent.js.map +1 -1
- package/dist/modules/ai/provider/openai/prompts.js +1 -1
- package/dist/modules/ai/provider/openai/prompts.js.map +1 -1
- package/dist/modules/ai/react.agent.d.ts +1 -0
- package/dist/modules/ai/react.agent.d.ts.map +1 -1
- package/dist/modules/ai/react.agent.js +14 -1
- package/dist/modules/ai/react.agent.js.map +1 -1
- package/dist/modules/db/db.service.d.ts +13 -66
- package/dist/modules/db/db.service.d.ts.map +1 -1
- package/dist/modules/db/db.service.js +171 -143
- package/dist/modules/db/db.service.js.map +1 -1
- package/dist/modules/db/db.types.d.ts +3 -3
- package/dist/modules/db/db.types.d.ts.map +1 -1
- package/dist/modules/db/db.types.js +1 -1
- package/dist/modules/tools/builtin/bash.js +3 -2
- package/dist/modules/tools/builtin/bash.js.map +1 -1
- package/dist/modules/tools/provider/bash.d.ts +3 -0
- package/dist/modules/tools/provider/bash.d.ts.map +1 -0
- package/dist/modules/tools/provider/bash.js +135 -0
- package/dist/modules/tools/provider/bash.js.map +1 -0
- package/dist/modules/tools/provider/code_search.d.ts +3 -0
- package/dist/modules/tools/provider/code_search.d.ts.map +1 -0
- package/dist/modules/tools/provider/code_search.js +90 -0
- package/dist/modules/tools/provider/code_search.js.map +1 -0
- package/dist/modules/tools/provider/edit_file.d.ts +3 -0
- package/dist/modules/tools/provider/edit_file.d.ts.map +1 -0
- package/dist/modules/tools/provider/edit_file.js +95 -0
- package/dist/modules/tools/provider/edit_file.js.map +1 -0
- package/dist/modules/tools/provider/glob.d.ts +3 -0
- package/dist/modules/tools/provider/glob.d.ts.map +1 -0
- package/dist/modules/tools/provider/glob.js +87 -0
- package/dist/modules/tools/provider/glob.js.map +1 -0
- package/dist/modules/tools/provider/grep.d.ts +3 -0
- package/dist/modules/tools/provider/grep.d.ts.map +1 -0
- package/dist/modules/tools/provider/grep.js +96 -0
- package/dist/modules/tools/provider/grep.js.map +1 -0
- package/dist/modules/tools/provider/index.d.ts +7 -0
- package/dist/modules/tools/provider/index.d.ts.map +1 -0
- package/dist/modules/tools/provider/index.js +37 -0
- package/dist/modules/tools/provider/index.js.map +1 -0
- package/dist/modules/tools/provider/lsp.d.ts +6 -0
- package/dist/modules/tools/provider/lsp.d.ts.map +1 -0
- package/dist/modules/tools/provider/lsp.js +128 -0
- package/dist/modules/tools/provider/lsp.js.map +1 -0
- package/dist/modules/tools/provider/memory.d.ts +3 -0
- package/dist/modules/tools/provider/memory.d.ts.map +1 -0
- package/dist/modules/tools/provider/memory.js +80 -0
- package/dist/modules/tools/provider/memory.js.map +1 -0
- package/dist/modules/tools/provider/read_file.d.ts +3 -0
- package/dist/modules/tools/provider/read_file.d.ts.map +1 -0
- package/dist/modules/tools/provider/read_file.js +109 -0
- package/dist/modules/tools/provider/read_file.js.map +1 -0
- package/dist/modules/tools/provider/skill.d.ts +6 -0
- package/dist/modules/tools/provider/skill.d.ts.map +1 -0
- package/dist/modules/tools/provider/skill.js +64 -0
- package/dist/modules/tools/provider/skill.js.map +1 -0
- package/dist/modules/tools/provider/todo_read.d.ts +3 -0
- package/dist/modules/tools/provider/todo_read.d.ts.map +1 -0
- package/dist/modules/tools/provider/todo_read.js +26 -0
- package/dist/modules/tools/provider/todo_read.js.map +1 -0
- package/dist/modules/tools/provider/todo_write.d.ts +3 -0
- package/dist/modules/tools/provider/todo_write.d.ts.map +1 -0
- package/dist/modules/tools/provider/todo_write.js +49 -0
- package/dist/modules/tools/provider/todo_write.js.map +1 -0
- package/dist/modules/tools/provider/tools.d.ts +4 -0
- package/dist/modules/tools/provider/tools.d.ts.map +1 -0
- package/dist/modules/tools/provider/tools.js +14 -0
- package/dist/modules/tools/provider/tools.js.map +1 -0
- package/dist/modules/tools/provider/web_fetch.d.ts +3 -0
- package/dist/modules/tools/provider/web_fetch.d.ts.map +1 -0
- package/dist/modules/tools/provider/web_fetch.js +56 -0
- package/dist/modules/tools/provider/web_fetch.js.map +1 -0
- package/dist/modules/tools/provider/web_search.d.ts +3 -0
- package/dist/modules/tools/provider/web_search.d.ts.map +1 -0
- package/dist/modules/tools/provider/web_search.js +104 -0
- package/dist/modules/tools/provider/web_search.js.map +1 -0
- package/dist/modules/tools/provider/write_file.d.ts +3 -0
- package/dist/modules/tools/provider/write_file.d.ts.map +1 -0
- package/dist/modules/tools/provider/write_file.js +63 -0
- package/dist/modules/tools/provider/write_file.js.map +1 -0
- package/dist/web/web.service.d.ts +2 -0
- package/dist/web/web.service.d.ts.map +1 -1
- package/dist/web/web.service.js +57 -8
- package/dist/web/web.service.js.map +1 -1
- package/package.json +5 -3
- package/web/dist/assets/AiLogsView-DWqwdXrD.js +1 -0
- package/web/dist/assets/Layout-CoiSqTWB.js +1 -0
- package/web/dist/assets/{index-CEHMSOel.js → index-B-R-RCGS.js} +65 -65
- package/web/dist/assets/{index-BnpKQafm.css → index-BGmGnKjT.css} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/assets/Layout-Pvn6DBHZ.js +0 -1
|
@@ -17,6 +17,8 @@ export declare class OpenAIAgent implements AIProvider {
|
|
|
17
17
|
private projectPath?;
|
|
18
18
|
private sessionId?;
|
|
19
19
|
private memoryService?;
|
|
20
|
+
private providerTools;
|
|
21
|
+
private providerToolsMap;
|
|
20
22
|
constructor(config: OpenAIAgentConfig);
|
|
21
23
|
run(userMessage: string, options?: ProviderRunOptions): Promise<ProviderRunResult>;
|
|
22
24
|
getType(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-agent.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/openai-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"openai-agent.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/openai-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK1D,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAKlB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,WAAY,YAAW,UAAU;IAC5C,IAAI,SAAY;IAEhB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,MAAM,EAAE,iBAAiB;IAS/B,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAoJ7B,OAAO,IAAI,MAAM;YAIH,WAAW;YAuBX,eAAe;IAW7B,OAAO,CAAC,UAAU;CAoBnB"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { buildProviderPrompt } from './prompts.js';
|
|
2
|
-
import {
|
|
2
|
+
import { getOpenAITools } from '../../../tools/provider/tools.js';
|
|
3
|
+
import { getProviderTools } from '../../../tools/provider/index.js';
|
|
3
4
|
export class OpenAIAgent {
|
|
4
5
|
constructor(config) {
|
|
5
6
|
this.name = 'openai';
|
|
7
|
+
this.providerTools = [];
|
|
8
|
+
this.providerToolsMap = new Map();
|
|
6
9
|
this.provider = config.provider;
|
|
7
10
|
this.toolService = config.toolService;
|
|
8
11
|
this.maxIterations = config.maxIterations || 50;
|
|
@@ -11,10 +14,16 @@ export class OpenAIAgent {
|
|
|
11
14
|
this.memoryService = config.memoryService;
|
|
12
15
|
}
|
|
13
16
|
async run(userMessage, options) {
|
|
17
|
+
this.providerTools = await getProviderTools();
|
|
18
|
+
this.providerToolsMap.clear();
|
|
19
|
+
for (const t of this.providerTools) {
|
|
20
|
+
this.providerToolsMap.set(t.name, t);
|
|
21
|
+
}
|
|
14
22
|
const steps = [];
|
|
15
23
|
const baseMessages = [];
|
|
16
|
-
const
|
|
17
|
-
const
|
|
24
|
+
const abortSignal = options?.abortSignal;
|
|
25
|
+
const builtinTools = await this.getBuiltinTools();
|
|
26
|
+
const systemPrompt = await buildProviderPrompt(await this.getBuiltinTools(), [], this.maxIterations, {
|
|
18
27
|
workdir: this.projectPath || process.cwd(),
|
|
19
28
|
});
|
|
20
29
|
if (options?.historyMessages && options.historyMessages.length > 0) {
|
|
@@ -30,12 +39,25 @@ export class OpenAIAgent {
|
|
|
30
39
|
let finalAnswer = '';
|
|
31
40
|
let totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
32
41
|
while (iteration < this.maxIterations) {
|
|
42
|
+
// 检查取消信号
|
|
43
|
+
if (abortSignal?.aborted) {
|
|
44
|
+
throw new Error('ABORTED');
|
|
45
|
+
}
|
|
33
46
|
iteration++;
|
|
34
47
|
const messages = [
|
|
35
48
|
{ role: 'system', content: systemPrompt },
|
|
36
49
|
...baseMessages,
|
|
37
50
|
];
|
|
38
|
-
const response = await this.provider.chat(messages, {
|
|
51
|
+
const response = await this.provider.chat(messages, {
|
|
52
|
+
tools: builtinTools,
|
|
53
|
+
abortSignal,
|
|
54
|
+
sessionId: this.sessionId,
|
|
55
|
+
modelName: this.provider.getModel(),
|
|
56
|
+
});
|
|
57
|
+
// 检查取消信号
|
|
58
|
+
if (abortSignal?.aborted) {
|
|
59
|
+
throw new Error('ABORTED');
|
|
60
|
+
}
|
|
39
61
|
if (response.usage) {
|
|
40
62
|
totalUsage.promptTokens += response.usage.promptTokens;
|
|
41
63
|
totalUsage.completionTokens += response.usage.completionTokens;
|
|
@@ -118,8 +140,16 @@ export class OpenAIAgent {
|
|
|
118
140
|
}
|
|
119
141
|
async executeTool(name, args) {
|
|
120
142
|
try {
|
|
121
|
-
const
|
|
122
|
-
|
|
143
|
+
const tool = this.providerToolsMap.get(name);
|
|
144
|
+
if (!tool) {
|
|
145
|
+
throw new Error(`Tool not found: ${name}`);
|
|
146
|
+
}
|
|
147
|
+
const context = {
|
|
148
|
+
sessionId: this.sessionId || '',
|
|
149
|
+
workDir: this.projectPath || process.cwd(),
|
|
150
|
+
};
|
|
151
|
+
const result = await tool.execute(args, context);
|
|
152
|
+
return { success: result.success, data: result.output, error: result.error };
|
|
123
153
|
}
|
|
124
154
|
catch (error) {
|
|
125
155
|
return {
|
|
@@ -128,8 +158,15 @@ export class OpenAIAgent {
|
|
|
128
158
|
};
|
|
129
159
|
}
|
|
130
160
|
}
|
|
131
|
-
getBuiltinTools() {
|
|
132
|
-
|
|
161
|
+
async getBuiltinTools() {
|
|
162
|
+
if (this.providerTools.length === 0) {
|
|
163
|
+
this.providerTools = await getProviderTools();
|
|
164
|
+
this.providerToolsMap.clear();
|
|
165
|
+
for (const t of this.providerTools) {
|
|
166
|
+
this.providerToolsMap.set(t.name, t);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return await getOpenAITools();
|
|
133
170
|
}
|
|
134
171
|
addMessage(role, content, keepContext, isOriginal = false, toolCalls, toolCallId, sessionId) {
|
|
135
172
|
if (!sessionId || !this.memoryService)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-agent.js","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/openai-agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-agent.js","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/openai-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { openaiTools } from '../../../tools/provider/
|
|
1
|
+
import { openaiTools } from '../../../tools/provider/tools.js';
|
|
2
2
|
import { buildAvailableSkillsPrompt } from '../../../skill/skill.tool.js';
|
|
3
3
|
function getProviderPromptTemplate(roleTemplate) {
|
|
4
4
|
return `${roleTemplate}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../../src/modules/ai/provider/openai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,SAAS,yBAAyB,CAAC,YAAoB;IACrD,OAAO,GAAG,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,gBAAuB,EAAE,EACzB,UAAuB,EAAE,EACzB,gBAAwB,EAAE,EAC1B,OAAiD;IAEjD,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAElD,MAAM,YAAY,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS;QACnD,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO;YACjC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO;gBAChC,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhH,MAAM,YAAY,GAAG,MAAM,0BAA0B,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEzD,OAAO,QAAQ;SACZ,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;SACnC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;SAC7B,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,IAAI,KAAK,CAAC;SACpD,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;SACjC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oCAAoC,CAAC;IAC9C,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.agent.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/react.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAA6B,MAAM,wBAAwB,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvI,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"react.agent.d.ts","sourceRoot":"","sources":["../../../src/modules/ai/react.agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAA6B,MAAM,wBAAwB,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvI,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B;;;OAGG;gBACS,MAAM,EAAE,gBAAgB;IAWpC;;;;;OAKG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC;IAiKvB;;;;;OAKG;YACW,WAAW;IAezB;;;OAGG;YACW,eAAe;IAqB7B;;;OAGG;YACW,kBAAkB;IAYhC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;CAInB"}
|
|
@@ -29,6 +29,7 @@ export class ReActAgent {
|
|
|
29
29
|
async run(userMessage, options) {
|
|
30
30
|
const steps = [];
|
|
31
31
|
const baseMessages = [];
|
|
32
|
+
const abortSignal = options?.abortSignal;
|
|
32
33
|
// 获取可用的技能和工具,构建系统提示词
|
|
33
34
|
const skills = await this.getAvailableSkills();
|
|
34
35
|
const builtinTools = await this.getBuiltinTools();
|
|
@@ -49,13 +50,25 @@ export class ReActAgent {
|
|
|
49
50
|
let totalUsage = { promptTokens: 0, completionTokens: 0, totalTokens: 0 };
|
|
50
51
|
// ReAct 循环:推理 -> 行动 -> 观察
|
|
51
52
|
while (iteration < this.maxIterations) {
|
|
53
|
+
// 检查取消信号
|
|
54
|
+
if (abortSignal?.aborted) {
|
|
55
|
+
throw new Error('ABORTED');
|
|
56
|
+
}
|
|
52
57
|
iteration++;
|
|
53
58
|
const messages = [
|
|
54
59
|
{ role: 'system', content: systemPrompt },
|
|
55
60
|
...baseMessages
|
|
56
61
|
];
|
|
57
62
|
// 调用 AI 模型获取响应
|
|
58
|
-
const response = await this.provider.chat(messages
|
|
63
|
+
const response = await this.provider.chat(messages, {
|
|
64
|
+
abortSignal,
|
|
65
|
+
sessionId: this.sessionId,
|
|
66
|
+
modelName: this.provider.getModel(),
|
|
67
|
+
});
|
|
68
|
+
// 检查取消信号
|
|
69
|
+
if (abortSignal?.aborted) {
|
|
70
|
+
throw new Error('ABORTED');
|
|
71
|
+
}
|
|
59
72
|
// 累加 token 使用量
|
|
60
73
|
if (response.usage) {
|
|
61
74
|
totalUsage.promptTokens += response.usage.promptTokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.agent.js","sourceRoot":"","sources":["../../../src/modules/ai/react.agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,cAAc,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"react.agent.js","sourceRoot":"","sources":["../../../src/modules/ai/react.agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,89 +9,36 @@
|
|
|
9
9
|
* 使用方式:
|
|
10
10
|
* ```typescript
|
|
11
11
|
* import { dbService } from './db.js';
|
|
12
|
-
* dbService.init();
|
|
12
|
+
* await dbService.init();
|
|
13
13
|
* const result = dbService.run('SELECT * FROM users');
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
import Database from '
|
|
16
|
+
import { Database as SqlJsDatabase } from 'sql.js';
|
|
17
17
|
export declare class DbService {
|
|
18
|
-
/** 数据库实例,延迟初始化 */
|
|
19
18
|
private db;
|
|
20
|
-
/** 数据库文件路径 */
|
|
21
19
|
private dbPath;
|
|
20
|
+
private saveTimer;
|
|
22
21
|
constructor(dbPath?: string);
|
|
23
|
-
|
|
24
|
-
* 初始化数据库
|
|
25
|
-
*
|
|
26
|
-
* 执行操作:
|
|
27
|
-
* 1. 创建数据库连接
|
|
28
|
-
* 2. 设置 WAL 模式
|
|
29
|
-
* 3. 启用外键约束
|
|
30
|
-
* 4. 执行迁移
|
|
31
|
-
*/
|
|
32
|
-
init(): void;
|
|
33
|
-
/**
|
|
34
|
-
* 重置数据库(仅用于测试)
|
|
35
|
-
*/
|
|
22
|
+
init(): Promise<void>;
|
|
36
23
|
reset(): void;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
*/
|
|
43
|
-
getDb(): Database.Database;
|
|
44
|
-
/**
|
|
45
|
-
* 执行 SQL 语句
|
|
46
|
-
*
|
|
47
|
-
* @param sql - SQL 语句
|
|
48
|
-
* @param params - 参数数组
|
|
49
|
-
* @returns 执行结果
|
|
50
|
-
*/
|
|
51
|
-
run(sql: string, params?: unknown[]): Database.RunResult;
|
|
52
|
-
/**
|
|
53
|
-
* 查询单条记录
|
|
54
|
-
*
|
|
55
|
-
* @param sql - SQL 语句
|
|
56
|
-
* @param params - 参数数组
|
|
57
|
-
* @returns 查询结果,未找到返回 undefined
|
|
58
|
-
*/
|
|
24
|
+
getDb(): SqlJsDatabase;
|
|
25
|
+
run(sql: string, params?: unknown[]): {
|
|
26
|
+
changes: number;
|
|
27
|
+
lastInsertRowid: number;
|
|
28
|
+
};
|
|
59
29
|
get<T>(sql: string, params?: unknown[]): T | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* 查询多条记录
|
|
62
|
-
*
|
|
63
|
-
* @param sql - SQL 语句
|
|
64
|
-
* @param params - 参数数组
|
|
65
|
-
* @returns 查询结果数组
|
|
66
|
-
*/
|
|
67
30
|
all<T>(sql: string, params?: unknown[]): T[];
|
|
68
|
-
/**
|
|
69
|
-
* 执行事务
|
|
70
|
-
*
|
|
71
|
-
* @param fn - 事务函数
|
|
72
|
-
* @returns 事务返回值
|
|
73
|
-
*/
|
|
74
31
|
transaction<T>(fn: () => T): T;
|
|
75
|
-
/**
|
|
76
|
-
* 关闭数据库连接
|
|
77
|
-
*/
|
|
78
32
|
close(): void;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
*
|
|
82
|
-
* 迁移表结构:
|
|
83
|
-
* - migrations: 记录已执行的迁移
|
|
84
|
-
*/
|
|
33
|
+
private save;
|
|
34
|
+
private saveLater;
|
|
85
35
|
private runMigrations;
|
|
86
|
-
/** 初始迁移:创建所有基础表 */
|
|
87
36
|
private migration001Initial;
|
|
88
|
-
/** 迁移002:添加上下文压缩相关字段 */
|
|
89
37
|
private migration002AddContextFields;
|
|
90
|
-
/** 迁移003:添加 LSP 服务器表 */
|
|
91
38
|
private migration003AddLspServers;
|
|
92
|
-
/** 迁移004:添加项目表 */
|
|
93
39
|
private migration004AddProjects;
|
|
40
|
+
private migration005AddAiCallLogs;
|
|
41
|
+
private getTableColumns;
|
|
94
42
|
}
|
|
95
|
-
/** 单例导出 */
|
|
96
43
|
export declare const dbService: DbService;
|
|
97
44
|
//# sourceMappingURL=db.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/modules/db/db.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,
|
|
1
|
+
{"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../../../src/modules/db/db.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAkB,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AAI9D,qBAAa,SAAS;IACpB,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAA+B;gBAEpC,MAAM,CAAC,EAAE,MAAM;IAWrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B,KAAK,IAAI,IAAI;IAQb,KAAK,IAAI,aAAa;IAOtB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAelF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,SAAS;IAwBtD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE;IAyB5C,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAc9B,KAAK,IAAI,IAAI;IAYb,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,mBAAmB;IA6G3B,OAAO,CAAC,4BAA4B;IAwEpC,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,eAAe;CAIxB;AAED,eAAO,MAAM,SAAS,WAAkB,CAAC"}
|