llm.rb 12.0.0 → 12.2.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +193 -1
  3. data/LICENSE +5 -4
  4. data/README.md +56 -18
  5. data/data/anthropic.json +85 -372
  6. data/data/bedrock.json +498 -3
  7. data/data/deepinfra.json +567 -47
  8. data/data/deepseek.json +4 -0
  9. data/data/google.json +54 -0
  10. data/data/mistral.json +968 -0
  11. data/data/openai.json +51 -0
  12. data/data/xai.json +67 -0
  13. data/data/zai.json +14 -0
  14. data/lib/llm/agent.rb +41 -1
  15. data/lib/llm/context.rb +9 -1
  16. data/lib/llm/function.rb +6 -0
  17. data/lib/llm/json_adapter.rb +29 -3
  18. data/lib/llm/provider.rb +3 -3
  19. data/lib/llm/providers/anthropic.rb +2 -2
  20. data/lib/llm/providers/google.rb +3 -1
  21. data/lib/llm/providers/llamacpp.rb +5 -5
  22. data/lib/llm/providers/mistral/request_adapter/completion.rb +122 -0
  23. data/lib/llm/providers/mistral/request_adapter.rb +20 -0
  24. data/lib/llm/providers/mistral.rb +96 -0
  25. data/lib/llm/repl/input.rb +64 -0
  26. data/lib/llm/repl/status.rb +30 -0
  27. data/lib/llm/repl/stream.rb +46 -0
  28. data/lib/llm/repl/transcript.rb +61 -0
  29. data/lib/llm/repl/window.rb +107 -0
  30. data/lib/llm/repl.rb +78 -0
  31. data/lib/llm/tools/chdir.rb +23 -0
  32. data/lib/llm/tools/git.rb +41 -0
  33. data/lib/llm/tools/mkdir.rb +32 -0
  34. data/lib/llm/tools/pwd.rb +20 -0
  35. data/lib/llm/tools/read_file.rb +40 -0
  36. data/lib/llm/tools/rg.rb +46 -0
  37. data/lib/llm/tools/shell.rb +48 -0
  38. data/lib/llm/tools/swap_text.rb +25 -0
  39. data/lib/llm/tools/write_file.rb +24 -0
  40. data/lib/llm/tools.rb +5 -0
  41. data/lib/llm/version.rb +1 -1
  42. data/lib/llm.rb +9 -0
  43. data/llm.gemspec +1 -1
  44. data/resources/deepdive.md +32 -0
  45. metadata +22 -2
data/data/anthropic.json CHANGED
@@ -10,6 +10,7 @@
10
10
  "claude-opus-4-5": {
11
11
  "id": "claude-opus-4-5",
12
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,
@@ -28,8 +29,9 @@
28
29
  }
29
30
  ],
30
31
  "tool_call": true,
32
+ "structured_output": true,
31
33
  "temperature": true,
32
- "knowledge": "2025-03-31",
34
+ "knowledge": "2025-05",
33
35
  "release_date": "2025-11-24",
34
36
  "last_updated": "2025-11-24",
35
37
  "modalities": {
@@ -57,6 +59,7 @@
57
59
  "claude-haiku-4-5-20251001": {
58
60
  "id": "claude-haiku-4-5-20251001",
59
61
  "name": "Claude Haiku 4.5",
62
+ "description": "Fast Claude model for responsive assistance, classification, and lightweight agents",
60
63
  "family": "claude-haiku",
61
64
  "attachment": true,
62
65
  "reasoning": true,
@@ -67,6 +70,7 @@
67
70
  }
68
71
  ],
69
72
  "tool_call": true,
73
+ "structured_output": true,
70
74
  "temperature": true,
71
75
  "knowledge": "2025-02-28",
72
76
  "release_date": "2025-10-15",
@@ -93,82 +97,10 @@
93
97
  "cache_write": 1.25
94
98
  }
95
99
  },
