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
|
@@ -9,17 +9,17 @@
|
|
|
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
|
|
16
|
+
import initSqlJs from 'sql.js';
|
|
17
17
|
import * as path from 'path';
|
|
18
18
|
import * as fs from 'fs';
|
|
19
19
|
export class DbService {
|
|
20
20
|
constructor(dbPath) {
|
|
21
|
-
/** 数据库实例,延迟初始化 */
|
|
22
21
|
this.db = null;
|
|
22
|
+
this.saveTimer = null;
|
|
23
23
|
const home = process.env.HOME || process.env.USERPROFILE || '.';
|
|
24
24
|
const txcodeDir = path.join(home, '.txcode');
|
|
25
25
|
if (!fs.existsSync(txcodeDir)) {
|
|
@@ -27,27 +27,22 @@ export class DbService {
|
|
|
27
27
|
}
|
|
28
28
|
this.dbPath = dbPath || path.join(txcodeDir, 'data.db');
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
* 初始化数据库
|
|
32
|
-
*
|
|
33
|
-
* 执行操作:
|
|
34
|
-
* 1. 创建数据库连接
|
|
35
|
-
* 2. 设置 WAL 模式
|
|
36
|
-
* 3. 启用外键约束
|
|
37
|
-
* 4. 执行迁移
|
|
38
|
-
*/
|
|
39
|
-
init() {
|
|
30
|
+
async init() {
|
|
40
31
|
if (this.db) {
|
|
41
32
|
this.db.close();
|
|
42
33
|
}
|
|
43
|
-
|
|
44
|
-
this.
|
|
45
|
-
|
|
34
|
+
const SQL = await initSqlJs();
|
|
35
|
+
if (fs.existsSync(this.dbPath)) {
|
|
36
|
+
const fileBuffer = fs.readFileSync(this.dbPath);
|
|
37
|
+
this.db = new SQL.Database(fileBuffer);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.db = new SQL.Database();
|
|
41
|
+
}
|
|
42
|
+
this.db.run('PRAGMA foreign_keys = ON');
|
|
46
43
|
this.runMigrations();
|
|
44
|
+
this.save();
|
|
47
45
|
}
|
|
48
|
-
/**
|
|
49
|
-
* 重置数据库(仅用于测试)
|
|
50
|
-
*/
|
|
51
46
|
reset() {
|
|
52
47
|
if (this.db) {
|
|
53
48
|
this.db.close();
|
|
@@ -55,85 +50,116 @@ export class DbService {
|
|
|
55
50
|
}
|
|
56
51
|
this.init();
|
|
57
52
|
}
|
|
58
|
-
/**
|
|
59
|
-
* 获取数据库实例
|
|
60
|
-
*
|
|
61
|
-
* @returns 数据库实例
|
|
62
|
-
* @throws 如果未初始化则抛出错误
|
|
63
|
-
*/
|
|
64
53
|
getDb() {
|
|
65
54
|
if (!this.db) {
|
|
66
|
-
|
|
55
|
+
throw new Error('Database not initialized. Call init() first.');
|
|
67
56
|
}
|
|
68
57
|
return this.db;
|
|
69
58
|
}
|
|
70
|
-
/**
|
|
71
|
-
* 执行 SQL 语句
|
|
72
|
-
*
|
|
73
|
-
* @param sql - SQL 语句
|
|
74
|
-
* @param params - 参数数组
|
|
75
|
-
* @returns 执行结果
|
|
76
|
-
*/
|
|
77
59
|
run(sql, params) {
|
|
60
|
+
const db = this.getDb();
|
|
78
61
|
if (params && params.length > 0) {
|
|
79
|
-
|
|
62
|
+
db.run(sql, params);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
db.run(sql);
|
|
80
66
|
}
|
|
81
|
-
|
|
67
|
+
const changes = db.getRowsModified();
|
|
68
|
+
const result = db.exec('SELECT last_insert_rowid() as lastId');
|
|
69
|
+
const lastId = result.length > 0 && result[0].values.length > 0 ? Number(result[0].values[0][0]) : 0;
|
|
70
|
+
this.saveLater();
|
|
71
|
+
return { changes, lastInsertRowid: lastId };
|
|
82
72
|
}
|
|
83
|
-
/**
|
|
84
|
-
* 查询单条记录
|
|
85
|
-
*
|
|
86
|
-
* @param sql - SQL 语句
|
|
87
|
-
* @param params - 参数数组
|
|
88
|
-
* @returns 查询结果,未找到返回 undefined
|
|
89
|
-
*/
|
|
90
73
|
get(sql, params) {
|
|
74
|
+
const db = this.getDb();
|
|
75
|
+
let stmt;
|
|
91
76
|
if (params && params.length > 0) {
|
|
92
|
-
|
|
77
|
+
stmt = db.prepare(sql);
|
|
78
|
+
stmt.bind(params);
|
|
93
79
|
}
|
|
94
|
-
|
|
80
|
+
else {
|
|
81
|
+
stmt = db.prepare(sql);
|
|
82
|
+
}
|
|
83
|
+
if (stmt.step()) {
|
|
84
|
+
const columns = stmt.getColumnNames();
|
|
85
|
+
const values = stmt.get();
|
|
86
|
+
stmt.free();
|
|
87
|
+
const row = {};
|
|
88
|
+
columns.forEach((col, i) => {
|
|
89
|
+
row[col] = values[i];
|
|
90
|
+
});
|
|
91
|
+
return row;
|
|
92
|
+
}
|
|
93
|
+
stmt.free();
|
|
94
|
+
return undefined;
|
|
95
95
|
}
|
|
96
|
-
/**
|
|
97
|
-
* 查询多条记录
|
|
98
|
-
*
|
|
99
|
-
* @param sql - SQL 语句
|
|
100
|
-
* @param params - 参数数组
|
|
101
|
-
* @returns 查询结果数组
|
|
102
|
-
*/
|
|
103
96
|
all(sql, params) {
|
|
97
|
+
const db = this.getDb();
|
|
98
|
+
let stmt;
|
|
104
99
|
if (params && params.length > 0) {
|
|
105
|
-
|
|
100
|
+
stmt = db.prepare(sql);
|
|
101
|
+
stmt.bind(params);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
stmt = db.prepare(sql);
|
|
106
105
|
}
|
|
107
|
-
|
|
106
|
+
const results = [];
|
|
107
|
+
const columns = stmt.getColumnNames();
|
|
108
|
+
while (stmt.step()) {
|
|
109
|
+
const values = stmt.get();
|
|
110
|
+
const row = {};
|
|
111
|
+
columns.forEach((col, i) => {
|
|
112
|
+
row[col] = values[i];
|
|
113
|
+
});
|
|
114
|
+
results.push(row);
|
|
115
|
+
}
|
|
116
|
+
stmt.free();
|
|
117
|
+
return results;
|
|
108
118
|
}
|
|
109
|
-
/**
|
|
110
|
-
* 执行事务
|
|
111
|
-
*
|
|
112
|
-
* @param fn - 事务函数
|
|
113
|
-
* @returns 事务返回值
|
|
114
|
-
*/
|
|
115
119
|
transaction(fn) {
|
|
116
|
-
|
|
120
|
+
const db = this.getDb();
|
|
121
|
+
db.run('BEGIN TRANSACTION');
|
|
122
|
+
try {
|
|
123
|
+
const result = fn();
|
|
124
|
+
db.run('COMMIT');
|
|
125
|
+
this.saveLater();
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
db.run('ROLLBACK');
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
117
132
|
}
|
|
118
|
-
/**
|
|
119
|
-
* 关闭数据库连接
|
|
120
|
-
*/
|
|
121
133
|
close() {
|
|
134
|
+
if (this.saveTimer) {
|
|
135
|
+
clearTimeout(this.saveTimer);
|
|
136
|
+
this.saveTimer = null;
|
|
137
|
+
}
|
|
122
138
|
if (this.db) {
|
|
139
|
+
this.save();
|
|
123
140
|
this.db.close();
|
|
124
141
|
this.db = null;
|
|
125
142
|
}
|
|
126
143
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
144
|
+
save() {
|
|
145
|
+
if (!this.db || this.dbPath === ':memory:')
|
|
146
|
+
return;
|
|
147
|
+
const data = this.db.export();
|
|
148
|
+
const buffer = Buffer.from(data);
|
|
149
|
+
fs.writeFileSync(this.dbPath, buffer);
|
|
150
|
+
}
|
|
151
|
+
saveLater() {
|
|
152
|
+
if (this.saveTimer)
|
|
153
|
+
return;
|
|
154
|
+
this.saveTimer = setTimeout(() => {
|
|
155
|
+
this.save();
|
|
156
|
+
this.saveTimer = null;
|
|
157
|
+
}, 100);
|
|
158
|
+
}
|
|
133
159
|
runMigrations() {
|
|
134
160
|
if (!this.db)
|
|
135
161
|
throw new Error('Database not initialized');
|
|
136
|
-
this.db.
|
|
162
|
+
this.db.run(`
|
|
137
163
|
CREATE TABLE IF NOT EXISTS migrations (
|
|
138
164
|
id INTEGER PRIMARY KEY,
|
|
139
165
|
name TEXT NOT NULL,
|
|
@@ -145,23 +171,22 @@ export class DbService {
|
|
|
145
171
|
() => this.migration002AddContextFields(),
|
|
146
172
|
() => this.migration003AddLspServers(),
|
|
147
173
|
() => this.migration004AddProjects(),
|
|
174
|
+
() => this.migration005AddAiCallLogs(),
|
|
148
175
|
];
|
|
149
176
|
for (let i = 0; i < migrations.length; i++) {
|
|
150
177
|
const migration = migrations[i];
|
|
151
178
|
const migrationId = i + 1;
|
|
152
|
-
const applied = this.
|
|
179
|
+
const applied = this.get('SELECT 1 FROM migrations WHERE id = ?', [migrationId]);
|
|
153
180
|
if (!applied) {
|
|
154
181
|
migration();
|
|
155
|
-
this.
|
|
182
|
+
this.run('INSERT INTO migrations (id, name) VALUES (?, ?)', [migrationId, `migration${String(migrationId).padStart(3, '0')}`]);
|
|
156
183
|
}
|
|
157
184
|
}
|
|
158
185
|
}
|
|
159
|
-
/** 初始迁移:创建所有基础表 */
|
|
160
186
|
migration001Initial() {
|
|
161
187
|
if (!this.db)
|
|
162
188
|
return;
|
|
163
|
-
|
|
164
|
-
this.db.exec(`
|
|
189
|
+
this.db.run(`
|
|
165
190
|
CREATE TABLE IF NOT EXISTS sessions (
|
|
166
191
|
id TEXT PRIMARY KEY,
|
|
167
192
|
title TEXT NOT NULL,
|
|
@@ -174,8 +199,7 @@ export class DbService {
|
|
|
174
199
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
175
200
|
)
|
|
176
201
|
`);
|
|
177
|
-
|
|
178
|
-
this.db.exec(`
|
|
202
|
+
this.db.run(`
|
|
179
203
|
CREATE TABLE IF NOT EXISTS messages (
|
|
180
204
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
181
205
|
session_id TEXT NOT NULL,
|
|
@@ -187,8 +211,7 @@ export class DbService {
|
|
|
187
211
|
FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE CASCADE
|
|
188
212
|
)
|
|
189
213
|
`);
|
|
190
|
-
|
|
191
|
-
this.db.exec(`
|
|
214
|
+
this.db.run(`
|
|
192
215
|
CREATE TABLE IF NOT EXISTS project_knowledge (
|
|
193
216
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
194
217
|
project_path TEXT NOT NULL,
|
|
@@ -199,8 +222,7 @@ export class DbService {
|
|
|
199
222
|
UNIQUE(project_path, key)
|
|
200
223
|
)
|
|
201
224
|
`);
|
|
202
|
-
|
|
203
|
-
this.db.exec(`
|
|
225
|
+
this.db.run(`
|
|
204
226
|
CREATE TABLE IF NOT EXISTS code_snippets (
|
|
205
227
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
206
228
|
session_id TEXT,
|
|
@@ -212,8 +234,7 @@ export class DbService {
|
|
|
212
234
|
FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE SET NULL
|
|
213
235
|
)
|
|
214
236
|
`);
|
|
215
|
-
|
|
216
|
-
this.db.exec(`
|
|
237
|
+
this.db.run(`
|
|
217
238
|
CREATE TABLE IF NOT EXISTS providers (
|
|
218
239
|
id TEXT PRIMARY KEY,
|
|
219
240
|
name TEXT NOT NULL,
|
|
@@ -225,8 +246,7 @@ export class DbService {
|
|
|
225
246
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
226
247
|
)
|
|
227
248
|
`);
|
|
228
|
-
|
|
229
|
-
this.db.exec(`
|
|
249
|
+
this.db.run(`
|
|
230
250
|
CREATE TABLE IF NOT EXISTS models (
|
|
231
251
|
id TEXT PRIMARY KEY,
|
|
232
252
|
provider_id TEXT NOT NULL,
|
|
@@ -241,86 +261,70 @@ export class DbService {
|
|
|
241
261
|
FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE CASCADE
|
|
242
262
|
)
|
|
243
263
|
`);
|
|
244
|
-
|
|
245
|
-
this.db.exec(`
|
|
264
|
+
this.db.run(`
|
|
246
265
|
CREATE TABLE IF NOT EXISTS config (
|
|
247
266
|
key TEXT PRIMARY KEY,
|
|
248
267
|
value TEXT NOT NULL,
|
|
249
268
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
250
269
|
)
|
|
251
270
|
`);
|
|
252
|
-
|
|
253
|
-
this.db.
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
this.db.
|
|
264
|
-
this.db.
|
|
265
|
-
this.db.
|
|
266
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.mode', '"fixed"')`);
|
|
267
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.maxTokens', '100000')`);
|
|
268
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.percentage', '0.95')`);
|
|
269
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.autoCompact', 'true')`);
|
|
271
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_messages_session_id ON messages(session_id)`);
|
|
272
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_messages_created_at ON messages(created_at)`);
|
|
273
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_messages_keep_context ON messages(session_id, keep_context)`);
|
|
274
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_project_knowledge_path ON project_knowledge(project_path)`);
|
|
275
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_code_snippets_session ON code_snippets(session_id)`);
|
|
276
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_models_provider ON models(provider_id)`);
|
|
277
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_sessions_summary ON sessions(summary_message_id)`);
|
|
278
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.maxToolIterations', '10')`);
|
|
279
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.maxSessionCompression', '5')`);
|
|
280
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('web.port', '40000')`);
|
|
281
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.mode', '"fixed"')`);
|
|
282
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.maxTokens', '100000')`);
|
|
283
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.percentage', '0.95')`);
|
|
284
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.autoCompact', 'true')`);
|
|
270
285
|
}
|
|
271
|
-
/** 迁移002:添加上下文压缩相关字段 */
|
|
272
286
|
migration002AddContextFields() {
|
|
273
287
|
if (!this.db)
|
|
274
288
|
return;
|
|
275
|
-
|
|
276
|
-
const sessionsInfo = this.db.pragma('table_info(sessions)');
|
|
277
|
-
const sessionsColumns = sessionsInfo.map(col => col.name);
|
|
289
|
+
const sessionsColumns = this.getTableColumns('sessions');
|
|
278
290
|
if (!sessionsColumns.includes('summary_message_id')) {
|
|
279
|
-
this.db.
|
|
291
|
+
this.db.run(`ALTER TABLE sessions ADD COLUMN summary_message_id INTEGER`);
|
|
280
292
|
}
|
|
281
293
|
if (!sessionsColumns.includes('prompt_tokens')) {
|
|
282
|
-
this.db.
|
|
294
|
+
this.db.run(`ALTER TABLE sessions ADD COLUMN prompt_tokens INTEGER DEFAULT 0`);
|
|
283
295
|
}
|
|
284
296
|
if (!sessionsColumns.includes('completion_tokens')) {
|
|
285
|
-
this.db.
|
|
297
|
+
this.db.run(`ALTER TABLE sessions ADD COLUMN completion_tokens INTEGER DEFAULT 0`);
|
|
286
298
|
}
|
|
287
299
|
if (!sessionsColumns.includes('cost')) {
|
|
288
|
-
this.db.
|
|
300
|
+
this.db.run(`ALTER TABLE sessions ADD COLUMN cost REAL DEFAULT 0`);
|
|
289
301
|
}
|
|
290
|
-
|
|
291
|
-
const messagesInfo = this.db.pragma('table_info(messages)');
|
|
292
|
-
const messagesColumns = messagesInfo.map(col => col.name);
|
|
293
|
-
// 如果有 is_permanent 但没有 keep_context,重命名
|
|
302
|
+
const messagesColumns = this.getTableColumns('messages');
|
|
294
303
|
if (messagesColumns.includes('is_permanent') && !messagesColumns.includes('keep_context')) {
|
|
295
|
-
this.db.
|
|
304
|
+
this.db.run(`ALTER TABLE messages RENAME COLUMN is_permanent TO keep_context`);
|
|
296
305
|
}
|
|
297
306
|
else if (!messagesColumns.includes('keep_context')) {
|
|
298
|
-
this.db.
|
|
307
|
+
this.db.run(`ALTER TABLE messages ADD COLUMN keep_context INTEGER DEFAULT 1`);
|
|
299
308
|
}
|
|
300
|
-
|
|
301
|
-
const modelsInfo = this.db.pragma('table_info(models)');
|
|
302
|
-
const modelsColumns = modelsInfo.map(col => col.name);
|
|
309
|
+
const modelsColumns = this.getTableColumns('models');
|
|
303
310
|
if (!modelsColumns.includes('context_window')) {
|
|
304
|
-
this.db.
|
|
311
|
+
this.db.run(`ALTER TABLE models ADD COLUMN context_window INTEGER DEFAULT 4096`);
|
|
305
312
|
}
|
|
306
313
|
if (!modelsColumns.includes('max_output_tokens')) {
|
|
307
|
-
this.db.
|
|
314
|
+
this.db.run(`ALTER TABLE models ADD COLUMN max_output_tokens INTEGER DEFAULT 4096`);
|
|
308
315
|
}
|
|
309
316
|
if (!modelsColumns.includes('supports_vision')) {
|
|
310
|
-
this.db.
|
|
317
|
+
this.db.run(`ALTER TABLE models ADD COLUMN supports_vision INTEGER DEFAULT 0`);
|
|
311
318
|
}
|
|
312
319
|
if (!modelsColumns.includes('supports_tools')) {
|
|
313
|
-
this.db.
|
|
320
|
+
this.db.run(`ALTER TABLE models ADD COLUMN supports_tools INTEGER DEFAULT 1`);
|
|
314
321
|
}
|
|
315
|
-
|
|
316
|
-
this.db.
|
|
317
|
-
this.db.
|
|
318
|
-
|
|
319
|
-
this.db.
|
|
320
|
-
this.db.
|
|
321
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.percentage', '0.95')`);
|
|
322
|
-
this.db.exec(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.autoCompact', 'true')`);
|
|
323
|
-
// 初始化常用模型的 context_window
|
|
322
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_sessions_summary ON sessions(summary_message_id)`);
|
|
323
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_messages_keep_context ON messages(session_id, keep_context)`);
|
|
324
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.mode', '"fixed"')`);
|
|
325
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.maxTokens', '10000')`);
|
|
326
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.percentage', '0.95')`);
|
|
327
|
+
this.db.run(`INSERT OR IGNORE INTO config (key, value) VALUES ('ai.context.autoCompact', 'true')`);
|
|
324
328
|
const modelContextWindows = {
|
|
325
329
|
'gpt-4': 8192,
|
|
326
330
|
'gpt-4-turbo': 128000,
|
|
@@ -339,11 +343,10 @@ export class DbService {
|
|
|
339
343
|
this.run(`UPDATE models SET context_window = ? WHERE id = ?`, [contextWindow, modelId]);
|
|
340
344
|
}
|
|
341
345
|
}
|
|
342
|
-
/** 迁移003:添加 LSP 服务器表 */
|
|
343
346
|
migration003AddLspServers() {
|
|
344
347
|
if (!this.db)
|
|
345
348
|
return;
|
|
346
|
-
this.db.
|
|
349
|
+
this.db.run(`
|
|
347
350
|
CREATE TABLE IF NOT EXISTS lsp_server (
|
|
348
351
|
id TEXT PRIMARY KEY,
|
|
349
352
|
enabled INTEGER NOT NULL DEFAULT 0,
|
|
@@ -360,14 +363,13 @@ export class DbService {
|
|
|
360
363
|
{ id: "cpp", enabled: 0, auto_start: 0 },
|
|
361
364
|
];
|
|
362
365
|
for (const server of defaultServers) {
|
|
363
|
-
this.db.
|
|
366
|
+
this.db.run("INSERT OR IGNORE INTO lsp_server (id, enabled, auto_start, created_at, updated_at) VALUES (?, ?, ?, ?, ?)", [server.id, server.enabled, server.auto_start, now, now]);
|
|
364
367
|
}
|
|
365
368
|
}
|
|
366
|
-
/** 迁移004:添加项目表 */
|
|
367
369
|
migration004AddProjects() {
|
|
368
370
|
if (!this.db)
|
|
369
371
|
return;
|
|
370
|
-
this.db.
|
|
372
|
+
this.db.run(`
|
|
371
373
|
CREATE TABLE IF NOT EXISTS projects (
|
|
372
374
|
id TEXT PRIMARY KEY,
|
|
373
375
|
name TEXT NOT NULL,
|
|
@@ -378,10 +380,36 @@ export class DbService {
|
|
|
378
380
|
last_opened_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
379
381
|
)
|
|
380
382
|
`);
|
|
381
|
-
this.db.
|
|
382
|
-
this.db.
|
|
383
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_projects_path ON projects(path)`);
|
|
384
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_projects_active ON projects(is_active)`);
|
|
385
|
+
}
|
|
386
|
+
migration005AddAiCallLogs() {
|
|
387
|
+
if (!this.db)
|
|
388
|
+
return;
|
|
389
|
+
this.db.run(`
|
|
390
|
+
CREATE TABLE IF NOT EXISTS ai_call_logs (
|
|
391
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
392
|
+
model_address TEXT NOT NULL,
|
|
393
|
+
model_name TEXT NOT NULL,
|
|
394
|
+
request_time DATETIME DEFAULT (datetime('now', 'localtime')),
|
|
395
|
+
response_time DATETIME,
|
|
396
|
+
duration_ms INTEGER DEFAULT 0,
|
|
397
|
+
input_tokens INTEGER DEFAULT 0,
|
|
398
|
+
output_tokens INTEGER DEFAULT 0,
|
|
399
|
+
cost REAL DEFAULT 0,
|
|
400
|
+
call_type TEXT NOT NULL CHECK (call_type IN ('tool_call', 'normal')),
|
|
401
|
+
session_id TEXT,
|
|
402
|
+
created_at DATETIME DEFAULT (datetime('now', 'localtime'))
|
|
403
|
+
)
|
|
404
|
+
`);
|
|
405
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_ai_logs_request_time ON ai_call_logs(request_time)`);
|
|
406
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_ai_logs_session_id ON ai_call_logs(session_id)`);
|
|
407
|
+
this.db.run(`CREATE INDEX IF NOT EXISTS idx_ai_logs_call_type ON ai_call_logs(call_type)`);
|
|
408
|
+
}
|
|
409
|
+
getTableColumns(tableName) {
|
|
410
|
+
const result = this.all(`PRAGMA table_info("${tableName}")`);
|
|
411
|
+
return result.map(row => row.name);
|
|
383
412
|
}
|
|
384
413
|
}
|
|
385
|
-
/** 单例导出 */
|
|
386
414
|
export const dbService = new DbService();
|
|
387
415
|
//# sourceMappingURL=db.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.service.js","sourceRoot":"","sources":["../../../src/modules/db/db.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.service.js","sourceRoot":"","sources":["../../../src/modules/db/db.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 数据库类型定义
|
|
3
3
|
*
|
|
4
|
-
* Database:
|
|
4
|
+
* Database: sql.js 的数据库实例类型
|
|
5
5
|
*/
|
|
6
|
-
import Database from '
|
|
7
|
-
export type { Database };
|
|
6
|
+
import { Database as SqlJsDatabase } from 'sql.js';
|
|
7
|
+
export type { SqlJsDatabase as Database };
|
|
8
8
|
//# sourceMappingURL=db.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.types.d.ts","sourceRoot":"","sources":["../../../src/modules/db/db.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"db.types.d.ts","sourceRoot":"","sources":["../../../src/modules/db/db.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEnD,YAAY,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
2
|
import fs from 'fs';
|
|
3
3
|
import path from 'path';
|
|
4
|
+
import which from 'which';
|
|
4
5
|
const DEFAULT_TIMEOUT = 120000;
|
|
5
6
|
const MAX_BYTES = 50 * 1024;
|
|
6
7
|
const MAX_LINES = 2000;
|
|
7
8
|
function getShell() {
|
|
8
9
|
if (process.platform === 'win32') {
|
|
9
|
-
const gitPath =
|
|
10
|
+
const gitPath = which.sync('git', { nothrow: true });
|
|
10
11
|
if (gitPath) {
|
|
11
|
-
const bashPath = path.
|
|
12
|
+
const bashPath = path.resolve(path.dirname(gitPath), '..', '..', 'bin', 'bash.exe');
|
|
12
13
|
try {
|
|
13
14
|
if (fs.statSync(bashPath).isFile()) {
|
|
14
15
|
return bashPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../../src/modules/tools/builtin/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../../../src/modules/tools/builtin/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3B,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB,SAAS,QAAQ;IACf,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;YACnF,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnC,OAAO,QAAQ,CAAA;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IACzC,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAA;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAS;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,UAAU;IAC3B,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,OAAO,EAAE,KAAK,EAAE,MAA+D,EAAE,OAAoB,EAAuB,EAAE;QAC5H,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,EAAE,GAAG,MAAM,CAAA;QAC9D,MAAM,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAEvD,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;QACxB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;QAC9C,MAAM,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QAE5E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE;YAC1B,KAAK,EAAE,QAAQ,IAAI,KAAK;YACxB,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7C,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;YACnG,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;YAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC9B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,mCAAmC,GAAG,SAAS,GAAG,SAAS,CAAA;gBACjG,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,EAAE,CAAA;QACZ,CAAC,CAAA;QACD,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAE5D,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,MAAM,IAAI,+BAA+B,GAAG,OAAO,GAAG,KAAK,CAAA;YAC3D,QAAQ,EAAE,CAAA;QACZ,CAAC,EAAE,OAAO,CAAC,CAAA;QAEX,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,MAAM,GAAG,IAAI,CAAA;oBACb,YAAY,CAAC,YAAY,CAAC,CAAA;oBAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;oBAC/D,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACvB,MAAM,GAAG,IAAI,CAAA;oBACb,YAAY,CAAC,YAAY,CAAC,CAAA;oBAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;oBAC/D,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM;gBACN,KAAK,EAAE,GAAG,CAAC,OAAO;aACnB,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;QACvC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnE,MAAM,GAAG,SAAS,GAAG,mCAAmC,GAAG,SAAS,GAAG,SAAS,CAAA;QAClF,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM,IAAI,aAAa;YAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SACtC,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/provider/bash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA2B,MAAM,kBAAkB,CAAA;AAwChE,eAAO,MAAM,QAAQ,EAAE,IA0GtB,CAAA"}
|