mycode-sdk 0.11.0__tar.gz → 0.11.1__tar.gz

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 (23) hide show
  1. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/PKG-INFO +1 -1
  2. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/pyproject.toml +1 -1
  3. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/agent.py +4 -0
  4. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/models_catalog.json +187 -129
  5. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/__init__.py +9 -1
  6. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/anthropic_like.py +8 -2
  7. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/openai_chat.py +25 -2
  8. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/.gitignore +0 -0
  9. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/LICENSE +0 -0
  10. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/README.md +0 -0
  11. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/__init__.py +0 -0
  12. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/attachments.py +0 -0
  13. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/compact.py +0 -0
  14. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/hooks.py +0 -0
  15. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/messages.py +0 -0
  16. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/models.py +0 -0
  17. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/base.py +0 -0
  18. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/gemini.py +0 -0
  19. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/providers/openai_responses.py +0 -0
  20. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/py.typed +0 -0
  21. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/session.py +0 -0
  22. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/tools.py +0 -0
  23. {mycode_sdk-0.11.0 → mycode_sdk-0.11.1}/src/mycode/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mycode-sdk
3
- Version: 0.11.0
3
+ Version: 0.11.1
4
4
  Summary: Lightweight Python SDK for building AI agents.
5
5
  Project-URL: Homepage, https://github.com/legibet/mycode
6
6
  Project-URL: Repository, https://github.com/legibet/mycode
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mycode-sdk"
7
- version = "0.11.0"
7
+ version = "0.11.1"
8
8
  description = "Lightweight Python SDK for building AI agents."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -87,6 +87,7 @@ class Agent:
87
87
  compact_threshold: float | None = None,
88
88
  reasoning_effort: str | None = None,
89
89
  supports_reasoning: bool | None = None,
90
+ supports_reasoning_effort: bool = False,
90
91
  supports_image_input: bool | None = None,
91
92
  supports_pdf_input: bool | None = None,
92
93
  system: str = "",
@@ -127,6 +128,9 @@ class Agent:
127
128
  self.temperature = float(temperature)
128
129
  self.compact_threshold = compact_threshold if compact_threshold is not None else DEFAULT_COMPACT_THRESHOLD
129
130
  self.reasoning_effort = reasoning_effort
131
+ # Whether the endpoint accepts the effort knob. Comes from provider
132
+ # config, not the catalog, so it stays out of refresh_capabilities.
133
+ self.supports_reasoning_effort = supports_reasoning_effort
130
134
 
131
135
  self.system = system
132
136
  self.hooks = hooks or Hooks()
@@ -406,6 +406,13 @@
406
406
  "supports_image_input": true,
407
407
  "supports_pdf_input": false,
408
408
  "supports_reasoning": true
409
+ },
410
+ "kimi-k3": {
411
+ "context_window": 1048576,
412
+ "max_output_tokens": 131072,
413
+ "supports_image_input": true,
414
+ "supports_pdf_input": false,
415
+ "supports_reasoning": true
409
416
  }
410
417
  },
411
418
  "openai": {
@@ -717,6 +724,13 @@
717
724
  "supports_pdf_input": false,
718
725
  "supports_reasoning": false
719
726
  },
727
+ "gpt-realtime-2.1": {
728
+ "context_window": 128000,
729
+ "max_output_tokens": 32000,
730
+ "supports_image_input": true,
731
+ "supports_pdf_input": false,
732
+ "supports_reasoning": true
733
+ },
720
734
  "o1": {
721
735
  "context_window": 200000,
722
736
  "max_output_tokens": 100000,
@@ -874,7 +888,7 @@
874
888
  "supports_reasoning": false
875
889
  },
876
890
  "anthracite-org/magnum-v4-72b": {
877
- "context_window": 16384,
891
+ "context_window": 32768,
878
892
  "max_output_tokens": 2048,
879
893
  "supports_image_input": false,
880
894
  "supports_pdf_input": false,
@@ -985,13 +999,6 @@
985
999
  "supports_pdf_input": true,
986
1000
  "supports_reasoning": true
987
1001
  },
988
- "arcee-ai/coder-large": {
989
- "context_window": 32768,
990
- "max_output_tokens": 32768,
991
- "supports_image_input": false,
992
- "supports_pdf_input": false,
993
- "supports_reasoning": false
994
- },
995
1002
  "arcee-ai/trinity-large-thinking": {
996
1003
  "context_window": 262144,
997
1004
  "max_output_tokens": 80000,
@@ -999,13 +1006,6 @@
999
1006
  "supports_pdf_input": false,
1000
1007
  "supports_reasoning": true
1001
1008
  },
1002
- "arcee-ai/trinity-mini": {
1003
- "context_window": 131072,
1004
- "max_output_tokens": 131072,
1005
- "supports_image_input": false,
1006
- "supports_pdf_input": false,
1007
- "supports_reasoning": true
1008
- },
1009
1009
  "arcee-ai/virtuoso-large": {
1010
1010
  "context_window": 131072,
1011
1011
  "max_output_tokens": 64000,
@@ -1014,7 +1014,7 @@
1014
1014
  "supports_reasoning": false
1015
1015
  },
1016
1016
  "baidu/ernie-4.5-vl-424b-a47b": {
1017
- "context_window": 123000,
1017
+ "context_window": 131072,
1018
1018
  "max_output_tokens": 16000,
1019
1019
  "supports_image_input": true,
1020
1020
  "supports_pdf_input": false,
@@ -1055,6 +1055,13 @@
1055
1055
  "supports_pdf_input": false,
1056
1056
  "supports_reasoning": false
1057
1057
  },
