@agentuity/cli 2.0.12 → 2.0.14
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/agent-detection.d.ts.map +1 -1
- package/dist/agent-detection.js +1 -0
- package/dist/agent-detection.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15 -8
- package/dist/cli.js.map +1 -1
- package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/create.js +46 -4
- package/dist/cmd/cloud/sandbox/create.js.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/exec.js +4 -3
- package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
- package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
- package/dist/cmd/cloud/sandbox/run.js +9 -5
- package/dist/cmd/cloud/sandbox/run.js.map +1 -1
- package/dist/cmd/cloud/sandbox/snapshot/create.js +4 -4
- package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
- package/dist/cmd/coder/start.d.ts.map +1 -1
- package/dist/cmd/coder/start.js +1 -0
- package/dist/cmd/coder/start.js.map +1 -1
- package/dist/cmd/coder/workspace/common.d.ts +29 -0
- package/dist/cmd/coder/workspace/common.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/common.js +83 -0
- package/dist/cmd/coder/workspace/common.js.map +1 -0
- package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/create.js +34 -37
- package/dist/cmd/coder/workspace/create.js.map +1 -1
- package/dist/cmd/coder/workspace/get.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/get.js +2 -5
- package/dist/cmd/coder/workspace/get.js.map +1 -1
- package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/index.js +10 -0
- package/dist/cmd/coder/workspace/index.js.map +1 -1
- package/dist/cmd/coder/workspace/list.d.ts.map +1 -1
- package/dist/cmd/coder/workspace/list.js +4 -0
- package/dist/cmd/coder/workspace/list.js.map +1 -1
- package/dist/cmd/coder/workspace/refresh.d.ts +2 -0
- package/dist/cmd/coder/workspace/refresh.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/refresh.js +59 -0
- package/dist/cmd/coder/workspace/refresh.js.map +1 -0
- package/dist/cmd/coder/workspace/update.d.ts +2 -0
- package/dist/cmd/coder/workspace/update.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/update.js +131 -0
- package/dist/cmd/coder/workspace/update.js.map +1 -0
- package/dist/cmd/coder/workspace/validate-dependencies.d.ts +2 -0
- package/dist/cmd/coder/workspace/validate-dependencies.d.ts.map +1 -0
- package/dist/cmd/coder/workspace/validate-dependencies.js +70 -0
- package/dist/cmd/coder/workspace/validate-dependencies.js.map +1 -0
- package/dist/cmd/project/random-name.d.ts +17 -0
- package/dist/cmd/project/random-name.d.ts.map +1 -0
- package/dist/cmd/project/random-name.js +144 -0
- package/dist/cmd/project/random-name.js.map +1 -0
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +181 -153
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/composite-logger.d.ts.map +1 -1
- package/dist/composite-logger.js +19 -0
- package/dist/composite-logger.js.map +1 -1
- package/dist/config.d.ts +18 -16
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +46 -16
- package/dist/config.js.map +1 -1
- package/dist/tui/prompt.d.ts +29 -0
- package/dist/tui/prompt.d.ts.map +1 -1
- package/dist/tui/prompt.js +180 -8
- package/dist/tui/prompt.js.map +1 -1
- package/package.json +7 -7
- package/src/agent-detection.ts +1 -0
- package/src/cli.ts +30 -8
- package/src/cmd/cloud/sandbox/create.ts +57 -4
- package/src/cmd/cloud/sandbox/exec.ts +4 -3
- package/src/cmd/cloud/sandbox/run.ts +9 -5
- package/src/cmd/cloud/sandbox/snapshot/create.ts +6 -6
- package/src/cmd/coder/start.ts +1 -0
- package/src/cmd/coder/workspace/common.ts +103 -0
- package/src/cmd/coder/workspace/create.ts +39 -43
- package/src/cmd/coder/workspace/get.ts +2 -5
- package/src/cmd/coder/workspace/index.ts +10 -0
- package/src/cmd/coder/workspace/list.ts +4 -0
- package/src/cmd/coder/workspace/refresh.ts +63 -0
- package/src/cmd/coder/workspace/update.ts +154 -0
- package/src/cmd/coder/workspace/validate-dependencies.ts +75 -0
- package/src/cmd/project/random-name.ts +152 -0
- package/src/cmd/project/template-flow.ts +199 -161
- package/src/composite-logger.ts +20 -0
- package/src/config.ts +69 -19
- package/src/tui/prompt.ts +214 -8
package/dist/tui/prompt.js
CHANGED
|
@@ -39,23 +39,34 @@ export class PromptFlow {
|
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Text input prompt
|
|
42
|
+
*
|
|
43
|
+
* Two render paths:
|
|
44
|
+
* - With `placeholder`: custom raw-keypress renderer that paints the placeholder
|
|
45
|
+
* inline as dim ghost text at the cursor (autofill style). Vanishes on the first
|
|
46
|
+
* keystroke; Enter on an empty buffer accepts the placeholder.
|
|
47
|
+
* - Without `placeholder`: original readline-based renderer (untouched).
|
|
42
48
|
*/
|
|
43
49
|
async text(options) {
|
|
44
|
-
const { message, validate } = options;
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
const { message, validate, placeholder } = options;
|
|
51
|
+
// `placeholder` acts as a visible default: empty submit resolves to it.
|
|
52
|
+
// `initial` (legacy, invisible) still works but `placeholder` takes precedence.
|
|
53
|
+
const fallback = placeholder ?? options.initial ?? '';
|
|
54
|
+
const hasDefault = placeholder !== undefined || options.initial !== undefined;
|
|
47
55
|
if (!this.isInteractive()) {
|
|
48
56
|
if (hasDefault) {
|
|
49
|
-
const validationResult = validate ? await validate(
|
|
57
|
+
const validationResult = validate ? await validate(fallback) : true;
|
|
50
58
|
if (validationResult === true) {
|
|
51
|
-
return
|
|
59
|
+
return fallback;
|
|
52
60
|
}
|
|
53
61
|
// Validation failed - include the error message if it's a string
|
|
54
62
|
const errorDetail = typeof validationResult === 'string' ? `: ${validationResult}` : '';
|
|
55
|
-
throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode. Validation failed for default value "${
|
|
63
|
+
throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode. Validation failed for default value "${fallback}"${errorDetail}.`);
|
|
56
64
|
}
|
|
57
65
|
throw this.nonInteractiveError(`Cannot prompt for "${message}" in non-interactive mode.`);
|
|
58
66
|
}
|
|
67
|
+
if (placeholder) {
|
|
68
|
+
return this.textWithGhost(options, placeholder);
|
|
69
|
+
}
|
|
59
70
|
return new Promise((resolve, reject) => {
|
|
60
71
|
const rl = readline.createInterface({
|
|
61
72
|
input: process.stdin,
|
|
@@ -76,8 +87,8 @@ export class PromptFlow {
|
|
|
76
87
|
showPrompt();
|
|
77
88
|
rl.on('line', async (input) => {
|
|
78
89
|
const trimmed = input.trim();
|
|
79
|
-
// After a validation error, require explicit input - don't fall back to
|
|
80
|
-
const value = trimmed.length > 0 ? trimmed : hadValidationError ? '' :
|
|
90
|
+
// After a validation error, require explicit input - don't fall back to default.
|
|
91
|
+
const value = trimmed.length > 0 ? trimmed : hadValidationError ? '' : fallback;
|
|
81
92
|
// Validate
|
|
82
93
|
if (validate) {
|
|
83
94
|
try {
|
|
@@ -145,6 +156,167 @@ export class PromptFlow {
|
|
|
145
156
|
});
|
|
146
157
|
});
|
|
147
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Text input with inline ghost-text placeholder (autofill style).
|
|
161
|
+
*
|
|
162
|
+
* Layout:
|
|
163
|
+
* ◆ <message>
|
|
164
|
+
* │ <hint> (optional)
|
|
165
|
+
* │ <typed>│<ghost> ghost is dim, vanishes on first keystroke
|
|
166
|
+
*
|
|
167
|
+
* Behavior:
|
|
168
|
+
* - Typing any char hides the ghost permanently for this prompt instance.
|
|
169
|
+
* - Backspacing back to empty does NOT bring the ghost back.
|
|
170
|
+
* - Enter on empty buffer → resolves to placeholder.
|
|
171
|
+
* - Enter with typed text → resolves to typed text.
|
|
172
|
+
* - Validation error: shows inline error, ghost stays gone, user must type.
|
|
173
|
+
* - Ctrl+C: cancels.
|
|
174
|
+
*/
|
|
175
|
+
async textWithGhost(options, placeholder) {
|
|
176
|
+
const { message, validate, hint } = options;
|
|
177
|
+
return new Promise((resolve, reject) => {
|
|
178
|
+
let buffer = '';
|
|
179
|
+
// Tracks whether the ghost should still be visible. Once any printable key is
|
|
180
|
+
// pressed it goes false and stays false for the rest of this prompt.
|
|
181
|
+
let ghostVisible = true;
|
|
182
|
+
let hasError = false;
|
|
183
|
+
let errorMsg = '';
|
|
184
|
+
const inputPrefix = `${colors.secondary(symbols.bar)} `;
|
|
185
|
+
// Visible-character length of the input-line prefix ("│ " = 3 cells).
|
|
186
|
+
const PREFIX_VISIBLE = 3;
|
|
187
|
+
/**
|
|
188
|
+
* Repaint everything from the message line down. Cursor must be on the
|
|
189
|
+
* message line (column 0) when this is called for the first time, or we
|
|
190
|
+
* just moved up to it after a clear.
|
|
191
|
+
*/
|
|
192
|
+
const paint = () => {
|
|
193
|
+
const symbol = hasError ? colors.error(symbols.error) : colors.active(symbols.active);
|
|
194
|
+
process.stdout.write(`${symbol} ${message}\n`);
|
|
195
|
+
if (hasError) {
|
|
196
|
+
process.stdout.write(`${colors.secondary(symbols.bar)} ${colors.error(errorMsg)}\n`);
|
|
197
|
+
}
|
|
198
|
+
else if (hint) {
|
|
199
|
+
process.stdout.write(`${colors.secondary(symbols.bar)} ${colors.muted(hint)}\n`);
|
|
200
|
+
}
|
|
201
|
+
// Input line.
|
|
202
|
+
process.stdout.write(inputPrefix);
|
|
203
|
+
process.stdout.write(buffer);
|
|
204
|
+
if (ghostVisible && buffer.length === 0) {
|
|
205
|
+
// Paint the ghost, then move the cursor back to the start of it so the
|
|
206
|
+
// caret sits where the user would start typing.
|
|
207
|
+
process.stdout.write(colors.muted(placeholder));
|
|
208
|
+
readline.moveCursor(process.stdout, -placeholder.length, 0);
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Number of terminal lines currently occupied by our render, so we know
|
|
213
|
+
* how many to clear on the next repaint.
|
|
214
|
+
* Always: message (1) + hint-or-error (0/1) + input (1).
|
|
215
|
+
*/
|
|
216
|
+
const renderedLines = () => {
|
|
217
|
+
let n = 1; // message
|
|
218
|
+
if (hasError || hint)
|
|
219
|
+
n += 1;
|
|
220
|
+
n += 1; // input
|
|
221
|
+
return n;
|
|
222
|
+
};
|
|
223
|
+
const repaint = () => {
|
|
224
|
+
// Move cursor to column 0, then up to the start of our render block, then clear.
|
|
225
|
+
readline.cursorTo(process.stdout, 0);
|
|
226
|
+
readline.moveCursor(process.stdout, 0, -(renderedLines() - 1));
|
|
227
|
+
readline.clearScreenDown(process.stdout);
|
|
228
|
+
paint();
|
|
229
|
+
};
|
|
230
|
+
// Resume stdin if it was paused by a prior prompt.
|
|
231
|
+
if (process.stdin.isTTY && process.stdin.isPaused()) {
|
|
232
|
+
process.stdin.resume();
|
|
233
|
+
}
|
|
234
|
+
readline.emitKeypressEvents(process.stdin);
|
|
235
|
+
if (process.stdin.isTTY) {
|
|
236
|
+
process.stdin.setRawMode(true);
|
|
237
|
+
}
|
|
238
|
+
// Initial paint.
|
|
239
|
+
paint();
|
|
240
|
+
const cleanup = () => {
|
|
241
|
+
process.stdin.removeListener('keypress', onKeypress);
|
|
242
|
+
if (process.stdin.isTTY) {
|
|
243
|
+
process.stdin.setRawMode(false);
|
|
244
|
+
process.stdin.pause();
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
const finalize = (value) => {
|
|
248
|
+
// Repaint as completed: replace whole render block with the completed lines.
|
|
249
|
+
readline.cursorTo(process.stdout, 0);
|
|
250
|
+
readline.moveCursor(process.stdout, 0, -(renderedLines() - 1));
|
|
251
|
+
readline.clearScreenDown(process.stdout);
|
|
252
|
+
if (value === '') {
|
|
253
|
+
process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)}\n`);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
process.stdout.write(`${colors.completed(symbols.completed)} ${message}\n${colors.secondary(symbols.bar)} ${colors.muted(value)}\n${colors.secondary(symbols.bar)}\n`);
|
|
257
|
+
}
|
|
258
|
+
this.states.push({ type: 'completed', message, value });
|
|
259
|
+
cleanup();
|
|
260
|
+
resolve(value);
|
|
261
|
+
};
|
|
262
|
+
const onKeypress = async (str, key) => {
|
|
263
|
+
if (key.ctrl && key.name === 'c') {
|
|
264
|
+
cleanup();
|
|
265
|
+
console.log('\n');
|
|
266
|
+
this.cancel('Operation cancelled');
|
|
267
|
+
reject(new Error('User cancelled'));
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
if (key.name === 'return') {
|
|
271
|
+
const trimmed = buffer.trim();
|
|
272
|
+
// Empty submit accepts the placeholder, but only if no error has occurred
|
|
273
|
+
// (after an error the user must type explicitly — same rule the readline
|
|
274
|
+
// path uses).
|
|
275
|
+
const value = trimmed.length > 0 ? trimmed : hasError ? '' : placeholder;
|
|
276
|
+
if (validate) {
|
|
277
|
+
try {
|
|
278
|
+
const result = await validate(value);
|
|
279
|
+
if (result !== true) {
|
|
280
|
+
errorMsg = typeof result === 'string' ? result : 'Invalid input';
|
|
281
|
+
hasError = true;
|
|
282
|
+
ghostVisible = false;
|
|
283
|
+
repaint();
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
errorMsg = err instanceof Error ? err.message : 'Validation failed';
|
|
289
|
+
hasError = true;
|
|
290
|
+
ghostVisible = false;
|
|
291
|
+
repaint();
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
finalize(value);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
if (key.name === 'backspace') {
|
|
299
|
+
if (buffer.length > 0) {
|
|
300
|
+
buffer = buffer.slice(0, -1);
|
|
301
|
+
repaint();
|
|
302
|
+
}
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
// Printable single character (ignore arrow keys, function keys, etc.).
|
|
306
|
+
if (str && str.length === 1 && !key.ctrl && str >= ' ' && str !== '\x7f') {
|
|
307
|
+
buffer += str;
|
|
308
|
+
ghostVisible = false;
|
|
309
|
+
repaint();
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
// Everything else (arrows, tab, etc.) is ignored.
|
|
313
|
+
};
|
|
314
|
+
// Mark the prefix length as used so the unused-var rule doesn't trip when we
|
|
315
|
+
// extend this in future. (Keeping it documented for cursor-math sanity.)
|
|
316
|
+
void PREFIX_VISIBLE;
|
|
317
|
+
process.stdin.on('keypress', onKeypress);
|
|
318
|
+
});
|
|
319
|
+
}
|
|
148
320
|
/**
|
|
149
321
|
* Confirm (yes/no) prompt
|
|
150
322
|
*/
|
package/dist/tui/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tui/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/tui/prompt.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/cli",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.14",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"prepublishOnly": "bun run clean && bun run build"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@agentuity/auth": "2.0.
|
|
45
|
-
"@agentuity/coder-tui": "2.0.
|
|
46
|
-
"@agentuity/core": "2.0.
|
|
47
|
-
"@agentuity/frontend": "2.0.
|
|
48
|
-
"@agentuity/server": "2.0.
|
|
44
|
+
"@agentuity/auth": "2.0.14",
|
|
45
|
+
"@agentuity/coder-tui": "2.0.14",
|
|
46
|
+
"@agentuity/core": "2.0.14",
|
|
47
|
+
"@agentuity/frontend": "2.0.14",
|
|
48
|
+
"@agentuity/server": "2.0.14",
|
|
49
49
|
"@datasert/cronjs-parser": "^1.4.0",
|
|
50
50
|
"@vitejs/plugin-react": "^5.1.2",
|
|
51
51
|
"acorn-loose": "^8.5.2",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"zod": "^4.3.5"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@agentuity/test-utils": "2.0.
|
|
67
|
+
"@agentuity/test-utils": "2.0.14",
|
|
68
68
|
"@types/adm-zip": "^0.5.7",
|
|
69
69
|
"@types/archiver": "^7.0.0",
|
|
70
70
|
"@types/bun": "latest",
|
package/src/agent-detection.ts
CHANGED
package/src/cli.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { homedir } from 'node:os';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
3
1
|
import { Command } from 'commander';
|
|
4
2
|
import type {
|
|
5
3
|
CommandDefinition,
|
|
@@ -28,7 +26,13 @@ import { fetchRegionsWithCache } from './regions';
|
|
|
28
26
|
import enquirer from 'enquirer';
|
|
29
27
|
import * as tui from './tui';
|
|
30
28
|
import { parseArgsSchema, parseOptionsSchema, buildValidationInputAsync } from './schema-parser';
|
|
31
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
defaultProfileName,
|
|
31
|
+
loadProjectConfig,
|
|
32
|
+
resolveProjectConfigPaths,
|
|
33
|
+
saveProjectId,
|
|
34
|
+
saveRegion,
|
|
35
|
+
} from './config';
|
|
32
36
|
import { APIClient, getAPIBaseURL, getAppBaseURL, type APIClient as APIClientType } from './api';
|
|
33
37
|
import { ErrorCode, ExitCode, createError, exitWithError, formatErrorJSON } from './errors';
|
|
34
38
|
import { getCommand } from './command-prefix';
|
|
@@ -1385,6 +1389,7 @@ async function registerSubcommand(
|
|
|
1385
1389
|
) {
|
|
1386
1390
|
options.projectId = (baseCtx.options as unknown as Record<string, unknown>).projectId;
|
|
1387
1391
|
}
|
|
1392
|
+
const ctxOptions = { ...baseCtx.options, ...options } as GlobalOptions;
|
|
1388
1393
|
|
|
1389
1394
|
if (subcommand.banner) {
|
|
1390
1395
|
showBanner();
|
|
@@ -1463,11 +1468,7 @@ async function registerSubcommand(
|
|
|
1463
1468
|
} else {
|
|
1464
1469
|
// Priority 2: Try to load from agentuity.json in directory
|
|
1465
1470
|
const dir = (options.dir as string | undefined) ?? process.cwd();
|
|
1466
|
-
projectDir = dir;
|
|
1467
|
-
if (projectDir.startsWith('~/')) {
|
|
1468
|
-
projectDir = projectDir.replace('~/', homedir());
|
|
1469
|
-
}
|
|
1470
|
-
projectDir = resolve(projectDir);
|
|
1471
|
+
projectDir = (await resolveProjectConfigPaths(dir, baseCtx.config)).projectDir;
|
|
1471
1472
|
try {
|
|
1472
1473
|
project = await loadProjectConfig(dir, baseCtx.config);
|
|
1473
1474
|
} catch (error) {
|
|
@@ -1478,6 +1479,21 @@ async function registerSubcommand(
|
|
|
1478
1479
|
error.name === 'ProjectConfigNotFoundException';
|
|
1479
1480
|
|
|
1480
1481
|
if (isConfigNotFound) {
|
|
1482
|
+
if ('explicit' in error && error.explicit === true) {
|
|
1483
|
+
const configPath =
|
|
1484
|
+
'configPath' in error && typeof error.configPath === 'string'
|
|
1485
|
+
? error.configPath
|
|
1486
|
+
: dir;
|
|
1487
|
+
exitWithError(
|
|
1488
|
+
createError(
|
|
1489
|
+
ErrorCode.PROJECT_NOT_FOUND,
|
|
1490
|
+
`Project config not found: ${configPath}`
|
|
1491
|
+
),
|
|
1492
|
+
baseCtx.logger,
|
|
1493
|
+
baseCtx.options.errorFormat
|
|
1494
|
+
);
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1481
1497
|
// Priority 3: Try global preference (only when no agentuity.json found)
|
|
1482
1498
|
const projectIdFromPreference = baseCtx.config?.preferences?.projectId as
|
|
1483
1499
|
| string
|
|
@@ -1568,6 +1584,7 @@ async function registerSubcommand(
|
|
|
1568
1584
|
);
|
|
1569
1585
|
const ctx: Record<string, unknown> = {
|
|
1570
1586
|
...baseCtx,
|
|
1587
|
+
options: ctxOptions,
|
|
1571
1588
|
config: {
|
|
1572
1589
|
...(baseCtx.config ?? {}),
|
|
1573
1590
|
auth: {
|
|
@@ -1697,6 +1714,7 @@ async function registerSubcommand(
|
|
|
1697
1714
|
} else {
|
|
1698
1715
|
const ctx: Record<string, unknown> = {
|
|
1699
1716
|
...baseCtx,
|
|
1717
|
+
options: ctxOptions,
|
|
1700
1718
|
config: baseCtx.config
|
|
1701
1719
|
? {
|
|
1702
1720
|
...baseCtx.config,
|
|
@@ -1864,6 +1882,7 @@ async function registerSubcommand(
|
|
|
1864
1882
|
);
|
|
1865
1883
|
const ctx: Record<string, unknown> = {
|
|
1866
1884
|
...baseCtx,
|
|
1885
|
+
options: ctxOptions,
|
|
1867
1886
|
config: auth
|
|
1868
1887
|
? {
|
|
1869
1888
|
...(baseCtx.config ?? {}),
|
|
@@ -1996,6 +2015,7 @@ async function registerSubcommand(
|
|
|
1996
2015
|
} else {
|
|
1997
2016
|
const ctx: Record<string, unknown> = {
|
|
1998
2017
|
...baseCtx,
|
|
2018
|
+
options: ctxOptions,
|
|
1999
2019
|
config: auth
|
|
2000
2020
|
? {
|
|
2001
2021
|
...(baseCtx.config ?? {}),
|
|
@@ -2134,6 +2154,7 @@ async function registerSubcommand(
|
|
|
2134
2154
|
);
|
|
2135
2155
|
const ctx: Record<string, unknown> = {
|
|
2136
2156
|
...baseCtx,
|
|
2157
|
+
options: ctxOptions,
|
|
2137
2158
|
};
|
|
2138
2159
|
if (project || projectDir) {
|
|
2139
2160
|
if (project) {
|
|
@@ -2185,6 +2206,7 @@ async function registerSubcommand(
|
|
|
2185
2206
|
} else {
|
|
2186
2207
|
const ctx: Record<string, unknown> = {
|
|
2187
2208
|
...baseCtx,
|
|
2209
|
+
options: ctxOptions,
|
|
2188
2210
|
};
|
|
2189
2211
|
if (project || projectDir) {
|
|
2190
2212
|
if (project) {
|
|
@@ -3,7 +3,7 @@ import { createCommand } from '../../../types';
|
|
|
3
3
|
import * as tui from '../../../tui';
|
|
4
4
|
import { createSandboxClient, parseFileArgs, cacheSandboxTarget } from './util';
|
|
5
5
|
import { getCommand } from '../../../command-prefix';
|
|
6
|
-
import { sandboxCreate } from '@agentuity/server';
|
|
6
|
+
import { sandboxCreate, sandboxGet } from '@agentuity/server';
|
|
7
7
|
import { StructuredError } from '@agentuity/core';
|
|
8
8
|
import { validateAptDependencies } from '../../../utils/apt-validator';
|
|
9
9
|
import { ErrorCode } from '../../../errors';
|
|
@@ -13,6 +13,11 @@ const InvalidMetadataError = StructuredError(
|
|
|
13
13
|
'Metadata must be a valid JSON object'
|
|
14
14
|
);
|
|
15
15
|
|
|
16
|
+
const CREATE_WAIT_POLL_MS = 1000;
|
|
17
|
+
const CREATE_WAIT_STATUSES = ['idle', 'running', 'failed', 'terminated', 'deleted'];
|
|
18
|
+
const CREATE_READY_STATUSES = new Set(['idle', 'running']);
|
|
19
|
+
const CREATE_TERMINAL_STATUSES = new Set(['failed', 'terminated', 'deleted']);
|
|
20
|
+
|
|
16
21
|
const SandboxCreateResponseSchema = z.object({
|
|
17
22
|
sandboxId: z.string().describe('Unique sandbox identifier'),
|
|
18
23
|
status: z.string().describe('Current sandbox status'),
|
|
@@ -101,6 +106,14 @@ export const createSubcommand = createCommand({
|
|
|
101
106
|
.optional()
|
|
102
107
|
.describe('Port to expose from the sandbox to the outside Internet (1024-65535)'),
|
|
103
108
|
projectId: z.string().optional().describe('Project ID to associate this sandbox with'),
|
|
109
|
+
wait: z.boolean().optional().describe('Wait until the sandbox is ready before returning'),
|
|
110
|
+
waitMs: z
|
|
111
|
+
.number()
|
|
112
|
+
.int()
|
|
113
|
+
.nonnegative()
|
|
114
|
+
.max(60000)
|
|
115
|
+
.optional()
|
|
116
|
+
.describe('Maximum time in milliseconds to wait when --wait is used'),
|
|
104
117
|
}),
|
|
105
118
|
response: SandboxCreateResponseSchema,
|
|
106
119
|
},
|
|
@@ -180,7 +193,7 @@ export const createSubcommand = createCommand({
|
|
|
180
193
|
metadata = parsed as Record<string, unknown>;
|
|
181
194
|
}
|
|
182
195
|
|
|
183
|
-
|
|
196
|
+
let result = await sandboxCreate(client, {
|
|
184
197
|
options: {
|
|
185
198
|
projectId,
|
|
186
199
|
runtime: opts.runtime,
|
|
@@ -216,8 +229,48 @@ export const createSubcommand = createCommand({
|
|
|
216
229
|
orgId,
|
|
217
230
|
});
|
|
218
231
|
|
|
219
|
-
|
|
220
|
-
|
|
232
|
+
if (opts.wait) {
|
|
233
|
+
const waitMs = opts.waitMs ?? 60000;
|
|
234
|
+
const deadline = Date.now() + waitMs;
|
|
235
|
+
|
|
236
|
+
while (
|
|
237
|
+
!CREATE_READY_STATUSES.has(result.status) &&
|
|
238
|
+
!CREATE_TERMINAL_STATUSES.has(result.status)
|
|
239
|
+
) {
|
|
240
|
+
const remainingMs = Math.max(0, deadline - Date.now());
|
|
241
|
+
if (remainingMs === 0) {
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
const pollWaitMs = Math.min(remainingMs, CREATE_WAIT_POLL_MS);
|
|
245
|
+
const current = await sandboxGet(client, {
|
|
246
|
+
sandboxId: result.sandboxId,
|
|
247
|
+
orgId,
|
|
248
|
+
includeDeleted: true,
|
|
249
|
+
waitForStatus: CREATE_WAIT_STATUSES,
|
|
250
|
+
waitMs: pollWaitMs,
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
result = {
|
|
254
|
+
...result,
|
|
255
|
+
status: current.status === 'deleted' ? 'terminated' : current.status,
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
if (
|
|
259
|
+
CREATE_READY_STATUSES.has(current.status) ||
|
|
260
|
+
CREATE_TERMINAL_STATUSES.has(current.status)
|
|
261
|
+
) {
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (
|
|
268
|
+
CREATE_READY_STATUSES.has(result.status) &&
|
|
269
|
+
!CREATE_TERMINAL_STATUSES.has(result.status)
|
|
270
|
+
) {
|
|
271
|
+
// Cache routing context for future sandbox commands.
|
|
272
|
+
await cacheSandboxTarget(config?.name, result.sandboxId, region, orgId);
|
|
273
|
+
}
|
|
221
274
|
|
|
222
275
|
if (!options.json) {
|
|
223
276
|
const duration = Date.now() - started;
|
|
@@ -101,6 +101,7 @@ export const execSubcommand = createCommand({
|
|
|
101
101
|
// Detect if stdout/stderr are redirected to /dev/null
|
|
102
102
|
const stdoutIsNull = detectNullStream(1);
|
|
103
103
|
const stderrIsNull = detectNullStream(2);
|
|
104
|
+
const quiet = opts.quiet || options.quiet;
|
|
104
105
|
|
|
105
106
|
// Build stream configuration
|
|
106
107
|
const streamConfig: {
|
|
@@ -112,7 +113,7 @@ export const execSubcommand = createCommand({
|
|
|
112
113
|
};
|
|
113
114
|
|
|
114
115
|
// --quiet: suppress all output streams (no server streams, no local capture)
|
|
115
|
-
if (
|
|
116
|
+
if (quiet) {
|
|
116
117
|
streamConfig.stdout = 'ignore';
|
|
117
118
|
streamConfig.stderr = 'ignore';
|
|
118
119
|
} else if (!options.json) {
|
|
@@ -177,14 +178,14 @@ export const execSubcommand = createCommand({
|
|
|
177
178
|
const stderrChunks: string[] = [];
|
|
178
179
|
|
|
179
180
|
const stdoutWritable: NodeJS.WritableStream =
|
|
180
|
-
options.json || stdoutIsNull
|
|
181
|
+
options.json || quiet || stdoutIsNull
|
|
181
182
|
? createCaptureStream((chunk) => {
|
|
182
183
|
stdoutChunks.push(chunk);
|
|
183
184
|
outputChunks.push(chunk);
|
|
184
185
|
})
|
|
185
186
|
: process.stdout;
|
|
186
187
|
const stderrWritable: NodeJS.WritableStream =
|
|
187
|
-
options.json || stderrIsNull
|
|
188
|
+
options.json || quiet || stderrIsNull
|
|
188
189
|
? createCaptureStream((chunk) => {
|
|
189
190
|
stderrChunks.push(chunk);
|
|
190
191
|
outputChunks.push(chunk);
|
|
@@ -157,6 +157,7 @@ export const runSubcommand = createCommand({
|
|
|
157
157
|
// Detect if stdout/stderr are redirected to /dev/null
|
|
158
158
|
const stdoutIsNull = detectNullStream(1);
|
|
159
159
|
const stderrIsNull = detectNullStream(2);
|
|
160
|
+
const quiet = opts.quiet || options.quiet;
|
|
160
161
|
|
|
161
162
|
// Detect stream configuration based on TTY status and flags
|
|
162
163
|
const streamConfig: {
|
|
@@ -171,7 +172,7 @@ export const runSubcommand = createCommand({
|
|
|
171
172
|
};
|
|
172
173
|
|
|
173
174
|
// --quiet: suppress all output streams (no server streams, no local capture)
|
|
174
|
-
if (
|
|
175
|
+
if (quiet) {
|
|
175
176
|
streamConfig.stdout = 'ignore';
|
|
176
177
|
streamConfig.stderr = 'ignore';
|
|
177
178
|
} else if (!options.json) {
|
|
@@ -187,11 +188,11 @@ export const runSubcommand = createCommand({
|
|
|
187
188
|
|
|
188
189
|
// For JSON output or quiet mode, we need to capture output instead of streaming to process
|
|
189
190
|
const stdout =
|
|
190
|
-
options.json ||
|
|
191
|
+
options.json || quiet || stdoutIsNull
|
|
191
192
|
? createCaptureStream((chunk) => outputChunks.push(chunk))
|
|
192
193
|
: process.stdout;
|
|
193
194
|
const stderr =
|
|
194
|
-
options.json ||
|
|
195
|
+
options.json || quiet || stderrIsNull
|
|
195
196
|
? createCaptureStream((chunk) => outputChunks.push(chunk))
|
|
196
197
|
: process.stderr;
|
|
197
198
|
|
|
@@ -233,8 +234,11 @@ export const runSubcommand = createCommand({
|
|
|
233
234
|
logger,
|
|
234
235
|
});
|
|
235
236
|
|
|
236
|
-
//
|
|
237
|
-
|
|
237
|
+
// Best-effort bookkeeping only. One-shot sandboxes are already done by
|
|
238
|
+
// this point, so don't keep the user waiting on local cache I/O.
|
|
239
|
+
void cacheSandboxTarget(config?.name, result.sandboxId, region, orgId).catch((err) => {
|
|
240
|
+
logger.debug('[run] failed to cache sandbox target: %s', err);
|
|
241
|
+
});
|
|
238
242
|
|
|
239
243
|
const duration = Date.now() - started;
|
|
240
244
|
const output = outputChunks.join('');
|