96
- "claude-opus-4-0": {
97
- "id": "claude-opus-4-0",
98
- "name": "Claude Opus 4 (latest)",
99
- "family": "claude-opus",
100
- "attachment": true,
101
- "reasoning": true,
102
- "reasoning_options": [
103
- {
104
- "type": "budget_tokens",
105
- "min": 1024
106
- }
107
- ],
108
- "tool_call": true,
109
- "temperature": true,
110
- "knowledge": "2025-03-31",
111
- "release_date": "2025-05-22",
112
- "last_updated": "2025-05-22",
113
- "modalities": {
114
- "input": [
115
- "text",
116
- "image",
117
- "pdf"
118
- ],
119
- "output": [
120
- "text"
121
- ]
122
- },
123
- "open_weights": false,
124
- "limit": {
125
- "context": 200000,
126
- "output": 32000
127
- },
128
- "cost": {
129
- "input": 15,
130
- "output": 75,
131
- "cache_read": 1.5,
132
- "cache_write": 18.75
133
- }
134
- },
135
- "claude-3-opus-20240229": {
136
- "id": "claude-3-opus-20240229",
137
- "name": "Claude Opus 3",
138
- "family": "claude-opus",
139
- "attachment": true,
140
- "reasoning": false,
141
- "tool_call": true,
142
- "temperature": true,
143
- "knowledge": "2023-08-31",
144
- "release_date": "2024-02-29",
145
- "last_updated": "2024-02-29",
146
- "modalities": {
147
- "input": [
148
- "text",
149
- "image",
150
- "pdf"
151
- ],
152
- "output": [
153
- "text"
154
- ]
155
- },
156
- "open_weights": false,
157
- "limit": {
158
- "context": 200000,
159
- "output": 4096
160
- },
161
- "status": "deprecated",
162
- "cost": {
163
- "input": 15,
164
- "output": 75,
165
- "cache_read": 1.5,
166
- "cache_write": 18.75
167
- }
168
- },
169
100
  "claude-opus-4-1-20250805": {
170
101
  "id": "claude-opus-4-1-20250805",
171
102
  "name": "Claude Opus 4.1",
103
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
172
104
  "family": "claude-opus",
173
105
  "attachment": true,
174
106
  "reasoning": true,
@@ -179,6 +111,7 @@
179
111
  }
180
112
  ],
181
113
  "tool_call": true,
114
+ "structured_output": true,
182
115
  "temperature": true,
183
116
  "knowledge": "2025-03-31",
184
117
  "release_date": "2025-08-05",
@@ -198,6 +131,7 @@
198
131
  "context": 200000,
199
132
  "output": 32000
200
133
  },
134
+ "status": "deprecated",
201
135
  "cost": {
202
136
  "input": 15,
203
137
  "output": 75,
@@ -208,6 +142,7 @@
208
142
  "claude-sonnet-4-5": {
209
143
  "id": "claude-sonnet-4-5",
210
144
  "name": "Claude Sonnet 4.5 (latest)",
145
+ "description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
211
146
  "family": "claude-sonnet",
212
147
  "attachment": true,
213
148
  "reasoning": true,
@@ -218,6 +153,7 @@
218
153
  }
219
154
  ],
220
155
  "tool_call": true,
156
+ "structured_output": true,
221
157
  "temperature": true,
222
158
  "knowledge": "2025-07-31",
223
159
  "release_date": "2025-09-29",
@@ -234,7 +170,7 @@
234
170
  },
235
171
  "open_weights": false,
236
172
  "limit": {
237
- "context": 200000,
173
+ "context": 1000000,
238
174
  "output": 64000
239
175
  },
240
176
  "cost": {
@@ -247,6 +183,7 @@
247
183
  "claude-opus-4-7": {
248
184
  "id": "claude-opus-4-7",
249
185
  "name": "Claude Opus 4.7",
186
+ "description": "Stronger Opus tier for advanced software work and high-stakes reasoning",
250
187
  "family": "claude-opus",
251
188
  "attachment": true,
252
189
  "reasoning": true,
@@ -263,9 +200,10 @@
263
200
  }
264
201
  ],
265
202
  "tool_call": true,
203
+ "structured_output": true,
266
204
  "temperature": false,
267
205
  "knowledge": "2026-01-31",
268
- "release_date": "2026-04-16",
206
+ "release_date": "2026-04-14",
269
207
  "last_updated": "2026-04-16",
