@johnowennixon/diffdash 1.7.0 → 1.8.0

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.
@@ -1,448 +1,548 @@
1
1
  import { abort_with_error } from "./lib_abort.js";
2
- const LLM_MODEL_DETAILS = [
2
+ function provider_options_anthropic({ thinking }) {
3
+ return thinking
4
+ ? {
5
+ anthropic: {
6
+ thinking: {
7
+ type: "enabled",
8
+ budgetTokens: 1024,
9
+ },
10
+ },
11
+ }
12
+ : undefined;
13
+ }
14
+ function provider_options_openai({ reasoning_effort, }) {
15
+ return {
16
+ openai: {
17
+ reasoningEffort: reasoning_effort,
18
+ },
19
+ };
20
+ }
21
+ function provider_options_openrouter({ only }) {
22
+ return {
23
+ openrouter: {
24
+ provider: {
25
+ only: [only],
26
+ },
27
+ },
28
+ };
29
+ }
30
+ export const LLM_MODEL_DETAILS = [
3
31
  {
4
32
  llm_model_name: "claude-3.5-haiku",
33
+ llm_model_code: "claude-3-5-haiku-latest",
5
34
  llm_api_code: "anthropic",
6
- llm_model_code_direct: "claude-3-5-haiku-latest",
7
- llm_model_code_requesty: "anthropic/claude-3-5-haiku-latest",
8
- llm_model_code_openrouter: "anthropic/claude-3.5-haiku",
9
35
  context_window: 200_000,
10
36
  cents_input: 80,
11
37
  cents_output: 400,
12
38
  default_reasoning: false,
13
39
  has_structured_json: true,
40
+ recommended_temperature: undefined,
41
+ provider_options: provider_options_anthropic({ thinking: false }),
14
42
  },
15
43
  {
16
44
  llm_model_name: "claude-3.7-sonnet",
45
+ llm_model_code: "claude-3-7-sonnet-latest",
17
46
  llm_api_code: "anthropic",
18
- llm_model_code_direct: "claude-3-7-sonnet-20250219",
19
- llm_model_code_requesty: "anthropic/claude-3-7-sonnet-latest",
20
- llm_model_code_openrouter: "anthropic/claude-3.7-sonnet",
21
47
  context_window: 200_000,
22
48
  cents_input: 300,
23
49
  cents_output: 1500,
24
50
  default_reasoning: false,
25
51
  has_structured_json: true,
52
+ recommended_temperature: undefined,
53
+ provider_options: provider_options_anthropic({ thinking: false }),
26
54
  },
27
55
  {
28
56
  llm_model_name: "claude-sonnet-4",
57
+ llm_model_code: "claude-sonnet-4-0",
29
58
  llm_api_code: "anthropic",
30
- llm_model_code_direct: "claude-sonnet-4-0",
31
- llm_model_code_requesty: "anthropic/claude-sonnet-4-20250514",
32
- llm_model_code_openrouter: "anthropic/claude-sonnet-4",
33
59
  context_window: 200_000,
34
60
  cents_input: 300,
35
61
  cents_output: 1500,
36
62
  default_reasoning: false,
37
63
  has_structured_json: true,
64
+ recommended_temperature: undefined,
65
+ provider_options: provider_options_anthropic({ thinking: false }),
38
66
  },
39
67
  {
40
- llm_model_name: "deepseek-v3",
68
+ llm_model_name: "claude-sonnet-4-thinking",
69
+ llm_model_code: "claude-sonnet-4-0",
70
+ llm_api_code: "anthropic",
71
+ context_window: 200_000,
72
+ cents_input: 300,
73
+ cents_output: 1500,
74
+ default_reasoning: false,
75
+ has_structured_json: true,
76
+ recommended_temperature: undefined,
77
+ provider_options: provider_options_anthropic({ thinking: true }),
78
+ },
79
+ {
80
+ llm_model_name: "codestral-2508",
81
+ llm_model_code: "mistralai/codestral-2508",
82
+ llm_api_code: "openrouter",
83
+ context_window: 256_000,
84
+ cents_input: 30,
85
+ cents_output: 90,
86
+ default_reasoning: false,
87
+ has_structured_json: true,
88
+ recommended_temperature: undefined,
89
+ provider_options: provider_options_openrouter({ only: "mistral" }),
90
+ },
91
+ {
92
+ llm_model_name: "deepseek-chat",
93
+ llm_model_code: "deepseek-chat",
41
94
  llm_api_code: "deepseek",
42
- llm_model_code_direct: "deepseek-chat",
43
- llm_model_code_requesty: "novita/deepseek/deepseek-v3-0324",
44
- llm_model_code_openrouter: "deepseek/deepseek-chat-v3-0324",
45
95
  context_window: 64_000,
46
96
  cents_input: 27,
47
97
  cents_output: 110,
48
98
  default_reasoning: false,
49
- has_structured_json: true,
99
+ has_structured_json: false,
100
+ recommended_temperature: undefined,
101
+ provider_options: undefined,
50
102
  },
51
103
  {
52
- llm_model_name: "deepseek-r1",
104
+ llm_model_name: "deepseek-reasoner",
105
+ llm_model_code: "deepseek-reasoner",
53
106
  llm_api_code: "deepseek",
54
- llm_model_code_direct: "deepseek-reasoner",
55
- llm_model_code_requesty: "netmind/deepseek-ai/DeepSeek-R1-0528",
56
- llm_model_code_openrouter: "deepseek/deepseek-r1-0528",
57
107
  context_window: 163_840,
58
108
  cents_input: 55,
59
109
  cents_output: 219,
60
110
  default_reasoning: true,
61
111
  has_structured_json: true,
112
+ recommended_temperature: undefined,
113
+ provider_options: undefined,
62
114
  },
63
115
  {
64
116
  llm_model_name: "devstral-medium",
65
- llm_api_code: null,
66
- llm_model_code_direct: "devstral-medium-latest",
67
- llm_model_code_requesty: "mistral/devstral-medium-latest",
68
- llm_model_code_openrouter: "mistralai/devstral-medium",
117
+ llm_model_code: "mistralai/devstral-medium",
118
+ llm_api_code: "openrouter",
69
119
  context_window: 128_000,
70
120
  cents_input: 40,
71
121
  cents_output: 200,
72
122
  default_reasoning: false,
73
123
  has_structured_json: true,
124
+ recommended_temperature: undefined,
125
+ provider_options: provider_options_openrouter({ only: "mistral" }),
74
126
  },
75
127
  {
76
128
  llm_model_name: "devstral-small",
77
- llm_api_code: null,
78
- llm_model_code_direct: "devstral-small-latest",
79
- llm_model_code_requesty: "mistral/devstral-small-latest",
80
- llm_model_code_openrouter: "mistralai/devstral-small",
129
+ llm_model_code: "mistralai/devstral-small",
130
+ llm_api_code: "openrouter",
81
131
  context_window: 128_000,
82
132
  cents_input: 10,
83
133
  cents_output: 30,
84
134
  default_reasoning: false,
85
135
  has_structured_json: true,
136
+ recommended_temperature: undefined,
137
+ provider_options: provider_options_openrouter({ only: "mistral" }),
86
138
  },
87
139
  {
88
140
  llm_model_name: "gemini-2.0-flash",
141
+ llm_model_code: "gemini-2.0-flash",
89
142
  llm_api_code: "google",
90
- llm_model_code_direct: "gemini-2.0-flash",
91
- llm_model_code_requesty: "google/gemini-2.0-flash-001",
92
- llm_model_code_openrouter: "google/gemini-2.0-flash-001",
93
143
  context_window: 1_048_576,
94
144
  cents_input: 10,
95
145
  cents_output: 40,
96
146
  default_reasoning: false,
97
147
  has_structured_json: true,
148
+ recommended_temperature: undefined,
149
+ provider_options: undefined,
98
150
  },
99
151
  {
100
152
  llm_model_name: "gemini-2.5-flash",
153
+ llm_model_code: "gemini-2.5-flash",
101
154
  llm_api_code: "google",
102
- llm_model_code_direct: "gemini-2.5-flash",
103
- llm_model_code_requesty: "google/gemini-2.5-flash",
104
- llm_model_code_openrouter: "google/gemini-2.5-flash",
105
155
  context_window: 1_048_576,
106
156
  cents_input: 30,
107
157
  cents_output: 250,
108
158
  default_reasoning: false,
109
159
  has_structured_json: true,
160
+ recommended_temperature: undefined,
161
+ provider_options: undefined,
110
162
  },
111
163
  {
112
164
  llm_model_name: "gemini-2.5-pro",
165
+ llm_model_code: "gemini-2.5-pro",
113
166
  llm_api_code: "google",
114
- llm_model_code_direct: "gemini-2.5-pro",
115
- llm_model_code_requesty: "google/gemini-2.5-pro",
116
- llm_model_code_openrouter: "google/gemini-2.5-pro",
117
167
  context_window: 1_048_576,
118
168
  cents_input: 125,
119
169
  cents_output: 1000,
120
170
  default_reasoning: false,
121
171
  has_structured_json: true,
172
+ recommended_temperature: undefined,
173
+ provider_options: undefined,
122
174
  },
123
175
  {
124
- llm_model_name: "glm-4-32b",
125
- llm_api_code: null,
126
- llm_model_code_direct: null,
127
- llm_model_code_requesty: null,
128
- llm_model_code_openrouter: "z-ai/glm-4-32b",
176
+ llm_model_name: "glm-4-32b@z-ai",
177
+ llm_model_code: "z-ai/glm-4-32b",
178
+ llm_api_code: "openrouter",
129
179
  context_window: 128_000,
130
180
  cents_input: 10,
131
181
  cents_output: 10,
132
182
  default_reasoning: false,
133
183
  has_structured_json: false,
184
+ recommended_temperature: undefined,
185
+ provider_options: provider_options_openrouter({ only: "z-ai" }),
186
+ },
187
+ {
188
+ llm_model_name: "glm-4.5@z-ai",
189
+ llm_model_code: "z-ai/glm-4.5",
190
+ llm_api_code: "openrouter",
191
+ context_window: 128_000,
192
+ cents_input: 60,
193
+ cents_output: 220,
194
+ default_reasoning: true,
195
+ has_structured_json: false,
196
+ recommended_temperature: undefined,
197
+ provider_options: provider_options_openrouter({ only: "z-ai/fp8" }),
198
+ },
199
+ {
200
+ llm_model_name: "glm-4.5-air@z-ai",
201
+ llm_model_code: "z-ai/glm-4.5-air",
202
+ llm_api_code: "openrouter",
203
+ context_window: 128_000,
204
+ cents_input: 20,
205
+ cents_output: 110,
206
+ default_reasoning: true,
207
+ has_structured_json: false,
208
+ recommended_temperature: undefined,
209
+ provider_options: provider_options_openrouter({ only: "z-ai/fp8" }),
134
210
  },
135
211
  {
136
212
  llm_model_name: "gpt-4.1",
213
+ llm_model_code: "gpt-4.1",
137
214
  llm_api_code: "openai",
138
- llm_model_code_direct: "gpt-4.1",
139
- llm_model_code_requesty: "openai/gpt-4.1",
140
- llm_model_code_openrouter: "openai/gpt-4.1",
141
215
  context_window: 1_047_576,
142
216
  cents_input: 200,
143
217
  cents_output: 800,
144
218
  default_reasoning: false,
145
219
  has_structured_json: true,
220
+ recommended_temperature: 0.6,
221
+ provider_options: undefined,
146
222
  },
147
223
  {
148
224
  llm_model_name: "gpt-4.1-mini",
225
+ llm_model_code: "gpt-4.1-mini",
149
226
  llm_api_code: "openai",
150
- llm_model_code_direct: "gpt-4.1-mini",
151
- llm_model_code_requesty: "openai/gpt-4.1-mini",
152
- llm_model_code_openrouter: "openai/gpt-4.1-mini",
153
227
  context_window: 1_047_576,
154
228
  cents_input: 40,
155
229
  cents_output: 160,
156
230
  default_reasoning: false,
157
231
  has_structured_json: true,
232
+ recommended_temperature: 0.6,
233
+ provider_options: undefined,
158
234
  },
159
235
  {
160
236
  llm_model_name: "gpt-4.1-nano",
237
+ llm_model_code: "gpt-4.1-nano",
161
238
  llm_api_code: "openai",
162
- llm_model_code_direct: "gpt-4.1-nano",
163
- llm_model_code_requesty: "openai/gpt-4.1-nano",
164
- llm_model_code_openrouter: "openai/gpt-4.1-nano",
165
239
  context_window: 1_047_576,
166
240
  cents_input: 10,
167
241
  cents_output: 40,
168
242
  default_reasoning: false,
169
243
  has_structured_json: true,
244
+ recommended_temperature: 0.6,
245
+ provider_options: undefined,
170
246
  },
171
247
  {
172
- llm_model_name: "gpt-4o",
248
+ llm_model_name: "gpt-5",
249
+ llm_model_code: "gpt-5",
173
250
  llm_api_code: "openai",
174
- llm_model_code_direct: "gpt-4o-2024-11-20",
175
- llm_model_code_requesty: "openai/gpt-4o-2024-11-20",
176
- llm_model_code_openrouter: "openai/gpt-4o-2024-11-20",
177
- context_window: 128_000,
178
- cents_input: 250,
251
+ context_window: 400_000,
252
+ cents_input: 125,
179
253
  cents_output: 1000,
180
- default_reasoning: false,
254
+ default_reasoning: true,
181
255
  has_structured_json: true,
256
+ recommended_temperature: undefined,
257
+ provider_options: undefined,
182
258
  },
183
259
  {
184
- llm_model_name: "gpt-4o-mini",
260
+ llm_model_name: "gpt-5-minimal",
261
+ llm_model_code: "gpt-5",
185
262
  llm_api_code: "openai",
186
- llm_model_code_direct: "gpt-4o-mini",
187
- llm_model_code_requesty: "openai/gpt-4o-mini-2024-07-18",
188
- llm_model_code_openrouter: "openai/gpt-4o-mini-2024-07-18",
189
- context_window: 128_000,
190
- cents_input: 15,
191
- cents_output: 60,
263
+ context_window: 400_000,
264
+ cents_input: 125,
265
+ cents_output: 1000,
192
266
  default_reasoning: false,
193
267
  has_structured_json: true,
268
+ recommended_temperature: undefined,
269
+ provider_options: provider_options_openai({ reasoning_effort: "minimal" }),
194
270
  },
195
271
  {
196
- llm_model_name: "grok-3",
197
- llm_api_code: null,
198
- llm_model_code_direct: "grok-3",
199
- llm_model_code_requesty: "xai/grok-3-beta",
200
- llm_model_code_openrouter: "x-ai/grok-3",
201
- context_window: 131_072,
202
- cents_input: 300,
203
- cents_output: 1500,
204
- default_reasoning: false,
272
+ llm_model_name: "gpt-5-mini",
273
+ llm_model_code: "gpt-5-mini",
274
+ llm_api_code: "openai",
275
+ context_window: 400_000,
276
+ cents_input: 25,
277
+ cents_output: 200,
278
+ default_reasoning: true,
205
279
  has_structured_json: true,
280
+ recommended_temperature: undefined,
281
+ provider_options: undefined,
206
282
  },
207
283
  {
208
- llm_model_name: "grok-3-mini",
209
- llm_api_code: null,
210
- llm_model_code_direct: "grok-3-mini",
211
- llm_model_code_requesty: "xai/grok-3-mini-beta",
212
- llm_model_code_openrouter: "x-ai/grok-3-mini",
213
- context_window: 131_072,
214
- cents_input: 30,
215
- cents_output: 50,
284
+ llm_model_name: "gpt-5-mini-high",
285
+ llm_model_code: "gpt-5-mini",
286
+ llm_api_code: "openai",
287
+ context_window: 400_000,
288
+ cents_input: 25,
289
+ cents_output: 200,
290
+ default_reasoning: true,
291
+ has_structured_json: true,
292
+ recommended_temperature: undefined,
293
+ provider_options: provider_options_openai({ reasoning_effort: "high" }),
294
+ },
295
+ {
296
+ llm_model_name: "gpt-5-mini-low",
297
+ llm_model_code: "gpt-5-mini",
298
+ llm_api_code: "openai",
299
+ context_window: 400_000,
300
+ cents_input: 25,
301
+ cents_output: 200,
302
+ default_reasoning: true,
303
+ has_structured_json: true,
304
+ recommended_temperature: undefined,
305
+ provider_options: provider_options_openai({ reasoning_effort: "low" }),
306
+ },
307
+ {
308
+ llm_model_name: "gpt-5-mini-medium",
309
+ llm_model_code: "gpt-5-mini",
310
+ llm_api_code: "openai",
311
+ context_window: 400_000,
312
+ cents_input: 25,
313
+ cents_output: 200,
314
+ default_reasoning: true,
315
+ has_structured_json: true,
316
+ recommended_temperature: undefined,
317
+ provider_options: provider_options_openai({ reasoning_effort: "medium" }),
318
+ },
319
+ {
320
+ llm_model_name: "gpt-5-mini-minimal",
321
+ llm_model_code: "gpt-5-mini",
322
+ llm_api_code: "openai",
323
+ context_window: 400_000,
324
+ cents_input: 25,
325
+ cents_output: 200,
216
326
  default_reasoning: false,
217
327
  has_structured_json: true,
328
+ recommended_temperature: undefined,
329
+ provider_options: provider_options_openai({ reasoning_effort: "minimal" }),
218
330
  },
219
331
  {
220
- llm_model_name: "grok-4",
221
- llm_api_code: null,
222
- llm_model_code_direct: "grok-4",
223
- llm_model_code_requesty: "xai/grok-4",
224
- llm_model_code_openrouter: "x-ai/grok-4",
225
- context_window: 256_000,
226
- cents_input: 300,
227
- cents_output: 1500,
332
+ llm_model_name: "gpt-5-nano",
333
+ llm_model_code: "gpt-5-nano",
334
+ llm_api_code: "openai",
335
+ context_window: 400_000,
336
+ cents_input: 5,
337
+ cents_output: 40,
228
338
  default_reasoning: true,
229
339
  has_structured_json: true,
340
+ recommended_temperature: undefined,
341
+ provider_options: undefined,
230
342
  },
231
343
  {
232
- llm_model_name: "kimi-k2",
233
- llm_api_code: null,
234
- llm_model_code_direct: "kimi-k2-0711-preview",
235
- llm_model_code_requesty: null,
236
- llm_model_code_openrouter: "moonshotai/kimi-k2",
344
+ llm_model_name: "gpt-5-nano-minimal",
345
+ llm_model_code: "gpt-5-nano",
346
+ llm_api_code: "openai",
347
+ context_window: 400_000,
348
+ cents_input: 5,
349
+ cents_output: 40,
350
+ default_reasoning: false,
351
+ has_structured_json: true,
352
+ recommended_temperature: undefined,
353
+ provider_options: provider_options_openai({ reasoning_effort: "minimal" }),
354
+ },
355
+ {
356
+ llm_model_name: "gpt-oss-120b@cerebras",
357
+ llm_model_code: "openai/gpt-oss-120b",
358
+ llm_api_code: "openrouter",
237
359
  context_window: 131_072,
238
- cents_input: 60,
239
- cents_output: 250,
360
+ cents_input: 25,
361
+ cents_output: 69,
240
362
  default_reasoning: false,
241
363
  has_structured_json: true,
364
+ recommended_temperature: undefined,
365
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
242
366
  },
243
367
  {
244
- llm_model_name: "kimi-k2@chutes",
245
- llm_api_code: null,
246
- llm_model_code_direct: null,
247
- llm_model_code_requesty: null,
248
- llm_model_code_openrouter: "moonshotai/kimi-k2@chutes",
368
+ llm_model_name: "gpt-oss-120b@groq",
369
+ llm_model_code: "openai/gpt-oss-120b",
370
+ llm_api_code: "openrouter",
249
371
  context_window: 131_072,
250
- cents_input: 30,
251
- cents_output: 30,
372
+ cents_input: 15,
373
+ cents_output: 75,
252
374
  default_reasoning: false,
253
375
  has_structured_json: true,
376
+ recommended_temperature: undefined,
377
+ provider_options: provider_options_openrouter({ only: "groq" }),
254
378
  },
379
+ {
380
+ llm_model_name: "grok-3",
381
+ llm_model_code: "x-ai/grok-3",
382
+ llm_api_code: "openrouter",
383
+ context_window: 131_072,
384
+ cents_input: 300,
385
+ cents_output: 1500,
386
+ default_reasoning: true,
387
+ has_structured_json: true,
388
+ recommended_temperature: undefined,
389
+ provider_options: undefined,
390
+ },
391
+ {
392
+ llm_model_name: "grok-3-mini",
393
+ llm_model_code: "x-ai/grok-3-mini",
394
+ llm_api_code: "openrouter",
395
+ context_window: 131_072,
396
+ cents_input: 30,
397
+ cents_output: 50,
398
+ default_reasoning: true,
399
+ has_structured_json: true,
400
+ recommended_temperature: undefined,
401
+ provider_options: undefined,
402
+ },
403
+ // {
404
+ // llm_model_name: "grok-4",
405
+ // llm_model_code: "x-ai/grok-4", // BYOK required
406
+ // llm_api_code: "openrouter",
407
+ // context_window: 256_000,
408
+ // cents_input: 300,
409
+ // cents_output: 1500,
410
+ // default_reasoning: true,
411
+ // has_structured_json: true,
412
+ // recommended_temperature: undefined,
413
+ // provider_options: undefined,
414
+ // },
255
415
  {
256
416
  llm_model_name: "kimi-k2@groq",
257
- llm_api_code: null,
258
- llm_model_code_direct: null,
259
- llm_model_code_requesty: null,
260
- llm_model_code_openrouter: "moonshotai/kimi-k2@groq",
417
+ llm_model_code: "moonshotai/kimi-k2",
418
+ llm_api_code: "openrouter",
261
419
  context_window: 131_072,
262
420
  cents_input: 100,
263
421
  cents_output: 300,
264
422
  default_reasoning: false,
265
- has_structured_json: true,
423
+ has_structured_json: false,
424
+ recommended_temperature: undefined,
425
+ provider_options: provider_options_openrouter({ only: "groq" }),
266
426
  },
267
427
  {
268
428
  llm_model_name: "kimi-k2@moonshotai",
269
- llm_api_code: null,
270
- llm_model_code_direct: "kimi-k2-0711-preview",
271
- llm_model_code_requesty: null,
272
- llm_model_code_openrouter: "moonshotai/kimi-k2@moonshotai",
429
+ llm_model_code: "moonshotai/kimi-k2",
430
+ llm_api_code: "openrouter",
273
431
  context_window: 131_072,
274
432
  cents_input: 60,
275
433
  cents_output: 250,
276
434
  default_reasoning: false,
277
435
  has_structured_json: true,
436
+ recommended_temperature: undefined,
437
+ provider_options: provider_options_openrouter({ only: "moonshotai" }),
278
438
  },
279
439
  {
280
- llm_model_name: "llama-4-maverick",
281
- llm_api_code: null,
282
- llm_model_code_direct: null,
283
- llm_model_code_requesty: "parasail/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
284
- llm_model_code_openrouter: "meta-llama/llama-4-maverick",
285
- context_window: 1_048_576,
286
- cents_input: 15,
440
+ llm_model_name: "llama-4-maverick@cerebras",
441
+ llm_model_code: "meta-llama/llama-4-maverick",
442
+ llm_api_code: "openrouter",
443
+ context_window: 32_000,
444
+ cents_input: 20,
287
445
  cents_output: 60,
288
446
  default_reasoning: false,
289
447
  has_structured_json: true,
448
+ recommended_temperature: undefined,
449
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
290
450
  },
291
451
  {
292
- llm_model_name: "llama-4-scout",
293
- llm_api_code: null,
294
- llm_model_code_direct: null,
295
- llm_model_code_requesty: "parasail/meta-llama/Llama-4-Scout-17B-16E-Instruct",
296
- llm_model_code_openrouter: "meta-llama/llama-4-scout",
297
- context_window: 1_048_576,
298
- cents_input: 14,
299
- cents_output: 58,
452
+ llm_model_name: "llama-4-scout@cerebras",
453
+ llm_model_code: "meta-llama/llama-4-scout",
454
+ llm_api_code: "openrouter",
455
+ context_window: 32_000,
456
+ cents_input: 65,
457
+ cents_output: 85,
300
458
  default_reasoning: false,
301
459
  has_structured_json: true,
460
+ recommended_temperature: undefined,
461
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
302
462
  },
303
463
  {
304
464
  llm_model_name: "mercury",
305
- llm_api_code: null,
306
- llm_model_code_direct: null,
307
- llm_model_code_requesty: null,
308
- llm_model_code_openrouter: "inception/mercury",
465
+ llm_model_code: "inception/mercury",
466
+ llm_api_code: "openrouter",
309
467
  context_window: 32_000,
310
468
  cents_input: 25,
311
469
  cents_output: 100,
312
470
  default_reasoning: false,
313
471
  has_structured_json: false,
472
+ recommended_temperature: undefined,
473
+ provider_options: undefined,
314
474
  },
315
475
  {
316
476
  llm_model_name: "mercury-coder",
317
- llm_api_code: null,
318
- llm_model_code_direct: null,
319
- llm_model_code_requesty: null,
320
- llm_model_code_openrouter: "inception/mercury-coder-small-beta",
477
+ llm_model_code: "inception/mercury-coder-small-beta",
478
+ llm_api_code: "openrouter",
321
479
  context_window: 32_000,
322
480
  cents_input: 25,
323
481
  cents_output: 100,
324
482
  default_reasoning: false,
325
483
  has_structured_json: false,
484
+ recommended_temperature: undefined,
485
+ provider_options: undefined,
326
486
  },
327
487
  {
328
488
  llm_model_name: "mistral-medium-3",
329
- llm_api_code: null,
330
- llm_model_code_direct: null,
331
- llm_model_code_requesty: null,
332
- llm_model_code_openrouter: "mistralai/mistral-medium-3",
489
+ llm_model_code: "mistralai/mistral-medium-3",
490
+ llm_api_code: "openrouter",
333
491
  context_window: 131_072,
334
492
  cents_input: 40,
335
493
  cents_output: 200,
336
494
  default_reasoning: false,
337
495
  has_structured_json: true,
496
+ recommended_temperature: undefined,
497
+ provider_options: provider_options_openrouter({ only: "mistral" }),
338
498
  },
339
499
  {
340
- llm_model_name: "o3",
341
- llm_api_code: "openai",
342
- llm_model_code_direct: "o3", // Your organization needs to be verified
343
- llm_model_code_requesty: "openai/o3", // You need your own OpenAI key
344
- llm_model_code_openrouter: "openai/o3", // You need your own OpenAI key
345
- context_window: 200_000,
346
- cents_input: 200,
347
- cents_output: 800,
348
- default_reasoning: true,
349
- has_structured_json: true,
350
- },
351
- {
352
- llm_model_name: "o3-pro",
353
- llm_api_code: "openai",
354
- llm_model_code_direct: "o3-pro", // Your organization needs to be verified
355
- llm_model_code_requesty: "openai/o3-pro", // You need your own OpenAI key
356
- llm_model_code_openrouter: "openai/o3-pro", // You need your own OpenAI key
357
- context_window: 200_000,
358
- cents_input: 2000,
359
- cents_output: 8000,
360
- default_reasoning: true,
361
- has_structured_json: true,
362
- },
363
- {
364
- llm_model_name: "o4-mini",
365
- llm_api_code: "openai",
366
- llm_model_code_direct: "o4-mini",
367
- llm_model_code_requesty: "openai/o4-mini",
368
- llm_model_code_openrouter: "openai/o4-mini",
369
- context_window: 200_000,
370
- cents_input: 110,
371
- cents_output: 440,
372
- default_reasoning: true,
373
- has_structured_json: true,
374
- },
375
- {
376
- llm_model_name: "qwen3-235b-a22b",
377
- llm_api_code: null,
378
- llm_model_code_direct: null,
379
- llm_model_code_requesty: "deepinfra/Qwen/Qwen3-235B-A22B",
380
- llm_model_code_openrouter: "qwen/qwen3-235b-a22b",
381
- context_window: 40_000,
382
- cents_input: 20,
383
- cents_output: 60,
384
- default_reasoning: true,
385
- has_structured_json: true,
386
- },
387
- {
388
- llm_model_name: "qwen3-235b-a22b-2507",
389
- llm_api_code: null,
390
- llm_model_code_direct: null,
391
- llm_model_code_requesty: null,
392
- llm_model_code_openrouter: "qwen/qwen3-235b-a22b-07-25",
500
+ llm_model_name: "qwen3-235b-a22b-2507-instruct@cerebras",
501
+ llm_model_code: "qwen/qwen3-235b-a22b-2507",
502
+ llm_api_code: "openrouter",
393
503
  context_window: 262_144,
394
- cents_input: 12,
395
- cents_output: 59,
396
- default_reasoning: true,
397
- has_structured_json: true,
398
- },
399
- {
400
- llm_model_name: "qwen3-30b-a3b",
401
- llm_api_code: null,
402
- llm_model_code_direct: null,
403
- llm_model_code_requesty: null,
404
- llm_model_code_openrouter: "qwen/qwen3-30b-a3b",
405
- context_window: 40_000,
406
- cents_input: 8,
407
- cents_output: 29,
408
- default_reasoning: true,
504
+ cents_input: 60,
505
+ cents_output: 120,
506
+ default_reasoning: false,
409
507
  has_structured_json: true,
508
+ recommended_temperature: undefined,
509
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
410
510
  },
411
511
  {
412
- llm_model_name: "qwen3-32b",
413
- llm_api_code: null,
414
- llm_model_code_direct: null,
415
- llm_model_code_requesty: "deepinfra/Qwen/Qwen3-32B",
416
- llm_model_code_openrouter: "qwen/qwen3-32b",
417
- context_window: 40_000,
418
- cents_input: 10,
419
- cents_output: 30,
512
+ llm_model_name: "qwen3-235b-a22b-2507-thinking@cerebras",
513
+ llm_model_code: "qwen/qwen3-235b-a22b-thinking-2507",
514
+ llm_api_code: "openrouter",
515
+ context_window: 262_144,
516
+ cents_input: 60,
517
+ cents_output: 120,
420
518
  default_reasoning: true,
421
519
  has_structured_json: true,
520
+ recommended_temperature: undefined,
521
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
422
522
  },
423
523
  {
424
- llm_model_name: "qwen3-coder",
425
- llm_api_code: null,
426
- llm_model_code_direct: "Qwen3-Coder-480B-A35B-Instruct",
427
- llm_model_code_requesty: null,
428
- llm_model_code_openrouter: "qwen/qwen3-coder",
524
+ llm_model_name: "qwen3-coder@alibaba",
525
+ llm_model_code: "qwen/qwen3-coder",
526
+ llm_api_code: "openrouter",
429
527
  context_window: 262_144,
430
528
  cents_input: 150,
431
529
  cents_output: 750,
432
530
  default_reasoning: false,
433
531
  has_structured_json: true,
532
+ recommended_temperature: undefined,
533
+ provider_options: provider_options_openrouter({ only: "alibaba/opensource" }),
434
534
  },
435
535
  {
436
- llm_model_name: "qwen3-coder@chutes",
437
- llm_api_code: null,
438
- llm_model_code_direct: null,
439
- llm_model_code_requesty: null,
440
- llm_model_code_openrouter: "qwen/qwen3-coder@chutes",
441
- context_window: 262_144,
442
- cents_input: 30,
443
- cents_output: 30,
536
+ llm_model_name: "qwen3-coder@cerebras",
537
+ llm_model_code: "qwen/qwen3-coder",
538
+ llm_api_code: "openrouter",
539
+ context_window: 131_072,
540
+ cents_input: 200,
541
+ cents_output: 200,
444
542
  default_reasoning: false,
445
543
  has_structured_json: true,
544
+ recommended_temperature: undefined,
545
+ provider_options: provider_options_openrouter({ only: "cerebras" }),
446
546
  },
447
547
  ];
448
548
  export function llm_model_get_details({ llm_model_names, }) {