@agent-smith/cli 0.0.116 → 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.
Files changed (114) hide show
  1. package/README.md +274 -34
  2. package/dist/cli.js +4 -8
  3. package/dist/cmd/{clicmds/aliases.d.ts → aliases.d.ts} +1 -1
  4. package/dist/cmd/{clicmds/aliases.js → aliases.js} +1 -26
  5. package/dist/cmd/{clicmds/base.js → base.js} +21 -17
  6. package/dist/cmd/build.d.ts +9 -0
  7. package/dist/cmd/build.js +59 -0
  8. package/dist/cmd/callbacks.d.ts +11 -0
  9. package/dist/cmd/callbacks.js +90 -0
  10. package/dist/cmd/cmds.d.ts +8 -9
  11. package/dist/cmd/cmds.js +134 -103
  12. package/dist/cmd/features.d.ts +6 -0
  13. package/dist/cmd/features.js +57 -0
  14. package/dist/cmd/{sys/read_cmds.d.ts → read_cmds.d.ts} +1 -1
  15. package/dist/cmd/{sys/read_cmds.js → read_cmds.js} +1 -1
  16. package/dist/cmd/user_cmds.d.ts +3 -0
  17. package/dist/cmd/user_cmds.js +23 -0
  18. package/dist/index.js +11 -11
  19. package/dist/main.d.ts +3 -38
  20. package/dist/main.js +3 -37
  21. package/dist/state.d.ts +6 -0
  22. package/dist/state.js +8 -0
  23. package/dist/utils.d.ts +8 -0
  24. package/dist/utils.js +50 -0
  25. package/package.json +7 -17
  26. package/dist/cmd/clicmds/cmds.d.ts +0 -7
  27. package/dist/cmd/clicmds/cmds.js +0 -135
  28. package/dist/cmd/clicmds/updateconf.d.ts +0 -3
  29. package/dist/cmd/clicmds/updateconf.js +0 -74
  30. package/dist/cmd/lib/actions/cmd.d.ts +0 -6
  31. package/dist/cmd/lib/actions/cmd.js +0 -154
  32. package/dist/cmd/lib/actions/read.d.ts +0 -3
  33. package/dist/cmd/lib/actions/read.js +0 -17
  34. package/dist/cmd/lib/adaptaters/cmd.d.ts +0 -2
  35. package/dist/cmd/lib/adaptaters/cmd.js +0 -39
  36. package/dist/cmd/lib/agents/cmd.d.ts +0 -3
  37. package/dist/cmd/lib/agents/cmd.js +0 -11
  38. package/dist/cmd/lib/mcp.d.ts +0 -16
  39. package/dist/cmd/lib/mcp.js +0 -108
  40. package/dist/cmd/lib/options_parsers.d.ts +0 -7
  41. package/dist/cmd/lib/options_parsers.js +0 -52
  42. package/dist/cmd/lib/tasks/cmd.d.ts +0 -4
  43. package/dist/cmd/lib/tasks/cmd.js +0 -419
  44. package/dist/cmd/lib/tasks/conf.d.ts +0 -6
  45. package/dist/cmd/lib/tasks/conf.js +0 -131
  46. package/dist/cmd/lib/tasks/read.d.ts +0 -14
  47. package/dist/cmd/lib/tasks/read.js +0 -186
  48. package/dist/cmd/lib/tasks/utils.d.ts +0 -8
  49. package/dist/cmd/lib/tasks/utils.js +0 -48
  50. package/dist/cmd/lib/tools.d.ts +0 -15
  51. package/dist/cmd/lib/tools.js +0 -147
  52. package/dist/cmd/lib/utils.d.ts +0 -3
  53. package/dist/cmd/lib/utils.js +0 -54
  54. package/dist/cmd/lib/workflows/cmd.d.ts +0 -3
  55. package/dist/cmd/lib/workflows/cmd.js +0 -230
  56. package/dist/cmd/lib/workflows/read.d.ts +0 -6
  57. package/dist/cmd/lib/workflows/read.js +0 -61
  58. package/dist/cmd/sys/clipboard.d.ts +0 -3
  59. package/dist/cmd/sys/clipboard.js +0 -33
  60. package/dist/cmd/sys/delete_file.d.ts +0 -2
  61. package/dist/cmd/sys/delete_file.js +0 -10
  62. package/dist/cmd/sys/dirs.d.ts +0 -2
  63. package/dist/cmd/sys/dirs.js +0 -9
  64. package/dist/cmd/sys/execute.d.ts +0 -13
  65. package/dist/cmd/sys/execute.js +0 -48
  66. package/dist/cmd/sys/read.d.ts +0 -3
  67. package/dist/cmd/sys/read.js +0 -21
  68. package/dist/cmd/sys/read_conf.d.ts +0 -6
  69. package/dist/cmd/sys/read_conf.js +0 -12
  70. package/dist/cmd/sys/read_features.d.ts +0 -3
  71. package/dist/cmd/sys/read_features.js +0 -112
  72. package/dist/cmd/sys/read_task.d.ts +0 -6
  73. package/dist/cmd/sys/read_task.js +0 -23
  74. package/dist/cmd/sys/read_yml_file.d.ts +0 -5
  75. package/dist/cmd/sys/read_yml_file.js +0 -11
  76. package/dist/cmd/sys/run_python.d.ts +0 -6
  77. package/dist/cmd/sys/run_python.js +0 -39
  78. package/dist/conf.d.ts +0 -14
  79. package/dist/conf.js +0 -166
  80. package/dist/const.d.ts +0 -3
  81. package/dist/const.js +0 -24
  82. package/dist/db/db.d.ts +0 -4
  83. package/dist/db/db.js +0 -23
  84. package/dist/db/read.d.ts +0 -34
  85. package/dist/db/read.js +0 -128
  86. package/dist/db/schemas.d.ts +0 -2
  87. package/dist/db/schemas.js +0 -105
  88. package/dist/db/write.d.ts +0 -15
  89. package/dist/db/write.js +0 -376
  90. package/dist/interfaces.d.ts +0 -165
  91. package/dist/interfaces.js +0 -1
  92. package/dist/state/backends.d.ts +0 -7
  93. package/dist/state/backends.js +0 -159
  94. package/dist/state/chat.d.ts +0 -7
  95. package/dist/state/chat.js +0 -10
  96. package/dist/state/features.d.ts +0 -8
  97. package/dist/state/features.js +0 -35
  98. package/dist/state/plugins.d.ts +0 -6
  99. package/dist/state/plugins.js +0 -27
  100. package/dist/state/state.d.ts +0 -20
  101. package/dist/state/state.js +0 -80
  102. package/dist/state/tasks.d.ts +0 -6
  103. package/dist/state/tasks.js +0 -28
  104. package/dist/utils/perf.d.ts +0 -9
  105. package/dist/utils/perf.js +0 -63
  106. package/dist/utils/text.d.ts +0 -6
  107. package/dist/utils/text.js +0 -41
  108. package/dist/utils/user_msgs.d.ts +0 -5
  109. package/dist/utils/user_msgs.js +0 -19
  110. /package/dist/cmd/{clicmds/base.d.ts → base.d.ts} +0 -0
  111. /package/dist/{cmd/options.d.ts → options.d.ts} +0 -0
  112. /package/dist/{cmd/options.js → options.js} +0 -0
  113. /package/dist/{cmd/lib/user_msgs.d.ts → user_msgs.d.ts} +0 -0
  114. /package/dist/{cmd/lib/user_msgs.js → user_msgs.js} +0 -0
