neoctl 0.1.19 → 0.1.20

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 (120) hide show
  1. package/dist/agents/local-agent-task.js +2 -1
  2. package/dist/agents/local-agent-task.js.map +1 -1
  3. package/dist/agents/smoke-agents.js +21 -4
  4. package/dist/agents/smoke-agents.js.map +1 -1
  5. package/dist/context/prompts.js +4 -0
  6. package/dist/context/prompts.js.map +1 -1
  7. package/dist/core/image-storage.d.ts +6 -0
  8. package/dist/core/image-storage.js +38 -0
  9. package/dist/core/image-storage.js.map +1 -0
  10. package/dist/core/query-engine.d.ts +21 -1
  11. package/dist/core/query-engine.js +103 -13
  12. package/dist/core/query-engine.js.map +1 -1
  13. package/dist/core/query.d.ts +2 -1
  14. package/dist/core/query.js +60 -5
  15. package/dist/core/query.js.map +1 -1
  16. package/dist/core/smoke-core-loop.js +95 -6
  17. package/dist/core/smoke-core-loop.js.map +1 -1
  18. package/dist/index.d.ts +25 -1
  19. package/dist/index.js +25 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/model/communication-logger.d.ts +2 -1
  22. package/dist/model/communication-logger.js +3 -0
  23. package/dist/model/communication-logger.js.map +1 -1
  24. package/dist/model/config.d.ts +10 -4
  25. package/dist/model/config.js +61 -12
  26. package/dist/model/config.js.map +1 -1
  27. package/dist/model/context-window.js +1 -0
  28. package/dist/model/context-window.js.map +1 -1
  29. package/dist/model/deepseek-adapter.d.ts +29 -0
  30. package/dist/model/deepseek-adapter.js +108 -0
  31. package/dist/model/deepseek-adapter.js.map +1 -0
  32. package/dist/model/env.js +35 -19
  33. package/dist/model/env.js.map +1 -1
  34. package/dist/model/kimi-adapter.d.ts +29 -0
  35. package/dist/model/kimi-adapter.js +108 -0
  36. package/dist/model/kimi-adapter.js.map +1 -0
  37. package/dist/model/model-metadata.json +726 -677
  38. package/dist/model/openai-adapter.d.ts +1 -1
  39. package/dist/model/openai-chat-mapper.d.ts +4 -1
  40. package/dist/model/openai-chat-mapper.js +30 -8
  41. package/dist/model/openai-chat-mapper.js.map +1 -1
  42. package/dist/model/openai-mappers.d.ts +5 -2
  43. package/dist/model/openai-mappers.js +33 -6
  44. package/dist/model/openai-mappers.js.map +1 -1
  45. package/dist/model/openai-responses-mapper.d.ts +1 -1
  46. package/dist/model/openai-responses-mapper.js +2 -1
  47. package/dist/model/openai-responses-mapper.js.map +1 -1
  48. package/dist/model/provider-factory.js +32 -0
  49. package/dist/model/provider-factory.js.map +1 -1
  50. package/dist/model/smoke-deepseek-mapper.d.ts +1 -0
  51. package/dist/model/smoke-deepseek-mapper.js +65 -0
  52. package/dist/model/smoke-deepseek-mapper.js.map +1 -0
  53. package/dist/model/smoke-openai.js +1 -1
  54. package/dist/model/smoke-openai.js.map +1 -1
  55. package/dist/model/smoke-responses-mapper.js +6 -6
  56. package/dist/model/smoke-responses-mapper.js.map +1 -1
  57. package/dist/open-directory.d.ts +1 -0
  58. package/dist/open-directory.js +26 -0
  59. package/dist/open-directory.js.map +1 -0
  60. package/dist/paths.d.ts +7 -0
  61. package/dist/paths.js +12 -0
  62. package/dist/paths.js.map +1 -0
  63. package/dist/repl/commands.d.ts +15 -0
  64. package/dist/repl/commands.js +58 -0
  65. package/dist/repl/commands.js.map +1 -1
  66. package/dist/repl/index.js +1012 -171
  67. package/dist/repl/index.js.map +1 -1
  68. package/dist/session/session-export.d.ts +33 -0
  69. package/dist/session/session-export.js +351 -0
  70. package/dist/session/session-export.js.map +1 -0
  71. package/dist/session/session-store.js +2 -2
  72. package/dist/session/session-store.js.map +1 -1
  73. package/dist/session/simple-session-runtime.d.ts +74 -0
  74. package/dist/session/simple-session-runtime.js +171 -0
  75. package/dist/session/simple-session-runtime.js.map +1 -0
  76. package/dist/session/smoke-session.js +22 -1
  77. package/dist/session/smoke-session.js.map +1 -1
  78. package/dist/skills/skill-filesystem.d.ts +32 -0
  79. package/dist/skills/skill-filesystem.js +371 -0
  80. package/dist/skills/skill-filesystem.js.map +1 -0
  81. package/dist/skills/skill-management-tools.d.ts +36 -0
  82. package/dist/skills/skill-management-tools.js +188 -0
  83. package/dist/skills/skill-management-tools.js.map +1 -0
  84. package/dist/skills/skill-tool.d.ts +85 -5
  85. package/dist/skills/skill-tool.js +173 -14
  86. package/dist/skills/skill-tool.js.map +1 -1
  87. package/dist/skills/smoke-skills.js +54 -5
  88. package/dist/skills/smoke-skills.js.map +1 -1
  89. package/dist/tips.d.ts +10 -0
  90. package/dist/tips.js +168 -0
  91. package/dist/tips.js.map +1 -0
  92. package/dist/tools/builtins/image-generation-tool.d.ts +96 -0
  93. package/dist/tools/builtins/image-generation-tool.js +471 -0
  94. package/dist/tools/builtins/image-generation-tool.js.map +1 -0
  95. package/dist/tools/builtins/search-providers.d.ts +15 -1
  96. package/dist/tools/builtins/search-providers.js +195 -1
  97. package/dist/tools/builtins/search-providers.js.map +1 -1
  98. package/dist/tools/builtins/search-tool.js +2 -2
  99. package/dist/tools/builtins/search-tool.js.map +1 -1
  100. package/dist/tools/registry.d.ts +1 -0
  101. package/dist/tools/registry.js +11 -0
  102. package/dist/tools/registry.js.map +1 -1
  103. package/dist/tools/run-tool-use.js +1 -1
  104. package/dist/tools/run-tool-use.js.map +1 -1
  105. package/dist/tools/smoke-tool-system.js +43 -9
  106. package/dist/tools/smoke-tool-system.js.map +1 -1
  107. package/dist/tools/tool.d.ts +9 -1
  108. package/dist/tools/tool.js.map +1 -1
  109. package/dist/types/messages.d.ts +5 -0
  110. package/dist/types/messages.js.map +1 -1
  111. package/dist/ui/display-message.d.ts +103 -0
  112. package/dist/ui/display-message.js +115 -0
  113. package/dist/ui/display-message.js.map +1 -0
  114. package/dist/web/html.d.ts +1 -0
  115. package/dist/web/html.js +862 -0
  116. package/dist/web/html.js.map +1 -0
  117. package/dist/web/index.d.ts +2 -0
  118. package/dist/web/index.js +1822 -0
  119. package/dist/web/index.js.map +1 -0
  120. package/package.json +1 -1
