shennian 0.2.4 → 0.2.6
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/package.json +3 -2
- package/dist/bin/shennian.d.ts +0 -3
- package/dist/bin/shennian.d.ts.map +0 -1
- package/dist/bin/shennian.js +0 -3
- package/dist/bin/shennian.js.map +0 -1
- package/dist/src/__experiments__/probe-debug.d.ts +0 -2
- package/dist/src/__experiments__/probe-debug.d.ts.map +0 -1
- package/dist/src/__experiments__/probe-debug.js +0 -66
- package/dist/src/__experiments__/probe-debug.js.map +0 -1
- package/dist/src/__experiments__/probe-final-benchmark.d.ts +0 -3
- package/dist/src/__experiments__/probe-final-benchmark.d.ts.map +0 -1
- package/dist/src/__experiments__/probe-final-benchmark.js +0 -234
- package/dist/src/__experiments__/probe-final-benchmark.js.map +0 -1
- package/dist/src/__experiments__/probe-models-final.d.ts +0 -19
- package/dist/src/__experiments__/probe-models-final.d.ts.map +0 -1
- package/dist/src/__experiments__/probe-models-final.js +0 -250
- package/dist/src/__experiments__/probe-models-final.js.map +0 -1
- package/dist/src/__experiments__/probe-models.d.ts +0 -7
- package/dist/src/__experiments__/probe-models.d.ts.map +0 -1
- package/dist/src/__experiments__/probe-models.js +0 -251
- package/dist/src/__experiments__/probe-models.js.map +0 -1
- package/dist/src/__tests__/agents-e2e.d.ts +0 -21
- package/dist/src/__tests__/agents-e2e.d.ts.map +0 -1
- package/dist/src/__tests__/agents-e2e.js +0 -155
- package/dist/src/__tests__/agents-e2e.js.map +0 -1
- package/dist/src/__tests__/claude-adapter.test.d.ts +0 -2
- package/dist/src/__tests__/claude-adapter.test.d.ts.map +0 -1
- package/dist/src/__tests__/claude-adapter.test.js +0 -75
- package/dist/src/__tests__/claude-adapter.test.js.map +0 -1
- package/dist/src/__tests__/codex-adapter.test.d.ts +0 -2
- package/dist/src/__tests__/codex-adapter.test.d.ts.map +0 -1
- package/dist/src/__tests__/codex-adapter.test.js +0 -281
- package/dist/src/__tests__/codex-adapter.test.js.map +0 -1
- package/dist/src/__tests__/config.test.d.ts +0 -2
- package/dist/src/__tests__/config.test.d.ts.map +0 -1
- package/dist/src/__tests__/config.test.js +0 -60
- package/dist/src/__tests__/config.test.js.map +0 -1
- package/dist/src/__tests__/cursor-adapter.test.d.ts +0 -2
- package/dist/src/__tests__/cursor-adapter.test.d.ts.map +0 -1
- package/dist/src/__tests__/cursor-adapter.test.js +0 -69
- package/dist/src/__tests__/cursor-adapter.test.js.map +0 -1
- package/dist/src/__tests__/custom-agent-flow.test.d.ts +0 -2
- package/dist/src/__tests__/custom-agent-flow.test.d.ts.map +0 -1
- package/dist/src/__tests__/custom-agent-flow.test.js +0 -244
- package/dist/src/__tests__/custom-agent-flow.test.js.map +0 -1
- package/dist/src/__tests__/daemon-autostart.test.d.ts +0 -2
- package/dist/src/__tests__/daemon-autostart.test.d.ts.map +0 -1
- package/dist/src/__tests__/daemon-autostart.test.js +0 -60
- package/dist/src/__tests__/daemon-autostart.test.js.map +0 -1
- package/dist/src/__tests__/e2e-relay.d.ts +0 -19
- package/dist/src/__tests__/e2e-relay.d.ts.map +0 -1
- package/dist/src/__tests__/e2e-relay.js +0 -400
- package/dist/src/__tests__/e2e-relay.js.map +0 -1
- package/dist/src/__tests__/fs-handler.test.d.ts +0 -2
- package/dist/src/__tests__/fs-handler.test.d.ts.map +0 -1
- package/dist/src/__tests__/fs-handler.test.js +0 -19
- package/dist/src/__tests__/fs-handler.test.js.map +0 -1
- package/dist/src/__tests__/model-discovery.test.d.ts +0 -2
- package/dist/src/__tests__/model-discovery.test.d.ts.map +0 -1
- package/dist/src/__tests__/model-discovery.test.js +0 -47
- package/dist/src/__tests__/model-discovery.test.js.map +0 -1
- package/dist/src/__tests__/model-switching.test.d.ts +0 -2
- package/dist/src/__tests__/model-switching.test.d.ts.map +0 -1
- package/dist/src/__tests__/model-switching.test.js +0 -292
- package/dist/src/__tests__/model-switching.test.js.map +0 -1
- package/dist/src/__tests__/native-fusion-parsers.test.d.ts +0 -2
- package/dist/src/__tests__/native-fusion-parsers.test.d.ts.map +0 -1
- package/dist/src/__tests__/native-fusion-parsers.test.js +0 -253
- package/dist/src/__tests__/native-fusion-parsers.test.js.map +0 -1
- package/dist/src/__tests__/native-fusion-service.test.d.ts +0 -2
- package/dist/src/__tests__/native-fusion-service.test.d.ts.map +0 -1
- package/dist/src/__tests__/native-fusion-service.test.js +0 -157
- package/dist/src/__tests__/native-fusion-service.test.js.map +0 -1
- package/dist/src/__tests__/native-session-sync.test.d.ts +0 -2
- package/dist/src/__tests__/native-session-sync.test.d.ts.map +0 -1
- package/dist/src/__tests__/native-session-sync.test.js +0 -198
- package/dist/src/__tests__/native-session-sync.test.js.map +0 -1
- package/dist/src/__tests__/pair-qr.test.d.ts +0 -2
- package/dist/src/__tests__/pair-qr.test.d.ts.map +0 -1
- package/dist/src/__tests__/pair-qr.test.js +0 -13
- package/dist/src/__tests__/pair-qr.test.js.map +0 -1
- package/dist/src/__tests__/pi-context.test.d.ts +0 -2
- package/dist/src/__tests__/pi-context.test.d.ts.map +0 -1
- package/dist/src/__tests__/pi-context.test.js +0 -261
- package/dist/src/__tests__/pi-context.test.js.map +0 -1
- package/dist/src/__tests__/session-manager.test.d.ts +0 -2
- package/dist/src/__tests__/session-manager.test.d.ts.map +0 -1
- package/dist/src/__tests__/session-manager.test.js +0 -685
- package/dist/src/__tests__/session-manager.test.js.map +0 -1
- package/dist/src/__tests__/session-store.test.d.ts +0 -2
- package/dist/src/__tests__/session-store.test.d.ts.map +0 -1
- package/dist/src/__tests__/session-store.test.js +0 -106
- package/dist/src/__tests__/session-store.test.js.map +0 -1
- package/dist/src/agents/adapter.d.ts +0 -36
- package/dist/src/agents/adapter.d.ts.map +0 -1
- package/dist/src/agents/adapter.js +0 -20
- package/dist/src/agents/adapter.js.map +0 -1
- package/dist/src/agents/claude.d.ts +0 -25
- package/dist/src/agents/claude.d.ts.map +0 -1
- package/dist/src/agents/claude.js +0 -228
- package/dist/src/agents/claude.js.map +0 -1
- package/dist/src/agents/codex.d.ts +0 -50
- package/dist/src/agents/codex.d.ts.map +0 -1
- package/dist/src/agents/codex.js +0 -785
- package/dist/src/agents/codex.js.map +0 -1
- package/dist/src/agents/command-spec.d.ts +0 -11
- package/dist/src/agents/command-spec.d.ts.map +0 -1
- package/dist/src/agents/command-spec.js +0 -62
- package/dist/src/agents/command-spec.js.map +0 -1
- package/dist/src/agents/cursor.d.ts +0 -23
- package/dist/src/agents/cursor.d.ts.map +0 -1
- package/dist/src/agents/cursor.js +0 -250
- package/dist/src/agents/cursor.js.map +0 -1
- package/dist/src/agents/custom.d.ts +0 -36
- package/dist/src/agents/custom.d.ts.map +0 -1
- package/dist/src/agents/custom.js +0 -246
- package/dist/src/agents/custom.js.map +0 -1
- package/dist/src/agents/detect.d.ts +0 -10
- package/dist/src/agents/detect.d.ts.map +0 -1
- package/dist/src/agents/detect.js +0 -47
- package/dist/src/agents/detect.js.map +0 -1
- package/dist/src/agents/gemini.d.ts +0 -18
- package/dist/src/agents/gemini.d.ts.map +0 -1
- package/dist/src/agents/gemini.js +0 -168
- package/dist/src/agents/gemini.js.map +0 -1
- package/dist/src/agents/model-registry/cache.d.ts +0 -5
- package/dist/src/agents/model-registry/cache.d.ts.map +0 -1
- package/dist/src/agents/model-registry/cache.js +0 -38
- package/dist/src/agents/model-registry/cache.js.map +0 -1
- package/dist/src/agents/model-registry/discovery.d.ts +0 -5
- package/dist/src/agents/model-registry/discovery.d.ts.map +0 -1
- package/dist/src/agents/model-registry/discovery.js +0 -202
- package/dist/src/agents/model-registry/discovery.js.map +0 -1
- package/dist/src/agents/model-registry/parsers.d.ts +0 -9
- package/dist/src/agents/model-registry/parsers.d.ts.map +0 -1
- package/dist/src/agents/model-registry/parsers.js +0 -259
- package/dist/src/agents/model-registry/parsers.js.map +0 -1
- package/dist/src/agents/model-registry/runner.d.ts +0 -11
- package/dist/src/agents/model-registry/runner.d.ts.map +0 -1
- package/dist/src/agents/model-registry/runner.js +0 -160
- package/dist/src/agents/model-registry/runner.js.map +0 -1
- package/dist/src/agents/model-registry/service.d.ts +0 -7
- package/dist/src/agents/model-registry/service.d.ts.map +0 -1
- package/dist/src/agents/model-registry/service.js +0 -69
- package/dist/src/agents/model-registry/service.js.map +0 -1
- package/dist/src/agents/model-registry/types.d.ts +0 -31
- package/dist/src/agents/model-registry/types.d.ts.map +0 -1
- package/dist/src/agents/model-registry/types.js +0 -9
- package/dist/src/agents/model-registry/types.js.map +0 -1
- package/dist/src/agents/model-registry.d.ts +0 -13
- package/dist/src/agents/model-registry.d.ts.map +0 -1
- package/dist/src/agents/model-registry.js +0 -15
- package/dist/src/agents/model-registry.js.map +0 -1
- package/dist/src/agents/openclaw.d.ts +0 -21
- package/dist/src/agents/openclaw.d.ts.map +0 -1
- package/dist/src/agents/openclaw.js +0 -264
- package/dist/src/agents/openclaw.js.map +0 -1
- package/dist/src/agents/pi.d.ts +0 -52
- package/dist/src/agents/pi.d.ts.map +0 -1
- package/dist/src/agents/pi.js +0 -794
- package/dist/src/agents/pi.js.map +0 -1
- package/dist/src/commands/agent.d.ts +0 -3
- package/dist/src/commands/agent.d.ts.map +0 -1
- package/dist/src/commands/agent.js +0 -162
- package/dist/src/commands/agent.js.map +0 -1
- package/dist/src/commands/daemon.d.ts +0 -30
- package/dist/src/commands/daemon.d.ts.map +0 -1
- package/dist/src/commands/daemon.js +0 -477
- package/dist/src/commands/daemon.js.map +0 -1
- package/dist/src/commands/pair-qr.d.ts +0 -5
- package/dist/src/commands/pair-qr.d.ts.map +0 -1
- package/dist/src/commands/pair-qr.js +0 -7
- package/dist/src/commands/pair-qr.js.map +0 -1
- package/dist/src/commands/pair.d.ts +0 -9
- package/dist/src/commands/pair.d.ts.map +0 -1
- package/dist/src/commands/pair.js +0 -163
- package/dist/src/commands/pair.js.map +0 -1
- package/dist/src/commands/upgrade.d.ts +0 -6
- package/dist/src/commands/upgrade.d.ts.map +0 -1
- package/dist/src/commands/upgrade.js +0 -146
- package/dist/src/commands/upgrade.js.map +0 -1
- package/dist/src/config/index.d.ts +0 -33
- package/dist/src/config/index.d.ts.map +0 -1
- package/dist/src/config/index.js +0 -32
- package/dist/src/config/index.js.map +0 -1
- package/dist/src/fs/handler.d.ts +0 -27
- package/dist/src/fs/handler.d.ts.map +0 -1
- package/dist/src/fs/handler.js +0 -131
- package/dist/src/fs/handler.js.map +0 -1
- package/dist/src/fs/multimodal.d.ts +0 -5
- package/dist/src/fs/multimodal.d.ts.map +0 -1
- package/dist/src/fs/multimodal.js +0 -39
- package/dist/src/fs/multimodal.js.map +0 -1
- package/dist/src/fs/security.d.ts +0 -3
- package/dist/src/fs/security.d.ts.map +0 -1
- package/dist/src/fs/security.js +0 -28
- package/dist/src/fs/security.js.map +0 -1
- package/dist/src/index.d.ts +0 -2
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -251
- package/dist/src/index.js.map +0 -1
- package/dist/src/log-reporter.d.ts +0 -19
- package/dist/src/log-reporter.d.ts.map +0 -1
- package/dist/src/log-reporter.js +0 -34
- package/dist/src/log-reporter.js.map +0 -1
- package/dist/src/native-fusion/parsers.d.ts +0 -13
- package/dist/src/native-fusion/parsers.d.ts.map +0 -1
- package/dist/src/native-fusion/parsers.js +0 -371
- package/dist/src/native-fusion/parsers.js.map +0 -1
- package/dist/src/native-fusion/service.d.ts +0 -26
- package/dist/src/native-fusion/service.d.ts.map +0 -1
- package/dist/src/native-fusion/service.js +0 -167
- package/dist/src/native-fusion/service.js.map +0 -1
- package/dist/src/native-fusion/state.d.ts +0 -4
- package/dist/src/native-fusion/state.d.ts.map +0 -1
- package/dist/src/native-fusion/state.js +0 -23
- package/dist/src/native-fusion/state.js.map +0 -1
- package/dist/src/native-fusion/types.d.ts +0 -25
- package/dist/src/native-fusion/types.d.ts.map +0 -1
- package/dist/src/native-fusion/types.js +0 -2
- package/dist/src/native-fusion/types.js.map +0 -1
- package/dist/src/native-sync/discover.d.ts +0 -6
- package/dist/src/native-sync/discover.d.ts.map +0 -1
- package/dist/src/native-sync/discover.js +0 -69
- package/dist/src/native-sync/discover.js.map +0 -1
- package/dist/src/native-sync/parsers.d.ts +0 -3
- package/dist/src/native-sync/parsers.d.ts.map +0 -1
- package/dist/src/native-sync/parsers.js +0 -373
- package/dist/src/native-sync/parsers.js.map +0 -1
- package/dist/src/native-sync/service.d.ts +0 -16
- package/dist/src/native-sync/service.d.ts.map +0 -1
- package/dist/src/native-sync/service.js +0 -95
- package/dist/src/native-sync/service.js.map +0 -1
- package/dist/src/native-sync/state.d.ts +0 -6
- package/dist/src/native-sync/state.d.ts.map +0 -1
- package/dist/src/native-sync/state.js +0 -34
- package/dist/src/native-sync/state.js.map +0 -1
- package/dist/src/native-sync/types.d.ts +0 -23
- package/dist/src/native-sync/types.d.ts.map +0 -1
- package/dist/src/native-sync/types.js +0 -4
- package/dist/src/native-sync/types.js.map +0 -1
- package/dist/src/region.d.ts +0 -16
- package/dist/src/region.d.ts.map +0 -1
- package/dist/src/region.js +0 -100
- package/dist/src/region.js.map +0 -1
- package/dist/src/relay/client.d.ts +0 -53
- package/dist/src/relay/client.d.ts.map +0 -1
- package/dist/src/relay/client.js +0 -293
- package/dist/src/relay/client.js.map +0 -1
- package/dist/src/session/handlers/agents.d.ts +0 -5
- package/dist/src/session/handlers/agents.d.ts.map +0 -1
- package/dist/src/session/handlers/agents.js +0 -56
- package/dist/src/session/handlers/agents.js.map +0 -1
- package/dist/src/session/handlers/chat.d.ts +0 -5
- package/dist/src/session/handlers/chat.d.ts.map +0 -1
- package/dist/src/session/handlers/chat.js +0 -327
- package/dist/src/session/handlers/chat.js.map +0 -1
- package/dist/src/session/handlers/control.d.ts +0 -6
- package/dist/src/session/handlers/control.d.ts.map +0 -1
- package/dist/src/session/handlers/control.js +0 -58
- package/dist/src/session/handlers/control.js.map +0 -1
- package/dist/src/session/handlers/fs.d.ts +0 -11
- package/dist/src/session/handlers/fs.d.ts.map +0 -1
- package/dist/src/session/handlers/fs.js +0 -253
- package/dist/src/session/handlers/fs.js.map +0 -1
- package/dist/src/session/handlers/queue.d.ts +0 -4
- package/dist/src/session/handlers/queue.d.ts.map +0 -1
- package/dist/src/session/handlers/queue.js +0 -66
- package/dist/src/session/handlers/queue.js.map +0 -1
- package/dist/src/session/manager.d.ts +0 -28
- package/dist/src/session/manager.d.ts.map +0 -1
- package/dist/src/session/manager.js +0 -155
- package/dist/src/session/manager.js.map +0 -1
- package/dist/src/session/store.d.ts +0 -8
- package/dist/src/session/store.d.ts.map +0 -1
- package/dist/src/session/store.js +0 -47
- package/dist/src/session/store.js.map +0 -1
- package/dist/src/session/types.d.ts +0 -36
- package/dist/src/session/types.d.ts.map +0 -1
- package/dist/src/session/types.js +0 -5
- package/dist/src/session/types.js.map +0 -1
- package/dist/src/upgrade/engine.d.ts +0 -65
- package/dist/src/upgrade/engine.d.ts.map +0 -1
- package/dist/src/upgrade/engine.js +0 -239
- package/dist/src/upgrade/engine.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
// @arch docs/architecture/cli/model-discovery.md
|
|
2
|
-
// @test src/__tests__/model-switching.test.ts
|
|
3
|
-
import { spawn } from 'node:child_process';
|
|
4
|
-
import { createInterface } from 'node:readline';
|
|
5
|
-
import { resolveBuiltinCommand } from '../command-spec.js';
|
|
6
|
-
import { parseClaudeModels, parseCodexAppServerModels, parseCodexModels, parseCursorModels, parseGeminiModels, parseOpenClawModels, } from './parsers.js';
|
|
7
|
-
import { runCommand, runPtyCommand } from './runner.js';
|
|
8
|
-
import { DISCOVERY_WORKDIR } from './types.js';
|
|
9
|
-
function sendAppServerRpc(proc, pending, id, method, params, timeoutMs) {
|
|
10
|
-
if (!proc.stdin)
|
|
11
|
-
return Promise.reject(new Error('codex app-server stdin unavailable'));
|
|
12
|
-
return new Promise((resolve, reject) => {
|
|
13
|
-
const timer = setTimeout(() => {
|
|
14
|
-
pending.delete(id);
|
|
15
|
-
reject(new Error(`codex app-server request timed out: ${method}`));
|
|
16
|
-
}, timeoutMs);
|
|
17
|
-
pending.set(id, { resolve, reject, timer });
|
|
18
|
-
proc.stdin.write(`${JSON.stringify({ id, method, params })}\n`, (error) => {
|
|
19
|
-
if (!error)
|
|
20
|
-
return;
|
|
21
|
-
clearTimeout(timer);
|
|
22
|
-
pending.delete(id);
|
|
23
|
-
reject(error);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
async function discoverCodexModelsViaAppServer() {
|
|
28
|
-
const proc = spawn('codex', ['app-server', '--listen', 'stdio://'], {
|
|
29
|
-
cwd: DISCOVERY_WORKDIR,
|
|
30
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
31
|
-
env: { ...process.env, NO_COLOR: '1' },
|
|
32
|
-
});
|
|
33
|
-
const pending = new Map();
|
|
34
|
-
let seq = 1;
|
|
35
|
-
const rl = createInterface({ input: proc.stdout });
|
|
36
|
-
rl.on('line', (line) => {
|
|
37
|
-
if (!line.trim())
|
|
38
|
-
return;
|
|
39
|
-
let msg;
|
|
40
|
-
try {
|
|
41
|
-
msg = JSON.parse(line);
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (msg.id == null)
|
|
47
|
-
return;
|
|
48
|
-
const request = pending.get(msg.id);
|
|
49
|
-
if (!request)
|
|
50
|
-
return;
|
|
51
|
-
clearTimeout(request.timer);
|
|
52
|
-
pending.delete(msg.id);
|
|
53
|
-
if (msg.error) {
|
|
54
|
-
request.reject(new Error(msg.error.message || `codex app-server error ${msg.error.code ?? ''}`.trim()));
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
request.resolve(msg.result);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
try {
|
|
61
|
-
await sendAppServerRpc(proc, pending, seq++, 'initialize', {
|
|
62
|
-
clientInfo: { name: 'shennian', title: 'Shennian', version: '0.0.0' },
|
|
63
|
-
capabilities: { experimentalApi: true },
|
|
64
|
-
}, 10_000);
|
|
65
|
-
const [modelList, configRead] = await Promise.all([
|
|
66
|
-
sendAppServerRpc(proc, pending, seq++, 'model/list', {}, 15_000),
|
|
67
|
-
sendAppServerRpc(proc, pending, seq++, 'config/read', {}, 15_000).catch(() => null),
|
|
68
|
-
]);
|
|
69
|
-
const config = typeof configRead === 'object' && configRead !== null && 'config' in configRead
|
|
70
|
-
? configRead.config
|
|
71
|
-
: undefined;
|
|
72
|
-
return parseCodexAppServerModels({
|
|
73
|
-
...(typeof modelList === 'object' && modelList !== null ? modelList : {}),
|
|
74
|
-
config,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
finally {
|
|
78
|
-
for (const [id, request] of pending) {
|
|
79
|
-
clearTimeout(request.timer);
|
|
80
|
-
request.reject(new Error('codex app-server stopped'));
|
|
81
|
-
pending.delete(id);
|
|
82
|
-
}
|
|
83
|
-
proc.kill('SIGTERM');
|
|
84
|
-
setTimeout(() => proc.kill('SIGKILL'), 1000).unref();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async function discoverCursorModels() {
|
|
88
|
-
const spec = resolveBuiltinCommand('cursor');
|
|
89
|
-
if (!spec)
|
|
90
|
-
return [];
|
|
91
|
-
const result = await runCommand(spec.command, [...spec.args, '--list-models']);
|
|
92
|
-
return parseCursorModels(result.stdout);
|
|
93
|
-
}
|
|
94
|
-
async function discoverOpenClawModels() {
|
|
95
|
-
const spec = resolveBuiltinCommand('openclaw');
|
|
96
|
-
if (!spec)
|
|
97
|
-
return [];
|
|
98
|
-
const result = await runCommand(spec.command, [...spec.args, 'models', 'list', '--json']);
|
|
99
|
-
return parseOpenClawModels(result.stdout);
|
|
100
|
-
}
|
|
101
|
-
async function discoverClaudeModels() {
|
|
102
|
-
const spec = resolveBuiltinCommand('claude');
|
|
103
|
-
if (!spec)
|
|
104
|
-
return [];
|
|
105
|
-
const runDiscovery = async (startupArgs) => runPtyCommand(spec, {
|
|
106
|
-
startupArgs,
|
|
107
|
-
readyPatterns: [/[>❯]/, /claude/i],
|
|
108
|
-
closePatterns: [/esc/i, /confirm/i, /default/i],
|
|
109
|
-
timeoutMs: 12_000,
|
|
110
|
-
});
|
|
111
|
-
const primaryRaw = await runDiscovery(['--bare', '--dangerously-skip-permissions']);
|
|
112
|
-
const primaryModels = parseClaudeModels(primaryRaw);
|
|
113
|
-
if (primaryModels.length > 0)
|
|
114
|
-
return primaryModels;
|
|
115
|
-
const clean = primaryRaw.toLowerCase();
|
|
116
|
-
const bareUnsupported = clean.includes('--bare') &&
|
|
117
|
-
(clean.includes('unknown option') ||
|
|
118
|
-
clean.includes('unknown argument') ||
|
|
119
|
-
clean.includes('unexpected argument') ||
|
|
120
|
-
clean.includes('unrecognized option'));
|
|
121
|
-
if (!bareUnsupported)
|
|
122
|
-
return primaryModels;
|
|
123
|
-
const fallbackRaw = await runDiscovery(['--dangerously-skip-permissions']);
|
|
124
|
-
return parseClaudeModels(fallbackRaw);
|
|
125
|
-
}
|
|
126
|
-
async function discoverCodexModels() {
|
|
127
|
-
const spec = resolveBuiltinCommand('codex');
|
|
128
|
-
if (!spec)
|
|
129
|
-
return [];
|
|
130
|
-
const appServerModels = await discoverCodexModelsViaAppServer().catch(() => []);
|
|
131
|
-
if (appServerModels.length > 0)
|
|
132
|
-
return appServerModels;
|
|
133
|
-
const raw = await runPtyCommand(spec, {
|
|
134
|
-
startupArgs: ['--no-alt-screen', '-C', DISCOVERY_WORKDIR],
|
|
135
|
-
preOpenPromptPatterns: [/update available!/i, /skip until next version/i, /release notes:/i],
|
|
136
|
-
preOpenPromptInput: '\u001b[B\r',
|
|
137
|
-
readyPatterns: [/(?:^|\s)\/model\b/i, /codex/i],
|
|
138
|
-
closePatterns: [/enter to select/i, /dismiss/i, /select model/i],
|
|
139
|
-
timeoutMs: 45_000,
|
|
140
|
-
scrollAfterOpenMs: 2500,
|
|
141
|
-
scrollCount: 15,
|
|
142
|
-
scrollIntervalMs: 500,
|
|
143
|
-
});
|
|
144
|
-
return parseCodexModels(raw);
|
|
145
|
-
}
|
|
146
|
-
async function discoverGeminiModels() {
|
|
147
|
-
const spec = resolveBuiltinCommand('gemini');
|
|
148
|
-
if (!spec)
|
|
149
|
-
return [];
|
|
150
|
-
const raw = await runPtyCommand(spec, {
|
|
151
|
-
readyPatterns: [/[>❯]/, /gemini/i],
|
|
152
|
-
closePatterns: [/enter to select/i, /select model/i, /\besc\b/i],
|
|
153
|
-
timeoutMs: 16_000,
|
|
154
|
-
});
|
|
155
|
-
return parseGeminiModels(raw);
|
|
156
|
-
}
|
|
157
|
-
async function discoverPiModels(context) {
|
|
158
|
-
if (!context.serverUrl || !context.authToken)
|
|
159
|
-
return [];
|
|
160
|
-
try {
|
|
161
|
-
const response = await fetch(`${context.serverUrl.replace(/\/$/, '')}/models`, {
|
|
162
|
-
headers: {
|
|
163
|
-
Authorization: `Bearer ${context.authToken}`,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
if (!response.ok)
|
|
167
|
-
return [];
|
|
168
|
-
const data = (await response.json());
|
|
169
|
-
return (data.models ?? []).map((model) => ({
|
|
170
|
-
id: model.id,
|
|
171
|
-
name: model.name?.trim() || model.id,
|
|
172
|
-
provider: model.provider,
|
|
173
|
-
isDefault: model.id === data.default,
|
|
174
|
-
}));
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
return [];
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
async function discoverBuiltinModels(type, context) {
|
|
181
|
-
switch (type) {
|
|
182
|
-
case 'claude':
|
|
183
|
-
return discoverClaudeModels();
|
|
184
|
-
case 'codex':
|
|
185
|
-
return discoverCodexModels();
|
|
186
|
-
case 'gemini':
|
|
187
|
-
return discoverGeminiModels();
|
|
188
|
-
case 'cursor':
|
|
189
|
-
return discoverCursorModels();
|
|
190
|
-
case 'openclaw':
|
|
191
|
-
return discoverOpenClawModels();
|
|
192
|
-
case 'pi':
|
|
193
|
-
return discoverPiModels(context);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
export async function discoverModelsForAgent(agent, context) {
|
|
197
|
-
if (agent.type.startsWith('custom:')) {
|
|
198
|
-
return agent.models ?? [];
|
|
199
|
-
}
|
|
200
|
-
return discoverBuiltinModels(agent.type, context);
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/agents/model-registry/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ModelInfo } from '@shennian/wire';
|
|
2
|
-
export declare function stripAnsi(text: string): string;
|
|
3
|
-
export declare function parseCursorModels(raw: string): ModelInfo[];
|
|
4
|
-
export declare function parseOpenClawModels(raw: string): ModelInfo[];
|
|
5
|
-
export declare function parseClaudeModels(raw: string): ModelInfo[];
|
|
6
|
-
export declare function parseCodexModels(raw: string): ModelInfo[];
|
|
7
|
-
export declare function parseCodexAppServerModels(raw: unknown): ModelInfo[];
|
|
8
|
-
export declare function parseGeminiModels(raw: string): ModelInfo[];
|
|
9
|
-
//# sourceMappingURL=parsers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../../src/agents/model-registry/parsers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9C;AAwDD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAgB1D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAkB5D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CA2C1D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAmBzD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,EAAE,CA8DnE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,CAuC1D"}
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
// @arch docs/architecture/cli/model-discovery.md
|
|
2
|
-
// @test src/__tests__/model-switching.test.ts
|
|
3
|
-
export function stripAnsi(text) {
|
|
4
|
-
return text
|
|
5
|
-
.replace(/\u001b\[[0-9;?]*[a-zA-Z]/g, '') // eslint-disable-line no-control-regex
|
|
6
|
-
.replace(/\u001b\][^\u0007]*\u0007/g, '') // eslint-disable-line no-control-regex
|
|
7
|
-
.replace(/[\u0000-\u0008\u000b-\u001f\u007f]/g, ''); // eslint-disable-line no-control-regex
|
|
8
|
-
}
|
|
9
|
-
function uniqueModels(models) {
|
|
10
|
-
const seen = new Set();
|
|
11
|
-
const unique = [];
|
|
12
|
-
for (const model of models) {
|
|
13
|
-
if (!model.id || seen.has(model.id))
|
|
14
|
-
continue;
|
|
15
|
-
seen.add(model.id);
|
|
16
|
-
unique.push(model);
|
|
17
|
-
}
|
|
18
|
-
return unique;
|
|
19
|
-
}
|
|
20
|
-
function titleCaseSegment(segment) {
|
|
21
|
-
if (!segment)
|
|
22
|
-
return segment;
|
|
23
|
-
return segment[0].toUpperCase() + segment.slice(1);
|
|
24
|
-
}
|
|
25
|
-
function prettifyCodexModel(id) {
|
|
26
|
-
return id
|
|
27
|
-
.split('-')
|
|
28
|
-
.map((segment) => {
|
|
29
|
-
if (segment === 'gpt')
|
|
30
|
-
return 'GPT';
|
|
31
|
-
if (segment === 'codex')
|
|
32
|
-
return 'Codex';
|
|
33
|
-
return /^\d/.test(segment) ? segment : titleCaseSegment(segment);
|
|
34
|
-
})
|
|
35
|
-
.join('-');
|
|
36
|
-
}
|
|
37
|
-
function prettifyReasoningEffort(id) {
|
|
38
|
-
switch (id) {
|
|
39
|
-
case 'low':
|
|
40
|
-
return 'Low';
|
|
41
|
-
case 'medium':
|
|
42
|
-
return 'Medium';
|
|
43
|
-
case 'high':
|
|
44
|
-
return 'High';
|
|
45
|
-
case 'xhigh':
|
|
46
|
-
return 'Extra High';
|
|
47
|
-
default:
|
|
48
|
-
return titleCaseSegment(id);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function prettifyCursorModel(id) {
|
|
52
|
-
return id
|
|
53
|
-
.split('-')
|
|
54
|
-
.map((segment) => (/^\d/.test(segment) ? segment : titleCaseSegment(segment)))
|
|
55
|
-
.join(' ');
|
|
56
|
-
}
|
|
57
|
-
function buildGeminiId(version, flavor, preview = false) {
|
|
58
|
-
const normalizedFlavor = flavor.toLowerCase().replace(/\s+/g, '-');
|
|
59
|
-
return `gemini-${version}-${normalizedFlavor}${preview ? '-preview' : ''}`;
|
|
60
|
-
}
|
|
61
|
-
export function parseCursorModels(raw) {
|
|
62
|
-
const models = [];
|
|
63
|
-
const clean = stripAnsi(raw);
|
|
64
|
-
for (const line of clean.split('\n')) {
|
|
65
|
-
const match = line.trim().match(/^(\S+)\s+-\s+(.+?)(?:\s+\(([^)]+)\))?$/);
|
|
66
|
-
if (!match)
|
|
67
|
-
continue;
|
|
68
|
-
const [, id, name, flags] = match;
|
|
69
|
-
const tags = flags?.split(',').map((flag) => flag.trim().toLowerCase()) ?? [];
|
|
70
|
-
models.push({
|
|
71
|
-
id,
|
|
72
|
-
name: name.trim() || prettifyCursorModel(id),
|
|
73
|
-
description: flags?.trim(),
|
|
74
|
-
isDefault: tags.includes('default') || tags.includes('current'),
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return uniqueModels(models);
|
|
78
|
-
}
|
|
79
|
-
export function parseOpenClawModels(raw) {
|
|
80
|
-
try {
|
|
81
|
-
const data = JSON.parse(raw);
|
|
82
|
-
const models = (data.models ?? [])
|
|
83
|
-
.filter((model) => model.available)
|
|
84
|
-
.map((model) => ({
|
|
85
|
-
id: model.key,
|
|
86
|
-
name: model.name?.trim() || model.key,
|
|
87
|
-
provider: model.key.split('/')[0],
|
|
88
|
-
description: model.tags?.join(', '),
|
|
89
|
-
isDefault: model.tags?.includes('default') ?? false,
|
|
90
|
-
}));
|
|
91
|
-
return uniqueModels(models);
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
return [];
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
export function parseClaudeModels(raw) {
|
|
98
|
-
const rawClean = stripAnsi(raw).replace(/\s+/g, ' ');
|
|
99
|
-
const patterns = [
|
|
100
|
-
[/\d+\.Default\(recommended\).*?(?:Sonnet|currently\s*Sonnet)\s*([\d.]+)/i, 'default', 'Default (recommended)'],
|
|
101
|
-
[/\d+\.Sonnet.*?Sonnet\s*([\d.]+)/i, 'sonnet', 'Sonnet'],
|
|
102
|
-
[/\d+\.Opus.*?Opus\s*([\d.]+)/i, 'opus', 'Opus'],
|
|
103
|
-
[/\d+\.Haiku.*?Haiku\s*([\d.]+)/i, 'haiku', 'Haiku'],
|
|
104
|
-
];
|
|
105
|
-
const models = [];
|
|
106
|
-
for (const [pattern, id, name] of patterns) {
|
|
107
|
-
const match = rawClean.match(pattern);
|
|
108
|
-
if (match) {
|
|
109
|
-
models.push({
|
|
110
|
-
id,
|
|
111
|
-
name,
|
|
112
|
-
description: `v${match[1]}`,
|
|
113
|
-
provider: 'anthropic',
|
|
114
|
-
isDefault: id === 'default',
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
if (models.length > 0)
|
|
119
|
-
return uniqueModels(models);
|
|
120
|
-
const fallback = [];
|
|
121
|
-
const defaultMatch = rawClean.match(/currently\s*(Sonnet|Opus|Haiku)\s*([34](?:\.\d)?)/i);
|
|
122
|
-
const aliasMap = { sonnet: 'sonnet', opus: 'opus', haiku: 'haiku' };
|
|
123
|
-
for (const match of rawClean.matchAll(/\b(Sonnet|Opus|Haiku)\s*([34](?:\.\d)?)\b/gi)) {
|
|
124
|
-
const family = (match[1] ?? '').toLowerCase();
|
|
125
|
-
const alias = aliasMap[family];
|
|
126
|
-
if (!alias)
|
|
127
|
-
continue;
|
|
128
|
-
const version = match[2] ?? '';
|
|
129
|
-
const isDefault = defaultMatch &&
|
|
130
|
-
defaultMatch[1]?.toLowerCase() === family &&
|
|
131
|
-
defaultMatch[2] === version;
|
|
132
|
-
fallback.push({
|
|
133
|
-
id: alias,
|
|
134
|
-
name: `${titleCaseSegment(family)} ${version}`,
|
|
135
|
-
provider: 'anthropic',
|
|
136
|
-
isDefault: Boolean(isDefault),
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
return uniqueModels(fallback);
|
|
140
|
-
}
|
|
141
|
-
export function parseCodexModels(raw) {
|
|
142
|
-
const clean = stripAnsi(raw);
|
|
143
|
-
const models = [];
|
|
144
|
-
for (const line of clean.split('\n')) {
|
|
145
|
-
const match = line.match(/\b(gpt-[a-z0-9][a-z0-9.-]*)\b/i);
|
|
146
|
-
if (!match)
|
|
147
|
-
continue;
|
|
148
|
-
const id = match[1].trim();
|
|
149
|
-
const description = line.replace(id, '').replace(/^[^\w]+/, '').trim() || undefined;
|
|
150
|
-
models.push({
|
|
151
|
-
id,
|
|
152
|
-
name: prettifyCodexModel(id),
|
|
153
|
-
description,
|
|
154
|
-
provider: 'openai',
|
|
155
|
-
isDefault: /\bcurrent\b/i.test(line) || /\bselected\b/i.test(line),
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
return uniqueModels(models);
|
|
159
|
-
}
|
|
160
|
-
export function parseCodexAppServerModels(raw) {
|
|
161
|
-
const data = typeof raw === 'object' && raw !== null
|
|
162
|
-
? raw
|
|
163
|
-
: {};
|
|
164
|
-
const currentModel = typeof data.config?.model === 'string' ? data.config.model : undefined;
|
|
165
|
-
const models = [];
|
|
166
|
-
for (const entry of data.data ?? []) {
|
|
167
|
-
if (typeof entry !== 'object' || entry === null)
|
|
168
|
-
continue;
|
|
169
|
-
const item = entry;
|
|
170
|
-
const id = typeof item.id === 'string'
|
|
171
|
-
? item.id
|
|
172
|
-
: typeof item.model === 'string'
|
|
173
|
-
? item.model
|
|
174
|
-
: '';
|
|
175
|
-
if (!id)
|
|
176
|
-
continue;
|
|
177
|
-
const displayName = typeof item.displayName === 'string'
|
|
178
|
-
? item.displayName
|
|
179
|
-
: typeof item.name === 'string'
|
|
180
|
-
? item.name
|
|
181
|
-
: undefined;
|
|
182
|
-
const description = typeof item.description === 'string' ? item.description : undefined;
|
|
183
|
-
const defaultReasoningEffort = typeof item.defaultReasoningEffort === 'string'
|
|
184
|
-
? item.defaultReasoningEffort
|
|
185
|
-
: undefined;
|
|
186
|
-
const supportedReasoningEfforts = Array.isArray(item.supportedReasoningEfforts)
|
|
187
|
-
? item.supportedReasoningEfforts
|
|
188
|
-
.map((effort) => {
|
|
189
|
-
if (typeof effort !== 'object' || effort === null)
|
|
190
|
-
return null;
|
|
191
|
-
const rawEffort = effort;
|
|
192
|
-
const effortId = typeof rawEffort.reasoningEffort === 'string'
|
|
193
|
-
? rawEffort.reasoningEffort
|
|
194
|
-
: typeof rawEffort.id === 'string'
|
|
195
|
-
? rawEffort.id
|
|
196
|
-
: '';
|
|
197
|
-
if (!effortId)
|
|
198
|
-
return null;
|
|
199
|
-
return {
|
|
200
|
-
id: effortId,
|
|
201
|
-
name: prettifyReasoningEffort(effortId),
|
|
202
|
-
description: typeof rawEffort.description === 'string' ? rawEffort.description : undefined,
|
|
203
|
-
};
|
|
204
|
-
})
|
|
205
|
-
.filter((effort) => effort != null)
|
|
206
|
-
: undefined;
|
|
207
|
-
const additionalSpeedTiers = Array.isArray(item.additionalSpeedTiers)
|
|
208
|
-
? item.additionalSpeedTiers.filter((tier) => typeof tier === 'string')
|
|
209
|
-
: undefined;
|
|
210
|
-
models.push({
|
|
211
|
-
id,
|
|
212
|
-
name: displayName || prettifyCodexModel(id),
|
|
213
|
-
description,
|
|
214
|
-
provider: 'openai',
|
|
215
|
-
isDefault: item.isDefault === true || currentModel === id,
|
|
216
|
-
supportedReasoningEfforts,
|
|
217
|
-
defaultReasoningEffort,
|
|
218
|
-
additionalSpeedTiers,
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
return uniqueModels(models);
|
|
222
|
-
}
|
|
223
|
-
export function parseGeminiModels(raw) {
|
|
224
|
-
const clean = stripAnsi(raw);
|
|
225
|
-
const models = [];
|
|
226
|
-
for (const match of clean.matchAll(/\b(?:auto-)?gemini-[a-z0-9.-]+\b/gi)) {
|
|
227
|
-
const id = match[0].trim();
|
|
228
|
-
models.push({
|
|
229
|
-
id,
|
|
230
|
-
name: id,
|
|
231
|
-
provider: 'google',
|
|
232
|
-
isDefault: /\bcurrent\b/i.test(clean) && clean.includes(id),
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
for (const match of clean.matchAll(/\bGemini\s*(\d(?:\.\d)?)\s*(Pro|Flash(?:[- ]Lite)?)\s*(Preview)?\b/gi)) {
|
|
236
|
-
const version = match[1] ?? '';
|
|
237
|
-
const flavor = (match[2] ?? '').replace(/\s+/g, '-');
|
|
238
|
-
const preview = Boolean(match[3]);
|
|
239
|
-
const id = buildGeminiId(version, flavor, preview);
|
|
240
|
-
models.push({
|
|
241
|
-
id,
|
|
242
|
-
name: `Gemini ${version} ${flavor.replace(/-/g, ' ')}`.trim(),
|
|
243
|
-
provider: 'google',
|
|
244
|
-
isDefault: /\bcurrent\b/i.test(clean) && clean.includes(match[0] ?? ''),
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
for (const match of clean.matchAll(/\bAuto\s*Gemini\s*(\d(?:\.\d)?)\b/gi)) {
|
|
248
|
-
const version = match[1] ?? '';
|
|
249
|
-
const id = `auto-gemini-${version}`;
|
|
250
|
-
models.push({
|
|
251
|
-
id,
|
|
252
|
-
name: `Auto Gemini ${version}`,
|
|
253
|
-
provider: 'google',
|
|
254
|
-
isDefault: /\bcurrent\b/i.test(clean) && clean.includes(match[0] ?? ''),
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
return uniqueModels(models);
|
|
258
|
-
}
|
|
259
|
-
//# sourceMappingURL=parsers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../../src/agents/model-registry/parsers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type PtyOptions } from './types.js';
|
|
2
|
-
export declare function runCommand(command: string, args: string[], timeoutMs?: number): Promise<{
|
|
3
|
-
stdout: string;
|
|
4
|
-
stderr: string;
|
|
5
|
-
exitCode: number | null;
|
|
6
|
-
}>;
|
|
7
|
-
export declare function runPtyCommand(spec: {
|
|
8
|
-
command: string;
|
|
9
|
-
args: string[];
|
|
10
|
-
}, options: PtyOptions): Promise<string>;
|
|
11
|
-
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/agents/model-registry/runner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAE/D,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,SAAS,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA0BtE;AAiBD,wBAAsB,aAAa,CACjC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,EACzC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,CAwHjB"}
|