vaan-ai 0.1.0 → 0.1.2
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 +14 -6
- package/dist/src/agent.js +13 -18
- package/dist/src/agent.js.map +1 -1
- package/dist/src/cli/main.js +2 -1
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/repl.js +124 -52
- package/dist/src/cli/repl.js.map +1 -1
- package/dist/src/cli/spinner.js +55 -0
- package/dist/src/cli/spinner.js.map +1 -0
- package/dist/src/cli/theme.js +88 -0
- package/dist/src/cli/theme.js.map +1 -0
- package/dist/src/cli/wizard.js +23 -6
- package/dist/src/cli/wizard.js.map +1 -1
- package/dist/src/http.js +2 -65
- package/dist/src/http.js.map +1 -1
- package/dist/src/invocation.js +29 -0
- package/dist/src/invocation.js.map +1 -0
- package/dist/src/providers/anthropic.js +1 -122
- package/dist/src/providers/anthropic.js.map +1 -1
- package/dist/src/providers/google.js +1 -71
- package/dist/src/providers/google.js.map +1 -1
- package/dist/src/providers/index.js +2 -1
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/ollama.js +0 -8
- package/dist/src/providers/ollama.js.map +1 -1
- package/dist/src/providers/openai.js +2 -84
- package/dist/src/providers/openai.js.map +1 -1
- package/dist/src/providers/shared.js +0 -17
- package/dist/src/providers/shared.js.map +1 -1
- package/dist/src/tools/files.js +40 -9
- package/dist/src/tools/files.js.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,20 +25,28 @@ You
|
|
|
25
25
|
## 🚀 Get Started
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
|
-
|
|
29
|
-
cd vaan-ai && npm install && npm run build && npm link
|
|
28
|
+
npm install -g vaan-ai
|
|
30
29
|
```
|
|
31
30
|
|
|
32
|
-
Then, from any project:
|
|
33
|
-
|
|
34
31
|
```bash
|
|
35
32
|
cd ~/projects/my-app
|
|
36
33
|
vaan
|
|
37
34
|
```
|
|
38
35
|
|
|
39
|
-
That's it.
|
|
36
|
+
That's it. The package is `vaan-ai`; the command it installs is `vaan`.
|
|
37
|
+
|
|
38
|
+
Just looking? `npx vaan-ai` runs it without installing anything — but it leaves
|
|
39
|
+
nothing on your PATH, so it's `npx vaan-ai` every time.
|
|
40
|
+
|
|
41
|
+
<details>
|
|
42
|
+
<summary>From source</summary>
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
git clone https://github.com/balagurunilacandane/vaan-ai.git
|
|
46
|
+
cd vaan-ai && npm install && npm run build && npm link
|
|
47
|
+
```
|
|
40
48
|
|
|
41
|
-
>
|
|
49
|
+
</details>
|
|
42
50
|
|
|
43
51
|
**What you need**
|
|
44
52
|
|
package/dist/src/agent.js
CHANGED
|
@@ -33,9 +33,10 @@ export async function continueAgent(messages, opts) {
|
|
|
33
33
|
for (let step = 0; step < maxSteps; step++) {
|
|
34
34
|
steps = step + 1;
|
|
35
35
|
const request = { model, system, tools, messages, maxTokens, ...(signal ? { signal } : {}) };
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
// Vaan doesn't stream, so the wait between here and the reply is the whole
|
|
37
|
+
// wait. Say so, rather than leaving the terminal looking hung.
|
|
38
|
+
opts.onEvent?.({ type: "thinking", step: steps });
|
|
39
|
+
const reply = await opts.provider.generate(request);
|
|
39
40
|
if (reply.usage) {
|
|
40
41
|
usage = {
|
|
41
42
|
input: (usage?.input ?? 0) + reply.usage.input,
|
|
@@ -65,7 +66,7 @@ export async function continueAgent(messages, opts) {
|
|
|
65
66
|
if (reply.stop === "pause")
|
|
66
67
|
continue;
|
|
67
68
|
const text = textOf(reply.message);
|
|
68
|
-
if (text
|
|
69
|
+
if (text)
|
|
69
70
|
opts.onEvent?.({ type: "text", text });
|
|
70
71
|
const calls = reply.message.parts.filter(isToolCall);
|
|
71
72
|
if (calls.length === 0)
|
|
@@ -79,9 +80,16 @@ export async function continueAgent(messages, opts) {
|
|
|
79
80
|
usedTools.push(call.name);
|
|
80
81
|
opts.onEvent?.({ type: "tool_call", name: call.name, input: call.input });
|
|
81
82
|
trace?.record({ kind: "tool_call", tool: call.name, input: call.input });
|
|
83
|
+
const startedAt = Date.now();
|
|
82
84
|
const part = await runTool(call, tools, ctx);
|
|
83
85
|
const { output, isError } = part;
|
|
84
|
-
opts.onEvent?.({
|
|
86
|
+
opts.onEvent?.({
|
|
87
|
+
type: "tool_result",
|
|
88
|
+
name: call.name,
|
|
89
|
+
output,
|
|
90
|
+
isError,
|
|
91
|
+
ms: Date.now() - startedAt,
|
|
92
|
+
});
|
|
85
93
|
trace?.record({
|
|
86
94
|
kind: "tool_result",
|
|
87
95
|
tool: call.name,
|
|
@@ -96,19 +104,6 @@ export async function continueAgent(messages, opts) {
|
|
|
96
104
|
trace?.record({ kind: "error", where: "agent", message: text });
|
|
97
105
|
return { text, messages, usedTools, steps, ...(usage ? { usage } : {}) };
|
|
98
106
|
}
|
|
99
|
-
/** Drain a streamed turn, forwarding deltas, and hand back the assembled reply. */
|
|
100
|
-
async function consume(events, onEvent) {
|
|
101
|
-
let reply;
|
|
102
|
-
for await (const event of events) {
|
|
103
|
-
if (event.type === "text")
|
|
104
|
-
onEvent?.({ type: "delta", text: event.text });
|
|
105
|
-
else if (event.type === "done")
|
|
106
|
-
reply = event.reply;
|
|
107
|
-
}
|
|
108
|
-
if (!reply)
|
|
109
|
-
throw new Error("The provider's stream ended without finishing the turn.");
|
|
110
|
-
return reply;
|
|
111
|
-
}
|
|
112
107
|
/**
|
|
113
108
|
* GUARD 3. A tool that throws is information, not a crash. The failure goes
|
|
114
109
|
* back to the model flagged as an error so it can recover — a missing file
|
package/dist/src/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,iEAAiE;AACjE,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,4EAA4E;AAC5E,8BAA8B;AAC9B,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,4BAA4B;AAG5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/main.js
CHANGED
|
@@ -5,6 +5,7 @@ import { defaultConfig, loadConfig } from "../config.js";
|
|
|
5
5
|
import { printReport } from "../eval/report.js";
|
|
6
6
|
import { runEvals } from "../eval/runner.js";
|
|
7
7
|
import { openMemory } from "../memory/store.js";
|
|
8
|
+
import { launchCommand } from "../invocation.js";
|
|
8
9
|
import { parseArgs } from "./args.js";
|
|
9
10
|
import { runDoctor } from "./doctor.js";
|
|
10
11
|
import { loadEnv } from "./dotenv.js";
|
|
@@ -128,7 +129,7 @@ async function main(argv) {
|
|
|
128
129
|
});
|
|
129
130
|
}
|
|
130
131
|
function unconfigured(out) {
|
|
131
|
-
out.write(
|
|
132
|
+
out.write(`\n No model configured. Run \`${launchCommand()} init\` first.\n\n`);
|
|
132
133
|
return 1;
|
|
133
134
|
}
|
|
134
135
|
main(process.argv.slice(2)).then((code) => process.exit(code), (err) => {
|
package/dist/src/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
package/dist/src/cli/repl.js
CHANGED
|
@@ -8,35 +8,41 @@
|
|
|
8
8
|
// terminal. It is handed to createSession and never leaves that closure — no
|
|
9
9
|
// tool receives it, nothing the model emits can reach it. When the gate needs a
|
|
10
10
|
// yes, it comes from a person or it doesn't come.
|
|
11
|
+
import { homedir } from "node:os";
|
|
12
|
+
import { isAbsolute, relative } from "node:path";
|
|
11
13
|
import { createInterface } from "node:readline/promises";
|
|
12
14
|
import { describeConfig } from "../config.js";
|
|
13
15
|
import { clearInbox, readInbox } from "../inbox.js";
|
|
14
16
|
import { createSession } from "../index.js";
|
|
17
|
+
import { launchCommand } from "../invocation.js";
|
|
15
18
|
import { shortId } from "../observability/request.js";
|
|
16
19
|
import { statuses } from "../providers/index.js";
|
|
17
20
|
import { activeGroups, GROUPS } from "../tools/index.js";
|
|
18
21
|
import { printMemory } from "./memory-cmd.js";
|
|
19
22
|
import { configFile } from "../paths.js";
|
|
23
|
+
import { VERSION } from "./wizard.js";
|
|
24
|
+
import { createSpinner } from "./spinner.js";
|
|
20
25
|
import { render } from "./trace-cmd.js";
|
|
26
|
+
import { ASK, createTheme, describeInput, DOT, duration, STEP, summariseOutput, tokens, clip, } from "./theme.js";
|
|
21
27
|
const DIM = "[2m";
|
|
22
28
|
const RESET = "[0m";
|
|
23
29
|
export async function runRepl(opts) {
|
|
24
30
|
const out = process.stdout;
|
|
25
31
|
const rl = createInterface({ input: process.stdin, output: out });
|
|
26
|
-
const
|
|
32
|
+
const t = createTheme({ env: opts.env });
|
|
27
33
|
let session;
|
|
28
34
|
try {
|
|
29
|
-
session = open(opts, rl);
|
|
35
|
+
session = open(opts, rl, t);
|
|
30
36
|
}
|
|
31
37
|
catch (err) {
|
|
32
|
-
out.write(`\n ${message(err)}\n\n`);
|
|
38
|
+
out.write(`\n ${t.red(message(err))}\n\n`);
|
|
33
39
|
rl.close();
|
|
34
40
|
return 1;
|
|
35
41
|
}
|
|
36
|
-
banner(out, opts, session);
|
|
42
|
+
banner(out, opts, session, t);
|
|
37
43
|
let lastRequestId = "";
|
|
38
44
|
for (;;) {
|
|
39
|
-
const line = (await rl.question(">
|
|
45
|
+
const line = (await rl.question(`${t.lime(">")} `)).trim();
|
|
40
46
|
if (!line)
|
|
41
47
|
continue;
|
|
42
48
|
if (line.startsWith("/")) {
|
|
@@ -44,45 +50,58 @@ export async function runRepl(opts) {
|
|
|
44
50
|
if (command === "exit" || command === "quit")
|
|
45
51
|
break;
|
|
46
52
|
try {
|
|
47
|
-
session = await handle(command, rest, session, opts, rl, out, lastRequestId);
|
|
53
|
+
session = await handle(command, rest, session, opts, rl, out, lastRequestId, t);
|
|
48
54
|
}
|
|
49
55
|
catch (err) {
|
|
50
|
-
out.write(` ${message(err)}\n\n`);
|
|
56
|
+
out.write(` ${t.red(message(err))}\n\n`);
|
|
51
57
|
}
|
|
52
58
|
continue;
|
|
53
59
|
}
|
|
54
60
|
const controller = new AbortController();
|
|
55
61
|
const interrupt = () => controller.abort();
|
|
56
62
|
rl.once("SIGINT", interrupt);
|
|
57
|
-
|
|
63
|
+
const spinner = createSpinner({ out, theme: t, animate: out.isTTY === true });
|
|
58
64
|
try {
|
|
65
|
+
out.write("\n");
|
|
59
66
|
const result = await session.ask(line, {
|
|
60
67
|
signal: controller.signal,
|
|
61
68
|
onRequest: (request) => {
|
|
62
69
|
lastRequestId = request.id;
|
|
63
|
-
out.write(dim(` · ${shortId(request.id)}\n`));
|
|
64
70
|
},
|
|
65
|
-
onRecall: (used) =>
|
|
71
|
+
onRecall: (used) => {
|
|
72
|
+
spinner.start(used ? "recalling" : "thinking");
|
|
73
|
+
},
|
|
66
74
|
onEvent: (event) => {
|
|
67
|
-
if (event.type === "
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
if (event.type === "thinking")
|
|
76
|
+
spinner.start("thinking");
|
|
77
|
+
if (event.type === "tool_call") {
|
|
78
|
+
spinner.stop();
|
|
79
|
+
const args = describeInput(event.input);
|
|
80
|
+
out.write(`${t.lime(STEP)} ${t.lime(event.name)}${args ? ` ${t.dim(args)}` : ""}\n`);
|
|
70
81
|
}
|
|
71
|
-
if (event.type === "
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
out.write(
|
|
82
|
+
if (event.type === "tool_result") {
|
|
83
|
+
const summary = summariseOutput(event.output);
|
|
84
|
+
const body = ` ${summary} ${DOT} ${duration(event.ms)}`;
|
|
85
|
+
out.write(event.isError ? `${t.red(body)}\n\n` : `${t.dim(body)}\n\n`);
|
|
86
|
+
// Back to waiting on the model until it says otherwise.
|
|
87
|
+
spinner.start("thinking");
|
|
75
88
|
}
|
|
89
|
+
if (event.type === "text")
|
|
90
|
+
spinner.stop();
|
|
76
91
|
},
|
|
77
92
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
out
|
|
93
|
+
spinner.stop();
|
|
94
|
+
out.write(`${result.text}\n\n`);
|
|
95
|
+
footer(out, session, lastRequestId, t);
|
|
81
96
|
}
|
|
82
97
|
catch (err) {
|
|
83
|
-
|
|
98
|
+
spinner.stop();
|
|
99
|
+
out.write(controller.signal.aborted
|
|
100
|
+
? ` ${t.dim("interrupted")}\n\n`
|
|
101
|
+
: ` ${t.red(message(err))}\n\n`);
|
|
84
102
|
}
|
|
85
103
|
finally {
|
|
104
|
+
spinner.stop();
|
|
86
105
|
rl.off("SIGINT", interrupt);
|
|
87
106
|
}
|
|
88
107
|
}
|
|
@@ -90,27 +109,38 @@ export async function runRepl(opts) {
|
|
|
90
109
|
rl.close();
|
|
91
110
|
return 0;
|
|
92
111
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
out.write(
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
out.write(
|
|
112
|
+
/** Model, tokens, and the request id — one dim line under each answer. */
|
|
113
|
+
function footer(out, session, requestId, t) {
|
|
114
|
+
// No percentage: Vaan has no allowlist of models and therefore no idea how
|
|
115
|
+
// big this one's context window is. A made-up denominator is worse than none.
|
|
116
|
+
const used = `↑${tokens(session.usage.input)} ↓${tokens(session.usage.output)}`;
|
|
117
|
+
const id = requestId ? ` ${DOT} ${shortId(requestId)}` : "";
|
|
118
|
+
out.write(`${t.faint(` ${session.model} ${DOT} ${used}${id}`)}\n\n`);
|
|
119
|
+
}
|
|
120
|
+
function banner(out, opts, session, t) {
|
|
121
|
+
const name = session.config.agentName.toLowerCase();
|
|
122
|
+
out.write(`\n ${t.bold(t.lime(name))} ${t.dim(VERSION)}\n`);
|
|
123
|
+
// One line of context rather than six lines of ticks: what it can see, what
|
|
124
|
+
// it can do to you, and whether it will remember. Everything else is /status.
|
|
125
|
+
const facts = [
|
|
126
|
+
opts.workspace.replace(homedir(), "~"),
|
|
127
|
+
opts.config.sandbox.name === "restricted" ? "sandboxed" : opts.config.sandbox.name,
|
|
128
|
+
opts.memory ? "memory on" : "memory off",
|
|
129
|
+
opts.trace ? "tracing on" : "tracing off",
|
|
130
|
+
];
|
|
131
|
+
out.write(` ${t.dim(facts.join(` ${DOT} `))}\n`);
|
|
132
|
+
const notes = [...session.warnings];
|
|
104
133
|
if (opts.yes)
|
|
105
|
-
|
|
106
|
-
for (const warning of session.warnings)
|
|
107
|
-
out.write(` ! ${warning}\n`);
|
|
134
|
+
notes.push("--yes: every permission is granted without asking");
|
|
108
135
|
const pending = readInbox(opts.workspace).length;
|
|
109
136
|
if (pending > 0)
|
|
110
|
-
|
|
137
|
+
notes.push(`${pending} item${pending === 1 ? "" : "s"} in /inbox`);
|
|
138
|
+
for (const note of notes)
|
|
139
|
+
out.write(` ${t.red(ASK)} ${t.dim(note)}\n`);
|
|
111
140
|
out.write("\n");
|
|
112
141
|
}
|
|
113
|
-
function open(opts, rl) {
|
|
142
|
+
function open(opts, rl, t) {
|
|
143
|
+
const out = process.stdout;
|
|
114
144
|
return createSession({
|
|
115
145
|
workspace: opts.workspace,
|
|
116
146
|
model: opts.model,
|
|
@@ -118,26 +148,68 @@ function open(opts, rl) {
|
|
|
118
148
|
memory: opts.memory,
|
|
119
149
|
yes: opts.yes,
|
|
120
150
|
trace: opts.trace,
|
|
121
|
-
stream: true,
|
|
122
151
|
env: opts.env,
|
|
123
152
|
// Whether. The gate calls this, and only a person can answer it.
|
|
124
153
|
approve: async (request, reason) => {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
154
|
+
const detail = request.detail ? ` ${DOT} ${request.detail}` : "";
|
|
155
|
+
out.write(`${t.red(ASK)} ${t.bright(verb(request))} ` +
|
|
156
|
+
`${t.dim(clip(shorten(request.target, opts.workspace), 48))}\n`);
|
|
157
|
+
out.write(`${t.dim(` ${request.capability.toUpperCase()}${detail}`)}\n`);
|
|
158
|
+
out.write(`${t.faint(` ${reason}`)}\n`);
|
|
159
|
+
const answer = (await rl.question(` ${t.dim("allow?")} ${t.bright("[y]")} yes ${t.bright("[n]")} no `))
|
|
160
|
+
.trim()
|
|
161
|
+
.toLowerCase();
|
|
162
|
+
out.write("\n");
|
|
131
163
|
return answer === "y" || answer === "yes";
|
|
132
164
|
},
|
|
133
|
-
// What. Every write stops here too
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
165
|
+
// What. Every write stops here too — but the diff is offered, not dumped.
|
|
166
|
+
// Forty lines nobody asked for is forty lines nobody reads.
|
|
167
|
+
confirm: async (request) => {
|
|
168
|
+
out.write(`${t.red(ASK)} ${t.bright(request.tool)} ${t.dim(request.target)}\n`);
|
|
169
|
+
out.write(` ${t.red(`- ${request.removed}`)} ${t.lime(`+ ${request.added}`)}` +
|
|
170
|
+
` ${t.faint(request.action.toLowerCase())}\n`);
|
|
171
|
+
for (;;) {
|
|
172
|
+
const answer = (await rl.question(` ${t.dim("apply this change?")} ${t.bright("[y]")} yes ` +
|
|
173
|
+
`${t.bright("[d]")} diff ${t.bright("[n]")} no `))
|
|
174
|
+
.trim()
|
|
175
|
+
.toLowerCase();
|
|
176
|
+
if (answer === "d" || answer === "diff") {
|
|
177
|
+
out.write(`\n${colourDiff(request.diff, t)}\n\n`);
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
out.write("\n");
|
|
181
|
+
return answer === "y" || answer === "yes";
|
|
182
|
+
}
|
|
138
183
|
},
|
|
139
184
|
});
|
|
140
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* A path a person can read. The policy resolves everything to an absolute real
|
|
188
|
+
* path — which is what it must compare against — but
|
|
189
|
+
* `/private/var/folders/2c/j03wb…` truncated to fit is not an approval prompt,
|
|
190
|
+
* it is a dare. Inside the workspace, say where inside.
|
|
191
|
+
*/
|
|
192
|
+
function shorten(target, workspace) {
|
|
193
|
+
if (!isAbsolute(target))
|
|
194
|
+
return target;
|
|
195
|
+
const inside = relative(workspace, target);
|
|
196
|
+
if (inside && !inside.startsWith(".."))
|
|
197
|
+
return inside;
|
|
198
|
+
return target.replace(homedir(), "~");
|
|
199
|
+
}
|
|
200
|
+
/** Red for what goes, lime for what arrives. The rest is context. */
|
|
201
|
+
function colourDiff(diff, t) {
|
|
202
|
+
return diff
|
|
203
|
+
.split("\n")
|
|
204
|
+
.map((line) => {
|
|
205
|
+
if (line.startsWith("- "))
|
|
206
|
+
return t.red(line);
|
|
207
|
+
if (line.startsWith("+ "))
|
|
208
|
+
return t.lime(line);
|
|
209
|
+
return t.faint(line);
|
|
210
|
+
})
|
|
211
|
+
.join("\n");
|
|
212
|
+
}
|
|
141
213
|
const verb = (request) => {
|
|
142
214
|
switch (request.capability) {
|
|
143
215
|
case "write":
|
|
@@ -165,7 +237,7 @@ const HELP = `
|
|
|
165
237
|
/help this
|
|
166
238
|
/exit leave
|
|
167
239
|
`;
|
|
168
|
-
async function handle(command, args, session, opts, rl, out, lastRequestId) {
|
|
240
|
+
async function handle(command, args, session, opts, rl, out, lastRequestId, t) {
|
|
169
241
|
switch (command) {
|
|
170
242
|
case "model": {
|
|
171
243
|
if (args.length === 0) {
|
|
@@ -180,7 +252,7 @@ async function handle(command, args, session, opts, rl, out, lastRequestId) {
|
|
|
180
252
|
return session;
|
|
181
253
|
}
|
|
182
254
|
const next = args[0];
|
|
183
|
-
const replacement = open({ ...opts, model: next }, rl);
|
|
255
|
+
const replacement = open({ ...opts, model: next }, rl, t);
|
|
184
256
|
session.close();
|
|
185
257
|
opts.model = next;
|
|
186
258
|
out.write(`\n ✓ ${next}\n\n`);
|
|
@@ -264,7 +336,7 @@ async function handle(command, args, session, opts, rl, out, lastRequestId) {
|
|
|
264
336
|
out.write(` SOUL.md\n who the agent is\n\n`);
|
|
265
337
|
out.write(` GUARDRAILS.md\n what it should and shouldn't do\n\n`);
|
|
266
338
|
out.write(" Changes to SOUL.md and GUARDRAILS.md apply on the next message.\n");
|
|
267
|
-
out.write(
|
|
339
|
+
out.write(` Config changes need a restart. \`${launchCommand()} init\` walks through it again.\n\n`);
|
|
268
340
|
return session;
|
|
269
341
|
default:
|
|
270
342
|
out.write(HELP);
|
package/dist/src/cli/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/cli/repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Something to look at while the model thinks.
|
|
2
|
+
//
|
|
3
|
+
// This exists because Vaan does not stream. Streaming buys one thing — the
|
|
4
|
+
// terminal stops looking frozen — at the cost of reassembling a turn from
|
|
5
|
+
// fragments in every adapter, which is where most of the provider bugs came
|
|
6
|
+
// from. A line that says how long you have been waiting buys the same thing for
|
|
7
|
+
// forty lines and no reassembly.
|
|
8
|
+
//
|
|
9
|
+
// It is honest about what it knows: elapsed time, and nothing else. No fake
|
|
10
|
+
// progress bar, because nobody knows how far through a reply the model is.
|
|
11
|
+
import { DOT, duration } from "./theme.js";
|
|
12
|
+
const FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
13
|
+
const INTERVAL_MS = 80;
|
|
14
|
+
export function createSpinner(opts) {
|
|
15
|
+
const { out, theme } = opts;
|
|
16
|
+
const animate = opts.animate ?? (out.isTTY ?? false);
|
|
17
|
+
let timer;
|
|
18
|
+
let startedAt = 0;
|
|
19
|
+
let frame = 0;
|
|
20
|
+
let label = "";
|
|
21
|
+
const clear = () => {
|
|
22
|
+
// Carriage return and erase-line, so the next write starts on clean ground
|
|
23
|
+
// rather than on top of half a spinner.
|
|
24
|
+
out.write("\r[2K");
|
|
25
|
+
};
|
|
26
|
+
const draw = () => {
|
|
27
|
+
clear();
|
|
28
|
+
const spin = FRAMES[frame % FRAMES.length] ?? "";
|
|
29
|
+
frame++;
|
|
30
|
+
out.write(theme.dim(`${spin} ${label} ${DOT} ${duration(Date.now() - startedAt)}`));
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
start(next) {
|
|
34
|
+
label = next;
|
|
35
|
+
if (!animate)
|
|
36
|
+
return;
|
|
37
|
+
if (timer)
|
|
38
|
+
return; // Relabel in place; the clock keeps running.
|
|
39
|
+
startedAt = Date.now();
|
|
40
|
+
frame = 0;
|
|
41
|
+
draw();
|
|
42
|
+
timer = setInterval(draw, INTERVAL_MS);
|
|
43
|
+
// Never hold the process open for the sake of an animation.
|
|
44
|
+
timer.unref?.();
|
|
45
|
+
},
|
|
46
|
+
stop() {
|
|
47
|
+
if (!timer)
|
|
48
|
+
return;
|
|
49
|
+
clearInterval(timer);
|
|
50
|
+
timer = undefined;
|
|
51
|
+
clear();
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/cli/spinner.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,gFAAgF;AAChF,iCAAiC;AACjC,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAE3E,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,EAAE,CAAC;AAgBvB,MAAM,UAAU,aAAa,CAAC,IAAoB;IAChD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAErD,IAAI,KAAiC,CAAC;IACtC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,2EAA2E;QAC3E,wCAAwC;QACxC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjD,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,IAAI;YACR,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,KAAK;gBAAE,OAAO,CAAC,6CAA6C;YAChE,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,GAAG,CAAC,CAAC;YACV,IAAI,EAAE,CAAC;YACP,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvC,4DAA4D;YAC5D,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,CAAC;QAED,IAAI;YACF,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,SAAS,CAAC;YAClB,KAAK,EAAE,CAAC;QACV,CAAC;KACF,CAAC;AACJ,CAAC"}
|