@agentuity/cli 2.0.10 → 2.0.12

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 (233) hide show
  1. package/dist/cache/resource-region.d.ts.map +1 -1
  2. package/dist/cache/resource-region.js +48 -25
  3. package/dist/cache/resource-region.js.map +1 -1
  4. package/dist/cmd/build/vite/agent-discovery.js +4 -4
  5. package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
  6. package/dist/cmd/build/vite/bun-dev-server.d.ts +20 -0
  7. package/dist/cmd/build/vite/bun-dev-server.d.ts.map +1 -1
  8. package/dist/cmd/build/vite/bun-dev-server.js +62 -4
  9. package/dist/cmd/build/vite/bun-dev-server.js.map +1 -1
  10. package/dist/cmd/build/vite/index.d.ts +0 -1
  11. package/dist/cmd/build/vite/index.d.ts.map +1 -1
  12. package/dist/cmd/build/vite/index.js +0 -1
  13. package/dist/cmd/build/vite/index.js.map +1 -1
  14. package/dist/cmd/build/vite/static-renderer.d.ts +17 -0
  15. package/dist/cmd/build/vite/static-renderer.d.ts.map +1 -1
  16. package/dist/cmd/build/vite/static-renderer.js +18 -6
  17. package/dist/cmd/build/vite/static-renderer.js.map +1 -1
  18. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  19. package/dist/cmd/build/vite/vite-asset-server-config.js +34 -27
  20. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  21. package/dist/cmd/build/vite/vite-asset-server.d.ts +9 -0
  22. package/dist/cmd/build/vite/vite-asset-server.d.ts.map +1 -1
  23. package/dist/cmd/build/vite/vite-asset-server.js +5 -1
  24. package/dist/cmd/build/vite/vite-asset-server.js.map +1 -1
  25. package/dist/cmd/build/vite/vite-builder.d.ts.map +1 -1
  26. package/dist/cmd/build/vite/vite-builder.js +12 -1
  27. package/dist/cmd/build/vite/vite-builder.js.map +1 -1
  28. package/dist/cmd/build/vite/ws-proxy.d.ts +15 -1
  29. package/dist/cmd/build/vite/ws-proxy.d.ts.map +1 -1
  30. package/dist/cmd/build/vite/ws-proxy.js +33 -0
  31. package/dist/cmd/build/vite/ws-proxy.js.map +1 -1
  32. package/dist/cmd/cloud/deploy.d.ts.map +1 -1
  33. package/dist/cmd/cloud/deploy.js +98 -39
  34. package/dist/cmd/cloud/deploy.js.map +1 -1
  35. package/dist/cmd/cloud/sandbox/checkpoint/create.d.ts.map +1 -1
  36. package/dist/cmd/cloud/sandbox/checkpoint/create.js +3 -4
  37. package/dist/cmd/cloud/sandbox/checkpoint/create.js.map +1 -1
  38. package/dist/cmd/cloud/sandbox/checkpoint/delete.d.ts.map +1 -1
  39. package/dist/cmd/cloud/sandbox/checkpoint/delete.js +3 -4
  40. package/dist/cmd/cloud/sandbox/checkpoint/delete.js.map +1 -1
  41. package/dist/cmd/cloud/sandbox/checkpoint/list.d.ts.map +1 -1
  42. package/dist/cmd/cloud/sandbox/checkpoint/list.js +3 -4
  43. package/dist/cmd/cloud/sandbox/checkpoint/list.js.map +1 -1
  44. package/dist/cmd/cloud/sandbox/checkpoint/restore.d.ts.map +1 -1
  45. package/dist/cmd/cloud/sandbox/checkpoint/restore.js +3 -4
  46. package/dist/cmd/cloud/sandbox/checkpoint/restore.js.map +1 -1
  47. package/dist/cmd/cloud/sandbox/create.d.ts.map +1 -1
  48. package/dist/cmd/cloud/sandbox/create.js +13 -4
  49. package/dist/cmd/cloud/sandbox/create.js.map +1 -1
  50. package/dist/cmd/cloud/sandbox/delete.d.ts.map +1 -1
  51. package/dist/cmd/cloud/sandbox/delete.js +3 -4
  52. package/dist/cmd/cloud/sandbox/delete.js.map +1 -1
  53. package/dist/cmd/cloud/sandbox/env.d.ts.map +1 -1
  54. package/dist/cmd/cloud/sandbox/env.js +3 -5
  55. package/dist/cmd/cloud/sandbox/env.js.map +1 -1
  56. package/dist/cmd/cloud/sandbox/exec.d.ts.map +1 -1
  57. package/dist/cmd/cloud/sandbox/exec.js +114 -41
  58. package/dist/cmd/cloud/sandbox/exec.js.map +1 -1
  59. package/dist/cmd/cloud/sandbox/execution/list.d.ts.map +1 -1
  60. package/dist/cmd/cloud/sandbox/execution/list.js +3 -5
  61. package/dist/cmd/cloud/sandbox/execution/list.js.map +1 -1
  62. package/dist/cmd/cloud/sandbox/fs/cp.d.ts.map +1 -1
  63. package/dist/cmd/cloud/sandbox/fs/cp.js +61 -113
  64. package/dist/cmd/cloud/sandbox/fs/cp.js.map +1 -1
  65. package/dist/cmd/cloud/sandbox/fs/download.d.ts.map +1 -1
  66. package/dist/cmd/cloud/sandbox/fs/download.js +11 -22
  67. package/dist/cmd/cloud/sandbox/fs/download.js.map +1 -1
  68. package/dist/cmd/cloud/sandbox/fs/ls.d.ts.map +1 -1
  69. package/dist/cmd/cloud/sandbox/fs/ls.js +3 -5
  70. package/dist/cmd/cloud/sandbox/fs/ls.js.map +1 -1
  71. package/dist/cmd/cloud/sandbox/fs/mkdir.d.ts.map +1 -1
  72. package/dist/cmd/cloud/sandbox/fs/mkdir.js +3 -5
  73. package/dist/cmd/cloud/sandbox/fs/mkdir.js.map +1 -1
  74. package/dist/cmd/cloud/sandbox/fs/rm.d.ts.map +1 -1
  75. package/dist/cmd/cloud/sandbox/fs/rm.js +3 -5
  76. package/dist/cmd/cloud/sandbox/fs/rm.js.map +1 -1
  77. package/dist/cmd/cloud/sandbox/fs/rmdir.d.ts.map +1 -1
  78. package/dist/cmd/cloud/sandbox/fs/rmdir.js +3 -5
  79. package/dist/cmd/cloud/sandbox/fs/rmdir.js.map +1 -1
  80. package/dist/cmd/cloud/sandbox/fs/upload.d.ts.map +1 -1
  81. package/dist/cmd/cloud/sandbox/fs/upload.js +7 -8
  82. package/dist/cmd/cloud/sandbox/fs/upload.js.map +1 -1
  83. package/dist/cmd/cloud/sandbox/get.d.ts.map +1 -1
  84. package/dist/cmd/cloud/sandbox/get.js +21 -7
  85. package/dist/cmd/cloud/sandbox/get.js.map +1 -1
  86. package/dist/cmd/cloud/sandbox/job/create.d.ts.map +1 -1
  87. package/dist/cmd/cloud/sandbox/job/create.js +3 -4
  88. package/dist/cmd/cloud/sandbox/job/create.js.map +1 -1
  89. package/dist/cmd/cloud/sandbox/job/destroy.d.ts.map +1 -1
  90. package/dist/cmd/cloud/sandbox/job/destroy.js +3 -4
  91. package/dist/cmd/cloud/sandbox/job/destroy.js.map +1 -1
  92. package/dist/cmd/cloud/sandbox/job/get.d.ts.map +1 -1
  93. package/dist/cmd/cloud/sandbox/job/get.js +3 -4
  94. package/dist/cmd/cloud/sandbox/job/get.js.map +1 -1
  95. package/dist/cmd/cloud/sandbox/job/list.d.ts.map +1 -1
  96. package/dist/cmd/cloud/sandbox/job/list.js +3 -4
  97. package/dist/cmd/cloud/sandbox/job/list.js.map +1 -1
  98. package/dist/cmd/cloud/sandbox/job/logs.d.ts.map +1 -1
  99. package/dist/cmd/cloud/sandbox/job/logs.js +4 -4
  100. package/dist/cmd/cloud/sandbox/job/logs.js.map +1 -1
  101. package/dist/cmd/cloud/sandbox/pause.d.ts.map +1 -1
  102. package/dist/cmd/cloud/sandbox/pause.js +21 -5
  103. package/dist/cmd/cloud/sandbox/pause.js.map +1 -1
  104. package/dist/cmd/cloud/sandbox/resume.d.ts.map +1 -1
  105. package/dist/cmd/cloud/sandbox/resume.js +3 -4
  106. package/dist/cmd/cloud/sandbox/resume.js.map +1 -1
  107. package/dist/cmd/cloud/sandbox/run.d.ts.map +1 -1
  108. package/dist/cmd/cloud/sandbox/run.js +36 -7
  109. package/dist/cmd/cloud/sandbox/run.js.map +1 -1
  110. package/dist/cmd/cloud/sandbox/util.d.ts +19 -0
  111. package/dist/cmd/cloud/sandbox/util.d.ts.map +1 -1
  112. package/dist/cmd/cloud/sandbox/util.js +40 -2
  113. package/dist/cmd/cloud/sandbox/util.js.map +1 -1
  114. package/dist/cmd/coder/create.d.ts.map +1 -1
  115. package/dist/cmd/coder/create.js +18 -0
  116. package/dist/cmd/coder/create.js.map +1 -1
  117. package/dist/cmd/coder/index.d.ts.map +1 -1
  118. package/dist/cmd/coder/index.js +4 -0
  119. package/dist/cmd/coder/index.js.map +1 -1
  120. package/dist/cmd/coder/start.d.ts.map +1 -1
  121. package/dist/cmd/coder/start.js +52 -1
  122. package/dist/cmd/coder/start.js.map +1 -1
  123. package/dist/cmd/coder/tui-init.js +1 -1
  124. package/dist/cmd/coder/tui-init.js.map +1 -1
  125. package/dist/cmd/coder/update.d.ts.map +1 -1
  126. package/dist/cmd/coder/update.js +21 -1
  127. package/dist/cmd/coder/update.js.map +1 -1
  128. package/dist/cmd/coder/workspace/create.d.ts.map +1 -1
  129. package/dist/cmd/coder/workspace/create.js +57 -13
  130. package/dist/cmd/coder/workspace/create.js.map +1 -1
  131. package/dist/cmd/coder/workspace/index.d.ts.map +1 -1
  132. package/dist/cmd/coder/workspace/index.js +1 -1
  133. package/dist/cmd/coder/workspace/index.js.map +1 -1
  134. package/dist/cmd/coder/workspace/list.js +2 -2
  135. package/dist/cmd/coder/workspace/list.js.map +1 -1
  136. package/dist/cmd/dev/dev-lock.d.ts.map +1 -1
  137. package/dist/cmd/dev/dev-lock.js +43 -17
  138. package/dist/cmd/dev/dev-lock.js.map +1 -1
  139. package/dist/cmd/dev/index.d.ts.map +1 -1
  140. package/dist/cmd/dev/index.js +211 -125
  141. package/dist/cmd/dev/index.js.map +1 -1
  142. package/dist/cmd/dev/process-manager.d.ts +41 -1
  143. package/dist/cmd/dev/process-manager.d.ts.map +1 -1
  144. package/dist/cmd/dev/process-manager.js +160 -31
  145. package/dist/cmd/dev/process-manager.js.map +1 -1
  146. package/dist/cmd/project/create.d.ts.map +1 -1
  147. package/dist/cmd/project/create.js +0 -2
  148. package/dist/cmd/project/create.js.map +1 -1
  149. package/dist/cmd/project/index.d.ts.map +1 -1
  150. package/dist/cmd/project/index.js +0 -3
  151. package/dist/cmd/project/index.js.map +1 -1
  152. package/dist/cmd/project/template-flow.d.ts +0 -1
  153. package/dist/cmd/project/template-flow.d.ts.map +1 -1
  154. package/dist/cmd/project/template-flow.js +1 -124
  155. package/dist/cmd/project/template-flow.js.map +1 -1
  156. package/dist/types.d.ts +1 -1
  157. package/package.json +7 -7
  158. package/src/cache/resource-region.ts +68 -44
  159. package/src/cmd/ai/prompt/web.md +43 -17
  160. package/src/cmd/build/vite/agent-discovery.ts +4 -4
  161. package/src/cmd/build/vite/bun-dev-server.ts +92 -6
  162. package/src/cmd/build/vite/index.ts +0 -1
  163. package/src/cmd/build/vite/static-renderer.ts +18 -7
  164. package/src/cmd/build/vite/vite-asset-server-config.ts +37 -27
  165. package/src/cmd/build/vite/vite-asset-server.ts +5 -1
  166. package/src/cmd/build/vite/vite-builder.ts +12 -1
  167. package/src/cmd/build/vite/ws-proxy.ts +52 -3
  168. package/src/cmd/cloud/deploy.ts +117 -49
  169. package/src/cmd/cloud/sandbox/checkpoint/create.ts +10 -4
  170. package/src/cmd/cloud/sandbox/checkpoint/delete.ts +10 -4
  171. package/src/cmd/cloud/sandbox/checkpoint/list.ts +10 -4
  172. package/src/cmd/cloud/sandbox/checkpoint/restore.ts +10 -4
  173. package/src/cmd/cloud/sandbox/create.ts +14 -4
  174. package/src/cmd/cloud/sandbox/delete.ts +10 -4
  175. package/src/cmd/cloud/sandbox/env.ts +10 -5
  176. package/src/cmd/cloud/sandbox/exec.ts +157 -42
  177. package/src/cmd/cloud/sandbox/execution/list.ts +10 -5
  178. package/src/cmd/cloud/sandbox/fs/cp.ts +94 -126
  179. package/src/cmd/cloud/sandbox/fs/download.ts +18 -25
  180. package/src/cmd/cloud/sandbox/fs/ls.ts +10 -5
  181. package/src/cmd/cloud/sandbox/fs/mkdir.ts +10 -5
  182. package/src/cmd/cloud/sandbox/fs/rm.ts +10 -5
  183. package/src/cmd/cloud/sandbox/fs/rmdir.ts +10 -5
  184. package/src/cmd/cloud/sandbox/fs/upload.ts +14 -8
  185. package/src/cmd/cloud/sandbox/get.ts +28 -7
  186. package/src/cmd/cloud/sandbox/job/create.ts +10 -4
  187. package/src/cmd/cloud/sandbox/job/destroy.ts +10 -4
  188. package/src/cmd/cloud/sandbox/job/get.ts +10 -4
  189. package/src/cmd/cloud/sandbox/job/list.ts +10 -4
  190. package/src/cmd/cloud/sandbox/job/logs.ts +11 -4
  191. package/src/cmd/cloud/sandbox/pause.ts +31 -5
  192. package/src/cmd/cloud/sandbox/resume.ts +10 -4
  193. package/src/cmd/cloud/sandbox/run.ts +49 -11
  194. package/src/cmd/cloud/sandbox/util.ts +63 -2
  195. package/src/cmd/coder/create.ts +24 -1
  196. package/src/cmd/coder/index.ts +4 -0
  197. package/src/cmd/coder/start.ts +63 -1
  198. package/src/cmd/coder/tui-init.ts +1 -1
  199. package/src/cmd/coder/update.ts +18 -1
  200. package/src/cmd/coder/workspace/create.ts +84 -15
  201. package/src/cmd/coder/workspace/index.ts +3 -1
  202. package/src/cmd/coder/workspace/list.ts +2 -2
  203. package/src/cmd/dev/dev-lock.ts +50 -16
  204. package/src/cmd/dev/index.ts +249 -134
  205. package/src/cmd/dev/process-manager.ts +173 -33
  206. package/src/cmd/project/create.ts +0 -2
  207. package/src/cmd/project/index.ts +0 -3
  208. package/src/cmd/project/template-flow.ts +0 -147
  209. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts +0 -45
  210. package/dist/cmd/build/vite/public-asset-path-plugin.d.ts.map +0 -1
  211. package/dist/cmd/build/vite/public-asset-path-plugin.js +0 -166
  212. package/dist/cmd/build/vite/public-asset-path-plugin.js.map +0 -1
  213. package/dist/cmd/project/auth/generate.d.ts +0 -5
  214. package/dist/cmd/project/auth/generate.d.ts.map +0 -1
  215. package/dist/cmd/project/auth/generate.js +0 -102
  216. package/dist/cmd/project/auth/generate.js.map +0 -1
  217. package/dist/cmd/project/auth/index.d.ts +0 -2
  218. package/dist/cmd/project/auth/index.d.ts.map +0 -1
  219. package/dist/cmd/project/auth/index.js +0 -21
  220. package/dist/cmd/project/auth/index.js.map +0 -1
  221. package/dist/cmd/project/auth/init.d.ts +0 -2
  222. package/dist/cmd/project/auth/init.d.ts.map +0 -1
  223. package/dist/cmd/project/auth/init.js +0 -213
  224. package/dist/cmd/project/auth/init.js.map +0 -1
  225. package/dist/cmd/project/auth/shared.d.ts +0 -93
  226. package/dist/cmd/project/auth/shared.d.ts.map +0 -1
  227. package/dist/cmd/project/auth/shared.js +0 -475
  228. package/dist/cmd/project/auth/shared.js.map +0 -1
  229. package/src/cmd/build/vite/public-asset-path-plugin.ts +0 -209
  230. package/src/cmd/project/auth/generate.ts +0 -116
  231. package/src/cmd/project/auth/index.ts +0 -21
  232. package/src/cmd/project/auth/init.ts +0 -256
  233. package/src/cmd/project/auth/shared.ts +0 -591