270
208
  "modalities": {
271
209
  "input": [
@@ -309,31 +247,34 @@
309
247
  "cache_write": 6.25
310
248
  }
311
249
  },
312
- "claude-opus-4-5-20251101": {
313
- "id": "claude-opus-4-5-20251101",
314
- "name": "Claude Opus 4.5",
315
- "family": "claude-opus",
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",
254
+ "family": "claude-sonnet",
316
255
  "attachment": true,
317
256
  "reasoning": true,
318
257
  "reasoning_options": [
258
+ {
259
+ "type": "toggle"
260
+ },
319
261
  {
320
262
  "type": "effort",
321
263
  "values": [
322
264
  "low",
323
265
  "medium",
324
- "high"
266
+ "high",
267
+ "xhigh",
268
+ "max"
325
269
  ]
326
- },
327
- {
328
- "type": "budget_tokens",
329
- "min": 1024
330
270
  }
331
271
  ],
332
272
  "tool_call": true,
333
- "temperature": true,
334
- "knowledge": "2025-03-31",
335
- "release_date": "2025-11-01",
336
- "last_updated": "2025-11-01",
273
+ "structured_output": true,
274
+ "temperature": false,
275
+ "knowledge": "2026-01-31",
276
+ "release_date": "2026-06-29",
277
+ "last_updated": "2026-06-30",
337
278
  "modalities": {
338
279
  "input": [
339
280
  "text",
@@ -346,27 +287,43 @@
346
287
  },
347
288
  "open_weights": false,
348
289
  "limit": {
349
- "context": 200000,
350
- "output": 64000
290
+ "context": 1000000,
291
+ "output": 128000
351
292
  },
352
293
  "cost": {
353
- "input": 5,
354
- "output": 25,
355
- "cache_read": 0.5,
356
- "cache_write": 6.25
294
+ "input": 2,
295
+ "output": 10,
296
+ "cache_read": 0.2,
297
+ "cache_write": 2.5
357
298
  }
358
299
  },
359
- "claude-3-5-sonnet-20241022": {
360
- "id": "claude-3-5-sonnet-20241022",
361
- "name": "Claude Sonnet 3.5 v2",
362
- "family": "claude-sonnet",
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",
304
+ "family": "claude-opus",
363
305
  "attachment": true,
364
- "reasoning": false,
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
+ ],
365
321
  "tool_call": true,
322
+ "structured_output": true,
366
323
  "temperature": true,
367
- "knowledge": "2024-04-30",
368
- "release_date": "2024-10-22",
369
- "last_updated": "2024-10-22",
324
+ "knowledge": "2025-05",
325
+ "release_date": "2025-11-24",
326
+ "last_updated": "2025-11-01",
370
327
  "modalities": {
371
328
  "input": [
372
329
  "text",
@@ -380,19 +337,19 @@
380
337
  "open_weights": false,
381
338
  "limit": {
382
339
  "context": 200000,
383
- "output": 8192
340
+ "output": 64000
384
341
  },
385
- "status": "deprecated",
386
342
  "cost": {
387
- "input": 3,
388
- "output": 15,
389
- "cache_read": 0.3,
390
- "cache_write": 3.75
343
+ "input": 5,
344
+ "output": 25,
345
+ "cache_read": 0.5,
346
+ "cache_write": 6.25
391
347
  }
392
348
  },
393
349
  "claude-opus-4-8": {
394
350
  "id": "claude-opus-4-8",
395
351
  "name": "Claude Opus 4.8",
352
+ "description": "Top Claude Opus tier for the hardest reasoning, coding, and long-horizon agents",
396
353
  "family": "claude-opus",
397
354
  "attachment": true,
398
355
  "reasoning": true,
@@ -409,7 +366,9 @@
409
366
  }
410
367
  ],
411
368
  "tool_call": true,
369
+ "structured_output": true,
412
370
  "temperature": false,
371
+ "knowledge": "2026-01",
413
372
  "release_date": "2026-05-28",
414
373
  "last_updated": "2026-05-28",
415
374
  "modalities": {
@@ -454,121 +413,10 @@
454
413
  "cache_write": 6.25
455
414
  }
456
415
  },
