@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.
Files changed (87) hide show
  1. package/dist/agent-detection.d.ts.map +1 -1
  2. package/dist/agent-detection.js +1 -0
  3. package/dist/agent-detection.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +15 -8
  6. package/dist/cli.js.map +1 -1
  7. package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
  8. package/dist/cmd/cloud/sandbox/create.js +46 -4
  9. package/dist/cmd/cloud/sandbox/create.js.map +1 -1
  10. package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
  11. package/dist/cmd/cloud/sandbox/exec.js +4 -3
  12. package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
  13. package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
  14. package/dist/cmd/cloud/sandbox/run.js +9 -5
  15. package/dist/cmd/cloud/sandbox/run.js.map +1 -1
  16. package/dist/cmd/cloud/sandbox/snapshot/create.js +4 -4
  17. package/dist/cmd/cloud/sandbox/snapshot/create.js.map +1 -1
  18. package/dist/cmd/coder/start.d.ts.map +1 -1
  19. package/dist/cmd/coder/start.js +1 -0
  20. package/dist/cmd/coder/start.js.map +1 -1
  21. package/dist/cmd/coder/workspace/common.d.ts +29 -0
  22. package/dist/cmd/coder/workspace/common.d.ts.map +1 -0
  23. package/dist/cmd/coder/workspace/common.js +83 -0
  24. package/dist/cmd/coder/workspace/common.js.map +1 -0
  25. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  26. package/dist/cmd/coder/workspace/create.js +34 -37
  27. package/dist/cmd/coder/workspace/create.js.map +1 -1
  28. package/dist/cmd/coder/workspace/get.d.ts.map +1 -1
  29. package/dist/cmd/coder/workspace/get.js +2 -5
  30. package/dist/cmd/coder/workspace/get.js.map +1 -1
  31. package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
  32. package/dist/cmd/coder/workspace/index.js +10 -0
  33. package/dist/cmd/coder/workspace/index.js.map +1 -1
  34. package/dist/cmd/coder/workspace/list.d.ts.map +1 -1
  35. package/dist/cmd/coder/workspace/list.js +4 -0
  36. package/dist/cmd/coder/workspace/list.js.map +1 -1
  37. package/dist/cmd/coder/workspace/refresh.d.ts +2 -0
  38. package/dist/cmd/coder/workspace/refresh.d.ts.map +1 -0
  39. package/dist/cmd/coder/workspace/refresh.js +59 -0
  40. package/dist/cmd/coder/workspace/refresh.js.map +1 -0
  41. package/dist/cmd/coder/workspace/update.d.ts +2 -0
  42. package/dist/cmd/coder/workspace/update.d.ts.map +1 -0
  43. package/dist/cmd/coder/workspace/update.js +131 -0
  44. package/dist/cmd/coder/workspace/update.js.map +1 -0
  45. package/dist/cmd/coder/workspace/validate-dependencies.d.ts +2 -0
  46. package/dist/cmd/coder/workspace/validate-dependencies.d.ts.map +1 -0
  47. package/dist/cmd/coder/workspace/validate-dependencies.js +70 -0
  48. package/dist/cmd/coder/workspace/validate-dependencies.js.map +1 -0
  49. package/dist/cmd/project/random-name.d.ts +17 -0
  50. package/dist/cmd/project/random-name.d.ts.map +1 -0
  51. package/dist/cmd/project/random-name.js +144 -0
  52. package/dist/cmd/project/random-name.js.map +1 -0
  53. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  54. package/dist/cmd/project/template-flow.js +181 -153
  55. package/dist/cmd/project/template-flow.js.map +1 -1
  56. package/dist/composite-logger.d.ts.map +1 -1
  57. package/dist/composite-logger.js +19 -0
  58. package/dist/composite-logger.js.map +1 -1
  59. package/dist/config.d.ts +18 -16
  60. package/dist/config.d.ts.map +1 -1
  61. package/dist/config.js +46 -16
  62. package/dist/config.js.map +1 -1
  63. package/dist/tui/prompt.d.ts +29 -0
  64. package/dist/tui/prompt.d.ts.map +1 -1
  65. package/dist/tui/prompt.js +180 -8
  66. package/dist/tui/prompt.js.map +1 -1
  67. package/package.json +7 -7
  68. package/src/agent-detection.ts +1 -0
  69. package/src/cli.ts +30 -8
  70. package/src/cmd/cloud/sandbox/create.ts +57 -4
  71. package/src/cmd/cloud/sandbox/exec.ts +4 -3
  72. package/src/cmd/cloud/sandbox/run.ts +9 -5
  73. package/src/cmd/cloud/sandbox/snapshot/create.ts +6 -6
  74. package/src/cmd/coder/start.ts +1 -0
  75. package/src/cmd/coder/workspace/common.ts +103 -0
  76. package/src/cmd/coder/workspace/create.ts +39 -43
  77. package/src/cmd/coder/workspace/get.ts +2 -5
  78. package/src/cmd/coder/workspace/index.ts +10 -0
  79. package/src/cmd/coder/workspace/list.ts +4 -0
  80. package/src/cmd/coder/workspace/refresh.ts +63 -0
  81. package/src/cmd/coder/workspace/update.ts +154 -0
  82. package/src/cmd/coder/workspace/validate-dependencies.ts +75 -0
  83. package/src/cmd/project/random-name.ts +152 -0
  84. package/src/cmd/project/template-flow.ts +199 -161
  85. package/src/composite-logger.ts +20 -0
  86. package/src/config.ts +69 -19
  87. package/src/tui/prompt.ts +214 -8
@@ -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
- const initial = options.initial ?? '';
46
- const hasDefault = options.initial !== undefined;
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(initial) : true;
57
+ const validationResult = validate ? await validate(fallback) : true;
50
58
  if (validationResult === true) {
51
- return initial;
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 "${initial}"${errorDetail}.`);
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 initial
80
- const value = trimmed.length > 0 ? trimmed : hadValidationError ? '' : initial;
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
  */
@@ -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.12",
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.12",
45
- "@agentuity/coder-tui": "2.0.12",
46
- "@agentuity/core": "2.0.12",
47
- "@agentuity/frontend": "2.0.12",
48
- "@agentuity/server": "2.0.12",
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.12",
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",
@@ -57,6 +57,7 @@ export const AGENT_DISPLAY_NAMES: Record<string, string> = {
57
57
  amp: 'Amp',
58
58
  warp: 'Warp',
59
59
  pi: 'Pi',
60
+ coder: 'Agentuity Coder',
60
61
  };
61
62
 
62
63
  /**
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 { defaultProfileName, loadProjectConfig, saveProjectId, saveRegion } from './config';
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
- const result = await sandboxCreate(client, {
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
- // Cache routing context for future sandbox commands.
220
- await cacheSandboxTarget(config?.name, result.sandboxId, region, orgId);
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 (opts.quiet) {
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 (opts.quiet) {
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 || opts.quiet || stdoutIsNull
191
+ options.json || quiet || stdoutIsNull
191
192
  ? createCaptureStream((chunk) => outputChunks.push(chunk))
192
193
  : process.stdout;
193
194
  const stderr =
194
- options.json || opts.quiet || stderrIsNull
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
- // Cache routing context for follow-up lookup/debug flows during execution.
237
- await cacheSandboxTarget(config?.name, result.sandboxId, region, orgId);
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('');