@agntk/cli 0.2.0 → 0.3.0
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/cli.d.ts +6 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +264 -82
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -0
- package/dist/config.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.d.ts
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* @fileoverview CLI entry point for agntk — zero-config AI agent.
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx agntk
|
|
7
|
-
* npx agntk
|
|
8
|
-
* npx agntk
|
|
6
|
+
* npx agntk "do something"
|
|
7
|
+
* npx agntk whats up
|
|
8
|
+
* npx agntk -n "my-agent" "fix the failing tests"
|
|
9
|
+
* npx agntk -n "my-agent" --instructions "you are a deploy bot" "roll back staging"
|
|
10
|
+
* npx agntk -n "my-agent" -i
|
|
9
11
|
* npx agntk list
|
|
10
|
-
* npx agntk
|
|
11
|
-
* cat error.log | npx agntk --name "debugger" "explain these errors"
|
|
12
|
+
* cat error.log | npx agntk -n "debugger" "explain these errors"
|
|
12
13
|
*/
|
|
13
14
|
import 'dotenv/config';
|
|
14
15
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG;AAGH,OAAO,eAAe,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -3,21 +3,22 @@
|
|
|
3
3
|
* @fileoverview CLI entry point for agntk — zero-config AI agent.
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npx agntk
|
|
7
|
-
* npx agntk
|
|
8
|
-
* npx agntk
|
|
6
|
+
* npx agntk "do something"
|
|
7
|
+
* npx agntk whats up
|
|
8
|
+
* npx agntk -n "my-agent" "fix the failing tests"
|
|
9
|
+
* npx agntk -n "my-agent" --instructions "you are a deploy bot" "roll back staging"
|
|
10
|
+
* npx agntk -n "my-agent" -i
|
|
9
11
|
* npx agntk list
|
|
10
|
-
* npx agntk
|
|
11
|
-
* cat error.log | npx agntk --name "debugger" "explain these errors"
|
|
12
|
+
* cat error.log | npx agntk -n "debugger" "explain these errors"
|
|
12
13
|
*/
|
|
13
14
|
// Load .env files before anything else reads process.env
|
|
14
15
|
import 'dotenv/config';
|
|
15
16
|
import { createInterface } from 'node:readline';
|
|
16
|
-
import { readdirSync, existsSync } from 'node:fs';
|
|
17
|
+
import { readdirSync, existsSync, writeFileSync, unlinkSync, readFileSync, statSync } from 'node:fs';
|
|
17
18
|
import { resolve, join } from 'node:path';
|
|
18
19
|
import { homedir } from 'node:os';
|
|
19
20
|
import { getVersion } from './version.js';
|
|
20
|
-
import { detectApiKey } from './config.js';
|
|
21
|
+
import { detectApiKey, loadDotenvFallback } from './config.js';
|
|
21
22
|
// ============================================================================
|
|
22
23
|
// Constants
|
|
23
24
|
// ============================================================================
|
|
@@ -25,7 +26,7 @@ const AGENTS_DIR = resolve(homedir(), '.agntk', 'agents');
|
|
|
25
26
|
function createColors(enabled) {
|
|
26
27
|
if (!enabled) {
|
|
27
28
|
const identity = (s) => s;
|
|
28
|
-
return { dim: identity, bold: identity, cyan: identity, yellow: identity, green: identity, red: identity, magenta: identity, reset: '' };
|
|
29
|
+
return { dim: identity, bold: identity, cyan: identity, yellow: identity, green: identity, red: identity, magenta: identity, blue: identity, white: identity, reset: '' };
|
|
29
30
|
}
|
|
30
31
|
return {
|
|
31
32
|
dim: (s) => `\x1b[2m${s}\x1b[22m`,
|
|
@@ -35,9 +36,40 @@ function createColors(enabled) {
|
|
|
35
36
|
green: (s) => `\x1b[32m${s}\x1b[39m`,
|
|
36
37
|
red: (s) => `\x1b[31m${s}\x1b[39m`,
|
|
37
38
|
magenta: (s) => `\x1b[35m${s}\x1b[39m`,
|
|
39
|
+
blue: (s) => `\x1b[34m${s}\x1b[39m`,
|
|
40
|
+
white: (s) => `\x1b[97m${s}\x1b[39m`,
|
|
38
41
|
reset: '\x1b[0m',
|
|
39
42
|
};
|
|
40
43
|
}
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Spinner — braille-pattern loading indicator
|
|
46
|
+
// ============================================================================
|
|
47
|
+
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
48
|
+
const CLEAR_LINE = '\x1b[2K\r';
|
|
49
|
+
function createSpinner(stream, colors, enabled) {
|
|
50
|
+
let interval = null;
|
|
51
|
+
let frameIdx = 0;
|
|
52
|
+
return {
|
|
53
|
+
start(label) {
|
|
54
|
+
if (!enabled)
|
|
55
|
+
return;
|
|
56
|
+
this.stop();
|
|
57
|
+
frameIdx = 0;
|
|
58
|
+
interval = setInterval(() => {
|
|
59
|
+
const frame = SPINNER_FRAMES[frameIdx % SPINNER_FRAMES.length];
|
|
60
|
+
stream.write(`${CLEAR_LINE} ${colors.cyan(frame)} ${colors.dim(label)}`);
|
|
61
|
+
frameIdx++;
|
|
62
|
+
}, 80);
|
|
63
|
+
},
|
|
64
|
+
stop() {
|
|
65
|
+
if (interval) {
|
|
66
|
+
clearInterval(interval);
|
|
67
|
+
interval = null;
|
|
68
|
+
stream.write(CLEAR_LINE);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
41
73
|
function parseCLIArgs(argv) {
|
|
42
74
|
const args = {
|
|
43
75
|
name: null,
|
|
@@ -103,28 +135,12 @@ function parseCLIArgs(argv) {
|
|
|
103
135
|
}
|
|
104
136
|
}
|
|
105
137
|
// Interpret positionals:
|
|
106
|
-
//
|
|
107
|
-
// agntk "
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
args.prompt = positionals[0];
|
|
113
|
-
}
|
|
114
|
-
else if (positionals.length === 2) {
|
|
115
|
-
if (!args.name) {
|
|
116
|
-
args.name = positionals[0];
|
|
117
|
-
}
|
|
118
|
-
args.prompt = positionals[1];
|
|
119
|
-
}
|
|
120
|
-
else if (positionals.length > 2) {
|
|
121
|
-
if (!args.name) {
|
|
122
|
-
args.name = positionals[0];
|
|
123
|
-
args.prompt = positionals.slice(1).join(' ');
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
args.prompt = positionals.join(' ');
|
|
127
|
-
}
|
|
138
|
+
// All positionals join into the prompt. Use --name/-n for agent name.
|
|
139
|
+
// agntk "do something" → prompt = "do something"
|
|
140
|
+
// agntk whats up → prompt = "whats up"
|
|
141
|
+
// agntk -n myagent fix the tests → name = "myagent", prompt = "fix the tests"
|
|
142
|
+
if (positionals.length > 0) {
|
|
143
|
+
args.prompt = positionals.join(' ');
|
|
128
144
|
}
|
|
129
145
|
return args;
|
|
130
146
|
}
|
|
@@ -137,13 +153,13 @@ function printHelp() {
|
|
|
137
153
|
agntk (${version}) — zero-config AI agent
|
|
138
154
|
|
|
139
155
|
Usage:
|
|
140
|
-
agntk
|
|
141
|
-
agntk
|
|
142
|
-
agntk <name>
|
|
156
|
+
agntk "prompt"
|
|
157
|
+
agntk -n <name> "prompt"
|
|
158
|
+
agntk -n <name> -i
|
|
143
159
|
agntk list
|
|
144
160
|
|
|
145
161
|
Options:
|
|
146
|
-
-n, --name <name> Agent name (
|
|
162
|
+
-n, --name <name> Agent name (enables persistent memory)
|
|
147
163
|
--instructions <text> What the agent does (injected as system prompt)
|
|
148
164
|
-i, --interactive Interactive REPL mode
|
|
149
165
|
--workspace <path> Workspace root (default: cwd)
|
|
@@ -157,36 +173,165 @@ function printHelp() {
|
|
|
157
173
|
list List all known agents
|
|
158
174
|
|
|
159
175
|
Examples:
|
|
160
|
-
agntk
|
|
161
|
-
agntk
|
|
162
|
-
agntk
|
|
163
|
-
agntk
|
|
176
|
+
agntk "fix the failing tests"
|
|
177
|
+
agntk whats up
|
|
178
|
+
agntk -n coder "fix the failing tests"
|
|
179
|
+
agntk -n ops --instructions "you manage k8s deploys" "roll back staging"
|
|
180
|
+
agntk -n coder -i
|
|
164
181
|
agntk list
|
|
165
|
-
cat error.log | agntk
|
|
182
|
+
cat error.log | agntk -n debugger "explain"
|
|
183
|
+
|
|
184
|
+
Provider (auto-detected):
|
|
185
|
+
Works out of the box with the free tier (Cerebras).
|
|
186
|
+
For your own key: export OPENROUTER_API_KEY=sk-or-...
|
|
187
|
+
For local models: install Ollama (auto-detected at localhost:11434)
|
|
166
188
|
`);
|
|
167
189
|
}
|
|
168
190
|
// ============================================================================
|
|
169
191
|
// List Agents
|
|
170
192
|
// ============================================================================
|
|
193
|
+
/** Check if a PID is still alive */
|
|
194
|
+
function isPidAlive(pid) {
|
|
195
|
+
try {
|
|
196
|
+
process.kill(pid, 0);
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/** Format a timestamp as relative time (e.g. "2m ago", "3d ago") */
|
|
204
|
+
function relativeTime(date) {
|
|
205
|
+
const now = Date.now();
|
|
206
|
+
const diffMs = now - date.getTime();
|
|
207
|
+
const seconds = Math.floor(diffMs / 1000);
|
|
208
|
+
if (seconds < 60)
|
|
209
|
+
return 'just now';
|
|
210
|
+
const minutes = Math.floor(seconds / 60);
|
|
211
|
+
if (minutes < 60)
|
|
212
|
+
return `${minutes}m ago`;
|
|
213
|
+
const hours = Math.floor(minutes / 60);
|
|
214
|
+
if (hours < 24)
|
|
215
|
+
return `${hours}h ago`;
|
|
216
|
+
const days = Math.floor(hours / 24);
|
|
217
|
+
if (days < 7)
|
|
218
|
+
return `${days}d ago`;
|
|
219
|
+
const weeks = Math.floor(days / 7);
|
|
220
|
+
if (weeks < 4)
|
|
221
|
+
return `${weeks}w ago`;
|
|
222
|
+
const months = Math.floor(days / 30);
|
|
223
|
+
return `${months}mo ago`;
|
|
224
|
+
}
|
|
225
|
+
/** Get lock info for an agent — returns PID if running, null if idle */
|
|
226
|
+
function getAgentLockInfo(agentDir) {
|
|
227
|
+
const lockPath = join(agentDir, '.lock');
|
|
228
|
+
if (!existsSync(lockPath))
|
|
229
|
+
return null;
|
|
230
|
+
try {
|
|
231
|
+
const content = readFileSync(lockPath, 'utf-8').trim();
|
|
232
|
+
const pid = parseInt(content, 10);
|
|
233
|
+
if (isNaN(pid))
|
|
234
|
+
return null;
|
|
235
|
+
const alive = isPidAlive(pid);
|
|
236
|
+
if (!alive) {
|
|
237
|
+
try {
|
|
238
|
+
unlinkSync(lockPath);
|
|
239
|
+
}
|
|
240
|
+
catch { /* ignore */ }
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
return { pid, alive };
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/** Acquire a lockfile for an agent */
|
|
250
|
+
function acquireLock(name) {
|
|
251
|
+
const lockPath = join(AGENTS_DIR, name, '.lock');
|
|
252
|
+
try {
|
|
253
|
+
writeFileSync(lockPath, String(process.pid), 'utf-8');
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// Agent dir may not exist yet — that's fine, it gets created by the SDK
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/** Release a lockfile for an agent */
|
|
260
|
+
function releaseLock(name) {
|
|
261
|
+
const lockPath = join(AGENTS_DIR, name, '.lock');
|
|
262
|
+
try {
|
|
263
|
+
unlinkSync(lockPath);
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
// Already cleaned up
|
|
267
|
+
}
|
|
268
|
+
}
|
|
171
269
|
function listAgents() {
|
|
270
|
+
const colors = createColors(process.stdout.isTTY ?? false);
|
|
172
271
|
if (!existsSync(AGENTS_DIR)) {
|
|
173
|
-
console.log('No agents found. Create one with: agntk --name "my-agent" "do something"');
|
|
272
|
+
console.log(colors.dim('No agents found. Create one with: agntk --name "my-agent" "do something"'));
|
|
174
273
|
return;
|
|
175
274
|
}
|
|
176
275
|
const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
|
|
177
276
|
const agents = entries.filter((e) => e.isDirectory());
|
|
178
277
|
if (agents.length === 0) {
|
|
179
|
-
console.log('No agents found. Create one with: agntk --name "my-agent" "do something"');
|
|
278
|
+
console.log(colors.dim('No agents found. Create one with: agntk --name "my-agent" "do something"'));
|
|
180
279
|
return;
|
|
181
280
|
}
|
|
182
|
-
console.log(`\
|
|
281
|
+
console.log(`\n${colors.bold(`Agents (${agents.length})`)}\n`);
|
|
282
|
+
// Calculate max name length for alignment
|
|
283
|
+
const maxNameLen = Math.max(...agents.map((a) => a.name.length));
|
|
183
284
|
for (const agent of agents) {
|
|
184
|
-
const
|
|
185
|
-
const
|
|
285
|
+
const agentDir = join(AGENTS_DIR, agent.name);
|
|
286
|
+
const memoryPath = join(agentDir, 'memory.md');
|
|
287
|
+
const contextPath = join(agentDir, 'context.md');
|
|
186
288
|
const hasMemory = existsSync(memoryPath);
|
|
187
289
|
const hasContext = existsSync(contextPath);
|
|
188
|
-
|
|
189
|
-
|
|
290
|
+
// Running detection
|
|
291
|
+
const lockInfo = getAgentLockInfo(agentDir);
|
|
292
|
+
const isRunning = lockInfo !== null;
|
|
293
|
+
// Last active — most recent mtime of any file in the agent dir
|
|
294
|
+
let lastActive = null;
|
|
295
|
+
try {
|
|
296
|
+
const agentFiles = readdirSync(agentDir);
|
|
297
|
+
for (const f of agentFiles) {
|
|
298
|
+
if (f === '.lock')
|
|
299
|
+
continue;
|
|
300
|
+
try {
|
|
301
|
+
const fStat = statSync(join(agentDir, f));
|
|
302
|
+
if (!lastActive || fStat.mtime > lastActive) {
|
|
303
|
+
lastActive = fStat.mtime;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
catch { /* skip */ }
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch { /* skip */ }
|
|
310
|
+
// Build output line
|
|
311
|
+
const statusIcon = isRunning
|
|
312
|
+
? colors.green('●')
|
|
313
|
+
: colors.dim('○');
|
|
314
|
+
const nameStr = isRunning
|
|
315
|
+
? colors.green(colors.bold(agent.name))
|
|
316
|
+
: agent.name;
|
|
317
|
+
const padding = ' '.repeat(maxNameLen - agent.name.length + 2);
|
|
318
|
+
const parts = [];
|
|
319
|
+
if (isRunning) {
|
|
320
|
+
parts.push(colors.green(`running`) + colors.dim(` (pid ${lockInfo.pid})`));
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
parts.push(colors.dim('idle'));
|
|
324
|
+
}
|
|
325
|
+
if (lastActive) {
|
|
326
|
+
parts.push(colors.dim(relativeTime(lastActive)));
|
|
327
|
+
}
|
|
328
|
+
if (hasMemory) {
|
|
329
|
+
parts.push(colors.cyan('🧠 memory'));
|
|
330
|
+
}
|
|
331
|
+
else if (hasContext) {
|
|
332
|
+
parts.push(colors.dim('has context'));
|
|
333
|
+
}
|
|
334
|
+
console.log(` ${statusIcon} ${nameStr}${padding}${parts.join(colors.dim(' · '))}`);
|
|
190
335
|
}
|
|
191
336
|
console.log('');
|
|
192
337
|
}
|
|
@@ -194,7 +339,7 @@ function listAgents() {
|
|
|
194
339
|
// Formatting Helpers
|
|
195
340
|
// ============================================================================
|
|
196
341
|
/** Compact summary of tool args — show key names and short values */
|
|
197
|
-
function summarizeArgs(input) {
|
|
342
|
+
function summarizeArgs(input, colors) {
|
|
198
343
|
if (!input || typeof input !== 'object')
|
|
199
344
|
return '';
|
|
200
345
|
const obj = input;
|
|
@@ -204,7 +349,7 @@ function summarizeArgs(input) {
|
|
|
204
349
|
continue;
|
|
205
350
|
const str = typeof val === 'string' ? val : JSON.stringify(val);
|
|
206
351
|
const display = str.length > 60 ? str.slice(0, 57) + '...' : str;
|
|
207
|
-
parts.push(`${key}
|
|
352
|
+
parts.push(`${colors.dim(key + '=')}${colors.yellow(display)}`);
|
|
208
353
|
}
|
|
209
354
|
return parts.join(' ');
|
|
210
355
|
}
|
|
@@ -244,6 +389,7 @@ async function consumeStream(stream, opts) {
|
|
|
244
389
|
const { output, status, level, colors } = opts;
|
|
245
390
|
const quiet = level === 'quiet';
|
|
246
391
|
const verbose = level === 'verbose';
|
|
392
|
+
const spinner = createSpinner(status, colors, !quiet && (opts.isTTY ?? false));
|
|
247
393
|
const stats = {
|
|
248
394
|
steps: 0,
|
|
249
395
|
toolCalls: 0,
|
|
@@ -267,7 +413,7 @@ async function consumeStream(stream, opts) {
|
|
|
267
413
|
stats.steps++;
|
|
268
414
|
currentStepStart = Date.now();
|
|
269
415
|
if (!quiet) {
|
|
270
|
-
status.write(`\n${colors.dim(
|
|
416
|
+
status.write(`\n${colors.dim('──')} ${colors.blue(colors.bold(`step ${stats.steps}`))} ${colors.dim('──────────────────────────────────────')}\n`);
|
|
271
417
|
}
|
|
272
418
|
break;
|
|
273
419
|
}
|
|
@@ -294,13 +440,13 @@ async function consumeStream(stream, opts) {
|
|
|
294
440
|
stats.outputTokens += tokensOut;
|
|
295
441
|
const parts = [
|
|
296
442
|
colors.dim(` ${formatDuration(elapsed)}`),
|
|
297
|
-
colors.
|
|
443
|
+
`${colors.cyan(String(tokensIn))}${colors.dim('→')}${colors.cyan(String(tokensOut))} ${colors.dim('tok')}`,
|
|
298
444
|
];
|
|
299
445
|
if (reason === 'tool-calls') {
|
|
300
446
|
parts.push(colors.dim('→ tool loop'));
|
|
301
447
|
}
|
|
302
448
|
else if (reason === 'stop') {
|
|
303
|
-
parts.push(colors.green('done'));
|
|
449
|
+
parts.push(colors.green(colors.bold('done')));
|
|
304
450
|
}
|
|
305
451
|
else {
|
|
306
452
|
parts.push(colors.yellow(reason));
|
|
@@ -312,7 +458,7 @@ async function consumeStream(stream, opts) {
|
|
|
312
458
|
case 'reasoning-start': {
|
|
313
459
|
if (!quiet) {
|
|
314
460
|
inReasoning = true;
|
|
315
|
-
status.write(colors.
|
|
461
|
+
status.write(colors.magenta('\n 💭 '));
|
|
316
462
|
}
|
|
317
463
|
break;
|
|
318
464
|
}
|
|
@@ -320,7 +466,7 @@ async function consumeStream(stream, opts) {
|
|
|
320
466
|
if (!quiet && inReasoning) {
|
|
321
467
|
const text = chunk.text ?? '';
|
|
322
468
|
const compacted = text.replace(/\n/g, ' ');
|
|
323
|
-
status.write(colors.dim(compacted));
|
|
469
|
+
status.write(colors.magenta(colors.dim(compacted)));
|
|
324
470
|
}
|
|
325
471
|
break;
|
|
326
472
|
}
|
|
@@ -337,24 +483,26 @@ async function consumeStream(stream, opts) {
|
|
|
337
483
|
const toolName = chunk.toolName;
|
|
338
484
|
if (verbose) {
|
|
339
485
|
const argsStr = chunk.input ? JSON.stringify(chunk.input, null, 2) : '';
|
|
340
|
-
status.write(`\n ${colors.cyan('
|
|
486
|
+
status.write(`\n ${colors.cyan('▶')} ${colors.cyan(colors.bold(toolName))}\n`);
|
|
341
487
|
if (argsStr) {
|
|
342
488
|
const indented = argsStr.split('\n').map((l) => ` ${l}`).join('\n');
|
|
343
489
|
status.write(`${colors.dim(indented)}\n`);
|
|
344
490
|
}
|
|
345
491
|
}
|
|
346
492
|
else {
|
|
347
|
-
const argsSummary = summarizeArgs(chunk.input);
|
|
493
|
+
const argsSummary = summarizeArgs(chunk.input, colors);
|
|
348
494
|
const display = argsSummary
|
|
349
|
-
? ` ${colors.cyan('
|
|
350
|
-
: ` ${colors.cyan('
|
|
495
|
+
? ` ${colors.cyan('▶')} ${colors.cyan(colors.bold(toolName))} ${argsSummary}`
|
|
496
|
+
: ` ${colors.cyan('▶')} ${colors.cyan(colors.bold(toolName))}`;
|
|
351
497
|
status.write(`${display}\n`);
|
|
352
498
|
}
|
|
499
|
+
spinner.start(`running ${toolName}...`);
|
|
353
500
|
}
|
|
354
501
|
afterToolResult = false;
|
|
355
502
|
break;
|
|
356
503
|
}
|
|
357
504
|
case 'tool-result': {
|
|
505
|
+
spinner.stop();
|
|
358
506
|
const toolOutputRaw = typeof chunk.output === 'string' ? chunk.output : JSON.stringify(chunk.output);
|
|
359
507
|
try {
|
|
360
508
|
const parsed = JSON.parse(toolOutputRaw);
|
|
@@ -372,7 +520,7 @@ async function consumeStream(stream, opts) {
|
|
|
372
520
|
displayOutput = displayOutput.slice(0, maxLen) + `\n... (${displayOutput.length} chars total)`;
|
|
373
521
|
}
|
|
374
522
|
const indented = displayOutput.split('\n').map((l) => ` ${l}`).join('\n');
|
|
375
|
-
status.write(` ${colors.green('
|
|
523
|
+
status.write(` ${colors.green('✔')} ${colors.green(colors.dim(toolName))} ${colors.dim('returned')}\n`);
|
|
376
524
|
status.write(`${colors.dim(indented)}\n`);
|
|
377
525
|
}
|
|
378
526
|
else {
|
|
@@ -381,19 +529,20 @@ async function consumeStream(stream, opts) {
|
|
|
381
529
|
const truncated = firstLine.length > 100
|
|
382
530
|
? firstLine.slice(0, 97) + '...'
|
|
383
531
|
: firstLine;
|
|
384
|
-
status.write(` ${colors.green('
|
|
532
|
+
status.write(` ${colors.green('✔')} ${colors.green(colors.dim(toolName + ': '))}${colors.dim(truncated)}\n`);
|
|
385
533
|
}
|
|
386
534
|
}
|
|
387
535
|
afterToolResult = true;
|
|
388
536
|
break;
|
|
389
537
|
}
|
|
390
538
|
case 'tool-error': {
|
|
539
|
+
spinner.stop();
|
|
391
540
|
if (!quiet) {
|
|
392
541
|
const toolName = chunk.toolName;
|
|
393
542
|
const error = chunk.error instanceof Error
|
|
394
543
|
? chunk.error.message
|
|
395
544
|
: String(chunk.error ?? 'unknown error');
|
|
396
|
-
status.write(` ${colors.red('
|
|
545
|
+
status.write(` ${colors.red('✖')} ${colors.red(colors.bold(toolName))} ${colors.red(error)}\n`);
|
|
397
546
|
}
|
|
398
547
|
afterToolResult = true;
|
|
399
548
|
break;
|
|
@@ -478,6 +627,7 @@ async function consumeStream(stream, opts) {
|
|
|
478
627
|
break;
|
|
479
628
|
}
|
|
480
629
|
case 'finish': {
|
|
630
|
+
spinner.stop();
|
|
481
631
|
if (!quiet) {
|
|
482
632
|
const elapsed = Date.now() - stats.startTime;
|
|
483
633
|
const totalUsage = chunk.totalUsage;
|
|
@@ -485,15 +635,20 @@ async function consumeStream(stream, opts) {
|
|
|
485
635
|
stats.inputTokens = totalUsage.inputTokens ?? stats.inputTokens;
|
|
486
636
|
stats.outputTokens = totalUsage.outputTokens ?? stats.outputTokens;
|
|
487
637
|
}
|
|
488
|
-
|
|
638
|
+
const stepLabel = `${stats.steps} step${stats.steps !== 1 ? 's' : ''}`;
|
|
639
|
+
const toolLabel = `${stats.toolCalls} tool call${stats.toolCalls !== 1 ? 's' : ''}`;
|
|
640
|
+
const tokLabel = `${colors.cyan(String(stats.inputTokens))}${colors.dim('→')}${colors.cyan(String(stats.outputTokens))} ${colors.dim('tok')}`;
|
|
641
|
+
const timeLabel = colors.dim(formatDuration(elapsed));
|
|
642
|
+
status.write(`\n${colors.dim('──')} ${colors.green(colors.bold('done'))} ${colors.dim('──')} ${colors.dim(stepLabel)} ${colors.dim('|')} ${colors.dim(toolLabel)} ${colors.dim('|')} ${tokLabel} ${colors.dim('|')} ${timeLabel} ${colors.dim('──')}\n`);
|
|
489
643
|
}
|
|
490
644
|
break;
|
|
491
645
|
}
|
|
492
646
|
case 'error': {
|
|
647
|
+
spinner.stop();
|
|
493
648
|
const error = chunk.error instanceof Error
|
|
494
649
|
? chunk.error.message
|
|
495
650
|
: String(chunk.error ?? 'unknown error');
|
|
496
|
-
status.write(`\n${colors.red('Error:')} ${error}\n`);
|
|
651
|
+
status.write(`\n${colors.red(colors.bold('✖ Error:'))} ${colors.red(error)}\n`);
|
|
497
652
|
break;
|
|
498
653
|
}
|
|
499
654
|
default:
|
|
@@ -549,9 +704,15 @@ async function runOneShot(prompt, args) {
|
|
|
549
704
|
workspaceRoot: args.workspace,
|
|
550
705
|
maxSteps: args.maxSteps,
|
|
551
706
|
});
|
|
707
|
+
// Acquire lockfile
|
|
708
|
+
acquireLock(args.name);
|
|
709
|
+
const cleanup = () => releaseLock(args.name);
|
|
710
|
+
process.on('exit', cleanup);
|
|
711
|
+
process.on('SIGINT', () => { cleanup(); process.exit(130); });
|
|
712
|
+
process.on('SIGTERM', () => { cleanup(); process.exit(143); });
|
|
552
713
|
if (args.outputLevel !== 'quiet') {
|
|
553
714
|
const toolCount = agent.getToolNames().length;
|
|
554
|
-
process.stderr.write(`${colors.
|
|
715
|
+
process.stderr.write(`${colors.bold('agntk')} ${colors.dim('|')} ${colors.cyan(args.name)} ${colors.dim('|')} ${colors.dim(`${toolCount} tools`)} ${colors.dim('|')} ${colors.dim(`workspace: ${args.workspace}`)}\n`);
|
|
555
716
|
}
|
|
556
717
|
const result = await agent.stream({ prompt });
|
|
557
718
|
await consumeStream(result.fullStream, {
|
|
@@ -560,6 +721,7 @@ async function runOneShot(prompt, args) {
|
|
|
560
721
|
level: args.outputLevel,
|
|
561
722
|
colors,
|
|
562
723
|
maxSteps: args.maxSteps,
|
|
724
|
+
isTTY: process.stderr.isTTY ?? false,
|
|
563
725
|
});
|
|
564
726
|
const finalText = await result.text;
|
|
565
727
|
if (finalText && !finalText.endsWith('\n')) {
|
|
@@ -584,16 +746,22 @@ async function runRepl(args) {
|
|
|
584
746
|
workspaceRoot: args.workspace,
|
|
585
747
|
maxSteps: args.maxSteps,
|
|
586
748
|
});
|
|
749
|
+
// Acquire lockfile
|
|
750
|
+
acquireLock(args.name);
|
|
751
|
+
const cleanup = () => releaseLock(args.name);
|
|
752
|
+
process.on('exit', cleanup);
|
|
753
|
+
process.on('SIGINT', () => { cleanup(); process.exit(130); });
|
|
754
|
+
process.on('SIGTERM', () => { cleanup(); process.exit(143); });
|
|
587
755
|
const version = getVersion();
|
|
588
756
|
const output = process.stdout;
|
|
589
757
|
const toolCount = agent.getToolNames().length;
|
|
590
|
-
output.write(`\n${colors.bold('agntk')} ${colors.dim(`(${version})`)}\n`);
|
|
591
|
-
output.write(`${colors.cyan(args.name)} ${colors.dim(
|
|
758
|
+
output.write(`\n${colors.bold('⚡ agntk')} ${colors.dim(`(${version})`)}\n`);
|
|
759
|
+
output.write(`${colors.cyan(colors.bold(args.name))} ${colors.dim('|')} ${colors.dim(`${toolCount} tools`)} ${colors.dim('|')} ${colors.green('memory: on')}\n`);
|
|
592
760
|
output.write(`${colors.dim('Type /help for commands, /exit or Ctrl+C to quit.')}\n\n`);
|
|
593
761
|
const rl = createInterface({
|
|
594
762
|
input: process.stdin,
|
|
595
763
|
output: process.stdout,
|
|
596
|
-
prompt: `${colors.cyan(args.name + '
|
|
764
|
+
prompt: `${colors.cyan(colors.bold(args.name + ' ❯'))} `,
|
|
597
765
|
terminal: true,
|
|
598
766
|
});
|
|
599
767
|
const history = [];
|
|
@@ -652,6 +820,7 @@ async function runRepl(args) {
|
|
|
652
820
|
level: args.outputLevel,
|
|
653
821
|
colors,
|
|
654
822
|
maxSteps: args.maxSteps,
|
|
823
|
+
isTTY: process.stderr.isTTY ?? false,
|
|
655
824
|
});
|
|
656
825
|
const responseText = (await result.text) ?? '';
|
|
657
826
|
if (responseText && !responseText.endsWith('\n')) {
|
|
@@ -697,7 +866,7 @@ async function runRepl(args) {
|
|
|
697
866
|
rl.on('close', () => {
|
|
698
867
|
closed = true;
|
|
699
868
|
const finish = () => {
|
|
700
|
-
output.write(`\n${colors.dim('Goodbye!')}\n`);
|
|
869
|
+
output.write(`\n${colors.dim('👋 Goodbye!')}\n`);
|
|
701
870
|
resolvePromise();
|
|
702
871
|
};
|
|
703
872
|
if (busy) {
|
|
@@ -739,25 +908,37 @@ async function main() {
|
|
|
739
908
|
// Validate: need a name
|
|
740
909
|
if (!args.name) {
|
|
741
910
|
if (!args.prompt && process.stdin.isTTY) {
|
|
742
|
-
console.error('Error: No
|
|
743
|
-
'Usage: agntk
|
|
744
|
-
' agntk
|
|
911
|
+
console.error('Error: No prompt provided.\n' +
|
|
912
|
+
'Usage: agntk "your prompt"\n' +
|
|
913
|
+
' agntk -n <name> "your prompt"\n' +
|
|
914
|
+
' agntk -n <name> -i\n' +
|
|
745
915
|
' agntk list\n' +
|
|
746
916
|
' agntk -h');
|
|
747
917
|
process.exit(1);
|
|
748
918
|
}
|
|
749
|
-
// Default name if
|
|
919
|
+
// Default name if no --name flag was given
|
|
750
920
|
args.name = 'default';
|
|
751
921
|
}
|
|
752
|
-
//
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
922
|
+
// Resolve provider (async cascade: BYOK → Ollama → Free Tier)
|
|
923
|
+
loadDotenvFallback();
|
|
924
|
+
const { resolveProvider, setResolvedProvider } = await import('@agntk/core');
|
|
925
|
+
const resolvedProvider = await resolveProvider();
|
|
926
|
+
setResolvedProvider(resolvedProvider);
|
|
927
|
+
if (args.outputLevel !== 'quiet') {
|
|
928
|
+
const providerLabel = resolvedProvider.isFree
|
|
929
|
+
? `${resolvedProvider.source} — usage limits apply`
|
|
930
|
+
: resolvedProvider.source;
|
|
931
|
+
process.stderr.write(` provider: ${providerLabel}\n`);
|
|
932
|
+
// Show model recommendation for Ollama users
|
|
933
|
+
if (resolvedProvider.ollamaModels) {
|
|
934
|
+
const rec = resolvedProvider.ollamaModels;
|
|
935
|
+
process.stderr.write(` models: ${rec.reason}\n`);
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
// Warn if workspace is the home directory (likely unintentional)
|
|
939
|
+
if (args.workspace === homedir()) {
|
|
940
|
+
process.stderr.write('Warning: Workspace is your home directory.\n' +
|
|
941
|
+
' Run from a project directory, or use --workspace <path>\n\n');
|
|
761
942
|
}
|
|
762
943
|
// Interactive mode
|
|
763
944
|
if (args.interactive) {
|
|
@@ -772,8 +953,9 @@ async function main() {
|
|
|
772
953
|
}
|
|
773
954
|
if (!prompt) {
|
|
774
955
|
console.error('Error: No prompt provided.\n' +
|
|
775
|
-
'Usage: agntk
|
|
776
|
-
' agntk
|
|
956
|
+
'Usage: agntk "your prompt"\n' +
|
|
957
|
+
' agntk -n <name> "your prompt"\n' +
|
|
958
|
+
' agntk -n <name> -i\n' +
|
|
777
959
|
' agntk -h');
|
|
778
960
|
process.exit(1);
|
|
779
961
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -6,8 +6,14 @@ interface ApiKeyResult {
|
|
|
6
6
|
provider: string;
|
|
7
7
|
apiKey: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Load ~/.agntk/.env as a fallback for API key persistence.
|
|
11
|
+
* Uses override: false so explicit env vars (from `export`) always win.
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadDotenvFallback(): void;
|
|
9
14
|
/**
|
|
10
15
|
* Detect API key from environment variables.
|
|
16
|
+
* Loads ~/.agntk/.env as fallback before checking.
|
|
11
17
|
* Returns the first found key with its provider.
|
|
12
18
|
*/
|
|
13
19
|
export declare function detectApiKey(): ApiKeyResult | null;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CA0BzC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,YAAY,GAAG,IAAI,CAUlD;AAMD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,CA0B9F"}
|
package/dist/config.js
CHANGED
|
@@ -4,15 +4,54 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { existsSync, readFileSync } from 'node:fs';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
7
8
|
const API_KEY_ENV_VARS = [
|
|
8
9
|
{ env: 'OPENROUTER_API_KEY', provider: 'openrouter' },
|
|
9
10
|
{ env: 'OPENAI_API_KEY', provider: 'openai' },
|
|
11
|
+
{ env: 'CEREBRAS_API_KEY', provider: 'cerebras' },
|
|
10
12
|
];
|
|
13
|
+
let dotenvFallbackLoaded = false;
|
|
14
|
+
/**
|
|
15
|
+
* Load ~/.agntk/.env as a fallback for API key persistence.
|
|
16
|
+
* Uses override: false so explicit env vars (from `export`) always win.
|
|
17
|
+
*/
|
|
18
|
+
export function loadDotenvFallback() {
|
|
19
|
+
if (dotenvFallbackLoaded)
|
|
20
|
+
return;
|
|
21
|
+
dotenvFallbackLoaded = true;
|
|
22
|
+
const globalEnvPath = join(homedir(), '.agntk', '.env');
|
|
23
|
+
if (!existsSync(globalEnvPath))
|
|
24
|
+
return;
|
|
25
|
+
try {
|
|
26
|
+
// Parse the .env file manually to avoid requiring dotenv at this level.
|
|
27
|
+
// dotenv/config already ran for cwd — this covers ~/.agntk/.env.
|
|
28
|
+
const content = readFileSync(globalEnvPath, 'utf-8');
|
|
29
|
+
for (const line of content.split('\n')) {
|
|
30
|
+
const trimmed = line.trim();
|
|
31
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
32
|
+
continue;
|
|
33
|
+
const eqIdx = trimmed.indexOf('=');
|
|
34
|
+
if (eqIdx === -1)
|
|
35
|
+
continue;
|
|
36
|
+
const key = trimmed.slice(0, eqIdx).trim();
|
|
37
|
+
const value = trimmed.slice(eqIdx + 1).trim();
|
|
38
|
+
// Don't override existing env vars
|
|
39
|
+
if (!process.env[key]) {
|
|
40
|
+
process.env[key] = value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// Silently ignore read errors
|
|
46
|
+
}
|
|
47
|
+
}
|
|
11
48
|
/**
|
|
12
49
|
* Detect API key from environment variables.
|
|
50
|
+
* Loads ~/.agntk/.env as fallback before checking.
|
|
13
51
|
* Returns the first found key with its provider.
|
|
14
52
|
*/
|
|
15
53
|
export function detectApiKey() {
|
|
54
|
+
loadDotenvFallback();
|
|
16
55
|
for (const { env, provider } of API_KEY_ENV_VARS) {
|
|
17
56
|
const key = process.env[env];
|
|
18
57
|
if (key && key.trim().length > 0) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agntk/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI for agntk — portable AI agent you install and point at problems",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"dotenv": "^17.2.3",
|
|
21
|
-
"@agntk/core": "0.
|
|
21
|
+
"@agntk/core": "0.3.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^20.17.19",
|