genai-lite 0.8.2 → 0.9.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.
Files changed (52) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +210 -207
  3. package/dist/adapters/image/GenaiElectronImageAdapter.d.ts +1 -0
  4. package/dist/adapters/image/GenaiElectronImageAdapter.js +5 -5
  5. package/dist/adapters/image/OpenAIImageAdapter.d.ts +1 -0
  6. package/dist/adapters/image/OpenAIImageAdapter.js +4 -4
  7. package/dist/config/llm-presets.json +24 -0
  8. package/dist/image/ImageService.js +2 -0
  9. package/dist/index.d.ts +4 -2
  10. package/dist/index.js +6 -1
  11. package/dist/llm/LLMService.d.ts +30 -1
  12. package/dist/llm/LLMService.js +43 -5
  13. package/dist/llm/clients/AnthropicClientAdapter.d.ts +6 -2
  14. package/dist/llm/clients/AnthropicClientAdapter.js +26 -11
  15. package/dist/llm/clients/GeminiClientAdapter.d.ts +6 -2
  16. package/dist/llm/clients/GeminiClientAdapter.js +21 -9
  17. package/dist/llm/clients/LlamaCppClientAdapter.d.ts +8 -4
  18. package/dist/llm/clients/LlamaCppClientAdapter.js +131 -28
  19. package/dist/llm/clients/MistralClientAdapter.d.ts +6 -2
  20. package/dist/llm/clients/MistralClientAdapter.js +22 -11
  21. package/dist/llm/clients/MockClientAdapter.d.ts +2 -2
  22. package/dist/llm/clients/MockClientAdapter.js +36 -19
  23. package/dist/llm/clients/OpenAIClientAdapter.d.ts +6 -2
  24. package/dist/llm/clients/OpenAIClientAdapter.js +33 -9
  25. package/dist/llm/clients/OpenRouterClientAdapter.d.ts +6 -2
  26. package/dist/llm/clients/OpenRouterClientAdapter.js +87 -16
  27. package/dist/llm/clients/types.d.ts +18 -1
  28. package/dist/llm/clients/types.js +4 -0
  29. package/dist/llm/config.d.ts +9 -2
  30. package/dist/llm/config.js +697 -33
  31. package/dist/llm/services/ModelResolver.d.ts +6 -0
  32. package/dist/llm/services/ModelResolver.js +57 -17
  33. package/dist/llm/services/RequestValidator.d.ts +8 -0
  34. package/dist/llm/services/RequestValidator.js +9 -2
  35. package/dist/llm/services/SettingsManager.d.ts +1 -1
  36. package/dist/llm/services/SettingsManager.js +92 -4
  37. package/dist/llm/types.d.ts +127 -0
  38. package/dist/prompting/index.d.ts +1 -1
  39. package/dist/prompting/index.js +2 -1
  40. package/dist/prompting/parser.d.ts +23 -0
  41. package/dist/prompting/parser.js +33 -0
  42. package/dist/shared/adapters/errorUtils.d.ts +15 -0
  43. package/dist/shared/adapters/errorUtils.js +69 -1
  44. package/dist/shared/adapters/logprobsUtils.d.ts +13 -0
  45. package/dist/shared/adapters/logprobsUtils.js +33 -0
  46. package/dist/shared/services/AdapterRegistry.js +3 -1
  47. package/dist/shared/services/withRetry.d.ts +50 -0
  48. package/dist/shared/services/withRetry.js +78 -0
  49. package/dist/types/image.d.ts +2 -0
  50. package/package.json +59 -59
  51. package/src/config/image-presets.json +212 -212
  52. package/src/config/llm-presets.json +623 -599
