muonroi-cli 1.2.0 → 1.2.2

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/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <a href="#experience-engine">Experience Engine</a>
12
12
  </p>
13
13
  <p align="center">
14
- <a href="https://github.com/muonroi/muonroi-cli/actions/workflows/typecheck.yml"><img alt="CI" src="https://github.com/muonroi/muonroi-cli/actions/workflows/typecheck.yml/badge.svg"></a>
14
+ <a href="https://github.com/muonroi/muonroi-cli/actions/workflows/ci-matrix.yml"><img alt="CI" src="https://github.com/muonroi/muonroi-cli/actions/workflows/ci-matrix.yml/badge.svg"></a>
15
15
  <a href="https://www.npmjs.com/package/muonroi-cli"><img alt="npm" src="https://img.shields.io/npm/v/muonroi-cli.svg"></a>
16
16
  <img alt="Multi-Provider" src="https://img.shields.io/badge/providers-7%20supported-blue">
17
17
  <img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-yellow">
package/dist/index.js CHANGED
@@ -370,15 +370,34 @@ program
370
370
  const { patchZodToJsonSchema } = await import("./providers/patch-zod-schema.js");
371
371
  patchZodToJsonSchema();
372
372
  // Boot model registry — load from centralized catalog (no provider API calls)
373
- await loadCatalog().catch(() => { });
374
- // If key exists but no models loaded → key is likely invalid
373
+ let catalogLoadFailed = false;
374
+ await loadCatalog().catch(() => { catalogLoadFailed = true; });
375
375
  const { MODELS: loadedModels, getModelInfo: lookupModel } = await import("./models/registry.js");
