ugly-app 0.1.445 → 0.1.447

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.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.445";
1
+ export declare const CLI_VERSION = "0.1.447";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.445";
2
+ export const CLI_VERSION = "0.1.447";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextGen.d.ts","sourceRoot":"","sources":["../../src/shared/TextGen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextGen.d.ts","sourceRoot":"","sources":["../../src/shared/TextGen.ts"],"names":[],"mappings":"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"}
@@ -80,9 +80,10 @@ export const textGenModelData = {
80
80
  // Tool calling is unreliable on Llama 4 Scout (100% failure rate observed
81
81
  // with structured prompts) — exclude from the picker.
82
82
  llama_4_scout: {
83
- contextWindow: 128_000,
84
- inputTokenNanoDollar: 110,
85
- outputTokenNanoDollar: 340,
83
+ // pricing: https://openrouter.ai/meta-llama/llama-4-scout
84
+ contextWindow: 328_000,
85
+ inputTokenNanoDollar: 80,
86
+ outputTokenNanoDollar: 300,
86
87
  vision: true,
87
88
  toolCalling: 'unreliable',
88
89
  jsonMode: true,
@@ -91,9 +92,10 @@ export const textGenModelData = {
91
92
  excludeFromCoding: true,
92
93
  },
93
94
  llama_3_3_70b: {
94
- contextWindow: 128_000,
95
- inputTokenNanoDollar: 590,
96
- outputTokenNanoDollar: 790,
95
+ // pricing: https://openrouter.ai/meta-llama/llama-3.3-70b-instruct
96
+ contextWindow: 131_000,
97
+ inputTokenNanoDollar: 100,
98
+ outputTokenNanoDollar: 320,
97
99
  toolCalling: true,
98
100
  jsonMode: true,
99
101
  streaming: true,
@@ -106,9 +108,10 @@ export const textGenModelData = {
106
108
  sweBenchVerified: 38.0,
107
109
  },
108
110
  deepseek_v4_pro: {
109
- contextWindow: 128_000,
110
- // DeepSeek API list price (https://api-docs.deepseek.com/quick_start/pricing):
111
- // input $1.74/M, output $3.48/M, cache-read $0.145/M.
111
+ // pricing: https://api-docs.deepseek.com/quick_start/pricing
112
+ // List rates (75% promo discount available through 2026-05-31 not applied).
113
+ // Cache-hit reduced to 1/10th of launch on 2026-04-26.
114
+ contextWindow: 1_000_000,
112
115
  inputTokenNanoDollar: 1740,
113
116
  outputTokenNanoDollar: 3480,
114
117
  toolCalling: true,
@@ -116,7 +119,7 @@ export const textGenModelData = {
116
119
  streaming: true,
117
120
  parallelToolCalls: false,
118
121
  supportsCacheControl: true,
119
- cacheReadTokenNanoDollar: 145,
122
+ cacheReadTokenNanoDollar: 14.5,
120
123
  name: 'DeepSeek V4 Pro',
121
124
  displayProvider: 'DeepSeek',
122
125
  speed: 'normal',
@@ -125,8 +128,8 @@ export const textGenModelData = {
125
128
  sweBenchVerified: 80.6,
126
129
  },
127
130
  deepseek_v4_flash: {
128
- contextWindow: 128_000,
129
- // DeepSeek API list price: input $0.14/M, output $0.28/M, cache-read $0.028/M.
131
+ // pricing: https://api-docs.deepseek.com/quick_start/pricing
132
+ contextWindow: 1_000_000,
130
133
  inputTokenNanoDollar: 140,
131
134
  outputTokenNanoDollar: 280,
132
135
  toolCalling: true,
@@ -134,18 +137,26 @@ export const textGenModelData = {
134
137
  streaming: true,
135
138
  parallelToolCalls: false,
136
139
  supportsCacheControl: true,
137
- cacheReadTokenNanoDollar: 28,
140
+ cacheReadTokenNanoDollar: 2.8,
138
141
  name: 'DeepSeek V4 Flash',
139
142
  displayProvider: 'DeepSeek',
140
143
  speed: 'fast',
141
- reasoning: 'weak',
144
+ // reasoning: 'strong' (was 'weak'). With sweBenchVerified=79 and a
145
+ // 1M context this is a perfectly capable sub-frontier reasoning
146
+ // model — we use it as judge / classifier / picker. The 'weak'
147
+ // tag triggered studio's reinforcement layer (narration nudges,
148
+ // tool-loop nudges, plan injection) when used as a main agent
149
+ // model, which was punishing a model that doesn't need
150
+ // hand-holding. Promoted 2026-05-06.
151
+ reasoning: 'strong',
142
152
  smartness: 4,
143
153
  sweBenchVerified: 79.0,
144
154
  },
145
155
  gpt_oss_120b: {
146
- contextWindow: 128_000,
147
- inputTokenNanoDollar: 150,
148
- outputTokenNanoDollar: 600,
156
+ // pricing: https://openrouter.ai/openai/gpt-oss-120b
157
+ contextWindow: 131_000,
158
+ inputTokenNanoDollar: 39,
159
+ outputTokenNanoDollar: 180,
149
160
  toolCalling: true,
150
161
  jsonMode: true,
151
162
  streaming: true,
@@ -158,7 +169,10 @@ export const textGenModelData = {
158
169
  sweBenchVerified: 50.4,
159
170
  },
160
171
  gemini_2_5_flash: {
161
- contextWindow: 1_000_000,
172
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
173
+ // also: https://openrouter.ai/google/gemini-2.5-flash
174
+ // (Google direct rate; cache hit = 10% of input.)
175
+ contextWindow: 1_048_576,
162
176
  inputTokenNanoDollar: 300,
163
177
  outputTokenNanoDollar: 2500,
164
178
  vision: true,
@@ -167,6 +181,8 @@ export const textGenModelData = {
167
181
  streaming: true,
168
182
  parallelToolCalls: true,
169
183
  compactAt: 0.90,
184
+ supportsCacheControl: true,
185
+ cacheReadTokenNanoDollar: 30,
170
186
  name: 'Gemini 2.5 Flash',
171
187
  displayProvider: 'Google',
172
188
  speed: 'fast',
@@ -175,7 +191,10 @@ export const textGenModelData = {
175
191
  sweBenchVerified: 50.0,
176
192
  },
177
193
  gemini_2_5: {
178
- contextWindow: 1_000_000,
194
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
195
+ // also: https://openrouter.ai/google/gemini-2.5-pro
196
+ // (Google direct ≤200k tier; >200k tier doubles to $2.50/M in / $15.00/M out.)
197
+ contextWindow: 1_048_576,
179
198
  inputTokenNanoDollar: 1250,
180
199
  outputTokenNanoDollar: 10000,
181
200
  vision: true,
@@ -184,6 +203,8 @@ export const textGenModelData = {
184
203
  streaming: true,
185
204
  parallelToolCalls: true,
186
205
  compactAt: 0.90,
206
+ supportsCacheControl: true,
207
+ cacheReadTokenNanoDollar: 125,
187
208
  name: 'Gemini 2.5 Pro',
188
209
  displayProvider: 'Google',
189
210
  speed: 'normal',
@@ -192,6 +213,9 @@ export const textGenModelData = {
192
213
  sweBenchVerified: 63.8,
193
214
  },
194
215
  gemini_3_1_pro: {
216
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
217
+ // also: https://openrouter.ai/google/gemini-3.1-pro-preview
218
+ // (Google direct ≤200k tier; >200k doubles to $4/M in / $18/M out.)
195
219
  contextWindow: 1_048_576,
196
220
  inputTokenNanoDollar: 2000,
197
221
  outputTokenNanoDollar: 12000,
@@ -200,7 +224,8 @@ export const textGenModelData = {
200
224
  jsonMode: true,
201
225
  streaming: true,
202
226
  parallelToolCalls: true,
203
- supportsCacheControl: false,
227
+ supportsCacheControl: true,
228
+ cacheReadTokenNanoDollar: 200,
204
229
  name: 'Gemini 3.1 Pro',
205
230
  displayProvider: 'Google',
206
231
  speed: 'normal',
@@ -211,6 +236,7 @@ export const textGenModelData = {
211
236
  // Studio routes GPT-4.1 / GPT-4.1 Mini through the gpt_4o slot via
212
237
  // AI_PROXY_MODEL_MAP, hence the display label.
213
238
  gpt_4o: {
239
+ // pricing: https://openrouter.ai/openai/gpt-4o
214
240
  contextWindow: 128_000,
215
241
  inputTokenNanoDollar: 2500,
216
242
  outputTokenNanoDollar: 10000,
@@ -230,6 +256,7 @@ export const textGenModelData = {
230
256
  sweBenchVerified: 38.0,
231
257
  },
232
258
  gpt_5: {
259
+ // pricing: https://openrouter.ai/openai/gpt-5
233
260
  contextWindow: 400_000,
234
261
  inputTokenNanoDollar: 1250,
235
262
  outputTokenNanoDollar: 10000,
@@ -249,6 +276,7 @@ export const textGenModelData = {
249
276
  sweBenchVerified: 74.9,
250
277
  },
251
278
  gpt_5_mini: {
279
+ // pricing: https://openrouter.ai/openai/gpt-5-mini
252
280
  contextWindow: 400_000,
253
281
  inputTokenNanoDollar: 250,
254
282
  outputTokenNanoDollar: 2000,
@@ -268,9 +296,10 @@ export const textGenModelData = {
268
296
  sweBenchVerified: 71.0,
269
297
  },
270
298
  gpt_5_4: {
299
+ // pricing: https://openrouter.ai/openai/gpt-5.4
271
300
  contextWindow: 1_050_000,
272
- inputTokenNanoDollar: 2381,
273
- outputTokenNanoDollar: 14286,
301
+ inputTokenNanoDollar: 2500,
302
+ outputTokenNanoDollar: 15000,
274
303
  vision: true,
275
304
  disableSystemRoleAndTemperature: true,
276
305
  toolCalling: true,
@@ -278,7 +307,7 @@ export const textGenModelData = {
278
307
  streaming: true,
279
308
  parallelToolCalls: true,
280
309
  supportsCacheControl: true,
281
- cacheReadTokenNanoDollar: 238,
310
+ cacheReadTokenNanoDollar: 250,
282
311
  name: 'GPT-5.4',
283
312
  displayProvider: 'OpenAI',
284
313
  speed: 'normal',
@@ -287,9 +316,10 @@ export const textGenModelData = {
287
316
  sweBenchVerified: 80.0,
288
317
  },
289
318
  gpt_5_5: {
319
+ // pricing: https://openrouter.ai/openai/gpt-5.5
290
320
  contextWindow: 1_050_000,
291
- inputTokenNanoDollar: 4762,
292
- outputTokenNanoDollar: 28571,
321
+ inputTokenNanoDollar: 5000,
322
+ outputTokenNanoDollar: 30000,
293
323
  vision: true,
294
324
  disableSystemRoleAndTemperature: true,
295
325
  toolCalling: true,
@@ -297,7 +327,7 @@ export const textGenModelData = {
297
327
  streaming: true,
298
328
  parallelToolCalls: true,
299
329
  supportsCacheControl: true,
300
- cacheReadTokenNanoDollar: 476,
330
+ cacheReadTokenNanoDollar: 500,
301
331
  name: 'GPT-5.5',
302
332
  displayProvider: 'OpenAI',
303
333
  speed: 'slow',
@@ -306,6 +336,7 @@ export const textGenModelData = {
306
336
  sweBenchVerified: 82.6,
307
337
  },
308
338
  o3: {
339
+ // pricing: https://openrouter.ai/openai/o3
309
340
  contextWindow: 200_000,
310
341
  inputTokenNanoDollar: 2000,
311
342
  outputTokenNanoDollar: 8000,
@@ -326,6 +357,7 @@ export const textGenModelData = {
326
357
  sweBenchVerified: 71.7,
327
358
  },
328
359
  o4_mini: {
360
+ // pricing: https://openrouter.ai/openai/o4-mini
329
361
  contextWindow: 200_000,
330
362
  inputTokenNanoDollar: 1100,
331
363
  outputTokenNanoDollar: 4400,
@@ -346,7 +378,13 @@ export const textGenModelData = {
346
378
  sweBenchVerified: 68.1,
347
379
  },
348
380
  claude_sonnet_4_6: {
349
- contextWindow: 200_000,
381
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
382
+ // also: https://openrouter.ai/anthropic/claude-sonnet-4.6
383
+ // Sonnet 4.6 ships with full 1M context at standard pricing.
384
+ // 5min cache write = 1.25x input, 1hr cache write = 2x input,
385
+ // cache read = 0.1x input. Pricing here is the 5min cache write
386
+ // (the conservative / common case). 1hr cache write would be 6000.
387
+ contextWindow: 1_000_000,
350
388
  inputTokenNanoDollar: 3000,
351
389
  outputTokenNanoDollar: 15000,
352
390
  vision: true,
@@ -367,9 +405,13 @@ export const textGenModelData = {
367
405
  sweBenchVerified: 79.6,
368
406
  },
369
407
  claude_opus_4_7: {
370
- contextWindow: 200_000,
371
- inputTokenNanoDollar: 15000,
372
- outputTokenNanoDollar: 75000,
408
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
409
+ // also: https://openrouter.ai/anthropic/claude-opus-4.7
410
+ // Opus 4.7 dropped to $5/$25 (vs Opus 4.1 at $15/$75) and includes
411
+ // full 1M context at standard pricing. 1hr cache write = 10000.
412
+ contextWindow: 1_000_000,
413
+ inputTokenNanoDollar: 5000,
414
+ outputTokenNanoDollar: 25000,
373
415
  vision: true,
374
416
  toolCalling: true,
375
417
  jsonMode: true,
@@ -378,8 +420,8 @@ export const textGenModelData = {
378
420
  compactAt: 0.90,
379
421
  supportsCacheControl: true,
380
422
  cacheCompactAt: 0.93,
381
- cacheWriteTokenNanoDollar: 18750,
382
- cacheReadTokenNanoDollar: 1500,
423
+ cacheWriteTokenNanoDollar: 6250,
424
+ cacheReadTokenNanoDollar: 500,
383
425
  name: 'Claude Opus 4.7',
384
426
  displayProvider: 'Anthropic',
385
427
  speed: 'slow',
@@ -388,6 +430,9 @@ export const textGenModelData = {
388
430
  sweBenchVerified: 87.6,
389
431
  },
390
432
  claude_haiku_4_5: {
433
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
434
+ // also: https://openrouter.ai/anthropic/claude-haiku-4.5
435
+ // 1hr cache write = 2000.
391
436
  contextWindow: 200_000,
392
437
  inputTokenNanoDollar: 1000,
393
438
  outputTokenNanoDollar: 5000,
@@ -408,9 +453,11 @@ export const textGenModelData = {
408
453
  sweBenchVerified: 73.3,
409
454
  },
410
455
  qwen3_6_coder_plus: {
411
- contextWindow: 256_000,
412
- inputTokenNanoDollar: 1000,
413
- outputTokenNanoDollar: 5000,
456
+ // pricing: https://openrouter.ai/qwen/qwen3-coder-plus
457
+ // also: https://www.alibabacloud.com/help/en/model-studio/models
458
+ contextWindow: 1_048_576,
459
+ inputTokenNanoDollar: 650,
460
+ outputTokenNanoDollar: 3250,
414
461
  toolCalling: true,
415
462
  jsonMode: true,
416
463
  streaming: true,
@@ -425,9 +472,10 @@ export const textGenModelData = {
425
472
  sweBenchVerified: 70.0,
426
473
  },
427
474
  qwen3_6_coder_30b_a3b: {
428
- contextWindow: 262_144,
429
- inputTokenNanoDollar: 150,
430
- outputTokenNanoDollar: 500,
475
+ // pricing: https://openrouter.ai/qwen/qwen3-coder-30b-a3b-instruct
476
+ contextWindow: 160_000,
477
+ inputTokenNanoDollar: 70,
478
+ outputTokenNanoDollar: 270,
431
479
  toolCalling: true,
432
480
  jsonMode: true,
433
481
  streaming: true,
@@ -441,6 +489,8 @@ export const textGenModelData = {
441
489
  sweBenchVerified: 60.0,
442
490
  },
443
491
  qwen3_max_thinking: {
492
+ // pricing: https://openrouter.ai/qwen/qwen3-max-thinking
493
+ // also: https://openrouter.ai/qwen/qwen3-max
444
494
  contextWindow: 262_144,
445
495
  inputTokenNanoDollar: 780,
446
496
  outputTokenNanoDollar: 3900,
@@ -457,6 +507,8 @@ export const textGenModelData = {
457
507
  sweBenchVerified: 65.0,
458
508
  },
459
509
  kimi_k2_6: {
510
+ // pricing: https://openrouter.ai/moonshotai/kimi-k2.6
511
+ // also: https://platform.kimi.ai/docs/pricing
460
512
  contextWindow: 262_144,
461
513
  inputTokenNanoDollar: 750,
462
514
  outputTokenNanoDollar: 3500,
@@ -474,9 +526,10 @@ export const textGenModelData = {
474
526
  sweBenchVerified: 80.2,
475
527
  },
476
528
  gemma_4_31b: {
477
- contextWindow: 256_000,
478
- inputTokenNanoDollar: 200,
479
- outputTokenNanoDollar: 500,
529
+ // pricing: https://openrouter.ai/google/gemma-4-31b-it
530
+ contextWindow: 262_000,
531
+ inputTokenNanoDollar: 130,
532
+ outputTokenNanoDollar: 380,
480
533
  vision: true,
481
534
  toolCalling: true,
482
535
  jsonMode: true,
@@ -490,9 +543,10 @@ export const textGenModelData = {
490
543
  sweBenchVerified: 64.0,
491
544
  },
492
545
  gemma_4_26b: {
546
+ // pricing: https://openrouter.ai/google/gemma-4-26b-a4b-it
493
547
  contextWindow: 256_000,
494
- inputTokenNanoDollar: 80,
495
- outputTokenNanoDollar: 350,
548
+ inputTokenNanoDollar: 60,
549
+ outputTokenNanoDollar: 330,
496
550
  vision: true,
497
551
  toolCalling: true,
498
552
  jsonMode: true,
@@ -507,6 +561,8 @@ export const textGenModelData = {
507
561
  sweBenchVerified: 50.0,
508
562
  },
509
563
  minimax_m2_5: {
564
+ // pricing: https://openrouter.ai/minimax/minimax-m2.5
565
+ // also: https://platform.minimax.io/docs/guides/pricing-token-plan
510
566
  contextWindow: 196_608,
511
567
  inputTokenNanoDollar: 150,
512
568
  outputTokenNanoDollar: 1150,
@@ -524,6 +580,7 @@ export const textGenModelData = {
524
580
  sweBenchVerified: 73.0,
525
581
  },
526
582
  mimo_v2_5_pro: {
583
+ // pricing: https://openrouter.ai/xiaomi/mimo-v2.5-pro
527
584
  contextWindow: 1_048_576,
528
585
  inputTokenNanoDollar: 1000,
529
586
  outputTokenNanoDollar: 3000,
@@ -539,15 +596,19 @@ export const textGenModelData = {
539
596
  smartness: 4,
540
597
  },
541
598
  glm_5_1: {
599
+ // pricing: https://docs.z.ai/guides/overview/pricing
600
+ // also: https://openrouter.ai/z-ai/glm-5.1
601
+ // (Z.ai direct $1.40/$0.26/$4.40 is the highest of the available
602
+ // providers; OR's $1.05/$3.50 is a routed-cheapest variant.)
542
603
  contextWindow: 202_752,
543
- inputTokenNanoDollar: 1050,
544
- outputTokenNanoDollar: 3500,
604
+ inputTokenNanoDollar: 1400,
605
+ outputTokenNanoDollar: 4400,
545
606
  toolCalling: true,
546
607
  jsonMode: true,
547
608
  streaming: true,
548
609
  parallelToolCalls: false,
549
610
  supportsCacheControl: true,
550
- cacheReadTokenNanoDollar: 205,
611
+ cacheReadTokenNanoDollar: 260,
551
612
  name: 'GLM-5.1',
552
613
  displayProvider: 'Z.ai',
553
614
  speed: 'normal',
@@ -556,15 +617,17 @@ export const textGenModelData = {
556
617
  sweBenchVerified: 75.0,
557
618
  },
558
619
  glm_4_6: {
620
+ // pricing: https://docs.z.ai/guides/overview/pricing
621
+ // also: https://openrouter.ai/z-ai/glm-4.6
559
622
  contextWindow: 202_752,
560
- inputTokenNanoDollar: 430,
561
- outputTokenNanoDollar: 1740,
623
+ inputTokenNanoDollar: 600,
624
+ outputTokenNanoDollar: 2200,
562
625
  toolCalling: true,
563
626
  jsonMode: true,
564
627
  streaming: true,
565
628
  parallelToolCalls: false,
566
629
  supportsCacheControl: true,
567
- cacheReadTokenNanoDollar: 80,
630
+ cacheReadTokenNanoDollar: 110,
568
631
  name: 'GLM-4.6',
569
632
  displayProvider: 'Z.ai',
570
633
  speed: 'normal',
@@ -573,7 +636,9 @@ export const textGenModelData = {
573
636
  sweBenchVerified: 68.0,
574
637
  },
575
638
  kimi_k2_thinking: {
576
- contextWindow: 200_000,
639
+ // pricing: https://openrouter.ai/moonshotai/kimi-k2-thinking
640
+ // also: https://platform.kimi.ai/docs/pricing
641
+ contextWindow: 262_144,
577
642
  inputTokenNanoDollar: 600,
578
643
  outputTokenNanoDollar: 2500,
579
644
  toolCalling: true,
@@ -590,6 +655,9 @@ export const textGenModelData = {
590
655
  sweBenchVerified: 71.3,
591
656
  },
592
657
  grok_4: {
658
+ // pricing: https://openrouter.ai/x-ai/grok-4
659
+ // (Note: x.ai docs at https://docs.x.ai/docs/models also reference
660
+ // a tier increase for >128k requests — not modeled here.)
593
661
  contextWindow: 256_000,
594
662
  inputTokenNanoDollar: 3000,
595
663
  outputTokenNanoDollar: 15000,
@@ -606,6 +674,7 @@ export const textGenModelData = {
606
674
  sweBenchVerified: 72.0,
607
675
  },
608
676
  grok_4_20: {
677
+ // pricing: https://openrouter.ai/x-ai/grok-4.20
609
678
  contextWindow: 2_000_000,
610
679
  inputTokenNanoDollar: 1250,
611
680
  outputTokenNanoDollar: 2500,
@@ -623,6 +692,7 @@ export const textGenModelData = {
623
692
  sweBenchVerified: 75.0,
624
693
  },
625
694
  grok_4_3: {
695
+ // pricing: https://openrouter.ai/x-ai/grok-4.3
626
696
  contextWindow: 1_000_000,
627
697
  inputTokenNanoDollar: 1250,
628
698
  outputTokenNanoDollar: 2500,
@@ -639,6 +709,8 @@ export const textGenModelData = {
639
709
  sweBenchVerified: 76.0,
640
710
  },
641
711
  grok_4_fast: {
712
+ // pricing: https://openrouter.ai/x-ai/grok-4-fast
713
+ // Note: OR lists "Going away May 15, 2026" — verify before relying.
642
714
  contextWindow: 2_000_000,
643
715
  inputTokenNanoDollar: 200,
644
716
  outputTokenNanoDollar: 500,
@@ -655,6 +727,9 @@ export const textGenModelData = {
655
727
  sweBenchVerified: 50.0,
656
728
  },
657
729
  step_3_5_flash: {
730
+ // pricing: not currently listed on OpenRouter — see
731
+ // https://openrouter.ai/models?q=step (model temporarily unavailable;
732
+ // request via Discord). Numbers below are the prior placeholder.
658
733
  contextWindow: 262_144,
659
734
  inputTokenNanoDollar: 100,
660
735
  outputTokenNanoDollar: 300,
@@ -670,6 +745,10 @@ export const textGenModelData = {
670
745
  smartness: 3,
671
746
  },
672
747
  hy3_preview: {
748
+ // pricing: not currently listed on OpenRouter — see
749
+ // https://openrouter.ai/models?q=hunyuan (model temporarily
750
+ // unavailable). Free-tier model on creator's platform; rates
751
+ // remain 0 until OR re-publishes it.
673
752
  contextWindow: 262_144,
674
753
  inputTokenNanoDollar: 0,
675
754
  outputTokenNanoDollar: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"TextGen.js","sourceRoot":"","sources":["../../src/shared/TextGen.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,yFAAyF;AAEzF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,+EAA+E;AAC/E,mCAAmC;AACnC,mDAAmD;AACnD,8DAA8D;AAC9D,sDAAsD;AACtD,+EAA+E;AAE/E,MAAM,kBAAkB,GAAG;IACzB,+BAA+B;IAC/B,eAAe;IACf,eAAe;IACf,+DAA+D;IAC/D,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,SAAS;IACT,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;IACT,SAAS;IACT,IAAI;IACJ,SAAS;IACT,0EAA0E;IAC1E,iBAAiB;IACjB,mBAAmB;IACnB,kBAAkB;IAClB,iEAAiE;IACjE,aAAa;IACb,aAAa;IACb,qDAAqD;IACrD,cAAc;IACd,sEAAsE;IACtE,eAAe;IACf,+BAA+B;IAC/B,SAAS;IACT,SAAS;IACT,oEAAoE;IACpE,4EAA4E;IAC5E,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;IACpB,gCAAgC;IAChC,kBAAkB;IAClB,WAAW;IACX,oCAAoC;IACpC,QAAQ;IACR,WAAW;IACX,UAAU;IACV,aAAa;IACb,uEAAuE;IACvE,sCAAsC;IACtC,gBAAgB;IAChB,8DAA8D;IAC9D,qDAAqD;IACrD,aAAa;CACL,CAAC;AAKX,MAAM,CAAC,MAAM,aAAa,GAAG,kBAA+C,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;AAuEvD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2C;IACtE,0EAA0E;IAC1E,sDAAsD;IACtD,aAAa,EAAE;QACb,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,iBAAiB,EAAE,IAAI;KACxB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,eAAe,EAAE;QACf,aAAa,EAAE,OAAO;QACtB,+EAA+E;QAC/E,sDAAsD;QACtD,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,UAAU;QAC3B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,iBAAiB,EAAE;QACjB,aAAa,EAAE,OAAO;QACtB,+EAA+E;QAC/E,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,EAAE;QAC5B,IAAI,EAAE,mBAAmB;QACzB,eAAe,EAAE,UAAU;QAC3B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,kBAAkB;QACxB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,UAAU,EAAE;QACV,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,cAAc,EAAE;QACd,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,mEAAmE;IACnE,+CAA+C;IAC/C,MAAM,EAAE;QACN,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,IAAI;QAC9B,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,KAAK,EAAE;QACL,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,OAAO;QACb,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,UAAU,EAAE;QACV,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,EAAE;QAC5B,IAAI,EAAE,YAAY;QAClB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,EAAE,EAAE;QACF,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,+BAA+B,EAAE,IAAI;QACrC,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,iBAAiB,EAAE;QACjB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,yBAAyB,EAAE,IAAI;QAC/B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,mBAAmB;QACzB,eAAe,EAAE,WAAW;QAC5B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,eAAe,EAAE;QACf,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,KAAK;QAC3B,qBAAqB,EAAE,KAAK;QAC5B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,yBAAyB,EAAE,KAAK;QAChC,wBAAwB,EAAE,IAAI;QAC9B,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,WAAW;QAC5B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,yBAAyB,EAAE,IAAI;QAC/B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,kBAAkB;QACxB,eAAe,EAAE,WAAW;QAC5B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,kBAAkB,EAAE;QAClB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,qBAAqB;QAC3B,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,qBAAqB,EAAE;QACrB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,wBAAwB;QAC9B,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,kBAAkB,EAAE;QAClB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,SAAS,EAAE;QACT,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,UAAU;QAC3B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,EAAE;QACxB,qBAAqB,EAAE,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,EAAE;QAC5B,IAAI,EAAE,cAAc;QACpB,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,aAAa,EAAE;QACb,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,eAAe;QACrB,eAAe,EAAE,QAAQ;QACzB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;KACb;IACD,OAAO,EAAE;QACP,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,GAAG;QAC7B,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,EAAE;QAC5B,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,kBAAkB;QACxB,eAAe,EAAE,UAAU;QAC3B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,MAAM,EAAE;QACN,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,KAAK;QAC5B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,SAAS,EAAE;QACT,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,IAAI;QAC1B,qBAAqB,EAAE,IAAI;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,WAAW,EAAE;QACX,aAAa,EAAE,SAAS;QACxB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,IAAI;KACvB;IACD,cAAc,EAAE;QACd,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,GAAG;QACzB,qBAAqB,EAAE,GAAG;QAC1B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,gBAAgB;QACtB,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;KACb;IACD,WAAW,EAAE;QACX,aAAa,EAAE,OAAO;QACtB,oBAAoB,EAAE,CAAC;QACvB,qBAAqB,EAAE,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,KAAK;QACxB,oBAAoB,EAAE,KAAK;QAC3B,IAAI,EAAE,mBAAmB;QACzB,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAyCF,MAAM,aAAa,GAAuB,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IAChC,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC5C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC1D,+CAA+C;IAC/C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAIH,6EAA6E;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;YACf,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,KAAK,CAAC;gBACN,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvD,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACxB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;wBACf,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;wBACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;qBACjB,CAAC;iBACH,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;oBACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;iBACnB,CAAC;gBACF,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;oBAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;oBACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;iBACpB,CAAC;aACH,CAAC,CACH;SACF,CAAC;KACH,CAAC;IACF,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AA4CvD;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI;YAAE,SAAS;QAC3C,GAAG,CAAC,IAAI,CAAC;YACP,EAAE;YACF,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,CAAC;YACnC,QAAQ,EAAE,CAAC,CAAC,eAAe,IAAI,SAAS;YACxC,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,QAAQ;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,KAAK;YACzB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM;YAChC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,GAAG,IAAI;YACvC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;YAC5C,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,yBAAyB,EAAE,CAAC,CAAC,yBAAyB;YACtD,wBAAwB,EAAE,CAAC,CAAC,wBAAwB;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,WAAW,GAA2B;QAC1C,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,EAAE,EAAE,IAAI;QACR,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,KAAK;KACX,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,kEAAkE;QAClE,kEAAkE;QAClE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,sEAAsE;YACtE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"TextGen.js","sourceRoot":"","sources":["../../src/shared/TextGen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.445",
3
+ "version": "0.1.447",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.445";
2
+ export const CLI_VERSION = "0.1.447";
@@ -162,9 +162,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
162
162
  // Tool calling is unreliable on Llama 4 Scout (100% failure rate observed
163
163
  // with structured prompts) — exclude from the picker.
164
164
  llama_4_scout: {
165
- contextWindow: 128_000,
166
- inputTokenNanoDollar: 110,
167
- outputTokenNanoDollar: 340,
165
+ // pricing: https://openrouter.ai/meta-llama/llama-4-scout
166
+ contextWindow: 328_000,
167
+ inputTokenNanoDollar: 80,
168
+ outputTokenNanoDollar: 300,
168
169
  vision: true,
169
170
  toolCalling: 'unreliable',
170
171
  jsonMode: true,
@@ -173,9 +174,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
173
174
  excludeFromCoding: true,
174
175
  },
175
176
  llama_3_3_70b: {
176
- contextWindow: 128_000,
177
- inputTokenNanoDollar: 590,
178
- outputTokenNanoDollar: 790,
177
+ // pricing: https://openrouter.ai/meta-llama/llama-3.3-70b-instruct
178
+ contextWindow: 131_000,
179
+ inputTokenNanoDollar: 100,
180
+ outputTokenNanoDollar: 320,
179
181
  toolCalling: true,
180
182
  jsonMode: true,
181
183
  streaming: true,
@@ -188,9 +190,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
188
190
  sweBenchVerified: 38.0,
189
191
  },
190
192
  deepseek_v4_pro: {
191
- contextWindow: 128_000,
192
- // DeepSeek API list price (https://api-docs.deepseek.com/quick_start/pricing):
193
- // input $1.74/M, output $3.48/M, cache-read $0.145/M.
193
+ // pricing: https://api-docs.deepseek.com/quick_start/pricing
194
+ // List rates (75% promo discount available through 2026-05-31 not applied).
195
+ // Cache-hit reduced to 1/10th of launch on 2026-04-26.
196
+ contextWindow: 1_000_000,
194
197
  inputTokenNanoDollar: 1740,
195
198
  outputTokenNanoDollar: 3480,
196
199
  toolCalling: true,
@@ -198,7 +201,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
198
201
  streaming: true,
199
202
  parallelToolCalls: false,
200
203
  supportsCacheControl: true,
201
- cacheReadTokenNanoDollar: 145,
204
+ cacheReadTokenNanoDollar: 14.5,
202
205
  name: 'DeepSeek V4 Pro',
203
206
  displayProvider: 'DeepSeek',
204
207
  speed: 'normal',
@@ -207,8 +210,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
207
210
  sweBenchVerified: 80.6,
208
211
  },
209
212
  deepseek_v4_flash: {
210
- contextWindow: 128_000,
211
- // DeepSeek API list price: input $0.14/M, output $0.28/M, cache-read $0.028/M.
213
+ // pricing: https://api-docs.deepseek.com/quick_start/pricing
214
+ contextWindow: 1_000_000,
212
215
  inputTokenNanoDollar: 140,
213
216
  outputTokenNanoDollar: 280,
214
217
  toolCalling: true,
@@ -216,18 +219,26 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
216
219
  streaming: true,
217
220
  parallelToolCalls: false,
218
221
  supportsCacheControl: true,
219
- cacheReadTokenNanoDollar: 28,
222
+ cacheReadTokenNanoDollar: 2.8,
220
223
  name: 'DeepSeek V4 Flash',
221
224
  displayProvider: 'DeepSeek',
222
225
  speed: 'fast',
223
- reasoning: 'weak',
226
+ // reasoning: 'strong' (was 'weak'). With sweBenchVerified=79 and a
227
+ // 1M context this is a perfectly capable sub-frontier reasoning
228
+ // model — we use it as judge / classifier / picker. The 'weak'
229
+ // tag triggered studio's reinforcement layer (narration nudges,
230
+ // tool-loop nudges, plan injection) when used as a main agent
231
+ // model, which was punishing a model that doesn't need
232
+ // hand-holding. Promoted 2026-05-06.
233
+ reasoning: 'strong',
224
234
  smartness: 4,
225
235
  sweBenchVerified: 79.0,
226
236
  },
227
237
  gpt_oss_120b: {
228
- contextWindow: 128_000,
229
- inputTokenNanoDollar: 150,
230
- outputTokenNanoDollar: 600,
238
+ // pricing: https://openrouter.ai/openai/gpt-oss-120b
239
+ contextWindow: 131_000,
240
+ inputTokenNanoDollar: 39,
241
+ outputTokenNanoDollar: 180,
231
242
  toolCalling: true,
232
243
  jsonMode: true,
233
244
  streaming: true,
@@ -240,7 +251,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
240
251
  sweBenchVerified: 50.4,
241
252
  },
242
253
  gemini_2_5_flash: {
243
- contextWindow: 1_000_000,
254
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
255
+ // also: https://openrouter.ai/google/gemini-2.5-flash
256
+ // (Google direct rate; cache hit = 10% of input.)
257
+ contextWindow: 1_048_576,
244
258
  inputTokenNanoDollar: 300,
245
259
  outputTokenNanoDollar: 2500,
246
260
  vision: true,
@@ -249,6 +263,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
249
263
  streaming: true,
250
264
  parallelToolCalls: true,
251
265
  compactAt: 0.90,
266
+ supportsCacheControl: true,
267
+ cacheReadTokenNanoDollar: 30,
252
268
  name: 'Gemini 2.5 Flash',
253
269
  displayProvider: 'Google',
254
270
  speed: 'fast',
@@ -257,7 +273,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
257
273
  sweBenchVerified: 50.0,
258
274
  },
259
275
  gemini_2_5: {
260
- contextWindow: 1_000_000,
276
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
277
+ // also: https://openrouter.ai/google/gemini-2.5-pro
278
+ // (Google direct ≤200k tier; >200k tier doubles to $2.50/M in / $15.00/M out.)
279
+ contextWindow: 1_048_576,
261
280
  inputTokenNanoDollar: 1250,
262
281
  outputTokenNanoDollar: 10000,
263
282
  vision: true,
@@ -266,6 +285,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
266
285
  streaming: true,
267
286
  parallelToolCalls: true,
268
287
  compactAt: 0.90,
288
+ supportsCacheControl: true,
289
+ cacheReadTokenNanoDollar: 125,
269
290
  name: 'Gemini 2.5 Pro',
270
291
  displayProvider: 'Google',
271
292
  speed: 'normal',
@@ -274,6 +295,9 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
274
295
  sweBenchVerified: 63.8,
275
296
  },
276
297
  gemini_3_1_pro: {
298
+ // pricing: https://ai.google.dev/gemini-api/docs/pricing
299
+ // also: https://openrouter.ai/google/gemini-3.1-pro-preview
300
+ // (Google direct ≤200k tier; >200k doubles to $4/M in / $18/M out.)
277
301
  contextWindow: 1_048_576,
278
302
  inputTokenNanoDollar: 2000,
279
303
  outputTokenNanoDollar: 12000,
@@ -282,7 +306,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
282
306
  jsonMode: true,
283
307
  streaming: true,
284
308
  parallelToolCalls: true,
285
- supportsCacheControl: false,
309
+ supportsCacheControl: true,
310
+ cacheReadTokenNanoDollar: 200,
286
311
  name: 'Gemini 3.1 Pro',
287
312
  displayProvider: 'Google',
288
313
  speed: 'normal',
@@ -293,6 +318,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
293
318
  // Studio routes GPT-4.1 / GPT-4.1 Mini through the gpt_4o slot via
294
319
  // AI_PROXY_MODEL_MAP, hence the display label.
295
320
  gpt_4o: {
321
+ // pricing: https://openrouter.ai/openai/gpt-4o
296
322
  contextWindow: 128_000,
297
323
  inputTokenNanoDollar: 2500,
298
324
  outputTokenNanoDollar: 10000,
@@ -312,6 +338,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
312
338
  sweBenchVerified: 38.0,
313
339
  },
314
340
  gpt_5: {
341
+ // pricing: https://openrouter.ai/openai/gpt-5
315
342
  contextWindow: 400_000,
316
343
  inputTokenNanoDollar: 1250,
317
344
  outputTokenNanoDollar: 10000,
@@ -331,6 +358,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
331
358
  sweBenchVerified: 74.9,
332
359
  },
333
360
  gpt_5_mini: {
361
+ // pricing: https://openrouter.ai/openai/gpt-5-mini
334
362
  contextWindow: 400_000,
335
363
  inputTokenNanoDollar: 250,
336
364
  outputTokenNanoDollar: 2000,
@@ -350,9 +378,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
350
378
  sweBenchVerified: 71.0,
351
379
  },
352
380
  gpt_5_4: {
381
+ // pricing: https://openrouter.ai/openai/gpt-5.4
353
382
  contextWindow: 1_050_000,
354
- inputTokenNanoDollar: 2381,
355
- outputTokenNanoDollar: 14286,
383
+ inputTokenNanoDollar: 2500,
384
+ outputTokenNanoDollar: 15000,
356
385
  vision: true,
357
386
  disableSystemRoleAndTemperature: true,
358
387
  toolCalling: true,
@@ -360,7 +389,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
360
389
  streaming: true,
361
390
  parallelToolCalls: true,
362
391
  supportsCacheControl: true,
363
- cacheReadTokenNanoDollar: 238,
392
+ cacheReadTokenNanoDollar: 250,
364
393
  name: 'GPT-5.4',
365
394
  displayProvider: 'OpenAI',
366
395
  speed: 'normal',
@@ -369,9 +398,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
369
398
  sweBenchVerified: 80.0,
370
399
  },
371
400
  gpt_5_5: {
401
+ // pricing: https://openrouter.ai/openai/gpt-5.5
372
402
  contextWindow: 1_050_000,
373
- inputTokenNanoDollar: 4762,
374
- outputTokenNanoDollar: 28571,
403
+ inputTokenNanoDollar: 5000,
404
+ outputTokenNanoDollar: 30000,
375
405
  vision: true,
376
406
  disableSystemRoleAndTemperature: true,
377
407
  toolCalling: true,
@@ -379,7 +409,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
379
409
  streaming: true,
380
410
  parallelToolCalls: true,
381
411
  supportsCacheControl: true,
382
- cacheReadTokenNanoDollar: 476,
412
+ cacheReadTokenNanoDollar: 500,
383
413
  name: 'GPT-5.5',
384
414
  displayProvider: 'OpenAI',
385
415
  speed: 'slow',
@@ -388,6 +418,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
388
418
  sweBenchVerified: 82.6,
389
419
  },
390
420
  o3: {
421
+ // pricing: https://openrouter.ai/openai/o3
391
422
  contextWindow: 200_000,
392
423
  inputTokenNanoDollar: 2000,
393
424
  outputTokenNanoDollar: 8000,
@@ -408,6 +439,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
408
439
  sweBenchVerified: 71.7,
409
440
  },
410
441
  o4_mini: {
442
+ // pricing: https://openrouter.ai/openai/o4-mini
411
443
  contextWindow: 200_000,
412
444
  inputTokenNanoDollar: 1100,
413
445
  outputTokenNanoDollar: 4400,
@@ -428,7 +460,13 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
428
460
  sweBenchVerified: 68.1,
429
461
  },
430
462
  claude_sonnet_4_6: {
431
- contextWindow: 200_000,
463
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
464
+ // also: https://openrouter.ai/anthropic/claude-sonnet-4.6
465
+ // Sonnet 4.6 ships with full 1M context at standard pricing.
466
+ // 5min cache write = 1.25x input, 1hr cache write = 2x input,
467
+ // cache read = 0.1x input. Pricing here is the 5min cache write
468
+ // (the conservative / common case). 1hr cache write would be 6000.
469
+ contextWindow: 1_000_000,
432
470
  inputTokenNanoDollar: 3000,
433
471
  outputTokenNanoDollar: 15000,
434
472
  vision: true,
@@ -449,9 +487,13 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
449
487
  sweBenchVerified: 79.6,
450
488
  },
451
489
  claude_opus_4_7: {
452
- contextWindow: 200_000,
453
- inputTokenNanoDollar: 15000,
454
- outputTokenNanoDollar: 75000,
490
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
491
+ // also: https://openrouter.ai/anthropic/claude-opus-4.7
492
+ // Opus 4.7 dropped to $5/$25 (vs Opus 4.1 at $15/$75) and includes
493
+ // full 1M context at standard pricing. 1hr cache write = 10000.
494
+ contextWindow: 1_000_000,
495
+ inputTokenNanoDollar: 5000,
496
+ outputTokenNanoDollar: 25000,
455
497
  vision: true,
456
498
  toolCalling: true,
457
499
  jsonMode: true,
@@ -460,8 +502,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
460
502
  compactAt: 0.90,
461
503
  supportsCacheControl: true,
462
504
  cacheCompactAt: 0.93,
463
- cacheWriteTokenNanoDollar: 18750,
464
- cacheReadTokenNanoDollar: 1500,
505
+ cacheWriteTokenNanoDollar: 6250,
506
+ cacheReadTokenNanoDollar: 500,
465
507
  name: 'Claude Opus 4.7',
466
508
  displayProvider: 'Anthropic',
467
509
  speed: 'slow',
@@ -470,6 +512,9 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
470
512
  sweBenchVerified: 87.6,
471
513
  },
472
514
  claude_haiku_4_5: {
515
+ // pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing
516
+ // also: https://openrouter.ai/anthropic/claude-haiku-4.5
517
+ // 1hr cache write = 2000.
473
518
  contextWindow: 200_000,
474
519
  inputTokenNanoDollar: 1000,
475
520
  outputTokenNanoDollar: 5000,
@@ -490,9 +535,11 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
490
535
  sweBenchVerified: 73.3,
491
536
  },
492
537
  qwen3_6_coder_plus: {
493
- contextWindow: 256_000,
494
- inputTokenNanoDollar: 1000,
495
- outputTokenNanoDollar: 5000,
538
+ // pricing: https://openrouter.ai/qwen/qwen3-coder-plus
539
+ // also: https://www.alibabacloud.com/help/en/model-studio/models
540
+ contextWindow: 1_048_576,
541
+ inputTokenNanoDollar: 650,
542
+ outputTokenNanoDollar: 3250,
496
543
  toolCalling: true,
497
544
  jsonMode: true,
498
545
  streaming: true,
@@ -507,9 +554,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
507
554
  sweBenchVerified: 70.0,
508
555
  },
509
556
  qwen3_6_coder_30b_a3b: {
510
- contextWindow: 262_144,
511
- inputTokenNanoDollar: 150,
512
- outputTokenNanoDollar: 500,
557
+ // pricing: https://openrouter.ai/qwen/qwen3-coder-30b-a3b-instruct
558
+ contextWindow: 160_000,
559
+ inputTokenNanoDollar: 70,
560
+ outputTokenNanoDollar: 270,
513
561
  toolCalling: true,
514
562
  jsonMode: true,
515
563
  streaming: true,
@@ -523,6 +571,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
523
571
  sweBenchVerified: 60.0,
524
572
  },
525
573
  qwen3_max_thinking: {
574
+ // pricing: https://openrouter.ai/qwen/qwen3-max-thinking
575
+ // also: https://openrouter.ai/qwen/qwen3-max
526
576
  contextWindow: 262_144,
527
577
  inputTokenNanoDollar: 780,
528
578
  outputTokenNanoDollar: 3900,
@@ -539,6 +589,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
539
589
  sweBenchVerified: 65.0,
540
590
  },
541
591
  kimi_k2_6: {
592
+ // pricing: https://openrouter.ai/moonshotai/kimi-k2.6
593
+ // also: https://platform.kimi.ai/docs/pricing
542
594
  contextWindow: 262_144,
543
595
  inputTokenNanoDollar: 750,
544
596
  outputTokenNanoDollar: 3500,
@@ -556,9 +608,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
556
608
  sweBenchVerified: 80.2,
557
609
  },
558
610
  gemma_4_31b: {
559
- contextWindow: 256_000,
560
- inputTokenNanoDollar: 200,
561
- outputTokenNanoDollar: 500,
611
+ // pricing: https://openrouter.ai/google/gemma-4-31b-it
612
+ contextWindow: 262_000,
613
+ inputTokenNanoDollar: 130,
614
+ outputTokenNanoDollar: 380,
562
615
  vision: true,
563
616
  toolCalling: true,
564
617
  jsonMode: true,
@@ -572,9 +625,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
572
625
  sweBenchVerified: 64.0,
573
626
  },
574
627
  gemma_4_26b: {
628
+ // pricing: https://openrouter.ai/google/gemma-4-26b-a4b-it
575
629
  contextWindow: 256_000,
576
- inputTokenNanoDollar: 80,
577
- outputTokenNanoDollar: 350,
630
+ inputTokenNanoDollar: 60,
631
+ outputTokenNanoDollar: 330,
578
632
  vision: true,
579
633
  toolCalling: true,
580
634
  jsonMode: true,
@@ -589,6 +643,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
589
643
  sweBenchVerified: 50.0,
590
644
  },
591
645
  minimax_m2_5: {
646
+ // pricing: https://openrouter.ai/minimax/minimax-m2.5
647
+ // also: https://platform.minimax.io/docs/guides/pricing-token-plan
592
648
  contextWindow: 196_608,
593
649
  inputTokenNanoDollar: 150,
594
650
  outputTokenNanoDollar: 1150,
@@ -606,6 +662,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
606
662
  sweBenchVerified: 73.0,
607
663
  },
608
664
  mimo_v2_5_pro: {
665
+ // pricing: https://openrouter.ai/xiaomi/mimo-v2.5-pro
609
666
  contextWindow: 1_048_576,
610
667
  inputTokenNanoDollar: 1000,
611
668
  outputTokenNanoDollar: 3000,
@@ -621,15 +678,19 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
621
678
  smartness: 4,
622
679
  },
623
680
  glm_5_1: {
681
+ // pricing: https://docs.z.ai/guides/overview/pricing
682
+ // also: https://openrouter.ai/z-ai/glm-5.1
683
+ // (Z.ai direct $1.40/$0.26/$4.40 is the highest of the available
684
+ // providers; OR's $1.05/$3.50 is a routed-cheapest variant.)
624
685
  contextWindow: 202_752,
625
- inputTokenNanoDollar: 1050,
626
- outputTokenNanoDollar: 3500,
686
+ inputTokenNanoDollar: 1400,
687
+ outputTokenNanoDollar: 4400,
627
688
  toolCalling: true,
628
689
  jsonMode: true,
629
690
  streaming: true,
630
691
  parallelToolCalls: false,
631
692
  supportsCacheControl: true,
632
- cacheReadTokenNanoDollar: 205,
693
+ cacheReadTokenNanoDollar: 260,
633
694
  name: 'GLM-5.1',
634
695
  displayProvider: 'Z.ai',
635
696
  speed: 'normal',
@@ -638,15 +699,17 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
638
699
  sweBenchVerified: 75.0,
639
700
  },
640
701
  glm_4_6: {
702
+ // pricing: https://docs.z.ai/guides/overview/pricing
703
+ // also: https://openrouter.ai/z-ai/glm-4.6
641
704
  contextWindow: 202_752,
642
- inputTokenNanoDollar: 430,
643
- outputTokenNanoDollar: 1740,
705
+ inputTokenNanoDollar: 600,
706
+ outputTokenNanoDollar: 2200,
644
707
  toolCalling: true,
645
708
  jsonMode: true,
646
709
  streaming: true,
647
710
  parallelToolCalls: false,
648
711
  supportsCacheControl: true,
649
- cacheReadTokenNanoDollar: 80,
712
+ cacheReadTokenNanoDollar: 110,
650
713
  name: 'GLM-4.6',
651
714
  displayProvider: 'Z.ai',
652
715
  speed: 'normal',
@@ -655,7 +718,9 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
655
718
  sweBenchVerified: 68.0,
656
719
  },
657
720
  kimi_k2_thinking: {
658
- contextWindow: 200_000,
721
+ // pricing: https://openrouter.ai/moonshotai/kimi-k2-thinking
722
+ // also: https://platform.kimi.ai/docs/pricing
723
+ contextWindow: 262_144,
659
724
  inputTokenNanoDollar: 600,
660
725
  outputTokenNanoDollar: 2500,
661
726
  toolCalling: true,
@@ -672,6 +737,9 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
672
737
  sweBenchVerified: 71.3,
673
738
  },
674
739
  grok_4: {
740
+ // pricing: https://openrouter.ai/x-ai/grok-4
741
+ // (Note: x.ai docs at https://docs.x.ai/docs/models also reference
742
+ // a tier increase for >128k requests — not modeled here.)
675
743
  contextWindow: 256_000,
676
744
  inputTokenNanoDollar: 3000,
677
745
  outputTokenNanoDollar: 15000,
@@ -688,6 +756,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
688
756
  sweBenchVerified: 72.0,
689
757
  },
690
758
  grok_4_20: {
759
+ // pricing: https://openrouter.ai/x-ai/grok-4.20
691
760
  contextWindow: 2_000_000,
692
761
  inputTokenNanoDollar: 1250,
693
762
  outputTokenNanoDollar: 2500,
@@ -705,6 +774,7 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
705
774
  sweBenchVerified: 75.0,
706
775
  },
707
776
  grok_4_3: {
777
+ // pricing: https://openrouter.ai/x-ai/grok-4.3
708
778
  contextWindow: 1_000_000,
709
779
  inputTokenNanoDollar: 1250,
710
780
  outputTokenNanoDollar: 2500,
@@ -721,6 +791,8 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
721
791
  sweBenchVerified: 76.0,
722
792
  },
723
793
  grok_4_fast: {
794
+ // pricing: https://openrouter.ai/x-ai/grok-4-fast
795
+ // Note: OR lists "Going away May 15, 2026" — verify before relying.
724
796
  contextWindow: 2_000_000,
725
797
  inputTokenNanoDollar: 200,
726
798
  outputTokenNanoDollar: 500,
@@ -737,6 +809,9 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
737
809
  sweBenchVerified: 50.0,
738
810
  },
739
811
  step_3_5_flash: {
812
+ // pricing: not currently listed on OpenRouter — see
813
+ // https://openrouter.ai/models?q=step (model temporarily unavailable;
814
+ // request via Discord). Numbers below are the prior placeholder.
740
815
  contextWindow: 262_144,
741
816
  inputTokenNanoDollar: 100,
742
817
  outputTokenNanoDollar: 300,
@@ -752,6 +827,10 @@ export const textGenModelData: Record<TextGenModel, TextGenModelData> = {
752
827
  smartness: 3,
753
828
  },
754
829
  hy3_preview: {
830
+ // pricing: not currently listed on OpenRouter — see
831
+ // https://openrouter.ai/models?q=hunyuan (model temporarily
832
+ // unavailable). Free-tier model on creator's platform; rates
833
+ // remain 0 until OR re-publishes it.
755
834
  contextWindow: 262_144,
756
835
  inputTokenNanoDollar: 0,
757
836
  outputTokenNanoDollar: 0,