@@ -3,11 +3,13 @@ import { Writable } from 'node:stream';
3
3
  import { ErrorCode } from '../../../errors';
4
4
  import { createCommand } from '../../../types';
5
5
  import * as tui from '../../../tui';
6
- import { createSandboxClient } from './util';
6
+ import { createSandboxClient, detectNullStream, resolveSandboxTarget } from './util';
7
7
  import { getCommand } from '../../../command-prefix';
8
- import { sandboxExecute, executionGet, sandboxResolve } from '@agentuity/server';
8
+ import { sandboxExecute, executionGet } from '@agentuity/server';
9
9
  import { streamUrlToWritable } from '../../../utils/stream-url';
10
10
  const EXECUTION_WAIT_DURATION = '5m';
11
+ const EMPTY_STREAM_FAST_POLL_MS = 100;
12
+ const EMPTY_STREAM_FAST_TIMEOUT_MS = 2000;
11
13
  const SandboxExecResponseSchema = z.object({
12
14
  executionId: z.string().describe('Unique execution identifier'),
13
15
  status: z.string().describe('Execution status'),
@@ -59,6 +61,11 @@ export const execSubcommand = createCommand({
59
61
  .default(false)
60
62
  .optional()
61
63
  .describe('Include timestamps in output (default: false)'),
64
+ quiet: z
65
+ .boolean()
66
+ .default(false)
67
+ .optional()
68
+ .describe('Suppress output (do not create stdout/stderr streams)'),
62
69
  }),
63
70
  response: SandboxExecResponseSchema,
64
71
  },
@@ -69,10 +76,31 @@ export const execSubcommand = createCommand({
69
76
  tui.fatal(`Invalid timeout format '${opts.timeout}': expected duration like '5s', '1m', '1h', '300ms'`, ErrorCode.INVALID_ARGUMENT);
70
77
  }
71
78
  }
72
- const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
73
- const { region, orgId } = sandboxInfo;
79
+ const { region, orgId } = await resolveSandboxTarget(logger, auth, apiClient, args.sandboxId, ctx.config?.name ?? 'production', ctx.config);
74
80
  const client = createSandboxClient(logger, auth, region);
75
81
  const started = Date.now();
82
+ // Detect if stdout/stderr are redirected to /dev/null
83
+ const stdoutIsNull = detectNullStream(1);
84
+ const stderrIsNull = detectNullStream(2);
85
+ // Build stream configuration
86
+ const streamConfig = {
87
+ timestamps: opts.timestamps,
88
+ };
89
+ // --quiet: suppress all output streams (no server streams, no local capture)
90
+ if (opts.quiet) {
91
+ streamConfig.stdout = 'ignore';
92
+ streamConfig.stderr = 'ignore';
93
+ }
94
+ else if (!options.json) {
95
+ // Auto-detect /dev/null redirection (only when not in JSON mode)
96
+ // In JSON mode we need output for the response, so keep streams even if redirected
97
+ if (stdoutIsNull) {
98
+ streamConfig.stdout = 'ignore';
99
+ }
100
+ if (stderrIsNull) {
101
+ streamConfig.stderr = 'ignore';
102
+ }
103
+ }
76
104
  const abortController = new AbortController();
77
105
  const handleSignal = () => {
78
106
  abortController.abort();
@@ -87,7 +115,7 @@ export const execSubcommand = createCommand({
87
115
  options: {
88
116
  command: args.command,
89
117
  timeout: opts.timeout,
90
- stream: opts.timestamps !== undefined ? { timestamps: opts.timestamps } : undefined,
118
+ stream: streamConfig,
91
119
  },
92
120
  orgId,
93
121
  });
@@ -105,28 +133,18 @@ export const execSubcommand = createCommand({
105
133
  const outputChunks = [];
106
134
  const stdoutChunks = [];
107
135
  const stderrChunks = [];
108
- let stdoutWritable;
109
- let stderrWritable;
110
- if (options.json) {
111
- if (isCombinedOutput) {
112
- stdoutWritable = createCaptureStream((chunk) => outputChunks.push(chunk));
113
- stderrWritable = createCaptureStream((chunk) => outputChunks.push(chunk));
114
- }
115
- else {
116
- stdoutWritable = createCaptureStream((chunk) => {
117
- stdoutChunks.push(chunk);
118
- outputChunks.push(chunk);
119
- });
120
- stderrWritable = createCaptureStream((chunk) => {
121
- stderrChunks.push(chunk);
122
- outputChunks.push(chunk);
123
- });
124
- }
125
- }
126
- else {
127
- stdoutWritable = process.stdout;
128
- stderrWritable = process.stderr;
129
- }
136
+ const stdoutWritable = options.json || stdoutIsNull
137
+ ? createCaptureStream((chunk) => {
138
+ stdoutChunks.push(chunk);
139
+ outputChunks.push(chunk);
140
+ })
141
+ : process.stdout;
142
+ const stderrWritable = options.json || stderrIsNull
143
+ ? createCaptureStream((chunk) => {
144
+ stderrChunks.push(chunk);
145
+ outputChunks.push(chunk);
146
+ })
147
+ : process.stderr;
130
148
  if (isCombinedOutput) {
131
149
  logger.debug('[exec] starting combined stream: %s', stdoutStreamUrl);
132
150
  streamLabels.push('combined');
@@ -135,7 +153,7 @@ export const execSubcommand = createCommand({
135
153
  label: 'combined',
136
154
  raw: true,
137
155
  v2: true,
138
- }).then(() => { }));
156
+ }));
139
157
  }
