@theokit/sdk 5.9.0 → 5.9.2

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 (168) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/dist/{agent-6STOEBGQ.js → agent-GZVZXKME.js} +18 -17
  3. package/dist/{agent-6STOEBGQ.js.map → agent-GZVZXKME.js.map} +1 -1
  4. package/dist/{agent-ZM4FDDL7.cjs → agent-WQ4LLTSY.cjs} +19 -18
  5. package/dist/{agent-ZM4FDDL7.cjs.map → agent-WQ4LLTSY.cjs.map} +1 -1
  6. package/dist/agent-session-store-ODD3IZCW.js +6 -0
  7. package/dist/{agent-session-store-AFML3AXC.js.map → agent-session-store-ODD3IZCW.js.map} +1 -1
  8. package/dist/agent-session-store-SVEJHSUA.cjs +23 -0
  9. package/dist/{agent-session-store-MTSIY3MH.cjs.map → agent-session-store-SVEJHSUA.cjs.map} +1 -1
  10. package/dist/auth/index.cjs +8 -7
  11. package/dist/auth/index.cjs.map +1 -1
  12. package/dist/auth/index.js +3 -2
  13. package/dist/auth/index.js.map +1 -1
  14. package/dist/{chunk-TC4RWP3Y.js → chunk-47Z6LP3I.js} +3 -3
  15. package/dist/{chunk-TC4RWP3Y.js.map → chunk-47Z6LP3I.js.map} +1 -1
  16. package/dist/{chunk-DDRX4LYS.js → chunk-7QJYKVP6.js} +3 -3
  17. package/dist/{chunk-DDRX4LYS.js.map → chunk-7QJYKVP6.js.map} +1 -1
  18. package/dist/{chunk-TTBIQTO5.cjs → chunk-DLUCTZ56.cjs} +15 -15
  19. package/dist/{chunk-TTBIQTO5.cjs.map → chunk-DLUCTZ56.cjs.map} +1 -1
  20. package/dist/chunk-EHD25JBZ.cjs +10 -0
  21. package/dist/chunk-EHD25JBZ.cjs.map +1 -0
  22. package/dist/{chunk-NOO6GZTZ.js → chunk-EVH3OUMY.js} +13 -12
  23. package/dist/chunk-EVH3OUMY.js.map +1 -0
  24. package/dist/{chunk-5522X223.js → chunk-EXI7EHDN.js} +4 -4
  25. package/dist/{chunk-5522X223.js.map → chunk-EXI7EHDN.js.map} +1 -1
  26. package/dist/{chunk-PSLCVSCS.cjs → chunk-FR6COQXZ.cjs} +6 -6
  27. package/dist/{chunk-PSLCVSCS.cjs.map → chunk-FR6COQXZ.cjs.map} +1 -1
  28. package/dist/{chunk-JOFVLOFY.js → chunk-FTZTZBCU.js} +12 -4
  29. package/dist/chunk-FTZTZBCU.js.map +1 -0
  30. package/dist/{chunk-HOHR75KF.js → chunk-HI3W37FY.js} +4 -3
  31. package/dist/chunk-HI3W37FY.js.map +1 -0
  32. package/dist/chunk-HU666T3Q.cjs +1891 -0
  33. package/dist/chunk-HU666T3Q.cjs.map +1 -0
  34. package/dist/{chunk-53RDNK3H.js → chunk-I2ORT6QD.js} +3 -3
  35. package/dist/{chunk-53RDNK3H.js.map → chunk-I2ORT6QD.js.map} +1 -1
  36. package/dist/{chunk-BM6PDJW3.cjs → chunk-JU76WCW7.cjs} +113 -112
  37. package/dist/chunk-JU76WCW7.cjs.map +1 -0
  38. package/dist/{chunk-J4SA2ZEJ.cjs → chunk-KIKKTW5O.cjs} +4 -4
  39. package/dist/{chunk-J4SA2ZEJ.cjs.map → chunk-KIKKTW5O.cjs.map} +1 -1
  40. package/dist/{chunk-5WR33BHA.cjs → chunk-KXKT3HSD.cjs} +4 -4
  41. package/dist/{chunk-5WR33BHA.cjs.map → chunk-KXKT3HSD.cjs.map} +1 -1
  42. package/dist/{chunk-UKBBYVNS.js → chunk-M2CCHC66.js} +3 -3
  43. package/dist/{chunk-UKBBYVNS.js.map → chunk-M2CCHC66.js.map} +1 -1
  44. package/dist/{chunk-OCEQ6DW2.cjs → chunk-N6OEX5TN.cjs} +2 -2
  45. package/dist/chunk-N6OEX5TN.cjs.map +1 -0
  46. package/dist/{chunk-QDQQYRJI.js → chunk-N7KYUNFO.js} +3 -3
  47. package/dist/{chunk-QDQQYRJI.js.map → chunk-N7KYUNFO.js.map} +1 -1
  48. package/dist/{chunk-7GDHFV2M.js → chunk-OPAKPEPG.js} +2 -2
  49. package/dist/chunk-OPAKPEPG.js.map +1 -0
  50. package/dist/{chunk-UNZOJVVC.js → chunk-OZLQ6ZFM.js} +3 -3
  51. package/dist/{chunk-UNZOJVVC.js.map → chunk-OZLQ6ZFM.js.map} +1 -1
  52. package/dist/{chunk-PYFBS6OQ.js → chunk-PEIV7LOU.js} +22 -21
  53. package/dist/chunk-PEIV7LOU.js.map +1 -0
  54. package/dist/chunk-Q7GYMXVC.js +8 -0
  55. package/dist/chunk-Q7GYMXVC.js.map +1 -0
  56. package/dist/{chunk-ARMFXTY6.cjs → chunk-QY3CIMUV.cjs} +34 -33
  57. package/dist/chunk-QY3CIMUV.cjs.map +1 -0
  58. package/dist/{chunk-B3XXQX6L.cjs → chunk-RX3CFWQ2.cjs} +6 -6
  59. package/dist/{chunk-B3XXQX6L.cjs.map → chunk-RX3CFWQ2.cjs.map} +1 -1
  60. package/dist/chunk-SGC7LSHF.cjs +18 -0
  61. package/dist/{chunk-R3ZQBPA5.cjs.map → chunk-SGC7LSHF.cjs.map} +1 -1
  62. package/dist/{chunk-RA7IE4NK.cjs → chunk-SKDNCTXG.cjs} +4 -3
  63. package/dist/chunk-SKDNCTXG.cjs.map +1 -0
  64. package/dist/chunk-SVCPJRUB.js +1874 -0
  65. package/dist/chunk-SVCPJRUB.js.map +1 -0
  66. package/dist/{chunk-EJROML3Q.js → chunk-TX56N7FR.js} +4 -3
  67. package/dist/chunk-TX56N7FR.js.map +1 -0
  68. package/dist/{chunk-76PIKR4P.cjs → chunk-VZ2JZ2EH.cjs} +5 -5
  69. package/dist/{chunk-76PIKR4P.cjs.map → chunk-VZ2JZ2EH.cjs.map} +1 -1
  70. package/dist/{chunk-T5KOSR5Y.cjs → chunk-X7Z2FEI7.cjs} +8 -8
  71. package/dist/{chunk-T5KOSR5Y.cjs.map → chunk-X7Z2FEI7.cjs.map} +1 -1
  72. package/dist/{chunk-2WXHA33T.js → chunk-XERM7PDQ.js} +3 -3
  73. package/dist/{chunk-2WXHA33T.js.map → chunk-XERM7PDQ.js.map} +1 -1
  74. package/dist/{chunk-KTA7YTZQ.cjs → chunk-XKZFIP7Z.cjs} +4 -4
  75. package/dist/{chunk-KTA7YTZQ.cjs.map → chunk-XKZFIP7Z.cjs.map} +1 -1
  76. package/dist/{chunk-MEUBLCM4.cjs → chunk-YEHQ3SIC.cjs} +4 -3
  77. package/dist/chunk-YEHQ3SIC.cjs.map +1 -0
  78. package/dist/{chunk-YIFFF23U.cjs → chunk-ZAM7BJXJ.cjs} +5 -5
  79. package/dist/{chunk-YIFFF23U.cjs.map → chunk-ZAM7BJXJ.cjs.map} +1 -1
  80. package/dist/{chunk-R2C3HXR3.js → chunk-ZDF2IJKC.js} +3 -3
  81. package/dist/{chunk-R2C3HXR3.js.map → chunk-ZDF2IJKC.js.map} +1 -1
  82. package/dist/{chunk-PQCTDMUI.js → chunk-ZHWKT2NI.js} +3 -3
  83. package/dist/{chunk-PQCTDMUI.js.map → chunk-ZHWKT2NI.js.map} +1 -1
  84. package/dist/{chunk-GZV6AVRL.cjs → chunk-ZWACQM5U.cjs} +11 -3
  85. package/dist/chunk-ZWACQM5U.cjs.map +1 -0
  86. package/dist/{compact-session-RBPLUPCK.cjs → compact-session-4QHBBGEY.cjs} +16 -15
  87. package/dist/{compact-session-RBPLUPCK.cjs.map → compact-session-4QHBBGEY.cjs.map} +1 -1
  88. package/dist/{compact-session-2N3ZYJTW.js → compact-session-PVAWTKKL.js} +7 -6
  89. package/dist/{compact-session-2N3ZYJTW.js.map → compact-session-PVAWTKKL.js.map} +1 -1
  90. package/dist/context/index.cjs +6 -6
  91. package/dist/context/index.js +3 -3
  92. package/dist/context-3FZRAO5K.js +7 -0
  93. package/dist/{context-SXR2HLHT.js.map → context-3FZRAO5K.js.map} +1 -1
  94. package/dist/{context-ZOULM2RB.cjs → context-B5J4GX2F.cjs} +7 -7
  95. package/dist/{context-ZOULM2RB.cjs.map → context-B5J4GX2F.cjs.map} +1 -1
  96. package/dist/cron.cjs +18 -17
  97. package/dist/cron.js +17 -16
  98. package/dist/eval.cjs +17 -16
  99. package/dist/eval.cjs.map +1 -1
  100. package/dist/eval.js +16 -15
  101. package/dist/eval.js.map +1 -1
  102. package/dist/fs-session-store-LCZBM3LT.js +10 -0
  103. package/dist/{fs-session-store-STZZFXH2.js.map → fs-session-store-LCZBM3LT.js.map} +1 -1
  104. package/dist/{fs-session-store-JHBJFKVV.cjs → fs-session-store-SVEMRE4K.cjs} +5 -5
  105. package/dist/{fs-session-store-JHBJFKVV.cjs.map → fs-session-store-SVEMRE4K.cjs.map} +1 -1
  106. package/dist/{index-manager-ONQJSWX5.js → index-manager-6B2UF5S3.js} +5 -5
  107. package/dist/{index-manager-ONQJSWX5.js.map → index-manager-6B2UF5S3.js.map} +1 -1
  108. package/dist/{index-manager-ZGJN25FD.cjs → index-manager-M3FHJCHQ.cjs} +6 -6
  109. package/dist/{index-manager-ZGJN25FD.cjs.map → index-manager-M3FHJCHQ.cjs.map} +1 -1
  110. package/dist/index.cjs +58 -57
  111. package/dist/index.cjs.map +1 -1
  112. package/dist/index.d.cts +30 -3
  113. package/dist/index.d.ts +30 -3
  114. package/dist/index.js +21 -20
  115. package/dist/index.js.map +1 -1
  116. package/dist/{inject-session-YNNOE3O6.js → inject-session-O24XGRR6.js} +5 -5
  117. package/dist/{inject-session-YNNOE3O6.js.map → inject-session-O24XGRR6.js.map} +1 -1
  118. package/dist/{inject-session-3FPXJDJP.cjs → inject-session-OMLFL2V3.cjs} +7 -7
  119. package/dist/{inject-session-3FPXJDJP.cjs.map → inject-session-OMLFL2V3.cjs.map} +1 -1
  120. package/dist/internal/memory/adapters/index.cjs +3 -2
  121. package/dist/internal/memory/adapters/index.js +2 -1
  122. package/dist/internal/memory/storage/index.cjs +32 -32
  123. package/dist/internal/memory/storage/index.js +3 -3
  124. package/dist/internal/persistence/persistence-schema.d.cts +1 -1
  125. package/dist/internal/persistence/persistence-schema.d.ts +1 -1
  126. package/dist/internal/providers/catalog-loader.d.ts +30 -3
  127. package/dist/internal/runtime/hooks/hooks-source.d.ts +24 -0
  128. package/dist/internal/runtime-fetch.d.ts +1 -0
  129. package/dist/models.cjs +12 -11
  130. package/dist/models.cjs.map +1 -1
  131. package/dist/models.js +4 -3
  132. package/dist/models.js.map +1 -1
  133. package/dist/persistence.cjs +7 -7
  134. package/dist/persistence.js +2 -2
  135. package/dist/providers.cjs +6 -5
  136. package/dist/providers.js +4 -3
  137. package/dist/{session-transcript-VTBTCGQX.js → session-transcript-AR7IBICT.js} +3 -3
  138. package/dist/{session-transcript-VTBTCGQX.js.map → session-transcript-AR7IBICT.js.map} +1 -1
  139. package/dist/{session-transcript-LGHSNVY5.cjs → session-transcript-RACG7BK2.cjs} +16 -16
  140. package/dist/{session-transcript-LGHSNVY5.cjs.map → session-transcript-RACG7BK2.cjs.map} +1 -1
  141. package/dist/subscription/index.cjs +2 -1
  142. package/dist/subscription/index.cjs.map +1 -1
  143. package/dist/subscription/index.js +2 -1
  144. package/dist/subscription/index.js.map +1 -1
  145. package/docs/error-codes.md +16 -16
  146. package/package.json +2 -2
  147. package/dist/agent-session-store-AFML3AXC.js +0 -6
  148. package/dist/agent-session-store-MTSIY3MH.cjs +0 -23
  149. package/dist/chunk-7GDHFV2M.js.map +0 -1
  150. package/dist/chunk-ARMFXTY6.cjs.map +0 -1
  151. package/dist/chunk-BM6PDJW3.cjs.map +0 -1
  152. package/dist/chunk-EJROML3Q.js.map +0 -1
  153. package/dist/chunk-GZV6AVRL.cjs.map +0 -1
  154. package/dist/chunk-HOHR75KF.js.map +0 -1
  155. package/dist/chunk-JOFVLOFY.js.map +0 -1
  156. package/dist/chunk-MEUBLCM4.cjs.map +0 -1
  157. package/dist/chunk-MFZODA5Y.js +0 -583
  158. package/dist/chunk-MFZODA5Y.js.map +0 -1
  159. package/dist/chunk-NOO6GZTZ.js.map +0 -1
  160. package/dist/chunk-OCEQ6DW2.cjs.map +0 -1
  161. package/dist/chunk-PYFBS6OQ.js.map +0 -1
  162. package/dist/chunk-R3ZQBPA5.cjs +0 -18
  163. package/dist/chunk-RA7IE4NK.cjs.map +0 -1
  164. package/dist/chunk-YRJA2POB.cjs +0 -601
  165. package/dist/chunk-YRJA2POB.cjs.map +0 -1
  166. package/dist/context-SXR2HLHT.js +0 -7
  167. package/dist/fs-session-store-STZZFXH2.js +0 -10
  168. package/dist/provider-catalog.json +0 -1295