376
- if (config.apiKey && loadedModels.length === 0) {
377
- console.error("\x1b[31mAPI key is invalid or expired. No models could be loaded.\x1b[0m\n" +
378
- "Update your key:\n" +
379
- " muonroi-cli -k YOUR_NEW_KEY\n" +
380
- " # or: export MUONROI_API_KEY=YOUR_NEW_KEY\n" +
381
- "\nGet a key at: https://console.anthropic.com/settings/keys");
376
+ // No models loaded check root cause
377
+ if (loadedModels.length === 0) {
378
+ if (catalogLoadFailed) {
379
+ console.error("\x1b[31mCould not load the model catalog. The installation may be corrupted.\x1b[0m\n" +
380
+ " The file \x1b[33mdist/models/catalog.json\x1b[0m was not found.\n" +
381
+ "\nTry reinstalling:\n" +
382
+ " \x1b[33mnpm install -g muonroi-cli\x1b[0m\n" +
383
+ " # or: \x1b[33mbun install -g muonroi-cli\x1b[0m\n" +
384
+ "\nIf building from source:\n" +
385
+ " \x1b[33mbun run build\x1b[0m\n");
386
+ }
387
+ else if (config.apiKey) {
388
+ console.error("\x1b[31mAPI key is invalid or expired. No models could be loaded.\x1b[0m\n" +
389
+ "Update your key:\n" +
390
+ " muonroi-cli -k YOUR_NEW_KEY\n" +
391
+ " # or: export MUONROI_API_KEY=YOUR_NEW_KEY\n" +
392
+ "\nGet a key at: https://console.anthropic.com/settings/keys");
393
+ }
394
+ else {
395
+ console.error("\x1b[31mNo API key configured and no models could be loaded.\x1b[0m\n" +
396
+ "Set your key:\n" +
397
+ " muonroi-cli -k YOUR_API_KEY\n" +
398
+ " # or: export MUONROI_API_KEY=YOUR_API_KEY\n" +
399
+ "\nGet a key at: https://console.anthropic.com/settings/keys");
400
+ }
382
401
  process.exit(1);
383
402
  }
384
403
  // Validate configured model exists in loaded registry — fallback to first available
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,38 @@
1
1
  import { createRequire } from "node:module";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
2
5
  const CP_CATALOG_URL = "https://cp.muonroi.com/api/v1/models";
3
6
  const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
4
7
  let cachedModels = null;
5
8
  let cacheTimestamp = 0;
9
+ /**
10
+ * Try to load catalog.json from a given directory using createRequire.
11
+ */
12
+ function tryLoadCatalogViaRequire(dirUrl) {
13
+ try {
14
+ const req = createRequire(dirUrl);
15
+ return req("./catalog.json");
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ /**
22
+ * Try to load catalog.json by reading the file directly (fs).
23
+ */
24
+ function tryLoadCatalogViaFS(filePath) {
25
+ try {
26
+ if (fs.existsSync(filePath)) {
27
+ const raw = fs.readFileSync(filePath, "utf-8");
28
+ return JSON.parse(raw);
29
+ }
30
+ }
31
+ catch {
32
+ // ignore
33
+ }
34
+ return null;
35
+ }
6
36
  export async function fetchCatalog() {
7
37
  // Return cache if fresh
8
38
  if (cachedModels && Date.now() - cacheTimestamp < CACHE_TTL_MS) {
@@ -24,12 +54,33 @@ export async function fetchCatalog() {
24
54
  catch {
25
55
  // CP unreachable — fall through to static
26
56
  }
27
- // Fallback: read static catalog.json
28
- const require = createRequire(import.meta.url);
29
- const staticCatalog = require("./catalog.json");
30
- cachedModels = staticCatalog.models;
31
- cacheTimestamp = Date.now();
32
- return cachedModels;
57
+ // Fallback: try multiple paths to find static catalog.json
58
+ // Priority order: dist/models/ -> src/models/
59
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
60
+ const searchPaths = [
61
+ // 1. Same directory as the built JS (dist/models/)
62
+ moduleDir,
63
+ // 2. src/models/ (for bun run dev from source)
64
+ path.resolve(moduleDir, "../src/models"),
65
+ ];
66
+ for (const dir of searchPaths) {
67
+ // Try createRequire first (works in both bundled and module contexts)
68
+ const viaRequire = tryLoadCatalogViaRequire(dir);
69
+ if (viaRequire) {
70
+ cachedModels = viaRequire.models;
71
+ cacheTimestamp = Date.now();
72
+ return cachedModels;
73
+ }
74
+ // Try direct file read (more reliable in edge cases)
75
+ const viaFS = tryLoadCatalogViaFS(path.join(dir, "catalog.json"));
76
+ if (viaFS) {
77
+ cachedModels = viaFS.models;
78
+ cacheTimestamp = Date.now();
79
+ return cachedModels;
80
+ }
81
+ }
82
+ throw new Error("Cannot find catalog.json. The package may be installed incorrectly. " +
83
+ "Try reinstalling or setting MUONROI_API_KEY if you haven't already.");
33
84
  }
34
85
  export function catalogModelToModelInfo(m) {
35
86
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-client.js","sourceRoot":"","sources":["../../src/models/catalog-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AA2BrD,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,wBAAwB;IACxB,IAAI,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,YAAY,EAAE,CAAC;QAC/D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;YACnD,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAoB,CAAC;IACnE,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,CAAe;IACrD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,aAAa,EAAE,CAAC,CAAC,cAAc;QAC/B,UAAU,EAAE,CAAC,CAAC,uBAAuB;QACrC,WAAW,EAAE,CAAC,CAAC,wBAAwB;QACvC,gBAAgB,EAAE,CAAC,CAAC,8BAA8B;QAClD,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,IAAI,EAAE,CAAC,CAAC,IAA6B;QACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,uBAAuB,EAAE,CAAC,CAAC,eAAe,IAAI,KAAK;QACnD,sBAAsB,EAAG,CAAC,CAAC,wBAA4C,IAAI,SAAS;QACpF,YAAY,EAAE,CAAC,CAAC,aAA0C;QAC1D,cAAc,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI;KAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"catalog-client.js","sourceRoot":"","sources":["../../src/models/catalog-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ {
2
+ "version": "1.0",
3
+ "updated_at": "2026-05-02",
4
+ "models": [
5
+ {
6
+ "id": "claude-opus-4-7",
7
+ "name": "Claude Opus 4.7",
8
+ "provider": "anthropic",
9
+ "tier": "premium",
10
+ "context_window": 1000000,
11
+ "max_output_tokens": 128000,
12
+ "input_price_per_million": 15,
13
+ "output_price_per_million": 75,
14
+ "reasoning": true,
15
+ "thinking_type": "adaptive",
16
+ "supports_effort": true,
17
+ "default_reasoning_effort": "medium",
18
+ "description": "Most capable Anthropic model with adaptive thinking",
19
+ "aliases": ["claude-opus-4-7-latest"]
20
+ },
21
+ {
22
+ "id": "claude-sonnet-4-6",
23
+ "name": "Claude Sonnet 4.6",
24
+ "provider": "anthropic",
25
+ "tier": "balanced",
26
+ "context_window": 1000000,
27
+ "max_output_tokens": 128000,
28
+ "input_price_per_million": 3,
29
+ "output_price_per_million": 15,
30
+ "reasoning": true,
31
+ "thinking_type": "enabled",
32
+ "supports_effort": true,
33
+ "default_reasoning_effort": "medium",
34
+ "description": "Balanced Anthropic model for everyday coding",
35
+ "aliases": ["claude-sonnet-4-6-latest", "claude-sonnet-4-6-20250514"]
36
+ },
37
+ {
38
+ "id": "claude-opus-4-6",
39
+ "name": "Claude Opus 4.6",
40
+ "provider": "anthropic",
41
+ "tier": "premium",
42
+ "context_window": 1000000,
43
+ "max_output_tokens": 128000,
44
+ "input_price_per_million": 15,
45
+ "output_price_per_million": 75,
46
+ "reasoning": true,
47
+ "thinking_type": "enabled",
48
+ "supports_effort": true,
49
+ "default_reasoning_effort": "medium",
50
+ "description": "Premium Anthropic model with extended thinking",
51
+ "aliases": ["claude-opus-4-6-latest", "claude-opus-4-6-20250514"]
52
+ },
53
+ {
54
+ "id": "claude-opus-4-5-20251101",
55
+ "name": "Claude Opus 4.5",
56
+ "provider": "anthropic",
57
+ "tier": "premium",
58
+ "context_window": 200000,
59
+ "max_output_tokens": 32000,
60
+ "input_price_per_million": 15,
61
+ "output_price_per_million": 75,
62
+ "reasoning": true,
63
+ "thinking_type": "enabled",
64
+ "supports_effort": false,
65
+ "default_reasoning_effort": null,
66
+ "description": "Previous-gen premium Anthropic model",
67
+ "aliases": ["claude-opus-4-5", "claude-opus-4-5-latest"]
68
+ },
69
+ {
70
+ "id": "claude-haiku-4-5-20251001",
71
+ "name": "Claude Haiku 4.5",
72
+ "provider": "anthropic",
73
+ "tier": "fast",
74
+ "context_window": 200000,
75
+ "max_output_tokens": 8000,
76
+ "input_price_per_million": 0.80,
77
+ "output_price_per_million": 4,
78
+ "reasoning": false,
79
+ "thinking_type": null,
80
+ "supports_effort": false,
81
+ "default_reasoning_effort": null,
82
+ "description": "Fast and affordable Anthropic model",
83
+ "aliases": ["claude-haiku-4-5", "claude-haiku-4-5-latest"]
84
+ },
85
+ {
86
+ "id": "claude-sonnet-4-5-20250929",
87
+ "name": "Claude Sonnet 4.5",
88
+ "provider": "anthropic",
89
+ "tier": "balanced",
90
+ "context_window": 1000000,
91
+ "max_output_tokens": 64000,
92
+ "input_price_per_million": 3,
93
+ "output_price_per_million": 15,
94
+ "reasoning": true,
95
+ "thinking_type": "enabled",
96
+ "supports_effort": false,
97
+ "default_reasoning_effort": null,
98
+ "description": "Previous-gen balanced Anthropic model",
99
+ "aliases": ["claude-sonnet-4-5", "claude-sonnet-4-5-latest"]
100
+ },
101
+ {
102
+ "id": "gpt-4o",
103
+ "name": "GPT-4o",
104
+ "provider": "openai",
105
+ "tier": "balanced",
106
+ "context_window": 128000,
107
+ "max_output_tokens": 16000,
108
+ "input_price_per_million": 2.50,
109
+ "output_price_per_million": 10,
110
+ "reasoning": false,
111
+ "thinking_type": null,
112
+ "supports_effort": false,
113
+ "default_reasoning_effort": null,
114
+ "description": "OpenAI flagship multimodal model",
115
+ "aliases": ["gpt-4o-2024-11-20"]
116
+ },
117
+ {
118
+ "id": "gpt-4o-mini",
119
+ "name": "GPT-4o Mini",
120
+ "provider": "openai",
121
+ "tier": "fast",
122
+ "context_window": 128000,
123
+ "max_output_tokens": 16000,
124
+ "input_price_per_million": 0.15,
125
+ "output_price_per_million": 0.60,
126
+ "reasoning": false,
127
+ "thinking_type": null,
128
+ "supports_effort": false,
129
+ "default_reasoning_effort": null,
130
+ "description": "Small and affordable OpenAI model",
131
+ "aliases": ["gpt-4o-mini-2024-07-18"]
132
+ },
133
+ {
134
+ "id": "o3",
135
+ "name": "OpenAI o3",
136
+ "provider": "openai",
137
+ "tier": "premium",
138
+ "context_window": 200000,
139
+ "max_output_tokens": 100000,
140
+ "input_price_per_million": 10,
141
+ "output_price_per_million": 40,
142
+ "reasoning": true,
143
+ "thinking_type": "enabled",
144
+ "supports_effort": true,
145
+ "default_reasoning_effort": "medium",
146
+ "description": "OpenAI reasoning model",
147
+ "aliases": ["o3-2025-04-16"]
148
+ },
149
+ {
150
+ "id": "o3-mini",
151
+ "name": "OpenAI o3-mini",
152
+ "provider": "openai",
153
+ "tier": "fast",
154
+ "context_window": 200000,
155
+ "max_output_tokens": 100000,
156
+ "input_price_per_million": 1.10,
157
+ "output_price_per_million": 4.40,
158
+ "reasoning": true,
159
+ "thinking_type": "enabled",
160
+ "supports_effort": true,
161
+ "default_reasoning_effort": "medium",
162
+ "description": "Affordable OpenAI reasoning model",
163
+ "aliases": ["o3-mini-2025-01-31"]
164
+ },
165
+ {
166
+ "id": "o4-mini",
167
+ "name": "OpenAI o4-mini",
168
+ "provider": "openai",
169
+ "tier": "fast",
170
+ "context_window": 200000,
171
+ "max_output_tokens": 100000,
172
+ "input_price_per_million": 1.10,
173
+ "output_price_per_million": 4.40,
174
+ "reasoning": true,
175
+ "thinking_type": "enabled",
176
+ "supports_effort": true,
177
+ "default_reasoning_effort": "medium",
178
+ "description": "Affordable OpenAI reasoning model",
179
+ "aliases": ["o4-mini-2025-04-16"]
180
+ },
181
+ {
182
+ "id": "deepseek-chat",
183
+ "name": "DeepSeek Chat",
184
+ "provider": "deepseek",
185
+ "tier": "balanced",
186
+ "context_window": 128000,
187
+ "max_output_tokens": 8000,
188
+ "input_price_per_million": 0.27,
189
+ "output_price_per_million": 1.10,
190
+ "reasoning": false,
191
+ "thinking_type": null,
192
+ "supports_effort": false,
193
+ "default_reasoning_effort": null,
194
+ "description": "DeepSeek V3 general-purpose model (legacy, deprecated 2026/07/24)",
195
+ "aliases": ["deepseek-v3"],
196
+ "supports_vision": false
197
+ },
198
+ {
199
+ "id": "deepseek-reasoner",
200
+ "name": "DeepSeek Reasoner",
201
+ "provider": "deepseek",
202
+ "tier": "premium",
203
+ "context_window": 128000,
204
+ "max_output_tokens": 8000,
205
+ "input_price_per_million": 0.55,
206
+ "output_price_per_million": 2.19,
207
+ "reasoning": true,
208
+ "thinking_type": "enabled",
209
+ "supports_effort": false,
210
+ "default_reasoning_effort": null,
211
+ "description": "DeepSeek R1 reasoning model (legacy, deprecated 2026/07/24)",
212
+ "aliases": ["deepseek-r1"],
213
+ "supports_vision": false
214
+ },
215
+ {
216
+ "id": "deepseek-v4-flash",
217
+ "name": "DeepSeek V4 Flash",
218
+ "provider": "deepseek",
219
+ "tier": "fast",
220
+ "context_window": 128000,
221
+ "max_output_tokens": 8000,
222
+ "input_price_per_million": 0.10,
223
+ "output_price_per_million": 0.40,
224
+ "reasoning": false,
225
+ "thinking_type": null,
226
+ "supports_effort": false,
227
+ "default_reasoning_effort": null,
228
+ "description": "Fast and affordable DeepSeek model",
229
+ "aliases": ["deepseek-flash"],
230
+ "supports_vision": false
231
+ },
232
+ {
233
+ "id": "deepseek-v4-pro",
234
+ "name": "DeepSeek V4 Pro",
235
+ "provider": "deepseek",
236
+ "tier": "premium",
237
+ "context_window": 128000,
238
+ "max_output_tokens": 16000,
239
+ "input_price_per_million": 2.00,
240
+ "output_price_per_million": 8.00,
241
+ "reasoning": true,
242
+ "thinking_type": "enabled",
243
+ "supports_effort": false,
244
+ "default_reasoning_effort": null,
245
+ "description": "Most capable DeepSeek reasoning model",
246
+ "aliases": ["deepseek-pro"],
247
+ "supports_vision": false
248
+ },
249
+ {
250
+ "id": "gemini-2.5-pro",
251
+ "name": "Gemini 2.5 Pro",
252
+ "provider": "google",
253
+ "tier": "premium",
254
+ "context_window": 1048576,
255
+ "max_output_tokens": 65536,
256
+ "input_price_per_million": 1.25,
257
+ "output_price_per_million": 10,
258
+ "reasoning": true,
259
+ "thinking_type": "enabled",
260
+ "supports_effort": false,
261
+ "default_reasoning_effort": null,
262
+ "description": "Google flagship reasoning model",
263
+ "aliases": ["gemini-2.5-pro-latest"]
264
+ },
265
+ {
266
+ "id": "gemini-2.5-flash",
267
+ "name": "Gemini 2.5 Flash",
268
+ "provider": "google",
269
+ "tier": "fast",
270
+ "context_window": 1048576,
271
+ "max_output_tokens": 65536,
272
+ "input_price_per_million": 0.15,
273
+ "output_price_per_million": 0.60,
274
+ "reasoning": true,
275
+ "thinking_type": "enabled",
276
+ "supports_effort": false,
277
+ "default_reasoning_effort": null,
278
+ "description": "Fast and affordable Google model with thinking",
279
+ "aliases": ["gemini-2.5-flash-latest"]
280
+ },
281
+ {
282
+ "id": "grok-3",
283
+ "name": "Grok 3",
284
+ "provider": "xai",
285
+ "tier": "premium",
286
+ "context_window": 131000,
287
+ "max_output_tokens": 131000,
288
+ "input_price_per_million": 3,
289
+ "output_price_per_million": 15,
290
+ "reasoning": false,
291
+ "thinking_type": null,
292
+ "supports_effort": false,
293
+ "default_reasoning_effort": null,
294
+ "description": "xAI flagship model",
295
+ "aliases": ["grok-3-latest"]
296
+ },
297
+ {
298
+ "id": "grok-3-mini",
299
+ "name": "Grok 3 Mini",
300
+ "provider": "xai",
301
+ "tier": "fast",
302
+ "context_window": 131000,
303
+ "max_output_tokens": 131000,
304
+ "input_price_per_million": 0.30,
305
+ "output_price_per_million": 0.50,
306
+ "reasoning": true,
307
+ "thinking_type": "enabled",
308
+ "supports_effort": true,
309
+ "default_reasoning_effort": "medium",
310
+ "description": "Affordable xAI reasoning model",
311
+ "aliases": ["grok-3-mini-latest"]
312
+ }
313
+ ]
314
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muonroi-cli",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "BYOK AI coding agent with multi-model council debate, role-based routing, and auto-compact.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "scripts": {
17
17
  "dev": "bun run src/index.ts",
18
- "build": "tsc",
18
+ "build": "tsc && node -e \"require('fs').cpSync('src/models/catalog.json', 'dist/models/catalog.json')\"",
19
19
  "build:binary": "bun build --compile --outfile ./dist/muonroi-cli-standalone ./src/index.ts",
20
20
  "start": "bun run dist/index.js",
21
21
  "typecheck": "tsc --noEmit",
package/src/index.ts CHANGED
@@ -455,18 +455,40 @@ program
455
455
  patchZodToJsonSchema();
456
456
 
457
457
  // Boot model registry — load from centralized catalog (no provider API calls)
458
- await loadCatalog().catch(() => {});
458
+ let catalogLoadFailed = false;
459
+ await loadCatalog().catch(() => { catalogLoadFailed = true; });
459
460
 
460
- // If key exists but no models loaded → key is likely invalid
461
461
  const { MODELS: loadedModels, getModelInfo: lookupModel } = await import("./models/registry.js");
462
- if (config.apiKey && loadedModels.length === 0) {
463
- console.error(
464
- "\x1b[31mAPI key is invalid or expired. No models could be loaded.\x1b[0m\n" +
465
- "Update your key:\n" +
466
- " muonroi-cli -k YOUR_NEW_KEY\n" +
467
- " # or: export MUONROI_API_KEY=YOUR_NEW_KEY\n" +
468
- "\nGet a key at: https://console.anthropic.com/settings/keys",
469
- );
462
+
463
+ // No models loaded — check root cause
464
+ if (loadedModels.length === 0) {
465
+ if (catalogLoadFailed) {
466
+ console.error(
467
+ "\x1b[31mCould not load the model catalog. The installation may be corrupted.\x1b[0m\n" +
468
+ " The file \x1b[33mdist/models/catalog.json\x1b[0m was not found.\n" +
469
+ "\nTry reinstalling:\n" +
470
+ " \x1b[33mnpm install -g muonroi-cli\x1b[0m\n" +
471
+ " # or: \x1b[33mbun install -g muonroi-cli\x1b[0m\n" +
472
+ "\nIf building from source:\n" +
473
+ " \x1b[33mbun run build\x1b[0m\n",
474
+ );
475
+ } else if (config.apiKey) {
476
+ console.error(
477
+ "\x1b[31mAPI key is invalid or expired. No models could be loaded.\x1b[0m\n" +
478
+ "Update your key:\n" +
479
+ " muonroi-cli -k YOUR_NEW_KEY\n" +
480
+ " # or: export MUONROI_API_KEY=YOUR_NEW_KEY\n" +
481
+ "\nGet a key at: https://console.anthropic.com/settings/keys",
482
+ );
483
+ } else {
484
+ console.error(
485
+ "\x1b[31mNo API key configured and no models could be loaded.\x1b[0m\n" +
486
+ "Set your key:\n" +
487
+ " muonroi-cli -k YOUR_API_KEY\n" +
488
+ " # or: export MUONROI_API_KEY=YOUR_API_KEY\n" +
489
+ "\nGet a key at: https://console.anthropic.com/settings/keys",
490
+ );
491
+ }
470
492
  process.exit(1);
471
493
  }
472
494
 
@@ -1,4 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import { fileURLToPath } from "node:url";
2
5
  import type { ModelInfo, ModelTier, ReasoningEffort } from "../types/index.js";
3
6
 
4
7
  const CP_CATALOG_URL = "https://cp.muonroi.com/api/v1/models";
@@ -32,6 +35,33 @@ interface CatalogResponse {
32
35
  let cachedModels: CatalogModel[] | null = null;
33
36
  let cacheTimestamp = 0;
34
37
 
38
+ /**
39
+ * Try to load catalog.json from a given directory using createRequire.
40
+ */
41
+ function tryLoadCatalogViaRequire(dirUrl: string): CatalogResponse | null {
42
+ try {
43
+ const req = createRequire(dirUrl);
44
+ return req("./catalog.json") as CatalogResponse;
45
+ } catch {
46
+ return null;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Try to load catalog.json by reading the file directly (fs).
52
+ */
53
+ function tryLoadCatalogViaFS(filePath: string): CatalogResponse | null {
54
+ try {
55
+ if (fs.existsSync(filePath)) {
56
+ const raw = fs.readFileSync(filePath, "utf-8");
57
+ return JSON.parse(raw) as CatalogResponse;
58
+ }
59
+ } catch {
60
+ // ignore
61
+ }
62
+ return null;
63
+ }
64
+
35
65
  export async function fetchCatalog(): Promise<CatalogModel[]> {
36
66
  // Return cache if fresh
37
67
  if (cachedModels && Date.now() - cacheTimestamp < CACHE_TTL_MS) {
@@ -54,12 +84,39 @@ export async function fetchCatalog(): Promise<CatalogModel[]> {
54
84
  // CP unreachable — fall through to static
55
85
  }
56
86
 
57
- // Fallback: read static catalog.json
58
- const require = createRequire(import.meta.url);
59
- const staticCatalog = require("./catalog.json") as CatalogResponse;
60
- cachedModels = staticCatalog.models;
61
- cacheTimestamp = Date.now();
62
- return cachedModels;
87
+ // Fallback: try multiple paths to find static catalog.json
88
+ // Priority order: dist/models/ -> src/models/
89
+ const moduleDir = path.dirname(fileURLToPath(import.meta.url));
90
+
91
+ const searchPaths = [
92
+ // 1. Same directory as the built JS (dist/models/)
93
+ moduleDir,
94
+ // 2. src/models/ (for bun run dev from source)
95
+ path.resolve(moduleDir, "../src/models"),
96
+ ];
97
+
98
+ for (const dir of searchPaths) {
99
+ // Try createRequire first (works in both bundled and module contexts)
100
+ const viaRequire = tryLoadCatalogViaRequire(dir);
101
+ if (viaRequire) {
102
+ cachedModels = viaRequire.models;
103
+ cacheTimestamp = Date.now();
104
+ return cachedModels;
105
+ }
106
+
107
+ // Try direct file read (more reliable in edge cases)
108
+ const viaFS = tryLoadCatalogViaFS(path.join(dir, "catalog.json"));
109
+ if (viaFS) {
110
+ cachedModels = viaFS.models;
111
+ cacheTimestamp = Date.now();
112
+ return cachedModels;
113
+ }
114
+ }
115
+
116
+ throw new Error(
117
+ "Cannot find catalog.json. The package may be installed incorrectly. " +
118
+ "Try reinstalling or setting MUONROI_API_KEY if you haven't already.",
119
+ );
63
120
  }
64
121
 
65
122
  export function catalogModelToModelInfo(m: CatalogModel): ModelInfo {