140
158
  else {
141
159
  if (stdoutStreamUrl) {
@@ -146,7 +164,7 @@ export const execSubcommand = createCommand({
146
164
  label: 'stdout',
147
165
  raw: true,
148
166
  v2: true,
149
- }).then(() => { }));
167
+ }));
150
168
  }
151
169
  if (stderrStreamUrl) {
152
170
  logger.debug('[exec] starting stderr stream: %s', stderrStreamUrl);
@@ -156,18 +174,49 @@ export const execSubcommand = createCommand({
156
174
  label: 'stderr',
157
175
  raw: true,
158
176
  v2: true,
159
- }).then(() => { }));
177
+ }));
160
178
  }
161
179
  }
162
180
  logger.debug('[exec] %d stream(s) started [%s], now long-polling executionGet', streamPromises.length, streamLabels.join(', '));
163
181
  let finalExecution;
182
+ let streamResults;
164
183
  const pollStart = Date.now();
184
+ const executionWaitAbortController = new AbortController();
165
185
  try {
166
- finalExecution = await executionGet(client, {
186
+ const executionWaitPromise = executionGet(client, {
167
187
  executionId: execution.executionId,
168
188
  orgId,
169
189
  wait: EXECUTION_WAIT_DURATION,
190
+ signal: executionWaitAbortController.signal,
170
191
  });
192
+ if (streamPromises.length > 0) {
193
+ const winner = await Promise.race([
194
+ executionWaitPromise.then((result) => ({ type: 'execution', result })),
195
+ Promise.all(streamPromises).then((results) => ({
196
+ type: 'streams',
197
+ results,
198
+ })),
199
+ ]);
200
+ if (winner.type === 'execution') {
201
+ finalExecution = winner.result;
202
+ }
203
+ else {
204
+ streamResults = winner.results;
205
+ const bytesRead = streamResults.reduce((sum, result) => sum + result.bytesRead, 0);
206
+ if (bytesRead === 0) {
207
+ logger.debug('[exec] all streams EOF with 0 bytes before executionGet completed — switching to fast terminal poll');
208
+ void executionWaitPromise.catch(() => undefined);
209
+ executionWaitAbortController.abort();
210
+ finalExecution = await waitForTerminalExecutionFast(client, execution.executionId, orgId, logger);
211
+ }
212
+ else {
213
+ finalExecution = await executionWaitPromise;
214
+ }
215
+ }
216
+ }
217
+ else {
218
+ finalExecution = await executionWaitPromise;
219
+ }
171
220
  }
172
221
  catch (err) {
173
222
  streamAbortController.abort();
@@ -178,16 +227,19 @@ export const execSubcommand = createCommand({
178
227
  logger.debug('[exec] waiting for %d stream(s) to EOF', streamPromises.length);
179
228
  const streamWaitStart = Date.now();
180
229
  let graceTriggered = false;
181
- const streamGrace = setTimeout(() => {
182
- graceTriggered = true;
183
- logger.debug('[exec] stream grace period (5s) expired after execution complete — aborting streams');
184
- streamAbortController.abort();
185
- }, 5_000);
186
- try {
187
- await Promise.all(streamPromises);
188
- }
189
- finally {
190
- clearTimeout(streamGrace);
230
+ if (!streamResults) {
231
+ const streamGraceMs = 500;
232
+ const streamGrace = setTimeout(() => {
233
+ graceTriggered = true;
234
+ logger.debug('[exec] stream grace period (%dms) expired after execution complete — aborting streams', streamGraceMs);
235
+ streamAbortController.abort();
236
+ }, streamGraceMs);
237
+ try {
238
+ streamResults = await Promise.all(streamPromises);
239
+ }
240
+ finally {
241
+ clearTimeout(streamGrace);
242
+ }
191
243
  }
192
244
  logger.debug('[exec] all streams done in %dms (graceTriggered=%s)', Date.now() - streamWaitStart, graceTriggered);
193
245
  }
@@ -250,5 +302,26 @@ function createCaptureStream(onChunk) {
250
302
  },
251
303
  });
252
304
  }
305
+ const TERMINAL_EXECUTION_STATUSES = new Set([
306
+ 'completed',
307
+ 'failed',
308
+ 'error',
309
+ 'timeout',
310
+ 'killed',
311
+ 'cancelled',
312
+ ]);
313
+ async function waitForTerminalExecutionFast(client, executionId, orgId, logger) {
314
+ const deadline = Date.now() + EMPTY_STREAM_FAST_TIMEOUT_MS;
315
+ while (Date.now() < deadline) {
316
+ const info = await executionGet(client, { executionId, orgId });
317
+ if (TERMINAL_EXECUTION_STATUSES.has(info.status)) {
318
+ logger.debug('[exec] fast terminal poll observed status=%s for executionId=%s', info.status, executionId);
319
+ return info;
320
+ }
321
+ await new Promise((resolve) => setTimeout(resolve, EMPTY_STREAM_FAST_POLL_MS));
322
+ }
323
+ logger.debug('[exec] fast terminal poll timed out after %dms for executionId=%s, falling back to long-poll', EMPTY_STREAM_FAST_TIMEOUT_MS, executionId);
324
+ return executionGet(client, { executionId, orgId, wait: EXECUTION_WAIT_DURATION });
325
+ }
253
326
  export default execSubcommand;
254
327
  //# sourceMappingURL=exec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/sandbox/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACrF,MAAM,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACxE,MAAM,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;IAC9E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACvE,eAAe,EAAE,CAAC;SAChB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC1E,WAAW,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,sEAAsE,CAAC;CAClF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;IACzC,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,2CAA2C,CAAC;YAChE,WAAW,EAAE,gCAAgC;SAC7C;QACD;YACC,OAAO,EAAE,UAAU,CAAC,yDAAyD,CAAC;YAC9E,WAAW,EAAE,sBAAsB;SACnC;KACD;IAED,MAAM,EAAE;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SACzE,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC/E,UAAU,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;SAC3D,CAAC;QACF,QAAQ,EAAE,yBAAyB;KACnC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;QAE7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,KAAK,CACR,2BAA2B,IAAI,CAAC,OAAO,qDAAqD,EAC5F,SAAS,CAAC,gBAAgB,CAC1B,CAAC;YACH,CAAC;QACF,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAEtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,GAAG,EAAE;YACzB,eAAe,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEpC,IAAI,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE;gBAC9C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;iBACnF;gBACD,KAAK;aACL,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CACX,oFAAoF,EACpF,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EACzB,SAAS,CAAC,WAAW,EACrB,SAAS,CAAC,eAAe,IAAI,MAAM,EACnC,SAAS,CAAC,eAAe,IAAI,MAAM,CACnC,CAAC;YAEF,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC5C,GAAG,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;YAClD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;YAClD,MAAM,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAC;YACpD,MAAM,cAAc,GAAoB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,MAAM,gBAAgB,GACrB,eAAe,IAAI,eAAe,IAAI,eAAe,KAAK,eAAe,CAAC;YAC3E,MAAM,CAAC,KAAK,CACX,6DAA6D,EAC7D,gBAAgB,EAChB,eAAe,IAAI,MAAM,EACzB,eAAe,IAAI,MAAM,CACzB,CAAC;YAEF,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,IAAI,cAAqC,CAAC;YAC1C,IAAI,cAAqC,CAAC;YAE1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,gBAAgB,EAAE,CAAC;oBACtB,cAAc,GAAG,mBAAmB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1E,cAAc,GAAG,mBAAmB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACP,cAAc,GAAG,mBAAmB,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC9C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACzB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;oBACH,cAAc,GAAG,mBAAmB,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC9C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACzB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;gBAChC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,eAAe,CAAC,CAAC;gBACrE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,cAAc,CAAC,IAAI,CAClB,mBAAmB,CAAC,eAAgB,EAAE,cAAc,EAAE,MAAM,EAAE;oBAC7D,MAAM,EAAE,qBAAqB,CAAC,MAAM;oBACpC,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,IAAI;oBACT,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,eAAe,CAAC,CAAC;oBACnE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAClB,mBAAmB,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE;wBAC5D,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,KAAK,EAAE,QAAQ;wBACf,GAAG,EAAE,IAAI;wBACT,EAAE,EAAE,IAAI;qBACR,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACjB,CAAC;gBACH,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,eAAe,CAAC,CAAC;oBACnE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,cAAc,CAAC,IAAI,CAClB,mBAAmB,CAAC,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE;wBAC5D,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,KAAK,EAAE,QAAQ;wBACf,GAAG,EAAE,IAAI;wBACT,EAAE,EAAE,IAAI;qBACR,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACjB,CAAC;gBACH,CAAC;YACF,CAAC;YAED,MAAM,CAAC,KAAK,CACX,iEAAiE,EACjE,cAAc,CAAC,MAAM,EACrB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;YAEF,IAAI,cAAwD,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACJ,cAAc,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;oBAC3C,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,KAAK;oBACL,IAAI,EAAE,uBAAuB;iBAC7B,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC;YACX,CAAC;YACD,MAAM,CAAC,KAAK,CACX,8DAA8D,EAC9D,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EACtB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,QAAQ,IAAI,WAAW,CACtC,CAAC;YAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnC,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;oBACnC,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM,CAAC,KAAK,CACX,qFAAqF,CACrF,CAAC;oBACF,qBAAqB,CAAC,KAAK,EAAE,CAAC;gBAC/B,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,CAAC;wBAAS,CAAC;oBACV,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,CAAC,KAAK,CACX,qDAAqD,EACrD,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,EAC5B,cAAc,CACd,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,IAAI,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/C,CAAC;yBAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;YACtC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,YAAY,GACjB,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,MAAM,YAAY,GACjB,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1E,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACnB,GAAG,CAAC,KAAK,CAAC,yBAAyB,cAAc,CAAC,QAAQ,OAAO,QAAQ,IAAI,CAAC,CAAC;gBAChF,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;YAC5C,CAAC;iBAAM,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC9D,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACnB,GAAG,CAAC,KAAK,CACR,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,MAAM,OAAO,QAAQ,IAAI,CAC7F,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACtB,CAAC;qBAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC1B,GAAG,CAAC,IAAI,CACP,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,cAAc,CAAC,MAAM,EAAE,CACtF,CAAC;gBACH,CAAC;YACF,CAAC;YAED,OAAO;gBACN,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;gBACjC,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC/C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;gBAC/C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACzC,eAAe,EAAE,cAAc,CAAC,eAAe,IAAI,SAAS;gBAC5D,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS;aAC/C,CAAC;QACH,CAAC;gBAAS,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;CACD,CAAC,CAAC;AAEH,SAAS,mBAAmB,CAAC,OAAgC;IAC5D,OAAO,IAAI,QAAQ,CAAC;QACnB,KAAK,CACJ,KAAsB,EACtB,SAAiB,EACjB,QAAwC;YAExC,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,EAAE,CAAC;QACZ,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/sandbox/exec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/execution/list.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,cAAc,yCA+FzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/execution/list.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,cAAc,yCAoGzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,9 +1,9 @@
1
- import { executionList, sandboxResolve } from '@agentuity/server';
1
+ import { executionList } from '@agentuity/server';
2
2
  import { z } from 'zod';
3
3
  import { getCommand } from '../../../../command-prefix';
4
4
  import * as tui from '../../../../tui';
5
5
  import { createCommand } from '../../../../types';
6
- import { createSandboxClient } from '../util';
6
+ import { createSandboxClient, resolveSandboxTarget } from '../util';
7
7
  const ExecutionInfoSchema = z.object({
8
8
  executionId: z.string().describe('Execution ID'),
9
9
  sandboxId: z.string().describe('Sandbox ID'),
@@ -49,9 +49,7 @@ export const listSubcommand = createCommand({
49
49
  },
50
50
  async handler(ctx) {
51
51
  const { args, opts, options, auth, logger, apiClient } = ctx;
52
- // Resolve sandbox to get region and orgId (like exec.ts does)
53
- const sandboxInfo = await sandboxResolve(apiClient, args.sandboxId);
54
- const { region, orgId: resolvedOrgId } = sandboxInfo;
52
+ const { region, orgId: resolvedOrgId } = await resolveSandboxTarget(logger, auth, apiClient, args.sandboxId, ctx.config?.name ?? 'production', ctx.config);
55
53
  const effectiveOrgId = opts?.orgId || resolvedOrgId;
56
54
  const client = createSandboxClient(logger, auth, region);
57
55
  const result = await executionList(client, {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/execution/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/execution/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cp.d.ts","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/fs/cp.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,YAAY,yCA8GvB,CAAC;AAmeH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"cp.d.ts","sourceRoot":"","sources":["../../../../../src/cmd/cloud/sandbox/fs/cp.ts"],"names":[],"mappings":"AAiEA,eAAO,MAAM,YAAY,yCAmHvB,CAAC;AAibH,eAAe,YAAY,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import { z } from 'zod';
2
- import { readFileSync, writeFileSync, mkdirSync, statSync, readdirSync } from 'node:fs';
2
+ import { readFileSync, mkdirSync, statSync, readdirSync, createWriteStream, mkdtempSync, rmSync, } from 'node:fs';
3
3
  import { dirname, resolve, basename, join, relative } from 'node:path';
4
+ import { tmpdir } from 'node:os';
5
+ import { pipeline } from 'node:stream/promises';
6
+ import { Readable } from 'node:stream';
7
+ import * as tar from 'tar';
4
8
  import { createCommand } from '../../../../types';
5
9
  import { toForwardSlash } from '../../../../utils/normalize-path';
6
10
  import * as tui from '../../../../tui';
7
- import { createSandboxClient } from '../util';
11
+ import { createSandboxClient, resolveSandboxTarget } from '../util';
8
12
  import { getCommand } from '../../../../command-prefix';
9
- import { sandboxWriteFiles, sandboxReadFile, sandboxExecute, executionGet, sandboxResolve, } from '@agentuity/server';
13
+ import { sandboxWriteFiles, sandboxReadFile, sandboxExecute, executionGet, sandboxDownloadArchive, sandboxUploadArchive, } from '@agentuity/server';
10
14
  const POLL_INTERVAL_MS = 500;
11
15
  const MAX_POLL_ATTEMPTS = 600;
12
16
  function parsePath(pathArg) {
@@ -91,9 +95,7 @@ export const cpSubcommand = createCommand({
91
95
  logger.fatal('At least one path must include a sandbox ID (e.g., sbx_abc123:/path/to/file)');
92
96
  }
93
97
  const sandboxId = source.sandboxId ?? destination.sandboxId;
94
- // Resolve sandbox to get region and orgId using CLI API
95
- const sandboxInfo = await sandboxResolve(apiClient, sandboxId);
96
- const { region, orgId } = sandboxInfo;
98
+ const { region, orgId } = await resolveSandboxTarget(logger, auth, apiClient, sandboxId, ctx.config?.name ?? 'production', ctx.config);
97
99
  const client = createSandboxClient(logger, auth, region);
98
100
  const recursive = opts.recursive ?? false;
99
101
  const strict = opts.strict ?? false;
@@ -208,7 +210,6 @@ async function uploadDirectory(client, logger, orgId, sandboxId, localDir, remot
208
210
  if (allFiles.length === 0) {
209
211
  logger.fatal(`Directory is empty: ${localDir}`);
210
212
  }
211
- const files = [];
212
213
  let totalBytes = 0;
213
214
  const effectiveRemotePath = remotePath || basename(localDir);
214
215
  const baseRemotePath = effectiveRemotePath.endsWith('/')
@@ -238,17 +239,27 @@ async function uploadDirectory(client, logger, orgId, sandboxId, localDir, remot
238
239
  }
239
240
  }
240
241
  for (const filePath of allFiles) {
241
- const relativePath = toForwardSlash(relative(localDir, filePath));
242
- const targetPath = `${baseRemotePath}/${relativePath}`;
243
- const buffer = readFileSync(filePath);
244
- files.push({ path: targetPath, content: buffer });
245
- totalBytes += buffer.length;
242
+ totalBytes += statSync(filePath).size;
243
+ }
244
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-fs-cp-'));
245
+ const archivePath = join(tempDir, 'upload.tar.gz');
246
+ try {
247
+ await createTarGzArchive(localDir, allFiles, archivePath);
248
+ await sandboxUploadArchive(client, {
249
+ sandboxId,
250
+ archive: Bun.file(archivePath).stream(),
251
+ path: baseRemotePath,
252
+ format: 'tar.gz',
253
+ orgId,
254
+ });
255
+ }
256
+ finally {
257
+ rmSync(tempDir, { recursive: true, force: true });
246
258
  }
247
- await sandboxWriteFiles(client, { sandboxId, files, orgId });
248
259
  if (!jsonOutput) {
249
260
  tui.success(`Copied ${localDir} → ${sandboxId}:${baseRemotePath} (${allFiles.length} files, ${totalBytes} bytes)`);
250
261
  }
251
- const implicitDirs = getImplicitDirectories(files.map((f) => f.path));
262
+ const implicitDirs = getImplicitDirectories(allFiles.map((filePath) => `${baseRemotePath}/${toForwardSlash(relative(localDir, filePath))}`));
252
263
  return {
253
264
  source: localDir,
254
265
  destination: `${sandboxId}:${baseRemotePath}`,
@@ -265,16 +276,6 @@ async function downloadFromSandbox(client, logger, orgId, sandboxId, remotePath,
265
276
  }
266
277
  async function downloadSingleFile(client, _logger, orgId, sandboxId, remotePath, localPath, _timeout, jsonOutput) {
267
278
  const stream = await sandboxReadFile(client, { sandboxId, path: remotePath, orgId });
268
- const chunks = [];
269
- const reader = stream.getReader();
270
- while (true) {
271
- const { done, value } = await reader.read();
272
- if (done)
273
- break;
274
- if (value)
275
- chunks.push(value);
276
- }
277
- const buffer = Buffer.concat(chunks);
278
279
  let targetPath = localPath;
279
280
  if (localPath.endsWith('/') || localPath === '.') {
280
281
  targetPath = resolve(localPath, basename(remotePath));
@@ -284,77 +285,48 @@ async function downloadSingleFile(client, _logger, orgId, sandboxId, remotePath,
284
285
  }
285
286
  const dir = dirname(targetPath);
286
287
  mkdirSync(dir, { recursive: true });
287
- writeFileSync(targetPath, buffer);
288
+ await pipeline(Readable.fromWeb(stream), createWriteStream(targetPath));
289
+ const buffer = Bun.file(targetPath);
288
290
  if (!jsonOutput) {
289
- tui.success(`Copied ${sandboxId}:${remotePath} → ${targetPath} (${buffer.length} bytes)`);
291
+ tui.success(`Copied ${sandboxId}:${remotePath} → ${targetPath} (${buffer.size} bytes)`);
290
292
  }
291
293
  return {
292
294
  source: `${sandboxId}:${remotePath}`,
293
295
  destination: targetPath,
294
- bytesTransferred: buffer.length,
296
+ bytesTransferred: buffer.size,
295
297
  filesTransferred: 1,
296
298
  };
297
299
  }
298
- async function downloadDirectory(client, logger, orgId, sandboxId, remotePath, localPath, timeout, jsonOutput) {
299
- const listExecution = await sandboxExecute(client, {
300
- sandboxId,
301
- options: {
302
- command: ['find', remotePath, '-type', 'f'],
303
- timeout,
304
- },
305
- orgId,
306
- });
307
- const listChunks = [];
308
- if (listExecution.stdoutStreamUrl) {
309
- await streamToBuffer(listExecution.stdoutStreamUrl, listChunks, logger);
310
- }
311
- await waitForExecution(client, orgId, listExecution.executionId, logger);
312
- const fileList = Buffer.concat(listChunks)
313
- .toString('utf-8')
314
- .trim()
315
- .split('\n')
316
- .filter((f) => f.length > 0);
317
- if (fileList.length === 0) {
318
- logger.fatal(`No files found in directory: ${remotePath}`);
319
- }
320
- const baseRemotePath = remotePath.endsWith('/') ? remotePath.slice(0, -1) : remotePath;
300
+ async function downloadDirectory(client, _logger, orgId, sandboxId, remotePath, localPath, _timeout, jsonOutput) {
321
301
  const baseLocalPath = resolve(localPath);
322
- let totalBytes = 0;
323
- for (const remoteFile of fileList) {
324
- const relativePath = remoteFile.startsWith(baseRemotePath + '/')
325
- ? remoteFile.slice(baseRemotePath.length + 1)
326
- : basename(remoteFile);
327
- const localFilePath = join(baseLocalPath, relativePath);
328
- try {
329
- const stream = await sandboxReadFile(client, { sandboxId, path: remoteFile, orgId });
330
- const chunks = [];
331
- const reader = stream.getReader();
332
- while (true) {
333
- const { done, value } = await reader.read();
334
- if (done)
335
- break;
336
- if (value)
337
- chunks.push(value);
338
- }
339
- const buffer = Buffer.concat(chunks);
340
- totalBytes += buffer.length;
341
- const dir = dirname(localFilePath);
342
- mkdirSync(dir, { recursive: true });
343
- writeFileSync(localFilePath, buffer);
344
- if (!jsonOutput) {
345
- logger.info(`Downloaded ${remoteFile} (${buffer.length} bytes)`);
346
- }
347
- }
348
- catch (err) {
349
- logger.warn(`Failed to read file: ${remoteFile}, skipping: ${err}`);
350
- continue;
351
- }
302
+ mkdirSync(baseLocalPath, { recursive: true });
303
+ const tempDir = mkdtempSync(join(tmpdir(), 'agentuity-fs-cp-'));
304
+ const archivePath = join(tempDir, 'download.tar.gz');
305
+ try {
306
+ const archiveStream = await sandboxDownloadArchive(client, {
307
+ sandboxId,
308
+ path: remotePath,
309
+ format: 'tar.gz',
310
+ orgId,
311
+ });
312
+ await pipeline(Readable.fromWeb(archiveStream), createWriteStream(archivePath));
313
+ await tar.extract({
314
+ file: archivePath,
315
+ cwd: baseLocalPath,
316
+ preservePaths: false,
317
+ strict: true,
318
+ });
319
+ }
320
+ finally {
321
+ rmSync(tempDir, { recursive: true, force: true });
352
322
  }
323
+ const fileList = getAllFiles(baseLocalPath);
324
+ const totalBytes = fileList.reduce((sum, filePath) => sum + statSync(filePath).size, 0);
353
325
  if (!jsonOutput) {
354
- tui.success(`Copied ${sandboxId}:${baseRemotePath} → ${baseLocalPath} (${fileList.length} files, ${totalBytes} bytes)`);
326
+ tui.success(`Copied ${sandboxId}:${remotePath} → ${baseLocalPath} (${fileList.length} files, ${totalBytes} bytes)`);
355
327
  }
356
328
  return {
357
- source: `${sandboxId}:${baseRemotePath}`,
329
+ source: `${sandboxId}:${remotePath}`,
358
330
  destination: baseLocalPath,
359
331
  bytesTransferred: totalBytes,
360
332
  filesTransferred: fileList.length,
@@ -387,37 +359,13 @@ async function waitForExecution(client, orgId, executionId, logger) {
387
359
  }
388
360
  logger.fatal('Execution timed out waiting for completion');
389
361
  }
390
- async function streamToBuffer(url, chunks, logger) {
391
- const maxRetries = 10;
392
- const retryDelay = 200;
393
- for (let attempt = 0; attempt < maxRetries; attempt++) {
394
- try {
395
- if (attempt > 0) {
396
- logger.debug('stream retry attempt %d', attempt + 1);
397
- await sleep(retryDelay);
398
- }
399
- const response = await fetch(url);
400
- if (!response.ok || !response.body) {
401
- continue;
402
- }
403
- const reader = response.body.getReader();
404
- while (true) {
405
- const { done, value } = await reader.read();
406
- if (done) {
407
- return;
408
- }
409
- if (value) {
410
- chunks.push(Buffer.from(value));
411
- }
412
- }
413
- }
414
- catch (err) {
415
- if (err instanceof Error && err.name === 'AbortError') {
416
- throw err;
417
- }
418
- logger.debug('stream error: %s', err);
419
- }
420
- }
362
+ async function createTarGzArchive(localDir, allFiles, archivePath) {
363
+ const relativePaths = allFiles.map((filePath) => toForwardSlash(relative(localDir, filePath)));
364
+ await tar.create({
365
+ gzip: true,
366
+ file: archivePath,
367
+ cwd: localDir,
368
+ }, relativePaths);
421
369
  }
422
370
  function sleep(ms) {
423
371
  return new Promise((resolve) => setTimeout(resolve, ms));