457
- "claude-opus-4-20250514": {
458
- "id": "claude-opus-4-20250514",
459
- "name": "Claude Opus 4",
460
- "family": "claude-opus",
461
- "attachment": true,
462
- "reasoning": true,
463
- "reasoning_options": [
464
- {
465
- "type": "budget_tokens",
466
- "min": 1024
467
- }
468
- ],
469
- "tool_call": true,
470
- "temperature": true,
471
- "knowledge": "2025-03-31",
472
- "release_date": "2025-05-22",
473
- "last_updated": "2025-05-22",
474
- "modalities": {
475
- "input": [
476
- "text",
477
- "image",
478
- "pdf"
479
- ],
480
- "output": [
481
- "text"
482
- ]
483
- },
484
- "open_weights": false,
485
- "limit": {
486
- "context": 200000,
487
- "output": 32000
488
- },
489
- "cost": {
490
- "input": 15,
491
- "output": 75,
492
- "cache_read": 1.5,
493
- "cache_write": 18.75
494
- }
495
- },
496
- "claude-3-5-sonnet-20240620": {
497
- "id": "claude-3-5-sonnet-20240620",
498
- "name": "Claude Sonnet 3.5",
499
- "family": "claude-sonnet",
500
- "attachment": true,
501
- "reasoning": false,
502
- "tool_call": true,
503
- "temperature": true,
504
- "knowledge": "2024-04-30",
505
- "release_date": "2024-06-20",
506
- "last_updated": "2024-06-20",
507
- "modalities": {
508
- "input": [
509
- "text",
510
- "image",
511
- "pdf"
512
- ],
513
- "output": [
514
- "text"
515
- ]
516
- },
517
- "open_weights": false,
518
- "limit": {
519
- "context": 200000,
520
- "output": 8192
521
- },
522
- "status": "deprecated",
523
- "cost": {
524
- "input": 3,
525
- "output": 15,
526
- "cache_read": 0.3,
527
- "cache_write": 3.75
528
- }
529
- },
530
- "claude-sonnet-4-20250514": {
531
- "id": "claude-sonnet-4-20250514",
532
- "name": "Claude Sonnet 4",
533
- "family": "claude-sonnet",
534
- "attachment": true,
535
- "reasoning": true,
536
- "reasoning_options": [
537
- {
538
- "type": "budget_tokens",
539
- "min": 1024
540
- }
541
- ],
542
- "tool_call": true,
543
- "temperature": true,
544
- "knowledge": "2025-03-31",
545
- "release_date": "2025-05-22",
546
- "last_updated": "2025-05-22",
547
- "modalities": {
548
- "input": [
549
- "text",
550
- "image",
551
- "pdf"
552
- ],
553
- "output": [
554
- "text"
555
- ]
556
- },
557
- "open_weights": false,
558
- "limit": {
559
- "context": 200000,
560
- "output": 64000
561
- },
562
- "cost": {
563
- "input": 3,
564
- "output": 15,
565
- "cache_read": 0.3,
566
- "cache_write": 3.75
567
- }
568
- },
569
416
  "claude-opus-4-1": {
570
417
  "id": "claude-opus-4-1",
571
418
  "name": "Claude Opus 4.1 (latest)",
419
+ "description": "Flagship Claude model for deep reasoning, coding, and long-horizon agents",
572
420
  "family": "claude-opus",
573
421
  "attachment": true,
574
422
  "reasoning": true,
@@ -579,6 +427,7 @@
579
427
  }
580
428
  ],
581
429
  "tool_call": true,
430
+ "structured_output": true,
582
431
  "temperature": true,
583
432
  "knowledge": "2025-03-31",
584
433
  "release_date": "2025-08-05",
@@ -598,6 +447,7 @@
598
447
  "context": 200000,
599
448
  "output": 32000
600
449
  },
450
+ "status": "deprecated",
601
451
  "cost": {
602
452
  "input": 15,
603
453
  "output": 75,
@@ -605,43 +455,10 @@
605
455
  "cache_write": 18.75
606
456
  }
607
457
  },
