@vetala/vetala 0.1.0-dev → 0.2.1-dev
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 +31 -1
- package/dist/src/agent.d.ts +12 -1
- package/dist/src/agent.js +92 -14
- package/dist/src/agent.js.map +1 -1
- package/dist/src/app-meta.d.ts +3 -0
- package/dist/src/app-meta.js +4 -0
- package/dist/src/app-meta.js.map +1 -0
- package/dist/src/cli.js +28 -10
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.d.ts +10 -1
- package/dist/src/config.js +160 -67
- package/dist/src/config.js.map +1 -1
- package/dist/src/edit-history.d.ts +4 -0
- package/dist/src/edit-history.js +77 -0
- package/dist/src/edit-history.js.map +1 -0
- package/dist/src/edits/diff.d.ts +1 -0
- package/dist/src/edits/diff.js +176 -0
- package/dist/src/edits/diff.js.map +1 -0
- package/dist/src/ink/command-suggestions.js +1 -0
- package/dist/src/ink/command-suggestions.js.map +1 -1
- package/dist/src/ink/ink-terminal-ui.d.ts +2 -2
- package/dist/src/ink/ink-terminal-ui.js +7 -3
- package/dist/src/ink/ink-terminal-ui.js.map +1 -1
- package/dist/src/ink/repl-app.d.ts +3 -2
- package/dist/src/ink/repl-app.js +419 -111
- package/dist/src/ink/repl-app.js.map +1 -1
- package/dist/src/process-utils.d.ts +1 -0
- package/dist/src/process-utils.js +3 -1
- package/dist/src/process-utils.js.map +1 -1
- package/dist/src/providers/catalog.d.ts +29 -0
- package/dist/src/providers/catalog.js +121 -0
- package/dist/src/providers/catalog.js.map +1 -0
- package/dist/src/providers/index.d.ts +9 -0
- package/dist/src/providers/index.js +11 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/providers/openai-compatible-client.d.ts +23 -0
- package/dist/src/providers/openai-compatible-client.js +183 -0
- package/dist/src/providers/openai-compatible-client.js.map +1 -0
- package/dist/src/repl.d.ts +2 -1
- package/dist/src/repl.js +1 -1
- package/dist/src/repl.js.map +1 -1
- package/dist/src/runtime-profile.d.ts +16 -0
- package/dist/src/runtime-profile.js +112 -0
- package/dist/src/runtime-profile.js.map +1 -0
- package/dist/src/search-provider.d.ts +6 -1
- package/dist/src/search-provider.js +257 -0
- package/dist/src/search-provider.js.map +1 -1
- package/dist/src/session-store.d.ts +5 -3
- package/dist/src/session-store.js +75 -4
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/terminal-ui.d.ts +3 -1
- package/dist/src/terminal-ui.js +13 -3
- package/dist/src/terminal-ui.js.map +1 -1
- package/dist/src/tools/filesystem.js +141 -143
- package/dist/src/tools/filesystem.js.map +1 -1
- package/dist/src/tools/index.js +2 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/repo-search.d.ts +23 -0
- package/dist/src/tools/repo-search.js +221 -0
- package/dist/src/tools/repo-search.js.map +1 -0
- package/dist/src/tools/shell.js +26 -3
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/timing.d.ts +2 -0
- package/dist/src/tools/timing.js +58 -0
- package/dist/src/tools/timing.js.map +1 -0
- package/dist/src/tools/web.js +70 -5
- package/dist/src/tools/web.js.map +1 -1
- package/dist/src/types.d.ts +89 -17
- package/dist/src/update-notifier.d.ts +41 -0
- package/dist/src/update-notifier.js +145 -0
- package/dist/src/update-notifier.js.map +1 -0
- package/package.json +13 -2
- package/terminal.png +0 -0
package/README.md
CHANGED
|
@@ -16,8 +16,33 @@ Vetala is designed for code-focused terminal work:
|
|
|
16
16
|
- approval-aware operations for safer workspace access
|
|
17
17
|
- local `skill/` runtime for reusable instructions and references
|
|
18
18
|
- prompt compaction to preserve continuity across longer sessions
|
|
19
|
+
- provider-aware model selection with Sarvam and OpenRouter profiles
|
|
20
|
+
- provider-first `/model` flow with OpenRouter model-id entry
|
|
21
|
+
- diff previews for file edits and `/undo` for the last tracked change
|
|
22
|
+
- queued or force-sent follow-up prompts while the current turn is still running
|
|
23
|
+
- startup update notifier powered by `update-notifier` with “update now” or “update later”
|
|
24
|
+
- built-in HTML search providers with DuckDuckGo by default and Stack Overflow for coding lookups
|
|
19
25
|
|
|
20
|
-
Current provider support
|
|
26
|
+
Current provider support includes Sarvam AI and OpenRouter.
|
|
27
|
+
|
|
28
|
+
## Patch Notes
|
|
29
|
+
|
|
30
|
+
### v0.2.1-dev
|
|
31
|
+
|
|
32
|
+
- switched the startup updater to `update-notifier` while keeping Vetala's own in-app `update now` or `update later` prompt
|
|
33
|
+
- added cached foreground update checks plus snooze handling so a fresh npm release can surface cleanly in the TUI
|
|
34
|
+
|
|
35
|
+
### v0.2.0-dev
|
|
36
|
+
|
|
37
|
+
- added provider-aware `/model` setup with Sarvam model selection and manual OpenRouter model-id entry
|
|
38
|
+
- added OpenRouter as the second supported provider
|
|
39
|
+
- added HTML web search with DuckDuckGo by default plus Stack Overflow, Brave, and Bing provider options
|
|
40
|
+
- added prompt guidance so Vetala searches instead of guessing when it is unsure about factual or current information
|
|
41
|
+
- added diff previews before file changes and `/undo` for the last tracked edit
|
|
42
|
+
- improved streaming performance and approval handling so long replies are less likely to stall the TUI
|
|
43
|
+
- added runtime environment detection for host OS, shell, terminal type, and viewport so the UI and agent can adapt to the current machine
|
|
44
|
+
- added `sleep` plus longer shell timeouts so the agent can wait for slower builds, tests, or generated output
|
|
45
|
+
- added an interactive next-prompt popup so you can queue a message or stop the current turn and send the next one immediately
|
|
21
46
|
|
|
22
47
|
## Compatibility
|
|
23
48
|
|
|
@@ -59,6 +84,7 @@ npm run dev
|
|
|
59
84
|
```
|
|
60
85
|
|
|
61
86
|
On startup, Vetala opens an interactive terminal UI and asks you to confirm trust for the current workspace before enabling tool access.
|
|
87
|
+
It also detects the current host platform, shell, and terminal profile and exposes that context in the UI and agent runtime.
|
|
62
88
|
|
|
63
89
|
## Configuration
|
|
64
90
|
|
|
@@ -68,7 +94,10 @@ Model selection and credential setup are available from inside the TUI through:
|
|
|
68
94
|
/model
|
|
69
95
|
```
|
|
70
96
|
|
|
97
|
+
The default web search provider is DuckDuckGo HTML. For programming-specific web lookups, Vetala also exposes `stack_overflow_search`.
|
|
98
|
+
|
|
71
99
|
Configuration and session data are stored in the user application directory for the current platform.
|
|
100
|
+
`/config` also prints the `host:` and `term:` lines used in issue reports.
|
|
72
101
|
|
|
73
102
|
## Core Commands
|
|
74
103
|
|
|
@@ -79,6 +108,7 @@ Configuration and session data are stored in the user application directory for
|
|
|
79
108
|
- `/history` shows recent session messages
|
|
80
109
|
- `/resume <session-id>` reopens a saved session
|
|
81
110
|
- `/new` starts a fresh session
|
|
111
|
+
- `/undo` reverts the last tracked file edit in the current session
|
|
82
112
|
- `/approve` shows active approvals
|
|
83
113
|
- `/config` prints runtime configuration
|
|
84
114
|
- `/logout` clears locally saved auth state
|
package/dist/src/agent.d.ts
CHANGED
|
@@ -4,13 +4,14 @@ import { SessionStore } from "./session-store.js";
|
|
|
4
4
|
import { TerminalUI } from "./terminal-ui.js";
|
|
5
5
|
import { ToolRegistry } from "./tools/registry.js";
|
|
6
6
|
import type { SkillRuntime } from "./skills/runtime.js";
|
|
7
|
-
import type { EffectiveConfig, SessionState } from "./types.js";
|
|
7
|
+
import type { EffectiveConfig, RuntimeHostProfile, SessionState } from "./types.js";
|
|
8
8
|
export interface AgentOptions {
|
|
9
9
|
config: EffectiveConfig;
|
|
10
10
|
session: SessionState;
|
|
11
11
|
sessionStore: SessionStore;
|
|
12
12
|
approvals: ApprovalManager;
|
|
13
13
|
pathPolicy: PathPolicy;
|
|
14
|
+
runtimeProfile: RuntimeHostProfile;
|
|
14
15
|
skills: SkillRuntime;
|
|
15
16
|
tools: ToolRegistry;
|
|
16
17
|
ui: TerminalUI;
|
|
@@ -18,8 +19,11 @@ export interface AgentOptions {
|
|
|
18
19
|
export declare class Agent {
|
|
19
20
|
private readonly options;
|
|
20
21
|
private readonly client;
|
|
22
|
+
private activeRequestController;
|
|
23
|
+
private stopRequested;
|
|
21
24
|
constructor(options: AgentOptions);
|
|
22
25
|
get session(): SessionState;
|
|
26
|
+
requestStop(): void;
|
|
23
27
|
runTurn(userInput: string, streaming: boolean): Promise<void>;
|
|
24
28
|
private completeTurn;
|
|
25
29
|
private chatRequest;
|
|
@@ -27,4 +31,11 @@ export declare class Agent {
|
|
|
27
31
|
private appendAndRenderAssistantMessage;
|
|
28
32
|
private persistedMessage;
|
|
29
33
|
private systemPrompt;
|
|
34
|
+
private beginRequest;
|
|
35
|
+
private endRequest;
|
|
36
|
+
private throwIfStopped;
|
|
30
37
|
}
|
|
38
|
+
export declare class AgentInterruptedError extends Error {
|
|
39
|
+
constructor();
|
|
40
|
+
}
|
|
41
|
+
export declare function isAgentInterruptedError(error: unknown): error is AgentInterruptedError;
|
package/dist/src/agent.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { compactConversation } from "./context-memory.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { createProviderClient, getProviderDefinition, providerLabel, withSystemMessage } from "./providers/index.js";
|
|
3
|
+
import { createSearchProvider } from "./search-provider.js";
|
|
4
4
|
export class Agent {
|
|
5
5
|
options;
|
|
6
6
|
client;
|
|
7
|
+
activeRequestController = null;
|
|
8
|
+
stopRequested = false;
|
|
7
9
|
constructor(options) {
|
|
8
10
|
this.options = options;
|
|
9
|
-
this.client =
|
|
11
|
+
this.client = createProviderClient(options.config.providers[options.session.provider]);
|
|
10
12
|
}
|
|
11
13
|
get session() {
|
|
12
14
|
return this.options.session;
|
|
13
15
|
}
|
|
16
|
+
requestStop() {
|
|
17
|
+
this.stopRequested = true;
|
|
18
|
+
this.activeRequestController?.abort();
|
|
19
|
+
}
|
|
14
20
|
async runTurn(userInput, streaming) {
|
|
21
|
+
this.stopRequested = false;
|
|
15
22
|
const userMessage = this.persistedMessage({
|
|
16
23
|
role: "user",
|
|
17
24
|
content: userInput
|
|
@@ -22,15 +29,18 @@ export class Agent {
|
|
|
22
29
|
await this.appendAndRenderAssistantMessage(localGreeting, false);
|
|
23
30
|
return;
|
|
24
31
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
const provider = this.options.config.providers[this.options.session.provider];
|
|
33
|
+
const providerDefinition = getProviderDefinition(this.options.session.provider);
|
|
34
|
+
if (!provider.authValue) {
|
|
35
|
+
const missingAuthMessage = provider.authSource === "stored_hash"
|
|
36
|
+
? `A stored SHA-256 fingerprint exists for ${providerDefinition.label}, but the raw credential is not available in this process. Use /model to enter the key again or set ${providerDefinition.auth.envVars.join(", ")}.`
|
|
37
|
+
: `${providerDefinition.label} credentials are missing. Set ${providerDefinition.auth.envVars.join(", ")} and try again.`;
|
|
29
38
|
await this.appendAndRenderAssistantMessage(missingAuthMessage, false);
|
|
30
39
|
return;
|
|
31
40
|
}
|
|
32
41
|
const seenToolCalls = new Set();
|
|
33
42
|
for (let turnIndex = 0; turnIndex < 8; turnIndex += 1) {
|
|
43
|
+
this.throwIfStopped();
|
|
34
44
|
const conversation = compactConversation(this.options.session.messages, this.options.session.referencedFiles);
|
|
35
45
|
this.options.ui.activity(conversation.compactedCount > 0
|
|
36
46
|
? `Using 12 recent messages and ${conversation.compactedCount} compacted earlier messages.`
|
|
@@ -42,6 +52,10 @@ export class Agent {
|
|
|
42
52
|
turn = await this.completeTurn(requestMessages, streaming);
|
|
43
53
|
}
|
|
44
54
|
catch (error) {
|
|
55
|
+
if (isAbortError(error) || error instanceof AgentInterruptedError) {
|
|
56
|
+
this.options.ui.endAssistantTurn();
|
|
57
|
+
throw new AgentInterruptedError();
|
|
58
|
+
}
|
|
45
59
|
await this.appendAndRenderAssistantMessage(error instanceof Error ? error.message : String(error), true);
|
|
46
60
|
return;
|
|
47
61
|
}
|
|
@@ -56,6 +70,7 @@ export class Agent {
|
|
|
56
70
|
return;
|
|
57
71
|
}
|
|
58
72
|
for (const toolCall of turn.toolCalls) {
|
|
73
|
+
this.throwIfStopped();
|
|
59
74
|
this.options.ui.printToolCall(toolCall);
|
|
60
75
|
const signature = toolCallSignature(toolCall);
|
|
61
76
|
let result;
|
|
@@ -72,6 +87,7 @@ export class Agent {
|
|
|
72
87
|
this.options.ui.activity(`Running ${toolCall.function.name}.`);
|
|
73
88
|
result = await this.options.tools.execute(toolCall, this.toolContext());
|
|
74
89
|
}
|
|
90
|
+
this.throwIfStopped();
|
|
75
91
|
this.options.ui.printToolResult(result.summary, result.isError);
|
|
76
92
|
await this.options.sessionStore.appendMessage(this.options.session, this.persistedMessage({
|
|
77
93
|
role: "tool",
|
|
@@ -83,18 +99,26 @@ export class Agent {
|
|
|
83
99
|
throw new Error("Agent reached the maximum tool loop depth.");
|
|
84
100
|
}
|
|
85
101
|
async completeTurn(messages, streaming) {
|
|
86
|
-
this.options.ui.activity(`Thinking with ${this.options.session.model}.`);
|
|
102
|
+
this.options.ui.activity(`Thinking with ${providerLabel(this.options.session.provider)} / ${this.options.session.model}.`);
|
|
103
|
+
const requestOptions = this.beginRequest();
|
|
87
104
|
if (!streaming) {
|
|
88
105
|
const spinner = this.options.ui.startSpinner("Thinking");
|
|
89
106
|
try {
|
|
90
|
-
const turn = await this.client.complete(this.chatRequest(messages));
|
|
107
|
+
const turn = await this.client.complete(this.chatRequest(messages), requestOptions);
|
|
91
108
|
spinner.stop();
|
|
92
109
|
if (turn.content) {
|
|
93
110
|
this.options.ui.printAssistantMessage(turn.content);
|
|
94
111
|
}
|
|
95
112
|
return turn;
|
|
96
113
|
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
if (isAbortError(error)) {
|
|
116
|
+
throw new AgentInterruptedError();
|
|
117
|
+
}
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
97
120
|
finally {
|
|
121
|
+
this.endRequest(requestOptions);
|
|
98
122
|
if (spinner.isSpinning) {
|
|
99
123
|
spinner.stop();
|
|
100
124
|
}
|
|
@@ -103,22 +127,31 @@ export class Agent {
|
|
|
103
127
|
try {
|
|
104
128
|
const turn = await this.client.stream(this.chatRequest(messages), {
|
|
105
129
|
onText: (chunk) => this.options.ui.appendAssistantText(chunk)
|
|
106
|
-
});
|
|
130
|
+
}, requestOptions);
|
|
107
131
|
return turn;
|
|
108
132
|
}
|
|
109
133
|
catch (error) {
|
|
134
|
+
if (isAbortError(error)) {
|
|
135
|
+
this.options.ui.endAssistantTurn();
|
|
136
|
+
throw new AgentInterruptedError();
|
|
137
|
+
}
|
|
110
138
|
this.options.ui.endAssistantTurn();
|
|
111
139
|
this.options.ui.activity("Streaming failed. Retrying with buffered completion.");
|
|
112
140
|
this.options.ui.warn(`Streaming failed, falling back to buffered completion: ${error instanceof Error ? error.message : String(error)}`);
|
|
113
141
|
return this.completeTurn(messages, false);
|
|
114
142
|
}
|
|
143
|
+
finally {
|
|
144
|
+
this.endRequest(requestOptions);
|
|
145
|
+
}
|
|
115
146
|
}
|
|
116
147
|
chatRequest(messages) {
|
|
117
148
|
return {
|
|
118
149
|
messages,
|
|
119
150
|
model: this.options.session.model,
|
|
120
151
|
temperature: 0.2,
|
|
121
|
-
reasoning_effort: this.options.
|
|
152
|
+
reasoning_effort: getProviderDefinition(this.options.session.provider).supportsReasoningEffort
|
|
153
|
+
? this.options.config.reasoningEffort
|
|
154
|
+
: null,
|
|
122
155
|
tools: this.options.tools.toSarvamTools(),
|
|
123
156
|
tool_choice: "auto"
|
|
124
157
|
};
|
|
@@ -137,13 +170,16 @@ export class Agent {
|
|
|
137
170
|
hasRead: (targetPath) => this.options.session.readFiles.includes(targetPath),
|
|
138
171
|
registerRead: (targetPath) => this.options.sessionStore.appendReadFile(this.options.session, targetPath)
|
|
139
172
|
},
|
|
173
|
+
edits: {
|
|
174
|
+
recordEdit: (edit) => this.options.sessionStore.appendEdit(this.options.session, edit)
|
|
175
|
+
},
|
|
140
176
|
paths: {
|
|
141
177
|
resolve: (inputPath) => this.options.pathPolicy.resolve(inputPath),
|
|
142
178
|
ensureReadable: (inputPath) => this.options.pathPolicy.ensureReadable(inputPath),
|
|
143
179
|
ensureWritable: (inputPath) => this.options.pathPolicy.ensureWritable(inputPath),
|
|
144
180
|
allowedRoots: () => this.options.pathPolicy.allowedRoots()
|
|
145
181
|
},
|
|
146
|
-
searchProvider:
|
|
182
|
+
searchProvider: createSearchProvider(this.options.config.searchProviderName)
|
|
147
183
|
};
|
|
148
184
|
}
|
|
149
185
|
async appendAndRenderAssistantMessage(message, isError) {
|
|
@@ -171,16 +207,28 @@ export class Agent {
|
|
|
171
207
|
"You are Vetala, a concise coding CLI assistant operating inside a developer terminal.",
|
|
172
208
|
"When greeting or introducing yourself, explicitly call yourself Vetala.",
|
|
173
209
|
"When referring to yourself in any response, use the name Vetala.",
|
|
174
|
-
`Host platform: ${
|
|
175
|
-
|
|
210
|
+
`Host platform: ${this.options.runtimeProfile.platform}`,
|
|
211
|
+
`Host architecture: ${this.options.runtimeProfile.arch}`,
|
|
212
|
+
`Host release: ${this.options.runtimeProfile.release}`,
|
|
213
|
+
`Host OS version: ${this.options.runtimeProfile.osVersion}`,
|
|
214
|
+
`Detected shell: ${this.options.runtimeProfile.shell}`,
|
|
215
|
+
`Detected terminal: ${this.options.runtimeProfile.terminalProgram} / ${this.options.runtimeProfile.terminalType}`,
|
|
216
|
+
`TTY: stdin=${this.options.runtimeProfile.stdinIsTTY ? "yes" : "no"}, stdout=${this.options.runtimeProfile.stdoutIsTTY ? "yes" : "no"}, size=${formatViewport(this.options.runtimeProfile)}`,
|
|
217
|
+
"Account for the host platform, shell, and terminal when suggesting or running commands.",
|
|
176
218
|
`Workspace root: ${this.options.session.workspaceRoot}`,
|
|
219
|
+
`Active provider: ${providerLabel(this.options.session.provider)}`,
|
|
220
|
+
`Active model: ${this.options.session.model}`,
|
|
177
221
|
`Allowed roots right now: ${this.options.pathPolicy.allowedRoots().join(", ")}`,
|
|
178
222
|
compactedCount > 0
|
|
179
223
|
? `Only the most recent messages are attached verbatim. ${compactedCount} earlier messages were compacted into working memory.`
|
|
180
224
|
: "The full conversation is attached because the session is still short.",
|
|
181
225
|
"Use tools whenever you need file contents, shell output, git state, or web data.",
|
|
226
|
+
"If you are unsure about a current or factual claim, use web_search or stack_overflow_search instead of guessing.",
|
|
227
|
+
"For programming questions on the web, prefer stack_overflow_search before broader search when appropriate.",
|
|
182
228
|
"Only call declared tools by their exact names.",
|
|
183
229
|
"Preferred repo workflow: search_repo, then read_file/read_file_chunk/read_symbol, then apply_patch or write_file.",
|
|
230
|
+
"If a command or background process needs time before the next check, use sleep instead of guessing.",
|
|
231
|
+
"If a build, test, or install command may take longer than usual, set run_shell.timeout_ms explicitly.",
|
|
184
232
|
"Do not edit an existing file until you have read it in this session.",
|
|
185
233
|
"Use the skill tool whenever a task may match a local skill or when you need a skill-specific file.",
|
|
186
234
|
"When reading files inside the local skill catalog, prefer the skill tool over read_file.",
|
|
@@ -202,6 +250,30 @@ export class Agent {
|
|
|
202
250
|
}
|
|
203
251
|
return lines.join("\n");
|
|
204
252
|
}
|
|
253
|
+
beginRequest() {
|
|
254
|
+
const controller = new AbortController();
|
|
255
|
+
this.activeRequestController = controller;
|
|
256
|
+
return { signal: controller.signal };
|
|
257
|
+
}
|
|
258
|
+
endRequest(options) {
|
|
259
|
+
if (this.activeRequestController?.signal === options.signal) {
|
|
260
|
+
this.activeRequestController = null;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
throwIfStopped() {
|
|
264
|
+
if (this.stopRequested) {
|
|
265
|
+
throw new AgentInterruptedError();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
export class AgentInterruptedError extends Error {
|
|
270
|
+
constructor() {
|
|
271
|
+
super("The current turn was interrupted.");
|
|
272
|
+
this.name = "AgentInterruptedError";
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
export function isAgentInterruptedError(error) {
|
|
276
|
+
return error instanceof AgentInterruptedError;
|
|
205
277
|
}
|
|
206
278
|
function toolCallSignature(toolCall) {
|
|
207
279
|
return `${toolCall.function.name}:${toolCall.function.arguments.trim()}`;
|
|
@@ -213,4 +285,10 @@ function maybeLocalGreeting(userInput) {
|
|
|
213
285
|
}
|
|
214
286
|
return null;
|
|
215
287
|
}
|
|
288
|
+
function isAbortError(error) {
|
|
289
|
+
return error instanceof Error && error.name === "AbortError";
|
|
290
|
+
}
|
|
291
|
+
function formatViewport(profile) {
|
|
292
|
+
return profile.columns && profile.rows ? `${profile.columns}x${profile.rows}` : "unknown";
|
|
293
|
+
}
|
|
216
294
|
//# sourceMappingURL=agent.js.map
|
package/dist/src/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-meta.js","sourceRoot":"","sources":["../../src/app-meta.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAC"}
|
package/dist/src/cli.js
CHANGED
|
@@ -4,8 +4,11 @@ import { stdin, stdout } from "node:process";
|
|
|
4
4
|
import { Command } from "commander";
|
|
5
5
|
import { Agent } from "./agent.js";
|
|
6
6
|
import { ApprovalManager } from "./approvals.js";
|
|
7
|
+
import { APP_VERSION } from "./app-meta.js";
|
|
7
8
|
import { loadConfig } from "./config.js";
|
|
8
9
|
import { PathPolicy } from "./path-policy.js";
|
|
10
|
+
import { resolveProviderName } from "./providers/index.js";
|
|
11
|
+
import { detectRuntimeHostProfile } from "./runtime-profile.js";
|
|
9
12
|
import { SessionStore } from "./session-store.js";
|
|
10
13
|
import { SkillRuntime } from "./skills/runtime.js";
|
|
11
14
|
import { TerminalUI } from "./terminal-ui.js";
|
|
@@ -14,22 +17,33 @@ import { ensureWorkspaceTrust } from "./workspace-trust.js";
|
|
|
14
17
|
const program = new Command();
|
|
15
18
|
program
|
|
16
19
|
.name("vetala")
|
|
17
|
-
.
|
|
20
|
+
.version(APP_VERSION)
|
|
21
|
+
.description("Multi-provider coding CLI.")
|
|
18
22
|
.option("-p, --prompt <prompt>", "Run a single prompt and exit")
|
|
19
23
|
.option("--new", "Start a fresh session")
|
|
20
24
|
.option("--resume <sessionId>", "Resume a specific session")
|
|
25
|
+
.option("--provider <provider>", "Override the provider for this run")
|
|
21
26
|
.option("--model <model>", "Override the model for this run")
|
|
22
27
|
.action(async (options) => {
|
|
23
28
|
let config = await loadConfig();
|
|
24
|
-
const
|
|
29
|
+
const runtimeProfile = detectRuntimeHostProfile();
|
|
30
|
+
const ui = new TerminalUI(runtimeProfile);
|
|
25
31
|
const store = new SessionStore();
|
|
26
32
|
const workspaceRoot = process.cwd();
|
|
27
|
-
let session = await resolveSession(store, workspaceRoot, config.defaultModel, options);
|
|
33
|
+
let session = await resolveSession(store, workspaceRoot, config.defaultProvider, config.defaultModel, options);
|
|
28
34
|
if (session.workspaceRoot !== process.cwd()) {
|
|
29
35
|
process.chdir(session.workspaceRoot);
|
|
30
36
|
}
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
const overrideProvider = resolveProviderOption(options.provider);
|
|
38
|
+
if (options.provider && !overrideProvider) {
|
|
39
|
+
throw new Error(`Unknown provider: ${options.provider}`);
|
|
40
|
+
}
|
|
41
|
+
if (overrideProvider || options.model) {
|
|
42
|
+
const nextProvider = overrideProvider ?? session.provider;
|
|
43
|
+
const nextModel = options.model ?? config.providers[nextProvider].defaultModel;
|
|
44
|
+
if (nextProvider !== session.provider || nextModel !== session.model) {
|
|
45
|
+
await store.updateModel(session, nextProvider, nextModel);
|
|
46
|
+
}
|
|
33
47
|
}
|
|
34
48
|
if (options.prompt) {
|
|
35
49
|
const trustedConfig = await ensureWorkspaceTrust(session.workspaceRoot, config, ui);
|
|
@@ -38,20 +52,20 @@ program
|
|
|
38
52
|
return;
|
|
39
53
|
}
|
|
40
54
|
config = trustedConfig;
|
|
41
|
-
await runOneShot(options.prompt, session, config, store, ui);
|
|
55
|
+
await runOneShot(options.prompt, session, config, store, ui, runtimeProfile);
|
|
42
56
|
return;
|
|
43
57
|
}
|
|
44
58
|
const { startRepl } = await import("./repl.js");
|
|
45
|
-
await startRepl(session, { ui, store });
|
|
59
|
+
await startRepl(session, { ui, store, runtimeProfile });
|
|
46
60
|
});
|
|
47
61
|
await program.parseAsync(process.argv);
|
|
48
|
-
async function resolveSession(store, workspaceRoot, defaultModel, options) {
|
|
62
|
+
async function resolveSession(store, workspaceRoot, defaultProvider, defaultModel, options) {
|
|
49
63
|
if (options.resume) {
|
|
50
64
|
return store.loadSession(options.resume);
|
|
51
65
|
}
|
|
52
|
-
return store.createSession(workspaceRoot, defaultModel);
|
|
66
|
+
return store.createSession(workspaceRoot, defaultProvider, defaultModel);
|
|
53
67
|
}
|
|
54
|
-
async function runOneShot(prompt, session, config, store, ui) {
|
|
68
|
+
async function runOneShot(prompt, session, config, store, ui, runtimeProfile) {
|
|
55
69
|
const rl = stdin.isTTY
|
|
56
70
|
? readline.createInterface({
|
|
57
71
|
input: stdin,
|
|
@@ -71,6 +85,7 @@ async function runOneShot(prompt, session, config, store, ui) {
|
|
|
71
85
|
sessionStore: store,
|
|
72
86
|
approvals,
|
|
73
87
|
pathPolicy: new PathPolicy(session.workspaceRoot, approvals),
|
|
88
|
+
runtimeProfile,
|
|
74
89
|
skills,
|
|
75
90
|
tools: createToolRegistry({
|
|
76
91
|
includeWebSearch: config.searchProviderName !== "disabled",
|
|
@@ -84,4 +99,7 @@ async function runOneShot(prompt, session, config, store, ui) {
|
|
|
84
99
|
await rl?.close();
|
|
85
100
|
}
|
|
86
101
|
}
|
|
102
|
+
function resolveProviderOption(value) {
|
|
103
|
+
return resolveProviderName(value);
|
|
104
|
+
}
|
|
87
105
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,uBAAuB,EAAE,8BAA8B,CAAC;KAC/D,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC;KACxC,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import type { EffectiveConfig, FileConfig, ReasoningEffort } from "./types.js";
|
|
1
|
+
import type { EffectiveConfig, FileConfig, ProviderName, ProviderRuntimeConfig, ReasoningEffort } from "./types.js";
|
|
2
2
|
export declare function loadConfig(): Promise<EffectiveConfig>;
|
|
3
3
|
export declare function saveFileConfig(nextConfig: FileConfig): Promise<void>;
|
|
4
4
|
export declare function saveDefaultModel(model: string): Promise<void>;
|
|
5
5
|
export declare function saveChatDefaults(model: string, reasoningEffort: ReasoningEffort | null): Promise<void>;
|
|
6
|
+
export declare function saveProviderDefaults(provider: ProviderName, model: string, options?: {
|
|
7
|
+
reasoningEffort?: ReasoningEffort | null;
|
|
8
|
+
}): Promise<void>;
|
|
6
9
|
export declare function saveAuthFingerprint(mode: "bearer" | "subscription_key", authValue: string): Promise<void>;
|
|
10
|
+
export declare function saveProviderAuthFingerprint(provider: ProviderName, mode: "bearer" | "subscription_key", authValue: string): Promise<void>;
|
|
7
11
|
export declare function savePersistentAuth(mode: "bearer" | "subscription_key", authValue: string): Promise<void>;
|
|
12
|
+
export declare function saveProviderPersistentAuth(provider: ProviderName, mode: "bearer" | "subscription_key", authValue: string): Promise<void>;
|
|
8
13
|
export declare function clearSavedAuth(): Promise<void>;
|
|
14
|
+
export declare function clearProviderSavedAuth(provider: ProviderName): Promise<void>;
|
|
9
15
|
export declare function trustWorkspace(workspaceRoot: string): Promise<void>;
|
|
10
16
|
export declare function isWorkspaceTrusted(config: EffectiveConfig, workspaceRoot: string): boolean;
|
|
11
17
|
export declare function withSessionAuth(config: EffectiveConfig, mode: "bearer" | "subscription_key", authValue: string): EffectiveConfig;
|
|
18
|
+
export declare function withProviderSessionAuth(config: EffectiveConfig, provider: ProviderName, mode: "bearer" | "subscription_key", authValue: string): EffectiveConfig;
|
|
12
19
|
export declare function withStoredAuth(config: EffectiveConfig, mode: "bearer" | "subscription_key", authValue: string): EffectiveConfig;
|
|
20
|
+
export declare function withProviderStoredAuth(config: EffectiveConfig, provider: ProviderName, mode: "bearer" | "subscription_key", authValue: string): EffectiveConfig;
|
|
21
|
+
export declare function providerConfigFor(config: EffectiveConfig, provider: ProviderName): ProviderRuntimeConfig;
|