@@ -1,677 +1,726 @@
1
- {
2
- "updatedAt": "2026-05-08",
3
- "notes": [
4
- "Static model metadata used for local REPL telemetry. Values are best-effort and should be refreshed when providers update model cards.",
5
- "MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
6
- "modelIds are exact official model IDs/aliases from provider documentation; matching is direct and does not use regex.",
7
- "imageInput indicates whether provider documentation lists image input / vision support for the model.",
8
- "reasoningEfforts lists the exact reasoning.effort values the /model command may set; omitted/empty means no supported effort enum is configured for that model."
9
- ],
10
- "sources": {
11
- "openai-models": "https://platform.openai.com/docs/models",
12
- "anthropic-models": "https://docs.anthropic.com/en/docs/about-claude/models/overview",
13
- "anthropic-context-windows": "https://docs.anthropic.com/en/docs/build-with-claude/context-windows",
14
- "gemini-models": "https://ai.google.dev/gemini-api/docs/models",
15
- "deepseek-pricing": "https://api-docs.deepseek.com/quick_start/pricing/",
16
- "deepseek-models": "https://api-docs.deepseek.com/quick_start/parameter_settings/",
17
- "mistral-known-limitations": "https://docs.mistral.ai/resources/known-limitations",
18
- "anthropic-vision": "https://docs.anthropic.com/en/docs/build-with-claude/vision",
19
- "mistral-vision": "https://docs.mistral.ai/capabilities/vision",
20
- "openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning",
21
- "deepseek-thinking-mode": "https://api-docs.deepseek.com/guides/thinking_mode"
22
- },
23
- "models": [
24
- {
25
- "id": "gpt-5.5",
26
- "provider": "openai",
27
- "modelIds": [
28
- "gpt-5.5"
29
- ],
30
- "contextWindowTokens": 1050000,
31
- "maxOutputTokens": 128000,
32
- "reasoning": true,
33
- "imageInput": true,
34
- "source": "openai-models",
35
- "reasoningEfforts": [
36
- "none",
37
- "low",
38
- "medium",
39
- "high",
40
- "xhigh"
41
- ]
42
- },
43
- {
44
- "id": "gpt-5.5-pro",
45
- "provider": "openai",
46
- "modelIds": [
47
- "gpt-5.5-pro"
48
- ],
49
- "contextWindowTokens": 1050000,
50
- "maxOutputTokens": 128000,
51
- "reasoning": true,
52
- "imageInput": true,
53
- "source": "openai-models",
54
- "reasoningEfforts": [
55
- "none",
56
- "low",
57
- "medium",
58
- "high",
59
- "xhigh"
60
- ]
61
- },
62
- {
63
- "id": "gpt-5.4",
64
- "provider": "openai",
65
- "modelIds": [
66
- "gpt-5.4"
67
- ],
68
- "contextWindowTokens": 1050000,
69
- "maxOutputTokens": 128000,
70
- "reasoning": true,
71
- "imageInput": true,
72
- "source": "openai-models",
73
- "reasoningEfforts": [
74
- "none",
75
- "low",
76
- "medium",
77
- "high",
78
- "xhigh"
79
- ]
80
- },
81
- {
82
- "id": "gpt-5.4-mini",
83
- "provider": "openai",
84
- "modelIds": [
85
- "gpt-5.4-mini"
86
- ],
87
- "contextWindowTokens": 400000,
88
- "maxOutputTokens": 128000,
89
- "reasoning": true,
90
- "imageInput": true,
91
- "source": "openai-models",
92
- "reasoningEfforts": [
93
- "none",
94
- "low",
95
- "medium",
96
- "high",
97
- "xhigh"
98
- ]
99
- },
100
- {
101
- "id": "gpt-5.4-nano",
102
- "provider": "openai",
103
- "modelIds": [
104
- "gpt-5.4-nano"
105
- ],
106
- "contextWindowTokens": 400000,
107
- "maxOutputTokens": 128000,
108
- "reasoning": true,
109
- "imageInput": true,
110
- "source": "openai-models",
111
- "reasoningEfforts": [
112
- "none",
113
- "low",
114
- "medium",
115
- "high",
116
- "xhigh"
117
- ]
118
- },
119
- {
120
- "id": "gpt-5.2",
121
- "provider": "openai",
122
- "modelIds": [
123
- "gpt-5.2"
124
- ],
125
- "contextWindowTokens": 400000,
126
- "maxOutputTokens": 128000,
127
- "knowledgeCutoff": "2025-08-31",
128
- "reasoning": true,
129
- "imageInput": true,
130
- "source": "openai-models",
131
- "reasoningEfforts": [
132
- "none",
133
- "low",
134
- "medium",
135
- "high",
136
- "xhigh"
137
- ]
138
- },
139
- {
140
- "id": "gpt-5.2-codex",
141
- "provider": "openai",
142
- "modelIds": [
143
- "gpt-5.2-codex"
144
- ],
145
- "contextWindowTokens": 400000,
146
- "maxOutputTokens": 128000,
147
- "knowledgeCutoff": "2025-08-31",
148
- "reasoning": true,
149
- "imageInput": true,
150
- "source": "openai-models",
151
- "reasoningEfforts": [
152
- "low",
153
- "medium",
154
- "high",
155
- "xhigh"
156
- ]
157
- },
158
- {
159
- "id": "gpt-5.2-pro",
160
- "provider": "openai",
161
- "modelIds": [
162
- "gpt-5.2-pro"
163
- ],
164
- "contextWindowTokens": 400000,
165
- "maxOutputTokens": 128000,
166
- "reasoning": true,
167
- "imageInput": true,
168
- "source": "openai-models",
169
- "reasoningEfforts": [
170
- "none",
171
- "low",
172
- "medium",
173
- "high",
174
- "xhigh"
175
- ]
176
- },
177
- {
178
- "id": "gpt-5.1",
179
- "provider": "openai",
180
- "modelIds": [
181
- "gpt-5.1"
182
- ],
183
- "contextWindowTokens": 400000,
184
- "maxOutputTokens": 128000,
185
- "knowledgeCutoff": "2024-09-30",
186
- "reasoning": true,
187
- "imageInput": true,
188
- "source": "openai-models",
189
- "reasoningEfforts": [
190
- "none",
191
- "low",
192
- "medium",
193
- "high"
194
- ]
195
- },
196
- {
197
- "id": "gpt-5.1-codex",
198
- "provider": "openai",
199
- "modelIds": [
200
- "gpt-5.1-codex"
201
- ],
202
- "contextWindowTokens": 400000,
203
- "maxOutputTokens": 128000,
204
- "knowledgeCutoff": "2024-09-30",
205
- "reasoning": true,
206
- "imageInput": true,
207
- "source": "openai-models",
208
- "reasoningEfforts": [
209
- "low",
210
- "medium",
211
- "high"
212
- ]
213
- },
214
- {
215
- "id": "gpt-5.1-codex-max",
216
- "provider": "openai",
217
- "modelIds": [
218
- "gpt-5.1-codex-max"
219
- ],
220
- "contextWindowTokens": 400000,
221
- "maxOutputTokens": 128000,
222
- "knowledgeCutoff": "2024-09-30",
223
- "reasoning": true,
224
- "imageInput": true,
225
- "source": "openai-models",
226
- "reasoningEfforts": [
227
- "low",
228
- "medium",
229
- "high"
230
- ]
231
- },
232
- {
233
- "id": "gpt-5.1-codex-mini",
234
- "provider": "openai",
235
- "modelIds": [
236
- "gpt-5.1-codex-mini"
237
- ],
238
- "contextWindowTokens": 400000,
239
- "maxOutputTokens": 128000,
240
- "knowledgeCutoff": "2024-09-30",
241
- "reasoning": true,
242
- "imageInput": true,
243
- "source": "openai-models",
244
- "reasoningEfforts": [
245
- "low",
246
- "medium",
247
- "high"
248
- ]
249
- },
250
- {
251
- "id": "gpt-5",
252
- "provider": "openai",
253
- "modelIds": [
254
- "gpt-5"
255
- ],
256
- "contextWindowTokens": 400000,
257
- "maxOutputTokens": 128000,
258
- "reasoning": true,
259
- "imageInput": true,
260
- "source": "openai-models",
261
- "reasoningEfforts": [
262
- "minimal",
263
- "low",
264
- "medium",
265
- "high"
266
- ]
267
- },
268
- {
269
- "id": "gpt-5-codex",
270
- "provider": "openai",
271
- "modelIds": [
272
- "gpt-5-codex"
273
- ],
274
- "contextWindowTokens": 400000,
275
- "maxOutputTokens": 128000,
276
- "reasoning": true,
277
- "imageInput": true,
278
- "source": "openai-models",
279
- "reasoningEfforts": [
280
- "minimal",
281
- "low",
282
- "medium",
283
- "high"
284
- ]
285
- },
286
- {
287
- "id": "gpt-5-mini",
288
- "provider": "openai",
289
- "modelIds": [
290
- "gpt-5-mini"
291
- ],
292
- "contextWindowTokens": 400000,
293
- "maxOutputTokens": 128000,
294
- "reasoning": true,
295
- "imageInput": true,
296
- "source": "openai-models",
297
- "reasoningEfforts": [
298
- "minimal",
299
- "low",
300
- "medium",
301
- "high"
302
- ]
303
- },
304
- {
305
- "id": "gpt-5-nano",
306
- "provider": "openai",
307
- "modelIds": [
308
- "gpt-5-nano"
309
- ],
310
- "contextWindowTokens": 400000,
311
- "maxOutputTokens": 128000,
312
- "reasoning": true,
313
- "imageInput": true,
314
- "source": "openai-models",
315
- "reasoningEfforts": [
316
- "minimal",
317
- "low",
318
- "medium",
319
- "high"
320
- ]
321
- },
322
- {
323
- "id": "gpt-5-pro",
324
- "provider": "openai",
325
- "modelIds": [
326
- "gpt-5-pro"
327
- ],
328
- "contextWindowTokens": 400000,
329
- "maxOutputTokens": 272000,
330
- "reasoning": true,
331
- "imageInput": true,
332
- "source": "openai-models",
333
- "reasoningEfforts": [
334
- "minimal",
335
- "low",
336
- "medium",
337
- "high"
338
- ]
339
- },
340
- {
341
- "id": "gpt-4.1",
342
- "provider": "openai",
343
- "modelIds": [
344
- "gpt-4.1"
345
- ],
346
- "contextWindowTokens": 1047576,
347
- "maxOutputTokens": 32768,
348
- "reasoning": false,
349
- "imageInput": true,
350
- "source": "openai-models"
351
- },
352
- {
353
- "id": "gpt-4.1-mini",
354
- "provider": "openai",
355
- "modelIds": [
356
- "gpt-4.1-mini"
357
- ],
358
- "contextWindowTokens": 1047576,
359
- "maxOutputTokens": 32768,
360
- "reasoning": false,
361
- "imageInput": true,
362
- "source": "openai-models"
363
- },
364
- {
365
- "id": "gpt-4.1-nano",
366
- "provider": "openai",
367
- "modelIds": [
368
- "gpt-4.1-nano"
369
- ],
370
- "contextWindowTokens": 1047576,
371
- "maxOutputTokens": 32768,
372
- "reasoning": false,
373
- "imageInput": true,
374
- "source": "openai-models"
375
- },
376
- {
377
- "id": "gpt-4o",
378
- "provider": "openai",
379
- "modelIds": [
380
- "gpt-4o"
381
- ],
382
- "contextWindowTokens": 128000,
383
- "maxOutputTokens": 16384,
384
- "reasoning": false,
385
- "imageInput": true,
386
- "source": "openai-models"
387
- },
388
- {
389
- "id": "gpt-4o-mini",
390
- "provider": "openai",
391
- "modelIds": [
392
- "gpt-4o-mini"
393
- ],
394
- "contextWindowTokens": 128000,
395
- "maxOutputTokens": 16384,
396
- "reasoning": false,
397
- "imageInput": true,
398
- "source": "openai-models"
399
- },
400
- {
401
- "id": "chatgpt-4o-latest",
402
- "provider": "openai",
403
- "modelIds": [
404
- "chatgpt-4o-latest"
405
- ],
406
- "contextWindowTokens": 128000,
407
- "maxOutputTokens": 16384,
408
- "reasoning": false,
409
- "imageInput": true,
410
- "source": "openai-models"
411
- },
412
- {
413
- "id": "gpt-4o-search-preview",
414
- "provider": "openai",
415
- "modelIds": [
416
- "gpt-4o-search-preview"
417
- ],
418
- "contextWindowTokens": 128000,
419
- "maxOutputTokens": 16384,
420
- "reasoning": false,
421
- "imageInput": true,
422
- "source": "openai-models"
423
- },
424
- {
425
- "id": "gpt-4o-mini-search-preview",
426
- "provider": "openai",
427
- "modelIds": [
428
- "gpt-4o-mini-search-preview"
429
- ],
430
- "contextWindowTokens": 128000,
431
- "maxOutputTokens": 16384,
432
- "reasoning": false,
433
- "imageInput": true,
434
- "source": "openai-models"
435
- },
436
- {
437
- "id": "o4-mini",
438
- "provider": "openai",
439
- "modelIds": [
440
- "o4-mini"
441
- ],
442
- "contextWindowTokens": 200000,
443
- "maxOutputTokens": 100000,
444
- "reasoning": true,
445
- "imageInput": true,
446
- "source": "openai-models",
447
- "reasoningEfforts": [
448
- "low",
449
- "medium",
450
- "high"
451
- ]
452
- },
453
- {
454
- "id": "o4-mini-deep-research",
455
- "provider": "openai",
456
- "modelIds": [
457
- "o4-mini-deep-research"
458
- ],
459
- "contextWindowTokens": 200000,
460
- "maxOutputTokens": 100000,
461
- "reasoning": true,
462
- "imageInput": true,
463
- "source": "openai-models",
464
- "reasoningEfforts": [
465
- "low",
466
- "medium",
467
- "high"
468
- ]
469
- },
470
- {
471
- "id": "gpt-4",
472
- "provider": "openai",
473
- "modelIds": [
474
- "gpt-4"
475
- ],
476
- "contextWindowTokens": 8192,
477
- "maxOutputTokens": 8192,
478
- "reasoning": false,
479
- "imageInput": false,
480
- "source": "openai-models"
481
- },
482
- {
483
- "id": "claude-opus-4-7",
484
- "provider": "anthropic",
485
- "modelIds": [
486
- "claude-opus-4-7"
487
- ],
488
- "contextWindowTokens": 1000000,
489
- "maxOutputTokens": 128000,
490
- "reasoning": true,
491
- "imageInput": true,
492
- "source": "anthropic-models"
493
- },
494
- {
495
- "id": "claude-sonnet-4-6",
496
- "provider": "anthropic",
497
- "modelIds": [
498
- "claude-sonnet-4-6"
499
- ],
500
- "contextWindowTokens": 1000000,
501
- "maxOutputTokens": 64000,
502
- "reasoning": true,
503
- "imageInput": true,
504
- "source": "anthropic-models"
505
- },
506
- {
507
- "id": "claude-haiku-4-5",
508
- "provider": "anthropic",
509
- "modelIds": [
510
- "claude-haiku-4-5",
511
- "claude-haiku-4-5-20251001"
512
- ],
513
- "contextWindowTokens": 200000,
514
- "maxOutputTokens": 64000,
515
- "reasoning": true,
516
- "imageInput": true,
517
- "source": "anthropic-models"
518
- },
519
- {
520
- "id": "gemini-3.1-pro-preview",
521
- "provider": "google",
522
- "modelIds": [
523
- "gemini-3.1-pro-preview",
524
- "gemini-3.1-pro-preview-customtools"
525
- ],
526
- "contextWindowTokens": 1048576,
527
- "maxOutputTokens": 65536,
528
- "reasoning": true,
529
- "imageInput": true,
530
- "source": "gemini-models"
531
- },
532
- {
533
- "id": "gemini-3-flash-preview",
534
- "provider": "google",
535
- "modelIds": [
536
- "gemini-3-flash-preview"
537
- ],
538
- "contextWindowTokens": 1048576,
539
- "maxOutputTokens": 65536,
540
- "reasoning": true,
541
- "imageInput": true,
542
- "source": "gemini-models"
543
- },
544
- {
545
- "id": "gemini-2.5-pro",
546
- "provider": "google",
547
- "modelIds": [
548
- "gemini-2.5-pro"
549
- ],
550
- "contextWindowTokens": 1048576,
551
- "maxOutputTokens": 65536,
552
- "reasoning": true,
553
- "imageInput": true,
554
- "source": "gemini-models"
555
- },
556
- {
557
- "id": "gemini-2.5-flash",
558
- "provider": "google",
559
- "modelIds": [
560
- "gemini-2.5-flash"
561
- ],
562
- "contextWindowTokens": 1048576,
563
- "maxOutputTokens": 65536,
564
- "reasoning": true,
565
- "imageInput": true,
566
- "source": "gemini-models"
567
- },
568
- {
569
- "id": "gemini-2.5-flash-lite",
570
- "provider": "google",
571
- "modelIds": [
572
- "gemini-2.5-flash-lite"
573
- ],
574
- "contextWindowTokens": 1048576,
575
- "maxOutputTokens": 65536,
576
- "reasoning": true,
577
- "imageInput": true,
578
- "source": "gemini-models"
579
- },
580
- {
581
- "id": "gemini-2.0-flash",
582
- "provider": "google",
583
- "modelIds": [
584
- "gemini-2.0-flash"
585
- ],
586
- "contextWindowTokens": 1048576,
587
- "maxOutputTokens": 8192,
588
- "reasoning": true,
589
- "imageInput": true,
590
- "source": "gemini-models"
591
- },
592
- {
593
- "id": "deepseek-v4-pro",
594
- "provider": "deepseek",
595
- "modelIds": [
596
- "deepseek-v4-pro"
597
- ],
598
- "contextWindowTokens": 1000000,
599
- "maxOutputTokens": 384000,
600
- "reasoning": true,
601
- "imageInput": false,
602
- "source": "deepseek-pricing",
603
- "reasoningEfforts": [
604
- "high",
605
- "max"
606
- ]
607
- },
608
- {
609
- "id": "deepseek-v4-flash",
610
- "provider": "deepseek",
611
- "modelIds": [
612
- "deepseek-v4-flash"
613
- ],
614
- "contextWindowTokens": 1000000,
615
- "maxOutputTokens": 384000,
616
- "reasoning": true,
617
- "imageInput": false,
618
- "source": "deepseek-pricing",
619
- "reasoningEfforts": [
620
- "high",
621
- "max"
622
- ]
623
- },
624
- {
625
- "id": "deepseek-chat",
626
- "provider": "deepseek",
627
- "modelIds": [
628
- "deepseek-chat"
629
- ],
630
- "contextWindowTokens": 1000000,
631
- "maxOutputTokens": 384000,
632
- "reasoning": false,
633
- "imageInput": false,
634
- "source": "deepseek-pricing",
635
- "notes": "Compatibility alias for non-thinking mode of deepseek-v4-flash."
636
- },
637
- {
638
- "id": "deepseek-reasoner",
639
- "provider": "deepseek",
640
- "modelIds": [
641
- "deepseek-reasoner"
642
- ],
643
- "contextWindowTokens": 1000000,
644
- "maxOutputTokens": 384000,
645
- "reasoning": true,
646
- "imageInput": false,
647
- "source": "deepseek-pricing",
648
- "notes": "Compatibility alias for thinking mode of deepseek-v4-flash.",
649
- "reasoningEfforts": [
650
- "high",
651
- "max"
652
- ]
653
- },
654
- {
655
- "id": "mistral-large-latest",
656
- "provider": "mistral",
657
- "modelIds": [
658
- "mistral-large-latest"
659
- ],
660
- "contextWindowTokens": 131072,
661
- "reasoning": false,
662
- "imageInput": true,
663
- "source": "mistral-known-limitations"
664
- },
665
- {
666
- "id": "mistral-small-latest",
667
- "provider": "mistral",
668
- "modelIds": [
669
- "mistral-small-latest"
670
- ],
671
- "contextWindowTokens": 32768,
672
- "reasoning": false,
673
- "imageInput": true,
674
- "source": "mistral-known-limitations"
675
- }
676
- ]
677
- }
1
+ {
2
+ "updatedAt": "2026-05-10",
3
+ "notes": [
4
+ "Static model metadata used for local REPL telemetry. Values are best-effort and should be refreshed when providers update model cards.",
5
+ "MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
6
+ "modelIds are exact official model IDs/aliases from provider documentation; matching is direct and does not use regex.",
7
+ "imageInput indicates whether provider documentation lists image input / vision support for the model.",
8
+ "reasoningEfforts lists the exact reasoning.effort values the /model command may set; omitted/empty means no supported effort enum is configured for that model."
9
+ ],
10
+ "sources": {
11
+ "openai-models": "https://platform.openai.com/docs/models",
12
+ "anthropic-models": "https://docs.anthropic.com/en/docs/about-claude/models/overview",
13
+ "anthropic-context-windows": "https://docs.anthropic.com/en/docs/build-with-claude/context-windows",
14
+ "gemini-models": "https://ai.google.dev/gemini-api/docs/models",
15
+ "deepseek-pricing": "https://api-docs.deepseek.com/quick_start/pricing/",
16
+ "deepseek-models": "https://api-docs.deepseek.com/quick_start/parameter_settings/",
17
+ "mistral-known-limitations": "https://docs.mistral.ai/resources/known-limitations",
18
+ "anthropic-vision": "https://docs.anthropic.com/en/docs/build-with-claude/vision",
19
+ "mistral-vision": "https://docs.mistral.ai/capabilities/vision",
20
+ "openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning",
21
+ "deepseek-thinking-mode": "https://api-docs.deepseek.com/guides/thinking_mode",
22
+ "kimi-overview": "https://platform.kimi.com/docs/api/overview",
23
+ "kimi-chat": "https://platform.kimi.com/docs/api/chat",
24
+ "kimi-thinking": "https://platform.moonshot.ai/docs/guide/kimi-k2-5-quickstart"
25
+ },
26
+ "models": [
27
+ {
28
+ "id": "gpt-5.5",
29
+ "provider": "openai",
30
+ "modelIds": [
31
+ "gpt-5.5"
32
+ ],
33
+ "contextWindowTokens": 1050000,
34
+ "maxOutputTokens": 128000,
35
+ "reasoning": true,
36
+ "imageInput": true,
37
+ "source": "openai-models",
38
+ "reasoningEfforts": [
39
+ "none",
40
+ "low",
41
+ "medium",
42
+ "high",
43
+ "xhigh"
44
+ ]
45
+ },
46
+ {
47
+ "id": "gpt-5.5-pro",
48
+ "provider": "openai",
49
+ "modelIds": [
50
+ "gpt-5.5-pro"
51
+ ],
52
+ "contextWindowTokens": 1050000,
53
+ "maxOutputTokens": 128000,
54
+ "reasoning": true,
55
+ "imageInput": true,
56
+ "source": "openai-models",
57
+ "reasoningEfforts": [
58
+ "none",
59
+ "low",
60
+ "medium",
61
+ "high",
62
+ "xhigh"
63
+ ]
64
+ },
65
+ {
66
+ "id": "gpt-5.4",
67
+ "provider": "openai",
68
+ "modelIds": [
69
+ "gpt-5.4"
70
+ ],
71
+ "contextWindowTokens": 1050000,
72
+ "maxOutputTokens": 128000,
73
+ "reasoning": true,
74
+ "imageInput": true,
75
+ "source": "openai-models",
76
+ "reasoningEfforts": [
77
+ "none",
78
+ "low",
79
+ "medium",
80
+ "high",
81
+ "xhigh"
82
+ ]
83
+ },
84
+ {
85
+ "id": "gpt-5.4-mini",
86
+ "provider": "openai",
87
+ "modelIds": [
88
+ "gpt-5.4-mini"
89
+ ],
90
+ "contextWindowTokens": 400000,
91
+ "maxOutputTokens": 128000,
92
+ "reasoning": true,
93
+ "imageInput": true,
94
+ "source": "openai-models",
95
+ "reasoningEfforts": [
96
+ "none",
97
+ "low",
98
+ "medium",
99
+ "high",
100
+ "xhigh"
101
+ ]
102
+ },
103
+ {
104
+ "id": "gpt-5.4-nano",
105
+ "provider": "openai",
106
+ "modelIds": [
107
+ "gpt-5.4-nano"
108
+ ],
109
+ "contextWindowTokens": 400000,
110
+ "maxOutputTokens": 128000,
111
+ "reasoning": true,
112
+ "imageInput": true,
113
+ "source": "openai-models",
114
+ "reasoningEfforts": [
115
+ "none",
116
+ "low",
117
+ "medium",
118
+ "high",
119
+ "xhigh"
120
+ ]
121
+ },
122
+ {
123
+ "id": "gpt-5.2",
124
+ "provider": "openai",
125
+ "modelIds": [
126
+ "gpt-5.2"
127
+ ],
128
+ "contextWindowTokens": 400000,
129
+ "maxOutputTokens": 128000,
130
+ "knowledgeCutoff": "2025-08-31",
131
+ "reasoning": true,
132
+ "imageInput": true,
133
+ "source": "openai-models",
134
+ "reasoningEfforts": [
135
+ "none",
136
+ "low",
137
+ "medium",
138
+ "high",
139
+ "xhigh"
140
+ ]
141
+ },
142
+ {
143
+ "id": "gpt-5.2-codex",
144
+ "provider": "openai",
145
+ "modelIds": [
146
+ "gpt-5.2-codex"
147
+ ],
148
+ "contextWindowTokens": 400000,
149
+ "maxOutputTokens": 128000,
150
+ "knowledgeCutoff": "2025-08-31",
151
+ "reasoning": true,
152
+ "imageInput": true,
153
+ "source": "openai-models",
154
+ "reasoningEfforts": [
155
+ "low",
156
+ "medium",
157
+ "high",
158
+ "xhigh"
159
+ ]
160
+ },
161
+ {
162
+ "id": "gpt-5.2-pro",
163
+ "provider": "openai",
164
+ "modelIds": [
165
+ "gpt-5.2-pro"
166
+ ],
167
+ "contextWindowTokens": 400000,
168
+ "maxOutputTokens": 128000,
169
+ "reasoning": true,
170
+ "imageInput": true,
171
+ "source": "openai-models",
172
+ "reasoningEfforts": [
173
+ "none",
174
+ "low",
175
+ "medium",
176
+ "high",
177
+ "xhigh"
178
+ ]
179
+ },
180
+ {
181
+ "id": "gpt-5.1",
182
+ "provider": "openai",
183
+ "modelIds": [
184
+ "gpt-5.1"
185
+ ],
186
+ "contextWindowTokens": 400000,
187
+ "maxOutputTokens": 128000,
188
+ "knowledgeCutoff": "2024-09-30",
189
+ "reasoning": true,
190
+ "imageInput": true,
191
+ "source": "openai-models",
192
+ "reasoningEfforts": [
193
+ "none",
194
+ "low",
195
+ "medium",
196
+ "high"
197
+ ]
198
+ },
199
+ {
200
+ "id": "gpt-5.1-codex",
201
+ "provider": "openai",
202
+ "modelIds": [
203
+ "gpt-5.1-codex"
204
+ ],
205
+ "contextWindowTokens": 400000,
206
+ "maxOutputTokens": 128000,
207
+ "knowledgeCutoff": "2024-09-30",
208
+ "reasoning": true,
209
+ "imageInput": true,
210
+ "source": "openai-models",
211
+ "reasoningEfforts": [
212
+ "low",
213
+ "medium",
214
+ "high"
215
+ ]
216
+ },
217
+ {
218
+ "id": "gpt-5.1-codex-max",
219
+ "provider": "openai",
220
+ "modelIds": [
221
+ "gpt-5.1-codex-max"
222
+ ],
223
+ "contextWindowTokens": 400000,
224
+ "maxOutputTokens": 128000,
225
+ "knowledgeCutoff": "2024-09-30",
226
+ "reasoning": true,
227
+ "imageInput": true,
228
+ "source": "openai-models",
229
+ "reasoningEfforts": [
230
+ "low",
231
+ "medium",
232
+ "high"
233
+ ]
234
+ },
235
+ {
236
+ "id": "gpt-5.1-codex-mini",
237
+ "provider": "openai",
238
+ "modelIds": [
239
+ "gpt-5.1-codex-mini"
240
+ ],
241
+ "contextWindowTokens": 400000,
242
+ "maxOutputTokens": 128000,
243
+ "knowledgeCutoff": "2024-09-30",
244
+ "reasoning": true,
245
+ "imageInput": true,
246
+ "source": "openai-models",
247
+ "reasoningEfforts": [
248
+ "low",
249
+ "medium",
250
+ "high"
251
+ ]
252
+ },
253
+ {
254
+ "id": "gpt-5",
255
+ "provider": "openai",
256
+ "modelIds": [
257
+ "gpt-5"
258
+ ],
259
+ "contextWindowTokens": 400000,
260
+ "maxOutputTokens": 128000,
261
+ "reasoning": true,
262
+ "imageInput": true,
263
+ "source": "openai-models",
264
+ "reasoningEfforts": [
265
+ "minimal",
266
+ "low",
267
+ "medium",
268
+ "high"
269
+ ]
270
+ },
271
+ {
272
+ "id": "gpt-5-codex",
273
+ "provider": "openai",
274
+ "modelIds": [
275
+ "gpt-5-codex"
276
+ ],
277
+ "contextWindowTokens": 400000,
278
+ "maxOutputTokens": 128000,
279
+ "reasoning": true,
280
+ "imageInput": true,
281
+ "source": "openai-models",
282
+ "reasoningEfforts": [
283
+ "minimal",
284
+ "low",
285
+ "medium",
286
+ "high"
287
+ ]
288
+ },
289
+ {
290
+ "id": "gpt-5-mini",
291
+ "provider": "openai",
292
+ "modelIds": [
293
+ "gpt-5-mini"
294
+ ],
295
+ "contextWindowTokens": 400000,
296
+ "maxOutputTokens": 128000,
297
+ "reasoning": true,
298
+ "imageInput": true,
299
+ "source": "openai-models",
300
+ "reasoningEfforts": [
301
+ "minimal",
302
+ "low",
303
+ "medium",
304
+ "high"
305
+ ]
306
+ },
307
+ {
308
+ "id": "gpt-5-nano",
309
+ "provider": "openai",
310
+ "modelIds": [
311
+ "gpt-5-nano"
312
+ ],
313
+ "contextWindowTokens": 400000,
314
+ "maxOutputTokens": 128000,
315
+ "reasoning": true,
316
+ "imageInput": true,
317
+ "source": "openai-models",
318
+ "reasoningEfforts": [
319
+ "minimal",
320
+ "low",
321
+ "medium",
322
+ "high"
323
+ ]
324
+ },
325
+ {
326
+ "id": "gpt-5-pro",
327
+ "provider": "openai",
328
+ "modelIds": [
329
+ "gpt-5-pro"
330
+ ],
331
+ "contextWindowTokens": 400000,
332
+ "maxOutputTokens": 272000,
333
+ "reasoning": true,
334
+ "imageInput": true,
335
+ "source": "openai-models",
336
+ "reasoningEfforts": [
337
+ "minimal",
338
+ "low",
339
+ "medium",
340
+ "high"
341
+ ]
342
+ },
343
+ {
344
+ "id": "gpt-4.1",
345
+ "provider": "openai",
346
+ "modelIds": [
347
+ "gpt-4.1"
348
+ ],
349
+ "contextWindowTokens": 1047576,
350
+ "maxOutputTokens": 32768,
351
+ "reasoning": false,
352
+ "imageInput": true,
353
+ "source": "openai-models"
354
+ },
355
+ {
356
+ "id": "gpt-4.1-mini",
357
+ "provider": "openai",
358
+ "modelIds": [
359
+ "gpt-4.1-mini"
360
+ ],
361
+ "contextWindowTokens": 1047576,
362
+ "maxOutputTokens": 32768,
363
+ "reasoning": false,
364
+ "imageInput": true,
365
+ "source": "openai-models"
366
+ },
367
+ {
368
+ "id": "gpt-4.1-nano",
369
+ "provider": "openai",
370
+ "modelIds": [
371
+ "gpt-4.1-nano"
372
+ ],
373
+ "contextWindowTokens": 1047576,
374
+ "maxOutputTokens": 32768,
375
+ "reasoning": false,
376
+ "imageInput": true,
377
+ "source": "openai-models"
378
+ },
379
+ {
380
+ "id": "gpt-4o",
381
+ "provider": "openai",
382
+ "modelIds": [
383
+ "gpt-4o"
384
+ ],
385
+ "contextWindowTokens": 128000,
386
+ "maxOutputTokens": 16384,
387
+ "reasoning": false,
388
+ "imageInput": true,
389
+ "source": "openai-models"
390
+ },
391
+ {
392
+ "id": "gpt-4o-mini",
393
+ "provider": "openai",
394
+ "modelIds": [
395
+ "gpt-4o-mini"
396
+ ],
397
+ "contextWindowTokens": 128000,
398
+ "maxOutputTokens": 16384,
399
+ "reasoning": false,
400
+ "imageInput": true,
401
+ "source": "openai-models"
402
+ },
403
+ {
404
+ "id": "chatgpt-4o-latest",
405
+ "provider": "openai",
406
+ "modelIds": [
407
+ "chatgpt-4o-latest"
408
+ ],
409
+ "contextWindowTokens": 128000,
410
+ "maxOutputTokens": 16384,
411
+ "reasoning": false,
412
+ "imageInput": true,
413
+ "source": "openai-models"
414
+ },
415
+ {
416
+ "id": "gpt-4o-search-preview",
417
+ "provider": "openai",
418
+ "modelIds": [
419
+ "gpt-4o-search-preview"
420
+ ],
421
+ "contextWindowTokens": 128000,
422
+ "maxOutputTokens": 16384,
423
+ "reasoning": false,
424
+ "imageInput": true,
425
+ "source": "openai-models"
426
+ },
427
+ {
428
+ "id": "gpt-4o-mini-search-preview",
429
+ "provider": "openai",
430
+ "modelIds": [
431
+ "gpt-4o-mini-search-preview"
432
+ ],
433
+ "contextWindowTokens": 128000,
434
+ "maxOutputTokens": 16384,
435
+ "reasoning": false,
436
+ "imageInput": true,
437
+ "source": "openai-models"
438
+ },
439
+ {
440
+ "id": "o4-mini",
441
+ "provider": "openai",
442
+ "modelIds": [
443
+ "o4-mini"
444
+ ],
445
+ "contextWindowTokens": 200000,
446
+ "maxOutputTokens": 100000,
447
+ "reasoning": true,
448
+ "imageInput": true,
449
+ "source": "openai-models",
450
+ "reasoningEfforts": [
451
+ "low",
452
+ "medium",
453
+ "high"
454
+ ]
455
+ },
456
+ {
457
+ "id": "o4-mini-deep-research",
458
+ "provider": "openai",
459
+ "modelIds": [
460
+ "o4-mini-deep-research"
461
+ ],
462
+ "contextWindowTokens": 200000,
463
+ "maxOutputTokens": 100000,
464
+ "reasoning": true,
465
+ "imageInput": true,
466
+ "source": "openai-models",
467
+ "reasoningEfforts": [
468
+ "low",
469
+ "medium",
470
+ "high"
471
+ ]
472
+ },
473
+ {
474
+ "id": "gpt-4",
475
+ "provider": "openai",
476
+ "modelIds": [
477
+ "gpt-4"
478
+ ],
479
+ "contextWindowTokens": 8192,
480
+ "maxOutputTokens": 8192,
481
+ "reasoning": false,
482
+ "imageInput": false,
483
+ "source": "openai-models"
484
+ },
485
+ {
486
+ "id": "claude-opus-4-7",
487
+ "provider": "anthropic",
488
+ "modelIds": [
489
+ "claude-opus-4-7"
490
+ ],
491
+ "contextWindowTokens": 1000000,
492
+ "maxOutputTokens": 128000,
493
+ "reasoning": true,
494
+ "imageInput": true,
495
+ "source": "anthropic-models"
496
+ },
497
+ {
498
+ "id": "claude-sonnet-4-6",
499
+ "provider": "anthropic",
500
+ "modelIds": [
501
+ "claude-sonnet-4-6"
502
+ ],
503
+ "contextWindowTokens": 1000000,
504
+ "maxOutputTokens": 64000,
505
+ "reasoning": true,
506
+ "imageInput": true,
507
+ "source": "anthropic-models"
508
+ },
509
+ {
510
+ "id": "claude-haiku-4-5",
511
+ "provider": "anthropic",
512
+ "modelIds": [
513
+ "claude-haiku-4-5",
514
+ "claude-haiku-4-5-20251001"
515
+ ],
516
+ "contextWindowTokens": 200000,
517
+ "maxOutputTokens": 64000,
518
+ "reasoning": true,
519
+ "imageInput": true,
520
+ "source": "anthropic-models"
521
+ },
522
+ {
523
+ "id": "gemini-3.1-pro-preview",
524
+ "provider": "google",
525
+ "modelIds": [
526
+ "gemini-3.1-pro-preview",
527
+ "gemini-3.1-pro-preview-customtools"
528
+ ],
529
+ "contextWindowTokens": 1048576,
530
+ "maxOutputTokens": 65536,
531
+ "reasoning": true,
532
+ "imageInput": true,
533
+ "source": "gemini-models"
534
+ },
535
+ {
536
+ "id": "gemini-3-flash-preview",
537
+ "provider": "google",
538
+ "modelIds": [
539
+ "gemini-3-flash-preview"
540
+ ],
541
+ "contextWindowTokens": 1048576,
542
+ "maxOutputTokens": 65536,
543
+ "reasoning": true,
544
+ "imageInput": true,
545
+ "source": "gemini-models"
546
+ },
547
+ {
548
+ "id": "gemini-2.5-pro",
549
+ "provider": "google",
550
+ "modelIds": [
551
+ "gemini-2.5-pro"
552
+ ],
553
+ "contextWindowTokens": 1048576,
554
+ "maxOutputTokens": 65536,
555
+ "reasoning": true,
556
+ "imageInput": true,
557
+ "source": "gemini-models"
558
+ },
559
+ {
560
+ "id": "gemini-2.5-flash",
561
+ "provider": "google",
562
+ "modelIds": [
563
+ "gemini-2.5-flash"
564
+ ],
565
+ "contextWindowTokens": 1048576,
566
+ "maxOutputTokens": 65536,
567
+ "reasoning": true,
568
+ "imageInput": true,
569
+ "source": "gemini-models"
570
+ },
571
+ {
572
+ "id": "gemini-2.5-flash-lite",
573
+ "provider": "google",
574
+ "modelIds": [
575
+ "gemini-2.5-flash-lite"
576
+ ],
577
+ "contextWindowTokens": 1048576,
578
+ "maxOutputTokens": 65536,
579
+ "reasoning": true,
580
+ "imageInput": true,
581
+ "source": "gemini-models"
582
+ },
583
+ {
584
+ "id": "gemini-2.0-flash",
585
+ "provider": "google",
586
+ "modelIds": [
587
+ "gemini-2.0-flash"
588
+ ],
589
+ "contextWindowTokens": 1048576,
590
+ "maxOutputTokens": 8192,
591
+ "reasoning": true,
592
+ "imageInput": true,
593
+ "source": "gemini-models"
594
+ },
595
+ {
596
+ "id": "deepseek-v4-pro",
597
+ "provider": "deepseek",
598
+ "modelIds": [
599
+ "deepseek-v4-pro"
600
+ ],
601
+ "contextWindowTokens": 1000000,
602
+ "maxOutputTokens": 384000,
603
+ "reasoning": true,
604
+ "imageInput": false,
605
+ "source": "deepseek-pricing",
606
+ "reasoningEfforts": [
607
+ "high",
608
+ "max"
609
+ ]
610
+ },
611
+ {
612
+ "id": "deepseek-v4-flash",
613
+ "provider": "deepseek",
614
+ "modelIds": [
615
+ "deepseek-v4-flash"
616
+ ],
617
+ "contextWindowTokens": 1000000,
618
+ "maxOutputTokens": 384000,
619
+ "reasoning": true,
620
+ "imageInput": false,
621
+ "source": "deepseek-pricing",
622
+ "reasoningEfforts": [
623
+ "high",
624
+ "max"
625
+ ]
626
+ },
627
+ {
628
+ "id": "deepseek-chat",
629
+ "provider": "deepseek",
630
+ "modelIds": [
631
+ "deepseek-chat"
632
+ ],
633
+ "contextWindowTokens": 1000000,
634
+ "maxOutputTokens": 384000,
635
+ "reasoning": false,
636
+ "imageInput": false,
637
+ "source": "deepseek-pricing",
638
+ "notes": "Compatibility alias for non-thinking mode of deepseek-v4-flash."
639
+ },
640
+ {
641
+ "id": "deepseek-reasoner",
642
+ "provider": "deepseek",
643
+ "modelIds": [
644
+ "deepseek-reasoner"
645
+ ],
646
+ "contextWindowTokens": 1000000,
647
+ "maxOutputTokens": 384000,
648
+ "reasoning": true,
649
+ "imageInput": false,
650
+ "source": "deepseek-pricing",
651
+ "notes": "Compatibility alias for thinking mode of deepseek-v4-flash.",
652
+ "reasoningEfforts": [
653
+ "high",
654
+ "max"
655
+ ]
656
+ },
657
+ {
658
+ "id": "kimi-k2.6",
659
+ "provider": "kimi",
660
+ "modelIds": [
661
+ "kimi-k2.6"
662
+ ],
663
+ "contextWindowTokens": 256000,
664
+ "reasoning": true,
665
+ "imageInput": true,
666
+ "source": "kimi-chat",
667
+ "notes": "Default Kimi API Chat Completions model per Kimi quickstart; OpenAI-compatible endpoint https://api.moonshot.cn/v1/chat/completions."
668
+ },
669
+ {
670
+ "id": "kimi-k2.5",
671
+ "provider": "kimi",
672
+ "modelIds": [
673
+ "kimi-k2.5"
674
+ ],
675
+ "contextWindowTokens": 256000,
676
+ "reasoning": true,
677
+ "imageInput": true,
678
+ "source": "kimi-thinking"
679
+ },
680
+ {
681
+ "id": "kimi-k2-thinking",
682
+ "provider": "kimi",
683
+ "modelIds": [
684
+ "kimi-k2-thinking"
685
+ ],
686
+ "contextWindowTokens": 256000,
687
+ "reasoning": true,
688
+ "imageInput": false,
689
+ "source": "kimi-thinking",
690
+ "notes": "Thinking model responses may include reasoning_content, normalized to thinking events."
691
+ },
692
+ {
693
+ "id": "kimi-k2-0905-preview",
694
+ "provider": "kimi",
695
+ "modelIds": [
696
+ "kimi-k2-0905-preview"
697
+ ],
698
+ "contextWindowTokens": 256000,
699
+ "reasoning": false,
700
+ "imageInput": false,
701
+ "source": "kimi-chat"
702
+ },
703
+ {
704
+ "id": "mistral-large-latest",
705
+ "provider": "mistral",
706
+ "modelIds": [
707
+ "mistral-large-latest"
708
+ ],
709
+ "contextWindowTokens": 131072,
710
+ "reasoning": false,
711
+ "imageInput": true,
712
+ "source": "mistral-known-limitations"
713
+ },
714
+ {
715
+ "id": "mistral-small-latest",
716
+ "provider": "mistral",
717
+ "modelIds": [
718
+ "mistral-small-latest"
719
+ ],
720
+ "contextWindowTokens": 32768,
721
+ "reasoning": false,
722
+ "imageInput": true,
723
+ "source": "mistral-known-limitations"
724
+ }
725
+ ]
726
+ }