608
- "claude-3-haiku-20240307": {
609
- "id": "claude-3-haiku-20240307",
610
- "name": "Claude Haiku 3",
611
- "family": "claude-haiku",
612
- "attachment": true,
613
- "reasoning": false,
614
- "tool_call": true,
615
- "temperature": true,
616
- "knowledge": "2023-08-31",
617
- "release_date": "2024-03-13",
618
- "last_updated": "2024-03-13",
619
- "modalities": {
620
- "input": [
621
- "text",
622
- "image",
623
- "pdf"
624
- ],
625
- "output": [
626
- "text"
627
- ]
628
- },
629
- "open_weights": false,
630
- "limit": {
631
- "context": 200000,
632
- "output": 4096
633
- },
634
- "status": "deprecated",
635
- "cost": {
636
- "input": 0.25,
637
- "output": 1.25,
638
- "cache_read": 0.03,
639
- "cache_write": 0.3
640
- }
641
- },
642
458
  "claude-fable-5": {
643
459
  "id": "claude-fable-5",
644
460
  "name": "Claude Fable 5",
461
+ "description": "Claude model for creative writing, analysis, and controlled agent workflows",
645
462
  "family": "claude-fable",
646
463
  "attachment": true,
647
464
  "reasoning": true,
@@ -658,8 +475,9 @@
658
475
  }
659
476
  ],
660
477
  "tool_call": true,
478
+ "structured_output": true,
661
479
  "temperature": false,
662
- "release_date": "2026-06-09",
480
+ "release_date": "2026-06-07",
663
481
  "last_updated": "2026-06-09",
664
482
  "modalities": {
665
483
  "input": [
@@ -683,88 +501,10 @@
683
501
  "cache_write": 12.5
684
502
  }
685
503
  },
686
- "claude-sonnet-4-0": {
687
- "id": "claude-sonnet-4-0",
688
- "name": "Claude Sonnet 4 (latest)",
689
- "family": "claude-sonnet",
690
- "attachment": true,
691
- "reasoning": true,
692
- "reasoning_options": [
693
- {
694
- "type": "budget_tokens",
695
- "min": 1024
696
- }
697
- ],
698
- "tool_call": true,
699
- "temperature": true,
700
- "knowledge": "2025-03-31",
701
- "release_date": "2025-05-22",
702
- "last_updated": "2025-05-22",
703
- "modalities": {
704
- "input": [
705
- "text",
706
- "image",
707
- "pdf"
708
- ],
709
- "output": [
710
- "text"
711
- ]
712
- },
713
- "open_weights": false,
714
- "limit": {
715
- "context": 200000,
716
- "output": 64000
717
- },
718
- "cost": {
719
- "input": 3,
720
- "output": 15,
721
- "cache_read": 0.3,
722
- "cache_write": 3.75
723
- }
724
- },
725
- "claude-3-7-sonnet-20250219": {
726
- "id": "claude-3-7-sonnet-20250219",
727
- "name": "Claude Sonnet 3.7",
728
- "family": "claude-sonnet",
729
- "attachment": true,
730
- "reasoning": true,
731
- "reasoning_options": [
732
- {
733
- "type": "budget_tokens",
734
- "min": 1024
735
- }
736
- ],
737
- "tool_call": true,
738
- "temperature": true,
739
- "knowledge": "2024-10-31",
740
- "release_date": "2025-02-19",
741
- "last_updated": "2025-02-19",
742
- "modalities": {
743
- "input": [
744
- "text",
745
- "image",
746
- "pdf"
747
- ],
748
- "output": [
749
- "text"
750
- ]
751
- },
752
- "open_weights": false,
753
- "limit": {
754
- "context": 200000,
755
- "output": 64000
756
- },
757
- "status": "deprecated",
758
- "cost": {
759
- "input": 3,
760
- "output": 15,
761
- "cache_read": 0.3,
762
- "cache_write": 3.75
763
- }
764
- },
765
504
  "claude-haiku-4-5": {
766
505
  "id": "claude-haiku-4-5",
767
506
  "name": "Claude Haiku 4.5 (latest)",
507
+ "description": "Fast Claude lane for lightweight agents, office tasks, and responsive chat",
768
508
  "family": "claude-haiku",
769
509
  "attachment": true,
770
510
  "reasoning": true,
@@ -775,6 +515,7 @@
775
515
  }
