llm.rb 11.3.1 → 12.1.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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +354 -2
  3. data/LICENSE +93 -17
  4. data/README.md +226 -616
  5. data/data/anthropic.json +322 -426
  6. data/data/bedrock.json +2634 -1144
  7. data/data/deepinfra.json +1513 -0
  8. data/data/deepseek.json +57 -28
  9. data/data/google.json +411 -771
  10. data/data/openai.json +1104 -771
  11. data/data/xai.json +141 -292
  12. data/data/zai.json +263 -141
  13. data/lib/llm/active_record/acts_as_agent.rb +3 -41
  14. data/lib/llm/active_record/acts_as_llm.rb +18 -0
  15. data/lib/llm/active_record.rb +3 -3
  16. data/lib/llm/agent.rb +25 -1
  17. data/lib/llm/context.rb +17 -5
  18. data/lib/llm/contract/completion.rb +2 -2
  19. data/lib/llm/json_adapter.rb +29 -3
  20. data/lib/llm/provider.rb +3 -3
  21. data/lib/llm/providers/deepinfra/audio.rb +66 -0
  22. data/lib/llm/providers/deepinfra/images.rb +90 -0
  23. data/lib/llm/providers/deepinfra/response_adapter.rb +36 -0
  24. data/lib/llm/providers/deepinfra.rb +100 -0
  25. data/lib/llm/providers/deepseek/images.rb +109 -0
  26. data/lib/llm/providers/deepseek/request_adapter.rb +32 -0
  27. data/lib/llm/providers/deepseek/response_adapter/image.rb +9 -0
  28. data/lib/llm/providers/deepseek/response_adapter.rb +29 -0
  29. data/lib/llm/providers/deepseek.rb +4 -2
  30. data/lib/llm/providers/google/request_adapter.rb +22 -5
  31. data/lib/llm/providers/google.rb +4 -4
  32. data/lib/llm/providers/llamacpp.rb +5 -5
  33. data/lib/llm/providers/openai/audio.rb +6 -2
  34. data/lib/llm/providers/openai/images.rb +9 -50
  35. data/lib/llm/providers/openai/request_adapter/respond.rb +38 -4
  36. data/lib/llm/providers/openai/response_adapter/audio.rb +5 -1
  37. data/lib/llm/providers/openai/response_adapter/completion.rb +1 -1
  38. data/lib/llm/providers/openai/response_adapter/image.rb +0 -4
  39. data/lib/llm/providers/openai/responses.rb +1 -0
  40. data/lib/llm/providers/openai/stream_parser.rb +5 -6
  41. data/lib/llm/providers/openai.rb +2 -2
  42. data/lib/llm/providers/xai/images.rb +49 -26
  43. data/lib/llm/providers/xai.rb +2 -2
  44. data/lib/llm/repl/input.rb +64 -0
  45. data/lib/llm/repl/status.rb +30 -0
  46. data/lib/llm/repl/stream.rb +46 -0
  47. data/lib/llm/repl/transcript.rb +61 -0
  48. data/lib/llm/repl/window.rb +107 -0
  49. data/lib/llm/repl.rb +78 -0
  50. data/lib/llm/response.rb +10 -0
  51. data/lib/llm/schema/leaf.rb +7 -1
  52. data/lib/llm/schema/renderer.rb +121 -0
  53. data/lib/llm/schema.rb +30 -0
  54. data/lib/llm/sequel/agent.rb +2 -43
  55. data/lib/llm/sequel/plugin.rb +25 -7
  56. data/lib/llm/tools/chdir.rb +23 -0
  57. data/lib/llm/tools/git.rb +41 -0
  58. data/lib/llm/tools/mkdir.rb +32 -0
  59. data/lib/llm/tools/pwd.rb +20 -0
  60. data/lib/llm/tools/read_file.rb +40 -0
  61. data/lib/llm/tools/rg.rb +46 -0
  62. data/lib/llm/tools/shell.rb +48 -0
  63. data/lib/llm/tools/swap_text.rb +25 -0
  64. data/lib/llm/tools/write_file.rb +24 -0
  65. data/lib/llm/tools.rb +5 -0
  66. data/lib/llm/tracer/telemetry.rb +4 -6
  67. data/lib/llm/tracer.rb +9 -21
  68. data/lib/llm/transport/execution.rb +16 -1
  69. data/lib/llm/transport/net_http_adapter.rb +1 -1
  70. data/lib/llm/uridata.rb +16 -0
  71. data/lib/llm/version.rb +1 -1
  72. data/lib/llm.rb +9 -0
  73. data/llm.gemspec +5 -18
  74. data/resources/deepdive.md +829 -263
  75. metadata +31 -18
  76. data/lib/llm/tracer/langsmith.rb +0 -144
