@agentteams/runner 0.0.118 → 0.0.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/executable.d.ts +4 -3
- package/dist/executable.js +64 -15
- package/dist/executable.js.map +1 -1
- package/dist/executable.test.js +98 -1
- package/dist/executable.test.js.map +1 -1
- package/dist/poller.js +2 -1
- package/dist/poller.js.map +1 -1
- package/dist/poller.test.js +34 -0
- package/dist/poller.test.js.map +1 -1
- package/dist/runners/capabilities.js +9 -0
- package/dist/runners/capabilities.js.map +1 -1
- package/dist/runners/capabilities.test.js +12 -2
- package/dist/runners/capabilities.test.js.map +1 -1
- package/dist/runners/engine-commands.js +4 -0
- package/dist/runners/engine-commands.js.map +1 -1
- package/dist/runners/index.js +3 -0
- package/dist/runners/index.js.map +1 -1
- package/dist/runners/index.test.js +2 -0
- package/dist/runners/index.test.js.map +1 -1
- package/dist/runners/omp-identity.d.ts +12 -0
- package/dist/runners/omp-identity.js +21 -0
- package/dist/runners/omp-identity.js.map +1 -0
- package/dist/runners/omp.d.ts +49 -0
- package/dist/runners/omp.js +341 -0
- package/dist/runners/omp.js.map +1 -0
- package/dist/runners/omp.test.d.ts +1 -0
- package/dist/runners/omp.test.js +194 -0
- package/dist/runners/omp.test.js.map +1 -0
- package/dist/utils/engine-probe.d.ts +2 -2
- package/dist/utils/engine-probe.js +10 -6
- package/dist/utils/engine-probe.js.map +1 -1
- package/dist/utils/engine-probe.test.js +41 -14
- package/dist/utils/engine-probe.test.js.map +1 -1
- package/dist/utils/model-enumerator.d.ts +26 -1
- package/dist/utils/model-enumerator.js +79 -8
- package/dist/utils/model-enumerator.js.map +1 -1
- package/dist/utils/model-enumerator.test.js +99 -1
- package/dist/utils/model-enumerator.test.js.map +1 -1
- package/dist/utils/npm-global-permission.js +2 -2
- package/dist/utils/npm-global-permission.js.map +1 -1
- package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
- package/native/bin/win32-x64/manifest.json +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-probe.js","sourceRoot":"","sources":["../../src/utils/engine-probe.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"engine-probe.js","sourceRoot":"","sources":["../../src/utils/engine-probe.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,26 +2,26 @@ import assert from 'node:assert/strict';
|
|
|
2
2
|
import { describe, it } from 'node:test';
|
|
3
3
|
import { probeInstalledEngines } from './engine-probe.js';
|
|
4
4
|
describe('probeInstalledEngines', () => {
|
|
5
|
-
it('returns only installed engines and resolves npm global
|
|
6
|
-
let
|
|
5
|
+
it('returns only installed engines and resolves the npm global prefix once per cycle', async () => {
|
|
6
|
+
let npmGlobalPrefixCalls = 0;
|
|
7
7
|
const result = await probeInstalledEngines('custom-opencode', {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return '/global/
|
|
8
|
+
getNpmGlobalPrefixAsync: async () => {
|
|
9
|
+
npmGlobalPrefixCalls += 1;
|
|
10
|
+
return '/global/prefix';
|
|
11
11
|
},
|
|
12
12
|
resolveExecutablePathWithPreferenceAsync: async (name, _preferredNames, deps) => {
|
|
13
|
-
assert.equal(deps?.
|
|
13
|
+
assert.equal(deps?.npmGlobalPrefix, '/global/prefix');
|
|
14
14
|
return name === 'codex' ? '/bin/codex' : null;
|
|
15
15
|
},
|
|
16
16
|
});
|
|
17
17
|
assert.deepEqual(result.engines, ['CODEX']);
|
|
18
18
|
assert.equal(result.reliable, true);
|
|
19
|
-
assert.equal(
|
|
19
|
+
assert.equal(npmGlobalPrefixCalls, 1);
|
|
20
20
|
});
|
|
21
21
|
it('uses the configured OpenCode command and absorbs individual probe failures', async () => {
|
|
22
22
|
const requestedCommands = [];
|
|
23
23
|
const result = await probeInstalledEngines('custom-opencode', {
|
|
24
|
-
|
|
24
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
25
25
|
resolveExecutablePathWithPreferenceAsync: async (name) => {
|
|
26
26
|
requestedCommands.push(name);
|
|
27
27
|
return name === 'custom-opencode' ? '/bin/custom-opencode' : null;
|
|
@@ -35,7 +35,7 @@ describe('probeInstalledEngines', () => {
|
|
|
35
35
|
const preferences = new Map();
|
|
36
36
|
await probeInstalledEngines('opencode', {
|
|
37
37
|
platform: () => 'win32',
|
|
38
|
-
|
|
38
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
39
39
|
resolveExecutablePathWithPreferenceAsync: async (name, preferredNames) => {
|
|
40
40
|
preferences.set(name, preferredNames);
|
|
41
41
|
return null;
|
|
@@ -47,9 +47,26 @@ describe('probeInstalledEngines', () => {
|
|
|
47
47
|
assert.deepEqual(preferences.get('agent'), ['agent']);
|
|
48
48
|
assert.deepEqual(preferences.get('grok'), ['grok.exe', 'grok']);
|
|
49
49
|
});
|
|
50
|
+
// 리눅스 공식 설치 스크립트는 opencode를 PATH 밖 $HOME/.opencode/bin에 두고 PATH 보강은
|
|
51
|
+
// 셸 rc에만 넣는다. 러너는 비대화형이라 rc를 읽지 않으므로, 알려진 설치 경로 폴백이 없으면
|
|
52
|
+
// 정상 설치된 OpenCode가 탐지에서 통째로 빠진다(2026-08-24 linux-dev 재현).
|
|
53
|
+
it('detects OpenCode installed at the official Linux path outside PATH', async () => {
|
|
54
|
+
const result = await probeInstalledEngines('opencode', {
|
|
55
|
+
platform: () => 'linux',
|
|
56
|
+
env: { HOME: '/home/justin' },
|
|
57
|
+
// PATH 조회(`which -a`)와 `npm prefix -g`가 모두 실패하는 상황을 그대로 재현한다.
|
|
58
|
+
execFileAsync: (async () => {
|
|
59
|
+
throw new Error('not found');
|
|
60
|
+
}),
|
|
61
|
+
existsSync: ((path) => path === '/home/justin/.opencode/bin/opencode'),
|
|
62
|
+
runProbeCommand: async () => null,
|
|
63
|
+
});
|
|
64
|
+
assert.deepEqual(result.engines, ['OPENCODE']);
|
|
65
|
+
assert.equal(result.reliable, true);
|
|
66
|
+
});
|
|
50
67
|
it('accepts Cursor only when the executable identifies itself as Cursor Agent', async () => {
|
|
51
68
|
const probe = (helpText) => probeInstalledEngines('opencode', {
|
|
52
|
-
|
|
69
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
53
70
|
runProbeCommand: async () => helpText,
|
|
54
71
|
resolveExecutablePathWithPreferenceAsync: async (name) => (name === 'agent' ? '/bin/agent' : null),
|
|
55
72
|
});
|
|
@@ -62,7 +79,7 @@ describe('probeInstalledEngines', () => {
|
|
|
62
79
|
// 설치된 것으로 보고하면 안 된다. 서드파티를 GROK_BUILD로 오탐하면 실행이 통째로 깨진다.
|
|
63
80
|
it('accepts Grok only when the executable identifies itself as Grok Build', async () => {
|
|
64
81
|
const probe = (helpText) => probeInstalledEngines('opencode', {
|
|
65
|
-
|
|
82
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
66
83
|
runProbeCommand: async () => helpText,
|
|
67
84
|
resolveExecutablePathWithPreferenceAsync: async (name) => (name === 'grok' ? '/bin/grok' : null),
|
|
68
85
|
});
|
|
@@ -74,7 +91,7 @@ describe('probeInstalledEngines', () => {
|
|
|
74
91
|
it('skips a conflicting Grok candidate and accepts the next official installation', async () => {
|
|
75
92
|
const probed = [];
|
|
76
93
|
const result = await probeInstalledEngines('opencode', {
|
|
77
|
-
|
|
94
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
78
95
|
resolveExecutablePathsWithPreferenceAsync: async (name) => name === 'grok' ? ['/custom/bin/grok', '/usr/local/bin/grok'] : [],
|
|
79
96
|
resolveExecutablePathWithPreferenceAsync: async () => null,
|
|
80
97
|
runProbeCommand: async (executablePath) => {
|
|
@@ -85,10 +102,20 @@ describe('probeInstalledEngines', () => {
|
|
|
85
102
|
assert.deepEqual(probed, ['/custom/bin/grok', '/usr/local/bin/grok']);
|
|
86
103
|
assert.deepEqual(result.engines, ['GROK_BUILD']);
|
|
87
104
|
});
|
|
105
|
+
it('accepts omp only when the executable identifies itself as Oh My Pi', async () => {
|
|
106
|
+
const probe = (helpText) => probeInstalledEngines('opencode', {
|
|
107
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
108
|
+
runProbeCommand: async () => helpText,
|
|
109
|
+
resolveExecutablePathWithPreferenceAsync: async (name) => (name === 'omp' ? '/bin/omp' : null),
|
|
110
|
+
});
|
|
111
|
+
assert.deepEqual((await probe('omp v18.0.4\nOh My Pi as an ACP')).engines, ['OMP']);
|
|
112
|
+
assert.deepEqual((await probe('omp 1.0.0\nnew ')).engines, []);
|
|
113
|
+
assert.deepEqual((await probe(null)).engines, []);
|
|
114
|
+
});
|
|
88
115
|
// 빈 목록은 서버에서 "제한 없음"으로 해석되므로, 조회 자체가 불가능한 환경은 보고 대상에서 빼야 한다.
|
|
89
116
|
it('marks a zero-engine result unreliable when the lookup command cannot run', async () => {
|
|
90
117
|
const result = await probeInstalledEngines('opencode', {
|
|
91
|
-
|
|
118
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
92
119
|
resolveExecutablePathWithPreferenceAsync: async () => null,
|
|
93
120
|
isExecutableLookupAvailable: async () => false,
|
|
94
121
|
});
|
|
@@ -97,7 +124,7 @@ describe('probeInstalledEngines', () => {
|
|
|
97
124
|
});
|
|
98
125
|
it('keeps a zero-engine result reliable when the lookup command works', async () => {
|
|
99
126
|
const result = await probeInstalledEngines('opencode', {
|
|
100
|
-
|
|
127
|
+
getNpmGlobalPrefixAsync: async () => null,
|
|
101
128
|
resolveExecutablePathWithPreferenceAsync: async () => null,
|
|
102
129
|
isExecutableLookupAvailable: async () => true,
|
|
103
130
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-probe.test.js","sourceRoot":"","sources":["../../src/utils/engine-probe.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"engine-probe.test.js","sourceRoot":"","sources":["../../src/utils/engine-probe.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,31 @@ export type ExecuteModelEnumerationOptions = {
|
|
|
29
29
|
export declare const executeModelEnumerationCommand: (executablePath: string, args: string[], options?: ExecuteModelEnumerationOptions) => Promise<{
|
|
30
30
|
stdout: string;
|
|
31
31
|
}>;
|
|
32
|
+
/**
|
|
33
|
+
* `omp models --json` (2026-08-25 실측, omp/18.0.4). 항목 형태:
|
|
34
|
+
*
|
|
35
|
+
* {"provider":"openrouter","id":"~anthropic/claude-fable-latest",
|
|
36
|
+
* "selector":"openrouter/~anthropic/claude-fable-latest","name":"Claude Fable Latest",
|
|
37
|
+
* "contextWindow":1000000, ...}
|
|
38
|
+
*
|
|
39
|
+
* **카탈로그는 공급자 자격 증명이 하나라도 있을 때만 나온다.** 키가 전혀 없으면
|
|
40
|
+
* `{"models":[]}`(+ 평문 모드에서는 `No models available. Set API keys in environment
|
|
41
|
+
* variables.`)이고, `OPENROUTER_API_KEY`를 아무 문자열로나 넣으면 openrouter 공개
|
|
42
|
+
* 카탈로그 470건이 즉시 나온다(키 유효성은 검증하지 않는다). 즉 목록에 있다고 실제로
|
|
43
|
+
* 호출 가능한 것은 아니다. 실행 가능 여부는 트리거가 실패해야 드러난다.
|
|
44
|
+
*
|
|
45
|
+
* `value`로는 `id`가 아니라 provider 한정 `selector`를 쓴다. `id`는 공급자 간 충돌한다
|
|
46
|
+
* (실측: 11개 공급자 키를 넣으면 750건 중 10개 id가 2~3개 공급자에 중복 —
|
|
47
|
+
* `openai/gpt-oss-120b`가 groq·openrouter·together 셋). `id`를 value로 쓰면
|
|
48
|
+
* `normalizeModels`의 중복 제거가 뒤쪽 공급자를 경고 없이 버린다. `--model`은 selector
|
|
49
|
+
* 형태를 그대로 수용한다(실측: `--model mock/mock-model`로 모델 해석 통과).
|
|
50
|
+
*
|
|
51
|
+
* `id: "auto"`(openrouter 자동 라우팅 sentinel)는 `parseCursorModels`의 `auto`와 같은
|
|
52
|
+
* 이유로 제외한다 — 실제 모델이 아니라 어떤 모델이 쓰였는지 추적할 수 없다.
|
|
53
|
+
*
|
|
54
|
+
* stdout만 파싱한다(Node NO_COLOR 경고는 stderr).
|
|
55
|
+
*/
|
|
56
|
+
export declare const parseOmpModels: (output: string) => ModelEnumerationResult;
|
|
32
57
|
export declare const parseKiroModels: (output: string) => ModelEnumerationResult;
|
|
33
58
|
export declare const parseOpenCodeVerboseModels: (output: string) => ModelEnumerationResult;
|
|
34
59
|
type LineModelShape = 'tab' | 'slash';
|
|
@@ -49,5 +74,5 @@ export declare const parseCursorModels: (output: string) => ModelEnumerationResu
|
|
|
49
74
|
* 새어 들어간다. 값 뒤의 `(default)` 표시는 값의 일부가 아니라 기본 모델 마커라 떼어낸다.
|
|
50
75
|
*/
|
|
51
76
|
export declare const parseGrokModels: (output: string) => ModelEnumerationResult;
|
|
52
|
-
export declare const enumerateModels: (runnerType: RunnerType, dependencies?: Partial<ModelEnumeratorDependencies
|
|
77
|
+
export declare const enumerateModels: (runnerType: RunnerType, dependencies?: Partial<ModelEnumeratorDependencies>, opencodeCommand?: string) => Promise<ModelEnumerationResult>;
|
|
53
78
|
export {};
|
|
@@ -3,8 +3,7 @@ import { platform } from 'node:os';
|
|
|
3
3
|
import { buildPowerShellCommand, resolveExecutablePathWithPreference } from '../executable.js';
|
|
4
4
|
import { sanitizeAntigravityInternalLogLine } from '../runners/antigravity.js';
|
|
5
5
|
import { RUNNER_CAPABILITIES } from '../runners/capabilities.js';
|
|
6
|
-
import {
|
|
7
|
-
import { getKiroExecutablePreference } from '../runners/kiro-cli.js';
|
|
6
|
+
import { getEngineCommand, getEngineExecutablePreference } from '../runners/engine-commands.js';
|
|
8
7
|
const RESERVED_MODEL_PREFIX = '__fast__:';
|
|
9
8
|
const ENUMERATION_TIMEOUT_MS = 30_000;
|
|
10
9
|
const MAX_ERROR_OUTPUT_LENGTH = 500;
|
|
@@ -122,6 +121,64 @@ const parsedResult = (output, models) => {
|
|
|
122
121
|
const values = normalizeModels(models);
|
|
123
122
|
return values.length > 0 ? { status: 'SUCCESS', values } : { status: 'FORMAT_MISMATCH' };
|
|
124
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* `omp models --json` (2026-08-25 실측, omp/18.0.4). 항목 형태:
|
|
126
|
+
*
|
|
127
|
+
* {"provider":"openrouter","id":"~anthropic/claude-fable-latest",
|
|
128
|
+
* "selector":"openrouter/~anthropic/claude-fable-latest","name":"Claude Fable Latest",
|
|
129
|
+
* "contextWindow":1000000, ...}
|
|
130
|
+
*
|
|
131
|
+
* **카탈로그는 공급자 자격 증명이 하나라도 있을 때만 나온다.** 키가 전혀 없으면
|
|
132
|
+
* `{"models":[]}`(+ 평문 모드에서는 `No models available. Set API keys in environment
|
|
133
|
+
* variables.`)이고, `OPENROUTER_API_KEY`를 아무 문자열로나 넣으면 openrouter 공개
|
|
134
|
+
* 카탈로그 470건이 즉시 나온다(키 유효성은 검증하지 않는다). 즉 목록에 있다고 실제로
|
|
135
|
+
* 호출 가능한 것은 아니다. 실행 가능 여부는 트리거가 실패해야 드러난다.
|
|
136
|
+
*
|
|
137
|
+
* `value`로는 `id`가 아니라 provider 한정 `selector`를 쓴다. `id`는 공급자 간 충돌한다
|
|
138
|
+
* (실측: 11개 공급자 키를 넣으면 750건 중 10개 id가 2~3개 공급자에 중복 —
|
|
139
|
+
* `openai/gpt-oss-120b`가 groq·openrouter·together 셋). `id`를 value로 쓰면
|
|
140
|
+
* `normalizeModels`의 중복 제거가 뒤쪽 공급자를 경고 없이 버린다. `--model`은 selector
|
|
141
|
+
* 형태를 그대로 수용한다(실측: `--model mock/mock-model`로 모델 해석 통과).
|
|
142
|
+
*
|
|
143
|
+
* `id: "auto"`(openrouter 자동 라우팅 sentinel)는 `parseCursorModels`의 `auto`와 같은
|
|
144
|
+
* 이유로 제외한다 — 실제 모델이 아니라 어떤 모델이 쓰였는지 추적할 수 없다.
|
|
145
|
+
*
|
|
146
|
+
* stdout만 파싱한다(Node NO_COLOR 경고는 stderr).
|
|
147
|
+
*/
|
|
148
|
+
export const parseOmpModels = (output) => {
|
|
149
|
+
if (output.trim().length === 0)
|
|
150
|
+
return { status: 'EMPTY_OUTPUT' };
|
|
151
|
+
try {
|
|
152
|
+
const parsed = JSON.parse(output);
|
|
153
|
+
const models = Array.isArray(parsed.models)
|
|
154
|
+
? parsed.models.flatMap((model) => {
|
|
155
|
+
if (typeof model.id !== 'string' || model.id.trim().length === 0)
|
|
156
|
+
return [];
|
|
157
|
+
if (model.id.trim() === 'auto')
|
|
158
|
+
return [];
|
|
159
|
+
const selector = typeof model.selector === 'string' ? model.selector.trim() : '';
|
|
160
|
+
const provider = typeof model.provider === 'string' ? model.provider.trim() : '';
|
|
161
|
+
const name = typeof model.name === 'string' ? model.name.trim() : '';
|
|
162
|
+
const maxInputTokens = typeof model.contextWindow === 'number' && Number.isInteger(model.contextWindow) && model.contextWindow > 0
|
|
163
|
+
? model.contextWindow
|
|
164
|
+
: undefined;
|
|
165
|
+
const value = selector.length > 0 ? selector : model.id;
|
|
166
|
+
const baseLabel = name.length > 0 ? name : model.id;
|
|
167
|
+
return [
|
|
168
|
+
{
|
|
169
|
+
value,
|
|
170
|
+
label: provider.length > 0 ? `${baseLabel} (${provider})` : baseLabel,
|
|
171
|
+
...(maxInputTokens ? { maxInputTokens } : {}),
|
|
172
|
+
},
|
|
173
|
+
];
|
|
174
|
+
})
|
|
175
|
+
: [];
|
|
176
|
+
return parsedResult(output, models);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return { status: 'FORMAT_MISMATCH' };
|
|
180
|
+
}
|
|
181
|
+
};
|
|
125
182
|
export const parseKiroModels = (output) => {
|
|
126
183
|
if (output.trim().length === 0)
|
|
127
184
|
return { status: 'EMPTY_OUTPUT' };
|
|
@@ -245,20 +302,30 @@ const commandFailure = (error) => ({
|
|
|
245
302
|
status: 'COMMAND_FAILED',
|
|
246
303
|
message: error instanceof Error ? error.message : String(error),
|
|
247
304
|
});
|
|
248
|
-
|
|
305
|
+
/// OPENCODE 실행 파일 이름의 기본값. `config.ts`의 `DEFAULT_RUNNER_CMD`와 같은 값이며,
|
|
306
|
+
/// 인자를 주지 않는 기존 호출부의 동작을 유지하기 위한 폴백이다.
|
|
307
|
+
const DEFAULT_OPENCODE_COMMAND = 'opencode';
|
|
308
|
+
export const enumerateModels = async (runnerType, dependencies = {},
|
|
309
|
+
/// OPENCODE 실행 파일 이름(`config.runnerCmd`). 엔진 탐지·러너 기동과 같은 이름을 봐야
|
|
310
|
+
/// RUNNER_CMD를 바꾼 환경에서 "탐지는 되는데 열거만 실패하는" 어긋남이 생기지 않는다.
|
|
311
|
+
opencodeCommand = DEFAULT_OPENCODE_COMMAND) => {
|
|
249
312
|
if (!RUNNER_CAPABILITIES[runnerType].modelEnumeration) {
|
|
250
313
|
return { status: 'UNSUPPORTED' };
|
|
251
314
|
}
|
|
252
315
|
const deps = { ...defaultDependencies, ...dependencies };
|
|
253
316
|
const isWindows = deps.platform() === 'win32';
|
|
254
317
|
try {
|
|
318
|
+
const resolveEngineExecutable = (type) => {
|
|
319
|
+
const command = getEngineCommand(type, opencodeCommand);
|
|
320
|
+
return deps.resolveExecutable(command, getEngineExecutablePreference(type, opencodeCommand, isWindows));
|
|
321
|
+
};
|
|
255
322
|
switch (runnerType) {
|
|
256
323
|
case 'KIRO_CLI': {
|
|
257
|
-
const executable =
|
|
324
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
258
325
|
return parseKiroModels((await deps.execute(executable, ['chat', '--list-models', '--format', 'json'])).stdout);
|
|
259
326
|
}
|
|
260
327
|
case 'OPENCODE': {
|
|
261
|
-
const executable =
|
|
328
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
262
329
|
try {
|
|
263
330
|
const verbose = parseOpenCodeVerboseModels((await deps.execute(executable, ['models', '--verbose'])).stdout);
|
|
264
331
|
if (verbose.status === 'SUCCESS')
|
|
@@ -275,17 +342,21 @@ export const enumerateModels = async (runnerType, dependencies = {}) => {
|
|
|
275
342
|
}
|
|
276
343
|
}
|
|
277
344
|
case 'ANTIGRAVITY': {
|
|
278
|
-
const executable =
|
|
345
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
279
346
|
return parseLineModels((await deps.execute(executable, ['models'])).stdout, 'tab');
|
|
280
347
|
}
|
|
281
348
|
case 'CURSOR_CLI': {
|
|
282
|
-
const executable =
|
|
349
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
283
350
|
return parseCursorModels((await deps.execute(executable, ['models'])).stdout);
|
|
284
351
|
}
|
|
285
352
|
case 'GROK_BUILD': {
|
|
286
|
-
const executable =
|
|
353
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
287
354
|
return parseGrokModels((await deps.execute(executable, ['models'])).stdout);
|
|
288
355
|
}
|
|
356
|
+
case 'OMP': {
|
|
357
|
+
const executable = resolveEngineExecutable(runnerType);
|
|
358
|
+
return parseOmpModels((await deps.execute(executable, ['models', '--json'])).stdout);
|
|
359
|
+
}
|
|
289
360
|
default:
|
|
290
361
|
return { status: 'UNSUPPORTED' };
|
|
291
362
|
}
|
|
@@ -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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"}
|
|
@@ -6,7 +6,7 @@ import { join } from 'node:path';
|
|
|
6
6
|
import { PassThrough } from 'node:stream';
|
|
7
7
|
import { describe, test } from 'node:test';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
|
-
import { enumerateModels, executeModelEnumerationCommand, parseCursorModels, parseGrokModels, parseKiroModels, parseLineModels, parseOpenCodeVerboseModels, sanitizeErrorOutput, } from './model-enumerator.js';
|
|
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
11
|
describe('model enumerator parsers', () => {
|
|
12
12
|
test('parses OpenCode labels and context limits while allowing a missing context', async () => {
|
|
@@ -19,6 +19,45 @@ describe('model enumerator parsers', () => {
|
|
|
19
19
|
],
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
|
+
// 픽스처는 `omp models --json` 실출력에서 잘라 온 것이다(2026-08-25, omp/18.0.4).
|
|
23
|
+
// provider 한정 selector, `~` 접두 id, `auto` 라우팅 sentinel, 그리고 공급자 3곳이
|
|
24
|
+
// 같은 id(`openai/gpt-oss-120b`)를 쓰는 실제 충돌 케이스를 모두 담고 있다.
|
|
25
|
+
test('parses omp models from real catalog output, keying on the provider-qualified selector', async () => {
|
|
26
|
+
assert.deepEqual(parseOmpModels(await fixture('omp-models.json')), {
|
|
27
|
+
status: 'SUCCESS',
|
|
28
|
+
values: [
|
|
29
|
+
{
|
|
30
|
+
value: 'openrouter/~anthropic/claude-fable-latest',
|
|
31
|
+
label: 'Claude Fable Latest (openrouter)',
|
|
32
|
+
maxInputTokens: 1000000,
|
|
33
|
+
},
|
|
34
|
+
{ value: 'groq/openai/gpt-oss-120b', label: 'GPT OSS 120B (groq)', maxInputTokens: 131072 },
|
|
35
|
+
{ value: 'openrouter/openai/gpt-oss-120b', label: 'gpt-oss-120b (openrouter)', maxInputTokens: 131072 },
|
|
36
|
+
{ value: 'together/openai/gpt-oss-120b', label: 'GPT OSS 120B (together)', maxInputTokens: 131072 },
|
|
37
|
+
{ value: 'openai/gpt-4o', label: 'GPT-4o (openai)', maxInputTokens: 128000 },
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
test('parses omp JSON model metadata and ignores an empty available list', () => {
|
|
42
|
+
// 공급자 키가 하나도 없으면 omp는 `{"models":[]}`를 낸다. 파싱은 됐지만 값이 0건이므로
|
|
43
|
+
// EMPTY_OUTPUT이 아니라 FORMAT_MISMATCH다(빈 stdout과 구분된다).
|
|
44
|
+
assert.deepEqual(parseOmpModels('{"models":[]}'), { status: 'FORMAT_MISMATCH' });
|
|
45
|
+
// selector가 없는 항목은 id로 폴백하고, provider가 없으면 label에 접미사를 붙이지 않는다.
|
|
46
|
+
assert.deepEqual(parseOmpModels(JSON.stringify({
|
|
47
|
+
models: [
|
|
48
|
+
{ id: 'anthropic/claude-sonnet-4', name: 'Claude Sonnet 4', contextWindow: 200000 },
|
|
49
|
+
{ id: 'local-model' },
|
|
50
|
+
],
|
|
51
|
+
})), {
|
|
52
|
+
status: 'SUCCESS',
|
|
53
|
+
values: [
|
|
54
|
+
{ value: 'anthropic/claude-sonnet-4', label: 'Claude Sonnet 4', maxInputTokens: 200000 },
|
|
55
|
+
{ value: 'local-model', label: 'local-model' },
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
assert.deepEqual(parseOmpModels('not-json'), { status: 'FORMAT_MISMATCH' });
|
|
59
|
+
assert.deepEqual(parseOmpModels(''), { status: 'EMPTY_OUTPUT' });
|
|
60
|
+
});
|
|
22
61
|
test('parses Kiro model metadata', async () => {
|
|
23
62
|
const result = parseKiroModels(await fixture('kiro-models.json'));
|
|
24
63
|
assert.equal(result.status, 'SUCCESS');
|
|
@@ -117,6 +156,34 @@ describe('enumerateModels', () => {
|
|
|
117
156
|
values: [{ value: 'provider/model-a', label: 'provider/model-a' }],
|
|
118
157
|
});
|
|
119
158
|
});
|
|
159
|
+
// 엔진 탐지(engine-commands.ts)와 러너 기동(opencode.ts)은 config.runnerCmd를 따르는데
|
|
160
|
+
// 열거만 'opencode'를 하드코딩하면, RUNNER_CMD를 바꾼 환경에서 탐지는 되고 열거만 실패한다.
|
|
161
|
+
test('enumerates OpenCode with the configured runner command', async () => {
|
|
162
|
+
const requestedNames = [];
|
|
163
|
+
const result = await enumerateModels('OPENCODE', {
|
|
164
|
+
execute: async () => ({ stdout: 'provider/model-a\n' }),
|
|
165
|
+
platform: () => 'darwin',
|
|
166
|
+
resolveExecutable: (name) => {
|
|
167
|
+
requestedNames.push(name);
|
|
168
|
+
return `/bin/${name}`;
|
|
169
|
+
},
|
|
170
|
+
}, 'custom-opencode');
|
|
171
|
+
assert.deepEqual(requestedNames, ['custom-opencode']);
|
|
172
|
+
assert.equal(result.status, 'SUCCESS');
|
|
173
|
+
});
|
|
174
|
+
// 인자를 주지 않는 기존 호출부는 그대로 'opencode'를 해석해야 한다.
|
|
175
|
+
test('falls back to the default OpenCode command when none is provided', async () => {
|
|
176
|
+
const requestedNames = [];
|
|
177
|
+
await enumerateModels('OPENCODE', {
|
|
178
|
+
execute: async () => ({ stdout: 'provider/model-a\n' }),
|
|
179
|
+
platform: () => 'darwin',
|
|
180
|
+
resolveExecutable: (name) => {
|
|
181
|
+
requestedNames.push(name);
|
|
182
|
+
return `/bin/${name}`;
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
assert.deepEqual(requestedNames, ['opencode']);
|
|
186
|
+
});
|
|
120
187
|
test('classifies command failures instead of throwing', async () => {
|
|
121
188
|
const result = await enumerateModels('KIRO_CLI', dependencies(async () => {
|
|
122
189
|
throw new Error('offline');
|
|
@@ -132,6 +199,22 @@ describe('enumerateModels', () => {
|
|
|
132
199
|
assert.deepEqual(result, { status: 'UNSUPPORTED' });
|
|
133
200
|
assert.equal(called, false);
|
|
134
201
|
});
|
|
202
|
+
test('enumerates OMP models from JSON output', async () => {
|
|
203
|
+
const calls = [];
|
|
204
|
+
const result = await enumerateModels('OMP', dependencies(async (_executable, args) => {
|
|
205
|
+
calls.push(args);
|
|
206
|
+
return {
|
|
207
|
+
stdout: JSON.stringify({
|
|
208
|
+
models: [{ id: 'anthropic/claude-sonnet-4', name: 'Claude Sonnet 4', contextWindow: 200000 }],
|
|
209
|
+
}),
|
|
210
|
+
};
|
|
211
|
+
}));
|
|
212
|
+
assert.deepEqual(calls, [['models', '--json']]);
|
|
213
|
+
assert.deepEqual(result, {
|
|
214
|
+
status: 'SUCCESS',
|
|
215
|
+
values: [{ value: 'anthropic/claude-sonnet-4', label: 'Claude Sonnet 4', maxInputTokens: 200000 }],
|
|
216
|
+
});
|
|
217
|
+
});
|
|
135
218
|
test('enumerates ANTIGRAVITY models with tab parser', async () => {
|
|
136
219
|
const calls = [];
|
|
137
220
|
const result = await enumerateModels('ANTIGRAVITY', dependencies(async (_executable, args) => {
|
|
@@ -144,6 +227,21 @@ describe('enumerateModels', () => {
|
|
|
144
227
|
values: [{ value: 'gemini-3.7-flash-high', label: 'Gemini 3.7 Flash (High)' }],
|
|
145
228
|
});
|
|
146
229
|
});
|
|
230
|
+
test('uses the engine command SSOT for Windows executable preferences', async () => {
|
|
231
|
+
const preferences = new Map();
|
|
232
|
+
const deps = {
|
|
233
|
+
execute: async () => ({ stdout: 'model-a\n' }),
|
|
234
|
+
platform: () => 'win32',
|
|
235
|
+
resolveExecutable: (name, preferredNames) => {
|
|
236
|
+
preferences.set(name, preferredNames);
|
|
237
|
+
return `C:\\bin\\${name}`;
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
await enumerateModels('CURSOR_CLI', deps);
|
|
241
|
+
await enumerateModels('ANTIGRAVITY', deps);
|
|
242
|
+
assert.deepEqual(preferences.get('agent'), ['agent']);
|
|
243
|
+
assert.deepEqual(preferences.get('agy'), ['agy.cmd', 'agy']);
|
|
244
|
+
});
|
|
147
245
|
});
|
|
148
246
|
describe('sanitizeErrorOutput', () => {
|
|
149
247
|
test('redacts sensitive credentials and JWTs from error output', () => {
|
|
@@ -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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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { accessSync, constants } from 'node:fs';
|
|
2
2
|
import { platform as getPlatform } from 'node:os';
|
|
3
3
|
import { posix, win32 } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { getNpmGlobalPrefix } from '../executable.js';
|
|
5
5
|
/** 전역 모듈 루트 경로. win32는 prefix 바로 아래, POSIX는 `<prefix>/lib/node_modules`. */
|
|
6
6
|
const resolveGlobalModulesRoot = (prefix, os) => os === 'win32' ? win32.join(prefix, 'node_modules') : posix.join(prefix, 'lib', 'node_modules');
|
|
7
7
|
const getDirname = (path, os) => os === 'win32' ? win32.dirname(path) : posix.dirname(path);
|
|
8
8
|
export const canWriteGlobalNpmRoot = (deps = {}) => {
|
|
9
|
-
const resolvePrefix = deps.npmGlobalPrefix ?? (() =>
|
|
9
|
+
const resolvePrefix = deps.npmGlobalPrefix ?? (() => getNpmGlobalPrefix());
|
|
10
10
|
const access = deps.accessSync ?? accessSync;
|
|
11
11
|
const os = (deps.platform ?? getPlatform)();
|
|
12
12
|
try {
|