@phnx-labs/agents-cli 0.1.0 → 1.12.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/README.md +14 -96
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +17 -135
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +3 -30
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +3 -37
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/sessions.d.ts.map +1 -1
- package/dist/commands/sessions.js +0 -100
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +2 -42
- package/dist/commands/view.js.map +1 -1
- package/dist/index.js +8 -37
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/hooks.test.js +2 -2
- package/dist/lib/__tests__/hooks.test.js.map +1 -1
- package/dist/lib/__tests__/models.test.js +1 -56
- package/dist/lib/__tests__/models.test.js.map +1 -1
- package/dist/lib/__tests__/usage.test.js +2 -4
- package/dist/lib/__tests__/usage.test.js.map +1 -1
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +2 -10
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/exec.d.ts +1 -4
- package/dist/lib/exec.d.ts.map +1 -1
- package/dist/lib/exec.js +15 -24
- package/dist/lib/exec.js.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +1 -153
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/models.d.ts +10 -18
- package/dist/lib/models.d.ts.map +1 -1
- package/dist/lib/models.js +12 -380
- package/dist/lib/models.js.map +1 -1
- package/dist/lib/session/types.d.ts +0 -8
- package/dist/lib/session/types.d.ts.map +1 -1
- package/dist/lib/shims.d.ts +2 -31
- package/dist/lib/shims.d.ts.map +1 -1
- package/dist/lib/shims.js +24 -75
- package/dist/lib/shims.js.map +1 -1
- package/dist/lib/state.d.ts +0 -7
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +1 -14
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/usage.d.ts +0 -16
- package/dist/lib/usage.d.ts.map +1 -1
- package/dist/lib/usage.js +10 -27
- package/dist/lib/usage.js.map +1 -1
- package/dist/lib/versions.d.ts +1 -7
- package/dist/lib/versions.d.ts.map +1 -1
- package/dist/lib/versions.js +8 -30
- package/dist/lib/versions.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/cloud.d.ts +0 -3
- package/dist/commands/cloud.d.ts.map +0 -1
- package/dist/commands/cloud.js +0 -322
- package/dist/commands/cloud.js.map +0 -1
- package/dist/commands/profiles.d.ts +0 -3
- package/dist/commands/profiles.d.ts.map +0 -1
- package/dist/commands/profiles.js +0 -242
- package/dist/commands/profiles.js.map +0 -1
- package/dist/commands/secrets.d.ts +0 -3
- package/dist/commands/secrets.d.ts.map +0 -1
- package/dist/commands/secrets.js +0 -339
- package/dist/commands/secrets.js.map +0 -1
- package/dist/lib/__tests__/rotate.test.d.ts +0 -2
- package/dist/lib/__tests__/rotate.test.d.ts.map +0 -1
- package/dist/lib/__tests__/rotate.test.js +0 -80
- package/dist/lib/__tests__/rotate.test.js.map +0 -1
- package/dist/lib/__tests__/secrets-bundles.test.d.ts +0 -2
- package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +0 -1
- package/dist/lib/__tests__/secrets-bundles.test.js +0 -104
- package/dist/lib/__tests__/secrets-bundles.test.js.map +0 -1
- package/dist/lib/__tests__/secrets.test.d.ts +0 -2
- package/dist/lib/__tests__/secrets.test.d.ts.map +0 -1
- package/dist/lib/__tests__/secrets.test.js +0 -90
- package/dist/lib/__tests__/secrets.test.js.map +0 -1
- package/dist/lib/__tests__/shims.test.d.ts +0 -2
- package/dist/lib/__tests__/shims.test.d.ts.map +0 -1
- package/dist/lib/__tests__/shims.test.js +0 -39
- package/dist/lib/__tests__/shims.test.js.map +0 -1
- package/dist/lib/__tests__/versions.test.d.ts +0 -2
- package/dist/lib/__tests__/versions.test.d.ts.map +0 -1
- package/dist/lib/__tests__/versions.test.js +0 -63
- package/dist/lib/__tests__/versions.test.js.map +0 -1
- package/dist/lib/cloud/codex.d.ts +0 -19
- package/dist/lib/cloud/codex.d.ts.map +0 -1
- package/dist/lib/cloud/codex.js +0 -210
- package/dist/lib/cloud/codex.js.map +0 -1
- package/dist/lib/cloud/factory.d.ts +0 -26
- package/dist/lib/cloud/factory.d.ts.map +0 -1
- package/dist/lib/cloud/factory.js +0 -37
- package/dist/lib/cloud/factory.js.map +0 -1
- package/dist/lib/cloud/registry.d.ts +0 -6
- package/dist/lib/cloud/registry.d.ts.map +0 -1
- package/dist/lib/cloud/registry.js +0 -56
- package/dist/lib/cloud/registry.js.map +0 -1
- package/dist/lib/cloud/rush.d.ts +0 -15
- package/dist/lib/cloud/rush.d.ts.map +0 -1
- package/dist/lib/cloud/rush.js +0 -185
- package/dist/lib/cloud/rush.js.map +0 -1
- package/dist/lib/cloud/store.d.ts +0 -10
- package/dist/lib/cloud/store.d.ts.map +0 -1
- package/dist/lib/cloud/store.js +0 -96
- package/dist/lib/cloud/store.js.map +0 -1
- package/dist/lib/cloud/stream.d.ts +0 -18
- package/dist/lib/cloud/stream.d.ts.map +0 -1
- package/dist/lib/cloud/stream.js +0 -138
- package/dist/lib/cloud/stream.js.map +0 -1
- package/dist/lib/cloud/types.d.ts +0 -60
- package/dist/lib/cloud/types.d.ts.map +0 -1
- package/dist/lib/cloud/types.js +0 -2
- package/dist/lib/cloud/types.js.map +0 -1
- package/dist/lib/profiles-keychain.d.ts +0 -3
- package/dist/lib/profiles-keychain.d.ts.map +0 -1
- package/dist/lib/profiles-keychain.js +0 -10
- package/dist/lib/profiles-keychain.js.map +0 -1
- package/dist/lib/profiles-presets.d.ts +0 -15
- package/dist/lib/profiles-presets.d.ts.map +0 -1
- package/dist/lib/profiles-presets.js +0 -95
- package/dist/lib/profiles-presets.js.map +0 -1
- package/dist/lib/profiles.d.ts +0 -35
- package/dist/lib/profiles.d.ts.map +0 -1
- package/dist/lib/profiles.js +0 -123
- package/dist/lib/profiles.js.map +0 -1
- package/dist/lib/rotate.d.ts +0 -52
- package/dist/lib/rotate.d.ts.map +0 -1
- package/dist/lib/rotate.js +0 -87
- package/dist/lib/rotate.js.map +0 -1
- package/dist/lib/secrets-bundles.d.ts +0 -29
- package/dist/lib/secrets-bundles.d.ts.map +0 -1
- package/dist/lib/secrets-bundles.js +0 -168
- package/dist/lib/secrets-bundles.js.map +0 -1
- package/dist/lib/secrets.d.ts +0 -27
- package/dist/lib/secrets.d.ts.map +0 -1
- package/dist/lib/secrets.js +0 -127
- package/dist/lib/secrets.js.map +0 -1
- package/dist/lib/session/artifacts.d.ts +0 -5
- package/dist/lib/session/artifacts.d.ts.map +0 -1
- package/dist/lib/session/artifacts.js +0 -75
- package/dist/lib/session/artifacts.js.map +0 -1
package/dist/commands/cloud.js
DELETED
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import ora from 'ora';
|
|
4
|
-
import { resolveProvider, getAllProviders, getDefaultProviderId } from '../lib/cloud/registry.js';
|
|
5
|
-
import { insertTask, updateTaskStatus, getTaskById, listTasks as listStoredTasks } from '../lib/cloud/store.js';
|
|
6
|
-
import { renderStream } from '../lib/cloud/stream.js';
|
|
7
|
-
function die(msg, code = 1) {
|
|
8
|
-
console.error(chalk.red(msg));
|
|
9
|
-
process.exit(code);
|
|
10
|
-
}
|
|
11
|
-
function relTime(iso) {
|
|
12
|
-
const secs = Math.floor((Date.now() - new Date(iso).getTime()) / 1000);
|
|
13
|
-
if (secs < 10)
|
|
14
|
-
return 'just now';
|
|
15
|
-
if (secs < 60)
|
|
16
|
-
return `${secs}s ago`;
|
|
17
|
-
if (secs < 3600)
|
|
18
|
-
return `${Math.floor(secs / 60)} minutes ago`;
|
|
19
|
-
if (secs < 86400)
|
|
20
|
-
return `${Math.floor(secs / 3600)} hours ago`;
|
|
21
|
-
return `${Math.floor(secs / 86400)} days ago`;
|
|
22
|
-
}
|
|
23
|
-
function truncate(s, n) {
|
|
24
|
-
if (s.length <= n)
|
|
25
|
-
return s;
|
|
26
|
-
return s.slice(0, n - 1) + '...';
|
|
27
|
-
}
|
|
28
|
-
function statusColor(status) {
|
|
29
|
-
switch (status) {
|
|
30
|
-
case 'queued':
|
|
31
|
-
case 'allocating': return chalk.blue;
|
|
32
|
-
case 'running': return chalk.yellow;
|
|
33
|
-
case 'completed': return chalk.green;
|
|
34
|
-
case 'input_required': return chalk.magenta;
|
|
35
|
-
case 'failed': return chalk.red;
|
|
36
|
-
case 'cancelled': return chalk.gray;
|
|
37
|
-
default: return chalk.white;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
function isJsonMode(opts) {
|
|
41
|
-
return Boolean(opts.json) || !process.stdout.isTTY;
|
|
42
|
-
}
|
|
43
|
-
export function registerCloudCommands(program) {
|
|
44
|
-
const cloud = program
|
|
45
|
-
.command('cloud')
|
|
46
|
-
.description('Dispatch and manage cloud agent tasks across providers (Rush Cloud, Codex Cloud, Factory).');
|
|
47
|
-
// ── agents cloud run ──────────────────────────────────────────────────
|
|
48
|
-
cloud
|
|
49
|
-
.command('run [prompt]')
|
|
50
|
-
.description('Dispatch a task to a cloud agent.')
|
|
51
|
-
.option('--provider <id>', 'Cloud backend: rush, codex, factory')
|
|
52
|
-
.option('--agent <name>', 'Agent to run: claude, codex, droid')
|
|
53
|
-
.option('--repo <owner/repo>', 'GitHub repository (required for Rush Cloud)')
|
|
54
|
-
.option('--branch <name>', 'Target git branch')
|
|
55
|
-
.option('-p, --prompt <text>', 'Inline prompt (alternative to positional argument)')
|
|
56
|
-
.option('--timeout <duration>', 'Kill after duration (e.g., 30m, 2h)')
|
|
57
|
-
.option('--model <model>', 'Model override')
|
|
58
|
-
.option('--env <id>', 'Codex Cloud environment ID')
|
|
59
|
-
.option('--computer <name>', 'Factory/Droid computer target')
|
|
60
|
-
.option('--mode <mode>', 'Execution mode (e.g., plan, edit, full)')
|
|
61
|
-
.option('--json', 'Structured JSON output')
|
|
62
|
-
.option('--no-follow', 'Dispatch and exit without streaming output')
|
|
63
|
-
.addHelpText('after', `
|
|
64
|
-
Examples:
|
|
65
|
-
# Rush Cloud
|
|
66
|
-
agents cloud run "fix the flaky test" --provider rush --repo user/repo
|
|
67
|
-
agents cloud run task.md --provider rush --repo org/project --agent codex
|
|
68
|
-
|
|
69
|
-
# Codex Cloud
|
|
70
|
-
agents cloud run "add auth tests" --provider codex --env env_abc123
|
|
71
|
-
|
|
72
|
-
# Default provider (set in ~/.agents/agents.yaml)
|
|
73
|
-
agents cloud run "refactor auth module" --repo user/repo
|
|
74
|
-
`)
|
|
75
|
-
.action(async (positionalPrompt, options) => {
|
|
76
|
-
const json = isJsonMode(options);
|
|
77
|
-
// Resolve prompt: --prompt flag, positional arg, or file
|
|
78
|
-
let prompt = options.prompt || positionalPrompt;
|
|
79
|
-
if (!prompt)
|
|
80
|
-
die('Prompt is required. Pass it as an argument or with --prompt.');
|
|
81
|
-
// If prompt is a file path, read it
|
|
82
|
-
if (fs.existsSync(prompt) && fs.statSync(prompt).isFile()) {
|
|
83
|
-
prompt = fs.readFileSync(prompt, 'utf-8').trim();
|
|
84
|
-
}
|
|
85
|
-
const provider = resolveProvider(options.provider);
|
|
86
|
-
const dispatchOptions = {
|
|
87
|
-
prompt,
|
|
88
|
-
agent: options.agent,
|
|
89
|
-
repo: options.repo,
|
|
90
|
-
branch: options.branch,
|
|
91
|
-
timeout: options.timeout,
|
|
92
|
-
model: options.model,
|
|
93
|
-
providerOptions: {},
|
|
94
|
-
};
|
|
95
|
-
if (options.env)
|
|
96
|
-
dispatchOptions.providerOptions.env = options.env;
|
|
97
|
-
if (options.computer)
|
|
98
|
-
dispatchOptions.providerOptions.computer = options.computer;
|
|
99
|
-
if (options.mode)
|
|
100
|
-
dispatchOptions.providerOptions.mode = options.mode;
|
|
101
|
-
// Dispatch
|
|
102
|
-
const spinner = ora({ text: `Dispatching to ${provider.name}...`, stream: process.stderr }).start();
|
|
103
|
-
let task;
|
|
104
|
-
try {
|
|
105
|
-
task = await provider.dispatch(dispatchOptions);
|
|
106
|
-
spinner.succeed(`Task ${task.id} dispatched to ${provider.name}`);
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
spinner.fail('Dispatch failed');
|
|
110
|
-
die(err.message);
|
|
111
|
-
}
|
|
112
|
-
// Persist locally
|
|
113
|
-
insertTask(task);
|
|
114
|
-
if (json) {
|
|
115
|
-
process.stdout.write(JSON.stringify(task) + '\n');
|
|
116
|
-
}
|
|
117
|
-
// Stream output unless --no-follow
|
|
118
|
-
if (options.follow === false)
|
|
119
|
-
return;
|
|
120
|
-
try {
|
|
121
|
-
const result = await renderStream(provider.stream(task.id), { json });
|
|
122
|
-
updateTaskStatus(task.id, result.status, {
|
|
123
|
-
summary: result.summary,
|
|
124
|
-
prUrl: result.prUrl,
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
catch (err) {
|
|
128
|
-
// Stream disconnect is OK — task keeps running
|
|
129
|
-
process.stderr.write(chalk.dim(`\nStream disconnected. Task ${task.id} continues running.\n`));
|
|
130
|
-
process.stderr.write(chalk.dim(`Check status: agents cloud status ${task.id}\n`));
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
// ── agents cloud list ─────────────────────────────────────────────────
|
|
134
|
-
cloud
|
|
135
|
-
.command('list')
|
|
136
|
-
.description('List cloud tasks.')
|
|
137
|
-
.option('--provider <id>', 'Filter by provider')
|
|
138
|
-
.option('--status <status>', 'Filter by status')
|
|
139
|
-
.option('--limit <n>', 'Max results', '20')
|
|
140
|
-
.option('--refresh', 'Fetch latest status from provider before displaying')
|
|
141
|
-
.option('--json', 'JSON output')
|
|
142
|
-
.action(async (options) => {
|
|
143
|
-
const json = isJsonMode(options);
|
|
144
|
-
const providerId = options.provider;
|
|
145
|
-
const status = options.status;
|
|
146
|
-
const limit = parseInt(options.limit, 10) || 20;
|
|
147
|
-
// If --refresh and a specific provider, fetch from remote
|
|
148
|
-
if (options.refresh && providerId) {
|
|
149
|
-
const provider = resolveProvider(providerId);
|
|
150
|
-
try {
|
|
151
|
-
const remoteTasks = await provider.list({ status });
|
|
152
|
-
for (const t of remoteTasks)
|
|
153
|
-
insertTask(t);
|
|
154
|
-
}
|
|
155
|
-
catch (err) {
|
|
156
|
-
process.stderr.write(chalk.yellow(`Could not refresh from ${provider.name}: ${err.message}\n`));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
const tasks = listStoredTasks({ provider: providerId, status, limit });
|
|
160
|
-
if (json) {
|
|
161
|
-
process.stdout.write(JSON.stringify(tasks, null, 2) + '\n');
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
if (tasks.length === 0) {
|
|
165
|
-
console.log(chalk.dim('No cloud tasks found.'));
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
// Table header
|
|
169
|
-
const header = [
|
|
170
|
-
chalk.dim('ID'.padEnd(14)),
|
|
171
|
-
chalk.dim('Provider'.padEnd(10)),
|
|
172
|
-
chalk.dim('Status'.padEnd(16)),
|
|
173
|
-
chalk.dim('Agent'.padEnd(8)),
|
|
174
|
-
chalk.dim('Prompt'.padEnd(40)),
|
|
175
|
-
chalk.dim('When'),
|
|
176
|
-
].join(' ');
|
|
177
|
-
console.log(header);
|
|
178
|
-
console.log(chalk.dim('-'.repeat(100)));
|
|
179
|
-
for (const t of tasks) {
|
|
180
|
-
const row = [
|
|
181
|
-
t.id.slice(0, 12).padEnd(14),
|
|
182
|
-
t.provider.padEnd(10),
|
|
183
|
-
statusColor(t.status)(t.status.padEnd(16)),
|
|
184
|
-
(t.agent ?? '-').padEnd(8),
|
|
185
|
-
truncate(t.prompt.replace(/\n/g, ' '), 40).padEnd(40),
|
|
186
|
-
chalk.dim(relTime(t.createdAt)),
|
|
187
|
-
].join(' ');
|
|
188
|
-
console.log(row);
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
// ── agents cloud status ───────────────────────────────────────────────
|
|
192
|
-
cloud
|
|
193
|
-
.command('status <id>')
|
|
194
|
-
.description('Show task detail and latest status.')
|
|
195
|
-
.option('--json', 'JSON output')
|
|
196
|
-
.action(async (id, options) => {
|
|
197
|
-
const json = isJsonMode(options);
|
|
198
|
-
// Try local first, then remote
|
|
199
|
-
let task = getTaskById(id);
|
|
200
|
-
const providerId = task?.provider;
|
|
201
|
-
if (providerId) {
|
|
202
|
-
try {
|
|
203
|
-
const provider = resolveProvider(providerId);
|
|
204
|
-
task = await provider.status(id);
|
|
205
|
-
insertTask(task);
|
|
206
|
-
}
|
|
207
|
-
catch {
|
|
208
|
-
// Fall back to local cache
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
if (!task)
|
|
212
|
-
die(`Task ${id} not found.`);
|
|
213
|
-
if (json) {
|
|
214
|
-
process.stdout.write(JSON.stringify(task, null, 2) + '\n');
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
console.log(`${chalk.bold('Task')} ${task.id}`);
|
|
218
|
-
console.log(` ${chalk.dim('Provider:')} ${task.provider}`);
|
|
219
|
-
console.log(` ${chalk.dim('Status:')} ${statusColor(task.status)(task.status)}`);
|
|
220
|
-
if (task.agent)
|
|
221
|
-
console.log(` ${chalk.dim('Agent:')} ${task.agent}`);
|
|
222
|
-
if (task.repo)
|
|
223
|
-
console.log(` ${chalk.dim('Repo:')} ${task.repo}`);
|
|
224
|
-
if (task.branch)
|
|
225
|
-
console.log(` ${chalk.dim('Branch:')} ${task.branch}`);
|
|
226
|
-
if (task.prUrl)
|
|
227
|
-
console.log(` ${chalk.dim('PR:')} ${task.prUrl}`);
|
|
228
|
-
console.log(` ${chalk.dim('Prompt:')} ${truncate(task.prompt.replace(/\n/g, ' '), 80)}`);
|
|
229
|
-
console.log(` ${chalk.dim('Created:')} ${relTime(task.createdAt)}`);
|
|
230
|
-
if (task.summary) {
|
|
231
|
-
console.log(` ${chalk.dim('Summary:')} ${truncate(task.summary.replace(/\n/g, ' '), 120)}`);
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
// ── agents cloud logs ─────────────────────────────────────────────────
|
|
235
|
-
cloud
|
|
236
|
-
.command('logs <id>')
|
|
237
|
-
.description('Stream live output from a cloud task.')
|
|
238
|
-
.option('-f, --follow', 'Follow output (default for running tasks)', true)
|
|
239
|
-
.option('--json', 'JSON event stream')
|
|
240
|
-
.action(async (id, options) => {
|
|
241
|
-
const json = isJsonMode(options);
|
|
242
|
-
const task = getTaskById(id);
|
|
243
|
-
if (!task)
|
|
244
|
-
die(`Task ${id} not found locally. Run 'agents cloud list --refresh' first.`);
|
|
245
|
-
const provider = resolveProvider(task.provider);
|
|
246
|
-
try {
|
|
247
|
-
const result = await renderStream(provider.stream(id), { json });
|
|
248
|
-
updateTaskStatus(id, result.status, {
|
|
249
|
-
summary: result.summary,
|
|
250
|
-
prUrl: result.prUrl,
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
catch (err) {
|
|
254
|
-
process.stderr.write(chalk.dim(`\nStream ended. ${err.message}\n`));
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
// ── agents cloud cancel ───────────────────────────────────────────────
|
|
258
|
-
cloud
|
|
259
|
-
.command('cancel <id>')
|
|
260
|
-
.description('Cancel a running cloud task.')
|
|
261
|
-
.action(async (id) => {
|
|
262
|
-
const task = getTaskById(id);
|
|
263
|
-
if (!task)
|
|
264
|
-
die(`Task ${id} not found.`);
|
|
265
|
-
const provider = resolveProvider(task.provider);
|
|
266
|
-
try {
|
|
267
|
-
await provider.cancel(id);
|
|
268
|
-
updateTaskStatus(id, 'cancelled');
|
|
269
|
-
console.log(chalk.green(`Task ${id} cancelled.`));
|
|
270
|
-
}
|
|
271
|
-
catch (err) {
|
|
272
|
-
die(err.message);
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
// ── agents cloud message ──────────────────────────────────────────────
|
|
276
|
-
cloud
|
|
277
|
-
.command('message <id> <text>')
|
|
278
|
-
.description('Send a follow-up message to a finished or needs-review task.')
|
|
279
|
-
.action(async (id, text) => {
|
|
280
|
-
const task = getTaskById(id);
|
|
281
|
-
if (!task)
|
|
282
|
-
die(`Task ${id} not found.`);
|
|
283
|
-
const provider = resolveProvider(task.provider);
|
|
284
|
-
try {
|
|
285
|
-
await provider.message(id, text);
|
|
286
|
-
updateTaskStatus(id, 'running');
|
|
287
|
-
console.log(chalk.green(`Message sent to task ${id}. Agent is continuing.`));
|
|
288
|
-
}
|
|
289
|
-
catch (err) {
|
|
290
|
-
die(err.message);
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
// ── agents cloud providers ────────────────────────────────────────────
|
|
294
|
-
cloud
|
|
295
|
-
.command('providers')
|
|
296
|
-
.description('List available cloud providers and their status.')
|
|
297
|
-
.option('--json', 'JSON output')
|
|
298
|
-
.action((options) => {
|
|
299
|
-
const json = isJsonMode(options);
|
|
300
|
-
const providers = getAllProviders();
|
|
301
|
-
const defaultId = getDefaultProviderId();
|
|
302
|
-
if (json) {
|
|
303
|
-
const data = providers.map((p) => ({
|
|
304
|
-
id: p.id,
|
|
305
|
-
name: p.name,
|
|
306
|
-
available: p.supports({}),
|
|
307
|
-
default: p.id === defaultId,
|
|
308
|
-
}));
|
|
309
|
-
process.stdout.write(JSON.stringify(data, null, 2) + '\n');
|
|
310
|
-
return;
|
|
311
|
-
}
|
|
312
|
-
console.log(chalk.bold('Cloud Providers\n'));
|
|
313
|
-
for (const p of providers) {
|
|
314
|
-
const available = p.supports({});
|
|
315
|
-
const isDefault = p.id === defaultId;
|
|
316
|
-
const status = available ? chalk.green('ready') : chalk.dim('not configured');
|
|
317
|
-
const defaultTag = isDefault ? chalk.cyan(' (default)') : '';
|
|
318
|
-
console.log(` ${p.id.padEnd(12)} ${p.name.padEnd(20)} ${status}${defaultTag}`);
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
//# sourceMappingURL=cloud.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/commands/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuEzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8L/D"}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import { listProfiles, readProfile, writeProfile, deleteProfile, profileExists, profileFromPreset, getPresetForProfile, } from '../lib/profiles.js';
|
|
4
|
-
import { getPreset, listPresets } from '../lib/profiles-presets.js';
|
|
5
|
-
import { hasKeychainToken, keychainItemName, setKeychainToken, deleteKeychainToken, } from '../lib/profiles-keychain.js';
|
|
6
|
-
import { isInteractiveTerminal } from './utils.js';
|
|
7
|
-
async function promptForSecret(message) {
|
|
8
|
-
if (!isInteractiveTerminal()) {
|
|
9
|
-
throw new Error('A secret is required but the shell is not interactive. Pipe the key via stdin (--key-stdin).');
|
|
10
|
-
}
|
|
11
|
-
const { password } = await import('@inquirer/prompts');
|
|
12
|
-
return await password({ message, mask: true });
|
|
13
|
-
}
|
|
14
|
-
function readStdinSync() {
|
|
15
|
-
const chunks = [];
|
|
16
|
-
const buf = Buffer.alloc(65536);
|
|
17
|
-
while (true) {
|
|
18
|
-
let bytesRead;
|
|
19
|
-
try {
|
|
20
|
-
bytesRead = fs.readSync(0, buf, 0, buf.length, null);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
if (bytesRead === 0)
|
|
26
|
-
break;
|
|
27
|
-
chunks.push(Buffer.from(buf.subarray(0, bytesRead)));
|
|
28
|
-
}
|
|
29
|
-
return Buffer.concat(chunks).toString('utf-8').trim();
|
|
30
|
-
}
|
|
31
|
-
async function ensureProviderToken(provider, signupUrl, fromStdin) {
|
|
32
|
-
const item = keychainItemName(provider);
|
|
33
|
-
if (hasKeychainToken(item)) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
let token;
|
|
37
|
-
if (fromStdin) {
|
|
38
|
-
token = readStdinSync();
|
|
39
|
-
if (!token) {
|
|
40
|
-
throw new Error('No key received on stdin.');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
const hint = signupUrl ? ` (get one at ${signupUrl})` : '';
|
|
45
|
-
token = await promptForSecret(`Enter API key for ${provider}${hint}`);
|
|
46
|
-
}
|
|
47
|
-
setKeychainToken(item, token);
|
|
48
|
-
console.log(chalk.green(`Stored in keychain: ${item}`));
|
|
49
|
-
}
|
|
50
|
-
function renderProfileRow(p) {
|
|
51
|
-
const host = p.host.version ? `${p.host.agent}@${p.host.version}` : p.host.agent;
|
|
52
|
-
const model = p.env.ANTHROPIC_MODEL || p.env.OPENAI_MODEL || p.env.GEMINI_MODEL || '-';
|
|
53
|
-
const provider = p.provider || (p.auth?.keychainItem?.split('.')[1]) || '-';
|
|
54
|
-
return `${chalk.cyan(p.name.padEnd(16))} ${host.padEnd(14)} ${provider.padEnd(12)} ${chalk.gray(model)}`;
|
|
55
|
-
}
|
|
56
|
-
export function registerProfilesCommands(program) {
|
|
57
|
-
const cmd = program
|
|
58
|
-
.command('profiles')
|
|
59
|
-
.description('Named bundles of (host CLI, endpoint, model, auth) — run Kimi/DeepSeek/Qwen/etc through Claude Code without a proxy.')
|
|
60
|
-
.addHelpText('after', `
|
|
61
|
-
A profile pins a host CLI (claude, codex, gemini, ...) to a non-default endpoint
|
|
62
|
-
and model, with a keychain-backed API key. Running 'agents run <profile>' spawns
|
|
63
|
-
the host CLI with the right env vars — no plaintext tokens, no local proxy.
|
|
64
|
-
|
|
65
|
-
Built-in presets (via OpenRouter, one shared key):
|
|
66
|
-
kimi Kimi K2.5 (top HumanEval, reasoning — interactive only)
|
|
67
|
-
kimi-chat Kimi K2 0905 (non-reasoning, print-safe)
|
|
68
|
-
minimax MiniMax M2.5 (top SWE-bench, reasoning)
|
|
69
|
-
glm GLM 5 (top Chatbot Arena among open-weight, reasoning)
|
|
70
|
-
qwen Qwen3 Coder Next (latest coding Qwen, print-safe)
|
|
71
|
-
deepseek DeepSeek Chat V3 (latest non-reasoning chat, print-safe)
|
|
72
|
-
|
|
73
|
-
Run 'agents profiles presets' for the full list with pricing and context sizes.
|
|
74
|
-
|
|
75
|
-
Typical flow:
|
|
76
|
-
agents profiles add kimi # prompts for OpenRouter key, stored in Keychain
|
|
77
|
-
agents run kimi "refactor this" # Claude Code UI, Kimi model responses
|
|
78
|
-
agents profiles add deepseek # reuses OpenRouter key, no re-prompt
|
|
79
|
-
|
|
80
|
-
Managing keys:
|
|
81
|
-
agents profiles login openrouter # rotate the key (shared across openrouter profiles)
|
|
82
|
-
agents profiles logout openrouter # remove from Keychain
|
|
83
|
-
|
|
84
|
-
Custom endpoints — drop a YAML file at ~/.agents/profiles/<name>.yml:
|
|
85
|
-
name: local-llama
|
|
86
|
-
host: { agent: claude }
|
|
87
|
-
env:
|
|
88
|
-
ANTHROPIC_BASE_URL: http://localhost:11434
|
|
89
|
-
ANTHROPIC_MODEL: llama-3.3-70b
|
|
90
|
-
auth:
|
|
91
|
-
envVar: ANTHROPIC_AUTH_TOKEN
|
|
92
|
-
keychainItem: agents-cli.ollama.token
|
|
93
|
-
|
|
94
|
-
Profiles store no secrets — safe to 'agents push' to a shared repo.
|
|
95
|
-
`);
|
|
96
|
-
cmd
|
|
97
|
-
.command('list')
|
|
98
|
-
.alias('ls')
|
|
99
|
-
.description('List configured profiles')
|
|
100
|
-
.action(() => {
|
|
101
|
-
const profiles = listProfiles();
|
|
102
|
-
if (profiles.length === 0) {
|
|
103
|
-
console.log(chalk.gray('No profiles configured.'));
|
|
104
|
-
console.log(chalk.gray('Try: agents profiles add kimi'));
|
|
105
|
-
console.log(chalk.gray(' agents profiles presets'));
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
console.log(chalk.bold(`${'NAME'.padEnd(16)} ${'HOST'.padEnd(14)} ${'PROVIDER'.padEnd(12)} MODEL`));
|
|
109
|
-
for (const p of profiles) {
|
|
110
|
-
console.log(renderProfileRow(p));
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
cmd
|
|
114
|
-
.command('presets')
|
|
115
|
-
.description('List built-in presets (OpenRouter + direct providers)')
|
|
116
|
-
.action(() => {
|
|
117
|
-
const presets = listPresets();
|
|
118
|
-
console.log(chalk.bold(`${'NAME'.padEnd(14)} ${'PROVIDER'.padEnd(12)} DESCRIPTION`));
|
|
119
|
-
for (const p of presets) {
|
|
120
|
-
console.log(`${chalk.cyan(p.name.padEnd(14))} ${p.provider.padEnd(12)} ${chalk.gray(p.description)}`);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
cmd
|
|
124
|
-
.command('view <name>')
|
|
125
|
-
.alias('show')
|
|
126
|
-
.description('Show a profile (env, host, auth source, preset link)')
|
|
127
|
-
.action((name) => {
|
|
128
|
-
try {
|
|
129
|
-
const p = readProfile(name);
|
|
130
|
-
console.log(chalk.bold(p.name));
|
|
131
|
-
if (p.description)
|
|
132
|
-
console.log(chalk.gray(p.description));
|
|
133
|
-
console.log();
|
|
134
|
-
console.log(chalk.bold('Host:'), p.host.agent + (p.host.version ? `@${p.host.version}` : ''));
|
|
135
|
-
if (p.provider)
|
|
136
|
-
console.log(chalk.bold('Provider:'), p.provider);
|
|
137
|
-
if (p.preset)
|
|
138
|
-
console.log(chalk.bold('Preset:'), p.preset);
|
|
139
|
-
console.log();
|
|
140
|
-
console.log(chalk.bold('Env:'));
|
|
141
|
-
for (const [k, v] of Object.entries(p.env)) {
|
|
142
|
-
console.log(` ${k}=${v}`);
|
|
143
|
-
}
|
|
144
|
-
if (p.auth) {
|
|
145
|
-
console.log();
|
|
146
|
-
console.log(chalk.bold('Auth:'));
|
|
147
|
-
const tokenStatus = hasKeychainToken(p.auth.keychainItem) ? chalk.green('stored') : chalk.red('missing');
|
|
148
|
-
console.log(` ${p.auth.envVar} <- keychain:${p.auth.keychainItem} (${tokenStatus})`);
|
|
149
|
-
}
|
|
150
|
-
const preset = getPresetForProfile(p);
|
|
151
|
-
if (preset?.signupUrl) {
|
|
152
|
-
console.log();
|
|
153
|
-
console.log(chalk.gray(`Sign up: ${preset.signupUrl}`));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
catch (err) {
|
|
157
|
-
console.error(chalk.red(err.message));
|
|
158
|
-
process.exit(1);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
cmd
|
|
162
|
-
.command('add <name>')
|
|
163
|
-
.description('Add a profile. If <name> matches a built-in preset, the preset is applied. Prompts for API key (once per provider).')
|
|
164
|
-
.option('--preset <preset>', 'Use a named preset (defaults to <name> if a preset by that name exists)')
|
|
165
|
-
.option('--version <version>', 'Pin the host CLI version (e.g., 2.1.113)')
|
|
166
|
-
.option('--key-stdin', 'Read API key from stdin instead of prompting (for scripts/CI)')
|
|
167
|
-
.option('--force', 'Overwrite an existing profile with the same name')
|
|
168
|
-
.action(async (name, opts) => {
|
|
169
|
-
try {
|
|
170
|
-
if (profileExists(name) && !opts.force) {
|
|
171
|
-
console.error(chalk.red(`Profile '${name}' already exists. Use --force to overwrite.`));
|
|
172
|
-
process.exit(1);
|
|
173
|
-
}
|
|
174
|
-
const presetName = opts.preset || name;
|
|
175
|
-
const preset = getPreset(presetName);
|
|
176
|
-
if (!preset) {
|
|
177
|
-
console.error(chalk.red(`No preset '${presetName}'.`));
|
|
178
|
-
console.error(chalk.gray('Available presets: ' + listPresets().map((p) => p.name).join(', ')));
|
|
179
|
-
console.error(chalk.gray('Or pass --preset <name> to pick explicitly.'));
|
|
180
|
-
process.exit(1);
|
|
181
|
-
}
|
|
182
|
-
await ensureProviderToken(preset.provider, preset.signupUrl, opts.keyStdin);
|
|
183
|
-
const profile = profileFromPreset(name, preset, opts.version);
|
|
184
|
-
writeProfile(profile);
|
|
185
|
-
console.log(chalk.green(`Profile '${name}' added.`));
|
|
186
|
-
console.log(chalk.gray(`Try: agents run ${name} "hello"`));
|
|
187
|
-
}
|
|
188
|
-
catch (err) {
|
|
189
|
-
console.error(chalk.red(err.message));
|
|
190
|
-
process.exit(1);
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
cmd
|
|
194
|
-
.command('remove <name>')
|
|
195
|
-
.alias('rm')
|
|
196
|
-
.description('Delete a profile (keychain token is kept — use `profiles logout <provider>` to remove)')
|
|
197
|
-
.action((name) => {
|
|
198
|
-
const existed = deleteProfile(name);
|
|
199
|
-
if (!existed) {
|
|
200
|
-
console.error(chalk.red(`Profile '${name}' not found.`));
|
|
201
|
-
process.exit(1);
|
|
202
|
-
}
|
|
203
|
-
console.log(chalk.green(`Profile '${name}' removed.`));
|
|
204
|
-
});
|
|
205
|
-
cmd
|
|
206
|
-
.command('login <provider>')
|
|
207
|
-
.description('Store or rotate the API key for a provider (e.g., openrouter). Shared across profiles using that provider.')
|
|
208
|
-
.option('--key-stdin', 'Read API key from stdin')
|
|
209
|
-
.action(async (provider, opts) => {
|
|
210
|
-
try {
|
|
211
|
-
const item = keychainItemName(provider);
|
|
212
|
-
let token;
|
|
213
|
-
if (opts.keyStdin) {
|
|
214
|
-
token = readStdinSync();
|
|
215
|
-
if (!token)
|
|
216
|
-
throw new Error('No key received on stdin.');
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
token = await promptForSecret(`Enter API key for ${provider}`);
|
|
220
|
-
}
|
|
221
|
-
setKeychainToken(item, token);
|
|
222
|
-
console.log(chalk.green(`Stored in keychain: ${item}`));
|
|
223
|
-
}
|
|
224
|
-
catch (err) {
|
|
225
|
-
console.error(chalk.red(err.message));
|
|
226
|
-
process.exit(1);
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
cmd
|
|
230
|
-
.command('logout <provider>')
|
|
231
|
-
.description('Remove a stored provider key from keychain')
|
|
232
|
-
.action((provider) => {
|
|
233
|
-
const item = keychainItemName(provider);
|
|
234
|
-
const existed = deleteKeychainToken(item);
|
|
235
|
-
if (!existed) {
|
|
236
|
-
console.error(chalk.yellow(`No keychain item '${item}' to remove.`));
|
|
237
|
-
process.exit(1);
|
|
238
|
-
}
|
|
239
|
-
console.log(chalk.green(`Removed keychain item: ${item}`));
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
//# sourceMappingURL=profiles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/commands/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/commands/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0EzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4R9D"}
|