@agent-smith/cli 0.0.67 → 0.0.69
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/dist/cmd/clicmds/aliases.js +4 -4
- package/dist/cmd/cmds.js +2 -0
- package/dist/cmd/lib/options_parsers.js +3 -0
- package/dist/cmd/lib/tasks/cmd.js +4 -2
- package/dist/cmd/lib/utils.d.ts +1 -2
- package/dist/cmd/lib/utils.js +10 -14
- package/dist/cmd/options.d.ts +2 -4
- package/dist/cmd/options.js +2 -9
- package/dist/index.js +13 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.js +2 -2
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { allOptions } from "../options.js";
|
|
2
2
|
import { executeTaskCmd } from "../lib/tasks/cmd.js";
|
|
3
3
|
import { executeActionCmd } from "../lib/actions/cmd.js";
|
|
4
4
|
import { executeWorkflowCmd } from "../lib/workflows/cmd.js";
|
|
@@ -11,7 +11,7 @@ function initCommandsFromAliases(program, aliases, features) {
|
|
|
11
11
|
.action(async (...args) => {
|
|
12
12
|
await executeTaskCmd(alias.name, args);
|
|
13
13
|
});
|
|
14
|
-
|
|
14
|
+
allOptions.forEach(o => tcmd.addOption(o));
|
|
15
15
|
if (features.task[alias.name]?.variables) {
|
|
16
16
|
features.task[alias.name].variables?.optional.forEach(v => {
|
|
17
17
|
tcmd.option(`--${v} <value>`);
|
|
@@ -27,7 +27,7 @@ function initCommandsFromAliases(program, aliases, features) {
|
|
|
27
27
|
.action(async (...args) => {
|
|
28
28
|
await executeActionCmd(alias.name, args);
|
|
29
29
|
});
|
|
30
|
-
|
|
30
|
+
allOptions.forEach(o => acmd.addOption(o));
|
|
31
31
|
break;
|
|
32
32
|
case "workflow":
|
|
33
33
|
const wcmd = program.command(`${alias.name} [args...]`)
|
|
@@ -35,7 +35,7 @@ function initCommandsFromAliases(program, aliases, features) {
|
|
|
35
35
|
.action(async (...args) => {
|
|
36
36
|
executeWorkflowCmd(alias.name, args);
|
|
37
37
|
});
|
|
38
|
-
|
|
38
|
+
allOptions.forEach(o => wcmd.addOption(o));
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
return program;
|
package/dist/cmd/cmds.js
CHANGED
|
@@ -38,6 +38,8 @@ async function buildCmds() {
|
|
|
38
38
|
return program;
|
|
39
39
|
}
|
|
40
40
|
async function parseCmd(program) {
|
|
41
|
+
program.name('Agent Smith terminal client');
|
|
42
|
+
program.description('Terminal agents toolkit');
|
|
41
43
|
await program.parseAsync();
|
|
42
44
|
}
|
|
43
45
|
export { program, buildCmds, chat, parseCmd, };
|
|
@@ -29,6 +29,9 @@ function parseTaskConfigOptions(options) {
|
|
|
29
29
|
if (options?.repeat_penalty !== undefined) {
|
|
30
30
|
optionsInferParams.repeat_penalty = options.repeat_penalty;
|
|
31
31
|
}
|
|
32
|
+
if (options?.images) {
|
|
33
|
+
optionsInferParams.images = options.images;
|
|
34
|
+
}
|
|
32
35
|
if (options?.model !== undefined) {
|
|
33
36
|
conf.modelname = options.model;
|
|
34
37
|
}
|
|
@@ -12,7 +12,7 @@ import { program } from "../../cmds.js";
|
|
|
12
12
|
import { executeAction } from "../actions/cmd.js";
|
|
13
13
|
import { parseCommandArgs, parseTaskConfigOptions } from "../options_parsers.js";
|
|
14
14
|
import { runtimeDataError, runtimeWarning } from "../user_msgs.js";
|
|
15
|
-
import { formatStats, readPromptFile } from "../utils.js";
|
|
15
|
+
import { formatStats, processOutput, readPromptFile } from "../utils.js";
|
|
16
16
|
import { executeWorkflow } from "../workflows/cmd.js";
|
|
17
17
|
import { configureTaskModel, mergeInferParams } from "./conf.js";
|
|
18
18
|
import { McpServer } from "../mcp.js";
|
|
@@ -24,7 +24,8 @@ async function executeTask(name, payload, options, quiet, expert) {
|
|
|
24
24
|
console.log("Task options:", options);
|
|
25
25
|
}
|
|
26
26
|
const taskFileSpec = openTaskSpec(name);
|
|
27
|
-
const
|
|
27
|
+
const opts = payload?.inferParams ? { ...options, ...payload.inferParams } : options;
|
|
28
|
+
const conf = parseTaskConfigOptions(opts);
|
|
28
29
|
if (options.debug) {
|
|
29
30
|
console.log("conf:", conf);
|
|
30
31
|
}
|
|
@@ -212,6 +213,7 @@ async function executeTask(name, payload, options, quiet, expert) {
|
|
|
212
213
|
throw new Error(`executing task: ${name} (${err})`);
|
|
213
214
|
}
|
|
214
215
|
mcpServers.forEach(async (s) => await s.stop());
|
|
216
|
+
await processOutput(out);
|
|
215
217
|
if (isChatMode.value) {
|
|
216
218
|
const data = { message: '>', default: "" };
|
|
217
219
|
const prompt = await input(data);
|
package/dist/cmd/lib/utils.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { InferenceStats } from "@locallm/types";
|
|
2
2
|
declare function readPromptFile(): string;
|
|
3
3
|
declare function processOutput(res: any): Promise<void>;
|
|
4
|
-
declare function parseInputOptions(options: any): Promise<string | null>;
|
|
5
4
|
declare function formatStats(stats: InferenceStats): string;
|
|
6
|
-
export { formatStats,
|
|
5
|
+
export { formatStats, processOutput, readPromptFile, };
|
package/dist/cmd/lib/utils.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { marked } from "../../agent.js";
|
|
2
|
-
import { formatMode, initFilepaths,
|
|
3
|
-
import {
|
|
2
|
+
import { formatMode, initFilepaths, outputMode, promptfilePath } from "../../state/state.js";
|
|
3
|
+
import { writeToClipboard } from "../sys/clipboard.js";
|
|
4
4
|
import { readFile } from "../sys/read.js";
|
|
5
5
|
import { splitThinking } from "../../utils/text.js";
|
|
6
|
+
import { runtimeError } from "./user_msgs.js";
|
|
6
7
|
function readPromptFile() {
|
|
7
8
|
initFilepaths();
|
|
8
9
|
return readFile(promptfilePath.value);
|
|
@@ -22,7 +23,12 @@ async function processOutput(res) {
|
|
|
22
23
|
hasTextData = true;
|
|
23
24
|
}
|
|
24
25
|
else {
|
|
25
|
-
|
|
26
|
+
try {
|
|
27
|
+
data = JSON.stringify(res);
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
runtimeError("Unable to parse json result");
|
|
31
|
+
}
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
else {
|
|
@@ -38,16 +44,6 @@ async function processOutput(res) {
|
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
async function parseInputOptions(options) {
|
|
42
|
-
let out = null;
|
|
43
|
-
if (options?.Ic == true || inputMode.value == "clipboard") {
|
|
44
|
-
out = await readClipboard();
|
|
45
|
-
}
|
|
46
|
-
else if (options.Pf || inputMode.value == "promptfile") {
|
|
47
|
-
out = readPromptFile();
|
|
48
|
-
}
|
|
49
|
-
return out;
|
|
50
|
-
}
|
|
51
47
|
function formatStats(stats) {
|
|
52
48
|
const buf = new Array();
|
|
53
49
|
buf.push(`${stats.tokensPerSecond} tps`);
|
|
@@ -56,4 +52,4 @@ function formatStats(stats) {
|
|
|
56
52
|
buf.push(`${stats.inferenceTimeSeconds}s inference)`);
|
|
57
53
|
return buf.join(" ");
|
|
58
54
|
}
|
|
59
|
-
export { formatStats,
|
|
55
|
+
export { formatStats, processOutput, readPromptFile, };
|
package/dist/cmd/options.d.ts
CHANGED
|
@@ -2,7 +2,5 @@ import { Option } from "commander";
|
|
|
2
2
|
declare const displayOptions: Array<Option>;
|
|
3
3
|
declare const inferenceOptions: Array<Option>;
|
|
4
4
|
declare const ioOptions: Array<Option>;
|
|
5
|
-
declare const
|
|
6
|
-
|
|
7
|
-
declare const workflowOptions: Array<Option>;
|
|
8
|
-
export { displayOptions, ioOptions, inferenceOptions, taskOptions, actionOptions, workflowOptions, };
|
|
5
|
+
declare const allOptions: Array<Option>;
|
|
6
|
+
export { displayOptions, ioOptions, inferenceOptions, allOptions, };
|
package/dist/cmd/options.js
CHANGED
|
@@ -22,20 +22,13 @@ const ioOptions = [
|
|
|
22
22
|
new Option("--omd, --markdown-output", "use markdown output"),
|
|
23
23
|
new Option("--otxt, --text-output", "use text output (default)"),
|
|
24
24
|
];
|
|
25
|
-
const
|
|
25
|
+
const allOptions = [
|
|
26
26
|
...displayOptions,
|
|
27
27
|
...ioOptions,
|
|
28
28
|
...inferenceOptions,
|
|
29
29
|
new Option("--tokens", "toggle show tokens mode"),
|
|
30
30
|
new Option("-c, --chat", "toggle chat mode for tasks"),
|
|
31
31
|
];
|
|
32
|
-
const actionOptions = [
|
|
33
|
-
...displayOptions,
|
|
34
|
-
...ioOptions,
|
|
35
|
-
];
|
|
36
|
-
const workflowOptions = [
|
|
37
|
-
...taskOptions
|
|
38
|
-
];
|
|
39
32
|
function parseString(value) {
|
|
40
33
|
if (typeof value !== 'string')
|
|
41
34
|
throw new InvalidArgumentError('The value must be a string');
|
|
@@ -59,4 +52,4 @@ function parseFloatValue(value) {
|
|
|
59
52
|
else
|
|
60
53
|
throw new InvalidArgumentError(`Invalid float: ${value}`);
|
|
61
54
|
}
|
|
62
|
-
export { displayOptions, ioOptions, inferenceOptions,
|
|
55
|
+
export { displayOptions, ioOptions, inferenceOptions, allOptions, };
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { argv } from 'process';
|
|
|
3
3
|
import { initAgent } from './agent.js';
|
|
4
4
|
import { query } from "./cli.js";
|
|
5
5
|
import { buildCmds, parseCmd } from './cmd/cmds.js';
|
|
6
|
-
import { initState, isChatMode, runMode } from './state/state.js';
|
|
6
|
+
import { formatMode, initState, inputMode, isChatMode, outputMode, runMode } from './state/state.js';
|
|
7
7
|
import { updateConfCmd } from './cmd/clicmds/update.js';
|
|
8
8
|
async function main() {
|
|
9
9
|
const nargs = argv.length;
|
|
@@ -24,6 +24,18 @@ async function main() {
|
|
|
24
24
|
if (options?.chat === true) {
|
|
25
25
|
isChatMode.value = true;
|
|
26
26
|
}
|
|
27
|
+
if (options?.clipboardInput !== undefined) {
|
|
28
|
+
inputMode.value = "clipboard";
|
|
29
|
+
}
|
|
30
|
+
if (options?.inputFile !== undefined) {
|
|
31
|
+
inputMode.value = "promptfile";
|
|
32
|
+
}
|
|
33
|
+
if (options?.markdownOutput !== undefined) {
|
|
34
|
+
formatMode.value = "markdown";
|
|
35
|
+
}
|
|
36
|
+
if (options?.clipboardOutput !== undefined) {
|
|
37
|
+
outputMode.value = "clipboard";
|
|
38
|
+
}
|
|
27
39
|
});
|
|
28
40
|
switch (runMode.value) {
|
|
29
41
|
case "cli":
|
package/dist/main.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ import { LmTaskConf } from "@agent-smith/lmtask/dist/interfaces.js";
|
|
|
11
11
|
import { extractToolDoc } from "./cmd/lib/tools.js";
|
|
12
12
|
import { openTaskSpec } from "./cmd/lib/tasks/utils.js";
|
|
13
13
|
import { extractBetweenTags, splitThinking } from "./utils/text.js";
|
|
14
|
-
import { displayOptions, ioOptions, inferenceOptions,
|
|
14
|
+
import { displayOptions, ioOptions, inferenceOptions, allOptions } from "./cmd/options.js";
|
|
15
15
|
import { McpServer } from "./cmd/lib/mcp.js";
|
|
16
|
-
export { execute, run, executeTask, executeAction, executeWorkflow, writeToClipboard, initAgent, initState, pluginDataDir, usePerfTimer, parseCommandArgs, extractToolDoc, LmTaskConf, openTaskSpec, extractBetweenTags, splitThinking, displayOptions, ioOptions, inferenceOptions,
|
|
16
|
+
export { execute, run, executeTask, executeAction, executeWorkflow, writeToClipboard, initAgent, initState, pluginDataDir, usePerfTimer, parseCommandArgs, extractToolDoc, LmTaskConf, openTaskSpec, extractBetweenTags, splitThinking, displayOptions, ioOptions, inferenceOptions, allOptions, McpServer, };
|
package/dist/main.js
CHANGED
|
@@ -10,6 +10,6 @@ import { parseCommandArgs } from "./cmd/lib/options_parsers.js";
|
|
|
10
10
|
import { extractToolDoc } from "./cmd/lib/tools.js";
|
|
11
11
|
import { openTaskSpec } from "./cmd/lib/tasks/utils.js";
|
|
12
12
|
import { extractBetweenTags, splitThinking } from "./utils/text.js";
|
|
13
|
-
import { displayOptions, ioOptions, inferenceOptions,
|
|
13
|
+
import { displayOptions, ioOptions, inferenceOptions, allOptions } from "./cmd/options.js";
|
|
14
14
|
import { McpServer } from "./cmd/lib/mcp.js";
|
|
15
|
-
export { execute, run, executeTask, executeAction, executeWorkflow, writeToClipboard, initAgent, initState, pluginDataDir, usePerfTimer, parseCommandArgs, extractToolDoc, openTaskSpec, extractBetweenTags, splitThinking, displayOptions, ioOptions, inferenceOptions,
|
|
15
|
+
export { execute, run, executeTask, executeAction, executeWorkflow, writeToClipboard, initAgent, initState, pluginDataDir, usePerfTimer, parseCommandArgs, extractToolDoc, openTaskSpec, extractBetweenTags, splitThinking, displayOptions, ioOptions, inferenceOptions, allOptions, McpServer, };
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@agent-smith/cli",
|
|
3
3
|
"description": "Agent Smith: terminal client for language model agents",
|
|
4
4
|
"repository": "https://github.com/synw/agent-smith",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.69",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"buildrl": "rm -rf dist/* && rollup -c",
|
|
8
8
|
"build": "rm -rf dist/* && tsc",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@agent-smith/tfm": "^0.1.2",
|
|
17
17
|
"@inquirer/prompts": "^7.5.3",
|
|
18
18
|
"@inquirer/select": "^4.2.3",
|
|
19
|
-
"@modelcontextprotocol/sdk": "^1.12.
|
|
19
|
+
"@modelcontextprotocol/sdk": "^1.12.3",
|
|
20
20
|
"@vue/reactivity": "^3.5.16",
|
|
21
21
|
"ansi-colors": "^4.1.3",
|
|
22
22
|
"better-sqlite3": "^11.10.0",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
38
38
|
"@types/better-sqlite3": "^7.6.13",
|
|
39
39
|
"@types/marked-terminal": "^6.1.1",
|
|
40
|
-
"@types/node": "^
|
|
40
|
+
"@types/node": "^24.0.2",
|
|
41
41
|
"restmix": "^0.5.0",
|
|
42
|
-
"rollup": "^4.
|
|
42
|
+
"rollup": "^4.43.0",
|
|
43
43
|
"ts-node": "^10.9.2",
|
|
44
44
|
"tslib": "2.8.1",
|
|
45
45
|
"typescript": "^5.8.3"
|