@@ -1,599 +1,623 @@
1
- [
2
- {
3
- "id": "anthropic-claude-opus-4-5-20251101-default",
4
- "displayName": "Anthropic - Claude Opus 4.5",
5
- "description": "Default preset for Claude Opus 4.5.",
6
- "providerId": "anthropic",
7
- "modelId": "claude-opus-4-5-20251101",
8
- "settings": {
9
- "temperature": 0.7,
10
- "reasoning": {
11
- "enabled": false
12
- }
13
- }
14
- },
15
- {
16
- "id": "anthropic-claude-opus-4-5-20251101-thinking",
17
- "displayName": "Anthropic - Claude Opus 4.5 (Thinking)",
18
- "description": "Claude Opus 4.5 with reasoning enabled for complex problem solving.",
19
- "providerId": "anthropic",
20
- "modelId": "claude-opus-4-5-20251101",
21
- "settings": {
22
- "temperature": 0.7,
23
- "reasoning": {
24
- "enabled": true
25
- }
26
- }
27
- },
28
- {
29
- "id": "anthropic-claude-sonnet-4-5-20250929-default",
30
- "displayName": "Anthropic - Claude Sonnet 4.5",
31
- "description": "Default preset for Claude Sonnet 4.5.",
32
- "providerId": "anthropic",
33
- "modelId": "claude-sonnet-4-5-20250929",
34
- "settings": {
35
- "temperature": 0.7,
36
- "reasoning": {
37
- "enabled": false
38
- }
39
- }
40
- },
41
- {
42
- "id": "anthropic-claude-sonnet-4-5-20250929-thinking",
43
- "displayName": "Anthropic - Claude Sonnet 4.5 (Thinking)",
44
- "description": "Claude Sonnet 4.5 with reasoning enabled for step-by-step thinking.",
45
- "providerId": "anthropic",
46
- "modelId": "claude-sonnet-4-5-20250929",
47
- "settings": {
48
- "temperature": 0.7,
49
- "reasoning": {
50
- "enabled": true
51
- }
52
- }
53
- },
54
- {
55
- "id": "anthropic-claude-haiku-4-5-20251001-default",
56
- "displayName": "Anthropic - Claude Haiku 4.5",
57
- "description": "Default preset for Claude Haiku 4.5.",
58
- "providerId": "anthropic",
59
- "modelId": "claude-haiku-4-5-20251001",
60
- "settings": {
61
- "temperature": 0.7,
62
- "reasoning": {
63
- "enabled": false
64
- }
65
- }
66
- },
67
- {
68
- "id": "anthropic-claude-haiku-4-5-20251001-thinking",
69
- "displayName": "Anthropic - Claude Haiku 4.5 (Thinking)",
70
- "description": "Claude Haiku 4.5 with reasoning enabled for fast thinking tasks.",
71
- "providerId": "anthropic",
72
- "modelId": "claude-haiku-4-5-20251001",
73
- "settings": {
74
- "temperature": 0.7,
75
- "reasoning": {
76
- "enabled": true
77
- }
78
- }
79
- },
80
- {
81
- "id": "anthropic-claude-sonnet-4-20250514-default",
82
- "displayName": "Anthropic - Claude Sonnet 4",
83
- "description": "Default preset for Claude Sonnet 4.",
84
- "providerId": "anthropic",
85
- "modelId": "claude-sonnet-4-20250514",
86
- "settings": {
87
- "temperature": 0.7,
88
- "reasoning": {
89
- "enabled": false
90
- }
91
- }
92
- },
93
- {
94
- "id": "anthropic-claude-sonnet-4-20250514-thinking",
95
- "displayName": "Anthropic - Claude Sonnet 4 (Thinking)",
96
- "description": "Claude Sonnet 4 with reasoning enabled for step-by-step thinking.",
97
- "providerId": "anthropic",
98
- "modelId": "claude-sonnet-4-20250514",
99
- "settings": {
100
- "temperature": 0.7,
101
- "reasoning": {
102
- "enabled": true
103
- }
104
- }
105
- },
106
- {
107
- "id": "anthropic-claude-opus-4-20250514-default",
108
- "displayName": "Anthropic - Claude Opus 4",
109
- "description": "Default preset for Claude Opus 4.",
110
- "providerId": "anthropic",
111
- "modelId": "claude-opus-4-20250514",
112
- "settings": {
113
- "temperature": 0.7,
114
- "reasoning": {
115
- "enabled": false
116
- }
117
-
118
- }
119
- },
120
- {
121
- "id": "anthropic-claude-opus-4-20250514-thinking",
122
- "displayName": "Anthropic - Claude Opus 4 (Thinking)",
123
- "description": "Claude Opus 4 with reasoning enabled for complex problem solving.",
124
- "providerId": "anthropic",
125
- "modelId": "claude-opus-4-20250514",
126
- "settings": {
127
- "temperature": 0.7,
128
- "reasoning": {
129
- "enabled": true
130
- }
131
- }
132
- },
133
- {
134
- "id": "anthropic-claude-3-7-sonnet-20250219-default",
135
- "displayName": "Anthropic - Claude 3.7 Sonnet",
136
- "description": "Default preset for Claude 3.7 Sonnet.",
137
- "providerId": "anthropic",
138
- "modelId": "claude-3-7-sonnet-20250219",
139
- "settings": {
140
- "temperature": 0.7,
141
- "reasoning": {
142
- "enabled": false
143
- }
144
- }
145
- },
146
- {
147
- "id": "anthropic-claude-3-7-sonnet-20250219-thinking",
148
- "displayName": "Anthropic - Claude 3.7 Sonnet (Thinking)",
149
- "description": "Claude 3.7 Sonnet with full reasoning output for detailed analysis.",
150
- "providerId": "anthropic",
151
- "modelId": "claude-3-7-sonnet-20250219",
152
- "settings": {
153
- "temperature": 0.7,
154
- "reasoning": {
155
- "enabled": true
156
- }
157
- }
158
- },
159
- {
160
- "id": "anthropic-claude-3-5-sonnet-20241022-default",
161
- "displayName": "Anthropic - Claude 3.5 Sonnet",
162
- "description": "Default preset for Claude 3.5 Sonnet.",
163
- "providerId": "anthropic",
164
- "modelId": "claude-3-5-sonnet-20241022",
165
- "settings": {
166
- "temperature": 0.7
167
- }
168
- },
169
- {
170
- "id": "anthropic-claude-3-5-haiku-20241022-default",
171
- "displayName": "Anthropic - Claude 3.5 Haiku",
172
- "description": "Default preset for Claude 3.5 Haiku.",
173
- "providerId": "anthropic",
174
- "modelId": "claude-3-5-haiku-20241022",
175
- "settings": {
176
- "temperature": 0.7
177
- }
178
- },
179
- {
180
- "id": "google-gemini-3-pro-preview",
181
- "displayName": "Google - Gemini 3 Pro (Preview)",
182
- "description": "Default preset for Gemini 3 Pro Preview.",
183
- "providerId": "gemini",
184
- "modelId": "gemini-3-pro-preview",
185
- "settings": {
186
- "temperature": 0.7,
187
- "geminiSafetySettings": [
188
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
189
- {
190
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
191
- "threshold": "BLOCK_NONE"
192
- },
193
- {
194
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
195
- "threshold": "BLOCK_NONE"
196
- },
197
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
198
- ]
199
- }
200
- },
201
- {
202
- "id": "google-gemini-3-flash-preview",
203
- "displayName": "Google - Gemini 3 Flash (Preview)",
204
- "description": "Default preset for Gemini 3 Flash Preview.",
205
- "providerId": "gemini",
206
- "modelId": "gemini-3-flash-preview",
207
- "settings": {
208
- "temperature": 0.7,
209
- "geminiSafetySettings": [
210
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
211
- {
212
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
213
- "threshold": "BLOCK_NONE"
214
- },
215
- {
216
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
217
- "threshold": "BLOCK_NONE"
218
- },
219
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
220
- ],
221
- "reasoning": {
222
- "enabled": false
223
- }
224
- }
225
- },
226
- {
227
- "id": "google-gemini-3-flash-preview-thinking",
228
- "displayName": "Google - Gemini 3 Flash (Preview, Thinking)",
229
- "description": "Gemini 3 Flash Preview with dynamic reasoning enabled.",
230
- "providerId": "gemini",
231
- "modelId": "gemini-3-flash-preview",
232
- "settings": {
233
- "temperature": 0.7,
234
- "geminiSafetySettings": [
235
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
236
- {
237
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
238
- "threshold": "BLOCK_NONE"
239
- },
240
- {
241
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
242
- "threshold": "BLOCK_NONE"
243
- },
244
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
245
- ],
246
- "reasoning": {
247
- "enabled": true
248
- }
249
- }
250
- },
251
- {
252
- "id": "google-gemini-2.5-pro",
253
- "displayName": "Google - Gemini 2.5 Pro",
254
- "description": "Default preset for Gemini 2.5 Pro.",
255
- "providerId": "gemini",
256
- "modelId": "gemini-2.5-pro",
257
- "settings": {
258
- "temperature": 0.7,
259
- "geminiSafetySettings": [
260
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
261
- {
262
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
263
- "threshold": "BLOCK_NONE"
264
- },
265
- {
266
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
267
- "threshold": "BLOCK_NONE"
268
- },
269
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
270
- ]
271
- }
272
- },
273
- {
274
- "id": "google-gemini-2.5-flash",
275
- "displayName": "Google - Gemini 2.5 Flash",
276
- "description": "Default preset for Gemini 2.5 Flash.",
277
- "providerId": "gemini",
278
- "modelId": "gemini-2.5-flash",
279
- "settings": {
280
- "temperature": 0.7,
281
- "geminiSafetySettings": [
282
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
283
- {
284
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
285
- "threshold": "BLOCK_NONE"
286
- },
287
- {
288
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
289
- "threshold": "BLOCK_NONE"
290
- },
291
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
292
- ],
293
- "reasoning": {
294
- "enabled": false
295
- }
296
- }
297
- },
298
- {
299
- "id": "google-gemini-2.5-flash-thinking",
300
- "displayName": "Google - Gemini 2.5 Flash (Thinking)",
301
- "description": "Gemini 2.5 Flash with dynamic reasoning for adaptive problem solving.",
302
- "providerId": "gemini",
303
- "modelId": "gemini-2.5-flash",
304
- "settings": {
305
- "temperature": 0.7,
306
- "geminiSafetySettings": [
307
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
308
- {
309
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
310
- "threshold": "BLOCK_NONE"
311
- },
312
- {
313
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
314
- "threshold": "BLOCK_NONE"
315
- },
316
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
317
- ],
318
- "reasoning": {
319
- "enabled": true
320
- }
321
- }
322
- },
323
- {
324
- "id": "google-gemini-2.5-flash-lite",
325
- "displayName": "Google - Gemini 2.5 Flash-Lite",
326
- "description": "Default preset for Gemini 2.5 Flash-Lite.",
327
- "providerId": "gemini",
328
- "modelId": "gemini-2.5-flash-lite",
329
- "settings": {
330
- "temperature": 0.7,
331
- "geminiSafetySettings": [
332
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
333
- {
334
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
335
- "threshold": "BLOCK_NONE"
336
- },
337
- {
338
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
339
- "threshold": "BLOCK_NONE"
340
- },
341
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
342
- ],
343
- "reasoning": {
344
- "enabled": false
345
- }
346
- }
347
- },
348
- {
349
- "id": "google-gemini-2.5-flash-lite-thinking",
350
- "displayName": "Google - Gemini 2.5 Flash-Lite (Thinking)",
351
- "description": "Gemini 2.5 Flash-Lite with dynamic reasoning for efficient thinking.",
352
- "providerId": "gemini",
353
- "modelId": "gemini-2.5-flash-lite",
354
- "settings": {
355
- "temperature": 0.7,
356
- "geminiSafetySettings": [
357
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
358
- {
359
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
360
- "threshold": "BLOCK_NONE"
361
- },
362
- {
363
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
364
- "threshold": "BLOCK_NONE"
365
- },
366
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
367
- ],
368
- "reasoning": {
369
- "enabled": true
370
- }
371
- }
372
- },
373
- {
374
- "id": "google-gemma-3-27b-default",
375
- "displayName": "Google - Gemma 3 27B (Free)",
376
- "description": "Default preset for Gemma 3 27B. Open-weight multimodal model, free via Gemini API.",
377
- "providerId": "gemini",
378
- "modelId": "gemma-3-27b-it",
379
- "settings": {
380
- "temperature": 0.7,
381
- "geminiSafetySettings": [
382
- { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
383
- {
384
- "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
385
- "threshold": "BLOCK_NONE"
386
- },
387
- {
388
- "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
389
- "threshold": "BLOCK_NONE"
390
- },
391
- { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
392
- ]
393
- }
394
- },
395
- {
396
- "id": "openai-gpt-5.2-default",
397
- "displayName": "OpenAI - GPT-5.2",
398
- "description": "Default preset for GPT-5.2.",
399
- "providerId": "openai",
400
- "modelId": "gpt-5.2",
401
- "settings": {
402
- "temperature": 0.7,
403
- "reasoning": {
404
- "enabled": false
405
- }
406
- }
407
- },
408
- {
409
- "id": "openai-gpt-5.2-thinking",
410
- "displayName": "OpenAI - GPT-5.2 (Thinking)",
411
- "description": "GPT-5.2 with reasoning enabled for complex problem solving.",
412
- "providerId": "openai",
413
- "modelId": "gpt-5.2",
414
- "settings": {
415
- "temperature": 0.7,
416
- "reasoning": {
417
- "enabled": true
418
- }
419
- }
420
- },
421
- {
422
- "id": "openai-gpt-5.1-default",
423
- "displayName": "OpenAI - GPT-5.1",
424
- "description": "Default preset for GPT-5.1.",
425
- "providerId": "openai",
426
- "modelId": "gpt-5.1",
427
- "settings": {
428
- "temperature": 0.7,
429
- "reasoning": {
430
- "enabled": false
431
- }
432
- }
433
- },
434
- {
435
- "id": "openai-gpt-5.1-thinking",
436
- "displayName": "OpenAI - GPT-5.1 (Thinking)",
437
- "description": "GPT-5.1 with reasoning enabled for complex problem solving.",
438
- "providerId": "openai",
439
- "modelId": "gpt-5.1",
440
- "settings": {
441
- "temperature": 0.7,
442
- "reasoning": {
443
- "enabled": true
444
- }
445
- }
446
- },
447
- {
448
- "id": "openai-gpt-5-mini-default",
449
- "displayName": "OpenAI - GPT-5 Mini",
450
- "description": "Default preset for GPT-5 Mini.",
451
- "providerId": "openai",
452
- "modelId": "gpt-5-mini-2025-08-07",
453
- "settings": {
454
- "temperature": 0.7,
455
- "reasoning": {
456
- "enabled": false
457
- }
458
- }
459
- },
460
- {
461
- "id": "openai-gpt-5-mini-thinking",
462
- "displayName": "OpenAI - GPT-5 Mini (Thinking)",
463
- "description": "GPT-5 Mini with reasoning enabled.",
464
- "providerId": "openai",
465
- "modelId": "gpt-5-mini-2025-08-07",
466
- "settings": {
467
- "temperature": 0.7,
468
- "reasoning": {
469
- "enabled": true
470
- }
471
- }
472
- },
473
- {
474
- "id": "openai-gpt-5-nano-default",
475
- "displayName": "OpenAI - GPT-5 Nano",
476
- "description": "Default preset for GPT-5 Nano.",
477
- "providerId": "openai",
478
- "modelId": "gpt-5-nano-2025-08-07",
479
- "settings": {
480
- "temperature": 0.7,
481
- "reasoning": {
482
- "enabled": false
483
- }
484
- }
485
- },
486
- {
487
- "id": "openai-gpt-5-nano-thinking",
488
- "displayName": "OpenAI - GPT-5 Nano (Thinking)",
489
- "description": "GPT-5 Nano with reasoning enabled.",
490
- "providerId": "openai",
491
- "modelId": "gpt-5-nano-2025-08-07",
492
- "settings": {
493
- "temperature": 0.7,
494
- "reasoning": {
495
- "enabled": true
496
- }
497
- }
498
- },
499
- {
500
- "id": "openai-o4-mini-default",
501
- "displayName": "OpenAI - o4-mini",
502
- "description": "Default preset for o4-mini.",
503
- "providerId": "openai",
504
- "modelId": "o4-mini",
505
- "settings": {
506
- "temperature": 1.0
507
- }
508
- },
509
- {
510
- "id": "openai-gpt-4.1-default",
511
- "displayName": "OpenAI - GPT-4.1",
512
- "description": "Default preset for GPT-4.1.",
513
- "providerId": "openai",
514
- "modelId": "gpt-4.1",
515
- "settings": {
516
- "temperature": 0.7
517
- }
518
- },
519
- {
520
- "id": "openai-gpt-4.1-mini-default",
521
- "displayName": "OpenAI - GPT-4.1 Mini",
522
- "description": "Default preset for GPT-4.1 Mini.",
523
- "providerId": "openai",
524
- "modelId": "gpt-4.1-mini",
525
- "settings": {
526
- "temperature": 0.7
527
- }
528
- },
529
- {
530
- "id": "openai-gpt-4.1-nano-default",
531
- "displayName": "OpenAI - GPT-4.1 Nano",
532
- "description": "Default preset for GPT-4.1 Nano.",
533
- "providerId": "openai",
534
- "modelId": "gpt-4.1-nano",
535
- "settings": {
536
- "temperature": 0.7
537
- }
538
- },
539
- {
540
- "id": "mistral-codestral-2501-default",
541
- "displayName": "Mistral AI - Codestral",
542
- "description": "Default preset for Codestral.",
543
- "providerId": "mistral",
544
- "modelId": "codestral-2501",
545
- "settings": {
546
- "temperature": 0.7
547
- }
548
- },
549
- {
550
- "id": "mistral-devstral-small-2505-default",
551
- "displayName": "Mistral AI - Devstral Small",
552
- "description": "Default preset for Devstral Small.",
553
- "providerId": "mistral",
554
- "modelId": "devstral-small-2505",
555
- "settings": {
556
- "temperature": 0.7
557
- }
558
- },
559
- {
560
- "id": "openrouter-gemma-3-27b-free",
561
- "displayName": "OpenRouter - Gemma 3 27B (Free)",
562
- "description": "Google's Gemma 3 27B via OpenRouter free tier.",
563
- "providerId": "openrouter",
564
- "modelId": "google/gemma-3-27b-it:free",
565
- "settings": {
566
- "temperature": 0.7
567
- }
568
- },
569
- {
570
- "id": "openrouter-mistral-small-3.1-free",
571
- "displayName": "OpenRouter - Mistral Small 3.1 (Free)",
572
- "description": "Mistral Small 3.1 24B via OpenRouter free tier.",
573
- "providerId": "openrouter",
574
- "modelId": "mistralai/mistral-small-3.1-24b-instruct:free",
575
- "settings": {
576
- "temperature": 0.7
577
- }
578
- },
579
- {
580
- "id": "mistral-small-default",
581
- "displayName": "Mistral - Small",
582
- "description": "Cost-effective Mistral Small model for general tasks.",
583
- "providerId": "mistral",
584
- "modelId": "mistral-small-latest",
585
- "settings": {
586
- "temperature": 0.7
587
- }
588
- },
589
- {
590
- "id": "mistral-codestral-default",
591
- "displayName": "Mistral - Codestral",
592
- "description": "Specialized model for code generation with lower temperature.",
593
- "providerId": "mistral",
594
- "modelId": "codestral-2501",
595
- "settings": {
596
- "temperature": 0.3
597
- }
598
- }
599
- ]
1
+ [
2
+ {
3
+ "id": "llamacpp-local-default",
4
+ "displayName": "llama.cpp - Local Model",
5
+ "description": "Local GGUF model via llama.cpp server. Vendor sampling defaults and thinking-off are applied automatically for recognized models (Qwen 3.x, Gemma 3/4, GPT-OSS, Ministral 3, Granite 4.1, ...).",
6
+ "providerId": "llamacpp",
7
+ "modelId": "llamacpp",
8
+ "settings": {
9
+ "reasoning": {
10
+ "enabled": false
11
+ }
12
+ }
13
+ },
14
+ {
15
+ "id": "llamacpp-local-thinking",
16
+ "displayName": "llama.cpp - Local Model (Thinking)",
17
+ "description": "Local GGUF model with reasoning/thinking enabled. For hybrid models (Qwen 3.5/3.6, Gemma 4) this sends enable_thinking=true; the reasoning trace is returned on choice.reasoning.",
18
+ "providerId": "llamacpp",
19
+ "modelId": "llamacpp",
20
+ "settings": {
21
+ "reasoning": {
22
+ "enabled": true
23
+ }
24
+ }
25
+ },
26
+ {
27
+ "id": "anthropic-claude-opus-4-5-20251101-default",
28
+ "displayName": "Anthropic - Claude Opus 4.5",
29
+ "description": "Default preset for Claude Opus 4.5.",
30
+ "providerId": "anthropic",
31
+ "modelId": "claude-opus-4-5-20251101",
32
+ "settings": {
33
+ "temperature": 0.7,
34
+ "reasoning": {
35
+ "enabled": false
36
+ }
37
+ }
38
+ },
39
+ {
40
+ "id": "anthropic-claude-opus-4-5-20251101-thinking",
41
+ "displayName": "Anthropic - Claude Opus 4.5 (Thinking)",
42
+ "description": "Claude Opus 4.5 with reasoning enabled for complex problem solving.",
43
+ "providerId": "anthropic",
44
+ "modelId": "claude-opus-4-5-20251101",
45
+ "settings": {
46
+ "temperature": 0.7,
47
+ "reasoning": {
48
+ "enabled": true
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "id": "anthropic-claude-sonnet-4-5-20250929-default",
54
+ "displayName": "Anthropic - Claude Sonnet 4.5",
55
+ "description": "Default preset for Claude Sonnet 4.5.",
56
+ "providerId": "anthropic",
57
+ "modelId": "claude-sonnet-4-5-20250929",
58
+ "settings": {
59
+ "temperature": 0.7,
60
+ "reasoning": {
61
+ "enabled": false
62
+ }
63
+ }
64
+ },
65
+ {
66
+ "id": "anthropic-claude-sonnet-4-5-20250929-thinking",
67
+ "displayName": "Anthropic - Claude Sonnet 4.5 (Thinking)",
68
+ "description": "Claude Sonnet 4.5 with reasoning enabled for step-by-step thinking.",
69
+ "providerId": "anthropic",
70
+ "modelId": "claude-sonnet-4-5-20250929",
71
+ "settings": {
72
+ "temperature": 0.7,
73
+ "reasoning": {
74
+ "enabled": true
75
+ }
76
+ }
77
+ },
78
+ {
79
+ "id": "anthropic-claude-haiku-4-5-20251001-default",
80
+ "displayName": "Anthropic - Claude Haiku 4.5",
81
+ "description": "Default preset for Claude Haiku 4.5.",
82
+ "providerId": "anthropic",
83
+ "modelId": "claude-haiku-4-5-20251001",
84
+ "settings": {
85
+ "temperature": 0.7,
86
+ "reasoning": {
87
+ "enabled": false
88
+ }
89
+ }
90
+ },
91
+ {
92
+ "id": "anthropic-claude-haiku-4-5-20251001-thinking",
93
+ "displayName": "Anthropic - Claude Haiku 4.5 (Thinking)",
94
+ "description": "Claude Haiku 4.5 with reasoning enabled for fast thinking tasks.",
95
+ "providerId": "anthropic",
96
+ "modelId": "claude-haiku-4-5-20251001",
97
+ "settings": {
98
+ "temperature": 0.7,
99
+ "reasoning": {
100
+ "enabled": true
101
+ }
102
+ }
103
+ },
104
+ {
105
+ "id": "anthropic-claude-sonnet-4-20250514-default",
106
+ "displayName": "Anthropic - Claude Sonnet 4",
107
+ "description": "Default preset for Claude Sonnet 4.",
108
+ "providerId": "anthropic",
109
+ "modelId": "claude-sonnet-4-20250514",
110
+ "settings": {
111
+ "temperature": 0.7,
112
+ "reasoning": {
113
+ "enabled": false
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "id": "anthropic-claude-sonnet-4-20250514-thinking",
119
+ "displayName": "Anthropic - Claude Sonnet 4 (Thinking)",
120
+ "description": "Claude Sonnet 4 with reasoning enabled for step-by-step thinking.",
121
+ "providerId": "anthropic",
122
+ "modelId": "claude-sonnet-4-20250514",
123
+ "settings": {
124
+ "temperature": 0.7,
125
+ "reasoning": {
126
+ "enabled": true
127
+ }
128
+ }
129
+ },
130
+ {
131
+ "id": "anthropic-claude-opus-4-20250514-default",
132
+ "displayName": "Anthropic - Claude Opus 4",
133
+ "description": "Default preset for Claude Opus 4.",
134
+ "providerId": "anthropic",
135
+ "modelId": "claude-opus-4-20250514",
136
+ "settings": {
137
+ "temperature": 0.7,
138
+ "reasoning": {
139
+ "enabled": false
140
+ }
141
+
142
+ }
143
+ },
144
+ {
145
+ "id": "anthropic-claude-opus-4-20250514-thinking",
146
+ "displayName": "Anthropic - Claude Opus 4 (Thinking)",
147
+ "description": "Claude Opus 4 with reasoning enabled for complex problem solving.",
148
+ "providerId": "anthropic",
149
+ "modelId": "claude-opus-4-20250514",
150
+ "settings": {
151
+ "temperature": 0.7,
152
+ "reasoning": {
153
+ "enabled": true
154
+ }
155
+ }
156
+ },
157
+ {
158
+ "id": "anthropic-claude-3-7-sonnet-20250219-default",
159
+ "displayName": "Anthropic - Claude 3.7 Sonnet",
160
+ "description": "Default preset for Claude 3.7 Sonnet.",
161
+ "providerId": "anthropic",
162
+ "modelId": "claude-3-7-sonnet-20250219",
163
+ "settings": {
164
+ "temperature": 0.7,
165
+ "reasoning": {
166
+ "enabled": false
167
+ }
168
+ }
169
+ },
170
+ {
171
+ "id": "anthropic-claude-3-7-sonnet-20250219-thinking",
172
+ "displayName": "Anthropic - Claude 3.7 Sonnet (Thinking)",
173
+ "description": "Claude 3.7 Sonnet with full reasoning output for detailed analysis.",
174
+ "providerId": "anthropic",
175
+ "modelId": "claude-3-7-sonnet-20250219",
176
+ "settings": {
177
+ "temperature": 0.7,
178
+ "reasoning": {
179
+ "enabled": true
180
+ }
181
+ }
182
+ },
183
+ {
184
+ "id": "anthropic-claude-3-5-sonnet-20241022-default",
185
+ "displayName": "Anthropic - Claude 3.5 Sonnet",
186
+ "description": "Default preset for Claude 3.5 Sonnet.",
187
+ "providerId": "anthropic",
188
+ "modelId": "claude-3-5-sonnet-20241022",
189
+ "settings": {
190
+ "temperature": 0.7
191
+ }
192
+ },
193
+ {
194
+ "id": "anthropic-claude-3-5-haiku-20241022-default",
195
+ "displayName": "Anthropic - Claude 3.5 Haiku",
196
+ "description": "Default preset for Claude 3.5 Haiku.",
197
+ "providerId": "anthropic",
198
+ "modelId": "claude-3-5-haiku-20241022",
199
+ "settings": {
200
+ "temperature": 0.7
201
+ }
202
+ },
203
+ {
204
+ "id": "google-gemini-3-pro-preview",
205
+ "displayName": "Google - Gemini 3 Pro (Preview)",
206
+ "description": "Default preset for Gemini 3 Pro Preview.",
207
+ "providerId": "gemini",
208
+ "modelId": "gemini-3-pro-preview",
209
+ "settings": {
210
+ "temperature": 0.7,
211
+ "geminiSafetySettings": [
212
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
213
+ {
214
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
215
+ "threshold": "BLOCK_NONE"
216
+ },
217
+ {
218
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
219
+ "threshold": "BLOCK_NONE"
220
+ },
221
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
222
+ ]
223
+ }
224
+ },
225
+ {
226
+ "id": "google-gemini-3-flash-preview",
227
+ "displayName": "Google - Gemini 3 Flash (Preview)",
228
+ "description": "Default preset for Gemini 3 Flash Preview.",
229
+ "providerId": "gemini",
230
+ "modelId": "gemini-3-flash-preview",
231
+ "settings": {
232
+ "temperature": 0.7,
233
+ "geminiSafetySettings": [
234
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
235
+ {
236
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
237
+ "threshold": "BLOCK_NONE"
238
+ },
239
+ {
240
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
241
+ "threshold": "BLOCK_NONE"
242
+ },
243
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
244
+ ],
245
+ "reasoning": {
246
+ "enabled": false
247
+ }
248
+ }
249
+ },
250
+ {
251
+ "id": "google-gemini-3-flash-preview-thinking",
252
+ "displayName": "Google - Gemini 3 Flash (Preview, Thinking)",
253
+ "description": "Gemini 3 Flash Preview with dynamic reasoning enabled.",
254
+ "providerId": "gemini",
255
+ "modelId": "gemini-3-flash-preview",
256
+ "settings": {
257
+ "temperature": 0.7,
258
+ "geminiSafetySettings": [
259
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
260
+ {
261
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
262
+ "threshold": "BLOCK_NONE"
263
+ },
264
+ {
265
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
266
+ "threshold": "BLOCK_NONE"
267
+ },
268
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
269
+ ],
270
+ "reasoning": {
271
+ "enabled": true
272
+ }
273
+ }
274
+ },
275
+ {
276
+ "id": "google-gemini-2.5-pro",
277
+ "displayName": "Google - Gemini 2.5 Pro",
278
+ "description": "Default preset for Gemini 2.5 Pro.",
279
+ "providerId": "gemini",
280
+ "modelId": "gemini-2.5-pro",
281
+ "settings": {
282
+ "temperature": 0.7,
283
+ "geminiSafetySettings": [
284
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
285
+ {
286
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
287
+ "threshold": "BLOCK_NONE"
288
+ },
289
+ {
290
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
291
+ "threshold": "BLOCK_NONE"
292
+ },
293
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
294
+ ]
295
+ }
296
+ },
297
+ {
298
+ "id": "google-gemini-2.5-flash",
299
+ "displayName": "Google - Gemini 2.5 Flash",
300
+ "description": "Default preset for Gemini 2.5 Flash.",
301
+ "providerId": "gemini",
302
+ "modelId": "gemini-2.5-flash",
303
+ "settings": {
304
+ "temperature": 0.7,
305
+ "geminiSafetySettings": [
306
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
307
+ {
308
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
309
+ "threshold": "BLOCK_NONE"
310
+ },
311
+ {
312
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
313
+ "threshold": "BLOCK_NONE"
314
+ },
315
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
316
+ ],
317
+ "reasoning": {
318
+ "enabled": false
319
+ }
320
+ }
321
+ },
322
+ {
323
+ "id": "google-gemini-2.5-flash-thinking",
324
+ "displayName": "Google - Gemini 2.5 Flash (Thinking)",
325
+ "description": "Gemini 2.5 Flash with dynamic reasoning for adaptive problem solving.",
326
+ "providerId": "gemini",
327
+ "modelId": "gemini-2.5-flash",
328
+ "settings": {
329
+ "temperature": 0.7,
330
+ "geminiSafetySettings": [
331
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
332
+ {
333
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
334
+ "threshold": "BLOCK_NONE"
335
+ },
336
+ {
337
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
338
+ "threshold": "BLOCK_NONE"
339
+ },
340
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
341
+ ],
342
+ "reasoning": {
343
+ "enabled": true
344
+ }
345
+ }
346
+ },
347
+ {
348
+ "id": "google-gemini-2.5-flash-lite",
349
+ "displayName": "Google - Gemini 2.5 Flash-Lite",
350
+ "description": "Default preset for Gemini 2.5 Flash-Lite.",
351
+ "providerId": "gemini",
352
+ "modelId": "gemini-2.5-flash-lite",
353
+ "settings": {
354
+ "temperature": 0.7,
355
+ "geminiSafetySettings": [
356
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
357
+ {
358
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
359
+ "threshold": "BLOCK_NONE"
360
+ },
361
+ {
362
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
363
+ "threshold": "BLOCK_NONE"
364
+ },
365
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
366
+ ],
367
+ "reasoning": {
368
+ "enabled": false
369
+ }
370
+ }
371
+ },
372
+ {
373
+ "id": "google-gemini-2.5-flash-lite-thinking",
374
+ "displayName": "Google - Gemini 2.5 Flash-Lite (Thinking)",
375
+ "description": "Gemini 2.5 Flash-Lite with dynamic reasoning for efficient thinking.",
376
+ "providerId": "gemini",
377
+ "modelId": "gemini-2.5-flash-lite",
378
+ "settings": {
379
+ "temperature": 0.7,
380
+ "geminiSafetySettings": [
381
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
382
+ {
383
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
384
+ "threshold": "BLOCK_NONE"
385
+ },
386
+ {
387
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
388
+ "threshold": "BLOCK_NONE"
389
+ },
390
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
391
+ ],
392
+ "reasoning": {
393
+ "enabled": true
394
+ }
395
+ }
396
+ },
397
+ {
398
+ "id": "google-gemma-3-27b-default",
399
+ "displayName": "Google - Gemma 3 27B (Free)",
400
+ "description": "Default preset for Gemma 3 27B. Open-weight multimodal model, free via Gemini API.",
401
+ "providerId": "gemini",
402
+ "modelId": "gemma-3-27b-it",
403
+ "settings": {
404
+ "temperature": 0.7,
405
+ "geminiSafetySettings": [
406
+ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE" },
407
+ {
408
+ "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
409
+ "threshold": "BLOCK_NONE"
410
+ },
411
+ {
412
+ "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
413
+ "threshold": "BLOCK_NONE"
414
+ },
415
+ { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE" }
416
+ ]
417
+ }
418
+ },
419
+ {
420
+ "id": "openai-gpt-5.2-default",
421
+ "displayName": "OpenAI - GPT-5.2",
422
+ "description": "Default preset for GPT-5.2.",
423
+ "providerId": "openai",
424
+ "modelId": "gpt-5.2",
425
+ "settings": {
426
+ "temperature": 0.7,
427
+ "reasoning": {
428
+ "enabled": false
429
+ }
430
+ }
431
+ },
432
+ {
433
+ "id": "openai-gpt-5.2-thinking",
434
+ "displayName": "OpenAI - GPT-5.2 (Thinking)",
435
+ "description": "GPT-5.2 with reasoning enabled for complex problem solving.",
436
+ "providerId": "openai",
437
+ "modelId": "gpt-5.2",
438
+ "settings": {
439
+ "temperature": 0.7,
440
+ "reasoning": {
441
+ "enabled": true
442
+ }
443
+ }
444
+ },
445
+ {
446
+ "id": "openai-gpt-5.1-default",
447
+ "displayName": "OpenAI - GPT-5.1",
448
+ "description": "Default preset for GPT-5.1.",
449
+ "providerId": "openai",
450
+ "modelId": "gpt-5.1",
451
+ "settings": {
452
+ "temperature": 0.7,
453
+ "reasoning": {
454
+ "enabled": false
455
+ }
456
+ }
457
+ },
458
+ {
459
+ "id": "openai-gpt-5.1-thinking",
460
+ "displayName": "OpenAI - GPT-5.1 (Thinking)",
461
+ "description": "GPT-5.1 with reasoning enabled for complex problem solving.",
462
+ "providerId": "openai",
463
+ "modelId": "gpt-5.1",
464
+ "settings": {
465
+ "temperature": 0.7,
466
+ "reasoning": {
467
+ "enabled": true
468
+ }
469
+ }
470
+ },
471
+ {
472
+ "id": "openai-gpt-5-mini-default",
473
+ "displayName": "OpenAI - GPT-5 Mini",
474
+ "description": "Default preset for GPT-5 Mini.",
475
+ "providerId": "openai",
476
+ "modelId": "gpt-5-mini-2025-08-07",
477
+ "settings": {
478
+ "temperature": 0.7,
479
+ "reasoning": {
480
+ "enabled": false
481
+ }
482
+ }
483
+ },
484
+ {
485
+ "id": "openai-gpt-5-mini-thinking",
486
+ "displayName": "OpenAI - GPT-5 Mini (Thinking)",
487
+ "description": "GPT-5 Mini with reasoning enabled.",
488
+ "providerId": "openai",
489
+ "modelId": "gpt-5-mini-2025-08-07",
490
+ "settings": {
491
+ "temperature": 0.7,
492
+ "reasoning": {
493
+ "enabled": true
494
+ }
495
+ }
496
+ },
497
+ {
498
+ "id": "openai-gpt-5-nano-default",
499
+ "displayName": "OpenAI - GPT-5 Nano",
500
+ "description": "Default preset for GPT-5 Nano.",
501
+ "providerId": "openai",
502
+ "modelId": "gpt-5-nano-2025-08-07",
503
+ "settings": {
504
+ "temperature": 0.7,
505
+ "reasoning": {
506
+ "enabled": false
507
+ }
508
+ }
509
+ },
510
+ {
511
+ "id": "openai-gpt-5-nano-thinking",
512
+ "displayName": "OpenAI - GPT-5 Nano (Thinking)",
513
+ "description": "GPT-5 Nano with reasoning enabled.",
514
+ "providerId": "openai",
515
+ "modelId": "gpt-5-nano-2025-08-07",
516
+ "settings": {
517
+ "temperature": 0.7,
518
+ "reasoning": {
519
+ "enabled": true
520
+ }
521
+ }
522
+ },
523
+ {
524
+ "id": "openai-o4-mini-default",
525
+ "displayName": "OpenAI - o4-mini",
526
+ "description": "Default preset for o4-mini.",
527
+ "providerId": "openai",
528
+ "modelId": "o4-mini",
529
+ "settings": {
530
+ "temperature": 1.0
531
+ }
532
+ },
533
+ {
534
+ "id": "openai-gpt-4.1-default",
535
+ "displayName": "OpenAI - GPT-4.1",
536
+ "description": "Default preset for GPT-4.1.",
537
+ "providerId": "openai",
538
+ "modelId": "gpt-4.1",
539
+ "settings": {
540
+ "temperature": 0.7
541
+ }
542
+ },
543
+ {
544
+ "id": "openai-gpt-4.1-mini-default",
545
+ "displayName": "OpenAI - GPT-4.1 Mini",
546
+ "description": "Default preset for GPT-4.1 Mini.",
547
+ "providerId": "openai",
548
+ "modelId": "gpt-4.1-mini",
549
+ "settings": {
550
+ "temperature": 0.7
551
+ }
552
+ },
553
+ {
554
+ "id": "openai-gpt-4.1-nano-default",
555
+ "displayName": "OpenAI - GPT-4.1 Nano",
556
+ "description": "Default preset for GPT-4.1 Nano.",
557
+ "providerId": "openai",
558
+ "modelId": "gpt-4.1-nano",
559
+ "settings": {
560
+ "temperature": 0.7
561
+ }
562
+ },
563
+ {
564
+ "id": "mistral-codestral-2501-default",
565
+ "displayName": "Mistral AI - Codestral",
566
+ "description": "Default preset for Codestral.",
567
+ "providerId": "mistral",
568
+ "modelId": "codestral-2501",
569
+ "settings": {
570
+ "temperature": 0.7
571
+ }
572
+ },
573
+ {
574
+ "id": "mistral-devstral-small-2505-default",
575
+ "displayName": "Mistral AI - Devstral Small",
576
+ "description": "Default preset for Devstral Small.",
577
+ "providerId": "mistral",
578
+ "modelId": "devstral-small-2505",
579
+ "settings": {
580
+ "temperature": 0.7
581
+ }
582
+ },
583
+ {
584
+ "id": "openrouter-gemma-3-27b-free",
585
+ "displayName": "OpenRouter - Gemma 3 27B (Free)",
586
+ "description": "Google's Gemma 3 27B via OpenRouter free tier.",
587
+ "providerId": "openrouter",
588
+ "modelId": "google/gemma-3-27b-it:free",
589
+ "settings": {
590
+ "temperature": 0.7
591
+ }
592
+ },
593
+ {
594
+ "id": "openrouter-mistral-small-3.1-free",
595
+ "displayName": "OpenRouter - Mistral Small 3.1 (Free)",
596
+ "description": "Mistral Small 3.1 24B via OpenRouter free tier.",
597
+ "providerId": "openrouter",
598
+ "modelId": "mistralai/mistral-small-3.1-24b-instruct:free",
599
+ "settings": {
600
+ "temperature": 0.7
601
+ }
602
+ },
603
+ {
604
+ "id": "mistral-small-default",
605
+ "displayName": "Mistral - Small",
606
+ "description": "Cost-effective Mistral Small model for general tasks.",
607
+ "providerId": "mistral",
608
+ "modelId": "mistral-small-latest",
609
+ "settings": {
610
+ "temperature": 0.7
611
+ }
612
+ },
613
+ {
614
+ "id": "mistral-codestral-default",
615
+ "displayName": "Mistral - Codestral",
616
+ "description": "Specialized model for code generation with lower temperature.",
617
+ "providerId": "mistral",
618
+ "modelId": "codestral-2501",
619
+ "settings": {
620
+ "temperature": 0.3
621
+ }
622
+ }
623
+ ]