llm-switcher 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.gitattributes +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +587 -0
  4. package/README.vi.md +585 -0
  5. package/blindfold/blindfold.mjs +633 -0
  6. package/blindfold/make-certs.sh +88 -0
  7. package/blindfold/wsframe.mjs +176 -0
  8. package/codex-catalog-template.json +1 -0
  9. package/config.example.json +84 -0
  10. package/contract-exclusions.json +41 -0
  11. package/contract.mjs +561 -0
  12. package/docs/LLM-RESPONSE-MATRIX.md +165 -0
  13. package/docs/TOKEN-OPTIMIZER-INTEROP.md +110 -0
  14. package/docs/codex-blindfold.md +214 -0
  15. package/docs/cross-platform.md +136 -0
  16. package/docs/diagrams/blindfold-request-routing.html +14972 -0
  17. package/docs/diagrams/blindfold-request-routing.sequence.json +175 -0
  18. package/docs/diagrams/blindfold-switch-lifecycle.html +14958 -0
  19. package/docs/diagrams/blindfold-switch-lifecycle.lifecycle.json +159 -0
  20. package/docs/diagrams/codex-model-name-resolution.html +15005 -0
  21. package/docs/diagrams/codex-model-name-resolution.workflow.json +71 -0
  22. package/docs/response-matrix.json +1131 -0
  23. package/formats.mjs +2308 -0
  24. package/mcp.mjs +340 -0
  25. package/package.json +36 -0
  26. package/proxy.mjs +1743 -0
  27. package/service.mjs +132 -0
  28. package/shim.mjs +292 -0
  29. package/skills/llm-switcher/SKILL.md +88 -0
  30. package/state.mjs +978 -0
  31. package/switch +5 -0
  32. package/switch.cmd +2 -0
  33. package/switch.mjs +930 -0
  34. package/tests/blindfold.test.mjs +307 -0
  35. package/tests/blindfold.wire.test.mjs +170 -0
  36. package/tests/contract/run.test.mjs +214 -0
  37. package/tests/contract-check.test.mjs +458 -0
  38. package/tests/contract-lab.test.mjs +755 -0
  39. package/tests/datadir.test.mjs +37 -0
  40. package/tests/formats.test.mjs +794 -0
  41. package/tests/gateway.e2e.test.mjs +999 -0
  42. package/tests/helpers.mjs +24 -0
  43. package/tests/lifecycle.test.mjs +416 -0
  44. package/tests/live-optimizer-interop.mjs +205 -0
  45. package/tests/mcp.test.mjs +91 -0
  46. package/tests/service.test.mjs +69 -0
  47. package/tests/shim.test.mjs +228 -0
  48. package/tests/state.test.mjs +675 -0
  49. package/tests/switch.test.mjs +156 -0
  50. package/tests/wsframe.test.mjs +154 -0
  51. package/ui.html +2234 -0
