opencode-model-price-intel 0.0.0-stage → 1.0.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.
@@ -0,0 +1,515 @@
1
+ /**
2
+ * Bundled snapshot of the Artificial Analysis Intelligence Index (v5.0).
3
+ *
4
+ * FALLBACK ONLY. The plugin fetches fresh scores from artificialanalysis.ai
5
+ * when it refreshes (scores change as new evaluations land). This snapshot
6
+ * (captured 2026-10-31) is used when the live fetch fails, and only when the
7
+ * live index has the same major version.
8
+ *
9
+ * Canonical keys are `matchKey(name)` values: parenthesized qualifiers such as
10
+ * "(Max)" are stripped and punctuation removed. OpenCode catalog IDs whose
11
+ * digit order differs from the AA display name are documented in
12
+ * `AA_SNAPSHOT_ALIASES` (rather than being silent extra snapshot keys).
13
+ *
14
+ * Regenerate with `node scripts/regenerate-snapshot.ts`; see SNAPSHOT-NOTICE.md.
15
+ *
16
+ * Source: https://artificialanalysis.ai/ (Intelligence Index v5.0).
17
+ * Attribution required by Artificial Analysis terms.
18
+ */
19
+
20
+ export interface AAScore {
21
+ /** Intelligence Index score, or null when not scored in v5.0. */
22
+ score: number | null
23
+ /** Name of the exact AA entry matched (includes effort variant). */
24
+ name: string
25
+ /** Caveats, e.g. effort variant or historical v4.x scores. */
26
+ note?: string
27
+ }
28
+
29
+ export const AA_SNAPSHOT_VERSION = "5.0"
30
+ /** Kept for callers that imported the original constant. */
31
+ export const AA_INDEX_VERSION = AA_SNAPSHOT_VERSION
32
+ export const AA_SNAPSHOT_DATE = "2026-10-31"
33
+ /** Capture timestamp (UTC midnight on the capture date), not "now". */
34
+ export const AA_SNAPSHOT_CAPTURED_AT = `${AA_SNAPSHOT_DATE}T00:00:00.000Z`
35
+
36
+ /**
37
+ * Documented OpenCode-ID aliases -> canonical snapshot key.
38
+ *
39
+ * - `claude-haiku-4-5` normalizes to `claudehaiku45`, while AA's display name
40
+ * "Claude 4.5 Haiku" normalizes to `claude45haiku`.
41
+ * - `claude-sonnet-4-5` has the same ID-order/name-order mismatch.
42
+ * - `muse-wonder-1.0` normalizes to `musewonder10`; the scored AA entry is
43
+ * "Muse Wonder (Max)" (`musewonder`).
44
+ */
45
+ export const AA_SNAPSHOT_ALIASES: Readonly<Record<string, string>> = Object.freeze({
46
+ claudehaiku45: "claude45haiku",
47
+ claudesonnet45: "claude45sonnet",
48
+ musewonder10: "musewonder",
49
+ })
50
+
51
+ export const AA_SNAPSHOT: Readonly<Record<string, AAScore>> = {
52
+ "beam10": {
53
+ score: 17.7307282547205,
54
+ name: "Beam 1.0",
55
+ },
56
+ "bigpickle": {
57
+ score: null,
58
+ name: "Big Pickle",
59
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). Stealth model (per OpenCode docs); not listed on Artificial Analysis; no score found.",
60
+ },
61
+ "claudefable5": {
62
+ score: null,
63
+ name: "Claude Fable 5",
64
+ note: "Not scored in v5.0. v4.2 score 53.2 (llmcompare snapshot 2026-10-12); v4.1: 59.9 (with Opus 4.8 fallback).",
65
+ },
66
+ "claudefable51": {
67
+ score: 49.0102124158081,
68
+ name: "Claude Fable 5.1 (Max, Default Fallback)",
69
+ note: "AA variant: (max, default fallback)",
70
+ },
71
+ "claude45haiku": {
72
+ score: null,
73
+ name: "Claude 4.5 Haiku",
74
+ note: "Not scored in v5.0. v4.2 score 22.5 (llmcompare snapshot 2026-10-12). OpenCode ID alias: claude-haiku-4-5.",
75
+ },
76
+ "claudehaiku55": {
77
+ score: 36.2345435880142,
78
+ name: "Claude Haiku 5.5 (Max)",
79
+ },
80
+ "claudeopus45": {
81
+ score: null,
82
+ name: "Claude Opus 4.5",
83
+ note: "Not scored in v5.0. v4.1 score 34.7.",
84
+ },
85
+ "claudeopus46": {
86
+ score: null,
87
+ name: "Claude Opus 4.6",
88
+ note: "Not scored in v5.0. v4.1 score 37.8 (v4.0-era: 53 max).",
89
+ },
90
+ "claudeopus47": {
91
+ score: null,
92
+ name: "Claude Opus 4.7",
93
+ note: "Not scored in v5.0. v4.1 score 53.5; v4.0: 57.3.",
94
+ },
95
+ "claudeopus48": {
96
+ score: null,
97
+ name: "Claude Opus 4.8",
98
+ note: "Not scored in v5.0. v4.2 score 42.0 (llmcompare snapshot 2026-10-12); v4.1: 55.7 (max); v4.0: 61.4.",
99
+ },
100
+ "claudeopus5": {
101
+ score: null,
102
+ name: "Claude Opus 5",
103
+ note: "Not scored in v5.0. v4.2 score 54.1 (llmcompare snapshot 2026-10-12).",
104
+ },
105
+ "claudeopus55": {
106
+ score: 58.4060336078904,
107
+ name: "Claude Opus 5.5 (Max, Default Fallback)",
108
+ note: "AA variant: (max, default fallback)",
109
+ },
110
+ "claude45sonnet": {
111
+ score: null,
112
+ name: "Claude 4.5 Sonnet",
113
+ note: "Not scored in v5.0. v4.0-era score 43 (Reasoning, per AA Sonnet 4.6 article, Feb 2026). OpenCode ID alias: claude-sonnet-4-5.",
114
+ },
115
+ "claudesonnet46": {
116
+ score: null,
117
+ name: "Claude Sonnet 4.6",
118
+ note: "Not scored in v5.0. v4.2 score 30.5 (llmcompare snapshot 2026-10-12); v4.1: 35.9.",
119
+ },
120
+ "claudesonnet5": {
121
+ score: null,
122
+ name: "Claude Sonnet 5",
123
+ note: "Not scored in v5.0. v4.2 score 45.1 (llmcompare snapshot 2026-10-12).",
124
+ },
125
+ "claudesonnet55": {
126
+ score: 54.24133407109,
127
+ name: "Claude Sonnet 5.5 (Max, Default Fallback)",
128
+ note: "AA variant: (max, default fallback)",
129
+ },
130
+ "deepseekv41flash": {
131
+ score: null,
132
+ name: "DeepSeek V4.1 Flash",
133
+ note: "Base snapshot not scored in v5.0; v5.0 scores DeepSeek V4.1 Flash 1017 (Max) at 32.5. v4.2: 39.5 (llmcompare snapshot 2026-10-12).",
134
+ },
135
+ "deepseekv41flash1017": {
136
+ score: 32.4896393532027,
137
+ name: "DeepSeek V4.1 Flash 1017 (Max)",
138
+ },
139
+ "deepseekv4pro": {
140
+ score: 23.1,
141
+ name: "DeepSeek V4 Pro",
142
+ note: "v5.0 score; AA entry name: DeepSeek V4 Pro 0813 (Max).",
143
+ },
144
+ "flint40b": {
145
+ score: null,
146
+ name: "Flint 40B",
147
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). Not listed on Artificial Analysis; no score found.",
148
+ },
149
+ "gemini31pro": {
150
+ score: null,
151
+ name: "Gemini 3.1 Pro",
152
+ note: "Not scored in v5.0. v4.2 score 36.7 (llmcompare snapshot 2026-10-12); v4.1: 46.5 (Preview).",
153
+ },
154
+ "gemini35flash": {
155
+ score: null,
156
+ name: "Gemini 3.5 Flash",
157
+ note: "Not scored in v5.0. v4.2 score 39.7 (llmcompare snapshot 2026-10-12); v4.1: 50.2 (high).",
158
+ },
159
+ "gemini35flashlite": {
160
+ score: 11.7,
161
+ name: "Gemini 3.5 Flash-Lite",
162
+ note: "v5.0 score; AA entry name: Gemini 3.5 Flash-Lite.",
163
+ },
164
+ "gemini36flash": {
165
+ score: null,
166
+ name: "Gemini 3.6 Flash",
167
+ note: "Not scored in v5.0. v4.2 score 40.3 (llmcompare snapshot 2026-10-12).",
168
+ },
169
+ "gemini37flash": {
170
+ score: null,
171
+ name: "Gemini 3.7 Flash",
172
+ note: "Not scored in v5.0. v4.2 score 45.2 (llmcompare snapshot 2026-10-12).",
173
+ },
174
+ "gemini38flash": {
175
+ score: 30.5468119957291,
176
+ name: "Gemini 3.8 Flash (High)",
177
+ note: "AA variant: (high)",
178
+ },
179
+ "gemini3flash": {
180
+ score: null,
181
+ name: "Gemini 3 Flash",
182
+ note: "Not scored in v5.0. v4.1 score 37.8 (Preview, Reasoning).",
183
+ },
184
+ "gemini4argon": {
185
+ score: 50.4,
186
+ name: "Gemini 4 Argon",
187
+ note: "v5.0 score; AA entry name: Gemini 4 Argon (High).",
188
+ },
189
+ "gemini4carbon": {
190
+ score: 59.425738829526,
191
+ name: "Gemini 4 Carbon (High)",
192
+ note: "AA variant: (high)",
193
+ },
194
+ "glm5": {
195
+ score: null,
196
+ name: "GLM 5",
197
+ note: "Not scored in v5.0. v4.1 score 39.5 (v4.0-era: 50).",
198
+ },
199
+ "glm51": {
200
+ score: null,
201
+ name: "GLM 5.1",
202
+ note: "Not scored in v5.0. v4.2 score 26.4 (llmcompare snapshot 2026-10-12); v4.1: 40.2.",
203
+ },
204
+ "glm52": {
205
+ score: null,
206
+ name: "GLM 5.2",
207
+ note: "Not scored in v5.0. v4.2 score 34.0 (llmcompare snapshot 2026-10-12).",
208
+ },
209
+ "glm53": {
210
+ score: 31.653381843882,
211
+ name: "GLM-5.3 (Max)",
212
+ },
213
+ "glm53flash": {
214
+ score: 27.8,
215
+ name: "GLM 5.3 Flash",
216
+ note: "v5.0 score; AA entry name: GLM-5.3-Flash.",
217
+ },
218
+ "gpt5": {
219
+ score: null,
220
+ name: "GPT-5",
221
+ note: "Not scored in v5.0. v4.1 score 36.1.",
222
+ },
223
+ "gpt51": {
224
+ score: null,
225
+ name: "GPT-5.1",
226
+ note: "Not scored in v5.0. v4.1 score 38.9.",
227
+ },
228
+ "gpt52": {
229
+ score: null,
230
+ name: "GPT-5.2",
231
+ note: "Not scored in v5.0. v4.1 score 42.2 (xhigh); v4.0-era report: 51.",
232
+ },
233
+ "gpt53codex": {
234
+ score: null,
235
+ name: "GPT-5.3 Codex",
236
+ note: "Not scored in v5.0. v4.1 score 44.3 (xhigh); v4.0-era report: 54.",
237
+ },
238
+ "gpt53codexspark": {
239
+ score: null,
240
+ name: "GPT-5.3 Codex Spark",
241
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). Not listed on Artificial Analysis; no score found.",
242
+ },
243
+ "gpt54": {
244
+ score: null,
245
+ name: "GPT-5.4",
246
+ note: "Not scored in v5.0. v4.1 score 51.4 (xhigh); v4.0-era report: 57 (tied with Gemini 3.1 Pro Preview).",
247
+ },
248
+ "gpt54mini": {
249
+ score: null,
250
+ name: "GPT-5.4 mini",
251
+ note: "Not scored in v5.0. v4.2 score 24.6 (llmcompare snapshot 2026-10-12).",
252
+ },
253
+ "gpt54nano": {
254
+ score: null,
255
+ name: "GPT-5.4 nano",
256
+ note: "Not scored in v5.0. v4.2 score 21.2 (llmcompare snapshot 2026-10-12).",
257
+ },
258
+ "gpt54pro": {
259
+ score: null,
260
+ name: "GPT-5.4 Pro",
261
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). AA lists GPT-5.4 Pro (Xhigh) but has not scored it; no historical score found.",
262
+ },
263
+ "gpt55": {
264
+ score: null,
265
+ name: "GPT-5.5",
266
+ note: "Not scored in v5.0. v4.2 score 38.6 (llmcompare snapshot 2026-10-12); v4.1: 54.8 (xhigh).",
267
+ },
268
+ "gpt55pro": {
269
+ score: null,
270
+ name: "GPT-5.5 Pro",
271
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). AA lists GPT-5.5 Pro (Xhigh) but has never scored it; no historical score found.",
272
+ },
273
+ "gpt56luna": {
274
+ score: null,
275
+ name: "GPT-5.6 Luna",
276
+ note: "Not scored in v5.0. v4.2 score 43.4 (llmcompare snapshot 2026-10-12).",
277
+ },
278
+ "gpt56sol": {
279
+ score: null,
280
+ name: "GPT-5.6 Sol",
281
+ note: "Not scored in v5.0. v4.2 score 51.3 (llmcompare snapshot 2026-10-12).",
282
+ },
283
+ "gpt56terra": {
284
+ score: null,
285
+ name: "GPT-5.6 Terra",
286
+ note: "Not scored in v5.0. v4.2 score 46.8 (llmcompare snapshot 2026-10-12).",
287
+ },
288
+ "gpt5nano": {
289
+ score: null,
290
+ name: "GPT-5 nano",
291
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). AA lists GPT-5 nano but has not scored it; no historical score found.",
292
+ },
293
+ "gpt61sol": {
294
+ score: 54.5087338138148,
295
+ name: "GPT-6.1 Sol (Max)",
296
+ },
297
+ "gpt61terra": {
298
+ score: 50.9765188577015,
299
+ name: "GPT-6.1 Terra (Max)",
300
+ },
301
+ "gpt6astra": {
302
+ score: 56.8538559596797,
303
+ name: "GPT-6 Astra (Max)",
304
+ },
305
+ "gpt6luna": {
306
+ score: 27.7552004938153,
307
+ name: "GPT-6 Luna (Max)",
308
+ },
309
+ "gpt6sol": {
310
+ score: null,
311
+ name: "GPT-6 Sol",
312
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). AA lists GPT-6 Sol (Max) but has not scored it in v5.0; no v4.x score found.",
313
+ },
314
+ "grok45": {
315
+ score: null,
316
+ name: "Grok 4.5",
317
+ note: "Not scored in v5.0. v4.2 score 45.5 (llmcompare snapshot 2026-10-12).",
318
+ },
319
+ "grok46": {
320
+ score: null,
321
+ name: "Grok 4.6",
322
+ note: "Not scored in v5.0. v4.2 score 50.6 (llmcompare snapshot 2026-10-12).",
323
+ },
324
+ "grok47": {
325
+ score: 34.3350117067196,
326
+ name: "Grok 4.7 (Xhigh)",
327
+ note: "AA variant: (xhigh)",
328
+ },
329
+ "grokbuild01": {
330
+ score: null,
331
+ name: "Grok Build 0.1",
332
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). AA lists Grok Build 0.1 0616 but has not scored it; no historical score found.",
333
+ },
334
+ "hy3": {
335
+ score: null,
336
+ name: "Hy3",
337
+ note: "Not scored in v5.0. v4.2 score 25.8 (llmcompare snapshot 2026-10-12).",
338
+ },
339
+ "hy4preview": {
340
+ score: null,
341
+ name: "Hy4 preview",
342
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). Not listed on Artificial Analysis; no score found.",
343
+ },
344
+ "icemancontributor": {
345
+ score: null,
346
+ name: "Iceman Contributor",
347
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). Not listed on Artificial Analysis; no score found.",
348
+ },
349
+ "inkling": {
350
+ score: 12.4781698715401,
351
+ name: "Inkling (Xhigh)",
352
+ note: "AA variant: (xhigh)",
353
+ },
354
+ "jev113": {
355
+ score: null,
356
+ name: "Jev 1.13",
357
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). System One decision model (TypeSafe AI); not listed on Artificial Analysis; no score found.",
358
+ },
359
+ "k2horizon375ba23b": {
360
+ score: 17.7702731734027,
361
+ name: "K2 Horizon 375B A23B",
362
+ },
363
+ "kimik25": {
364
+ score: null,
365
+ name: "Kimi K2.5",
366
+ note: "Not scored in v5.0. v4.1 score 38.1 (v4.0-era: 47 Reasoning).",
367
+ },
368
+ "kimik26": {
369
+ score: null,
370
+ name: "Kimi K2.6",
371
+ note: "Not scored in v5.0. v4.2 score 27.5 (llmcompare snapshot 2026-10-12); v4.1: 42.8.",
372
+ },
373
+ "kimik27code": {
374
+ score: null,
375
+ name: "Kimi K2.7 Code",
376
+ note: "Not scored in v5.0. v4.2 score 26.3 (llmcompare snapshot 2026-10-12).",
377
+ },
378
+ "kimik3": {
379
+ score: null,
380
+ name: "Kimi K3",
381
+ note: "Not scored in v5.0 at max effort (only Kimi K3 (Low): 17.4). v4.2 score 50.2 (llmcompare snapshot 2026-10-12).",
382
+ },
383
+ "kimik31pro": {
384
+ score: 46.0026236744189,
385
+ name: "Kimi K3.1 Pro",
386
+ },
387
+ "ling31flash1019": {
388
+ score: 29.470119369837,
389
+ name: "Ling 3.1 Flash 1019",
390
+ },
391
+ "longcat20": {
392
+ score: null,
393
+ name: "LongCat-2.0",
394
+ note: "Not scored in v5.0. v4.2 score 19.7 (llmcompare snapshot 2026-10-12).",
395
+ },
396
+ "mimov25": {
397
+ score: null,
398
+ name: "MiMo-V2.5",
399
+ note: "Not scored in v5.0. v4.2 score 22.3 (llmcompare snapshot 2026-10-12).",
400
+ },
401
+ "mimov25pro": {
402
+ score: null,
403
+ name: "MiMo-V2.5-Pro",
404
+ note: "Not scored in v5.0. v4.2 score 32.6 (llmcompare snapshot 2026-10-12); v4.1: 42.2.",
405
+ },
406
+ "mimov26flash": {
407
+ score: 26.7,
408
+ name: "MiMo-V2.6-Flash",
409
+ note: "v5.0 score; AA entry name: MiMo-V2.6-Flash.",
410
+ },
411
+ "mimov26pro": {
412
+ score: 29.8897833093321,
413
+ name: "MiMo-V2.6-Pro",
414
+ },
415
+ "minimaxm25": {
416
+ score: null,
417
+ name: "MiniMax M2.5",
418
+ note: "Not scored in v5.0. v4.0-era score 42 (per AA MiniMax M2.7 article, Mar 2026).",
419
+ },
420
+ "minimaxm27": {
421
+ score: null,
422
+ name: "MiniMax M2.7",
423
+ note: "Not scored in v5.0. v4.2 score 23.2 (llmcompare snapshot 2026-10-12); v4.1: 38.1; v4.0-era: 50.",
424
+ },
425
+ "minimaxm3": {
426
+ score: 18.7,
427
+ name: "MiniMax M3",
428
+ note: "v5.0 score; AA entry name: MiniMax-M3.",
429
+ },
430
+ "minimaxm31flash": {
431
+ score: 28.9095214290458,
432
+ name: "MiniMax-M3.1-Flash",
433
+ },
434
+ "mistrallarge4": {
435
+ score: 26.0249946754784,
436
+ name: "Mistral Large 4 (High)",
437
+ note: "AA variant: (high)",
438
+ },
439
+ "musespark12": {
440
+ score: null,
441
+ name: "Muse Spark 1.2",
442
+ note: "Not scored in v5.0. v4.2 score 46.8 (llmcompare snapshot 2026-10-12).",
443
+ },
444
+ "musespark13": {
445
+ score: 36.4,
446
+ name: "Muse Spark 1.3",
447
+ note: "v5.0 score; AA entry name: Muse Spark 1.3 (Max).",
448
+ },
449
+ "musesparkopen": {
450
+ score: 24.6815868992913,
451
+ name: "Muse Spark Open (Xhigh)",
452
+ note: "AA variant: (xhigh)",
453
+ },
454
+ "musewonder": {
455
+ score: 43.3248225998431,
456
+ name: "Muse Wonder (Max)",
457
+ note: "OpenCode ID alias: muse-wonder-1.0.",
458
+ },
459
+ "musewonderfull": {
460
+ score: 49.7272123627021,
461
+ name: "Muse Wonder Full (Max)",
462
+ },
463
+ "nemotron35lightning": {
464
+ score: 5.5,
465
+ name: "Nemotron 3.5 Lightning",
466
+ note: "v5.0 score; AA entry name: Nemotron 3.5 Lightning.",
467
+ },
468
+ "nemotron35supervl": {
469
+ score: 13.6203422723141,
470
+ name: "Nemotron 3.5 Super VL",
471
+ },
472
+ "nemotron3ultra": {
473
+ score: 11.8,
474
+ name: "Nemotron 3 Ultra",
475
+ note: "v5.0 score; AA entry name: Nemotron 3 Ultra 550B A55B (Reasoning).",
476
+ },
477
+ "qwen35plus": {
478
+ score: null,
479
+ name: "Qwen3.5 Plus",
480
+ note: "No Artificial Analysis Intelligence Index score found (v5.0 or earlier). No 'Qwen3.5 Plus' on AA. Nearest entries: Qwen3.5 122B A10B (Reasoning) (v4.1 score 32.3) and Qwen3.5 Omni Plus (unscored).",
481
+ },
482
+ "qwen36plus": {
483
+ score: null,
484
+ name: "Qwen3.6 Plus",
485
+ note: "Not scored in v5.0. v4.1 score 39.6.",
486
+ },
487
+ "qwen37plus": {
488
+ score: null,
489
+ name: "Qwen3.7 Plus",
490
+ note: "Not scored in v5.0. v4.2 score 25.8 (llmcompare snapshot 2026-10-12); v4.1: 39.0.",
491
+ },
492
+ "qwen3827b": {
493
+ score: 20.1068756031705,
494
+ name: "Qwen3.8 27B (Xhigh)",
495
+ note: "AA variant: (xhigh)",
496
+ },
497
+ "qwen38flash": {
498
+ score: null,
499
+ name: "Qwen3.8 Flash",
500
+ note: "Not scored in v5.0. v4.2 score 39.9 for Qwen3.8 Flash Next (llmcompare snapshot 2026-10-12). Matched to AA model 'Qwen3.8-Flash-Next' (nearest Flash-tier entry).",
501
+ },
502
+ "qwen38max": {
503
+ score: 33.5545627367888,
504
+ name: "Qwen3.8 Max (0902)",
505
+ note: "AA variant: (0902)",
506
+ },
507
+ "step5preview": {
508
+ score: 28.5283090216016,
509
+ name: "Step 5 Preview",
510
+ },
511
+ }
512
+
513
+ // The snapshot is shared process-wide; freeze it so accidental mutation cannot
514
+ // change later lookups. `snapshotScores()` returns a frozen copy as well.
515
+ Object.freeze(AA_SNAPSHOT)