1058
+ "cognitivecomputations/dolphin-mistral-24b-venice-edition": {
1059
+ "context_window": 128000,
1060
+ "max_output_tokens": 8192,
1061
+ "supports_image_input": false,
1062
+ "supports_pdf_input": false,
1063
+ "supports_reasoning": false
1064
+ },
1058
1065
  "cognitivecomputations/dolphin-mistral-24b-venice-edition:free": {
1059
1066
  "context_window": 32768,
1060
1067
  "max_output_tokens": 32768,
@@ -1105,7 +1112,7 @@
1105
1112
  "supports_reasoning": true
1106
1113
  },
1107
1114
  "deepseek/deepseek-chat": {
1108
- "context_window": 128000,
1115
+ "context_window": 131072,
1109
1116
  "max_output_tokens": 16000,
1110
1117
  "supports_image_input": false,
1111
1118
  "supports_pdf_input": false,
@@ -1113,7 +1120,7 @@
1113
1120
  },
1114
1121
  "deepseek/deepseek-chat-v3-0324": {
1115
1122
  "context_window": 163840,
1116
- "max_output_tokens": 16384,
1123
+ "max_output_tokens": 65536,
1117
1124
  "supports_image_input": false,
1118
1125
  "supports_pdf_input": false,
1119
1126
  "supports_reasoning": false
@@ -1126,7 +1133,7 @@
1126
1133
  "supports_reasoning": true
1127
1134
  },
1128
1135
  "deepseek/deepseek-r1": {
1129
- "context_window": 64000,
1136
+ "context_window": 163840,
1130
1137
  "max_output_tokens": 16000,
1131
1138
  "supports_image_input": false,
1132
1139
  "supports_pdf_input": false,
@@ -1140,22 +1147,22 @@
1140
1147
  "supports_reasoning": true
1141
1148
  },
1142
1149
  "deepseek/deepseek-r1-distill-llama-70b": {
1143
- "context_window": 8192,
1150
+ "context_window": 128000,
1144
1151
  "max_output_tokens": 8192,
1145
1152
  "supports_image_input": false,
1146
1153
  "supports_pdf_input": false,
1147
1154
  "supports_reasoning": true
1148
1155
  },
1149
1156
  "deepseek/deepseek-v3.1-terminus": {
1150
- "context_window": 163840,
1157
+ "context_window": 131072,
1151
1158
  "max_output_tokens": 32768,
1152
1159
  "supports_image_input": false,
1153
1160
  "supports_pdf_input": false,
1154
1161
  "supports_reasoning": true
1155
1162
  },
1156
1163
  "deepseek/deepseek-v3.2": {
1157
- "context_window": 128000,
1158
- "max_output_tokens": 64000,
1164
+ "context_window": 163840,
1165
+ "max_output_tokens": 65536,
1159
1166
  "supports_image_input": false,
1160
1167
  "supports_pdf_input": false,
1161
1168
  "supports_reasoning": true
@@ -1190,7 +1197,7 @@
1190
1197
  },
1191
1198
  "google/gemini-2.5-flash-image": {
1192
1199
  "context_window": 32768,
1193
- "max_output_tokens": 32768,
1200
+ "max_output_tokens": 8192,
1194
1201
  "supports_image_input": true,
1195
1202
  "supports_pdf_input": false,
1196
1203
  "supports_reasoning": false
@@ -1267,7 +1274,7 @@
1267
1274
  },
1268
1275
  "google/gemini-3.1-flash-lite-image": {
1269
1276
  "context_window": 65536,
1270
- "max_output_tokens": 66000,
1277
+ "max_output_tokens": 65536,
1271
1278
  "supports_image_input": true,
1272
1279
  "supports_pdf_input": false,
1273
1280
  "supports_reasoning": true
@@ -1287,7 +1294,7 @@
1287
1294
  "supports_reasoning": true
1288
1295
  },
1289
1296
  "google/gemini-3.1-pro-preview-customtools": {
1290
- "context_window": 1048576,
1297
+ "context_window": 1048756,
1291
1298
  "max_output_tokens": 65536,
1292
1299
  "supports_image_input": true,
1293
1300
  "supports_pdf_input": true,
@@ -1316,7 +1323,7 @@
1316
1323
  },
1317
1324
  "google/gemma-3-27b-it": {
1318
1325
  "context_window": 131072,
1319
- "max_output_tokens": 16384,
1326
+ "max_output_tokens": 131072,
1320
1327
  "supports_image_input": true,
1321
1328
  "supports_pdf_input": false,
1322
1329
  "supports_reasoning": false
@@ -1337,13 +1344,13 @@
1337
1344
  },
1338
1345
  "google/gemma-4-26b-a4b-it": {
1339
1346
  "context_window": 262144,
1340
- "max_output_tokens": 262144,
1347
+ "max_output_tokens": 16384,
1341
1348
  "supports_image_input": true,
1342
1349
  "supports_pdf_input": false,
1343
1350
  "supports_reasoning": true
1344
1351
  },
1345
1352
  "google/gemma-4-26b-a4b-it:free": {
1346
- "context_window": 131072,
1353
+ "context_window": 262144,
1347
1354
  "max_output_tokens": 32768,
1348
1355
  "supports_image_input": true,
1349
1356
  "supports_pdf_input": false,
@@ -1358,7 +1365,7 @@
1358
1365
  },