@@ -1,39 +0,0 @@
1
- import { PythonShell } from 'python-shell';
2
- async function runPyScript(rsShell, pythonPath, scriptPath, scriptArgs, onEmitLine) {
3
- const _options = {
4
- mode: "text",
5
- pythonPath: pythonPath,
6
- pythonOptions: ['-u'],
7
- args: scriptArgs,
8
- };
9
- let promiseResolve;
10
- let promise = new Promise((resolve) => promiseResolve = resolve);
11
- rsShell = new PythonShell(scriptPath, _options);
12
- const res = { data: new Array() };
13
- function handleLine(msg) {
14
- if (onEmitLine) {
15
- onEmitLine(msg);
16
- }
17
- res.data.push(msg);
18
- }
19
- rsShell.on('message', function (message) {
20
- //console.log("MSG", message);
21
- handleLine(message);
22
- });
23
- rsShell.on('stderr', function (err) {
24
- console.log("STDERR", err);
25
- });
26
- rsShell.on('pythonError', function (err) {
27
- //console.log("PYERR", `${err.message}, ${err.traceback}`);
28
- res.error = new Error(`${err.traceback} ${err.message}`);
29
- promiseResolve(true);
30
- });
31
- rsShell.end(function (err, code, signal) {
32
- //console.log("END", code, signal);
33
- //console.log("DATA", res);
34
- promiseResolve(true);
35
- });
36
- await promise;
37
- return res;
38
- }
39
- export { runPyScript };
package/dist/conf.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import { type ConfigFile } from "./interfaces.js";
2
- declare function getConfigPath(appName: string, filename: string): {
3
- confDir: string;
4
- dbPath: string;
5
- };
6
- declare const confDir: string, dbPath: string;
7
- declare function updateConfigFile(conf: ConfigFile, cfp?: string): string;
8
- declare function createConfigFile(cfp?: string, local?: Array<"llamacpp" | "koboldcpp" | "ollama">): string;
9
- declare function processConfPath(confPath: string): Promise<{
10
- paths: Array<string>;
11
- pf: string;
12
- dd: string;
13
- }>;
14
- export { confDir, dbPath, processConfPath, getConfigPath, createConfigFile, updateConfigFile, };
package/dist/conf.js DELETED
@@ -1,166 +0,0 @@
1
- import fs from "node:fs";
2
- import { readConf } from "./cmd/sys/read_conf.js";
3
- import { upsertBackends, insertFeaturesPathIfNotExists, insertPluginIfNotExists, upsertTaskSettings, deleteTaskSettings } from "./db/write.js";
4
- import { buildPluginsPaths } from "./state/plugins.js";
5
- import { runtimeError } from "./cmd/lib/user_msgs.js";
6
- import { localBackends } from "./const.js";
7
- import { homedir } from 'os';
8
- import { join } from 'path';
9
- import { createDirectoryIfNotExists } from "./cmd/sys/dirs.js";
10
- import { initTaskSettings, tasksSettings } from "./state/tasks.js";
11
- import path from "node:path";
12
- import yaml from "yaml";
13
- function getConfigPath(appName, filename) {
14
- let confDir;
15
- let dbPath;
16
- if (process.platform === 'win32') {
17
- confDir = join(process.env.APPDATA, appName);
18
- dbPath = join(process.env.APPDATA, appName, filename);
19
- }
20
- else if (process.platform === 'darwin') {
21
- confDir = join(homedir(), 'Library', 'Application Support', appName);
22
- dbPath = join(homedir(), 'Library', 'Application Support', appName, filename);
23
- }
24
- else { // Linux, BSD, etc.
25
- confDir = join(homedir(), '.config', appName);
26
- dbPath = join(homedir(), '.config', appName, filename);
27
- }
28
- return { confDir: confDir, dbPath: dbPath };
29
- }
30
- const { confDir, dbPath } = getConfigPath("agent-smith", "config.db");
31
- function updateConfigFile(conf, cfp) {
32
- const fp = cfp ? cfp : path.join(confDir, "config.yml");
33
- const txt = yaml.stringify(conf);
34
- if (!fs.existsSync(fp)) {
35
- const err = `Config file ${fp} does not exist`;
36
- throw new Error(err);
37
- }
38
- try {
39
- fs.writeFileSync(fp, txt, { encoding: 'utf8' });
40
- }
41
- catch (e) {
42
- throw new Error(`Error creating config file at ${fp}: ${e}`);
43
- }
44
- return fp;
45
- }
46
- function createConfigFile(cfp, local = ["llamacpp", "koboldcpp", "ollama"]) {
47
- createDirectoryIfNotExists(confDir);
48
- const fp = cfp ? cfp : path.join(confDir, "config.yml");
49
- const fc = {
50
- backends: {
51
- default: "llamacpp",
52
- local: local,
53
- llamacpp_oai: {
54
- type: "openai",
55
- url: "http://localhost:8080/v1"
56
- }
57
- },
58
- promptfile: "",
59
- };
60
- const txt = yaml.stringify(fc);
61
- if (fs.existsSync(fp)) {
62
- const err = `Config file ${fp} already exists`;
63
- throw new Error(err);
64
- }
65
- try {
66
- fs.writeFileSync(fp, txt, { encoding: 'utf8' });
67
- }
68
- catch (e) {
69
- throw new Error(`Error creating config file at ${fp}: ${e}`);
70
- }
71
- return fp;
72
- }
73
- async function processConfPath(confPath) {
74
- createDirectoryIfNotExists(confDir);
75
- const { found, data } = readConf(confPath);
76
- if (!found) {
77
- runtimeError(`Config file ${confPath} not found`);
78
- }
79
- //console.log(data)
80
- const allPaths = new Array();
81
- // backends
82
- const backends = {};
83
- let defaultBackendName = "";
84
- if (data?.backends) {
85
- for (const [name, val] of Object.entries(data.backends)) {
86
- switch (name) {
87
- case "local":
88
- const bs = val;
89
- bs.forEach(b => {
90
- if (!["llamacpp", "koboldcpp", "ollama"].includes(b)) {
91
- throw new Error(`Unknow backend default value: ${b}`);
92
- }
93
- const lb = localBackends[b];
94
- backends[lb.name] = lb;
95
- });
96
- break;
97
- case "default":
98
- const v1 = val;
99
- defaultBackendName = v1;
100
- break;
101
- default:
102
- const v3 = val;
103
- let apiKey = undefined;
104
- if (v3?.apiKey) {
105
- apiKey = v3.apiKey;
106
- }
107
- const ib = {
108
- name: name,
109
- type: v3.type,
110
- url: v3.url,
111
- isDefault: false,
112
- };
113
- if (apiKey) {
114
- ib.apiKey = apiKey;
115
- }
116
- backends[name] = ib;
117
- break;
118
- }
119
- }
120
- }
121
- console.log("Default backend:", defaultBackendName);
122
- //console.dir(backends, { depth: 4 });
123
- if (!Object.keys(backends).includes(defaultBackendName)) {
124
- throw new Error(`Undeclared default backend: ${defaultBackendName}`);
125
- }
126
- backends[defaultBackendName].isDefault = true;
127
- upsertBackends(Object.values(backends));
128
- // features and plugins from conf
129
- if (data?.features) {
130
- allPaths.push(...data.features);
131
- const fts = new Array();
132
- data.features.forEach((f) => {
133
- if (!fts.includes(f)) {
134
- insertFeaturesPathIfNotExists(f);
135
- fts.push(f);
136
- }
137
- });
138
- }
139
- if (data?.plugins) {
140
- const plugins = await buildPluginsPaths(data.plugins);
141
- plugins.forEach((_pl) => {
142
- allPaths.push(_pl.path);
143
- insertPluginIfNotExists(_pl.name, _pl.path);
144
- });
145
- }
146
- if (data?.tasks) {
147
- initTaskSettings();
148
- const okTasks = new Array();
149
- for (const [name, settings] of Object.entries(data.tasks)) {
150
- upsertTaskSettings(name, settings);
151
- okTasks.push(name);
152
- }
153
- const toDel = Object.keys(tasksSettings).filter(t => !okTasks.includes(t));
154
- deleteTaskSettings(toDel);
155
- }
156
- let pf = "";
157
- if (data?.promptfile) {
158
- pf = data.promptfile;
159
- }
160
- let dd = "";
161
- if (data?.datadir) {
162
- dd = data.datadir;
163
- }
164
- return { paths: allPaths, pf: pf, dd: dd };
165
- }
166
- export { confDir, dbPath, processConfPath, getConfigPath, createConfigFile, updateConfigFile, };
package/dist/const.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { InferenceBackend } from "./interfaces.js";
2
- declare const localBackends: Record<string, InferenceBackend>;
3
- export { localBackends };
package/dist/const.js DELETED
@@ -1,24 +0,0 @@
1
- const localBackends = {
2
- llamacpp: {
3
- name: "llamacpp",
4
- type: "llamacpp",
5
- url: "http://localhost:8080",
6
- apiKey: "",
7
- isDefault: false,
8
- },
9
- koboldcpp: {
10
- name: "koboldcpp",
11
- type: "koboldcpp",
12
- url: "http://localhost:5001",
13
- apiKey: "",
14
- isDefault: false,
15
- },
16
- ollama: {
17
- name: "ollama",
18
- type: "ollama",
19
- url: "http://localhost:11434",
20
- apiKey: "",
21
- isDefault: false,
22
- },
23
- };
24
- export { localBackends };
package/dist/db/db.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Database } from "better-sqlite3";
2
- declare let db: Database;
3
- declare function initDb(isVerbose: boolean, execSchema: boolean): void;
4
- export { db, initDb, };
package/dist/db/db.js DELETED
@@ -1,23 +0,0 @@
1
- import DatabaseConstructor from "better-sqlite3";
2
- import { schemas } from "./schemas.js";
3
- import { createDirectoryIfNotExists } from "../cmd/sys/dirs.js";
4
- import { confDir, dbPath } from "../conf.js";
5
- let db;
6
- const debugDb = false;
7
- function initDb(isVerbose, execSchema) {
8
- //console.log("DBP", dbPath);
9
- if (execSchema) {
10
- createDirectoryIfNotExists(confDir, true);
11
- db = new DatabaseConstructor(dbPath, { fileMustExist: false, verbose: debugDb ? console.log : undefined });
12
- schemas.forEach((s) => {
13
- db.exec(s);
14
- if (isVerbose) {
15
- console.log(`Schema executed: ${s}`);
16
- }
17
- });
18
- }
19
- else {
20
- db = new DatabaseConstructor(dbPath, { fileMustExist: true });
21
- }
22
- }
23
- export { db, initDb, };
package/dist/db/read.d.ts DELETED
@@ -1,34 +0,0 @@
1
- import { ToolSpec } from "@locallm/types";
2
- import { AliasType, FeatureSpec, FeatureType, ToolType, InferenceBackend } from "../interfaces.js";
3
- declare function readFeaturePaths(): Array<string>;
4
- declare function readBackends(): Record<string, InferenceBackend>;
5
- declare function readPlugins(): Array<Record<string, string>>;
6
- declare function readFeaturesType(type: FeatureType): Record<string, FeatureSpec>;
7
- declare function readFeatures(): Record<FeatureType, Record<string, FeatureSpec>>;
8
- declare function readAliases(): Array<{
9
- name: string;
10
- type: AliasType;
11
- }>;
12
- declare function readFeature(name: string, type: FeatureType): {
13
- found: boolean;
14
- feature: FeatureSpec;
15
- };
16
- declare function readTool(name: string): {
17
- found: boolean;
18
- tool: ToolSpec;
19
- type: ToolType;
20
- };
21
- declare function readFilePaths(): Array<{
22
- name: string;
23
- path: string;
24
- }>;
25
- declare function readFilePath(name: string): {
26
- found: boolean;
27
- path: string;
28
- };
29
- declare function readTaskSettings(): Array<Record<string, any>>;
30
- declare function readTaskSetting(name: string): {
31
- found: boolean;
32
- settings: Record<string, string>;
33
- };
34
- export { readFeatures, readFeaturePaths, readFeature, readPlugins, readAliases, readFilePath, readFilePaths, readTool, readFeaturesType, readBackends, readTaskSettings, readTaskSetting, };
package/dist/db/read.js DELETED
@@ -1,128 +0,0 @@
1
- import { db } from "./db.js";
2
- function readFeaturePaths() {
3
- const stmt = db.prepare("SELECT path FROM featurespath");
4
- const data = stmt.all();
5
- let f = new Array();
6
- data.forEach((row) => {
7
- f.push(row.path);
8
- });
9
- return f;
10
- }
11
- function readBackends() {
12
- const stmt = db.prepare("SELECT name, type, url, apiKey, isdefault FROM backend");
13
- const data = stmt.all();
14
- const bks = {};
15
- data.forEach((row) => {
16
- bks[row.name] = { name: row.name, type: row.type, url: row.url, apiKey: row.apiKey, isDefault: row.isdefault === 1 };
17
- });
18
- return bks;
19
- }
20
- function readPlugins() {
21
- const stmt = db.prepare("SELECT name, path FROM plugin");
22
- const data = stmt.all();
23
- let f = new Array();
24
- data.forEach((row) => {
25
- f.push({ name: row.name, path: row.path });
26
- });
27
- return f;
28
- }
29
- function readFeaturesType(type) {
30
- //console.log(`SELECT name, path, ext, variables FROM ${type}`)
31
- const stmt = db.prepare(`SELECT name, path, ext, variables FROM ${type}`);
32
- const data = stmt.all();
33
- const res = {};
34
- data.forEach((row) => {
35
- const vars = row?.variables ? JSON.parse(row.variables) : undefined;
36
- res[row.name] = {
37
- name: row.name,
38
- path: row.path,
39
- ext: row.ext,
40
- variables: vars,
41
- };
42
- });
43
- return res;
44
- }
45
- function readFeatures() {
46
- const feats = {
47
- task: {}, action: {}, cmd: {}, workflow: {}, adaptater: {}, agent: {}
48
- };
49
- feats.agent = readFeaturesType("agent");
50
- feats.task = readFeaturesType("task");
51
- feats.action = readFeaturesType("action");
52
- feats.cmd = readFeaturesType("cmd");
53
- feats.workflow = readFeaturesType("workflow");
54
- feats.adaptater = readFeaturesType("adaptater");
55
- return feats;
56
- }
57
- function readAliases() {
58
- const stmt = db.prepare("SELECT name, type FROM aliases");
59
- const data = stmt.all();
60
- let f = new Array();
61
- data.forEach((row) => {
62
- f.push({ name: row.name, type: row.type });
63
- });
64
- return f;
65
- }
66
- function readFeature(name, type) {
67
- const q = `SELECT id, name, path, ext FROM ${type} WHERE name='${name}'`;
68
- const stmt = db.prepare(q);
69
- const result = stmt.get();
70
- if (result?.id) {
71
- return {
72
- found: true,
73
- feature: {
74
- name: result.name,
75
- path: result.path,
76
- ext: result.ext,
77
- }
78
- };
79
- }
80
- return { found: false, feature: {} };
81
- }
82
- function readTool(name) {
83
- const q = `SELECT id, name, type, spec FROM tool WHERE name='${name}'`;
84
- const stmt = db.prepare(q);
85
- const result = stmt.get();
86
- if (result?.id) {
87
- const tool = JSON.parse(result.spec);
88
- return {
89
- found: true,
90
- tool: tool,
91
- type: result.type,
92
- };
93
- }
94
- return { found: false, tool: {}, type: "action" };
95
- }
96
- function readFilePaths() {
97
- const stmt1 = db.prepare("SELECT name, path FROM filepath");
98
- const data = stmt1.all();
99
- let f = new Array();
100
- data.forEach((row) => {
101
- f.push({ name: row.name, path: row.path });
102
- });
103
- return f;
104
- }
105
- function readFilePath(name) {
106
- const q = `SELECT id, path FROM filepath WHERE name= ?`;
107
- const stmt = db.prepare(q);
108
- const result = stmt.get(name);
109
- if (result?.id) {
110
- return { found: true, path: result.path };
111
- }
112
- return { found: false, path: "" };
113
- }
114
- function readTaskSettings() {
115
- const stmt1 = db.prepare("SELECT * FROM tasksettings ORDER BY name");
116
- const data = stmt1.all();
117
- return data;
118
- }
119
- function readTaskSetting(name) {
120
- const q = "SELECT * FROM tasksettings WHERE name= ?";
121
- const stmt = db.prepare(q);
122
- const result = stmt.get(name);
123
- if (result?.id) {
124
- return { found: true, settings: result };
125
- }
126
- return { found: false, settings: {} };
127
- }
128
- export { readFeatures, readFeaturePaths, readFeature, readPlugins, readAliases, readFilePath, readFilePaths, readTool, readFeaturesType, readBackends, readTaskSettings, readTaskSetting, };
@@ -1,2 +0,0 @@
1
- declare const schemas: string[];
2
- export { schemas };
@@ -1,105 +0,0 @@
1
- const filepath = `CREATE TABLE IF NOT EXISTS filepath (
2
- id INTEGER PRIMARY KEY AUTOINCREMENT,
3
- name TEXT UNIQUE NOT NULL,
4
- path TEXT NOT NULL
5
- );`;
6
- const featurespath = `CREATE TABLE IF NOT EXISTS featurespath (
7
- id INTEGER PRIMARY KEY AUTOINCREMENT,
8
- path TEXT NOT NULL
9
- );`;
10
- const plugin = `CREATE TABLE IF NOT EXISTS plugin (
11
- id INTEGER PRIMARY KEY AUTOINCREMENT,
12
- name TEXT UNIQUE NOT NULL,
13
- path TEXT NOT NULL
14
- );`;
15
- const tasks = `CREATE TABLE IF NOT EXISTS task (
16
- id INTEGER PRIMARY KEY AUTOINCREMENT,
17
- name TEXT UNIQUE NOT NULL,
18
- path TEXT NOT NULL,
19
- variables TEXT,
20
- ext TEXT NOT NULL CHECK ( ext IN ('yml') )
21
- );`;
22
- const agents = `CREATE TABLE IF NOT EXISTS agent (
23
- id INTEGER PRIMARY KEY AUTOINCREMENT,
24
- name TEXT UNIQUE NOT NULL,
25
- path TEXT NOT NULL,
26
- variables TEXT,
27
- ext TEXT NOT NULL CHECK ( ext IN ('yml') )
28
- );`;
29
- const workflow = `CREATE TABLE IF NOT EXISTS workflow (
30
- id INTEGER PRIMARY KEY AUTOINCREMENT,
31
- name TEXT UNIQUE NOT NULL,
32
- path TEXT NOT NULL,
33
- variables TEXT,
34
- ext TEXT NOT NULL CHECK ( ext IN ('yml') )
35
- );`;
36
- const action = `CREATE TABLE IF NOT EXISTS action (
37
- id INTEGER PRIMARY KEY AUTOINCREMENT,
38
- name TEXT UNIQUE NOT NULL,
39
- path TEXT NOT NULL,
40
- variables TEXT,
41
- ext TEXT NOT NULL CHECK ( ext IN ('yml', 'js', 'py') )
42
- );`;
43
- const adaptater = `CREATE TABLE IF NOT EXISTS adaptater (
44
- id INTEGER PRIMARY KEY AUTOINCREMENT,
45
- name TEXT UNIQUE NOT NULL,
46
- path TEXT NOT NULL,
47
- variables TEXT,
48
- ext TEXT NOT NULL CHECK ( ext IN ('yml', 'js', 'py') )
49
- );`;
50
- const cmd = `CREATE TABLE IF NOT EXISTS cmd (
51
- id INTEGER PRIMARY KEY AUTOINCREMENT,
52
- name TEXT UNIQUE NOT NULL,
53
- path TEXT NOT NULL,
54
- variables TEXT,
55
- ext TEXT NOT NULL CHECK ( ext IN ('js') )
56
- );`;
57
- const tool = `CREATE TABLE IF NOT EXISTS tool (
58
- id INTEGER PRIMARY KEY AUTOINCREMENT,
59
- name TEXT UNIQUE NOT NULL,
60
- spec TEXT NOT NULL,
61
- type TEXT NOT NULL CHECK ( type IN ('agent', 'task', 'action', 'workflow') )
62
- );`;
63
- const alias = `CREATE TABLE IF NOT EXISTS aliases (
64
- id INTEGER PRIMARY KEY AUTOINCREMENT,
65
- name TEXT UNIQUE NOT NULL,
66
- type TEXT NOT NULL CHECK ( type IN ('agent', 'task', 'action', 'workflow') )
67
- );`;
68
- const backend = `CREATE TABLE IF NOT EXISTS backend (
69
- id INTEGER PRIMARY KEY AUTOINCREMENT,
70
- name TEXT UNIQUE NOT NULL,
71
- type TEXT NOT NULL CHECK ( type IN ('llamacpp', 'koboldcpp', 'ollama', 'openai') ),
72
- url TEXT NOT NULL,
73
- isdefault INTEGER NOT NULL,
74
- apiKey TEXT
75
- );`;
76
- const tasksSettings = `CREATE TABLE IF NOT EXISTS tasksettings (
77
- id INTEGER PRIMARY KEY AUTOINCREMENT,
78
- name TEXT UNIQUE NOT NULL,
79
- model TEXT,
80
- template TEXT,
81
- ctx INTEGER,
82
- maxtokens INTEGER
83
- topk INTEGER,
84
- topp REAL,
85
- minp REAL,
86
- temperature REAL,
87
- repeat REAL,
88
- backend TEXT
89
- );`;
90
- const schemas = [
91
- filepath,
92
- featurespath,
93
- tasks,
94
- workflow,
95
- action,
96
- tool,
97
- cmd,
98
- plugin,
99
- alias,
100
- adaptater,
101
- backend,
102
- tasksSettings,
103
- agents,
104
- ];
105
- export { schemas };
@@ -1,15 +0,0 @@
1
- import { Features, InferenceBackend, TaskSettings } from "../interfaces.js";
2
- declare function updatePromptfilePath(pf: string): void;
3
- declare function updateDataDirPath(dd: string): void;
4
- declare function setDefaultBackend(name: string): void;
5
- declare function upsertBackends(bdata: Array<InferenceBackend>): boolean;
6
- declare function insertFeaturesPathIfNotExists(path: string): boolean;
7
- declare function insertPluginIfNotExists(n: string, p: string): boolean;
8
- declare function cleanupFeaturePaths(paths: Array<string>): Array<string>;
9
- declare function updateAliases(feats: Features): void;
10
- declare function updateFeatures(feats: Features): void;
11
- declare function upsertFilePath(name: string, newPath: string): boolean;
12
- declare function upsertTaskSettings(taskName: string, settings: TaskSettings): boolean;
13
- declare function deleteTaskSettings(settings: Array<string>): void;
14
- declare function deleteTaskSetting(name: string): void;
15
- export { updatePromptfilePath, updateDataDirPath, upsertBackends, setDefaultBackend, insertFeaturesPathIfNotExists, insertPluginIfNotExists, updateFeatures, updateAliases, cleanupFeaturePaths, upsertFilePath, upsertTaskSettings, deleteTaskSettings, deleteTaskSetting, };