@agentteams/runner 0.0.114 → 0.0.116

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 (35) hide show
  1. package/dist/api-client.d.ts +1 -0
  2. package/dist/api-client.js +13 -0
  3. package/dist/api-client.js.map +1 -1
  4. package/dist/commands/update.js +1 -7
  5. package/dist/commands/update.js.map +1 -1
  6. package/dist/poller.d.ts +2 -1
  7. package/dist/poller.js +22 -2
  8. package/dist/poller.js.map +1 -1
  9. package/dist/poller.test.js +70 -1
  10. package/dist/poller.test.js.map +1 -1
  11. package/dist/utils/auto-update.d.ts +17 -2
  12. package/dist/utils/auto-update.js +165 -52
  13. package/dist/utils/auto-update.js.map +1 -1
  14. package/dist/utils/auto-update.test.js +357 -7
  15. package/dist/utils/auto-update.test.js.map +1 -1
  16. package/dist/utils/model-enumerator.d.ts +7 -0
  17. package/dist/utils/model-enumerator.js +72 -12
  18. package/dist/utils/model-enumerator.js.map +1 -1
  19. package/dist/utils/model-enumerator.test.js +72 -1
  20. package/dist/utils/model-enumerator.test.js.map +1 -1
  21. package/dist/utils/npm-global-permission.d.ts +18 -0
  22. package/dist/utils/npm-global-permission.js +41 -0
  23. package/dist/utils/npm-global-permission.js.map +1 -0
  24. package/dist/utils/npm-global-permission.test.d.ts +1 -0
  25. package/dist/utils/npm-global-permission.test.js +75 -0
  26. package/dist/utils/npm-global-permission.test.js.map +1 -0
  27. package/dist/utils/npm-install-error.d.ts +12 -0
  28. package/dist/utils/npm-install-error.js +19 -0
  29. package/dist/utils/npm-install-error.js.map +1 -0
  30. package/dist/utils/npm-install-error.test.d.ts +1 -0
  31. package/dist/utils/npm-install-error.test.js +28 -0
  32. package/dist/utils/npm-install-error.test.js.map +1 -0
  33. package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
  34. package/native/bin/win32-x64/manifest.json +2 -2
  35. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { test } from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import { maybeAutoUpdate, resetAutoUpdateState } from './auto-update.js';
