@agent-smith/cli 0.0.115 → 0.0.118
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/README.md +274 -34
- package/dist/cli.js +4 -8
- package/dist/cmd/{clicmds/aliases.d.ts → aliases.d.ts} +1 -1
- package/dist/cmd/{clicmds/aliases.js → aliases.js} +1 -26
- package/dist/cmd/{clicmds/base.js → base.js} +21 -17
- package/dist/cmd/build.d.ts +9 -0
- package/dist/cmd/build.js +59 -0
- package/dist/cmd/callbacks.d.ts +11 -0
- package/dist/cmd/callbacks.js +90 -0
- package/dist/cmd/cmds.d.ts +8 -9
- package/dist/cmd/cmds.js +134 -103
- package/dist/cmd/features.d.ts +6 -0
- package/dist/cmd/features.js +57 -0
- package/dist/cmd/{sys/read_cmds.d.ts → read_cmds.d.ts} +1 -1
- package/dist/cmd/{sys/read_cmds.js → read_cmds.js} +1 -1
- package/dist/cmd/user_cmds.d.ts +3 -0
- package/dist/cmd/user_cmds.js +23 -0
- package/dist/index.js +11 -11
- package/dist/main.d.ts +3 -38
- package/dist/main.js +3 -37
- package/dist/state.d.ts +6 -0
- package/dist/state.js +8 -0
- package/dist/utils.d.ts +8 -0
- package/dist/utils.js +50 -0
- package/package.json +10 -20
- package/dist/cmd/clicmds/cmds.d.ts +0 -7
- package/dist/cmd/clicmds/cmds.js +0 -135
- package/dist/cmd/clicmds/updateconf.d.ts +0 -3
- package/dist/cmd/clicmds/updateconf.js +0 -74
- package/dist/cmd/lib/actions/cmd.d.ts +0 -6
- package/dist/cmd/lib/actions/cmd.js +0 -154
- package/dist/cmd/lib/actions/read.d.ts +0 -3
- package/dist/cmd/lib/actions/read.js +0 -17
- package/dist/cmd/lib/adaptaters/cmd.d.ts +0 -2
- package/dist/cmd/lib/adaptaters/cmd.js +0 -39
- package/dist/cmd/lib/agents/cmd.d.ts +0 -3
- package/dist/cmd/lib/agents/cmd.js +0 -11
- package/dist/cmd/lib/mcp.d.ts +0 -16
- package/dist/cmd/lib/mcp.js +0 -105
- package/dist/cmd/lib/options_parsers.d.ts +0 -7
- package/dist/cmd/lib/options_parsers.js +0 -52
- package/dist/cmd/lib/tasks/cmd.d.ts +0 -4
- package/dist/cmd/lib/tasks/cmd.js +0 -419
- package/dist/cmd/lib/tasks/conf.d.ts +0 -6
- package/dist/cmd/lib/tasks/conf.js +0 -131
- package/dist/cmd/lib/tasks/read.d.ts +0 -14
- package/dist/cmd/lib/tasks/read.js +0 -186
- package/dist/cmd/lib/tasks/utils.d.ts +0 -8
- package/dist/cmd/lib/tasks/utils.js +0 -48
- package/dist/cmd/lib/tools.d.ts +0 -15
- package/dist/cmd/lib/tools.js +0 -147
- package/dist/cmd/lib/utils.d.ts +0 -3
- package/dist/cmd/lib/utils.js +0 -54
- package/dist/cmd/lib/workflows/cmd.d.ts +0 -3
- package/dist/cmd/lib/workflows/cmd.js +0 -230
- package/dist/cmd/lib/workflows/read.d.ts +0 -6
- package/dist/cmd/lib/workflows/read.js +0 -61
- package/dist/cmd/sys/clipboard.d.ts +0 -3
- package/dist/cmd/sys/clipboard.js +0 -33
- package/dist/cmd/sys/delete_file.d.ts +0 -2
- package/dist/cmd/sys/delete_file.js +0 -10
- package/dist/cmd/sys/dirs.d.ts +0 -2
- package/dist/cmd/sys/dirs.js +0 -9
- package/dist/cmd/sys/execute.d.ts +0 -13
- package/dist/cmd/sys/execute.js +0 -48
- package/dist/cmd/sys/read.d.ts +0 -3
- package/dist/cmd/sys/read.js +0 -21
- package/dist/cmd/sys/read_conf.d.ts +0 -6
- package/dist/cmd/sys/read_conf.js +0 -12
- package/dist/cmd/sys/read_features.d.ts +0 -3
- package/dist/cmd/sys/read_features.js +0 -112
- package/dist/cmd/sys/read_task.d.ts +0 -6
- package/dist/cmd/sys/read_task.js +0 -23
- package/dist/cmd/sys/read_yml_file.d.ts +0 -5
- package/dist/cmd/sys/read_yml_file.js +0 -11
- package/dist/cmd/sys/run_python.d.ts +0 -6
- package/dist/cmd/sys/run_python.js +0 -39
- package/dist/conf.d.ts +0 -14
- package/dist/conf.js +0 -166
- package/dist/const.d.ts +0 -3
- package/dist/const.js +0 -24
- package/dist/db/db.d.ts +0 -4
- package/dist/db/db.js +0 -23
- package/dist/db/read.d.ts +0 -34
- package/dist/db/read.js +0 -128
- package/dist/db/schemas.d.ts +0 -2
- package/dist/db/schemas.js +0 -105
- package/dist/db/write.d.ts +0 -15
- package/dist/db/write.js +0 -376
- package/dist/interfaces.d.ts +0 -165
- package/dist/interfaces.js +0 -1
- package/dist/state/backends.d.ts +0 -7
- package/dist/state/backends.js +0 -159
- package/dist/state/chat.d.ts +0 -7
- package/dist/state/chat.js +0 -10
- package/dist/state/features.d.ts +0 -8
- package/dist/state/features.js +0 -35
- package/dist/state/plugins.d.ts +0 -6
- package/dist/state/plugins.js +0 -27
- package/dist/state/state.d.ts +0 -20
- package/dist/state/state.js +0 -80
- package/dist/state/tasks.d.ts +0 -6
- package/dist/state/tasks.js +0 -28
- package/dist/utils/perf.d.ts +0 -9
- package/dist/utils/perf.js +0 -63
- package/dist/utils/text.d.ts +0 -6
- package/dist/utils/text.js +0 -41
- package/dist/utils/user_msgs.d.ts +0 -5
- package/dist/utils/user_msgs.js +0 -19
- /package/dist/cmd/{clicmds/base.d.ts → base.d.ts} +0 -0
- /package/dist/{cmd/options.d.ts → options.d.ts} +0 -0
- /package/dist/{cmd/options.js → options.js} +0 -0
- /package/dist/{cmd/lib/user_msgs.d.ts → user_msgs.d.ts} +0 -0
- /package/dist/{cmd/lib/user_msgs.js → user_msgs.js} +0 -0
package/dist/db/write.js
DELETED
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
import { extractTaskToolDocAndVariables, extractToolDoc } from "../cmd/lib/tools.js";
|
|
2
|
-
import { db } from "./db.js";
|
|
3
|
-
function updatePromptfilePath(pf) {
|
|
4
|
-
const deleteStmt = db.prepare("DELETE FROM filepath WHERE name = ?");
|
|
5
|
-
deleteStmt.run("promptfile");
|
|
6
|
-
const stmt = db.prepare("INSERT INTO filepath (name, path) VALUES (?, ?)");
|
|
7
|
-
stmt.run("promptfile", pf);
|
|
8
|
-
}
|
|
9
|
-
function updateDataDirPath(dd) {
|
|
10
|
-
const deleteStmt = db.prepare("DELETE FROM filepath WHERE name = ?");
|
|
11
|
-
deleteStmt.run("datadir");
|
|
12
|
-
const stmt = db.prepare("INSERT INTO filepath (name, path) VALUES (?, ?)");
|
|
13
|
-
stmt.run("datadir", dd);
|
|
14
|
-
}
|
|
15
|
-
function setDefaultBackend(name) {
|
|
16
|
-
const updateStmt = db.prepare("UPDATE backend SET isdefault = 0 WHERE isdefault = 1");
|
|
17
|
-
updateStmt.run();
|
|
18
|
-
const nupdStmt = db.prepare("UPDATE backend SET isdefault = 1 WHERE name = ?");
|
|
19
|
-
nupdStmt.run(name);
|
|
20
|
-
}
|
|
21
|
-
function upsertBackends(bdata) {
|
|
22
|
-
let hasUpdates = false;
|
|
23
|
-
// Get all existing backend names
|
|
24
|
-
const existingStmt = db.prepare("SELECT name FROM backend");
|
|
25
|
-
const existingBackends = existingStmt.all();
|
|
26
|
-
const existingNames = new Set(existingBackends.map(b => b.name));
|
|
27
|
-
// Create a set of new backend names for comparison
|
|
28
|
-
const newNames = new Set(bdata.map(b => b.name));
|
|
29
|
-
// Delete backends that are not in the new list
|
|
30
|
-
const toDelete = Array.from(existingNames).filter(name => !newNames.has(name));
|
|
31
|
-
if (toDelete.length > 0) {
|
|
32
|
-
const deleteStmt = db.prepare("DELETE FROM backend WHERE name = ?");
|
|
33
|
-
for (const name of toDelete) {
|
|
34
|
-
deleteStmt.run(name);
|
|
35
|
-
}
|
|
36
|
-
hasUpdates = true;
|
|
37
|
-
}
|
|
38
|
-
// Upsert the new backends
|
|
39
|
-
for (const backend of bdata) {
|
|
40
|
-
const stmt1 = db.prepare("SELECT * FROM backend WHERE name = ?");
|
|
41
|
-
const result = stmt1.get(backend.name);
|
|
42
|
-
if (result?.id) {
|
|
43
|
-
const updateStmt = db.prepare("UPDATE backend SET type = ?, url = ?, apiKey = ?, isdefault = ? WHERE name = ?");
|
|
44
|
-
updateStmt.run(backend.type, backend.url, backend?.apiKey ?? "NULL", backend.isDefault ? 1 : 0, backend.name);
|
|
45
|
-
hasUpdates = true;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const stmt = db.prepare("INSERT INTO backend (name,type,url,apiKey,isdefault) VALUES (?,?,?,?,?)");
|
|
49
|
-
stmt.run(backend.name, backend.type, backend.url, backend?.apiKey ?? "NULL", backend.isDefault ? 1 : 0);
|
|
50
|
-
hasUpdates = true;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return hasUpdates;
|
|
54
|
-
}
|
|
55
|
-
function insertFeaturesPathIfNotExists(path) {
|
|
56
|
-
const stmt1 = db.prepare("SELECT * FROM featurespath WHERE path = ?");
|
|
57
|
-
const result = stmt1.get(path);
|
|
58
|
-
if (result?.id) {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
const stmt = db.prepare("INSERT INTO featurespath (path) VALUES (?)");
|
|
62
|
-
stmt.run(path);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
function insertPluginIfNotExists(n, p) {
|
|
66
|
-
const stmt1 = db.prepare("SELECT * FROM plugin WHERE name = ?");
|
|
67
|
-
const result = stmt1.get(n);
|
|
68
|
-
if (result?.id) {
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
const stmt = db.prepare("INSERT INTO plugin (name, path) VALUES (?,?)");
|
|
72
|
-
stmt.run(n, p);
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
function cleanupFeaturePaths(paths) {
|
|
76
|
-
const stmt = db.prepare("SELECT path FROM featurespath");
|
|
77
|
-
const rows = stmt.all();
|
|
78
|
-
const deleted = new Array();
|
|
79
|
-
for (const entry of rows) {
|
|
80
|
-
if (!paths.includes(entry.path)) {
|
|
81
|
-
const deleteStmt = db.prepare("DELETE FROM featurespath WHERE path = ?");
|
|
82
|
-
deleteStmt.run(entry.path);
|
|
83
|
-
deleted.push(entry.path);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return deleted;
|
|
87
|
-
}
|
|
88
|
-
function _updateAlias(existingAliases, name, type) {
|
|
89
|
-
if (!existingAliases.includes(name)) {
|
|
90
|
-
const insertStmt = db.prepare("INSERT INTO aliases (name, type) VALUES (?, ?)");
|
|
91
|
-
insertStmt.run(name, type);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
console.log("Can not create command alias", name, ": duplicate name");
|
|
95
|
-
}
|
|
96
|
-
existingAliases.push(name);
|
|
97
|
-
return existingAliases;
|
|
98
|
-
}
|
|
99
|
-
function updateAliases(feats) {
|
|
100
|
-
const deleteStmt = db.prepare("DELETE FROM aliases");
|
|
101
|
-
deleteStmt.run();
|
|
102
|
-
let existingAliases = new Array();
|
|
103
|
-
feats.agent.forEach((feat) => {
|
|
104
|
-
existingAliases = _updateAlias(existingAliases, feat.name, "agent");
|
|
105
|
-
});
|
|
106
|
-
feats.task.forEach((feat) => {
|
|
107
|
-
existingAliases = _updateAlias(existingAliases, feat.name, "task");
|
|
108
|
-
});
|
|
109
|
-
feats.action.forEach((feat) => {
|
|
110
|
-
existingAliases = _updateAlias(existingAliases, feat.name, "action");
|
|
111
|
-
});
|
|
112
|
-
feats.workflow.forEach((feat) => {
|
|
113
|
-
existingAliases = _updateAlias(existingAliases, feat.name, "workflow");
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
function upsertAndCleanFeatures(feats, type) {
|
|
117
|
-
const stmt = db.prepare(`SELECT name FROM ${type}`);
|
|
118
|
-
const rows = stmt.all();
|
|
119
|
-
const names = rows.map(row => row.name);
|
|
120
|
-
// cleanup removed features
|
|
121
|
-
const availableFeatsNames = feats.map((f) => f.name);
|
|
122
|
-
//console.log("NAMES", names);
|
|
123
|
-
//console.log("AVAILABLE", availableFeatsNames);
|
|
124
|
-
const newFeatures = new Array();
|
|
125
|
-
names.forEach((name) => {
|
|
126
|
-
//console.log(name, !availableFeatsNames.includes(name));
|
|
127
|
-
if (!availableFeatsNames.includes(name)) {
|
|
128
|
-
//console.log("DELETE", name);
|
|
129
|
-
const deleteStmt = db.prepare(`DELETE FROM ${type} WHERE name = ?`);
|
|
130
|
-
deleteStmt.run(name);
|
|
131
|
-
console.log("-", "[" + type + "]", name);
|
|
132
|
-
// check if the feature has a tool and delete if if so
|
|
133
|
-
const stmt1 = db.prepare("SELECT * FROM tool WHERE name = ?");
|
|
134
|
-
const result = stmt1.get(name);
|
|
135
|
-
if (result?.id) {
|
|
136
|
-
const deleteStmt = db.prepare("DELETE FROM featurespath WHERE id = ?");
|
|
137
|
-
deleteStmt.run(result.id);
|
|
138
|
-
console.log("-", "[tool] from", type, ":", name);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
feats.forEach((feat) => {
|
|
143
|
-
if (!names.includes(feat.name)) {
|
|
144
|
-
//console.log("ADD", type, feat);
|
|
145
|
-
if (feat?.variables) {
|
|
146
|
-
const insertStmt = db.prepare(`INSERT INTO ${type} (name, path, ext, variables) VALUES (?, ?, ?, ?)`);
|
|
147
|
-
insertStmt.run(feat.name, feat.path, feat.ext, JSON.stringify(feat.variables, null, 2));
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
const insertStmt2 = db.prepare(`INSERT INTO ${type} (name, path, ext) VALUES (?, ?, ?)`);
|
|
151
|
-
insertStmt2.run(feat.name, feat.path, feat.ext);
|
|
152
|
-
}
|
|
153
|
-
console.log("+", "[" + type + "]", feat.name, feat.path);
|
|
154
|
-
newFeatures.push(feat);
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
return newFeatures;
|
|
158
|
-
}
|
|
159
|
-
function updateVariables(name, variableDoc) {
|
|
160
|
-
const stmt1 = db.prepare("SELECT id FROM task WHERE name = ?");
|
|
161
|
-
const result = stmt1.get(name);
|
|
162
|
-
//console.log("UV res", result);
|
|
163
|
-
if (!result?.id) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
const updateStmt = db.prepare("UPDATE task SET variables = ? WHERE id = ?");
|
|
167
|
-
updateStmt.run(variableDoc, result.id);
|
|
168
|
-
//console.log("~", "[task variables] updated for", name);
|
|
169
|
-
}
|
|
170
|
-
function updateUserCmd(feat) {
|
|
171
|
-
const stmt1 = db.prepare("SELECT id FROM cmd WHERE name = ?");
|
|
172
|
-
const result = stmt1.get(feat.name);
|
|
173
|
-
//console.log("UV res", result);
|
|
174
|
-
if (!result?.id) {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
const updateStmt = db.prepare("UPDATE cmd SET variables = ? WHERE id = ?");
|
|
178
|
-
updateStmt.run(JSON.stringify(feat.variables, null, 2), result.id);
|
|
179
|
-
}
|
|
180
|
-
function upsertTool(name, type, toolDoc) {
|
|
181
|
-
const stmt1 = db.prepare("SELECT * FROM tool WHERE name = ?");
|
|
182
|
-
const result = stmt1.get(name);
|
|
183
|
-
if (result?.id) {
|
|
184
|
-
// Update the existing tool
|
|
185
|
-
const updateStmt = db.prepare("UPDATE tool SET spec = ?, type = ? WHERE id = ?");
|
|
186
|
-
updateStmt.run(toolDoc, type, result.id);
|
|
187
|
-
//console.log("~", "[tool] updated from", type, ":", name);
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
// Insert a new tool
|
|
191
|
-
const stmt = db.prepare("INSERT INTO tool (name, spec, type) VALUES (?,?,?)");
|
|
192
|
-
stmt.run(name, toolDoc, type);
|
|
193
|
-
//console.log("+", "[tool] added from", type, ":", name);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
function updateFeatures(feats) {
|
|
197
|
-
//console.log("FEATS", feats);
|
|
198
|
-
upsertAndCleanFeatures(feats.agent, "agent");
|
|
199
|
-
feats.agent.forEach((feat) => {
|
|
200
|
-
const { toolDoc, variables } = extractTaskToolDocAndVariables(feat.name, feat.ext, feat.path);
|
|
201
|
-
//const { found, toolDoc } = extractToolDoc(feat.name, feat.ext, feat.path);
|
|
202
|
-
//console.log(`TASK ${feat.name} TOOL DOC`, toolDoc);
|
|
203
|
-
if (toolDoc.length > 0) {
|
|
204
|
-
upsertTool(feat.name, "agent", toolDoc);
|
|
205
|
-
}
|
|
206
|
-
if (Object.keys(variables.required).length > 0 || Object.keys(variables.optional).length > 0) {
|
|
207
|
-
//console.log("UPDATE VARS", feat.name, ":", variables)
|
|
208
|
-
updateVariables(feat.name, JSON.stringify(variables, null, " "));
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
upsertAndCleanFeatures(feats.task, "task");
|
|
212
|
-
feats.task.forEach((feat) => {
|
|
213
|
-
const { toolDoc, variables } = extractTaskToolDocAndVariables(feat.name, feat.ext, feat.path);
|
|
214
|
-
//const { found, toolDoc } = extractToolDoc(feat.name, feat.ext, feat.path);
|
|
215
|
-
//console.log(`TASK ${feat.name} TOOL DOC`, toolDoc);
|
|
216
|
-
if (toolDoc.length > 0) {
|
|
217
|
-
upsertTool(feat.name, "task", toolDoc);
|
|
218
|
-
}
|
|
219
|
-
if (Object.keys(variables.required).length > 0 || Object.keys(variables.optional).length > 0) {
|
|
220
|
-
//console.log("UPDATE VARS", feat.name, ":", variables)
|
|
221
|
-
updateVariables(feat.name, JSON.stringify(variables, null, " "));
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
upsertAndCleanFeatures(feats.action, "action");
|
|
225
|
-
feats.action.forEach((feat) => {
|
|
226
|
-
const { found, toolDoc } = extractToolDoc(feat.name, feat.ext, feat.path);
|
|
227
|
-
//console.log(`ACTION ${feat.name} TOOL DOC`, found, toolDoc);
|
|
228
|
-
if (found) {
|
|
229
|
-
upsertTool(feat.name, "action", toolDoc);
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
upsertAndCleanFeatures(feats.workflow, "workflow");
|
|
233
|
-
feats.workflow.forEach((feat) => {
|
|
234
|
-
const { found, toolDoc } = extractToolDoc(feat.name, feat.ext, feat.path);
|
|
235
|
-
//console.log(`WORKFLOW ${feat.name} TOOL DOC`, toolDoc);
|
|
236
|
-
if (found) {
|
|
237
|
-
upsertTool(feat.name, "workflow", toolDoc);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
upsertAndCleanFeatures(feats.adaptater, "adaptater");
|
|
241
|
-
upsertAndCleanFeatures(feats.cmd, "cmd");
|
|
242
|
-
feats.cmd.forEach(c => updateUserCmd(c));
|
|
243
|
-
}
|
|
244
|
-
function upsertFilePath(name, newPath) {
|
|
245
|
-
const selectStmt = db.prepare("SELECT * FROM filepath WHERE name = ?");
|
|
246
|
-
const result = selectStmt.get(name);
|
|
247
|
-
if (result?.id) {
|
|
248
|
-
// If the filepath exists, update it
|
|
249
|
-
const q = `UPDATE filepath SET path = ? WHERE name = ?`;
|
|
250
|
-
const stmt = db.prepare(q);
|
|
251
|
-
const updateResult = stmt.run(newPath, name);
|
|
252
|
-
return updateResult.changes > 0;
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
// If the filepath does not exist, insert it
|
|
256
|
-
const insertStmt = db.prepare("INSERT INTO filepath (name, path) VALUES (?, ?)");
|
|
257
|
-
insertStmt.run(name, newPath);
|
|
258
|
-
return true;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
function upsertTaskSettings(taskName, settings) {
|
|
262
|
-
const selectStmt = db.prepare("SELECT * FROM tasksettings WHERE name = ?");
|
|
263
|
-
const result = selectStmt.get(taskName);
|
|
264
|
-
if (result?.id) {
|
|
265
|
-
const qparams = new Array();
|
|
266
|
-
const qvalues = new Array();
|
|
267
|
-
if (settings?.model) {
|
|
268
|
-
qparams.push("model = ?");
|
|
269
|
-
qvalues.push(settings.model);
|
|
270
|
-
}
|
|
271
|
-
if (settings?.template) {
|
|
272
|
-
qparams.push("template = ?");
|
|
273
|
-
qvalues.push(settings.template);
|
|
274
|
-
}
|
|
275
|
-
if (settings?.ctx) {
|
|
276
|
-
qparams.push("ctx = ?");
|
|
277
|
-
qvalues.push(settings.ctx);
|
|
278
|
-
}
|
|
279
|
-
if (settings?.max_tokens) {
|
|
280
|
-
qparams.push("maxtokens = ?");
|
|
281
|
-
qvalues.push(settings.max_tokens);
|
|
282
|
-
}
|
|
283
|
-
if (settings?.top_k) {
|
|
284
|
-
qparams.push("topk = ?");
|
|
285
|
-
qvalues.push(settings.top_k);
|
|
286
|
-
}
|
|
287
|
-
if (settings?.top_p) {
|
|
288
|
-
qparams.push("topp = ?");
|
|
289
|
-
qvalues.push(settings.top_p);
|
|
290
|
-
}
|
|
291
|
-
if (settings?.min_p) {
|
|
292
|
-
qparams.push("minp = ?");
|
|
293
|
-
qvalues.push(settings.min_p);
|
|
294
|
-
}
|
|
295
|
-
if (settings?.temperature) {
|
|
296
|
-
qparams.push("temperature = ?");
|
|
297
|
-
qvalues.push(settings.temperature);
|
|
298
|
-
}
|
|
299
|
-
if (settings?.repeat_penalty) {
|
|
300
|
-
qparams.push("repeat = ?");
|
|
301
|
-
qvalues.push(settings.repeat_penalty);
|
|
302
|
-
}
|
|
303
|
-
if (settings?.backend) {
|
|
304
|
-
qparams.push("backend = ?");
|
|
305
|
-
qvalues.push(settings.backend);
|
|
306
|
-
}
|
|
307
|
-
const q = `UPDATE tasksettings SET ${qparams.join(", ")} WHERE name = ?`;
|
|
308
|
-
//console.log("Q", q);
|
|
309
|
-
const stmt = db.prepare(q);
|
|
310
|
-
const updateResult = stmt.run(...qvalues, taskName);
|
|
311
|
-
return updateResult.changes > 0;
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
const qnames = new Array();
|
|
315
|
-
const qvalues = new Array();
|
|
316
|
-
if (settings?.model) {
|
|
317
|
-
qnames.push("model");
|
|
318
|
-
qvalues.push(settings.model);
|
|
319
|
-
}
|
|
320
|
-
if (settings?.template) {
|
|
321
|
-
qnames.push("template");
|
|
322
|
-
qvalues.push(settings.template);
|
|
323
|
-
}
|
|
324
|
-
if (settings?.ctx) {
|
|
325
|
-
qnames.push("ctx");
|
|
326
|
-
qvalues.push(settings.ctx);
|
|
327
|
-
}
|
|
328
|
-
if (settings?.max_tokens) {
|
|
329
|
-
qnames.push("maxtokens");
|
|
330
|
-
qvalues.push(settings.max_tokens);
|
|
331
|
-
}
|
|
332
|
-
if (settings?.top_k) {
|
|
333
|
-
qnames.push("topk");
|
|
334
|
-
qvalues.push(settings.top_k);
|
|
335
|
-
}
|
|
336
|
-
if (settings?.top_p) {
|
|
337
|
-
qnames.push("topp");
|
|
338
|
-
qvalues.push(settings.top_p);
|
|
339
|
-
}
|
|
340
|
-
if (settings?.min_p) {
|
|
341
|
-
qnames.push("minp");
|
|
342
|
-
qvalues.push(settings.min_p);
|
|
343
|
-
}
|
|
344
|
-
if (settings?.temperature) {
|
|
345
|
-
qnames.push("temperature");
|
|
346
|
-
qvalues.push(settings.temperature);
|
|
347
|
-
}
|
|
348
|
-
if (settings?.repeat_penalty) {
|
|
349
|
-
qnames.push("repeat");
|
|
350
|
-
qvalues.push(settings.repeat_penalty);
|
|
351
|
-
}
|
|
352
|
-
if (settings?.backend) {
|
|
353
|
-
qnames.push("backend");
|
|
354
|
-
qvalues.push(settings.backend);
|
|
355
|
-
}
|
|
356
|
-
const nq = new Array("?");
|
|
357
|
-
qnames.forEach(n => nq.push("?"));
|
|
358
|
-
const q = `INSERT INTO tasksettings (name, ${qnames.join(", ")}) VALUES (${nq.join(", ")})`;
|
|
359
|
-
//console.log(q);
|
|
360
|
-
//console.log("VALs", qvalues);
|
|
361
|
-
const insertStmt = db.prepare(q);
|
|
362
|
-
insertStmt.run(taskName, ...qvalues);
|
|
363
|
-
return true;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
function deleteTaskSettings(settings) {
|
|
367
|
-
settings.forEach(s => {
|
|
368
|
-
const deleteStmt = db.prepare("DELETE FROM tasksettings WHERE name = ?");
|
|
369
|
-
deleteStmt.run(s);
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
function deleteTaskSetting(name) {
|
|
373
|
-
const deleteStmt = db.prepare("DELETE FROM tasksettings WHERE name = ?");
|
|
374
|
-
deleteStmt.run(name);
|
|
375
|
-
}
|
|
376
|
-
export { updatePromptfilePath, updateDataDirPath, upsertBackends, setDefaultBackend, insertFeaturesPathIfNotExists, insertPluginIfNotExists, updateFeatures, updateAliases, cleanupFeaturePaths, upsertFilePath, upsertTaskSettings, deleteTaskSettings, deleteTaskSetting, };
|
package/dist/interfaces.d.ts
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import type { TaskDef, ModelSpec, TaskVariables } from "@agent-smith/task";
|
|
2
|
-
import type { InferenceParams, LmProviderType } from "@locallm/types";
|
|
3
|
-
interface FeatureSpec {
|
|
4
|
-
id?: number;
|
|
5
|
-
name: string;
|
|
6
|
-
path: string;
|
|
7
|
-
ext: FeatureExtension;
|
|
8
|
-
variables?: TaskVariables | Record<string, any>;
|
|
9
|
-
}
|
|
10
|
-
interface Features {
|
|
11
|
-
agent: Array<{
|
|
12
|
-
name: string;
|
|
13
|
-
path: string;
|
|
14
|
-
ext: AgentExtension;
|
|
15
|
-
}>;
|
|
16
|
-
task: Array<{
|
|
17
|
-
name: string;
|
|
18
|
-
path: string;
|
|
19
|
-
ext: TaskExtension;
|
|
20
|
-
}>;
|
|
21
|
-
cmd: Array<{
|
|
22
|
-
name: string;
|
|
23
|
-
path: string;
|
|
24
|
-
ext: CmdExtension;
|
|
25
|
-
variables?: {
|
|
26
|
-
name: string;
|
|
27
|
-
options?: Array<Array<string> | string>;
|
|
28
|
-
description: string;
|
|
29
|
-
};
|
|
30
|
-
}>;
|
|
31
|
-
action: Array<{
|
|
32
|
-
name: string;
|
|
33
|
-
path: string;
|
|
34
|
-
ext: ActionExtension;
|
|
35
|
-
}>;
|
|
36
|
-
workflow: Array<{
|
|
37
|
-
name: string;
|
|
38
|
-
path: string;
|
|
39
|
-
ext: WorkflowExtension;
|
|
40
|
-
}>;
|
|
41
|
-
adaptater: Array<{
|
|
42
|
-
name: string;
|
|
43
|
-
path: string;
|
|
44
|
-
ext: AdaptaterExtension;
|
|
45
|
-
}>;
|
|
46
|
-
}
|
|
47
|
-
interface UserCmdDef {
|
|
48
|
-
name: string;
|
|
49
|
-
description: string;
|
|
50
|
-
run: (args: any, options: Record<string, any>) => Promise<any>;
|
|
51
|
-
options?: Array<Array<string> | string>;
|
|
52
|
-
}
|
|
53
|
-
interface ConfInferenceBackend {
|
|
54
|
-
type: LmProviderType;
|
|
55
|
-
url: string;
|
|
56
|
-
apiKey?: string;
|
|
57
|
-
}
|
|
58
|
-
interface InferenceBackend extends ConfInferenceBackend {
|
|
59
|
-
name: string;
|
|
60
|
-
isDefault?: boolean;
|
|
61
|
-
}
|
|
62
|
-
interface BackendEntries {
|
|
63
|
-
[key: string]: ConfInferenceBackend | string | Array<"llamacpp" | "koboldcpp" | "ollama">;
|
|
64
|
-
}
|
|
65
|
-
interface ConfigFile {
|
|
66
|
-
promptfile?: string;
|
|
67
|
-
datadir?: string;
|
|
68
|
-
features?: Array<string>;
|
|
69
|
-
plugins?: Array<string>;
|
|
70
|
-
backends?: BackendEntries;
|
|
71
|
-
tasks?: Record<string, TaskSettings>;
|
|
72
|
-
}
|
|
73
|
-
interface Settings {
|
|
74
|
-
name: string;
|
|
75
|
-
inputmode: InputMode;
|
|
76
|
-
outputmode: OutputMode;
|
|
77
|
-
runmode: RunMode;
|
|
78
|
-
formatmode: FormatMode;
|
|
79
|
-
ischatMode: boolean;
|
|
80
|
-
isdebug: boolean;
|
|
81
|
-
isverbose: boolean;
|
|
82
|
-
promptfile: string;
|
|
83
|
-
}
|
|
84
|
-
interface DbModelDef {
|
|
85
|
-
id?: number;
|
|
86
|
-
name: string;
|
|
87
|
-
shortname: string;
|
|
88
|
-
data: Record<string, any>;
|
|
89
|
-
}
|
|
90
|
-
interface ModelfileSpec {
|
|
91
|
-
ctx: number;
|
|
92
|
-
max_tokens: number;
|
|
93
|
-
models: Array<ModelSpec>;
|
|
94
|
-
}
|
|
95
|
-
interface ModelPack {
|
|
96
|
-
default: string;
|
|
97
|
-
recommended?: Array<string>;
|
|
98
|
-
}
|
|
99
|
-
interface LmTaskFileSpec extends TaskDef {
|
|
100
|
-
ctx: number;
|
|
101
|
-
mcp?: McpServerSpec;
|
|
102
|
-
}
|
|
103
|
-
interface BaseLmTaskConfig {
|
|
104
|
-
templateName: string;
|
|
105
|
-
inferParams: InferenceParams;
|
|
106
|
-
debug?: boolean;
|
|
107
|
-
}
|
|
108
|
-
interface LmTaskConfig extends BaseLmTaskConfig {
|
|
109
|
-
model?: ModelSpec;
|
|
110
|
-
quiet?: boolean;
|
|
111
|
-
}
|
|
112
|
-
interface FinalLmTaskConfig {
|
|
113
|
-
model?: ModelSpec;
|
|
114
|
-
modelname?: string;
|
|
115
|
-
}
|
|
116
|
-
interface WorkflowStep {
|
|
117
|
-
name: string;
|
|
118
|
-
type: string;
|
|
119
|
-
}
|
|
120
|
-
interface McpServerSpec {
|
|
121
|
-
command: string;
|
|
122
|
-
arguments: string[];
|
|
123
|
-
tools: string[];
|
|
124
|
-
}
|
|
125
|
-
interface McpServerTool {
|
|
126
|
-
name: string;
|
|
127
|
-
description: string;
|
|
128
|
-
inputSchema: {
|
|
129
|
-
type: string;
|
|
130
|
-
properties: Record<string, {
|
|
131
|
-
type: string;
|
|
132
|
-
description: string;
|
|
133
|
-
}>;
|
|
134
|
-
required: string[];
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
interface TaskSettings {
|
|
138
|
-
model?: string;
|
|
139
|
-
template?: string;
|
|
140
|
-
ctx?: number;
|
|
141
|
-
max_tokens?: number;
|
|
142
|
-
top_k?: number;
|
|
143
|
-
top_p?: number;
|
|
144
|
-
min_p?: number;
|
|
145
|
-
temperature?: number;
|
|
146
|
-
repeat_penalty?: number;
|
|
147
|
-
backend?: string;
|
|
148
|
-
}
|
|
149
|
-
type InputMode = "manual" | "promptfile" | "clipboard";
|
|
150
|
-
type OutputMode = "txt" | "clipboard";
|
|
151
|
-
type RunMode = "cli" | "cmd";
|
|
152
|
-
type FormatMode = "text" | "markdown";
|
|
153
|
-
type VerbosityMode = "quiet" | "verbose" | "debug";
|
|
154
|
-
type FeatureType = "task" | "agent" | "action" | "cmd" | "workflow" | "adaptater";
|
|
155
|
-
type ToolType = "task" | "agent" | "action" | "cmd" | "workflow";
|
|
156
|
-
type ActionExtension = "js" | "mjs" | "py" | "yml";
|
|
157
|
-
type TaskExtension = "yml";
|
|
158
|
-
type AgentExtension = "yml";
|
|
159
|
-
type AdaptaterExtension = "js";
|
|
160
|
-
type WorkflowExtension = "yml";
|
|
161
|
-
type CmdExtension = "js";
|
|
162
|
-
type FeatureExtension = TaskExtension | AgentExtension | CmdExtension | ActionExtension | WorkflowExtension;
|
|
163
|
-
type AliasType = "task" | "agent" | "action" | "workflow";
|
|
164
|
-
type FeatureExecutor<I = any, O = any> = (params: I, options: Record<string, any>) => Promise<O>;
|
|
165
|
-
export { InputMode, VerbosityMode, OutputMode, RunMode, FormatMode, FeatureType, ActionExtension, TaskExtension, AgentExtension, WorkflowExtension, AdaptaterExtension, CmdExtension, FeatureSpec, Features, ConfigFile, FeatureExtension, AliasType, ToolType, Settings, DbModelDef, ModelSpec, ModelfileSpec, ModelPack, LmTaskFileSpec, LmTaskConfig, FinalLmTaskConfig, McpServerSpec, McpServerTool, InferenceBackend, ConfInferenceBackend, FeatureExecutor, WorkflowStep, TaskSettings, UserCmdDef, };
|
package/dist/interfaces.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/state/backends.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Lm } from "@locallm/api";
|
|
2
|
-
declare const backend: import("@vue/reactivity").Ref<Lm | undefined, Lm | undefined>;
|
|
3
|
-
declare const backends: Record<string, Lm>;
|
|
4
|
-
declare function initBackends(): Promise<void>;
|
|
5
|
-
declare function setBackend(name: string, isVerbose?: boolean): Promise<boolean>;
|
|
6
|
-
declare function listBackends(printResult?: boolean): Promise<string>;
|
|
7
|
-
export { backend, backends, initBackends, listBackends, setBackend };
|