776
516
  ],
777
517
  "tool_call": true,
518
+ "structured_output": true,
778
519
  "temperature": true,
779
520
  "knowledge": "2025-02-28",
780
521
  "release_date": "2025-10-15",
@@ -804,6 +545,7 @@
804
545
  "claude-opus-4-6": {
805
546
  "id": "claude-opus-4-6",
806
547
  "name": "Claude Opus 4.6",
548
+ "description": "High-end Claude for difficult coding, planning, and slower expert reasoning",
807
549
  "family": "claude-opus",
808
550
  "attachment": true,
809
551
  "reasoning": true,
@@ -823,9 +565,10 @@
823
565
  }
824
566
  ],
825
567
  "tool_call": true,
568
+ "structured_output": true,
826
569
  "temperature": true,
827
570
  "knowledge": "2025-05-31",
828
- "release_date": "2026-02-05",
571
+ "release_date": "2026-02-04",
829
572
  "last_updated": "2026-03-13",
830
573
  "modalities": {
831
574
  "input": [
@@ -872,6 +615,7 @@
872
615
  "claude-sonnet-4-5-20250929": {
873
616
  "id": "claude-sonnet-4-5-20250929",
874
617
  "name": "Claude Sonnet 4.5",
618
+ "description": "Balanced Claude model for coding, analysis, agent workflows, and cost control",
875
619
  "family": "claude-sonnet",
876
620
  "attachment": true,
877
621
  "reasoning": true,
@@ -882,6 +626,7 @@
882
626
  }
883
627
  ],
884
628
  "tool_call": true,
629
+ "structured_output": true,
885
630
  "temperature": true,
886
631
  "knowledge": "2025-07-31",
887
632
  "release_date": "2025-09-29",
@@ -898,7 +643,7 @@
898
643
  },
899
644
  "open_weights": false,
900
645
  "limit": {
901
- "context": 200000,
646
+ "context": 1000000,
902
647
  "output": 64000
903
648
  },
904
649
  "cost": {
@@ -908,43 +653,10 @@
908
653
  "cache_write": 3.75
909
654
  }
910
655
  },
911
- "claude-3-sonnet-20240229": {
912
- "id": "claude-3-sonnet-20240229",
913
- "name": "Claude Sonnet 3",
914
- "family": "claude-sonnet",
915
- "attachment": true,
916
- "reasoning": false,
917
- "tool_call": true,
918
- "temperature": true,
919
- "knowledge": "2023-08-31",
920
- "release_date": "2024-03-04",
921
- "last_updated": "2024-03-04",
922
- "modalities": {
923
- "input": [
924
- "text",
925
- "image",
926
- "pdf"
927
- ],
928
- "output": [
929
- "text"
930
- ]
931
- },
932
- "open_weights": false,
933
- "limit": {
934
- "context": 200000,
935
- "output": 4096
936
- },
937
- "status": "deprecated",
938
- "cost": {
939
- "input": 3,
940
- "output": 15,
941
- "cache_read": 0.3,
942
- "cache_write": 0.3
943
- }
944
- },
945
656
  "claude-sonnet-4-6": {
946
657
  "id": "claude-sonnet-4-6",
947
658
  "name": "Claude Sonnet 4.6",
659
+ "description": "Claude workhorse for coding agents, careful analysis, and production cost control",
948
660
  "family": "claude-sonnet",
949
661
  "attachment": true,
950
662
  "reasoning": true,
@@ -964,6 +676,7 @@
964
676
  }
965
677
  ],
966
678
  "tool_call": true,
679
+ "structured_output": true,
967
680
  "temperature": true,
968
681
  "knowledge": "2025-08-31",
969
682
  "release_date": "2026-02-17",
@@ -981,7 +694,7 @@
981
694
  "open_weights": false,
982
695
  "limit": {
983
696
  "context": 1000000,
984
- "output": 64000
697
+ "output": 128000
985
698
  },
986
699
  "cost": {
987
700
  "input": 3,