@agentteams/runner 0.0.123 → 0.0.125

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 (60) hide show
  1. package/dist/api-client.test.js +40 -0
  2. package/dist/api-client.test.js.map +1 -1
  3. package/dist/config.js +14 -5
  4. package/dist/config.js.map +1 -1
  5. package/dist/config.test.js +31 -2
  6. package/dist/config.test.js.map +1 -1
  7. package/dist/executable.js +3 -1
  8. package/dist/executable.js.map +1 -1
  9. package/dist/executable.test.js +11 -0
  10. package/dist/executable.test.js.map +1 -1
  11. package/dist/handlers/trigger-handler.d.ts +16 -0
  12. package/dist/handlers/trigger-handler.js +35 -2
  13. package/dist/handlers/trigger-handler.js.map +1 -1
  14. package/dist/handlers/trigger-handler.test.js +90 -1
  15. package/dist/handlers/trigger-handler.test.js.map +1 -1
  16. package/dist/poller.test.js +6 -1
  17. package/dist/poller.test.js.map +1 -1
  18. package/dist/runners/capabilities.d.ts +4 -1
  19. package/dist/runners/capabilities.js +17 -2
  20. package/dist/runners/capabilities.js.map +1 -1
  21. package/dist/runners/capabilities.test.js +23 -4
  22. package/dist/runners/capabilities.test.js.map +1 -1
  23. package/dist/runners/engine-commands.js +3 -0
  24. package/dist/runners/engine-commands.js.map +1 -1
  25. package/dist/runners/index.js +3 -0
  26. package/dist/runners/index.js.map +1 -1
  27. package/dist/runners/index.test.js +2 -0
  28. package/dist/runners/index.test.js.map +1 -1
  29. package/dist/runners/muse-code-identity.d.ts +8 -0
  30. package/dist/runners/muse-code-identity.js +18 -0
  31. package/dist/runners/muse-code-identity.js.map +1 -0
  32. package/dist/runners/muse-code-json-parser.d.ts +14 -0
  33. package/dist/runners/muse-code-json-parser.js +168 -0
  34. package/dist/runners/muse-code-json-parser.js.map +1 -0
  35. package/dist/runners/muse-code.d.ts +28 -0
  36. package/dist/runners/muse-code.js +327 -0
  37. package/dist/runners/muse-code.js.map +1 -0
  38. package/dist/runners/muse-code.test.d.ts +1 -0
  39. package/dist/runners/muse-code.test.js +237 -0
  40. package/dist/runners/muse-code.test.js.map +1 -0
  41. package/dist/types.d.ts +3 -0
  42. package/dist/utils/engine-probe.js +5 -2
  43. package/dist/utils/engine-probe.js.map +1 -1
  44. package/dist/utils/engine-probe.test.js +10 -0
  45. package/dist/utils/engine-probe.test.js.map +1 -1
  46. package/dist/utils/model-enumerator.d.ts +19 -0
  47. package/dist/utils/model-enumerator.js +88 -0
  48. package/dist/utils/model-enumerator.js.map +1 -1
  49. package/dist/utils/model-enumerator.test.js +47 -1
  50. package/dist/utils/model-enumerator.test.js.map +1 -1
  51. package/dist/utils/muse-code-models.d.ts +9 -0
  52. package/dist/utils/muse-code-models.js +81 -0
  53. package/dist/utils/muse-code-models.js.map +1 -0
  54. package/dist/utils/muse-code-models.test.d.ts +1 -0
  55. package/dist/utils/muse-code-models.test.js +81 -0
  56. package/dist/utils/muse-code-models.test.js.map +1 -0
  57. package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
  58. package/native/bin/win32-x64/manifest.json +2 -2
  59. package/package.json +1 -1
  60. package/readme.md +12 -12
@@ -8,6 +8,7 @@ import { describe, test } from 'node:test';
8
8
  import { fileURLToPath } from 'node:url';
9
9
  import { enumerateModels, executeModelEnumerationCommand, parseCursorModels, parseGrokModels, parseKiroModels, parseOmpModels, parseLineModels, parseOpenCodeVerboseModels, sanitizeErrorOutput, } from './model-enumerator.js';