4
- test('maybeAutoUpdate calls onRunnerUpdated after successful install', async () => {
4
+ test('maybeAutoUpdate calls onUpdateSucceeded after successful install', async () => {
5
5
  resetAutoUpdateState();
6
6
  let installCalled = false;
7
7
  let notifiedVersion = null;
@@ -18,8 +18,9 @@ test('maybeAutoUpdate calls onRunnerUpdated after successful install', async ()
18
18
  error: () => { },
19
19
  },
20
20
  now: () => Date.now(),
21
- onRunnerUpdated: async (version) => {
22
- notifiedVersion = version;
21
+ canWriteGlobalNpmRoot: () => true,
22
+ onUpdateSucceeded: async (input) => {
23
+ notifiedVersion = input.version;
23
24
  },
24
25
  };
25
26
  const meta = {
@@ -28,9 +29,9 @@ test('maybeAutoUpdate calls onRunnerUpdated after successful install', async ()
28
29
  };
29
30
  await maybeAutoUpdate(meta, deps);
30
31
  assert.ok(installCalled, 'installPackage should be called');
31
- assert.equal(notifiedVersion, '99.9.9', 'onRunnerUpdated should be called with new version');
32
+ assert.equal(notifiedVersion, '99.9.9', 'onUpdateSucceeded should be called with new version');
32
33
  });
33
- test('maybeAutoUpdate does not call onRunnerUpdated again if it already succeeded for that version', async () => {
34
+ test('maybeAutoUpdate does not call onUpdateSucceeded again if it already succeeded for that version', async () => {
34
35
  resetAutoUpdateState();
35
36
  let installCount = 0;
36
37
  let notifyCount = 0;
@@ -45,7 +46,8 @@ test('maybeAutoUpdate does not call onRunnerUpdated again if it already succeede
45
46
  error: () => { },
46
47
  },
47
48
  now: () => Date.now(),
48
- onRunnerUpdated: async () => {
49
+ canWriteGlobalNpmRoot: () => true,
50
+ onUpdateSucceeded: async () => {
49
51
  notifyCount++;
50
52
  },
51
53
  };
@@ -62,6 +64,84 @@ test('maybeAutoUpdate does not call onRunnerUpdated again if it already succeede
62
64
  assert.equal(installCount, 1, 'should not install again');
63
65
  assert.equal(notifyCount, 1, 'should not notify again');
64
66
  });
67
+ /**
68
+ * 실측 재현 로그(리눅스 systemd --user, npm prefix -g = /usr/local):
69
+ * `npm install -g` 자식 프로세스가 EACCES(errno -13)로 죽는다.
70
+ */
71
+ const EACCES_INSTALL_ERROR_MESSAGE = [
72
+ 'Command failed: /usr/bin/npm install -g @agentteams/runner@99.9.9',
73
+ 'npm ERR! code EACCES',
74
+ 'npm ERR! syscall rename',
75
+ 'npm ERR! path /usr/local/lib/node_modules/@agentteams/runner',
76
+ 'npm ERR! errno -13',
77
+ ].join('\n');
78
+ test('maybeAutoUpdate reports EACCES install failure as PERMISSION_DENIED exactly once', async () => {
79
+ resetAutoUpdateState();
80
+ const failures = [];
81
+ const deps = {
82
+ runExecutableSync: (name, args) => {
83
+ if (name === 'npm' && args[0] === 'install') {
84
+ throw new Error(EACCES_INSTALL_ERROR_MESSAGE);
85
+ }
86
+ return '';
87
+ },
88
+ logger: {
89
+ info: () => { },
90
+ warn: () => { },
91
+ error: () => { },
92
+ },
93
+ now: () => 20000000,
94
+ // 프리플라이트는 통과시키고 설치 자체가 EACCES로 죽는 경로를 재현한다.
95
+ canWriteGlobalNpmRoot: () => true,
96
+ onUpdateFailed: async (input) => {
97
+ failures.push(input);
98
+ },
99
+ };
100
+ const meta = {
101
+ cliLatestVersion: null,
102
+ runnerLatestVersion: '99.9.9',
103
+ };
104
+ await maybeAutoUpdate(meta, deps);
105
+ assert.equal(failures.length, 1, 'onUpdateFailed should be called exactly once');
106
+ assert.equal(failures[0]?.package, 'runner');
107
+ assert.equal(failures[0]?.version, '99.9.9');
108
+ assert.equal(failures[0]?.reason, 'PERMISSION_DENIED');
109
+ });
110
+ test('maybeAutoUpdate does not retry a permission-blocked install within 24 hours', async () => {
111
+ resetAutoUpdateState();
112
+ let installCount = 0;
113
+ let failureCount = 0;
114
+ const deps = {
115
+ runExecutableSync: (name, args) => {
116
+ if (name === 'npm' && args[0] === 'install') {
117
+ installCount++;
118
+ throw new Error(EACCES_INSTALL_ERROR_MESSAGE);
119
+ }
120
+ return '';
121
+ },
122
+ logger: {
123
+ info: () => { },
124
+ warn: () => { },
125
+ error: () => { },
126
+ },
127
+ now: () => 20000000,
128
+ canWriteGlobalNpmRoot: () => true,
129
+ onUpdateFailed: async () => {
130
+ failureCount++;
131
+ },
132
+ };
133
+ const meta = {
134
+ cliLatestVersion: null,
135
+ runnerLatestVersion: '99.9.9',
136
+ };
137
+ await maybeAutoUpdate(meta, deps);
138
+ assert.equal(installCount, 1, 'first poll should attempt the install');
139
+ assert.equal(failureCount, 1, 'first poll should report the failure');
140
+ // 기존 1시간 쿨다운은 지났지만 권한 차단 백오프(24시간) 안이므로 재시도하지 않는다.
141
+ await maybeAutoUpdate(meta, { ...deps, now: () => 20000000 + 2 * 60 * 60 * 1000 });
142
+ assert.equal(installCount, 1, 'should not retry install within the permission-blocked backoff');
143
+ assert.equal(failureCount, 1, 'should not report the same failure again');
144
+ });
65
145
  test('maybeAutoUpdate RETRIES notification if it failed before', async () => {
66
146
  resetAutoUpdateState();
67
147
  let notifyCount = 0;
@@ -74,7 +154,8 @@ test('maybeAutoUpdate RETRIES notification if it failed before', async () => {
74
154
  error: () => { },
75
155
  },
76
156
  now: () => 10000000,
77
- onRunnerUpdated: async () => {
157
+ canWriteGlobalNpmRoot: () => true,
158
+ onUpdateSucceeded: async () => {
78
159
  if (shouldFailNotify) {
79
160
  shouldFailNotify = false;
80
161
  throw new Error('Network error');
@@ -97,4 +178,273 @@ test('maybeAutoUpdate RETRIES notification if it failed before', async () => {
97
178
  console.log('Second call done. notifyCount:', notifyCount);
98
179
  assert.equal(notifyCount, 1, 'Should retry notification successfully');
99
180
  });
181
+ test('maybeAutoUpdate skips the install entirely when the global npm root is not writable', async () => {
182
+ resetAutoUpdateState();
183
+ const commands = [];
184
+ const failures = [];
185
+ const warnings = [];
186
+ const deps = {
187
+ runExecutableSync: (name, args) => {
188
+ commands.push({ name, args });
189
+ return '';
190
+ },
191
+ logger: {
192
+ info: () => { },
193
+ warn: (message) => {
194
+ warnings.push(message);
195
+ },
196
+ error: () => { },
197
+ },
198
+ now: () => 30000000,
199
+ canWriteGlobalNpmRoot: () => false,
200
+ onUpdateFailed: async (input) => {
201
+ failures.push(input);
202
+ },
203
+ };
204
+ const meta = {
205
+ cliLatestVersion: null,
206
+ runnerLatestVersion: '99.9.9',
207
+ };
208
+ await maybeAutoUpdate(meta, deps);
209
+ assert.equal(commands.filter((command) => command.name === 'npm' && command.args[0] === 'install').length, 0, 'npm install -g should not run when the preflight says the global npm root is not writable');
210
+ assert.equal(failures.length, 1);
211
+ assert.equal(failures[0]?.reason, 'PERMISSION_DENIED');
212
+ assert.equal(warnings.length, 1, 'the remediation hint should be logged once per target version');
213
+ });
214
+ test('maybeAutoUpdate falls back to attempting the install when the preflight cannot decide', async () => {
215
+ resetAutoUpdateState();
216
+ let installCalled = false;
217
+ const deps = {
218
+ runExecutableSync: (name, args) => {
219
+ if (name === 'npm' && args[0] === 'install') {
220
+ installCalled = true;
221
+ }
222
+ return '';
223
+ },
224
+ logger: {
225
+ info: () => { },
226
+ warn: () => { },
227
+ error: () => { },
228
+ },
229
+ now: () => 40000000,
230
+ canWriteGlobalNpmRoot: () => {
231
+ throw new Error('npm prefix -g failed');
232
+ },
233
+ onUpdateFailed: async () => { },
234
+ };
235
+ const meta = {
236
+ cliLatestVersion: null,
237
+ runnerLatestVersion: '99.9.9',
238
+ };
239
+ await maybeAutoUpdate(meta, deps);
240
+ assert.ok(installCalled, 'fail-open: an undecidable preflight must not block the install');
241
+ });
242
+ test('maybeAutoUpdate retries immediately when the permission-blocked target version changes', async () => {
243
+ resetAutoUpdateState();
244
+ let installCount = 0;
245
+ const failures = [];
246
+ const deps = {
247
+ runExecutableSync: (name, args) => {
248
+ if (name === 'npm' && args[0] === 'install') {
249
+ installCount++;
250
+ throw new Error('npm ERR! code EACCES');
251
+ }
252
+ return '';
253
+ },
254
+ logger: {
255
+ info: () => { },
256
+ warn: () => { },
257
+ error: () => { },
258
+ },
259
+ now: () => 50000000,
260
+ canWriteGlobalNpmRoot: () => true,
261
+ onUpdateFailed: async (input) => {
262
+ failures.push(input);
263
+ },
264
+ };
265
+ await maybeAutoUpdate({ cliLatestVersion: null, runnerLatestVersion: '99.9.9' }, deps);
266
+ assert.equal(installCount, 1);
267
+ // 대상 버전이 바뀌면 24시간 백오프와 무관하게 다시 시도한다(1시간 쿨다운만 적용).
268
+ await maybeAutoUpdate({ cliLatestVersion: null, runnerLatestVersion: '99.9.10' }, { ...deps, now: () => 50000000 + 60 * 60 * 1000 + 1 });
269
+ assert.equal(installCount, 2, 'a new target version should be attempted again');
270
+ assert.deepEqual(failures.map((failure) => failure.version), ['99.9.9', '99.9.10']);
271
+ });
272
+ test('maybeAutoUpdate retries the failure report when the server call failed', async () => {
273
+ resetAutoUpdateState();
274
+ let reportAttempts = 0;
275
+ let shouldFailReport = true;
276
+ const deps = {
277
+ runExecutableSync: () => '',
278
+ logger: {
279
+ info: () => { },
280
+ warn: () => { },
281
+ error: () => { },
282
+ },
283
+ now: () => 60000000,
284
+ canWriteGlobalNpmRoot: () => false,
285
+ onUpdateFailed: async () => {
286
+ reportAttempts++;
287
+ if (shouldFailReport) {
288
+ shouldFailReport = false;
289
+ throw new Error('Network error');
290
+ }
291
+ },
292
+ };
293
+ const meta = {
294
+ cliLatestVersion: null,
295
+ runnerLatestVersion: '99.9.9',
296
+ };
297
+ await maybeAutoUpdate(meta, deps);
298
+ assert.equal(reportAttempts, 1);
299
+ // 보고 실패는 수렴 대상이 아니다. 24시간 백오프가 지난 뒤 다시 보고를 시도한다.
300
+ await maybeAutoUpdate(meta, { ...deps, now: () => 60000000 + 24 * 60 * 60 * 1000 + 1 });
301
+ assert.equal(reportAttempts, 2, 'a failed report should be retried');
302
+ // 보고에 성공했으면 같은 대상 버전으로 다시 보내지 않는다.
303
+ await maybeAutoUpdate(meta, { ...deps, now: () => 60000000 + 48 * 60 * 60 * 1000 + 2 });
304
+ assert.equal(reportAttempts, 2, 'a succeeded report should converge to once per target version');
305
+ });
306
+ test('maybeAutoUpdate retries the failure report on the next poll even while the install is permission-blocked', async () => {
307
+ resetAutoUpdateState();
308
+ let installCount = 0;
309
+ let reportAttempts = 0;
310
+ let shouldFailReport = true;
311
+ const deps = {
312
+ runExecutableSync: (name, args) => {
313
+ if (name === 'npm' && args[0] === 'install') {
314
+ installCount++;
315
+ throw new Error(EACCES_INSTALL_ERROR_MESSAGE);
316
+ }
317
+ return '';
318
+ },
319
+ logger: {
320
+ info: () => { },
321
+ warn: () => { },
322
+ error: () => { },
323
+ },
324
+ now: () => 70000000,
325
+ canWriteGlobalNpmRoot: () => true,
326
+ onUpdateFailed: async () => {
327
+ reportAttempts++;
328
+ if (shouldFailReport) {
329
+ shouldFailReport = false;
330
+ throw new Error('Network error');
331
+ }
332
+ },
333
+ };
334
+ const meta = {
335
+ cliLatestVersion: null,
336
+ runnerLatestVersion: '99.9.9',
337
+ };
338
+ await maybeAutoUpdate(meta, deps);
339
+ assert.equal(installCount, 1);
340
+ assert.equal(reportAttempts, 1, 'the first poll should attempt the report');
341
+ // 설치는 24시간 권한 백오프에 걸려 있어도, 미전송 보고는 바로 다음 폴링에서 재시도된다.
342
+ await maybeAutoUpdate(meta, { ...deps, now: () => 70000000 + 60 * 1000 });
343
+ assert.equal(installCount, 1, 'the install must stay inside the permission-blocked backoff');
344
+ assert.equal(reportAttempts, 2, 'an unsent failure report must be retried on the very next poll');
345
+ // 보고에 성공했으면 같은 (version, reason)으로 다시 보내지 않는다.
346
+ await maybeAutoUpdate(meta, { ...deps, now: () => 70000000 + 2 * 60 * 1000 });
347
+ assert.equal(reportAttempts, 2, 'a succeeded report should converge');
348
+ });
349
+ test('maybeAutoUpdate reports a changed failure reason for the same target version', async () => {
350
+ resetAutoUpdateState();
351
+ const failures = [];
352
+ let installError = new Error('npm ERR! network timeout');
353
+ const deps = {
354
+ runExecutableSync: (name, args) => {
355
+ if (name === 'npm' && args[0] === 'install') {
356
+ throw installError;
357
+ }
358
+ return '';
359
+ },
360
+ logger: {
361
+ info: () => { },
362
+ warn: () => { },
363
+ error: () => { },
364
+ },
365
+ now: () => 80000000,
366
+ canWriteGlobalNpmRoot: () => true,
367
+ onUpdateFailed: async (input) => {
368
+ failures.push(input);
369
+ },
370
+ };
371
+ const meta = {
372
+ cliLatestVersion: null,
373
+ runnerLatestVersion: '99.9.9',
374
+ };
375
+ await maybeAutoUpdate(meta, deps);
376
+ assert.deepEqual(failures.map((failure) => failure.reason), ['UNKNOWN']);
377
+ // 같은 대상 버전이라도 사유가 바뀌면 서버가 새 상태로 취급하므로 다시 보고해야 한다.
378
+ installError = new Error(EACCES_INSTALL_ERROR_MESSAGE);
379
+ await maybeAutoUpdate(meta, { ...deps, now: () => 80000000 + 60 * 60 * 1000 + 1 });
380
+ assert.deepEqual(failures.map((failure) => failure.reason), ['UNKNOWN', 'PERMISSION_DENIED']);
381
+ // 완전히 동일한 (version, reason)만 억제된다.
382
+ await maybeAutoUpdate(meta, { ...deps, now: () => 80000000 + 25 * 60 * 60 * 1000 });
383
+ assert.equal(failures.length, 2, 'an identical (version, reason) report must be suppressed');
384
+ });
385
+ test('maybeAutoUpdate attempts a new target version immediately after a permission failure', async () => {
386
+ resetAutoUpdateState();
387
+ const attemptedVersions = [];
388
+ const deps = {
389
+ runExecutableSync: (name, args) => {
390
+ if (name === 'npm' && args[0] === 'install') {
391
+ attemptedVersions.push(String(args[2]));
392
+ throw new Error(EACCES_INSTALL_ERROR_MESSAGE);
393
+ }
394
+ return '';
395
+ },
396
+ logger: {
397
+ info: () => { },
398
+ warn: () => { },
399
+ error: () => { },
400
+ },
401
+ now: () => 90000000,
402
+ canWriteGlobalNpmRoot: () => true,
403
+ onUpdateFailed: async () => { },
404
+ };
405
+ await maybeAutoUpdate({ cliLatestVersion: null, runnerLatestVersion: '99.9.9' }, deps);
406
+ assert.deepEqual(attemptedVersions, ['@agentteams/runner@99.9.9']);
407
+ // 실패 직후 1분 만에 새 버전이 배포되면 쿨다운을 기다리지 않고 즉시 시도한다.
408
+ await maybeAutoUpdate({ cliLatestVersion: null, runnerLatestVersion: '99.9.10' }, { ...deps, now: () => 90000000 + 60 * 1000 });
409
+ assert.deepEqual(attemptedVersions, ['@agentteams/runner@99.9.9', '@agentteams/runner@99.9.10']);
410
+ });
411
+ test('maybeAutoUpdate reports a CLI install success so the server can clear the CLI failure', async () => {
412
+ resetAutoUpdateState();
413
+ const successes = [];
414
+ const failures = [];
415
+ let canWrite = false;
416
+ const deps = {
417
+ runExecutableSync: (name, args) => {
418
+ if (name === 'npm' && args[0] === 'list') {
419
+ return JSON.stringify({ dependencies: { '@agentteams/cli': { version: '1.0.0' } } });
420
+ }
421
+ return '';
422
+ },
423
+ logger: {
424
+ info: () => { },
425
+ warn: () => { },
426
+ error: () => { },
427
+ },
428
+ now: () => 100000000,
429
+ canWriteGlobalNpmRoot: () => canWrite,
430
+ onUpdateSucceeded: async (input) => {
431
+ successes.push(input);
432
+ },
433
+ onUpdateFailed: async (input) => {
434
+ failures.push(input);
435
+ },
436
+ };
437
+ const meta = {
438
+ cliLatestVersion: '1.1.0',
439
+ runnerLatestVersion: null,
440
+ };
441
+ await maybeAutoUpdate(meta, deps);
442
+ assert.equal(failures.length, 1, 'the blocked CLI install should be reported');
443
+ assert.equal(failures[0]?.package, 'cli');
444
+ assert.equal(successes.length, 0);
445
+ // 사용자가 권한을 고친 뒤 새 대상 버전이 나오면 즉시 재시도되고, 성공은 패키지와 함께 보고된다.
446
+ canWrite = true;
447
+ await maybeAutoUpdate({ cliLatestVersion: '1.1.1', runnerLatestVersion: null }, { ...deps, canWriteGlobalNpmRoot: () => canWrite, now: () => 100000000 + 60 * 1000 });
448
+ assert.deepEqual(successes, [{ package: 'cli', version: '1.1.1' }]);
449
+ });
100
450
  //# sourceMappingURL=auto-update.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-update.test.js","sourceRoot":"","sources":["../../src/utils/auto-update.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-update.test.js","sourceRoot":"","sources":["../../src/utils/auto-update.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RunnerType } from '@agentteams/core-constants';
2
+ export declare const sanitizeErrorOutput: (output: string) => string;
2
3
  export type EnumeratedModel = {
3
4
  value: string;
4
5
  label: string;
@@ -18,6 +19,12 @@ export type ModelEnumeratorDependencies = {
18
19
  platform: () => NodeJS.Platform;
19
20
  resolveExecutable: (name: string, preferredNames: string[]) => string;
20
21
  };
22
+ export declare const executeModelEnumerationCommand: (executablePath: string, args: string[], options?: {
23
+ timeoutMs?: number;
24
+ maxBufferBytes?: number;
25
+ }) => Promise<{
26
+ stdout: string;
27
+ }>;
21
28
  export declare const parseKiroModels: (output: string) => ModelEnumerationResult;
22
29
  export declare const parseOpenCodeVerboseModels: (output: string) => ModelEnumerationResult;
23
30
  type LineModelShape = 'tab' | 'slash';
@@ -1,24 +1,84 @@
1
- import { execFile } from 'node:child_process';
1
+ import { spawn } from 'node:child_process';
2
2
  import { platform } from 'node:os';
3
- import { promisify } from 'node:util';
4
3
  import { resolveExecutablePathWithPreference } from '../executable.js';
4
+ import { sanitizeAntigravityInternalLogLine } from '../runners/antigravity.js';
5
5
  import { RUNNER_CAPABILITIES } from '../runners/capabilities.js';
6
6
  import { getGrokExecutablePreference } from '../runners/grok-build.js';
7
7
  import { getKiroExecutablePreference } from '../runners/kiro-cli.js';
8
- const execFileAsync = promisify(execFile);
9
8
  const RESERVED_MODEL_PREFIX = '__fast__:';
10
9
  const ENUMERATION_TIMEOUT_MS = 30_000;
11
- const defaultDependencies = {
12
- execute: async (executablePath, args) => {
13
- const { stdout } = await execFileAsync(executablePath, args, {
14
- encoding: 'utf8',
10
+ const MAX_ERROR_OUTPUT_LENGTH = 500;
11
+ export const sanitizeErrorOutput = (output) => {
12
+ const trimmed = output.trim();
13
+ if (trimmed.length === 0)
14
+ return '';
15
+ const sanitized = sanitizeAntigravityInternalLogLine(trimmed);
16
+ if (sanitized.length <= MAX_ERROR_OUTPUT_LENGTH) {
17
+ return sanitized;
18
+ }
19
+ return `${sanitized.slice(0, MAX_ERROR_OUTPUT_LENGTH)}...`;
20
+ };
21
+ export const executeModelEnumerationCommand = (executablePath, args, options = {}) => {
22
+ const timeoutMs = options.timeoutMs ?? ENUMERATION_TIMEOUT_MS;
23
+ const maxBuffer = options.maxBufferBytes ?? 10 * 1024 * 1024;
24
+ return new Promise((resolve, reject) => {
25
+ const child = spawn(executablePath, args, {
26
+ stdio: ['ignore', 'pipe', 'pipe'],
15
27
  windowsHide: true,
16
- timeout: ENUMERATION_TIMEOUT_MS,
17
- killSignal: 'SIGKILL',
18
- maxBuffer: 10 * 1024 * 1024,
19
28
  });
20
- return { stdout: String(stdout) };
21
- },
29
+ let stdout = '';
30
+ let stderr = '';
31
+ let stdoutBytes = 0;
32
+ let timedOut = false;
33
+ let killed = false;
34
+ const timer = setTimeout(() => {
35
+ timedOut = true;
36
+ killed = true;
37
+ child.kill('SIGKILL');
38
+ }, timeoutMs);
39
+ child.stdout.on('data', (chunk) => {
40
+ const str = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
41
+ stdoutBytes += Buffer.byteLength(str);
42
+ if (stdoutBytes > maxBuffer && !killed) {
43
+ killed = true;
44
+ child.kill('SIGKILL');
45
+ clearTimeout(timer);
46
+ reject(new Error(`stdout maxBuffer exceeded (${maxBuffer} bytes)`));
47
+ return;
48
+ }
49
+ stdout += str;
50
+ });
51
+ child.stderr.on('data', (chunk) => {
52
+ const str = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
53
+ if (stderr.length < 64 * 1024) {
54
+ stderr += str.slice(0, 64 * 1024 - stderr.length);
55
+ }
56
+ });
57
+ child.on('error', (err) => {
58
+ clearTimeout(timer);
59
+ reject(err);
60
+ });
61
+ child.on('close', (code, signal) => {
62
+ clearTimeout(timer);
63
+ if (timedOut) {
64
+ reject(new Error(`Command timed out after ${timeoutMs}ms: ${executablePath} ${args.join(' ')}`));
65
+ return;
66
+ }
67
+ if (code !== 0) {
68
+ const exitInfo = signal ? `signal ${signal}` : `exit code ${code}`;
69
+ const trimmedStderr = stderr.trim();
70
+ const rawMessage = trimmedStderr
71
+ ? `Command failed (${exitInfo}): ${executablePath} ${args.join(' ')}\n${trimmedStderr}`
72
+ : `Command failed (${exitInfo}): ${executablePath} ${args.join(' ')}`;
73
+ reject(new Error(sanitizeErrorOutput(rawMessage)));
74
+ return;
75
+ }
76
+ resolve({ stdout });
77
+ });
78
+ });
79
+ };
80
+ const defaultDependencies = {
81
+ execute: (executablePath, args) => executeModelEnumerationCommand(executablePath, args),
22
82
  platform,
23
83
  resolveExecutable: resolveExecutablePathWithPreference,
24
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model-enumerator.js","sourceRoot":"","sources":["../../src/utils/model-enumerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-enumerator.js","sourceRoot":"","sources":["../../src/utils/model-enumerator.ts"],"names":[],"mappings":"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"}