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.
Files changed (286) hide show
  1. package/package.json +3 -2
  2. package/dist/bin/shennian.d.ts +0 -3
  3. package/dist/bin/shennian.d.ts.map +0 -1
  4. package/dist/bin/shennian.js +0 -3
  5. package/dist/bin/shennian.js.map +0 -1
  6. package/dist/src/__experiments__/probe-debug.d.ts +0 -2
  7. package/dist/src/__experiments__/probe-debug.d.ts.map +0 -1
  8. package/dist/src/__experiments__/probe-debug.js +0 -66
  9. package/dist/src/__experiments__/probe-debug.js.map +0 -1
  10. package/dist/src/__experiments__/probe-final-benchmark.d.ts +0 -3
  11. package/dist/src/__experiments__/probe-final-benchmark.d.ts.map +0 -1
  12. package/dist/src/__experiments__/probe-final-benchmark.js +0 -234
  13. package/dist/src/__experiments__/probe-final-benchmark.js.map +0 -1
  14. package/dist/src/__experiments__/probe-models-final.d.ts +0 -19
  15. package/dist/src/__experiments__/probe-models-final.d.ts.map +0 -1
  16. package/dist/src/__experiments__/probe-models-final.js +0 -250
  17. package/dist/src/__experiments__/probe-models-final.js.map +0 -1
  18. package/dist/src/__experiments__/probe-models.d.ts +0 -7
  19. package/dist/src/__experiments__/probe-models.d.ts.map +0 -1
  20. package/dist/src/__experiments__/probe-models.js +0 -251
  21. package/dist/src/__experiments__/probe-models.js.map +0 -1
  22. package/dist/src/__tests__/agents-e2e.d.ts +0 -21
  23. package/dist/src/__tests__/agents-e2e.d.ts.map +0 -1
  24. package/dist/src/__tests__/agents-e2e.js +0 -155
  25. package/dist/src/__tests__/agents-e2e.js.map +0 -1
  26. package/dist/src/__tests__/claude-adapter.test.d.ts +0 -2
  27. package/dist/src/__tests__/claude-adapter.test.d.ts.map +0 -1
  28. package/dist/src/__tests__/claude-adapter.test.js +0 -75
  29. package/dist/src/__tests__/claude-adapter.test.js.map +0 -1
  30. package/dist/src/__tests__/codex-adapter.test.d.ts +0 -2
  31. package/dist/src/__tests__/codex-adapter.test.d.ts.map +0 -1
  32. package/dist/src/__tests__/codex-adapter.test.js +0 -281
  33. package/dist/src/__tests__/codex-adapter.test.js.map +0 -1
  34. package/dist/src/__tests__/config.test.d.ts +0 -2
  35. package/dist/src/__tests__/config.test.d.ts.map +0 -1
  36. package/dist/src/__tests__/config.test.js +0 -60
  37. package/dist/src/__tests__/config.test.js.map +0 -1
  38. package/dist/src/__tests__/cursor-adapter.test.d.ts +0 -2
  39. package/dist/src/__tests__/cursor-adapter.test.d.ts.map +0 -1
  40. package/dist/src/__tests__/cursor-adapter.test.js +0 -69
  41. package/dist/src/__tests__/cursor-adapter.test.js.map +0 -1
  42. package/dist/src/__tests__/custom-agent-flow.test.d.ts +0 -2
  43. package/dist/src/__tests__/custom-agent-flow.test.d.ts.map +0 -1
  44. package/dist/src/__tests__/custom-agent-flow.test.js +0 -244
  45. package/dist/src/__tests__/custom-agent-flow.test.js.map +0 -1
  46. package/dist/src/__tests__/daemon-autostart.test.d.ts +0 -2
  47. package/dist/src/__tests__/daemon-autostart.test.d.ts.map +0 -1
  48. package/dist/src/__tests__/daemon-autostart.test.js +0 -60
  49. package/dist/src/__tests__/daemon-autostart.test.js.map +0 -1
  50. package/dist/src/__tests__/e2e-relay.d.ts +0 -19
  51. package/dist/src/__tests__/e2e-relay.d.ts.map +0 -1
  52. package/dist/src/__tests__/e2e-relay.js +0 -400
  53. package/dist/src/__tests__/e2e-relay.js.map +0 -1
  54. package/dist/src/__tests__/fs-handler.test.d.ts +0 -2
  55. package/dist/src/__tests__/fs-handler.test.d.ts.map +0 -1
  56. package/dist/src/__tests__/fs-handler.test.js +0 -19
  57. package/dist/src/__tests__/fs-handler.test.js.map +0 -1
  58. package/dist/src/__tests__/model-discovery.test.d.ts +0 -2
  59. package/dist/src/__tests__/model-discovery.test.d.ts.map +0 -1
  60. package/dist/src/__tests__/model-discovery.test.js +0 -47
  61. package/dist/src/__tests__/model-discovery.test.js.map +0 -1
  62. package/dist/src/__tests__/model-switching.test.d.ts +0 -2
  63. package/dist/src/__tests__/model-switching.test.d.ts.map +0 -1
  64. package/dist/src/__tests__/model-switching.test.js +0 -292
  65. package/dist/src/__tests__/model-switching.test.js.map +0 -1
  66. package/dist/src/__tests__/native-fusion-parsers.test.d.ts +0 -2
  67. package/dist/src/__tests__/native-fusion-parsers.test.d.ts.map +0 -1
  68. package/dist/src/__tests__/native-fusion-parsers.test.js +0 -253
  69. package/dist/src/__tests__/native-fusion-parsers.test.js.map +0 -1
  70. package/dist/src/__tests__/native-fusion-service.test.d.ts +0 -2
  71. package/dist/src/__tests__/native-fusion-service.test.d.ts.map +0 -1
  72. package/dist/src/__tests__/native-fusion-service.test.js +0 -157
  73. package/dist/src/__tests__/native-fusion-service.test.js.map +0 -1
  74. package/dist/src/__tests__/native-session-sync.test.d.ts +0 -2
  75. package/dist/src/__tests__/native-session-sync.test.d.ts.map +0 -1
  76. package/dist/src/__tests__/native-session-sync.test.js +0 -198
  77. package/dist/src/__tests__/native-session-sync.test.js.map +0 -1
  78. package/dist/src/__tests__/pair-qr.test.d.ts +0 -2
  79. package/dist/src/__tests__/pair-qr.test.d.ts.map +0 -1
  80. package/dist/src/__tests__/pair-qr.test.js +0 -13
  81. package/dist/src/__tests__/pair-qr.test.js.map +0 -1
  82. package/dist/src/__tests__/pi-context.test.d.ts +0 -2
  83. package/dist/src/__tests__/pi-context.test.d.ts.map +0 -1
  84. package/dist/src/__tests__/pi-context.test.js +0 -261
  85. package/dist/src/__tests__/pi-context.test.js.map +0 -1
  86. package/dist/src/__tests__/session-manager.test.d.ts +0 -2
  87. package/dist/src/__tests__/session-manager.test.d.ts.map +0 -1
  88. package/dist/src/__tests__/session-manager.test.js +0 -685
  89. package/dist/src/__tests__/session-manager.test.js.map +0 -1
  90. package/dist/src/__tests__/session-store.test.d.ts +0 -2
  91. package/dist/src/__tests__/session-store.test.d.ts.map +0 -1
  92. package/dist/src/__tests__/session-store.test.js +0 -106
  93. package/dist/src/__tests__/session-store.test.js.map +0 -1
  94. package/dist/src/agents/adapter.d.ts +0 -36
  95. package/dist/src/agents/adapter.d.ts.map +0 -1
  96. package/dist/src/agents/adapter.js +0 -20
  97. package/dist/src/agents/adapter.js.map +0 -1
  98. package/dist/src/agents/claude.d.ts +0 -25
  99. package/dist/src/agents/claude.d.ts.map +0 -1
  100. package/dist/src/agents/claude.js +0 -228
  101. package/dist/src/agents/claude.js.map +0 -1
  102. package/dist/src/agents/codex.d.ts +0 -50
  103. package/dist/src/agents/codex.d.ts.map +0 -1
  104. package/dist/src/agents/codex.js +0 -785
  105. package/dist/src/agents/codex.js.map +0 -1
  106. package/dist/src/agents/command-spec.d.ts +0 -11
  107. package/dist/src/agents/command-spec.d.ts.map +0 -1
  108. package/dist/src/agents/command-spec.js +0 -62
  109. package/dist/src/agents/command-spec.js.map +0 -1
  110. package/dist/src/agents/cursor.d.ts +0 -23
  111. package/dist/src/agents/cursor.d.ts.map +0 -1
  112. package/dist/src/agents/cursor.js +0 -250
  113. package/dist/src/agents/cursor.js.map +0 -1
  114. package/dist/src/agents/custom.d.ts +0 -36
  115. package/dist/src/agents/custom.d.ts.map +0 -1
  116. package/dist/src/agents/custom.js +0 -246
  117. package/dist/src/agents/custom.js.map +0 -1
  118. package/dist/src/agents/detect.d.ts +0 -10
  119. package/dist/src/agents/detect.d.ts.map +0 -1
  120. package/dist/src/agents/detect.js +0 -47
  121. package/dist/src/agents/detect.js.map +0 -1
  122. package/dist/src/agents/gemini.d.ts +0 -18
  123. package/dist/src/agents/gemini.d.ts.map +0 -1
  124. package/dist/src/agents/gemini.js +0 -168
  125. package/dist/src/agents/gemini.js.map +0 -1
  126. package/dist/src/agents/model-registry/cache.d.ts +0 -5
  127. package/dist/src/agents/model-registry/cache.d.ts.map +0 -1
  128. package/dist/src/agents/model-registry/cache.js +0 -38
  129. package/dist/src/agents/model-registry/cache.js.map +0 -1
  130. package/dist/src/agents/model-registry/discovery.d.ts +0 -5
  131. package/dist/src/agents/model-registry/discovery.d.ts.map +0 -1
  132. package/dist/src/agents/model-registry/discovery.js +0 -202
  133. package/dist/src/agents/model-registry/discovery.js.map +0 -1
  134. package/dist/src/agents/model-registry/parsers.d.ts +0 -9
  135. package/dist/src/agents/model-registry/parsers.d.ts.map +0 -1
  136. package/dist/src/agents/model-registry/parsers.js +0 -259
  137. package/dist/src/agents/model-registry/parsers.js.map +0 -1
  138. package/dist/src/agents/model-registry/runner.d.ts +0 -11
  139. package/dist/src/agents/model-registry/runner.d.ts.map +0 -1
  140. package/dist/src/agents/model-registry/runner.js +0 -160
  141. package/dist/src/agents/model-registry/runner.js.map +0 -1
  142. package/dist/src/agents/model-registry/service.d.ts +0 -7
  143. package/dist/src/agents/model-registry/service.d.ts.map +0 -1
  144. package/dist/src/agents/model-registry/service.js +0 -69
  145. package/dist/src/agents/model-registry/service.js.map +0 -1
  146. package/dist/src/agents/model-registry/types.d.ts +0 -31
  147. package/dist/src/agents/model-registry/types.d.ts.map +0 -1
  148. package/dist/src/agents/model-registry/types.js +0 -9
  149. package/dist/src/agents/model-registry/types.js.map +0 -1
  150. package/dist/src/agents/model-registry.d.ts +0 -13
  151. package/dist/src/agents/model-registry.d.ts.map +0 -1
  152. package/dist/src/agents/model-registry.js +0 -15
  153. package/dist/src/agents/model-registry.js.map +0 -1
  154. package/dist/src/agents/openclaw.d.ts +0 -21
  155. package/dist/src/agents/openclaw.d.ts.map +0 -1
  156. package/dist/src/agents/openclaw.js +0 -264
  157. package/dist/src/agents/openclaw.js.map +0 -1
  158. package/dist/src/agents/pi.d.ts +0 -52
  159. package/dist/src/agents/pi.d.ts.map +0 -1
  160. package/dist/src/agents/pi.js +0 -794
  161. package/dist/src/agents/pi.js.map +0 -1
  162. package/dist/src/commands/agent.d.ts +0 -3
  163. package/dist/src/commands/agent.d.ts.map +0 -1
  164. package/dist/src/commands/agent.js +0 -162
  165. package/dist/src/commands/agent.js.map +0 -1
  166. package/dist/src/commands/daemon.d.ts +0 -30
  167. package/dist/src/commands/daemon.d.ts.map +0 -1
  168. package/dist/src/commands/daemon.js +0 -477
  169. package/dist/src/commands/daemon.js.map +0 -1
  170. package/dist/src/commands/pair-qr.d.ts +0 -5
  171. package/dist/src/commands/pair-qr.d.ts.map +0 -1
  172. package/dist/src/commands/pair-qr.js +0 -7
  173. package/dist/src/commands/pair-qr.js.map +0 -1
  174. package/dist/src/commands/pair.d.ts +0 -9
  175. package/dist/src/commands/pair.d.ts.map +0 -1
  176. package/dist/src/commands/pair.js +0 -163
  177. package/dist/src/commands/pair.js.map +0 -1
  178. package/dist/src/commands/upgrade.d.ts +0 -6
  179. package/dist/src/commands/upgrade.d.ts.map +0 -1
  180. package/dist/src/commands/upgrade.js +0 -146
  181. package/dist/src/commands/upgrade.js.map +0 -1
  182. package/dist/src/config/index.d.ts +0 -33
  183. package/dist/src/config/index.d.ts.map +0 -1
  184. package/dist/src/config/index.js +0 -32
  185. package/dist/src/config/index.js.map +0 -1
  186. package/dist/src/fs/handler.d.ts +0 -27
  187. package/dist/src/fs/handler.d.ts.map +0 -1
  188. package/dist/src/fs/handler.js +0 -131
  189. package/dist/src/fs/handler.js.map +0 -1
  190. package/dist/src/fs/multimodal.d.ts +0 -5
  191. package/dist/src/fs/multimodal.d.ts.map +0 -1
  192. package/dist/src/fs/multimodal.js +0 -39
  193. package/dist/src/fs/multimodal.js.map +0 -1
  194. package/dist/src/fs/security.d.ts +0 -3
  195. package/dist/src/fs/security.d.ts.map +0 -1
  196. package/dist/src/fs/security.js +0 -28
  197. package/dist/src/fs/security.js.map +0 -1
  198. package/dist/src/index.d.ts +0 -2
  199. package/dist/src/index.d.ts.map +0 -1
  200. package/dist/src/index.js +0 -251
  201. package/dist/src/index.js.map +0 -1
  202. package/dist/src/log-reporter.d.ts +0 -19
  203. package/dist/src/log-reporter.d.ts.map +0 -1
  204. package/dist/src/log-reporter.js +0 -34
  205. package/dist/src/log-reporter.js.map +0 -1
  206. package/dist/src/native-fusion/parsers.d.ts +0 -13
  207. package/dist/src/native-fusion/parsers.d.ts.map +0 -1
  208. package/dist/src/native-fusion/parsers.js +0 -371
  209. package/dist/src/native-fusion/parsers.js.map +0 -1
  210. package/dist/src/native-fusion/service.d.ts +0 -26
  211. package/dist/src/native-fusion/service.d.ts.map +0 -1
  212. package/dist/src/native-fusion/service.js +0 -167
  213. package/dist/src/native-fusion/service.js.map +0 -1
  214. package/dist/src/native-fusion/state.d.ts +0 -4
  215. package/dist/src/native-fusion/state.d.ts.map +0 -1
  216. package/dist/src/native-fusion/state.js +0 -23
  217. package/dist/src/native-fusion/state.js.map +0 -1
  218. package/dist/src/native-fusion/types.d.ts +0 -25
  219. package/dist/src/native-fusion/types.d.ts.map +0 -1
  220. package/dist/src/native-fusion/types.js +0 -2
  221. package/dist/src/native-fusion/types.js.map +0 -1
  222. package/dist/src/native-sync/discover.d.ts +0 -6
  223. package/dist/src/native-sync/discover.d.ts.map +0 -1
  224. package/dist/src/native-sync/discover.js +0 -69
  225. package/dist/src/native-sync/discover.js.map +0 -1
  226. package/dist/src/native-sync/parsers.d.ts +0 -3
  227. package/dist/src/native-sync/parsers.d.ts.map +0 -1
  228. package/dist/src/native-sync/parsers.js +0 -373
  229. package/dist/src/native-sync/parsers.js.map +0 -1
  230. package/dist/src/native-sync/service.d.ts +0 -16
  231. package/dist/src/native-sync/service.d.ts.map +0 -1
  232. package/dist/src/native-sync/service.js +0 -95
  233. package/dist/src/native-sync/service.js.map +0 -1
  234. package/dist/src/native-sync/state.d.ts +0 -6
  235. package/dist/src/native-sync/state.d.ts.map +0 -1
  236. package/dist/src/native-sync/state.js +0 -34
  237. package/dist/src/native-sync/state.js.map +0 -1
  238. package/dist/src/native-sync/types.d.ts +0 -23
  239. package/dist/src/native-sync/types.d.ts.map +0 -1
  240. package/dist/src/native-sync/types.js +0 -4
  241. package/dist/src/native-sync/types.js.map +0 -1
  242. package/dist/src/region.d.ts +0 -16
  243. package/dist/src/region.d.ts.map +0 -1
  244. package/dist/src/region.js +0 -100
  245. package/dist/src/region.js.map +0 -1
  246. package/dist/src/relay/client.d.ts +0 -53
  247. package/dist/src/relay/client.d.ts.map +0 -1
  248. package/dist/src/relay/client.js +0 -293
  249. package/dist/src/relay/client.js.map +0 -1
  250. package/dist/src/session/handlers/agents.d.ts +0 -5
  251. package/dist/src/session/handlers/agents.d.ts.map +0 -1
  252. package/dist/src/session/handlers/agents.js +0 -56
  253. package/dist/src/session/handlers/agents.js.map +0 -1
  254. package/dist/src/session/handlers/chat.d.ts +0 -5
  255. package/dist/src/session/handlers/chat.d.ts.map +0 -1
  256. package/dist/src/session/handlers/chat.js +0 -327
  257. package/dist/src/session/handlers/chat.js.map +0 -1
  258. package/dist/src/session/handlers/control.d.ts +0 -6
  259. package/dist/src/session/handlers/control.d.ts.map +0 -1
  260. package/dist/src/session/handlers/control.js +0 -58
  261. package/dist/src/session/handlers/control.js.map +0 -1
  262. package/dist/src/session/handlers/fs.d.ts +0 -11
  263. package/dist/src/session/handlers/fs.d.ts.map +0 -1
  264. package/dist/src/session/handlers/fs.js +0 -253
  265. package/dist/src/session/handlers/fs.js.map +0 -1
  266. package/dist/src/session/handlers/queue.d.ts +0 -4
  267. package/dist/src/session/handlers/queue.d.ts.map +0 -1
  268. package/dist/src/session/handlers/queue.js +0 -66
  269. package/dist/src/session/handlers/queue.js.map +0 -1
  270. package/dist/src/session/manager.d.ts +0 -28
  271. package/dist/src/session/manager.d.ts.map +0 -1
  272. package/dist/src/session/manager.js +0 -155
  273. package/dist/src/session/manager.js.map +0 -1
  274. package/dist/src/session/store.d.ts +0 -8
  275. package/dist/src/session/store.d.ts.map +0 -1
  276. package/dist/src/session/store.js +0 -47
  277. package/dist/src/session/store.js.map +0 -1
  278. package/dist/src/session/types.d.ts +0 -36
  279. package/dist/src/session/types.d.ts.map +0 -1
  280. package/dist/src/session/types.js +0 -5
  281. package/dist/src/session/types.js.map +0 -1
  282. package/dist/src/upgrade/engine.d.ts +0 -65
  283. package/dist/src/upgrade/engine.d.ts.map +0 -1
  284. package/dist/src/upgrade/engine.js +0 -239
  285. package/dist/src/upgrade/engine.js.map +0 -1
  286. 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"}