1359
1366
  "google/gemma-4-31b-it:free": {
1360
1367
  "context_window": 262144,
1361
- "max_output_tokens": 8192,
1368
+ "max_output_tokens": 32768,
1362
1369
  "supports_image_input": true,
1363
1370
  "supports_pdf_input": false,
1364
1371
  "supports_reasoning": true
@@ -1440,26 +1447,26 @@
1440
1447
  "supports_pdf_input": false,
1441
1448
  "supports_reasoning": false
1442
1449
  },
1443
- "kwaipilot/kat-coder-pro-v2": {
1450
+ "kwaipilot/kat-coder-air-v2.5": {
1444
1451
  "context_window": 256000,
1445
1452
  "max_output_tokens": 80000,
1446
1453
  "supports_image_input": false,
1447
1454
  "supports_pdf_input": false,
1448
1455
  "supports_reasoning": false
1449
1456
  },
1450
- "liquid/lfm-2.5-1.2b-instruct:free": {
1451
- "context_window": 32768,
1452
- "max_output_tokens": 32768,
1457
+ "kwaipilot/kat-coder-pro-v2": {
1458
+ "context_window": 256000,
1459
+ "max_output_tokens": 80000,
1453
1460
  "supports_image_input": false,
1454
1461
  "supports_pdf_input": false,
1455
1462
  "supports_reasoning": false
1456
1463
  },
1457
- "liquid/lfm-2.5-1.2b-thinking:free": {
1458
- "context_window": 32768,
1459
- "max_output_tokens": 32768,
1464
+ "kwaipilot/kat-coder-pro-v2.5": {
1465
+ "context_window": 256000,
1466
+ "max_output_tokens": 80000,
1460
1467
  "supports_image_input": false,
1461
1468
  "supports_pdf_input": false,
1462
- "supports_reasoning": true
1469
+ "supports_reasoning": false
1463
1470
  },
1464
1471
  "mancer/weaver": {
1465
1472
  "context_window": 8000,
@@ -1468,13 +1475,6 @@
1468
1475
  "supports_pdf_input": false,
1469
1476
  "supports_reasoning": false
1470
1477
  },
1471
- "meta-llama/llama-3-8b-instruct": {
1472
- "context_window": 8192,
1473
- "max_output_tokens": 8192,
1474
- "supports_image_input": false,
1475
- "supports_pdf_input": false,
1476
- "supports_reasoning": false
1477
- },
1478
1478
  "meta-llama/llama-3.1-70b-instruct": {
1479
1479
  "context_window": 131072,
1480
1480
  "max_output_tokens": 16384,
@@ -1484,20 +1484,13 @@
1484
1484
  },
1485
1485
  "meta-llama/llama-3.1-8b-instruct": {
1486
1486
  "context_window": 131072,
1487
- "max_output_tokens": 16384,
1487
+ "max_output_tokens": 131072,
1488
1488
  "supports_image_input": false,
1489
1489
  "supports_pdf_input": false,
1490
1490
  "supports_reasoning": false
1491
1491
  },
1492
- "meta-llama/llama-3.2-11b-vision-instruct": {
1493
- "context_window": 131072,
1494
- "max_output_tokens": 16384,
1495
- "supports_image_input": true,
1496
- "supports_pdf_input": false,
1497
- "supports_reasoning": false
1498
- },
1499
1492
  "meta-llama/llama-3.2-1b-instruct": {
1500
- "context_window": 60000,
1493
+ "context_window": 131072,
1501
1494
  "max_output_tokens": 60000,
1502
1495
  "supports_image_input": false,
1503
1496
  "supports_pdf_input": false,
@@ -1505,7 +1498,7 @@
1505
1498
  },
1506
1499
  "meta-llama/llama-3.2-3b-instruct": {
1507
1500
  "context_window": 131072,
1508
- "max_output_tokens": 131072,
1501
+ "max_output_tokens": 80000,
1509
1502
  "supports_image_input": false,
1510
1503
  "supports_pdf_input": false,
1511
1504
  "supports_reasoning": false
@@ -1519,13 +1512,13 @@
1519
1512
  },
1520
1513
  "meta-llama/llama-3.3-70b-instruct": {
1521
1514
  "context_window": 131072,
1522
- "max_output_tokens": 16384,
1515
+ "max_output_tokens": 128000,
1523
1516
  "supports_image_input": false,
1524
1517
  "supports_pdf_input": false,
1525
1518
  "supports_reasoning": false
1526
1519
  },
1527
1520
  "meta-llama/llama-3.3-70b-instruct:free": {
1528
- "context_window": 65536,
1521
+ "context_window": 131072,
1529
1522
  "max_output_tokens": 131072,
1530
1523
  "supports_image_input": false,
1531
1524
  "supports_pdf_input": false,
@@ -1539,7 +1532,7 @@
1539
1532
  "supports_reasoning": false
1540
1533
  },
1541
1534
  "meta-llama/llama-4-scout": {
1542
- "context_window": 327680,
1535
+ "context_window": 10000000,
1543
1536
  "max_output_tokens": 16384,
1544
1537
  "supports_image_input": true,
1545
1538
  "supports_pdf_input": false,
@@ -1552,6 +1545,13 @@
1552
1545
  "supports_pdf_input": false,
1553
1546
  "supports_reasoning": false
1554
1547
  },
1548
+ "meta/muse-spark-1.1": {
1549
+ "context_window": 1048576,
1550
+ "max_output_tokens": 1048576,
1551
+ "supports_image_input": true,
1552
+ "supports_pdf_input": true,
1553
+ "supports_reasoning": true
1554
+ },
1555
1555
  "microsoft/phi-4": {
1556
1556
  "context_window": 16384,
1557
1557
  "max_output_tokens": 16384,
@@ -1560,7 +1560,7 @@
1560
1560
  "supports_reasoning": false
1561
1561
  },
1562
1562
  "microsoft/wizardlm-2-8x22b": {
1563
- "context_window": 65535,
1563
+ "context_window": 65536,
1564
1564
  "max_output_tokens": 8000,
1565
1565
  "supports_image_input": false,
1566
1566
  "supports_pdf_input": false,
@@ -1602,21 +1602,21 @@
1602
1602
  "supports_reasoning": true
1603
1603
  },
1604
1604
  "minimax/minimax-m2.5": {
1605
- "context_window": 196608,
1605
+ "context_window": 204800,
1606
1606
  "max_output_tokens": 196608,
1607
1607
  "supports_image_input": false,
1608
1608
  "supports_pdf_input": false,
1609
1609
  "supports_reasoning": true
1610
1610
  },
1611
1611
  "minimax/minimax-m2.7": {
1612
- "context_window": 196608,
1613
- "max_output_tokens": 196608,
1612
+ "context_window": 204800,
1613
+ "max_output_tokens": 131072,
1614
1614
  "supports_image_input": false,
1615
1615
  "supports_pdf_input": false,
1616
1616
  "supports_reasoning": true
1617
1617
  },
1618
1618
  "minimax/minimax-m3": {
1619
- "context_window": 524288,
1619
+ "context_window": 1048576,
1620
1620
  "max_output_tokens": 512000,
1621
1621
  "supports_image_input": true,
1622
1622
  "supports_pdf_input": false,
@@ -1701,7 +1701,7 @@
1701
1701
  },
1702
1702
  "mistralai/mistral-nemo": {
1703
1703
  "context_window": 131072,
1704
- "max_output_tokens": 131072,
1704
+ "max_output_tokens": 16384,
1705
1705
  "supports_image_input": false,
1706
1706
  "supports_pdf_input": false,
1707
1707
  "supports_reasoning": false
@@ -1735,7 +1735,7 @@
1735
1735
  "supports_reasoning": false
1736
1736
  },
1737
1737
  "mistralai/mistral-small-3.2-24b-instruct": {
1738
- "context_window": 128000,
1738
+ "context_window": 131072,
1739
1739
  "max_output_tokens": 16384,
1740
1740
  "supports_image_input": true,
1741
1741
  "supports_pdf_input": false,
@@ -1777,8 +1777,8 @@
1777
1777
  "supports_reasoning": true
1778
1778
  },
1779
1779
  "moonshotai/kimi-k2.5": {
1780
- "context_window": 256000,
1781
- "max_output_tokens": 256000,
1780
+ "context_window": 262144,
1781
+ "max_output_tokens": 262144,
1782
1782
  "supports_image_input": true,
1783
1783
  "supports_pdf_input": false,
1784
1784
  "supports_reasoning": true
@@ -1797,6 +1797,13 @@
1797
1797
  "supports_pdf_input": false,
1798
1798
  "supports_reasoning": true
1799
1799
  },
1800
+ "moonshotai/kimi-k3": {
1801
+ "context_window": 1048576,
1802
+ "max_output_tokens": 1048576,
1803
+ "supports_image_input": true,
1804
+ "supports_pdf_input": false,
1805
+ "supports_reasoning": true
1806
+ },
1800
1807
  "morph/morph-v3-fast": {
1801
1808
  "context_window": 81920,
1802
1809
  "max_output_tokens": 38000,
@@ -1860,13 +1867,6 @@
1860
1867
  "supports_pdf_input": false,
1861
1868
  "supports_reasoning": true
1862
1869
  },
1863
- "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
1864
- "context_window": 131072,
1865
- "max_output_tokens": 16384,
1866
- "supports_image_input": false,
1867
- "supports_pdf_input": false,
1868
- "supports_reasoning": true
1869
- },
1870
1870
  "nvidia/nemotron-3-nano-30b-a3b": {
1871
1871
  "context_window": 262144,
1872
1872
  "max_output_tokens": 228000,
@@ -1889,21 +1889,21 @@
1889
1889
  "supports_reasoning": true
1890
1890
  },
1891
1891
  "nvidia/nemotron-3-super-120b-a12b": {
1892
- "context_window": 262144,
1892
+ "context_window": 1000000,
1893
1893
  "max_output_tokens": 16384,
1894
1894
  "supports_image_input": false,
1895
1895
  "supports_pdf_input": false,
1896
1896
  "supports_reasoning": true
1897
1897
  },
1898
1898
  "nvidia/nemotron-3-super-120b-a12b:free": {
1899
- "context_window": 262144,
1899
+ "context_window": 1000000,
1900
1900
  "max_output_tokens": 262144,
1901
1901
  "supports_image_input": false,
1902
1902
  "supports_pdf_input": false,
1903
1903
  "supports_reasoning": true
1904
1904
  },
1905
1905
  "nvidia/nemotron-3-ultra-550b-a55b": {
1906
- "context_window": 262144,
1906
+ "context_window": 1000000,
1907
1907
  "max_output_tokens": 16384,
1908
1908
  "supports_image_input": false,
1909
1909
  "supports_pdf_input": false,
@@ -2128,7 +2128,7 @@
2128
2128
  },
2129
2129
  "openai/gpt-5.1-chat": {
2130
2130
  "context_window": 128000,
2131
- "max_output_tokens": 32000,
2131
+ "max_output_tokens": 16384,
2132
2132
  "supports_image_input": true,
2133
2133
  "supports_pdf_input": true,
2134
2134
  "supports_reasoning": false
@@ -2315,13 +2315,6 @@
2315
2315
  "supports_pdf_input": false,
2316
2316
  "supports_reasoning": true
2317
2317
  },
2318
- "openai/gpt-oss-120b:free": {
2319
- "context_window": 131072,
2320
- "max_output_tokens": 131072,
2321
- "supports_image_input": false,
2322
- "supports_pdf_input": false,
2323
- "supports_reasoning": true
2324
- },
2325
2318
  "openai/gpt-oss-20b": {
2326
2319
  "context_window": 131072,
2327
2320
  "max_output_tokens": 131072,
@@ -2519,21 +2512,21 @@
2519
2512
  "supports_reasoning": true
2520
2513
  },
2521
2514
  "qwen/qwen-2.5-72b-instruct": {
2522
- "context_window": 32768,
2515
+ "context_window": 131072,
2523
2516
  "max_output_tokens": 16384,
2524
2517
  "supports_image_input": false,
2525
2518
  "supports_pdf_input": false,
2526
2519
  "supports_reasoning": false
2527
2520
  },
2528
2521
  "qwen/qwen-2.5-7b-instruct": {
2529
- "context_window": 32768,
2522
+ "context_window": 131072,
2530
2523
  "max_output_tokens": 32768,
2531
2524
  "supports_image_input": false,
2532
2525
  "supports_pdf_input": false,
2533
2526
  "supports_reasoning": false
2534
2527
  },
2535
2528
  "qwen/qwen-2.5-coder-32b-instruct": {
2536
- "context_window": 32768,
2529
+ "context_window": 128000,
2537
2530
  "max_output_tokens": 32768,
2538
2531
  "supports_image_input": false,
2539
2532
  "supports_pdf_input": false,
@@ -2561,15 +2554,15 @@
2561
2554
  "supports_reasoning": true
2562
2555
  },
2563
2556
  "qwen/qwen2.5-vl-72b-instruct": {
2564
- "context_window": 128000,
2557
+ "context_window": 131072,
2565
2558
  "max_output_tokens": 128000,
2566
2559
  "supports_image_input": true,
2567
2560
  "supports_pdf_input": false,
2568
2561
  "supports_reasoning": false
2569
2562
  },
2570
2563
  "qwen/qwen3-14b": {
2571
- "context_window": 40960,
2572
- "max_output_tokens": 40960,
2564
+ "context_window": 131702,
2565
+ "max_output_tokens": 8192,
2573
2566
  "supports_image_input": false,
2574
2567
  "supports_pdf_input": false,
2575
2568
  "supports_reasoning": true
@@ -2589,35 +2582,35 @@
2589
2582
  "supports_reasoning": false
2590
2583
  },
2591
2584
  "qwen/qwen3-235b-a22b-thinking-2507": {
2592
- "context_window": 131072,
2585
+ "context_window": 262144,
2593
2586
  "max_output_tokens": 262144,
2594
2587
  "supports_image_input": false,
2595
2588
  "supports_pdf_input": false,
2596
2589
  "supports_reasoning": true
2597
2590
  },
2598
2591
  "qwen/qwen3-30b-a3b": {
2599
- "context_window": 40960,
2600
- "max_output_tokens": 16384,
2592
+ "context_window": 131072,
2593
+ "max_output_tokens": 8192,
2601
2594
  "supports_image_input": false,
2602
2595
  "supports_pdf_input": false,
2603
2596
  "supports_reasoning": true
2604
2597
  },
2605
2598
  "qwen/qwen3-30b-a3b-instruct-2507": {
2606
- "context_window": 128000,
2599
+ "context_window": 262144,
2607
2600
  "max_output_tokens": 32000,
2608
2601
  "supports_image_input": false,
2609
2602
  "supports_pdf_input": false,
2610
2603
  "supports_reasoning": false
2611
2604
  },
2612
2605
  "qwen/qwen3-30b-a3b-thinking-2507": {
2613
- "context_window": 81920,
2606
+ "context_window": 131072,
2614
2607
  "max_output_tokens": 32768,
2615
2608
  "supports_image_input": false,
2616
2609
  "supports_pdf_input": false,
2617
2610
  "supports_reasoning": true
2618
2611
  },
2619
2612
  "qwen/qwen3-32b": {
2620
- "context_window": 40960,
2613
+ "context_window": 131072,
2621
2614
  "max_output_tokens": 16384,
2622
2615
  "supports_image_input": false,
2623
2616
  "supports_pdf_input": false,
@@ -2631,7 +2624,7 @@
2631
2624
  "supports_reasoning": true
2632
2625
  },
2633
2626
  "qwen/qwen3-coder": {
2634
- "context_window": 262144,
2627
+ "context_window": 1048576,
2635
2628
  "max_output_tokens": 65536,
2636
2629
  "supports_image_input": false,
2637
2630
  "supports_pdf_input": false,
@@ -2666,7 +2659,7 @@
2666
2659
  "supports_reasoning": false
2667
2660
  },
2668
2661
  "qwen/qwen3-coder:free": {
2669
- "context_window": 262000,
2662
+ "context_window": 1048576,
2670
2663
  "max_output_tokens": 262000,
2671
2664
  "supports_image_input": false,
2672
2665
  "supports_pdf_input": false,
@@ -2688,7 +2681,7 @@
2688
2681
  },
2689
2682
  "qwen/qwen3-next-80b-a3b-instruct": {
2690
2683
  "context_window": 262144,
2691
- "max_output_tokens": 16384,
2684
+ "max_output_tokens": 262144,
2692
2685
  "supports_image_input": false,
2693
2686
  "supports_pdf_input": false,
2694
2687
  "supports_reasoning": false
@@ -2701,15 +2694,15 @@
2701
2694
  "supports_reasoning": false
2702
2695
  },
2703
2696
  "qwen/qwen3-next-80b-a3b-thinking": {
2704
- "context_window": 131072,
2697
+ "context_window": 262144,
2705
2698
  "max_output_tokens": 32768,
2706
2699
  "supports_image_input": false,
2707
2700
  "supports_pdf_input": false,
2708
2701
  "supports_reasoning": true
2709
2702
  },
2710
2703
  "qwen/qwen3-vl-235b-a22b-instruct": {
2711
- "context_window": 262144,
2712
- "max_output_tokens": 16384,
2704
+ "context_window": 131072,
2705
+ "max_output_tokens": 32768,
2713
2706
  "supports_image_input": true,
2714
2707
  "supports_pdf_input": false,
2715
2708
  "supports_reasoning": false
@@ -2722,7 +2715,7 @@
2722
2715
  "supports_reasoning": true
2723
2716
  },
2724
2717
  "qwen/qwen3-vl-30b-a3b-instruct": {
2725
- "context_window": 131072,
2718
+ "context_window": 262144,
2726
2719
  "max_output_tokens": 32768,
2727
2720
  "supports_image_input": true,
2728
2721
  "supports_pdf_input": false,
@@ -2736,21 +2729,21 @@
2736
2729
  "supports_reasoning": true
2737
2730
  },
2738
2731
  "qwen/qwen3-vl-32b-instruct": {
2739
- "context_window": 131072,
2732
+ "context_window": 262144,
2740
2733
  "max_output_tokens": 32768,
2741
2734
  "supports_image_input": true,
2742
2735
  "supports_pdf_input": false,
2743
2736
  "supports_reasoning": false
2744
2737
  },
2745
2738
  "qwen/qwen3-vl-8b-instruct": {
2746
- "context_window": 131072,
2739
+ "context_window": 256000,
2747
2740
  "max_output_tokens": 32768,
2748
2741
  "supports_image_input": true,
2749
2742
  "supports_pdf_input": false,
2750
2743
  "supports_reasoning": false
2751
2744
  },
2752
2745
  "qwen/qwen3-vl-8b-thinking": {
2753
- "context_window": 131072,
2746
+ "context_window": 256000,
2754
2747
  "max_output_tokens": 32768,
2755
2748
  "supports_image_input": true,
2756
2749
  "supports_pdf_input": false,
@@ -2758,28 +2751,28 @@
2758
2751
  },
2759
2752
  "qwen/qwen3.5-122b-a10b": {
2760
2753
  "context_window": 262144,
2761
- "max_output_tokens": 262144,
2754
+ "max_output_tokens": 65536,
2762
2755
  "supports_image_input": true,
2763
2756
  "supports_pdf_input": false,
2764
2757
  "supports_reasoning": true
2765
2758
  },
2766
2759
  "qwen/qwen3.5-27b": {
2767
2760
  "context_window": 262144,
2768
- "max_output_tokens": 65536,
2761
+ "max_output_tokens": 81920,
2769
2762
  "supports_image_input": true,
2770
2763
  "supports_pdf_input": false,
2771
2764
  "supports_reasoning": true
2772
2765
  },
2773
2766
  "qwen/qwen3.5-35b-a3b": {
2774
2767
  "context_window": 262144,
2775
- "max_output_tokens": 81920,
2768
+ "max_output_tokens": 262144,
2776
2769
  "supports_image_input": true,
2777
2770
  "supports_pdf_input": false,
2778
2771
  "supports_reasoning": true
2779
2772
  },
2780
2773
  "qwen/qwen3.5-397b-a17b": {
2781
- "context_window": 131072,
2782
- "max_output_tokens": 64000,
2774
+ "context_window": 262144,
2775
+ "max_output_tokens": 65536,
2783
2776
  "supports_image_input": true,
2784
2777
  "supports_pdf_input": false,
2785
2778
  "supports_reasoning": true
@@ -2813,8 +2806,8 @@
2813
2806
  "supports_reasoning": true
2814
2807
  },
2815
2808
  "qwen/qwen3.6-27b": {
2816
- "context_window": 262140,
2817
- "max_output_tokens": 262140,
2809
+ "context_window": 262144,
2810
+ "max_output_tokens": 65536,
2818
2811
  "supports_image_input": true,
2819
2812
  "supports_pdf_input": false,
2820
2813
  "supports_reasoning": true
@@ -2903,13 +2896,6 @@
2903
2896
  "supports_pdf_input": false,
2904
2897
  "supports_reasoning": false
2905
2898
  },
2906
- "sao10k/l3.1-70b-hanami-x1": {
2907
- "context_window": 16000,
2908
- "max_output_tokens": 16000,
2909
- "supports_image_input": false,
2910
- "supports_pdf_input": false,
2911
- "supports_reasoning": false
2912
- },
2913
2899
  "sao10k/l3.1-euryale-70b": {
2914
2900
  "context_window": 131072,
2915
2901
  "max_output_tokens": 16384,
@@ -2994,6 +2980,13 @@
2994
2980
  "supports_pdf_input": false,
2995
2981
  "supports_reasoning": false
2996
2982
  },
2983
+ "thinkingmachines/inkling": {
2984
+ "context_window": 1048576,
2985
+ "max_output_tokens": 1048576,
2986
+ "supports_image_input": true,
2987
+ "supports_pdf_input": false,
2988
+ "supports_reasoning": true
2989
+ },
2997
2990
  "undi95/remm-slerp-l2-13b": {
2998
2991
  "context_window": 6144,
2999
2992
  "max_output_tokens": 4096,
@@ -3107,36 +3100,36 @@
3107
3100
  "supports_reasoning": true
3108
3101
  },
3109
3102
  "z-ai/glm-4.7-flash": {
3110
- "context_window": 202752,
3111
- "max_output_tokens": 16384,
3103
+ "context_window": 200000,
3104
+ "max_output_tokens": 131072,
3112
3105
  "supports_image_input": false,
3113
3106
  "supports_pdf_input": false,
3114
3107
  "supports_reasoning": true
3115
3108
  },
3116
3109
  "z-ai/glm-5": {
3117
3110
  "context_window": 202752,
3118
- "max_output_tokens": 128000,
3111
+ "max_output_tokens": 202752,
3119
3112
  "supports_image_input": false,
3120
3113
  "supports_pdf_input": false,
3121
3114
  "supports_reasoning": true
3122
3115
  },
3123
3116
  "z-ai/glm-5-turbo": {
3124
- "context_window": 262144,
3117
+ "context_window": 202752,
3125
3118
  "max_output_tokens": 131072,
3126
3119
  "supports_image_input": false,
3127
3120
  "supports_pdf_input": false,
3128
3121
  "supports_reasoning": true
3129
3122
  },
3130
3123
  "z-ai/glm-5.1": {
3131
- "context_window": 200000,
3124
+ "context_window": 202752,
3132
3125
  "max_output_tokens": 128000,
3133
3126
  "supports_image_input": false,
3134
3127
  "supports_pdf_input": false,
3135
3128
  "supports_reasoning": true
3136
3129
  },
3137
3130
  "z-ai/glm-5.2": {
3138
- "context_window": 101376,
3139
- "max_output_tokens": 101376,
3131
+ "context_window": 1048576,
3132
+ "max_output_tokens": 131072,
3140
3133
  "supports_image_input": false,
3141
3134
  "supports_pdf_input": false,
3142
3135
  "supports_reasoning": true
@@ -3191,7 +3184,7 @@
3191
3184
  "supports_reasoning": true
3192
3185
  },
3193
3186
  "~moonshotai/kimi-latest": {
3194
- "context_window": 262144,
3187
+ "context_window": 1048576,
3195
3188
  "max_output_tokens": 262144,
3196
3189
  "supports_image_input": true,
3197
3190
  "supports_pdf_input": false,
@@ -3219,6 +3212,71 @@
3219
3212
  "supports_reasoning": true
3220
3213
  }
3221
3214
  },
3215
+ "xai": {
3216
+ "grok-4.20-0309-non-reasoning": {
3217
+ "context_window": 1000000,
3218
+ "max_output_tokens": 30000,
3219
+ "supports_image_input": true,
3220
+ "supports_pdf_input": true,
3221
+ "supports_reasoning": false
3222
+ },
3223
+ "grok-4.20-0309-reasoning": {
3224
+ "context_window": 1000000,
3225
+ "max_output_tokens": 30000,
3226
+ "supports_image_input": true,
3227
+ "supports_pdf_input": true,
3228
+ "supports_reasoning": true
3229
+ },
3230
+ "grok-4.20-multi-agent-0309": {
3231
+ "context_window": 1000000,
3232
+ "max_output_tokens": 30000,
3233
+ "supports_image_input": true,
3234
+ "supports_pdf_input": true,
3235
+ "supports_reasoning": true
3236
+ },
3237
+ "grok-4.3": {
3238
+ "context_window": 1000000,
3239
+ "max_output_tokens": 30000,
3240
+ "supports_image_input": true,
3241
+ "supports_pdf_input": true,
3242
+ "supports_reasoning": true
3243
+ },
3244
+ "grok-4.5": {
3245
+ "context_window": 500000,
3246
+ "max_output_tokens": 500000,
3247
+ "supports_image_input": true,
3248
+ "supports_pdf_input": true,
3249
+ "supports_reasoning": true
3250
+ },
3251
+ "grok-build-0.1": {
3252
+ "context_window": 256000,
3253
+ "max_output_tokens": 256000,
3254
+ "supports_image_input": true,
3255
+ "supports_pdf_input": true,
3256
+ "supports_reasoning": true
3257
+ },
3258
+ "grok-imagine-image": {
3259
+ "context_window": 8000,
3260
+ "max_output_tokens": 0,
3261
+ "supports_image_input": true,
3262
+ "supports_pdf_input": true,
3263
+ "supports_reasoning": false
3264
+ },
3265
+ "grok-imagine-image-quality": {
3266
+ "context_window": 8000,
3267
+ "max_output_tokens": 0,
3268
+ "supports_image_input": true,
3269
+ "supports_pdf_input": true,
3270
+ "supports_reasoning": false
3271
+ },
3272
+ "grok-imagine-video": {
3273
+ "context_window": 1024,
3274
+ "max_output_tokens": 0,
3275
+ "supports_image_input": true,
3276
+ "supports_pdf_input": true,
3277
+ "supports_reasoning": false
3278
+ }
3279
+ },
3222
3280
  "zai": {
3223
3281
  "glm-4.5": {
3224
3282
  "context_window": 131072,
@@ -5,7 +5,13 @@ from __future__ import annotations
5
5
  from mycode.providers.anthropic_like import AnthropicAdapter, MiniMaxAdapter, MoonshotAIAdapter
6
6
  from mycode.providers.base import ProviderAdapter
7
7
  from mycode.providers.gemini import GoogleGeminiAdapter
8
- from mycode.providers.openai_chat import DeepSeekAdapter, OpenAIChatAdapter, OpenRouterAdapter, ZAIAdapter
8
+ from mycode.providers.openai_chat import (
9
+ DeepSeekAdapter,
10
+ OpenAIChatAdapter,
11
+ OpenRouterAdapter,
12
+ XAIAdapter,
13
+ ZAIAdapter,
14
+ )
9
15
  from mycode.providers.openai_responses import OpenAIResponsesAdapter
10
16
 
11
17
  _PROVIDERS: dict[str, ProviderAdapter] = {
@@ -19,6 +25,7 @@ _PROVIDERS: dict[str, ProviderAdapter] = {
19
25
  MoonshotAIAdapter(),
20
26
  MiniMaxAdapter(),
21
27
  OpenRouterAdapter(),
28
+ XAIAdapter(),
22
29
  OpenAIChatAdapter(),
23
30
  )
24
31
  }
@@ -75,6 +82,7 @@ __all__ = [
75
82
  "OpenAIChatAdapter",
76
83
  "OpenAIResponsesAdapter",
77
84
  "OpenRouterAdapter",
85
+ "XAIAdapter",
78
86
  "ZAIAdapter",
79
87
  "get_provider_adapter",
80
88
  "list_env_discoverable_providers",
@@ -361,20 +361,26 @@ class MoonshotAIAdapter(AnthropicLikeAdapter):
361
361
  label = "Moonshot"
362
362
  default_base_url = "https://api.moonshot.ai/anthropic"
363
363
  env_api_key_names = ("MOONSHOT_API_KEY",)
364
- default_models = ("kimi-k2.7-code", "kimi-k2.6")
364
+ default_models = ("kimi-k3", "kimi-k2.6")
365
365
  supports_reasoning_effort = True
366
366
 
367
367
  @override
368
368
  def thinking_config(self, request: ProviderRequest) -> dict[str, Any] | None:
369
369
  if not request.reasoning_effort:
370
370
  return None
371
+ if request.model.lower() == "kimi-k3":
372
+ return {"type": "adaptive"}
371
373
  if request.reasoning_effort == "none" and request.model.lower() != "kimi-k2.7-code":
372
374
  return {"type": "disabled"}
373
375
  return {"type": "adaptive"}
374
376
 
375
377
  @override
376
378
  def output_config(self, request: ProviderRequest) -> dict[str, Any] | None:
377
- if not request.reasoning_effort or request.reasoning_effort == "none":
379
+ if not request.reasoning_effort:
380
+ return None
381
+ if request.model.lower() == "kimi-k3":
382
+ return {"effort": "max"}
383
+ if request.reasoning_effort == "none":
378
384
  return None
379
385
  return {"effort": request.reasoning_effort}
380
386
 
@@ -161,8 +161,13 @@ class OpenAIChatAdapter(ProviderAdapter):
161
161
  return omit_none(payload)
162
162
 
163
163
  def _build_provider_payload_overrides(self, request: ProviderRequest) -> dict[str, Any]:
164
- del request
165
- return {}
164
+ # Forward the standard top-level reasoning_effort, clamped to the
165
+ # low/medium/high range these models accept: "none" floors to "low"
166
+ # (no off switch), "auto" (None) stays unset.
167
+ effort = {"none": "low", "low": "low", "medium": "medium", "high": "high", "xhigh": "high"}.get(
168
+ request.reasoning_effort or ""
169
+ )
170
+ return {"reasoning_effort": effort} if effort else {}
166
171
 
167
172
  def _serialize_tool(self, tool: dict[str, Any]) -> dict[str, Any]:
168
173
  return {
@@ -369,6 +374,24 @@ class ZAIAdapter(OpenAIChatAdapter):
369
374
  return payload
370
375
 
371
376
 
377
+ class XAIAdapter(OpenAIChatAdapter):
378
+ """xAI's OpenAI-compatible Chat Completions endpoint.
379
+
380
+ Grok reasoning models take the standard top-level ``reasoning_effort``
381
+ (``low``/``medium``/``high``), handled by the shared base mapping.
382
+ Reasoning cannot be disabled, so ``none`` maps to ``low`` and ``xhigh``
383
+ clamps to ``high``.
384
+ """
385
+
386
+ provider_id = "xai"
387
+ label = "xAI"
388
+ default_base_url = "https://api.x.ai/v1"
389
+ env_api_key_names = ("XAI_API_KEY",)
390
+ default_models = ("grok-4.5",)
391
+ auto_discoverable = True
392
+ supports_reasoning_effort = True
393
+
394
+
372
395
  class OpenRouterAdapter(OpenAIChatAdapter):
373
396
  """OpenRouter's OpenAI-compatible chat endpoint."""
374
397
 
File without changes
File without changes
File without changes