data/data/anthropic.json CHANGED
@@ -7,50 +7,33 @@
7
7
  "name": "Anthropic",
8
8
  "doc": "https://docs.anthropic.com/en/docs/about-claude/models",
9
9
  "models": {
10
- "claude-opus-4-1-20250805": {
11
- "id": "claude-opus-4-1-20250805",
12
- "name": "Claude Opus 4.1",
10
+ "claude-opus-4-5": {
11
+ "id": "claude-opus-4-5",
12
+ "name": "Claude Opus 4.5 (latest)",
13
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
13
14
  "family": "claude-opus",
14
15
  "attachment": true,
15
16
  "reasoning": true,
17
+ "reasoning_options": [
18
+ {
19
+ "type": "effort",
20
+ "values": [
21
+ "low",
22
+ "medium",
23
+ "high"
24
+ ]
25
+ },
26
+ {
27
+ "type": "budget_tokens",
28
+ "min": 1024
29
+ }
30
+ ],
16
31
  "tool_call": true,
32
+ "structured_output": true,
17
33
  "temperature": true,
18
34
  "knowledge": "2025-03-31",
19
- "release_date": "2025-08-05",
20
- "last_updated": "2025-08-05",
21
- "modalities": {
22
- "input": [
23
- "text",
24
- "image",
25
- "pdf"
26
- ],
27
- "output": [
28
- "text"
29
- ]
30
- },
31
- "open_weights": false,
32
- "limit": {
33
- "context": 200000,
34
- "output": 32000
35
- },
36
- "cost": {
37
- "input": 15,
38
- "output": 75,
39
- "cache_read": 1.5,
40
- "cache_write": 18.75
41
- }
42
- },
43
- "claude-haiku-4-5": {
44
- "id": "claude-haiku-4-5",
45
- "name": "Claude Haiku 4.5 (latest)",
46
- "family": "claude-haiku",
47
- "attachment": true,
48
- "reasoning": true,
49
- "tool_call": true,
50
- "temperature": true,
51
- "knowledge": "2025-02-28",
52
- "release_date": "2025-10-15",
53
- "last_updated": "2025-10-15",
35
+ "release_date": "2025-11-24",
36
+ "last_updated": "2025-11-24",
54
37
  "modalities": {
55
38
  "input": [
56
39
  "text",
@@ -67,151 +50,27 @@
67
50
  "output": 64000
68
51
  },
69
52
  "cost": {
70
- "input": 1,
71
- "output": 5,
72
- "cache_read": 0.1,
73
- "cache_write": 1.25
74
- }
75
- },
76
- "claude-3-haiku-20240307": {
77
- "id": "claude-3-haiku-20240307",
78
- "name": "Claude Haiku 3",
79
- "family": "claude-haiku",
80
- "attachment": true,
81
- "reasoning": false,
82
- "tool_call": true,
83
- "temperature": true,
84
- "knowledge": "2023-08-31",
85
- "release_date": "2024-03-13",
86
- "last_updated": "2024-03-13",
87
- "modalities": {
88
- "input": [
89
- "text",
90
- "image",
91
- "pdf"
92
- ],
93
- "output": [
94
- "text"
95
- ]
96
- },
97
- "open_weights": false,
98
- "limit": {
99
- "context": 200000,
100
- "output": 4096
101
- },
102
- "cost": {
103
- "input": 0.25,
104
- "output": 1.25,
105
- "cache_read": 0.03,
106
- "cache_write": 0.3
107
- }
108
- },
109
- "claude-3-sonnet-20240229": {
110
- "id": "claude-3-sonnet-20240229",
111
- "name": "Claude Sonnet 3",
112
- "family": "claude-sonnet",
113
- "attachment": true,
114
- "reasoning": false,
115
- "tool_call": true,
116
- "temperature": true,
117
- "knowledge": "2023-08-31",
118
- "release_date": "2024-03-04",
119
- "last_updated": "2024-03-04",
120
- "modalities": {
121
- "input": [
122
- "text",
123
- "image",
124
- "pdf"
125
- ],
126
- "output": [
127
- "text"
128
- ]
129
- },
130
- "open_weights": false,
131
- "limit": {
132
- "context": 200000,
133
- "output": 4096
134
- },
135
- "cost": {
136
- "input": 3,
137
- "output": 15,
138
- "cache_read": 0.3,
139
- "cache_write": 0.3
140
- }
141
- },
142
- "claude-3-5-haiku-latest": {
143
- "id": "claude-3-5-haiku-latest",
144
- "name": "Claude Haiku 3.5 (latest)",
145
- "family": "claude-haiku",
146
- "attachment": true,
147
- "reasoning": false,
148
- "tool_call": true,
149
- "temperature": true,
150
- "knowledge": "2024-07-31",
151
- "release_date": "2024-10-22",
152
- "last_updated": "2024-10-22",
153
- "modalities": {
154
- "input": [
155
- "text",
156
- "image",
157
- "pdf"
158
- ],
159
- "output": [
160
- "text"
161
- ]
162
- },
163
- "open_weights": false,
164
- "limit": {
165
- "context": 200000,
166
- "output": 8192
167
- },
168
- "cost": {
169
- "input": 0.8,
170
- "output": 4,
171
- "cache_read": 0.08,
172
- "cache_write": 1
173
- }
174
- },
175
- "claude-3-opus-20240229": {
176
- "id": "claude-3-opus-20240229",
177
- "name": "Claude Opus 3",
178
- "family": "claude-opus",
179
- "attachment": true,
180
- "reasoning": false,
181
- "tool_call": true,
182
- "temperature": true,
183
- "knowledge": "2023-08-31",
184
- "release_date": "2024-02-29",
185
- "last_updated": "2024-02-29",
186
- "modalities": {
187
- "input": [
188
- "text",
189
- "image",
190
- "pdf"
191
- ],
192
- "output": [
193
- "text"
194
- ]
195
- },
196
- "open_weights": false,
197
- "limit": {
198
- "context": 200000,
199
- "output": 4096
200
- },
201
- "cost": {
202
- "input": 15,
203
- "output": 75,
204
- "cache_read": 1.5,
205
- "cache_write": 18.75
53
+ "input": 5,
54
+ "output": 25,
55
+ "cache_read": 0.5,
56
+ "cache_write": 6.25
206
57
  }
207
58
  },
208
59
  "claude-haiku-4-5-20251001": {
209
60
  "id": "claude-haiku-4-5-20251001",
210
61
  "name": "Claude Haiku 4.5",
62
+ "description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
211
63
  "family": "claude-haiku",
212
64
  "attachment": true,
213
65
  "reasoning": true,
66
+ "reasoning_options": [
67
+ {
68
+ "type": "budget_tokens",
69
+ "min": 1024
70
+ }
71
+ ],
214
72
  "tool_call": true,
73
+ "structured_output": true,
215
74
  "temperature": true,
216
75
  "knowledge": "2025-02-28",
217
76
  "release_date": "2025-10-15",
@@ -238,50 +97,25 @@
238
97
  "cache_write": 1.25
239
98
  }
240
99
  },
241
- "claude-3-5-sonnet-20240620": {
242
- "id": "claude-3-5-sonnet-20240620",
243
- "name": "Claude Sonnet 3.5",
244
- "family": "claude-sonnet",
245
- "attachment": true,
246
- "reasoning": false,
247
- "tool_call": true,
248
- "temperature": true,
249
- "knowledge": "2024-04-30",
250
- "release_date": "2024-06-20",
251
- "last_updated": "2024-06-20",
252
- "modalities": {
253
- "input": [
254
- "text",
255
- "image",
256
- "pdf"
257
- ],
258
- "output": [
259
- "text"
260
- ]
261
- },
262
- "open_weights": false,
263
- "limit": {
264
- "context": 200000,
265
- "output": 8192
266
- },
267
- "cost": {
268
- "input": 3,
269
- "output": 15,
270
- "cache_read": 0.3,
271
- "cache_write": 3.75
272
- }
273
- },
274
- "claude-opus-4-0": {
275
- "id": "claude-opus-4-0",
276
- "name": "Claude Opus 4 (latest)",
100
+ "claude-opus-4-1-20250805": {
101
+ "id": "claude-opus-4-1-20250805",
102
+ "name": "Claude Opus 4.1",
103
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
277
104
  "family": "claude-opus",
278
105
  "attachment": true,
279
106
  "reasoning": true,
107
+ "reasoning_options": [
108
+ {
109
+ "type": "budget_tokens",
110
+ "min": 1024
111
+ }
112
+ ],
280
113
  "tool_call": true,
114
+ "structured_output": true,
281
115
  "temperature": true,
282
116
  "knowledge": "2025-03-31",
283
- "release_date": "2025-05-22",
284
- "last_updated": "2025-05-22",
117
+ "release_date": "2025-08-05",
118
+ "last_updated": "2025-08-05",
285
119
  "modalities": {
286
120
  "input": [
287
121
  "text",
@@ -297,6 +131,7 @@
297
131
  "context": 200000,
298
132
  "output": 32000
299
133
  },
134
+ "status": "deprecated",
300
135
  "cost": {
301
136
  "input": 15,
302
137
  "output": 75,
@@ -307,10 +142,18 @@
307
142
  "claude-sonnet-4-5": {
308
143
  "id": "claude-sonnet-4-5",
309
144
  "name": "Claude Sonnet 4.5 (latest)",
145
+ "description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
310
146
  "family": "claude-sonnet",
311
147
  "attachment": true,
312
148
  "reasoning": true,
149
+ "reasoning_options": [
150
+ {
151
+ "type": "budget_tokens",
152
+ "min": 1024
153
+ }
154
+ ],
313
155
  "tool_call": true,
156
+ "structured_output": true,
314
157
  "temperature": true,
315
158
  "knowledge": "2025-07-31",
316
159
  "release_date": "2025-09-29",
@@ -327,7 +170,7 @@
327
170
  },
328
171
  "open_weights": false,
329
172
  "limit": {
330
- "context": 200000,
173
+ "context": 1000000,
331
174
  "output": 64000
332
175
  },
333
176
  "cost": {
@@ -337,17 +180,31 @@
337
180
  "cache_write": 3.75
338
181
  }
339
182
  },
340
- "claude-sonnet-4-6": {
341
- "id": "claude-sonnet-4-6",
342
- "name": "Claude Sonnet 4.6",
343
- "family": "claude-sonnet",
183
+ "claude-opus-4-7": {
184
+ "id": "claude-opus-4-7",
185
+ "name": "Claude Opus 4.7",
186
+ "description": "Stronger Opus tier for advanced software work and high-stakes reasoning",
187
+ "family": "claude-opus",
344
188
  "attachment": true,
345
189
  "reasoning": true,
190
+ "reasoning_options": [
191
+ {
192
+ "type": "effort",
193
+ "values": [
194
+ "low",
195
+ "medium",
196
+ "high",
197
+ "xhigh",
198
+ "max"
199
+ ]
200
+ }
201
+ ],
346
202
  "tool_call": true,
347
- "temperature": true,
348
- "knowledge": "2025-08-31",
349
- "release_date": "2026-02-17",
350
- "last_updated": "2026-03-13",
203
+ "structured_output": true,
204
+ "temperature": false,
205
+ "knowledge": "2026-01-31",
206
+ "release_date": "2026-04-14",
207
+ "last_updated": "2026-04-16",
351
208
  "modalities": {
352
209
  "input": [
353
210
  "text",
@@ -361,26 +218,63 @@
361
218
  "open_weights": false,
362
219
  "limit": {
363
220
  "context": 1000000,
364
- "output": 64000
221
+ "output": 128000
222
+ },
223
+ "experimental": {
224
+ "modes": {
225
+ "fast": {
226
+ "cost": {
227
+ "input": 30,
228
+ "output": 150,
229
+ "cache_read": 3,
230
+ "cache_write": 37.5
231
+ },
232
+ "provider": {
233
+ "body": {
234
+ "speed": "fast"
235
+ },
236
+ "headers": {
237
+ "anthropic-beta": "fast-mode-2026-02-01"
238
+ }
239
+ }
240
+ }
241
+ }
365
242
  },
366
243
  "cost": {
367
- "input": 3,
368
- "output": 15,
369
- "cache_read": 0.3,
370
- "cache_write": 3.75
244
+ "input": 5,
245
+ "output": 25,
246
+ "cache_read": 0.5,
247
+ "cache_write": 6.25
371
248
  }
372
249
  },
373
- "claude-sonnet-4-0": {
374
- "id": "claude-sonnet-4-0",
375
- "name": "Claude Sonnet 4 (latest)",
250
+ "claude-sonnet-5": {
251
+ "id": "claude-sonnet-5",
252
+ "name": "Claude Sonnet 5",
253
+ "description": "Everyday Claude agent model for coding, planning, browsing, and general work",
376
254
  "family": "claude-sonnet",
377
255
  "attachment": true,
378
256
  "reasoning": true,
257
+ "reasoning_options": [
258
+ {
259
+ "type": "toggle"
260
+ },
261
+ {
262
+ "type": "effort",
263
+ "values": [
264
+ "low",
265
+ "medium",
266
+ "high",
267
+ "xhigh",
268
+ "max"
269
+ ]
270
+ }
271
+ ],
379
272
  "tool_call": true,
380
- "temperature": true,
381
- "knowledge": "2025-03-31",
382
- "release_date": "2025-05-22",
383
- "last_updated": "2025-05-22",
273
+ "structured_output": true,
274
+ "temperature": false,
275
+ "knowledge": "2026-01-31",
276
+ "release_date": "2026-06-29",
277
+ "last_updated": "2026-06-30",
384
278
  "modalities": {
385
279
  "input": [
386
280
  "text",
@@ -393,93 +287,43 @@
393
287
  },
394
288
  "open_weights": false,
395
289
  "limit": {
396
- "context": 200000,
397
- "output": 64000
290
+ "context": 1000000,
291
+ "output": 128000
398
292
  },
399
293
  "cost": {
400
- "input": 3,
401
- "output": 15,
402
- "cache_read": 0.3,
403
- "cache_write": 3.75
294
+ "input": 2,
295
+ "output": 10,
296
+ "cache_read": 0.2,
297
+ "cache_write": 2.5
404
298
  }
405
299
  },
406
- "claude-opus-4-1": {
407
- "id": "claude-opus-4-1",
408
- "name": "Claude Opus 4.1 (latest)",
300
+ "claude-opus-4-5-20251101": {
301
+ "id": "claude-opus-4-5-20251101",
302
+ "name": "Claude Opus 4.5",
303
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
409
304
  "family": "claude-opus",
410
305
  "attachment": true,
411
306
  "reasoning": true,
307
+ "reasoning_options": [
308
+ {
309
+ "type": "effort",
310
+ "values": [
311
+ "low",
312
+ "medium",
313
+ "high"
314
+ ]
315
+ },
316
+ {
317
+ "type": "budget_tokens",
318
+ "min": 1024
319
+ }
320
+ ],
412
321
  "tool_call": true,
322
+ "structured_output": true,
413
323
  "temperature": true,
414
324
  "knowledge": "2025-03-31",
415
- "release_date": "2025-08-05",
416
- "last_updated": "2025-08-05",
417
- "modalities": {
418
- "input": [
419
- "text",
420
- "image",
421
- "pdf"
422
- ],
423
- "output": [
424
- "text"
425
- ]
426
- },
427
- "open_weights": false,
428
- "limit": {
429
- "context": 200000,
430
- "output": 32000
431
- },
432
- "cost": {
433
- "input": 15,
434
- "output": 75,
435
- "cache_read": 1.5,
436
- "cache_write": 18.75
437
- }
438
- },
439
- "claude-3-5-haiku-20241022": {
440
- "id": "claude-3-5-haiku-20241022",
441
- "name": "Claude Haiku 3.5",
442
- "family": "claude-haiku",
443
- "attachment": true,
444
- "reasoning": false,
445
- "tool_call": true,
446
- "temperature": true,
447
- "knowledge": "2024-07-31",
448
- "release_date": "2024-10-22",
449
- "last_updated": "2024-10-22",
450
- "modalities": {
451
- "input": [
452
- "text",
453
- "image",
454
- "pdf"
455
- ],
456
- "output": [
457
- "text"
458
- ]
459
- },
460
- "open_weights": false,
461
- "limit": {
462
- "context": 200000,
463
- "output": 8192
464
- },
465
- "cost": {
466
- "input": 0.8,
467
- "output": 4,
468
- "cache_read": 0.08,
469
- "cache_write": 1
470
- }
471
- },
472
- "claude-3-5-sonnet-20241022": {
473
- "id": "claude-3-5-sonnet-20241022",
474
- "name": "Claude Sonnet 3.5 v2",
475
- "family": "claude-sonnet",
476
- "attachment": true,
477
- "reasoning": false,
478
- "tool_call": true,
479
- "temperature": true,
480
- "knowledge": "2024-04-30",
481
- "release_date": "2024-10-22",
482
- "last_updated": "2024-10-22",
325
+ "release_date": "2025-11-24",
326
+ "last_updated": "2025-11-01",
483
327
  "modalities": {
484
328
  "input": [
485
329
  "text",
@@ -493,26 +337,39 @@
493
337
  "open_weights": false,
494
338
  "limit": {
495
339
  "context": 200000,
496
- "output": 8192
340
+ "output": 64000
497
341
  },
498
342
  "cost": {
499
- "input": 3,
500
- "output": 15,
501
- "cache_read": 0.3,
502
- "cache_write": 3.75
343
+ "input": 5,
344
+ "output": 25,
345
+ "cache_read": 0.5,
346
+ "cache_write": 6.25
503
347
  }
504
348
  },
505
- "claude-opus-4-5-20251101": {
506
- "id": "claude-opus-4-5-20251101",
507
- "name": "Claude Opus 4.5",
349
+ "claude-opus-4-8": {
350
+ "id": "claude-opus-4-8",
351
+ "name": "Claude Opus 4.8",
352
+ "description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
508
353
  "family": "claude-opus",
509
354
  "attachment": true,
510
355
  "reasoning": true,
356
+ "reasoning_options": [
357
+ {
358
+ "type": "effort",
359
+ "values": [
360
+ "low",
361
+ "medium",
362
+ "high",
363
+ "xhigh",
364
+ "max"
365
+ ]
366
+ }
367
+ ],
511
368
  "tool_call": true,
512
- "temperature": true,
513
- "knowledge": "2025-03-31",
514
- "release_date": "2025-11-01",
515
- "last_updated": "2025-11-01",
369
+ "structured_output": true,
370
+ "temperature": false,
371
+ "release_date": "2026-05-28",
372
+ "last_updated": "2026-05-28",
516
373
  "modalities": {
517
374
  "input": [
518
375
  "text",
@@ -525,8 +382,28 @@
525
382
  },
526
383
  "open_weights": false,
527
384
  "limit": {
528
- "context": 200000,
529
- "output": 64000
385
+ "context": 1000000,
386
+ "output": 128000
387
+ },
388
+ "experimental": {
389
+ "modes": {
390
+ "fast": {
391
+ "cost": {
392
+ "input": 10,
393
+ "output": 50,
394
+ "cache_read": 1,
395
+ "cache_write": 12.5
396
+ },
397
+ "provider": {
398
+ "body": {
399
+ "speed": "fast"
400
+ },
401
+ "headers": {
402
+ "anthropic-beta": "fast-mode-2026-02-01"
403
+ }
404
+ }
405
+ }
406
+ }
530
407
  },
531
408
  "cost": {
532
409
  "input": 5,
@@ -535,17 +412,25 @@
535
412
  "cache_write": 6.25
536
413
  }
537
414
  },
538
- "claude-opus-4-20250514": {
539
- "id": "claude-opus-4-20250514",
540
- "name": "Claude Opus 4",
415
+ "claude-opus-4-1": {
416
+ "id": "claude-opus-4-1",
417
+ "name": "Claude Opus 4.1 (latest)",
418
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
541
419
  "family": "claude-opus",
542
420
  "attachment": true,
543
421
  "reasoning": true,
422
+ "reasoning_options": [
423
+ {
424
+ "type": "budget_tokens",
425
+ "min": 1024
426
+ }
427
+ ],
544
428
  "tool_call": true,
429
+ "structured_output": true,
545
430
  "temperature": true,
546
431
  "knowledge": "2025-03-31",
547
- "release_date": "2025-05-22",
548
- "last_updated": "2025-05-22",
432
+ "release_date": "2025-08-05",
433
+ "last_updated": "2025-08-05",
549
434
  "modalities": {
550
435
  "input": [
551
436
  "text",
@@ -561,6 +446,7 @@
561
446
  "context": 200000,
562
447
  "output": 32000
563
448
  },
449
+ "status": "deprecated",
564
450
  "cost": {
565
451
  "input": 15,
566
452
  "output": 75,
@@ -568,17 +454,30 @@
568
454
  "cache_write": 18.75
569
455
  }
570
456
  },
571
- "claude-sonnet-4-5-20250929": {
572
- "id": "claude-sonnet-4-5-20250929",
573
- "name": "Claude Sonnet 4.5",
574
- "family": "claude-sonnet",
457
+ "claude-fable-5": {
458
+ "id": "claude-fable-5",
459
+ "name": "Claude Fable 5",
460
+ "description": "Claude model for creative writing, analysis, and controlled agent workflows",
461
+ "family": "claude-fable",
575
462
  "attachment": true,
576
463
  "reasoning": true,
464
+ "reasoning_options": [
465
+ {
466
+ "type": "effort",
467
+ "values": [
468
+ "low",
469
+ "medium",
470
+ "high",
471
+ "xhigh",
472
+ "max"
473
+ ]
474
+ }
475
+ ],
577
476
  "tool_call": true,
578
- "temperature": true,
579
- "knowledge": "2025-07-31",
580
- "release_date": "2025-09-29",
581
- "last_updated": "2025-09-29",
477
+ "structured_output": true,
478
+ "temperature": false,
479
+ "release_date": "2026-06-07",
480
+ "last_updated": "2026-06-09",
582
481
  "modalities": {
583
482
  "input": [
584
483
  "text",
@@ -591,27 +490,35 @@
591
490
  },
592
491
  "open_weights": false,
593
492
  "limit": {
594
- "context": 200000,
595
- "output": 64000
493
+ "context": 1000000,
494
+ "output": 128000
596
495
  },
597
496
  "cost": {
598
- "input": 3,
599
- "output": 15,
600
- "cache_read": 0.3,
601
- "cache_write": 3.75
497
+ "input": 10,
498
+ "output": 50,
499
+ "cache_read": 1,
500
+ "cache_write": 12.5
602
501
  }
603
502
  },
604
- "claude-opus-4-7": {
605
- "id": "claude-opus-4-7",
606
- "name": "Claude Opus 4.7",
607
- "family": "claude-opus",
503
+ "claude-haiku-4-5": {
504
+ "id": "claude-haiku-4-5",
505
+ "name": "Claude Haiku 4.5 (latest)",
506
+ "description": "Fast Claude lane for lightweight agents, office tasks, and responsive chat",
507
+ "family": "claude-haiku",
608
508
  "attachment": true,
609
509
  "reasoning": true,
510
+ "reasoning_options": [
511
+ {
512
+ "type": "budget_tokens",
513
+ "min": 1024
514
+ }
515
+ ],
610
516
  "tool_call": true,
611
- "temperature": false,
612
- "knowledge": "2026-01-31",
613
- "release_date": "2026-04-16",
614
- "last_updated": "2026-04-16",
517
+ "structured_output": true,
518
+ "temperature": true,
519
+ "knowledge": "2025-02-28",
520
+ "release_date": "2025-10-15",
521
+ "last_updated": "2025-10-15",
615
522
  "modalities": {
616
523
  "input": [
617
524
  "text",
@@ -624,46 +531,43 @@
624
531
  },
625
532
  "open_weights": false,
626
533
  "limit": {
627
- "context": 1000000,
628
- "output": 128000
629
- },
630
- "experimental": {
631
- "modes": {
632
- "fast": {
633
- "cost": {
634
- "input": 30,
635
- "output": 150,
636
- "cache_read": 3,
637
- "cache_write": 37.5
638
- },
639
- "provider": {
640
- "body": {
641
- "speed": "fast"
642
- },
643
- "headers": {
644
- "anthropic-beta": "fast-mode-2026-02-01"
645
- }
646
- }
647
- }
648
- }
534
+ "context": 200000,
535
+ "output": 64000
649
536
  },
650
537
  "cost": {
651
- "input": 5,
652
- "output": 25,
653
- "cache_read": 0.5,
654
- "cache_write": 6.25
538
+ "input": 1,
539
+ "output": 5,
540
+ "cache_read": 0.1,
541
+ "cache_write": 1.25
655
542
  }
656
543
  },
657
544
  "claude-opus-4-6": {
658
545
  "id": "claude-opus-4-6",
659
546
  "name": "Claude Opus 4.6",
547
+ "description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
660
548
  "family": "claude-opus",
661
549
  "attachment": true,
662
550
  "reasoning": true,
551
+ "reasoning_options": [
552
+ {
553
+ "type": "effort",
554
+ "values": [
555
+ "low",
556
+ "medium",
557
+ "high",
558
+ "max"
559
+ ]
560
+ },
561
+ {
562
+ "type": "budget_tokens",
563
+ "min": 1024
564
+ }
565
+ ],
663
566
  "tool_call": true,
567
+ "structured_output": true,
664
568
  "temperature": true,
665
569
  "knowledge": "2025-05-31",
666
- "release_date": "2026-02-05",
570
+ "release_date": "2026-02-04",
667
571
  "last_updated": "2026-03-13",
668
572
  "modalities": {
669
573
  "input": [
@@ -707,17 +611,25 @@
707
611
  "cache_write": 6.25
708
612
  }
709
613
  },
710
- "claude-3-7-sonnet-20250219": {
711
- "id": "claude-3-7-sonnet-20250219",
712
- "name": "Claude Sonnet 3.7",
614
+ "claude-sonnet-4-5-20250929": {
615
+ "id": "claude-sonnet-4-5-20250929",
616
+ "name": "Claude Sonnet 4.5",
617
+ "description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
713
618
  "family": "claude-sonnet",
714
619
  "attachment": true,
715
620
  "reasoning": true,
621
+ "reasoning_options": [
622
+ {
623
+ "type": "budget_tokens",
624
+ "min": 1024
625
+ }
626
+ ],
716
627
  "tool_call": true,
628
+ "structured_output": true,
717
629
  "temperature": true,
718
- "knowledge": "2024-10-31",
719
- "release_date": "2025-02-19",
720
- "last_updated": "2025-02-19",
630
+ "knowledge": "2025-07-31",
631
+ "release_date": "2025-09-29",
632
+ "last_updated": "2025-09-29",
721
633
  "modalities": {
722
634
  "input": [
723
635
  "text",
@@ -730,7 +642,7 @@
730
642
  },
731
643
  "open_weights": false,
732
644
  "limit": {
733
- "context": 200000,
645
+ "context": 1000000,
734
646
  "output": 64000
735
647
  },
736
648
  "cost": {
@@ -740,17 +652,34 @@
740
652
  "cache_write": 3.75
741
653
  }
742
654
  },
743
- "claude-sonnet-4-20250514": {
744
- "id": "claude-sonnet-4-20250514",
745
- "name": "Claude Sonnet 4",
655
+ "claude-sonnet-4-6": {
656
+ "id": "claude-sonnet-4-6",
657
+ "name": "Claude Sonnet 4.6",
658
+ "description": "Claude workhorse for coding agents, careful analysis, and production cost control",
746
659
  "family": "claude-sonnet",
747
660
  "attachment": true,
748
661
  "reasoning": true,
662
+ "reasoning_options": [
663
+ {
664
+ "type": "effort",
665
+ "values": [
666
+ "low",
667
+ "medium",
668
+ "high",
669
+ "max"
670
+ ]
671
+ },
672
+ {
673
+ "type": "budget_tokens",
674
+ "min": 1024
675
+ }
676
+ ],
749
677
  "tool_call": true,
678
+ "structured_output": true,
750
679
  "temperature": true,
751
- "knowledge": "2025-03-31",
752
- "release_date": "2025-05-22",
753
- "last_updated": "2025-05-22",
680
+ "knowledge": "2025-08-31",
681
+ "release_date": "2026-02-17",
682
+ "last_updated": "2026-03-13",
754
683
  "modalities": {
755
684
  "input": [
756
685
  "text",
@@ -763,8 +692,8 @@
763
692
  },
764
693
  "open_weights": false,
765
694
  "limit": {
766
- "context": 200000,
767
- "output": 64000
695
+ "context": 1000000,
696
+ "output": 128000
768
697
  },
769
698
  "cost": {
770
699
  "input": 3,
@@ -772,39 +701,6 @@
772
701
  "cache_read": 0.3,
773
702
  "cache_write": 3.75
774
703
  }
775
- },
776
- "claude-opus-4-5": {
777
- "id": "claude-opus-4-5",
778
- "name": "Claude Opus 4.5 (latest)",
779
- "family": "claude-opus",
780
- "attachment": true,
781
- "reasoning": true,
782
- "tool_call": true,
783
- "temperature": true,
784
- "knowledge": "2025-03-31",
785
- "release_date": "2025-11-24",
786
- "last_updated": "2025-11-24",
787
- "modalities": {
788
- "input": [
789
- "text",
790
- "image",
791
- "pdf"
792
- ],
793
- "output": [
794
- "text"
795
- ]
796
- },
797
- "open_weights": false,
798
- "limit": {
799
- "context": 200000,
800
- "output": 64000
801
- },
802
- "cost": {
803
- "input": 5,
804
- "output": 25,
805
- "cache_read": 0.5,
806
- "cache_write": 6.25
807
- }
808
704
  }
809
705
  }
810
706
  }