@@ -1,1295 +0,0 @@
1
- [
2
- {
3
- "id": "openai",
4
- "displayName": "OpenAI",
5
- "apiMode": "chat_completions",
6
- "authType": "api_key",
7
- "baseUrl": "https://api.openai.com/v1",
8
- "envVars": ["OPENAI_API_KEY"],
9
- "fallbackModels": ["gpt-4o-mini", "gpt-4o"],
10
- "capabilities": {
11
- "supportsToolUse": true,
12
- "supportsVision": true,
13
- "supportsStructuredOutput": true,
14
- "supportsStreaming": true,
15
- "supportsCacheControl": false
16
- },
17
- "aliases": ["openai", "openai-chatgpt"],
18
- "models": {
19
- "gpt-4o-mini": {
20
- "name": "GPT-4o mini",
21
- "release_date": "2024-07-18",
22
- "attachment": true,
23
- "reasoning": false,
24
- "temperature": true,
25
- "tool_call": true,
26
- "structured_output": true,
27
- "cost": {
28
- "input": 0.15,
29
- "output": 0.6,
30
- "cache_read": 0.075
31
- },
32
- "limit": {
33
- "context": 128000,
34
- "output": 16384
35
- },
36
- "modalities": {
37
- "input": ["text", "image"],
38
- "output": ["text"]
39
- },
40
- "cache_control": false
41
- },
42
- "gpt-4o": {
43
- "name": "GPT-4o",
44
- "release_date": "2024-05-13",
45
- "attachment": true,
46
- "reasoning": false,
47
- "temperature": true,
48
- "tool_call": true,
49
- "structured_output": true,
50
- "cost": {
51
- "input": 2.5,
52
- "output": 10,
53
- "cache_read": 1.25
54
- },
55
- "limit": {
56
- "context": 128000,
57
- "output": 16384
58
- },
59
- "modalities": {
60
- "input": ["text", "image"],
61
- "output": ["text"]
62
- },
63
- "cache_control": false
64
- },
65
- "gpt-4-turbo": {
66
- "name": "GPT-4 Turbo",
67
- "release_date": "2023-11-06",
68
- "attachment": true,
69
- "reasoning": false,
70
- "temperature": true,
71
- "tool_call": true,
72
- "structured_output": false,
73
- "cost": {
74
- "input": 10,
75
- "output": 30
76
- },
77
- "limit": {
78
- "context": 128000,
79
- "output": 4096
80
- },
81
- "modalities": {
82
- "input": ["text", "image"],
83
- "output": ["text"]
84
- },
85
- "cache_control": false
86
- },
87
- "o1": {
88
- "name": "o1",
89
- "release_date": "2024-12-05",
90
- "attachment": true,
91
- "reasoning": true,
92
- "temperature": false,
93
- "tool_call": true,
94
- "structured_output": true,
95
- "cost": {
96
- "input": 15,
97
- "output": 60,
98
- "cache_read": 7.5
99
- },
100
- "limit": {
101
- "context": 200000,
102
- "output": 100000
103
- },
104
- "modalities": {
105
- "input": ["text"],
106
- "output": ["text"]
107
- },
108
- "cache_control": false
109
- },
110
- "o3": {
111
- "name": "o3",
112
- "release_date": "2025-04-16",
113
- "attachment": true,
114
- "reasoning": true,
115
- "temperature": false,
116
- "tool_call": true,
117
- "structured_output": true,
118
- "cost": {
119
- "input": 2,
120
- "output": 8,
121
- "cache_read": 0.5
122
- },
123
- "limit": {
124
- "context": 200000,
125
- "output": 100000
126
- },
127
- "modalities": {
128
- "input": ["text"],
129
- "output": ["text"]
130
- },
131
- "cache_control": false
132
- },
133
- "gpt-4.1": {
134
- "name": "GPT-4.1",
135
- "release_date": "2025-04-14",
136
- "attachment": true,
137
- "reasoning": false,
138
- "temperature": true,
139
- "tool_call": true,
140
- "structured_output": true,
141
- "cost": {
142
- "input": 2,
143
- "output": 8,
144
- "cache_read": 0.5
145
- },
146
- "limit": {
147
- "context": 1047576,
148
- "output": 32768
149
- },
150
- "modalities": {
151
- "input": ["text", "image"],
152
- "output": ["text"]
153
- },
154
- "cache_control": false
155
- },
156
- "gpt-5.4": {
157
- "limit": {
158
- "context": 400000,
159
- "output": 128000
160
- }
161
- },
162
- "gpt-5.4-mini": {
163
- "limit": {
164
- "context": 400000,
165
- "output": 128000
166
- }
167
- },
168
- "gpt-5.3": {
169
- "limit": {
170
- "context": 400000,
171
- "output": 128000
172
- }
173
- },
174
- "gpt-5.2": {
175
- "limit": {
176
- "context": 400000,
177
- "output": 128000
178
- }
179
- }
180
- }
181
- },
182
- {
183
- "id": "anthropic",
184
- "displayName": "Anthropic",
185
- "apiMode": "anthropic_messages",
186
- "authType": "api_key",
187
- "baseUrl": "https://api.anthropic.com/v1",
188
- "envVars": ["ANTHROPIC_API_KEY"],
189
- "fallbackModels": ["claude-sonnet-4-20250514", "claude-3-5-haiku-latest"],
190
- "capabilities": {
191
- "supportsToolUse": true,
192
- "supportsVision": true,
193
- "supportsStructuredOutput": false,
194
- "supportsStreaming": true,
195
- "supportsCacheControl": true
196
- },
197
- "aliases": ["anthropic"],
198
- "models": {
199
- "claude-3-5-haiku-latest": {
200
- "tool_call": true,
201
- "structured_output": false,
202
- "cache_control": true,
203
- "modalities": {
204
- "input": ["text"]
205
- },
206
- "limit": {
207
- "context": 200000,
208
- "output": 8192
209
- }
210
- },
211
- "claude-opus-4-7": {
212
- "name": "Claude Opus 4.7",
213
- "release_date": "2026-04-14",
214
- "attachment": true,
215
- "reasoning": true,
216
- "temperature": false,
217
- "tool_call": true,
218
- "structured_output": true,
219
- "cost": {
220
- "input": 5,
221
- "output": 25,
222
- "cache_read": 0.5,
223
- "cache_write": 6.25
224
- },
225
- "limit": {
226
- "context": 1000000,
227
- "output": 128000
228
- },
229
- "modalities": {
230
- "input": ["text", "image", "pdf"],
231
- "output": ["text"]
232
- },
233
- "cache_control": true
234
- },
235
- "claude-sonnet-4-6": {
236
- "name": "Claude Sonnet 4.6",
237
- "release_date": "2026-02-17",
238
- "attachment": true,
239
- "reasoning": true,
240
- "temperature": true,
241
- "tool_call": true,
242
- "structured_output": true,
243
- "cost": {
244
- "input": 3,
245
- "output": 15,
246
- "cache_read": 0.3,
247
- "cache_write": 3.75
248
- },
249
- "limit": {
250
- "context": 1000000,
251
- "output": 128000
252
- },
253
- "modalities": {
254
- "input": ["text", "image", "pdf"],
255
- "output": ["text"]
256
- },
257
- "cache_control": true
258
- },
259
- "claude-haiku-4-5-20251001": {
260
- "name": "Claude Haiku 4.5",
261
- "release_date": "2025-10-15",
262
- "attachment": true,
263
- "reasoning": true,
264
- "temperature": true,
265
- "tool_call": true,
266
- "structured_output": true,
267
- "cost": {
268
- "input": 1,
269
- "output": 5,
270
- "cache_read": 0.1,
271
- "cache_write": 1.25
272
- },
273
- "limit": {
274
- "context": 200000,
275
- "output": 64000
276
- },
277
- "modalities": {
278
- "input": ["text", "image", "pdf"],
279
- "output": ["text"]
280
- },
281
- "cache_control": true
282
- },
283
- "claude-opus-4": {
284
- "tool_call": true,
285
- "structured_output": false,
286
- "cache_control": true,
287
- "modalities": {
288
- "input": ["text", "image"]
289
- },
290
- "limit": {
291
- "context": 200000,
292
- "output": 32000
293
- }
294
- },
295
- "claude-sonnet-4": {
296
- "tool_call": true,
297
- "structured_output": false,
298
- "cache_control": true,
299
- "modalities": {
300
- "input": ["text", "image"]
301
- },
302
- "limit": {
303
- "context": 200000,
304
- "output": 16000
305
- }
306
- },
307
- "claude-3-5-sonnet": {
308
- "tool_call": true,
309
- "structured_output": false,
310
- "cache_control": true,
311
- "modalities": {
312
- "input": ["text", "image"]
313
- },
314
- "limit": {
315
- "context": 200000,
316
- "output": 8192
317
- }
318
- },
319
- "claude-3-5-sonnet-latest": {
320
- "tool_call": true,
321
- "structured_output": false,
322
- "cache_control": true,
323
- "modalities": {
324
- "input": ["text", "image"]
325
- },
326
- "limit": {
327
- "context": 200000,
328
- "output": 8192
329
- }
330
- },
331
- "claude-3-haiku": {
332
- "tool_call": true,
333
- "structured_output": false,
334
- "cache_control": true,
335
- "modalities": {
336
- "input": ["text", "image"]
337
- },
338
- "limit": {
339
- "context": 200000,
340
- "output": 4096
341
- }
342
- },
343
- "claude-3-opus": {
344
- "tool_call": true,
345
- "structured_output": false,
346
- "cache_control": true,
347
- "modalities": {
348
- "input": ["text", "image"]
349
- },
350
- "limit": {
351
- "context": 200000,
352
- "output": 4096
353
- }
354
- },
355
- "claude-opus-4.1": {
356
- "tool_call": true,
357
- "structured_output": false,
358
- "cache_control": true,
359
- "modalities": {
360
- "input": ["text", "image"]
361
- },
362
- "limit": {
363
- "context": 200000,
364
- "output": 32000
365
- }
366
- },
367
- "claude-sonnet-4.5": {
368
- "tool_call": true,
369
- "structured_output": false,
370
- "cache_control": true,
371
- "modalities": {
372
- "input": ["text", "image"]
373
- },
374
- "limit": {
375
- "context": 200000,
376
- "output": 16000
377
- }
378
- },
379
- "claude-3.5-sonnet": {
380
- "tool_call": true,
381
- "structured_output": false,
382
- "cache_control": true,
383
- "modalities": {
384
- "input": ["text", "image"]
385
- },
386
- "limit": {
387
- "context": 200000,
388
- "output": 8192
389
- }
390
- }
391
- }
392
- },
393
- {
394
- "id": "openrouter",
395
- "displayName": "OpenRouter",
396
- "apiMode": "chat_completions",
397
- "authType": "api_key",
398
- "baseUrl": "https://openrouter.ai/api/v1",
399
- "envVars": ["OPENROUTER_API_KEY"],
400
- "fallbackModels": ["openai/gpt-4o-mini"],
401
- "capabilities": {
402
- "supportsToolUse": true,
403
- "supportsVision": true,
404
- "supportsStructuredOutput": true,
405
- "supportsStreaming": true,
406
- "supportsCacheControl": false
407
- },
408
- "aliases": ["openrouter"]
409
- },
410
- {
411
- "id": "groq",
412
- "displayName": "Groq",
413
- "apiMode": "chat_completions",
414
- "authType": "api_key",
415
- "baseUrl": "https://api.groq.com/openai/v1",
416
- "envVars": ["GROQ_API_KEY"],
417
- "fallbackModels": ["llama-3.3-70b-versatile"],
418
- "capabilities": {
419
- "supportsToolUse": true,
420
- "supportsVision": true,
421
- "supportsStructuredOutput": true,
422
- "supportsStreaming": true,
423
- "supportsCacheControl": false
424
- },
425
- "models": {
426
- "llama-3.3-70b-versatile": {
427
- "name": "Llama 3.3 70B",
428
- "release_date": "2024-12-06",
429
- "attachment": false,
430
- "reasoning": false,
431
- "temperature": true,
432
- "tool_call": true,
433
- "cost": {
434
- "input": 0.59,
435
- "output": 0.79
436
- },
437
- "limit": {
438
- "context": 131072,
439
- "output": 32768
440
- },
441
- "modalities": {
442
- "input": ["text"],
443
- "output": ["text"]
444
- }
445
- }
446
- }
447
- },
448
- {
449
- "id": "mistral",
450
- "displayName": "Mistral AI",
451
- "apiMode": "chat_completions",
452
- "authType": "api_key",
453
- "baseUrl": "https://api.mistral.ai/v1",
454
- "envVars": ["MISTRAL_API_KEY"],
455
- "fallbackModels": ["mistral-large-latest"],
456
- "capabilities": {
457
- "supportsToolUse": true,
458
- "supportsVision": true,
459
- "supportsStructuredOutput": true,
460
- "supportsStreaming": true,
461
- "supportsCacheControl": false
462
- },
463
- "models": {
464
- "mistral-large-latest": {
465
- "name": "Mistral Large (latest)",
466
- "release_date": "2024-11-01",
467
- "attachment": true,
468
- "reasoning": false,
469
- "temperature": true,
470
- "tool_call": true,
471
- "cost": {
472
- "input": 0.5,
473
- "output": 1.5
474
- },
475
- "limit": {
476
- "context": 262144,
477
- "output": 262144
478
- },
479
- "modalities": {
480
- "input": ["text", "image"],
481
- "output": ["text"]
482
- }
483
- }
484
- }
485
- },
486
- {
487
- "id": "deepseek",
488
- "displayName": "DeepSeek",
489
- "apiMode": "chat_completions",
490
- "authType": "api_key",
491
- "baseUrl": "https://api.deepseek.com/v1",
492
- "envVars": ["DEEPSEEK_API_KEY"],
493
- "fallbackModels": ["deepseek-chat"],
494
- "capabilities": {
495
- "supportsToolUse": true,
496
- "supportsVision": false,
497
- "supportsStructuredOutput": true,
498
- "supportsStreaming": true,
499
- "supportsCacheControl": false
500
- },
501
- "models": {
502
- "deepseek-chat": {
503
- "name": "DeepSeek Chat",
504
- "release_date": "2025-12-01",
505
- "attachment": true,
506
- "reasoning": false,
507
- "temperature": true,
508
- "tool_call": true,
509
- "cost": {
510
- "input": 0.14,
511
- "output": 0.28,
512
- "cache_read": 0.0028
513
- },
514
- "limit": {
515
- "context": 1000000,
516
- "output": 384000
517
- },
518
- "modalities": {
519
- "input": ["text"],
520
- "output": ["text"]
521
- }
522
- },
523
- "deepseek-v4-flash": {
524
- "name": "DeepSeek V4 Flash",
525
- "release_date": "2026-04-24",
526
- "attachment": false,
527
- "reasoning": true,
528
- "temperature": true,
529
- "tool_call": true,
530
- "structured_output": false,
531
- "cost": {
532
- "input": 0.14,
533
- "output": 0.28,
534
- "cache_read": 0.0028
535
- },
536
- "limit": {
537
- "context": 1048576,
538
- "output": 8000
539
- },
540
- "modalities": {
541
- "input": ["text"],
542
- "output": ["text"]
543
- },
544
- "cache_control": false
545
- },
546
- "deepseek-v3.2": {
547
- "tool_call": true,
548
- "structured_output": false,
549
- "cache_control": false,
550
- "modalities": {
551
- "input": ["text"]
552
- },
553
- "limit": {
554
- "context": 131072,
555
- "output": 8000
556
- }
557
- }
558
- }
559
- },
560
- {
561
- "id": "together",
562
- "displayName": "Together AI",
563
- "apiMode": "chat_completions",
564
- "authType": "api_key",
565
- "baseUrl": "https://api.together.xyz/v1",
566
- "envVars": ["TOGETHER_API_KEY"],
567
- "fallbackModels": ["meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"],
568
- "capabilities": {
569
- "supportsToolUse": true,
570
- "supportsVision": true,
571
- "supportsStructuredOutput": true,
572
- "supportsStreaming": true,
573
- "supportsCacheControl": false
574
- }
575
- },
576
- {
577
- "id": "fireworks",
578
- "displayName": "Fireworks AI",
579
- "apiMode": "chat_completions",
580
- "authType": "api_key",
581
- "baseUrl": "https://api.fireworks.ai/inference/v1",
582
- "envVars": ["FIREWORKS_API_KEY"],
583
- "fallbackModels": ["accounts/fireworks/models/llama-v3p1-70b-instruct"],
584
- "capabilities": {
585
- "supportsToolUse": true,
586
- "supportsVision": true,
587
- "supportsStructuredOutput": true,
588
- "supportsStreaming": true,
589
- "supportsCacheControl": false
590
- }
591
- },
592
- {
593
- "id": "google-gemini",
594
- "displayName": "Google Gemini",
595
- "apiMode": "chat_completions",
596
- "authType": "api_key",
597
- "baseUrl": "https://generativelanguage.googleapis.com/v1beta/openai",
598
- "envVars": ["GOOGLE_API_KEY", "GEMINI_API_KEY"],
599
- "fallbackModels": ["gemini-2.0-flash"],
600
- "capabilities": {
601
- "supportsToolUse": true,
602
- "supportsVision": true,
603
- "supportsStructuredOutput": true,
604
- "supportsStreaming": true,
605
- "supportsCacheControl": false
606
- },
607
- "aliases": ["gemini", "google"],
608
- "models": {
609
- "gemini-2.0-flash": {
610
- "name": "Gemini 2.0 Flash",
611
- "release_date": "2024-12-11",
612
- "attachment": true,
613
- "reasoning": false,
614
- "temperature": true,
615
- "tool_call": true,
616
- "structured_output": true,
617
- "cost": {
618
- "input": 0.1,
619
- "output": 0.4,
620
- "cache_read": 0.025
621
- },
622
- "limit": {
623
- "context": 1048576,
624
- "output": 8192
625
- },
626
- "modalities": {
627
- "input": ["text", "image", "audio", "video", "pdf"],
628
- "output": ["text"]
629
- },
630
- "status": "deprecated"
631
- },
632
- "gemini-2.5-flash-lite": {
633
- "name": "Gemini 2.5 Flash-Lite",
634
- "release_date": "2025-06-17",
635
- "attachment": true,
636
- "reasoning": true,
637
- "temperature": true,
638
- "tool_call": true,
639
- "structured_output": true,
640
- "cost": {
641
- "input": 0.1,
642
- "output": 0.4,
643
- "cache_read": 0.01
644
- },
645
- "limit": {
646
- "context": 1048576,
647
- "output": 8000
648
- },
649
- "modalities": {
650
- "input": ["text", "image"],
651
- "output": ["text"]
652
- },
653
- "cache_control": false
654
- },
655
- "gemini-2.5-pro": {
656
- "name": "Gemini 2.5 Pro",
657
- "release_date": "2025-06-17",
658
- "attachment": true,
659
- "reasoning": true,
660
- "temperature": true,
661
- "tool_call": true,
662
- "structured_output": true,
663
- "cost": {
664
- "input": 1.25,
665
- "output": 10,
666
- "cache_read": 0.125
667
- },
668
- "limit": {
669
- "context": 1048576,
670
- "output": 8000
671
- },
672
- "modalities": {
673
- "input": ["text", "image"],
674
- "output": ["text"]
675
- },
676
- "cache_control": false
677
- }
678
- }
679
- },
680
- {
681
- "id": "ollama",
682
- "displayName": "Ollama",
683
- "apiMode": "chat_completions",
684
- "authType": "none",
685
- "baseUrl": "http://localhost:11434/v1",
686
- "envVars": [],
687
- "fallbackModels": ["llama3.2"],
688
- "capabilities": {
689
- "supportsToolUse": true,
690
- "supportsVision": true,
691
- "supportsStructuredOutput": true,
692
- "supportsStreaming": true,
693
- "supportsCacheControl": false
694
- },
695
- "aliases": ["ollama"]
696
- },
697
- {
698
- "id": "lmstudio",
699
- "displayName": "LM Studio",
700
- "apiMode": "chat_completions",
701
- "authType": "none",
702
- "baseUrl": "http://localhost:1234/v1",
703
- "envVars": [],
704
- "fallbackModels": ["lmstudio-community/default"],
705
- "capabilities": {
706
- "supportsToolUse": true,
707
- "supportsVision": false,
708
- "supportsStructuredOutput": true,
709
- "supportsStreaming": true,
710
- "supportsCacheControl": false
711
- },
712
- "aliases": ["lmstudio"]
713
- },
714
- {
715
- "id": "llamacpp",
716
- "displayName": "llama.cpp",
717
- "apiMode": "chat_completions",
718
- "authType": "none",
719
- "baseUrl": "http://localhost:8080/v1",
720
- "envVars": [],
721
- "fallbackModels": ["default"],
722
- "capabilities": {
723
- "supportsToolUse": true,
724
- "supportsVision": false,
725
- "supportsStructuredOutput": false,
726
- "supportsStreaming": true,
727
- "supportsCacheControl": false
728
- },
729
- "aliases": ["llamacpp"]
730
- },
731
- {
732
- "id": "bedrock",
733
- "displayName": "AWS Bedrock",
734
- "apiMode": "bedrock",
735
- "authType": "aws_sdk",
736
- "baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com",
737
- "envVars": ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY"],
738
- "fallbackModels": ["anthropic.claude-3-5-sonnet-20241022-v2:0"],
739
- "capabilities": {
740
- "supportsToolUse": true,
741
- "supportsVision": true,
742
- "supportsStructuredOutput": false,
743
- "supportsStreaming": true,
744
- "supportsCacheControl": true
745
- },
746
- "aliases": ["bedrock"]
747
- },
748
- {
749
- "id": "vertex",
750
- "displayName": "Google Vertex AI",
751
- "apiMode": "chat_completions",
752
- "authType": "gcp_oauth",
753
- "baseUrl": "https://us-central1-aiplatform.googleapis.com/v1",
754
- "envVars": ["GOOGLE_APPLICATION_CREDENTIALS"],
755
- "fallbackModels": ["gemini-1.5-pro"],
756
- "capabilities": {
757
- "supportsToolUse": true,
758
- "supportsVision": true,
759
- "supportsStructuredOutput": true,
760
- "supportsStreaming": true,
761
- "supportsCacheControl": false
762
- },
763
- "aliases": ["vertex"]
764
- },
765
- {
766
- "id": "cohere",
767
- "displayName": "Cohere",
768
- "apiMode": "chat_completions",
769
- "authType": "api_key",
770
- "baseUrl": "https://api.cohere.com/v2",
771
- "envVars": ["COHERE_API_KEY"],
772
- "fallbackModels": ["command-r-plus"],
773
- "capabilities": {
774
- "supportsToolUse": true,
775
- "supportsVision": false,
776
- "supportsStructuredOutput": true,
777
- "supportsStreaming": true,
778
- "supportsCacheControl": false
779
- }
780
- },
781
- {
782
- "id": "perplexity",
783
- "displayName": "Perplexity",
784
- "apiMode": "chat_completions",
785
- "authType": "api_key",
786
- "baseUrl": "https://api.perplexity.ai",
787
- "envVars": ["PERPLEXITY_API_KEY"],
788
- "fallbackModels": ["llama-3.1-sonar-large-128k-online"],
789
- "capabilities": {
790
- "supportsToolUse": false,
791
- "supportsVision": false,
792
- "supportsStructuredOutput": false,
793
- "supportsStreaming": true,
794
- "supportsCacheControl": false
795
- }
796
- },
797
- {
798
- "id": "xai",
799
- "displayName": "xAI (Grok)",
800
- "apiMode": "chat_completions",
801
- "authType": "api_key",
802
- "baseUrl": "https://api.x.ai/v1",
803
- "envVars": ["XAI_API_KEY"],
804
- "fallbackModels": ["grok-2"],
805
- "capabilities": {
806
- "supportsToolUse": true,
807
- "supportsVision": true,
808
- "supportsStructuredOutput": true,
809
- "supportsStreaming": true,
810
- "supportsCacheControl": false
811
- },
812
- "aliases": ["grok"]
813
- },
814
- {
815
- "id": "sambanova",
816
- "displayName": "SambaNova",
817
- "apiMode": "chat_completions",
818
- "authType": "api_key",
819
- "baseUrl": "https://api.sambanova.ai/v1",
820
- "envVars": ["SAMBANOVA_API_KEY"],
821
- "fallbackModels": ["Meta-Llama-3.1-70B-Instruct"],
822
- "capabilities": {
823
- "supportsToolUse": true,
824
- "supportsVision": false,
825
- "supportsStructuredOutput": true,
826
- "supportsStreaming": true,
827
- "supportsCacheControl": false
828
- }
829
- },
830
- {
831
- "id": "cerebras",
832
- "displayName": "Cerebras",
833
- "apiMode": "chat_completions",
834
- "authType": "api_key",
835
- "baseUrl": "https://api.cerebras.ai/v1",
836
- "envVars": ["CEREBRAS_API_KEY"],
837
- "fallbackModels": ["llama3.1-70b"],
838
- "capabilities": {
839
- "supportsToolUse": true,
840
- "supportsVision": false,
841
- "supportsStructuredOutput": true,
842
- "supportsStreaming": true,
843
- "supportsCacheControl": false
844
- }
845
- },
846
- {
847
- "id": "deepinfra",
848
- "displayName": "DeepInfra",
849
- "apiMode": "chat_completions",
850
- "authType": "api_key",
851
- "baseUrl": "https://api.deepinfra.com/v1/openai",
852
- "envVars": ["DEEPINFRA_API_KEY"],
853
- "fallbackModels": ["meta-llama/Meta-Llama-3.1-70B-Instruct"],
854
- "capabilities": {
855
- "supportsToolUse": true,
856
- "supportsVision": true,
857
- "supportsStructuredOutput": true,
858
- "supportsStreaming": true,
859
- "supportsCacheControl": false
860
- }
861
- },
862
- {
863
- "id": "huggingface",
864
- "displayName": "Hugging Face",
865
- "apiMode": "chat_completions",
866
- "authType": "api_key",
867
- "baseUrl": "https://api-inference.huggingface.co/v1",
868
- "envVars": ["HF_TOKEN", "HUGGINGFACE_API_KEY"],
869
- "fallbackModels": ["meta-llama/Llama-3.2-3B-Instruct"],
870
- "capabilities": {
871
- "supportsToolUse": true,
872
- "supportsVision": false,
873
- "supportsStructuredOutput": false,
874
- "supportsStreaming": true,
875
- "supportsCacheControl": false
876
- }
877
- },
878
- {
879
- "id": "nvidia",
880
- "displayName": "NVIDIA NIM",
881
- "apiMode": "chat_completions",
882
- "authType": "api_key",
883
- "baseUrl": "https://integrate.api.nvidia.com/v1",
884
- "envVars": ["NVIDIA_API_KEY"],
885
- "fallbackModels": ["meta/llama-3.1-70b-instruct"],
886
- "capabilities": {
887
- "supportsToolUse": true,
888
- "supportsVision": true,
889
- "supportsStructuredOutput": true,
890
- "supportsStreaming": true,
891
- "supportsCacheControl": false
892
- }
893
- },
894
- {
895
- "id": "lepton",
896
- "displayName": "Lepton AI",
897
- "apiMode": "chat_completions",
898
- "authType": "api_key",
899
- "baseUrl": "https://llama3-1-70b.lepton.run/api/v1",
900
- "envVars": ["LEPTON_API_KEY"],
901
- "fallbackModels": ["llama3-1-70b"],
902
- "capabilities": {
903
- "supportsToolUse": true,
904
- "supportsVision": false,
905
- "supportsStructuredOutput": false,
906
- "supportsStreaming": true,
907
- "supportsCacheControl": false
908
- }
909
- },
910
- {
911
- "id": "anyscale",
912
- "displayName": "Anyscale",
913
- "apiMode": "chat_completions",
914
- "authType": "api_key",
915
- "baseUrl": "https://api.endpoints.anyscale.com/v1",
916
- "envVars": ["ANYSCALE_API_KEY"],
917
- "fallbackModels": ["meta-llama/Meta-Llama-3-70B-Instruct"],
918
- "capabilities": {
919
- "supportsToolUse": true,
920
- "supportsVision": false,
921
- "supportsStructuredOutput": true,
922
- "supportsStreaming": true,
923
- "supportsCacheControl": false
924
- }
925
- },
926
- {
927
- "id": "replicate",
928
- "displayName": "Replicate",
929
- "apiMode": "chat_completions",
930
- "authType": "api_key",
931
- "baseUrl": "https://openai-proxy.replicate.com/v1",
932
- "envVars": ["REPLICATE_API_TOKEN"],
933
- "fallbackModels": ["meta/meta-llama-3-70b-instruct"],
934
- "capabilities": {
935
- "supportsToolUse": false,
936
- "supportsVision": true,
937
- "supportsStructuredOutput": false,
938
- "supportsStreaming": true,
939
- "supportsCacheControl": false
940
- }
941
- },
942
- {
943
- "id": "ai21",
944
- "displayName": "AI21 Labs",
945
- "apiMode": "chat_completions",
946
- "authType": "api_key",
947
- "baseUrl": "https://api.ai21.com/studio/v1",
948
- "envVars": ["AI21_API_KEY"],
949
- "fallbackModels": ["jamba-1.5-large"],
950
- "capabilities": {
951
- "supportsToolUse": true,
952
- "supportsVision": false,
953
- "supportsStructuredOutput": true,
954
- "supportsStreaming": true,
955
- "supportsCacheControl": false
956
- }
957
- },
958
- {
959
- "id": "aleph-alpha",
960
- "displayName": "Aleph Alpha",
961
- "apiMode": "chat_completions",
962
- "authType": "api_key",
963
- "baseUrl": "https://api.aleph-alpha.com/v1",
964
- "envVars": ["ALEPH_ALPHA_API_KEY"],
965
- "fallbackModels": ["luminous-extended"],
966
- "capabilities": {
967
- "supportsToolUse": false,
968
- "supportsVision": false,
969
- "supportsStructuredOutput": false,
970
- "supportsStreaming": true,
971
- "supportsCacheControl": false
972
- }
973
- },
974
- {
975
- "id": "cloudflare",
976
- "displayName": "Cloudflare Workers AI",
977
- "apiMode": "chat_completions",
978
- "authType": "api_key",
979
- "baseUrl": "https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1",
980
- "envVars": ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"],
981
- "fallbackModels": ["@cf/meta/llama-3.1-70b-instruct"],
982
- "capabilities": {
983
- "supportsToolUse": true,
984
- "supportsVision": false,
985
- "supportsStructuredOutput": false,
986
- "supportsStreaming": true,
987
- "supportsCacheControl": false
988
- }
989
- },
990
- {
991
- "id": "azure-openai",
992
- "displayName": "Azure OpenAI",
993
- "apiMode": "chat_completions",
994
- "authType": "api_key",
995
- "baseUrl": "https://{resource}.openai.azure.com/openai/deployments/{deployment}",
996
- "envVars": ["AZURE_OPENAI_API_KEY", "AZURE_OPENAI_ENDPOINT"],
997
- "fallbackModels": ["gpt-4o"],
998
- "capabilities": {
999
- "supportsToolUse": true,
1000
- "supportsVision": true,
1001
- "supportsStructuredOutput": true,
1002
- "supportsStreaming": true,
1003
- "supportsCacheControl": false
1004
- }
1005
- },
1006
- {
1007
- "id": "github-models",
1008
- "displayName": "GitHub Models",
1009
- "apiMode": "chat_completions",
1010
- "authType": "api_key",
1011
- "baseUrl": "https://models.inference.ai.azure.com",
1012
- "envVars": ["GITHUB_TOKEN"],
1013
- "fallbackModels": ["gpt-4o-mini"],
1014
- "capabilities": {
1015
- "supportsToolUse": true,
1016
- "supportsVision": true,
1017
- "supportsStructuredOutput": true,
1018
- "supportsStreaming": true,
1019
- "supportsCacheControl": false
1020
- }
1021
- },
1022
- {
1023
- "id": "hyperbolic",
1024
- "displayName": "Hyperbolic",
1025
- "apiMode": "chat_completions",
1026
- "authType": "api_key",
1027
- "baseUrl": "https://api.hyperbolic.xyz/v1",
1028
- "envVars": ["HYPERBOLIC_API_KEY"],
1029
- "fallbackModels": ["meta-llama/Meta-Llama-3.1-70B-Instruct"],
1030
- "capabilities": {
1031
- "supportsToolUse": true,
1032
- "supportsVision": false,
1033
- "supportsStructuredOutput": true,
1034
- "supportsStreaming": true,
1035
- "supportsCacheControl": false
1036
- }
1037
- },
1038
- {
1039
- "id": "novita",
1040
- "displayName": "Novita AI",
1041
- "apiMode": "chat_completions",
1042
- "authType": "api_key",
1043
- "baseUrl": "https://api.novita.ai/v3/openai",
1044
- "envVars": ["NOVITA_API_KEY"],
1045
- "fallbackModels": ["meta-llama/llama-3.1-70b-instruct"],
1046
- "capabilities": {
1047
- "supportsToolUse": true,
1048
- "supportsVision": false,
1049
- "supportsStructuredOutput": true,
1050
- "supportsStreaming": true,
1051
- "supportsCacheControl": false
1052
- }
1053
- },
1054
- {
1055
- "id": "moonshot",
1056
- "displayName": "Moonshot (Kimi)",
1057
- "apiMode": "chat_completions",
1058
- "authType": "api_key",
1059
- "baseUrl": "https://api.moonshot.cn/v1",
1060
- "envVars": ["MOONSHOT_API_KEY"],
1061
- "fallbackModels": ["moonshot-v1-8k"],
1062
- "capabilities": {
1063
- "supportsToolUse": true,
1064
- "supportsVision": false,
1065
- "supportsStructuredOutput": false,
1066
- "supportsStreaming": true,
1067
- "supportsCacheControl": false
1068
- }
1069
- },
1070
- {
1071
- "id": "qwen",
1072
- "displayName": "Qwen (Alibaba)",
1073
- "apiMode": "chat_completions",
1074
- "authType": "api_key",
1075
- "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
1076
- "envVars": ["DASHSCOPE_API_KEY"],
1077
- "fallbackModels": ["qwen-plus"],
1078
- "capabilities": {
1079
- "supportsToolUse": true,
1080
- "supportsVision": true,
1081
- "supportsStructuredOutput": true,
1082
- "supportsStreaming": true,
1083
- "supportsCacheControl": false
1084
- },
1085
- "aliases": ["dashscope"],
1086
- "models": {
1087
- "qwen3-coder-30b-a3b-instruct": {
1088
- "tool_call": true,
1089
- "structured_output": false,
1090
- "cache_control": false,
1091
- "modalities": {
1092
- "input": ["text"]
1093
- },
1094
- "limit": {
1095
- "context": 160000,
1096
- "output": 8000
1097
- }
1098
- }
1099
- }
1100
- },
1101
- {
1102
- "id": "zhipu",
1103
- "displayName": "Zhipu AI (GLM)",
1104
- "apiMode": "chat_completions",
1105
- "authType": "api_key",
1106
- "baseUrl": "https://open.bigmodel.cn/api/paas/v4",
1107
- "envVars": ["ZHIPU_API_KEY"],
1108
- "fallbackModels": ["glm-4-plus"],
1109
- "capabilities": {
1110
- "supportsToolUse": true,
1111
- "supportsVision": true,
1112
- "supportsStructuredOutput": true,
1113
- "supportsStreaming": true,
1114
- "supportsCacheControl": false
1115
- },
1116
- "aliases": ["glm", "z-ai"],
1117
- "models": {
1118
- "glm-4.7-flash": {
1119
- "name": "GLM-4.7-Flash",
1120
- "release_date": "2026-01-19",
1121
- "attachment": false,
1122
- "reasoning": true,
1123
- "temperature": true,
1124
- "tool_call": true,
1125
- "cost": {
1126
- "input": 0,
1127
- "output": 0,
1128
- "cache_read": 0,
1129
- "cache_write": 0
1130
- },
1131
- "limit": {
1132
- "context": 202752,
1133
- "output": 8000
1134
- },
1135
- "modalities": {
1136
- "input": ["text"],
1137
- "output": ["text"]
1138
- },
1139
- "structured_output": false,
1140
- "cache_control": false
1141
- }
1142
- }
1143
- },
1144
- {
1145
- "id": "minimax",
1146
- "displayName": "MiniMax",
1147
- "apiMode": "chat_completions",
1148
- "authType": "api_key",
1149
- "baseUrl": "https://api.minimax.chat/v1",
1150
- "envVars": ["MINIMAX_API_KEY"],
1151
- "fallbackModels": ["MiniMax-Text-01"],
1152
- "capabilities": {
1153
- "supportsToolUse": true,
1154
- "supportsVision": false,
1155
- "supportsStructuredOutput": false,
1156
- "supportsStreaming": true,
1157
- "supportsCacheControl": false
1158
- }
1159
- },
1160
- {
1161
- "id": "baichuan",
1162
- "displayName": "Baichuan",
1163
- "apiMode": "chat_completions",
1164
- "authType": "api_key",
1165
- "baseUrl": "https://api.baichuan-ai.com/v1",
1166
- "envVars": ["BAICHUAN_API_KEY"],
1167
- "fallbackModels": ["Baichuan4"],
1168
- "capabilities": {
1169
- "supportsToolUse": true,
1170
- "supportsVision": false,
1171
- "supportsStructuredOutput": false,
1172
- "supportsStreaming": true,
1173
- "supportsCacheControl": false
1174
- }
1175
- },
1176
- {
1177
- "id": "voyage",
1178
- "displayName": "Voyage AI",
1179
- "apiMode": "chat_completions",
1180
- "authType": "api_key",
1181
- "baseUrl": "https://api.voyageai.com/v1",
1182
- "envVars": ["VOYAGE_API_KEY"],
1183
- "fallbackModels": ["voyage-3"],
1184
- "capabilities": {
1185
- "supportsToolUse": false,
1186
- "supportsVision": false,
1187
- "supportsStructuredOutput": false,
1188
- "supportsStreaming": false,
1189
- "supportsCacheControl": false
1190
- }
1191
- },
1192
- {
1193
- "id": "jina",
1194
- "displayName": "Jina AI",
1195
- "apiMode": "chat_completions",
1196
- "authType": "api_key",
1197
- "baseUrl": "https://api.jina.ai/v1",
1198
- "envVars": ["JINA_API_KEY"],
1199
- "fallbackModels": ["jina-embeddings-v3"],
1200
- "capabilities": {
1201
- "supportsToolUse": false,
1202
- "supportsVision": false,
1203
- "supportsStructuredOutput": false,
1204
- "supportsStreaming": false,
1205
- "supportsCacheControl": false
1206
- }
1207
- },
1208
- {
1209
- "id": "helicone",
1210
- "displayName": "Helicone (Gateway)",
1211
- "apiMode": "chat_completions",
1212
- "authType": "api_key",
1213
- "baseUrl": "https://oai.helicone.ai/v1",
1214
- "envVars": ["HELICONE_API_KEY", "OPENAI_API_KEY"],
1215
- "fallbackModels": ["gpt-4o-mini"],
1216
- "capabilities": {
1217
- "supportsToolUse": true,
1218
- "supportsVision": true,
1219
- "supportsStructuredOutput": true,
1220
- "supportsStreaming": true,
1221
- "supportsCacheControl": false
1222
- },
1223
- "models": {
1224
- "gpt-4o-mini": {
1225
- "name": "OpenAI GPT-4o-mini",
1226
- "release_date": "2024-07-18",
1227
- "attachment": false,
1228
- "reasoning": false,
1229
- "temperature": true,
1230
- "tool_call": true,
1231
- "cost": {
1232
- "input": 0.15,
1233
- "output": 0.6,
1234
- "cache_read": 0.075
1235
- },
1236
- "limit": {
1237
- "context": 128000,
1238
- "output": 16384
1239
- },
1240
- "modalities": {
1241
- "input": ["text", "image"],
1242
- "output": ["text"]
1243
- }
1244
- }
1245
- }
1246
- },
1247
- {
1248
- "id": "portkey",
1249
- "displayName": "Portkey (Gateway)",
1250
- "apiMode": "chat_completions",
1251
- "authType": "api_key",
1252
- "baseUrl": "https://api.portkey.ai/v1",
1253
- "envVars": ["PORTKEY_API_KEY"],
1254
- "fallbackModels": ["gpt-4o-mini"],
1255
- "capabilities": {
1256
- "supportsToolUse": true,
1257
- "supportsVision": true,
1258
- "supportsStructuredOutput": true,
1259
- "supportsStreaming": true,
1260
- "supportsCacheControl": false
1261
- }
1262
- },
1263
- {
1264
- "id": "baseten",
1265
- "displayName": "Baseten",
1266
- "apiMode": "chat_completions",
1267
- "authType": "api_key",
1268
- "baseUrl": "https://bridge.baseten.co/v1",
1269
- "envVars": ["BASETEN_API_KEY"],
1270
- "fallbackModels": ["meta-llama/Meta-Llama-3-70B-Instruct"],
1271
- "capabilities": {
1272
- "supportsToolUse": true,
1273
- "supportsVision": false,
1274
- "supportsStructuredOutput": true,
1275
- "supportsStreaming": true,
1276
- "supportsCacheControl": false
1277
- }
1278
- },
1279
- {
1280
- "id": "modal",
1281
- "displayName": "Modal",
1282
- "apiMode": "chat_completions",
1283
- "authType": "api_key",
1284
- "baseUrl": "https://api.modal.com/v1",
1285
- "envVars": ["MODAL_TOKEN_ID", "MODAL_TOKEN_SECRET"],
1286
- "fallbackModels": ["meta-llama/Meta-Llama-3-70B-Instruct"],
1287
- "capabilities": {
1288
- "supportsToolUse": true,
1289
- "supportsVision": false,
1290
- "supportsStructuredOutput": false,
1291
- "supportsStreaming": true,
1292
- "supportsCacheControl": false
1293
- }
1294
- }
1295
- ]