@@ -0,0 +1,1131 @@
1
+ {
2
+ "generated": "2026-09-12",
3
+ "gateway": "9router (OpenAI-compatible /v1/chat/completions)",
4
+ "method": "live sampling, hard reasoning prompt except tool/trunc variants",
5
+ "variants": [
6
+ "base-stream",
7
+ "think-stream",
8
+ "think-nostream",
9
+ "tool-stream",
10
+ "trunc-stream",
11
+ "effort-stream"
12
+ ],
13
+ "backends": {
14
+ "claude-budget": {
15
+ "model": "ag/claude-opus-4-6-thinking",
16
+ "thinkingFormat": null,
17
+ "variants": {
18
+ "base-stream": {
19
+ "status": 200,
20
+ "reasoningField": "reasoning_content",
21
+ "reasoningChars": 172,
22
+ "textChars": 846,
23
+ "contentNull": false,
24
+ "toolCalls": false,
25
+ "functionCall": false,
26
+ "thinkTagInContent": false,
27
+ "vertexParts": false,
28
+ "finishReasons": {
29
+ "stop": 1
30
+ },
31
+ "deltaKeys": [
32
+ "role",
33
+ "reasoning_content",
34
+ "content"
35
+ ],
36
+ "usageKeySets": [
37
+ "completion_tokens,prompt_tokens,total_tokens"
38
+ ],
39
+ "idPrefix": "chatcmpl"
40
+ },
41
+ "think-stream": {
42
+ "status": 200,
43
+ "reasoningField": "reasoning_content",
44
+ "reasoningChars": 172,
45
+ "textChars": 893,
46
+ "contentNull": false,
47
+ "toolCalls": false,
48
+ "functionCall": false,
49
+ "thinkTagInContent": false,
50
+ "vertexParts": false,
51
+ "finishReasons": {
52
+ "stop": 1
53
+ },
54
+ "deltaKeys": [
55
+ "role",
56
+ "reasoning_content",
57
+ "content"
58
+ ],
59
+ "usageKeySets": [
60
+ "completion_tokens,prompt_tokens,total_tokens"
61
+ ],
62
+ "idPrefix": "chatcmpl"
63
+ },
64
+ "think-nostream": {
65
+ "status": 200,
66
+ "reasoningField": null,
67
+ "reasoningChars": 0,
68
+ "textChars": 1760,
69
+ "contentNull": false,
70
+ "toolCalls": false,
71
+ "functionCall": false,
72
+ "thinkTagInContent": false,
73
+ "vertexParts": false,
74
+ "finishReasons": {
75
+ "stop": 1
76
+ },
77
+ "deltaKeys": [],
78
+ "usageKeySets": [
79
+ "completion_tokens,prompt_tokens,total_tokens"
80
+ ],
81
+ "idPrefix": "chatcmpl"
82
+ },
83
+ "tool-stream": {
84
+ "status": 200,
85
+ "reasoningField": "reasoning_content",
86
+ "reasoningChars": 61,
87
+ "textChars": 0,
88
+ "contentNull": false,
89
+ "toolCalls": true,
90
+ "functionCall": false,
91
+ "thinkTagInContent": false,
92
+ "vertexParts": false,
93
+ "finishReasons": {
94
+ "tool_calls": 1
95
+ },
96
+ "deltaKeys": [
97
+ "role",
98
+ "reasoning_content",
99
+ "tool_calls"
100
+ ],
101
+ "usageKeySets": [
102
+ "completion_tokens,prompt_tokens,total_tokens"
103
+ ],
104
+ "idPrefix": "chatcmpl"
105
+ },
106
+ "trunc-stream": {
107
+ "status": 200,
108
+ "reasoningField": "reasoning_content",
109
+ "reasoningChars": 172,
110
+ "textChars": 853,
111
+ "contentNull": false,
112
+ "toolCalls": false,
113
+ "functionCall": false,
114
+ "thinkTagInContent": false,
115
+ "vertexParts": false,
116
+ "finishReasons": {
117
+ "stop": 1
118
+ },
119
+ "deltaKeys": [
120
+ "role",
121
+ "reasoning_content",
122
+ "content"
123
+ ],
124
+ "usageKeySets": [
125
+ "completion_tokens,prompt_tokens,total_tokens"
126
+ ],
127
+ "idPrefix": "chatcmpl"
128
+ },
129
+ "effort-stream": {
130
+ "status": 200,
131
+ "reasoningField": "reasoning_content",
132
+ "reasoningChars": 233,
133
+ "textChars": 1200,
134
+ "contentNull": false,
135
+ "toolCalls": false,
136
+ "functionCall": false,
137
+ "thinkTagInContent": false,
138
+ "vertexParts": false,
139
+ "finishReasons": {
140
+ "stop": 1
141
+ },
142
+ "deltaKeys": [
143
+ "role",
144
+ "reasoning_content",
145
+ "content"
146
+ ],
147
+ "usageKeySets": [
148
+ "completion_tokens,prompt_tokens,total_tokens"
149
+ ],
150
+ "idPrefix": "chatcmpl"
151
+ }
152
+ }
153
+ },
154
+ "claude-adaptive": {
155
+ "model": "ag/claude-sonnet-4-6",
156
+ "thinkingFormat": null,
157
+ "variants": {
158
+ "base-stream": {
159
+ "status": 200,
160
+ "reasoningField": null,
161
+ "reasoningChars": 0,
162
+ "textChars": 996,
163
+ "contentNull": false,
164
+ "toolCalls": false,
165
+ "functionCall": false,
166
+ "thinkTagInContent": false,
167
+ "vertexParts": false,
168
+ "finishReasons": {
169
+ "stop": 1
170
+ },
171
+ "deltaKeys": [
172
+ "role",
173
+ "content"
174
+ ],
175
+ "usageKeySets": [
176
+ "completion_tokens,prompt_tokens,total_tokens"
177
+ ],
178
+ "idPrefix": "chatcmpl"
179
+ },
180
+ "think-stream": {
181
+ "status": 200,
182
+ "reasoningField": null,
183
+ "reasoningChars": 0,
184
+ "textChars": 1077,
185
+ "contentNull": false,
186
+ "toolCalls": false,
187
+ "functionCall": false,
188
+ "thinkTagInContent": false,
189
+ "vertexParts": false,
190
+ "finishReasons": {
191
+ "stop": 1
192
+ },
193
+ "deltaKeys": [
194
+ "role",
195
+ "content"
196
+ ],
197
+ "usageKeySets": [
198
+ "completion_tokens,prompt_tokens,total_tokens"
199
+ ],
200
+ "idPrefix": "chatcmpl"
201
+ },
202
+ "think-nostream": {
203
+ "status": 200,
204
+ "reasoningField": null,
205
+ "reasoningChars": 0,
206
+ "textChars": 2242,
207
+ "contentNull": false,
208
+ "toolCalls": false,
209
+ "functionCall": false,
210
+ "thinkTagInContent": false,
211
+ "vertexParts": false,
212
+ "finishReasons": {
213
+ "stop": 1
214
+ },
215
+ "deltaKeys": [],
216
+ "usageKeySets": [
217
+ "completion_tokens,prompt_tokens,total_tokens"
218
+ ],
219
+ "idPrefix": "chatcmpl"
220
+ },
221
+ "tool-stream": {
222
+ "status": 200,
223
+ "reasoningField": null,
224
+ "reasoningChars": 0,
225
+ "textChars": 0,
226
+ "contentNull": false,
227
+ "toolCalls": true,
228
+ "functionCall": false,
229
+ "thinkTagInContent": false,
230
+ "vertexParts": false,
231
+ "finishReasons": {
232
+ "tool_calls": 1
233
+ },
234
+ "deltaKeys": [
235
+ "role",
236
+ "tool_calls"
237
+ ],
238
+ "usageKeySets": [
239
+ "completion_tokens,prompt_tokens,total_tokens"
240
+ ],
241
+ "idPrefix": "chatcmpl"
242
+ },
243
+ "trunc-stream": {
244
+ "status": 200,
245
+ "reasoningField": null,
246
+ "reasoningChars": 0,
247
+ "textChars": 140,
248
+ "contentNull": false,
249
+ "toolCalls": false,
250
+ "functionCall": false,
251
+ "thinkTagInContent": false,
252
+ "vertexParts": false,
253
+ "finishReasons": {
254
+ "length": 1
255
+ },
256
+ "deltaKeys": [
257
+ "role",
258
+ "content"
259
+ ],
260
+ "usageKeySets": [
261
+ "completion_tokens,prompt_tokens,total_tokens"
262
+ ],
263
+ "idPrefix": "chatcmpl"
264
+ },
265
+ "effort-stream": {
266
+ "status": 200,
267
+ "reasoningField": null,
268
+ "reasoningChars": 0,
269
+ "textChars": 1103,
270
+ "contentNull": false,
271
+ "toolCalls": false,
272
+ "functionCall": false,
273
+ "thinkTagInContent": false,
274
+ "vertexParts": false,
275
+ "finishReasons": {
276
+ "stop": 1
277
+ },
278
+ "deltaKeys": [
279
+ "role",
280
+ "content"
281
+ ],
282
+ "usageKeySets": [
283
+ "completion_tokens,prompt_tokens,total_tokens"
284
+ ],
285
+ "idPrefix": "chatcmpl"
286
+ }
287
+ }
288
+ },
289
+ "gemini": {
290
+ "model": "ag/gemini-3.8-flash-high",
291
+ "thinkingFormat": null,
292
+ "variants": {
293
+ "base-stream": {
294
+ "status": 200,
295
+ "reasoningField": "reasoning_content",
296
+ "reasoningChars": 307,
297
+ "textChars": 1371,
298
+ "contentNull": false,
299
+ "toolCalls": false,
300
+ "functionCall": false,
301
+ "thinkTagInContent": false,
302
+ "vertexParts": false,
303
+ "finishReasons": {
304
+ "stop": 1
305
+ },
306
+ "deltaKeys": [
307
+ "role",
308
+ "reasoning_content",
309
+ "content"
310
+ ],
311
+ "usageKeySets": [
312
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
313
+ ],
314
+ "idPrefix": "chatcmpl"
315
+ },
316
+ "think-stream": {
317
+ "status": 200,
318
+ "reasoningField": "reasoning_content",
319
+ "reasoningChars": 272,
320
+ "textChars": 1264,
321
+ "contentNull": false,
322
+ "toolCalls": false,
323
+ "functionCall": false,
324
+ "thinkTagInContent": false,
325
+ "vertexParts": false,
326
+ "finishReasons": {
327
+ "stop": 1
328
+ },
329
+ "deltaKeys": [
330
+ "role",
331
+ "reasoning_content",
332
+ "content"
333
+ ],
334
+ "usageKeySets": [
335
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
336
+ ],
337
+ "idPrefix": "chatcmpl"
338
+ },
339
+ "think-nostream": {
340
+ "status": 200,
341
+ "reasoningField": null,
342
+ "reasoningChars": 0,
343
+ "textChars": 2876,
344
+ "contentNull": false,
345
+ "toolCalls": false,
346
+ "functionCall": false,
347
+ "thinkTagInContent": false,
348
+ "vertexParts": false,
349
+ "finishReasons": {
350
+ "stop": 1
351
+ },
352
+ "deltaKeys": [],
353
+ "usageKeySets": [
354
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
355
+ ],
356
+ "idPrefix": "chatcmpl"
357
+ },
358
+ "tool-stream": {
359
+ "status": 200,
360
+ "reasoningField": null,
361
+ "reasoningChars": 0,
362
+ "textChars": 0,
363
+ "contentNull": false,
364
+ "toolCalls": true,
365
+ "functionCall": false,
366
+ "thinkTagInContent": false,
367
+ "vertexParts": false,
368
+ "finishReasons": {
369
+ "tool_calls": 1
370
+ },
371
+ "deltaKeys": [
372
+ "role",
373
+ "tool_calls"
374
+ ],
375
+ "usageKeySets": [
376
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
377
+ ],
378
+ "idPrefix": "chatcmpl"
379
+ },
380
+ "trunc-stream": {
381
+ "status": 200,
382
+ "reasoningField": "reasoning_content",
383
+ "reasoningChars": 771,
384
+ "textChars": 1409,
385
+ "contentNull": false,
386
+ "toolCalls": false,
387
+ "functionCall": false,
388
+ "thinkTagInContent": false,
389
+ "vertexParts": false,
390
+ "finishReasons": {
391
+ "stop": 1
392
+ },
393
+ "deltaKeys": [
394
+ "role",
395
+ "reasoning_content",
396
+ "content"
397
+ ],
398
+ "usageKeySets": [
399
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
400
+ ],
401
+ "idPrefix": "chatcmpl"
402
+ },
403
+ "effort-stream": {
404
+ "status": 200,
405
+ "reasoningField": "reasoning_content",
406
+ "reasoningChars": 823,
407
+ "textChars": 1498,
408
+ "contentNull": false,
409
+ "toolCalls": false,
410
+ "functionCall": false,
411
+ "thinkTagInContent": false,
412
+ "vertexParts": false,
413
+ "finishReasons": {
414
+ "stop": 1
415
+ },
416
+ "deltaKeys": [
417
+ "role",
418
+ "reasoning_content",
419
+ "content"
420
+ ],
421
+ "usageKeySets": [
422
+ "completion_tokens,completion_tokens_details,prompt_tokens,total_tokens"
423
+ ],
424
+ "idPrefix": "chatcmpl"
425
+ }
426
+ }
427
+ },
428
+ "openai": {
429
+ "model": "ag/gpt-oss-120b-medium",
430
+ "thinkingFormat": null,
431
+ "variants": {
432
+ "base-stream": {
433
+ "status": 200,
434
+ "reasoningField": "reasoning_content",
435
+ "reasoningChars": 244,
436
+ "textChars": 858,
437
+ "contentNull": false,
438
+ "toolCalls": false,
439
+ "functionCall": false,
440
+ "thinkTagInContent": false,
441
+ "vertexParts": false,
442
+ "finishReasons": {
443
+ "stop": 1
444
+ },
445
+ "deltaKeys": [
446
+ "role",
447
+ "reasoning_content",
448
+ "content"
449
+ ],
450
+ "usageKeySets": [],
451
+ "idPrefix": "chatcmpl"
452
+ },
453
+ "think-stream": {
454
+ "status": 200,
455
+ "reasoningField": "reasoning_content",
456
+ "reasoningChars": 73,
457
+ "textChars": 943,
458
+ "contentNull": false,
459
+ "toolCalls": false,
460
+ "functionCall": false,
461
+ "thinkTagInContent": false,
462
+ "vertexParts": false,
463
+ "finishReasons": {
464
+ "stop": 1
465
+ },
466
+ "deltaKeys": [
467
+ "role",
468
+ "reasoning_content",
469
+ "content"
470
+ ],
471
+ "usageKeySets": [],
472
+ "idPrefix": "chatcmpl"
473
+ },
474
+ "think-nostream": {
475
+ "status": 200,
476
+ "reasoningField": null,
477
+ "reasoningChars": 0,
478
+ "textChars": 1666,
479
+ "contentNull": false,
480
+ "toolCalls": false,
481
+ "functionCall": false,
482
+ "thinkTagInContent": false,
483
+ "vertexParts": false,
484
+ "finishReasons": {
485
+ "stop": 1
486
+ },
487
+ "deltaKeys": [],
488
+ "usageKeySets": [
489
+ "completion_tokens,prompt_tokens,total_tokens"
490
+ ],
491
+ "idPrefix": "chatcmpl"
492
+ },
493
+ "tool-stream": {
494
+ "status": 200,
495
+ "reasoningField": "reasoning_content",
496
+ "reasoningChars": 115,
497
+ "textChars": 0,
498
+ "contentNull": false,
499
+ "toolCalls": true,
500
+ "functionCall": false,
501
+ "thinkTagInContent": false,
502
+ "vertexParts": false,
503
+ "finishReasons": {
504
+ "tool_calls": 1
505
+ },
506
+ "deltaKeys": [
507
+ "role",
508
+ "reasoning_content",
509
+ "tool_calls"
510
+ ],
511
+ "usageKeySets": [],
512
+ "idPrefix": "chatcmpl"
513
+ },
514
+ "trunc-stream": {
515
+ "status": 200,
516
+ "reasoningField": "reasoning_content",
517
+ "reasoningChars": 151,
518
+ "textChars": 0,
519
+ "contentNull": false,
520
+ "toolCalls": false,
521
+ "functionCall": false,
522
+ "thinkTagInContent": false,
523
+ "vertexParts": false,
524
+ "finishReasons": {
525
+ "length": 1
526
+ },
527
+ "deltaKeys": [
528
+ "role",
529
+ "reasoning_content"
530
+ ],
531
+ "usageKeySets": [],
532
+ "idPrefix": "chatcmpl"
533
+ },
534
+ "effort-stream": {
535
+ "status": 503,
536
+ "reasoningField": null,
537
+ "reasoningChars": 0,
538
+ "textChars": 0,
539
+ "contentNull": false,
540
+ "toolCalls": false,
541
+ "functionCall": false,
542
+ "thinkTagInContent": false,
543
+ "vertexParts": false,
544
+ "finishReasons": {},
545
+ "deltaKeys": [],
546
+ "usageKeySets": [],
547
+ "idPrefix": null
548
+ }
549
+ }
550
+ },
551
+ "qwen": {
552
+ "model": "cf/@cf/qwen/qwq-32b",
553
+ "thinkingFormat": null,
554
+ "variants": {
555
+ "base-stream": {
556
+ "status": 200,
557
+ "reasoningField": null,
558
+ "reasoningChars": 0,
559
+ "textChars": 1945,
560
+ "contentNull": false,
561
+ "toolCalls": false,
562
+ "functionCall": false,
563
+ "thinkTagInContent": false,
564
+ "vertexParts": false,
565
+ "finishReasons": {
566
+ "stop": 4
567
+ },
568
+ "deltaKeys": [
569
+ "content"
570
+ ],
571
+ "usageKeySets": [
572
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens",
573
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
574
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
575
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
576
+ ],
577
+ "idPrefix": "id"
578
+ },
579
+ "think-stream": {
580
+ "status": 200,
581
+ "reasoningField": null,
582
+ "reasoningChars": 0,
583
+ "textChars": 2019,
584
+ "contentNull": false,
585
+ "toolCalls": false,
586
+ "functionCall": false,
587
+ "thinkTagInContent": false,
588
+ "vertexParts": false,
589
+ "finishReasons": {
590
+ "stop": 4
591
+ },
592
+ "deltaKeys": [
593
+ "content"
594
+ ],
595
+ "usageKeySets": [
596
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens",
597
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
598
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
599
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
600
+ ],
601
+ "idPrefix": "id"
602
+ },
603
+ "think-nostream": {
604
+ "status": 200,
605
+ "reasoningField": null,
606
+ "reasoningChars": 0,
607
+ "textChars": 4406,
608
+ "contentNull": false,
609
+ "toolCalls": false,
610
+ "functionCall": false,
611
+ "thinkTagInContent": false,
612
+ "vertexParts": false,
613
+ "finishReasons": {
614
+ "stop": 1
615
+ },
616
+ "deltaKeys": [],
617
+ "usageKeySets": [
618
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens"
619
+ ],
620
+ "idPrefix": "id"
621
+ },
622
+ "tool-stream": {
623
+ "status": 200,
624
+ "reasoningField": null,
625
+ "reasoningChars": 0,
626
+ "textChars": 857,
627
+ "contentNull": false,
628
+ "toolCalls": true,
629
+ "functionCall": false,
630
+ "thinkTagInContent": false,
631
+ "vertexParts": false,
632
+ "finishReasons": {
633
+ "stop": 4
634
+ },
635
+ "deltaKeys": [
636
+ "content",
637
+ "tool_calls"
638
+ ],
639
+ "usageKeySets": [
640
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens",
641
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
642
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
643
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
644
+ ],
645
+ "idPrefix": "id"
646
+ },
647
+ "trunc-stream": {
648
+ "status": 200,
649
+ "reasoningField": null,
650
+ "reasoningChars": 0,
651
+ "textChars": 124,
652
+ "contentNull": false,
653
+ "toolCalls": false,
654
+ "functionCall": false,
655
+ "thinkTagInContent": false,
656
+ "vertexParts": false,
657
+ "finishReasons": {
658
+ "stop": 3
659
+ },
660
+ "deltaKeys": [
661
+ "content"
662
+ ],
663
+ "usageKeySets": [
664
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens",
665
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
666
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
667
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
668
+ ],
669
+ "idPrefix": "id"
670
+ },
671
+ "effort-stream": {
672
+ "status": 200,
673
+ "reasoningField": null,
674
+ "reasoningChars": 0,
675
+ "textChars": 1891,
676
+ "contentNull": false,
677
+ "toolCalls": false,
678
+ "functionCall": false,
679
+ "thinkTagInContent": false,
680
+ "vertexParts": false,
681
+ "finishReasons": {
682
+ "stop": 3
683
+ },
684
+ "deltaKeys": [
685
+ "content"
686
+ ],
687
+ "usageKeySets": [
688
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens",
689
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
690
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
691
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
692
+ ],
693
+ "idPrefix": "id"
694
+ }
695
+ }
696
+ },
697
+ "zai": {
698
+ "model": "cf/@cf/zai-org/glm-4.7-flash",
699
+ "thinkingFormat": null,
700
+ "variants": {
701
+ "base-stream": {
702
+ "status": 200,
703
+ "reasoningField": "reasoning_content",
704
+ "reasoningChars": 3800,
705
+ "textChars": 0,
706
+ "contentNull": false,
707
+ "toolCalls": false,
708
+ "functionCall": false,
709
+ "thinkTagInContent": false,
710
+ "vertexParts": false,
711
+ "finishReasons": {
712
+ "length": 2
713
+ },
714
+ "deltaKeys": [
715
+ "role",
716
+ "content",
717
+ "reasoning_content",
718
+ "reasoning"
719
+ ],
720
+ "usageKeySets": [
721
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
722
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
723
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
724
+ ],
725
+ "idPrefix": "id"
726
+ },
727
+ "think-stream": {
728
+ "status": 200,
729
+ "reasoningField": "reasoning_content",
730
+ "reasoningChars": 1538,
731
+ "textChars": 521,
732
+ "contentNull": false,
733
+ "toolCalls": false,
734
+ "functionCall": false,
735
+ "thinkTagInContent": false,
736
+ "vertexParts": false,
737
+ "finishReasons": {
738
+ "stop": 2
739
+ },
740
+ "deltaKeys": [
741
+ "role",
742
+ "content",
743
+ "reasoning_content",
744
+ "reasoning"
745
+ ],
746
+ "usageKeySets": [
747
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
748
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
749
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
750
+ ],
751
+ "idPrefix": "id"
752
+ },
753
+ "think-nostream": {
754
+ "status": 200,
755
+ "reasoningField": "reasoning_content",
756
+ "reasoningChars": 8416,
757
+ "textChars": 0,
758
+ "contentNull": true,
759
+ "toolCalls": false,
760
+ "functionCall": false,
761
+ "thinkTagInContent": false,
762
+ "vertexParts": false,
763
+ "finishReasons": {
764
+ "length": 1
765
+ },
766
+ "deltaKeys": [],
767
+ "usageKeySets": [
768
+ "completion_tokens,prompt_tokens,prompt_tokens_details,total_tokens"
769
+ ],
770
+ "idPrefix": "id"
771
+ },
772
+ "tool-stream": {
773
+ "status": 200,
774
+ "reasoningField": "reasoning_content",
775
+ "reasoningChars": 460,
776
+ "textChars": 0,
777
+ "contentNull": false,
778
+ "toolCalls": true,
779
+ "functionCall": false,
780
+ "thinkTagInContent": false,
781
+ "vertexParts": false,
782
+ "finishReasons": {
783
+ "tool_calls": 2
784
+ },
785
+ "deltaKeys": [
786
+ "role",
787
+ "content",
788
+ "reasoning_content",
789
+ "reasoning",
790
+ "tool_calls"
791
+ ],
792
+ "usageKeySets": [
793
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
794
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
795
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
796
+ ],
797
+ "idPrefix": "id"
798
+ },
799
+ "trunc-stream": {
800
+ "status": 200,
801
+ "reasoningField": "reasoning_content",
802
+ "reasoningChars": 342,
803
+ "textChars": 0,
804
+ "contentNull": false,
805
+ "toolCalls": false,
806
+ "functionCall": false,
807
+ "thinkTagInContent": false,
808
+ "vertexParts": false,
809
+ "finishReasons": {
810
+ "length": 2
811
+ },
812
+ "deltaKeys": [
813
+ "role",
814
+ "content",
815
+ "reasoning_content",
816
+ "reasoning"
817
+ ],
818
+ "usageKeySets": [
819
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
820
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
821
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
822
+ ],
823
+ "idPrefix": "id"
824
+ },
825
+ "effort-stream": {
826
+ "status": 200,
827
+ "reasoningField": "reasoning_content",
828
+ "reasoningChars": 3792,
829
+ "textChars": 0,
830
+ "contentNull": false,
831
+ "toolCalls": false,
832
+ "functionCall": false,
833
+ "thinkTagInContent": false,
834
+ "vertexParts": false,
835
+ "finishReasons": {
836
+ "length": 2
837
+ },
838
+ "deltaKeys": [
839
+ "role",
840
+ "content",
841
+ "reasoning_content",
842
+ "reasoning"
843
+ ],
844
+ "usageKeySets": [
845
+ "completion_tokens,neurons,prompt_tokens,prompt_tokens_details,total_tokens",
846
+ "completion_tokens,estimated,prompt_tokens,total_tokens",
847
+ "completion_tokens,estimated,prompt_tokens,prompt_tokens_details,total_tokens"
848
+ ],
849
+ "idPrefix": "id"
850
+ }
851
+ }
852
+ },
853
+ "nvidia": {
854
+ "model": "nvidia/nvidia/nemotron-3-super-120b-a12b",
855
+ "thinkingFormat": null,
856
+ "variants": {
857
+ "base-stream": {
858
+ "status": 200,
859
+ "reasoningField": "reasoning_content",
860
+ "reasoningChars": 232,
861
+ "textChars": 993,
862
+ "contentNull": false,
863
+ "toolCalls": false,
864
+ "functionCall": false,
865
+ "thinkTagInContent": false,
866
+ "vertexParts": false,
867
+ "finishReasons": {
868
+ "stop": 1
869
+ },
870
+ "deltaKeys": [
871
+ "role",
872
+ "reasoning_content",
873
+ "content"
874
+ ],
875
+ "usageKeySets": [
876
+ "completion_tokens,estimated,prompt_tokens,total_tokens"
877
+ ],
878
+ "idPrefix": "chatcmpl"
879
+ },
880
+ "think-stream": {
881
+ "status": 200,
882
+ "reasoningField": "reasoning_content",
883
+ "reasoningChars": 91,
884
+ "textChars": 652,
885
+ "contentNull": false,
886
+ "toolCalls": false,
887
+ "functionCall": false,
888
+ "thinkTagInContent": false,
889
+ "vertexParts": false,
890
+ "finishReasons": {
891
+ "stop": 1
892
+ },
893
+ "deltaKeys": [
894
+ "role",
895
+ "reasoning_content",
896
+ "content"
897
+ ],
898
+ "usageKeySets": [
899
+ "completion_tokens,estimated,prompt_tokens,total_tokens"
900
+ ],
901
+ "idPrefix": "chatcmpl"
902
+ },
903
+ "think-nostream": {
904
+ "status": 200,
905
+ "reasoningField": null,
906
+ "reasoningChars": 0,
907
+ "textChars": 1852,
908
+ "contentNull": false,
909
+ "toolCalls": false,
910
+ "functionCall": false,
911
+ "thinkTagInContent": false,
912
+ "vertexParts": false,
913
+ "finishReasons": {
914
+ "stop": 1
915
+ },
916
+ "deltaKeys": [],
917
+ "usageKeySets": [
918
+ "completion_tokens,prompt_tokens,total_tokens"
919
+ ],
920
+ "idPrefix": "chatcmpl"
921
+ },
922
+ "tool-stream": {
923
+ "status": 200,
924
+ "reasoningField": "reasoning_content",
925
+ "reasoningChars": 99,
926
+ "textChars": 0,
927
+ "contentNull": false,
928
+ "toolCalls": true,
929
+ "functionCall": false,
930
+ "thinkTagInContent": false,
931
+ "vertexParts": false,
932
+ "finishReasons": {
933
+ "tool_calls": 1
934
+ },
935
+ "deltaKeys": [
936
+ "role",
937
+ "reasoning_content",
938
+ "content",
939
+ "tool_calls"
940
+ ],
941
+ "usageKeySets": [
942
+ "completion_tokens,estimated,prompt_tokens,total_tokens"
943
+ ],
944
+ "idPrefix": "chatcmpl"
945
+ },
946
+ "trunc-stream": {
947
+ "status": 200,
948
+ "reasoningField": "reasoning_content",
949
+ "reasoningChars": 101,
950
+ "textChars": 101,
951
+ "contentNull": false,
952
+ "toolCalls": false,
953
+ "functionCall": false,
954
+ "thinkTagInContent": false,
955
+ "vertexParts": false,
956
+ "finishReasons": {
957
+ "length": 1
958
+ },
959
+ "deltaKeys": [
960
+ "role",
961
+ "reasoning_content",
962
+ "content"
963
+ ],
964
+ "usageKeySets": [
965
+ "completion_tokens,estimated,prompt_tokens,total_tokens"
966
+ ],
967
+ "idPrefix": "chatcmpl"
968
+ },
969
+ "effort-stream": {
970
+ "status": 200,
971
+ "reasoningField": "reasoning_content",
972
+ "reasoningChars": 206,
973
+ "textChars": 1040,
974
+ "contentNull": false,
975
+ "toolCalls": false,
976
+ "functionCall": false,
977
+ "thinkTagInContent": false,
978
+ "vertexParts": false,
979
+ "finishReasons": {
980
+ "stop": 1
981
+ },
982
+ "deltaKeys": [
983
+ "role",
984
+ "reasoning_content",
985
+ "content"
986
+ ],
987
+ "usageKeySets": [
988
+ "completion_tokens,estimated,prompt_tokens,total_tokens"
989
+ ],
990
+ "idPrefix": "chatcmpl"
991
+ }
992
+ }
993
+ },
994
+ "plain": {
995
+ "model": "gh/gpt-4o-mini",
996
+ "thinkingFormat": null,
997
+ "variants": {
998
+ "base-stream": {
999
+ "status": 200,
1000
+ "reasoningField": null,
1001
+ "reasoningChars": 0,
1002
+ "textChars": 1182,
1003
+ "contentNull": true,
1004
+ "toolCalls": false,
1005
+ "functionCall": false,
1006
+ "thinkTagInContent": false,
1007
+ "vertexParts": false,
1008
+ "finishReasons": {
1009
+ "stop": 1
1010
+ },
1011
+ "deltaKeys": [
1012
+ "content",
1013
+ "role"
1014
+ ],
1015
+ "usageKeySets": [
1016
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1017
+ ],
1018
+ "idPrefix": "chatcmpl"
1019
+ },
1020
+ "think-stream": {
1021
+ "status": 200,
1022
+ "reasoningField": null,
1023
+ "reasoningChars": 0,
1024
+ "textChars": 1013,
1025
+ "contentNull": true,
1026
+ "toolCalls": false,
1027
+ "functionCall": false,
1028
+ "thinkTagInContent": false,
1029
+ "vertexParts": false,
1030
+ "finishReasons": {
1031
+ "stop": 1
1032
+ },
1033
+ "deltaKeys": [
1034
+ "content",
1035
+ "role"
1036
+ ],
1037
+ "usageKeySets": [
1038
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1039
+ ],
1040
+ "idPrefix": "chatcmpl"
1041
+ },
1042
+ "think-nostream": {
1043
+ "status": 200,
1044
+ "reasoningField": null,
1045
+ "reasoningChars": 0,
1046
+ "textChars": 2006,
1047
+ "contentNull": false,
1048
+ "toolCalls": false,
1049
+ "functionCall": false,
1050
+ "thinkTagInContent": false,
1051
+ "vertexParts": false,
1052
+ "finishReasons": {
1053
+ "stop": 1
1054
+ },
1055
+ "deltaKeys": [],
1056
+ "usageKeySets": [
1057
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1058
+ ],
1059
+ "idPrefix": "chatcmpl"
1060
+ },
1061
+ "tool-stream": {
1062
+ "status": 200,
1063
+ "reasoningField": null,
1064
+ "reasoningChars": 0,
1065
+ "textChars": 0,
1066
+ "contentNull": true,
1067
+ "toolCalls": true,
1068
+ "functionCall": false,
1069
+ "thinkTagInContent": false,
1070
+ "vertexParts": false,
1071
+ "finishReasons": {
1072
+ "tool_calls": 1
1073
+ },
1074
+ "deltaKeys": [
1075
+ "content",
1076
+ "role",
1077
+ "tool_calls"
1078
+ ],
1079
+ "usageKeySets": [
1080
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1081
+ ],
1082
+ "idPrefix": "chatcmpl"
1083
+ },
1084
+ "trunc-stream": {
1085
+ "status": 200,
1086
+ "reasoningField": null,
1087
+ "reasoningChars": 0,
1088
+ "textChars": 177,
1089
+ "contentNull": true,
1090
+ "toolCalls": false,
1091
+ "functionCall": false,
1092
+ "thinkTagInContent": false,
1093
+ "vertexParts": false,
1094
+ "finishReasons": {
1095
+ "length": 1
1096
+ },
1097
+ "deltaKeys": [
1098
+ "content",
1099
+ "role"
1100
+ ],
1101
+ "usageKeySets": [
1102
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1103
+ ],
1104
+ "idPrefix": "chatcmpl"
1105
+ },
1106
+ "effort-stream": {
1107
+ "status": 200,
1108
+ "reasoningField": null,
1109
+ "reasoningChars": 0,
1110
+ "textChars": 960,
1111
+ "contentNull": true,
1112
+ "toolCalls": false,
1113
+ "functionCall": false,
1114
+ "thinkTagInContent": false,
1115
+ "vertexParts": false,
1116
+ "finishReasons": {
1117
+ "stop": 1
1118
+ },
1119
+ "deltaKeys": [
1120
+ "content",
1121
+ "role"
1122
+ ],
1123
+ "usageKeySets": [
1124
+ "completion_tokens,completion_tokens_details,prompt_tokens,prompt_tokens_details,total_tokens"
1125
+ ],
1126
+ "idPrefix": "chatcmpl"
1127
+ }
1128
+ }
1129
+ }
1130
+ }
1131
+ }