10
10
  const fixture = (name) => readFile(fileURLToPath(new URL(`../runners/fixtures/${name}`, import.meta.url)), 'utf8');
11
+ const asEnumeratedMeta = (model) => model;
11
12
  describe('model enumerator parsers', () => {
12
13
  test('parses OpenCode labels and context limits while allowing a missing context', async () => {
13
14
  const result = parseOpenCodeVerboseModels(await fixture('opencode-models-verbose.txt'));
@@ -192,13 +193,58 @@ describe('enumerateModels', () => {
192
193
  });
193
194
  test('does not enumerate unsupported runners', async () => {
194
195
  let called = false;
195
- const result = await enumerateModels('CODEX', dependencies(async () => {
196
+ const result = await enumerateModels('CLAUDE_CODE', dependencies(async () => {
196
197
  called = true;
197
198
  return { stdout: '' };
198
199
  }));
199
200
  assert.deepEqual(result, { status: 'UNSUPPORTED' });
200
201
  assert.equal(called, false);
201
202
  });
203
+ test('enumerates Codex models from debug catalog JSON with effort and fastMode metadata', async () => {
204
+ const calls = [];
205
+ const result = await enumerateModels('CODEX', dependencies(async (executable, args) => {
206
+ calls.push({ executable, args });
207
+ return { stdout: await fixture('codex-debug-models.json') };
208
+ }));
209
+ assert.deepEqual(calls, [{ executable: '/bin/codex', args: ['debug', 'models'] }]);
210
+ assert.equal(result.status, 'SUCCESS');
211
+ if (result.status !== 'SUCCESS')
212
+ return;
213
+ const sol = result.values.find((model) => model.value === 'gpt-5.6-sol');
214
+ const luna = result.values.find((model) => model.value === 'gpt-5.6-luna');
215
+ assert.ok(sol, 'visible catalog models must be present');
216
+ assert.ok(luna, 'visible catalog models must be present');
217
+ assert.equal(sol.label, 'GPT-5.6-Sol');
218
+ assert.equal(sol.maxInputTokens, 272000);
219
+ assert.deepEqual(asEnumeratedMeta(sol).supportedEffortLevels, ['low', 'medium', 'high', 'xhigh', 'max', 'ultra']);
220
+ assert.equal(asEnumeratedMeta(sol).fastModeSupported, true);
221
+ assert.equal(luna.label, 'GPT-5.6-Luna');
222
+ assert.deepEqual(asEnumeratedMeta(luna).supportedEffortLevels, ['low', 'medium', 'high', 'xhigh', 'max']);
223
+ assert.equal(asEnumeratedMeta(luna).fastModeSupported, true);
224
+ });
225
+ test('excludes hidden Codex entries while retaining CLI-runnable entries unsupported by the platform API', async () => {
226
+ const result = await enumerateModels('CODEX', dependencies(async () => ({ stdout: await fixture('codex-debug-models.json') })));
227
+ assert.equal(result.status, 'SUCCESS');
228
+ if (result.status !== 'SUCCESS')
229
+ return;
230
+ const values = result.values.map((model) => model.value);
231
+ assert.ok(values.includes('gpt-5.6-sol'));
232
+ assert.ok(values.includes('gpt-5.6-luna'));
233
+ assert.ok(!values.includes('gpt-reserve'), 'visibility: hide entries must not be reported');
234
+ assert.ok(values.includes('gpt-5.3-codex-spark'), 'supported_in_api: false still allows Codex CLI execution');
235
+ });
236
+ test('classifies non-JSON or models-key-missing Codex output as FORMAT_MISMATCH without throwing', async () => {
237
+ const notJson = await enumerateModels('CODEX', dependencies(async () => ({ stdout: 'Available models:\n- gpt-5.2\n' })));
238
+ assert.equal(notJson.status, 'FORMAT_MISMATCH');
239
+ const missingModelsKey = await enumerateModels('CODEX', dependencies(async () => ({ stdout: JSON.stringify({ catalog: [] }) })));
240
+ assert.equal(missingModelsKey.status, 'FORMAT_MISMATCH');
241
+ });
242
+ test('classifies Codex enumeration command failures instead of throwing', async () => {
243
+ const result = await enumerateModels('CODEX', dependencies(async () => {
244
+ throw new Error('codex debug models failed');
245
+ }));
246
+ assert.equal(result.status, 'COMMAND_FAILED');
247
+ });
202
248
  test('enumerates OMP models from JSON output', async () => {
203
249
  const calls = [];
204
250
  const result = await enumerateModels('OMP', dependencies(async (_executable, args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"model-enumerator.test.js","sourceRoot":"","sources":["../../src/utils/model-enumerator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-enumerator.test.js","sourceRoot":"","sources":["../../src/utils/model-enumerator.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { spawn } from 'node:child_process';
2
+ export declare const executeMuseCodeModelList: (executable: string, options?: {
3
+ spawn?: typeof spawn;
4
+ platform?: () => NodeJS.Platform;
5
+ timeoutMs?: number;
6
+ maxBufferBytes?: number;
7
+ }) => Promise<{
8
+ stdout: string;
9
+ }>;
@@ -0,0 +1,81 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { StringDecoder } from 'node:string_decoder';
3
+ import { buildPowerShellCommand } from '../executable.js';
4
+ // muse serve는 initialize 응답 뒤 initialized 알림을 받아야 model/list를 허용한다.
5
+ export const executeMuseCodeModelList = (executable, options = {}) => new Promise((resolve, reject) => {
6
+ const spawnProcess = options.spawn ?? spawn;
7
+ const isWindows = (options.platform?.() ?? process.platform) === 'win32';
8
+ const child = isWindows
9
+ ? spawnProcess('powershell.exe', ['-NoLogo', '-NonInteractive', '-Command', buildPowerShellCommand(executable, ['serve'])], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] })
10
+ : spawnProcess(executable, ['serve'], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] });
11
+ let settled = false;
12
+ let initialized = false;
13
+ let buffer = '';
14
+ let bytes = 0;
15
+ const decoder = new StringDecoder('utf8');
16
+ const finish = (error, result) => {
17
+ if (settled)
18
+ return;
19
+ settled = true;
20
+ clearTimeout(timer);
21
+ child.stdin.end();
22
+ child.kill('SIGKILL');
23
+ if (error)
24
+ reject(error);
25
+ else
26
+ resolve({ stdout: JSON.stringify(result) });
27
+ };
28
+ const timer = setTimeout(() => finish(new Error('Muse Code model enumeration timed out')), options.timeoutMs ?? 30_000);
29
+ const send = (frame) => child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', ...frame })}\n`);
30
+ child.on('error', (error) => finish(error));
31
+ child.stdin.on('error', (error) => finish(error));
32
+ child.stderr.resume();
33
+ child.on('close', (code) => finish(new Error(`Muse Code MSP closed before model/list (exit ${code})`)));
34
+ child.stdout.on('data', (chunk) => {
35
+ if (settled)
36
+ return;
37
+ bytes += Buffer.byteLength(chunk);
38
+ if (bytes > (options.maxBufferBytes ?? 10 * 1024 * 1024)) {
39
+ finish(new Error('Muse Code MSP output exceeded buffer limit'));
40
+ return;
41
+ }
42
+ buffer += typeof chunk === 'string' ? chunk : decoder.write(chunk);
43
+ let newline;
44
+ while (!settled && (newline = buffer.indexOf('\n')) >= 0) {
45
+ const line = buffer.slice(0, newline);
46
+ buffer = buffer.slice(newline + 1);
47
+ if (!line.trim())
48
+ continue;
49
+ try {
50
+ const frame = JSON.parse(line);
51
+ if (frame.id !== 1 && frame.id !== 2)
52
+ continue;
53
+ if (frame.error) {
54
+ finish(new Error(`Muse Code MSP ${frame.error.code}: ${frame.error.message}`));
55
+ return;
56
+ }
57
+ if (!('result' in frame)) {
58
+ finish(new Error('Muse Code MSP response missing result'));
59
+ return;
60
+ }
61
+ if (frame.id === 1 && !initialized) {
62
+ initialized = true;
63
+ send({ method: 'initialized' });
64
+ send({ id: 2, method: 'model/list', params: {} });
65
+ }
66
+ else if (frame.id === 2) {
67
+ if (!initialized) {
68
+ finish(new Error('Muse Code MSP model/list arrived before initialize'));
69
+ return;
70
+ }
71
+ finish(undefined, frame.result);
72
+ }
73
+ }
74
+ catch {
75
+ finish(new Error('Muse Code MSP returned invalid JSON'));
76
+ }
77
+ }
78
+ });
79
+ send({ id: 1, method: 'initialize', params: { clientInfo: { name: 'agentteams', version: '0.0.1' } } });
80
+ });
81
+ //# sourceMappingURL=muse-code-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muse-code-models.js","sourceRoot":"","sources":["../../src/utils/muse-code-models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,81 @@
1
+ import assert from 'node:assert/strict';
2
+ import { EventEmitter } from 'node:events';
3
+ import { readFile } from 'node:fs/promises';
4
+ import { PassThrough } from 'node:stream';
5
+ import test from 'node:test';
6
+ import { executeMuseCodeModelList } from './muse-code-models.js';
7
+ import { enumerateModels, parseMuseCodeModels } from './model-enumerator.js';
8
+ test('Muse model parser reads real four-model catalog without hardcoding a default', async () => {
9
+ const fixture = await readFile(new URL('../runners/fixtures/muse-code-models.json', import.meta.url), 'utf8');
10
+ const result = parseMuseCodeModels(fixture);
11
+ assert.equal(result.status, 'SUCCESS');
12
+ if (result.status !== 'SUCCESS')
13
+ return;
14
+ assert.equal(result.values.length, 4);
15
+ assert.equal(result.values[1].label, 'muse-spark-1.3-contributor (default)');
16
+ assert.equal(result.values[0].maxInputTokens, 1007997);
17
+ assert.deepEqual(await enumerateModels('MUSE_CODE', {
18
+ findMuseCode: async () => '/muse',
19
+ executeMuseCode: async () => ({ stdout: fixture }),
20
+ }), result);
21
+ assert.equal(parseMuseCodeModels('{"models":[null]}').status, 'FORMAT_MISMATCH');
22
+ assert.equal(parseMuseCodeModels('{"models":[]}').status, 'EMPTY_OUTPUT');
23
+ });
24
+ for (const error of [false, true]) {
25
+ test(`Muse MSP orders initialize/initialized/model-list and handles RPC errors (${error})`, async () => {
26
+ const frames = [];
27
+ let killed = false;
28
+ const result = executeMuseCodeModelList('/muse', {
29
+ spawn: ((_cmd, _args, options) => {
30
+ assert.equal(options.windowsHide, true);
31
+ const child = Object.assign(new EventEmitter(), {
32
+ stdin: new PassThrough(),
33
+ stdout: new PassThrough(),
34
+ stderr: new PassThrough(),
35
+ kill: () => {
36
+ killed = true;
37
+ return true;
38
+ },
39
+ });
40
+ child.stdin.on('data', (chunk) => {
41
+ const frame = JSON.parse(String(chunk));
42
+ frames.push(frame);
43
+ queueMicrotask(() => {
44
+ if (frame.method === 'initialize')
45
+ child.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: 1, result: {} }) + '\n');
46
+ if (frame.method === 'model/list')
47
+ child.stdout.write(JSON.stringify({
48
+ jsonrpc: '2.0',
49
+ id: 2,
50
+ ...(error ? { error: { code: -32600, message: 'notInitialized' } } : { result: { models: [] } }),
51
+ }) + '\n');
52
+ });
53
+ });
54
+ return child;
55
+ }),
56
+ });
57
+ if (error)
58
+ await assert.rejects(result, /-32600: notInitialized/);
59
+ else
60
+ assert.equal((await result).stdout, '{"models":[]}');
61
+ assert.deepEqual(frames.map((f) => f.method), ['initialize', 'initialized', 'model/list']);
62
+ assert.equal(killed, true);
63
+ });
64
+ }
65
+ test('Muse MSP times out and kills a silent server', async () => {
66
+ let killed = false;
67
+ await assert.rejects(executeMuseCodeModelList('/muse', {
68
+ timeoutMs: 5,
69
+ spawn: (() => Object.assign(new EventEmitter(), {
70
+ stdin: new PassThrough(),
71
+ stdout: new PassThrough(),
72
+ stderr: new PassThrough(),
73
+ kill: () => {
74
+ killed = true;
75
+ return true;
76
+ },
77
+ })),
78
+ }), /timed out/);
79
+ assert.equal(killed, true);
80
+ });
81
+ //# sourceMappingURL=muse-code-models.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"muse-code-models.test.js","sourceRoot":"","sources":["../../src/utils/muse-code-models.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.0.123",
3
+ "version": "0.0.125",
4
4
  "platform": "win32",
5
5
  "arch": "x64",
6
6
  "fileName": "agentrunner-launcher.exe",
7
- "sha256": "0b4598b4880a202a702a2508f129618c35447c522e8f9dbec045fa57587b03f9"
7
+ "sha256": "52b469defe3d78a7ca32c06891ffa997b3bf04e60970e83031891be396fe4376"
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/runner",
3
- "version": "0.0.123",
3
+ "version": "0.0.125",
4
4
  "description": "AgentRunner - Background runner that polls and executes AI agent tasks",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/readme.md CHANGED
@@ -151,18 +151,18 @@ Settings are resolved in the following priority order at runtime.
151
151
 
152
152
  ### Environment Variables
153
153
 
154
- | Variable | Default | Description |
155
- | ---------------------------- | ----------------- | ------------------------------------------------------------------------------------------------ |
156
- | `POLLING_INTERVAL_MS` | `30000` (30s) | Polling interval for pending triggers |
157
- | `IDLE_TIMEOUT_MS` | `600000` (10min) | Primary timeout. Stops a runner when it produces no stdout/stderr for the configured idle window |
158
- | `TIMEOUT_MS` | `86400000` (24h) | Fail-safe timeout. Stops a runner only if it stays alive for the full wall-clock limit |
159
- | `RUNNER_CMD` | `opencode` | Command used to execute agent tasks |
160
- | `CODEX_SANDBOX_LEVEL` | `workspace-write` | Codex runner sandbox level. Allowed values: `workspace-write`, `off` |
161
- | `LOG_LEVEL` | `info` | Log level: `debug`, `info`, `warn`, `error` |
162
- | `DAEMON_VERBOSE_RUNNER_LOGS` | `true` | When `false`, reduces runner stdout/stderr to start/stop/error only |
163
- | `DAEMON_PROMPT_LOG_MODE` | `preview` | Prompt logging: `off`, `length`, `preview`, `full` |
164
-
165
- AgentRunner defaults to an idle-timeout-first policy. In normal operation, `IDLE_TIMEOUT_MS` is the control that ends stalled runs, while `TIMEOUT_MS` remains a 24-hour fail-safe for runaway processes.
154
+ | Variable | Default | Description |
155
+ | ---------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
156
+ | `POLLING_INTERVAL_MS` | `30000` (30s) | Polling interval for pending triggers |
157
+ | `IDLE_TIMEOUT_MS` | `1800000` (30min) | Primary timeout. Priority: task `Idle Timeout` label on the trigger > valid configured `IDLE_TIMEOUT_MS` > runner-specific default > global 30-minute default |
158
+ | `TIMEOUT_MS` | `86400000` (24h) | Fail-safe timeout. Stops a runner only if it stays alive for the full wall-clock limit |
159
+ | `RUNNER_CMD` | `opencode` | Command used to execute agent tasks |
160
+ | `CODEX_SANDBOX_LEVEL` | `workspace-write` | Codex runner sandbox level. Allowed values: `workspace-write`, `off` |
161
+ | `LOG_LEVEL` | `info` | Log level: `debug`, `info`, `warn`, `error` |
162
+ | `DAEMON_VERBOSE_RUNNER_LOGS` | `true` | When `false`, reduces runner stdout/stderr to start/stop/error only |
163
+ | `DAEMON_PROMPT_LOG_MODE` | `preview` | Prompt logging: `off`, `length`, `preview`, `full` |
164
+
165
+ AgentRunner defaults to an idle-timeout-first policy. In normal operation, the resolved idle timeout ends stalled runs, while `TIMEOUT_MS` remains a 24-hour fail-safe for runaway processes.
166
166
 
167
167
  If you set `CODEX_SANDBOX_LEVEL=off`, AgentRunner launches Codex with `--dangerously-bypass-approvals-and-sandbox`. Use this only when you explicitly want full git write access and accept the reduced safety boundary.
168
168