ai-model-verifier 3.2.0 → 3.4.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 (95) hide show
  1. package/README.md +32 -5
  2. package/dist/engine/answer-fingerprint-runner.d.ts +33 -0
  3. package/dist/engine/answer-fingerprint-runner.d.ts.map +1 -0
  4. package/dist/engine/answer-fingerprint-runner.js +87 -0
  5. package/dist/engine/answer-fingerprint-runner.js.map +1 -0
  6. package/dist/engine/context.d.ts +4 -0
  7. package/dist/engine/context.d.ts.map +1 -1
  8. package/dist/engine/context.js +8 -0
  9. package/dist/engine/context.js.map +1 -1
  10. package/dist/engine/evidence.d.ts +7 -1
  11. package/dist/engine/evidence.d.ts.map +1 -1
  12. package/dist/engine/evidence.js +10 -3
  13. package/dist/engine/evidence.js.map +1 -1
  14. package/dist/identity/patterns.d.ts +6 -0
  15. package/dist/identity/patterns.d.ts.map +1 -1
  16. package/dist/identity/patterns.js +16 -0
  17. package/dist/identity/patterns.js.map +1 -1
  18. package/dist/index.d.ts +5 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/makers/resolve.d.ts.map +1 -1
  23. package/dist/makers/resolve.js +2 -0
  24. package/dist/makers/resolve.js.map +1 -1
  25. package/dist/makers/table.d.ts +318 -17
  26. package/dist/makers/table.d.ts.map +1 -1
  27. package/dist/makers/table.js +387 -24
  28. package/dist/makers/table.js.map +1 -1
  29. package/dist/makers/types.d.ts +8 -0
  30. package/dist/makers/types.d.ts.map +1 -1
  31. package/dist/makers/types.js.map +1 -1
  32. package/dist/probes/answer-fingerprint.d.ts +58 -0
  33. package/dist/probes/answer-fingerprint.d.ts.map +1 -0
  34. package/dist/probes/answer-fingerprint.js +135 -0
  35. package/dist/probes/answer-fingerprint.js.map +1 -0
  36. package/dist/probes/prompts.d.ts +7 -0
  37. package/dist/probes/prompts.d.ts.map +1 -1
  38. package/dist/probes/prompts.js +7 -0
  39. package/dist/probes/prompts.js.map +1 -1
  40. package/dist/probes/survey.d.ts +0 -8
  41. package/dist/probes/survey.d.ts.map +1 -1
  42. package/dist/probes/survey.js +2 -10
  43. package/dist/probes/survey.js.map +1 -1
  44. package/dist/probes/table.d.ts.map +1 -1
  45. package/dist/probes/table.js +4 -1
  46. package/dist/probes/table.js.map +1 -1
  47. package/dist/registry.d.ts +1 -1
  48. package/dist/rules/answer-fingerprint.d.ts +50 -0
  49. package/dist/rules/answer-fingerprint.d.ts.map +1 -0
  50. package/dist/rules/answer-fingerprint.js +136 -0
  51. package/dist/rules/answer-fingerprint.js.map +1 -0
  52. package/dist/rules/index.d.ts +3 -0
  53. package/dist/rules/index.d.ts.map +1 -1
  54. package/dist/rules/index.js +1 -0
  55. package/dist/rules/index.js.map +1 -1
  56. package/dist/rules/table.d.ts +1 -1
  57. package/dist/rules/table.d.ts.map +1 -1
  58. package/dist/rules/table.js +6 -0
  59. package/dist/rules/table.js.map +1 -1
  60. package/dist/rules/think-leak.d.ts +7 -0
  61. package/dist/rules/think-leak.d.ts.map +1 -0
  62. package/dist/rules/think-leak.js +26 -0
  63. package/dist/rules/think-leak.js.map +1 -0
  64. package/dist/rules/tokenizer-fingerprint.d.ts +2 -0
  65. package/dist/rules/tokenizer-fingerprint.d.ts.map +1 -1
  66. package/dist/rules/tokenizer-fingerprint.js +10 -3
  67. package/dist/rules/tokenizer-fingerprint.js.map +1 -1
  68. package/dist/rules/types.d.ts +2 -0
  69. package/dist/rules/types.d.ts.map +1 -1
  70. package/dist/rules/types.js.map +1 -1
  71. package/dist/rules/wrapper-leak.d.ts +8 -0
  72. package/dist/rules/wrapper-leak.d.ts.map +1 -0
  73. package/dist/rules/wrapper-leak.js +28 -0
  74. package/dist/rules/wrapper-leak.js.map +1 -0
  75. package/dist/types.d.ts +8 -3
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/vendors/anthropic.d.ts.map +1 -1
  78. package/dist/vendors/anthropic.js +5 -0
  79. package/dist/vendors/anthropic.js.map +1 -1
  80. package/dist/vendors/gemini.d.ts +3 -0
  81. package/dist/vendors/gemini.d.ts.map +1 -1
  82. package/dist/vendors/gemini.js +5 -0
  83. package/dist/vendors/gemini.js.map +1 -1
  84. package/dist/vendors/openai.d.ts +6 -0
  85. package/dist/vendors/openai.d.ts.map +1 -1
  86. package/dist/vendors/openai.js +8 -1
  87. package/dist/vendors/openai.js.map +1 -1
  88. package/dist/vendors/table.d.ts +9 -0
  89. package/dist/vendors/table.d.ts.map +1 -1
  90. package/dist/vendors/types.d.ts +4 -0
  91. package/dist/vendors/types.d.ts.map +1 -1
  92. package/dist/vendors/types.js.map +1 -1
  93. package/dist/verify.d.ts +2 -2
  94. package/dist/verify.d.ts.map +1 -1
  95. package/package.json +1 -1
@@ -1,12 +1,18 @@
1
1
  // Every word is matched on word boundaries (a digit or hyphen may follow, a
2
2
  // letter may not), so "meta" never hits "metadata" and "o3" still hits "o3-mini".
3
3
  // "google" is a cloud host, not a maker word for anyone else's foreign list.
4
+ //
5
+ // Model globs run over the normalised id (lowercase, `.` and `_` to `-`, any
6
+ // `vendor/` prefix stripped). Relays and marketplaces prefix and suffix freely
7
+ // (`coding-glm-5-3-free`, `e2ee-qwen3-6-35b-a3b`, `morph-kimik3`,
8
+ // `xiaomi-mimo-v2-5`), so a family word is matched anywhere in the id when it
9
+ // cannot collide with another family, and anchored when it can.
4
10
  export const MAKERS = [
5
11
  {
6
12
  id: "anthropic",
7
13
  name: "Anthropic",
8
14
  wire: "anthropic",
9
- models: ["*claude*"],
15
+ models: ["*claude*", "kiro*"],
10
16
  home: ["anthropic"],
11
17
  modelNames: ["claude", "anthropic"],
12
18
  cloudModelNames: ["amazon q", "q developer", "kiro"],
@@ -20,9 +26,19 @@ export const MAKERS = [
20
26
  id: "openai",
21
27
  name: "OpenAI",
22
28
  wire: "openai",
23
- models: ["gpt-*", "chatgpt*", "o1*", "o3*", "o4*"],
29
+ models: [
30
+ "gpt-*",
31
+ "*-gpt-*",
32
+ "chatgpt*",
33
+ "o1*",
34
+ "o3*",
35
+ "o4*",
36
+ "codex*",
37
+ "*-codex*",
38
+ "deep-research*",
39
+ ],
24
40
  home: ["openai"],
25
- modelNames: ["gpt", "chatgpt", "openai", "o1", "o3", "o4"],
41
+ modelNames: ["gpt", "chatgpt", "openai", "o1", "o3", "o4", "codex"],
26
42
  acceptsCloudHost: false,
27
43
  tiers: null,
28
44
  cjkNative: false,
@@ -31,7 +47,7 @@ export const MAKERS = [
31
47
  id: "google",
32
48
  name: "Google",
33
49
  wire: "gemini",
34
- models: ["*gemini*", "gemma*"],
50
+ models: ["*gemini*", "*gemma*", "antigravity*", "*nano-banana*"],
35
51
  home: ["google", "deepmind"],
36
52
  modelNames: ["gemini", "google", "gemma"],
37
53
  acceptsCloudHost: false,
@@ -44,18 +60,22 @@ export const MAKERS = [
44
60
  id: "deepseek",
45
61
  name: "DeepSeek",
46
62
  wire: "openai",
47
- models: ["deepseek*"],
63
+ models: ["*deepseek*", "*dsv3*", "*dsv4*", "*dsv5*"],
48
64
  home: ["deepseek", "deepseek-ai", "深度求索"],
49
65
  modelNames: ["deepseek"],
50
66
  acceptsCloudHost: false,
51
67
  tiers: null,
52
68
  cjkNative: true,
69
+ // Measured on Cloudflare's own deepseek route as well as on every
70
+ // marketplace: V4 answers "openai", "chatgpt" or "gpt-4o" about half the
71
+ // time and "anthropic" now and then. Its training data, not a swap.
72
+ selfConfusions: ["openai", "gpt", "chatgpt", "anthropic", "claude"],
53
73
  },
54
74
  {
55
75
  id: "moonshot",
56
76
  name: "Moonshot AI",
57
77
  wire: "openai",
58
- models: ["kimi*", "moonshot*"],
78
+ models: ["*kimi*", "moonshot*"],
59
79
  home: ["moonshot", "moonshotai", "月之暗面"],
60
80
  modelNames: ["kimi"],
61
81
  acceptsCloudHost: false,
@@ -66,7 +86,7 @@ export const MAKERS = [
66
86
  id: "zhipu",
67
87
  name: "Zhipu AI",
68
88
  wire: "openai",
69
- models: ["glm*", "chatglm*"],
89
+ models: ["*glm*"],
70
90
  home: ["zhipu", "zhipuai", "z.ai", "智谱"],
71
91
  modelNames: ["glm", "chatglm"],
72
92
  acceptsCloudHost: false,
@@ -77,7 +97,7 @@ export const MAKERS = [
77
97
  id: "minimax",
78
98
  name: "MiniMax",
79
99
  wire: "openai",
80
- models: ["minimax*", "abab*"],
100
+ models: ["*minimax*", "abab*"],
81
101
  home: ["minimax", "minimaxai", "稀宇"],
82
102
  modelNames: ["minimax", "abab"],
83
103
  acceptsCloudHost: false,
@@ -88,7 +108,7 @@ export const MAKERS = [
88
108
  id: "xiaomi",
89
109
  name: "Xiaomi",
90
110
  wire: "openai",
91
- models: ["mimo*"],
111
+ models: ["*mimo*"],
92
112
  home: ["xiaomi", "小米"],
93
113
  modelNames: ["mimo"],
94
114
  acceptsCloudHost: false,
@@ -100,13 +120,14 @@ export const MAKERS = [
100
120
  name: "Mistral AI",
101
121
  wire: "openai",
102
122
  models: [
103
- "mistral*",
104
- "mixtral*",
105
- "codestral*",
106
- "magistral*",
107
- "devstral*",
108
- "ministral*",
109
- "pixtral*",
123
+ "*mistral*",
124
+ "*mixtral*",
125
+ "*codestral*",
126
+ "*magistral*",
127
+ "*devstral*",
128
+ "*ministral*",
129
+ "*pixtral*",
130
+ "*leanstral*",
110
131
  ],
111
132
  home: ["mistral", "mistralai"],
112
133
  modelNames: [
@@ -117,6 +138,7 @@ export const MAKERS = [
117
138
  "devstral",
118
139
  "ministral",
119
140
  "pixtral",
141
+ "leanstral",
120
142
  ],
121
143
  acceptsCloudHost: false,
122
144
  tiers: null,
@@ -126,7 +148,7 @@ export const MAKERS = [
126
148
  id: "alibaba",
127
149
  name: "Alibaba",
128
150
  wire: "openai",
129
- models: ["qwen*", "qwq*", "qvq*"],
151
+ models: ["*qwen*", "*qwq*", "*qvq*"],
130
152
  home: ["alibaba", "qwen", "tongyi", "阿里", "通义"],
131
153
  modelNames: ["qwen", "qwq", "qvq"],
132
154
  acceptsCloudHost: false,
@@ -137,9 +159,10 @@ export const MAKERS = [
137
159
  id: "meta",
138
160
  name: "Meta",
139
161
  wire: "openai",
140
- models: ["*llama*"],
162
+ // l3-*, l31-* and l3-3-* are the community finetunes of Llama 3.
163
+ models: ["*llama*", "l3-*", "l31-*", "*muse-spark*", "*muse-glimmer*"],
141
164
  home: ["meta", "facebook"],
142
- modelNames: ["llama"],
165
+ modelNames: ["llama", "muse"],
143
166
  acceptsCloudHost: false,
144
167
  tiers: null,
145
168
  cjkNative: false,
@@ -148,7 +171,7 @@ export const MAKERS = [
148
171
  id: "xai",
149
172
  name: "xAI",
150
173
  wire: "openai",
151
- models: ["grok*"],
174
+ models: ["*grok*"],
152
175
  home: ["xai", "x.ai"],
153
176
  modelNames: ["grok"],
154
177
  acceptsCloudHost: false,
@@ -159,7 +182,7 @@ export const MAKERS = [
159
182
  id: "writer",
160
183
  name: "Writer",
161
184
  wire: "openai",
162
- models: ["palmyra*"],
185
+ models: ["*palmyra*"],
163
186
  // "writer" is ordinary English and would land in every other maker's
164
187
  // foreign list; the model name is the tell.
165
188
  home: [],
@@ -172,15 +195,355 @@ export const MAKERS = [
172
195
  id: "tencent",
173
196
  name: "Tencent",
174
197
  wire: "openai",
175
- // No `hy*` glob: it would claim hybrid-* and hyper-* ids; a consumer pins
176
- // hy4-preview through modelFacts.
177
- models: ["hunyuan*"],
198
+ // No `hy*` glob: it would claim hybrid-* and hyper-* ids.
199
+ models: ["*hunyuan*", "hy3*", "hy4*", "hy-*"],
178
200
  home: ["tencent", "hunyuan", "腾讯", "混元"],
179
201
  modelNames: ["hunyuan", "hy"],
180
202
  acceptsCloudHost: false,
181
203
  tiers: null,
182
204
  cjkNative: true,
183
205
  },
206
+ {
207
+ id: "cohere",
208
+ name: "Cohere",
209
+ wire: "openai",
210
+ models: [
211
+ "command*",
212
+ "*-command-*",
213
+ "c4ai*",
214
+ "aya-*",
215
+ "*-aya-*",
216
+ "tiny-aya*",
217
+ "north-*",
218
+ ],
219
+ home: ["cohere", "cohere labs", "coherelabs"],
220
+ modelNames: ["command", "aya", "c4ai"],
221
+ acceptsCloudHost: false,
222
+ tiers: null,
223
+ cjkNative: false,
224
+ },
225
+ {
226
+ id: "bytedance",
227
+ name: "ByteDance",
228
+ wire: "openai",
229
+ models: ["*doubao*", "seed-*", "*-seed-*", "seedream*", "seedance*"],
230
+ home: ["bytedance", "volcengine", "字节跳动", "火山引擎"],
231
+ modelNames: ["doubao", "seed"],
232
+ acceptsCloudHost: false,
233
+ tiers: null,
234
+ cjkNative: true,
235
+ },
236
+ {
237
+ id: "baidu",
238
+ name: "Baidu",
239
+ wire: "openai",
240
+ models: ["*ernie*"],
241
+ home: ["baidu", "百度"],
242
+ modelNames: ["ernie"],
243
+ acceptsCloudHost: false,
244
+ tiers: null,
245
+ cjkNative: true,
246
+ },
247
+ {
248
+ id: "stepfun",
249
+ name: "StepFun",
250
+ wire: "openai",
251
+ models: ["step-*", "*-step-*"],
252
+ home: ["stepfun", "阶跃星辰"],
253
+ // "step" alone is ordinary English; the versioned name is the tell.
254
+ modelNames: ["stepfun"],
255
+ acceptsCloudHost: false,
256
+ tiers: null,
257
+ cjkNative: true,
258
+ },
259
+ {
260
+ id: "nvidia",
261
+ name: "NVIDIA",
262
+ wire: "openai",
263
+ models: ["*nemotron*", "*riva-*"],
264
+ home: ["nvidia"],
265
+ modelNames: ["nemotron"],
266
+ acceptsCloudHost: false,
267
+ tiers: null,
268
+ cjkNative: false,
269
+ },
270
+ {
271
+ id: "ibm",
272
+ name: "IBM",
273
+ wire: "openai",
274
+ models: ["*granite*"],
275
+ home: ["ibm"],
276
+ modelNames: ["granite"],
277
+ acceptsCloudHost: false,
278
+ tiers: null,
279
+ cjkNative: false,
280
+ },
281
+ {
282
+ id: "liquid",
283
+ name: "Liquid AI",
284
+ wire: "openai",
285
+ models: ["lfm*", "*-lfm-*"],
286
+ home: ["liquid", "liquid ai"],
287
+ modelNames: ["lfm"],
288
+ acceptsCloudHost: false,
289
+ tiers: null,
290
+ cjkNative: false,
291
+ },
292
+ {
293
+ id: "kwaipilot",
294
+ name: "Kwaipilot",
295
+ wire: "openai",
296
+ models: ["*kat-coder*"],
297
+ home: ["kwaipilot", "kuaishou", "快手"],
298
+ modelNames: ["kat-coder"],
299
+ acceptsCloudHost: false,
300
+ tiers: null,
301
+ cjkNative: true,
302
+ },
303
+ {
304
+ id: "meituan",
305
+ name: "Meituan",
306
+ wire: "openai",
307
+ models: ["*longcat*"],
308
+ home: ["meituan", "美团"],
309
+ modelNames: ["longcat"],
310
+ acceptsCloudHost: false,
311
+ tiers: null,
312
+ cjkNative: true,
313
+ },
314
+ {
315
+ id: "inclusionai",
316
+ name: "inclusionAI",
317
+ wire: "openai",
318
+ models: ["ling-*", "*-ling-*", "ring-*", "*-ring-*"],
319
+ home: ["inclusionai", "ant group", "蚂蚁"],
320
+ modelNames: ["inclusionai"],
321
+ acceptsCloudHost: false,
322
+ tiers: null,
323
+ cjkNative: true,
324
+ },
325
+ {
326
+ id: "internlm",
327
+ name: "Shanghai AI Lab",
328
+ wire: "openai",
329
+ models: ["intern*", "*-intern-*"],
330
+ home: ["shanghai ai lab", "internlm", "上海人工智能实验室", "书生"],
331
+ modelNames: ["internlm", "internvl", "intern-s"],
332
+ acceptsCloudHost: false,
333
+ tiers: null,
334
+ cjkNative: true,
335
+ },
336
+ {
337
+ id: "openbmb",
338
+ name: "OpenBMB",
339
+ wire: "openai",
340
+ models: ["*minicpm*"],
341
+ home: ["openbmb", "modelbest", "面壁"],
342
+ modelNames: ["minicpm"],
343
+ acceptsCloudHost: false,
344
+ tiers: null,
345
+ cjkNative: true,
346
+ },
347
+ {
348
+ id: "sensetime",
349
+ name: "SenseTime",
350
+ wire: "openai",
351
+ models: ["*sensenova*", "*sensechat*"],
352
+ home: ["sensetime", "商汤"],
353
+ modelNames: ["sensenova", "sensechat"],
354
+ acceptsCloudHost: false,
355
+ tiers: null,
356
+ cjkNative: true,
357
+ },
358
+ {
359
+ id: "rednote",
360
+ name: "rednote",
361
+ wire: "openai",
362
+ models: ["dots*", "*-dots-*"],
363
+ home: ["rednote", "xiaohongshu", "小红书"],
364
+ modelNames: ["dots"],
365
+ acceptsCloudHost: false,
366
+ tiers: null,
367
+ cjkNative: true,
368
+ },
369
+ {
370
+ id: "perplexity",
371
+ name: "Perplexity",
372
+ wire: "openai",
373
+ models: ["sonar*", "*-sonar-*"],
374
+ home: ["perplexity"],
375
+ modelNames: ["sonar"],
376
+ acceptsCloudHost: false,
377
+ tiers: null,
378
+ cjkNative: false,
379
+ },
380
+ {
381
+ id: "microsoft",
382
+ name: "Microsoft",
383
+ wire: "openai",
384
+ models: ["phi-*", "phi3*", "phi4*", "phi5*", "*-phi-*"],
385
+ home: ["microsoft"],
386
+ modelNames: ["phi"],
387
+ acceptsCloudHost: false,
388
+ tiers: null,
389
+ cjkNative: false,
390
+ },
391
+ {
392
+ id: "amazon",
393
+ name: "Amazon",
394
+ wire: "openai",
395
+ models: ["nova-*", "*-nova-*"],
396
+ home: ["amazon", "aws"],
397
+ modelNames: ["nova"],
398
+ acceptsCloudHost: false,
399
+ tiers: null,
400
+ cjkNative: false,
401
+ },
402
+ {
403
+ id: "ai21",
404
+ name: "AI21 Labs",
405
+ wire: "openai",
406
+ models: ["*jamba*"],
407
+ home: ["ai21"],
408
+ modelNames: ["jamba"],
409
+ acceptsCloudHost: false,
410
+ tiers: null,
411
+ cjkNative: false,
412
+ },
413
+ {
414
+ id: "nous",
415
+ name: "Nous Research",
416
+ wire: "openai",
417
+ models: ["hermes*", "*-hermes-*"],
418
+ home: ["nous", "nous research"],
419
+ modelNames: ["hermes"],
420
+ acceptsCloudHost: false,
421
+ tiers: null,
422
+ cjkNative: false,
423
+ },
424
+ {
425
+ id: "poolside",
426
+ name: "Poolside",
427
+ wire: "openai",
428
+ models: ["laguna*", "*-laguna-*"],
429
+ home: ["poolside"],
430
+ modelNames: ["laguna"],
431
+ acceptsCloudHost: false,
432
+ tiers: null,
433
+ cjkNative: false,
434
+ },
435
+ {
436
+ id: "swissai",
437
+ name: "Swiss AI",
438
+ wire: "openai",
439
+ models: ["*apertus*"],
440
+ home: ["swiss ai", "swiss-ai", "eth zurich", "epfl"],
441
+ modelNames: ["apertus"],
442
+ acceptsCloudHost: false,
443
+ tiers: null,
444
+ cjkNative: false,
445
+ },
446
+ {
447
+ id: "inception",
448
+ name: "Inception Labs",
449
+ wire: "openai",
450
+ models: ["mercury*"],
451
+ home: ["inception", "inception labs"],
452
+ modelNames: ["mercury"],
453
+ acceptsCloudHost: false,
454
+ tiers: null,
455
+ cjkNative: false,
456
+ },
457
+ {
458
+ id: "arcee",
459
+ name: "Arcee AI",
460
+ wire: "openai",
461
+ models: ["trinity*", "*-trinity-*", "*arcee*"],
462
+ home: ["arcee"],
463
+ modelNames: ["trinity"],
464
+ acceptsCloudHost: false,
465
+ tiers: null,
466
+ cjkNative: false,
467
+ },
468
+ {
469
+ id: "nexagi",
470
+ name: "Nex AGI",
471
+ wire: "openai",
472
+ models: ["nex-*", "*-nex-*"],
473
+ home: ["nex", "nex agi", "nex-agi"],
474
+ modelNames: ["nex-n"],
475
+ acceptsCloudHost: false,
476
+ tiers: null,
477
+ cjkNative: false,
478
+ },
479
+ {
480
+ id: "sarvam",
481
+ name: "Sarvam AI",
482
+ wire: "openai",
483
+ models: ["sarvam*"],
484
+ home: ["sarvam"],
485
+ modelNames: ["sarvam"],
486
+ acceptsCloudHost: false,
487
+ tiers: null,
488
+ cjkNative: false,
489
+ },
490
+ {
491
+ id: "typhoon",
492
+ name: "SCB 10X",
493
+ wire: "openai",
494
+ models: ["typhoon*"],
495
+ home: ["scb 10x", "scb10x", "typhoon"],
496
+ modelNames: ["typhoon"],
497
+ acceptsCloudHost: false,
498
+ tiers: null,
499
+ cjkNative: false,
500
+ },
501
+ {
502
+ id: "moondream",
503
+ name: "Moondream",
504
+ wire: "openai",
505
+ models: ["moondream*"],
506
+ home: ["moondream", "m87"],
507
+ modelNames: ["moondream"],
508
+ acceptsCloudHost: false,
509
+ tiers: null,
510
+ cjkNative: false,
511
+ },
512
+ {
513
+ id: "jetbrains",
514
+ name: "JetBrains",
515
+ wire: "openai",
516
+ models: ["mellum*"],
517
+ home: ["jetbrains"],
518
+ modelNames: ["mellum"],
519
+ acceptsCloudHost: false,
520
+ tiers: null,
521
+ cjkNative: false,
522
+ },
523
+ {
524
+ id: "aion",
525
+ name: "Aion Labs",
526
+ wire: "openai",
527
+ models: ["aion-*", "*-aion-*"],
528
+ home: ["aion labs", "aion-labs", "aionlabs"],
529
+ modelNames: ["aion"],
530
+ acceptsCloudHost: false,
531
+ tiers: null,
532
+ cjkNative: false,
533
+ },
534
+ {
535
+ id: "venice",
536
+ name: "Venice",
537
+ wire: "openai",
538
+ // Venice's own finetunes; the media models under the same prefix are
539
+ // never probed on a text ladder.
540
+ models: ["venice-*"],
541
+ home: ["venice"],
542
+ modelNames: ["venice"],
543
+ acceptsCloudHost: false,
544
+ tiers: null,
545
+ cjkNative: false,
546
+ },
184
547
  ];
185
548
  // A native wire that names no adapter is a typo; fail the build, not the run.
186
549
  void MAKERS;
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/makers/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/makers/table.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,20 @@ export type Maker<Id extends string = string> = {
24
24
  tiers: readonly string[] | null;
25
25
  /** Trains primarily on Chinese text: CJK in a reply is a language preference, not a substitution tell. */
26
26
  cjkNative: boolean;
27
+ /**
28
+ * Names the model habitually gives for itself that are not evidence of a
29
+ * swap, measured on a route the maker operates (DeepSeek says "openai" or
30
+ * "chatgpt" on its own routes). Never foreign for this maker, still foreign
31
+ * for every other.
32
+ */
33
+ selfConfusions?: readonly string[];
27
34
  };
28
35
  /** A maker plus the vocabulary derived from every other maker in the registry. */
29
36
  export type ResolvedMaker<Id extends string = string> = Maker<Id> & {
30
37
  /** Words that name a competitor. */
31
38
  foreign: readonly string[];
32
39
  cloudModelNames: readonly string[];
40
+ selfConfusions: readonly string[];
33
41
  };
34
42
  export declare const defineMaker: <const M extends Maker>(maker: M) => M;
35
43
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/makers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IAC9C,EAAE,EAAE,EAAE,CAAC;IACP,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,0GAA0G;IAC1G,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG;IAClE,oCAAoC;IACpC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAG,CAAU,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/makers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI;IAC9C,EAAE,EAAE,EAAE,CAAC;IACP,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,0GAA0G;IAC1G,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC,GAAG;IAClE,oCAAoC;IACpC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,KAAG,CAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/makers/types.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAwB,KAAQ,EAAK,EAAE,CAAC,KAAK,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/makers/types.ts"],"names":[],"mappings":"AA2CA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAwB,KAAQ,EAAK,EAAE,CAAC,KAAK,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The answer fingerprint battery: one-word questions whose answer distribution
3
+ * at temperature 1 is model specific ("One Token Is Enough", arXiv
4
+ * 2607.10252). No nonce and no paraphrase: the prompt bytes must be identical
5
+ * across lanes and runs, or two distributions are not comparable. Nothing here
6
+ * judges; the rule reports counts and a caller accumulates them over days.
7
+ */
8
+ export type FingerprintCell<L extends string = string> = {
9
+ label: L;
10
+ prompt: string;
11
+ /** Maps a raw reply to its canonical answer, or null when it is no answer. */
12
+ normalize(answer: string): string | null;
13
+ };
14
+ /** Reasoning leaked into the content is stripped before the answer is read. */
15
+ export declare const stripThink: (text: string) => string;
16
+ declare const firstWord: (text: string) => string | null;
17
+ export declare const FINGERPRINT_CELLS: readonly [{
18
+ readonly label: "number";
19
+ readonly prompt: "Pick a random integer from 1 to 100. Reply with the number only.";
20
+ readonly normalize: (t: string) => string | null;
21
+ }, {
22
+ readonly label: "colour";
23
+ readonly prompt: "Name a colour. One word only.";
24
+ readonly normalize: (t: string) => string | null;
25
+ }, {
26
+ readonly label: "letter";
27
+ readonly prompt: "Pick a random letter of the alphabet. Reply with the letter only.";
28
+ readonly normalize: (t: string) => string | null;
29
+ }, {
30
+ readonly label: "city";
31
+ readonly prompt: "Name a city. One word only.";
32
+ readonly normalize: typeof firstWord;
33
+ }, {
34
+ readonly label: "coin";
35
+ readonly prompt: "Flip a coin. Reply with heads or tails only.";
36
+ readonly normalize: (text: string) => string | null;
37
+ }, {
38
+ readonly label: "animal";
39
+ readonly prompt: "Name an animal. One word only.";
40
+ readonly normalize: typeof firstWord;
41
+ }, {
42
+ readonly label: "favourite";
43
+ readonly prompt: "What is your favourite number from 1 to 10? Reply with the number only.";
44
+ readonly normalize: (t: string) => string | null;
45
+ }, {
46
+ readonly label: "fruit";
47
+ readonly prompt: "Name a fruit. One word only.";
48
+ readonly normalize: typeof firstWord;
49
+ }];
50
+ export type FingerprintLabel = (typeof FINGERPRINT_CELLS)[number]["label"];
51
+ export type AnswerClass = "valid" | "refusal" | "invalid" | "empty";
52
+ /** The canonical answer and its class for one reply to one cell. */
53
+ export declare function classifyAnswer(raw: string | null, cell: FingerprintCell): {
54
+ answer: string | null;
55
+ cls: AnswerClass;
56
+ };
57
+ export {};
58
+ //# sourceMappingURL=answer-fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-fingerprint.d.ts","sourceRoot":"","sources":["../../src/probes/answer-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACvD,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C,CAAC;AA0CF,+EAA+E;AAC/E,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MACoC,CAAC;AAU/E,QAAA,MAAM,SAAS,SAAU,MAAM,KAAG,MAAM,GAAG,IAA8B,CAAC;AAiB1E,eAAO,MAAM,iBAAiB;oBAEnB,QAAQ;qBACP,kEAAkE;4BAC3D,MAAM;;oBAGd,QAAQ;qBACP,+BAA+B;4BACxB,MAAM;;oBASd,QAAQ;qBACP,mEAAmE;4BAC5D,MAAM;;oBAOd,MAAM;qBACL,6BAA6B;;;oBAI9B,MAAM;qBACL,8CAA8C;+BAtCjD,MAAM,KAAG,MAAM,GAAG,IAAI;;oBA0CpB,QAAQ;qBACP,gCAAgC;;;oBAIjC,WAAW;qBAEhB,yEAAyE;4BAC5D,MAAM;;oBAGd,OAAO;qBACN,8BAA8B;;EAGK,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpE,oEAAoE;AACpE,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,EAAE,eAAe,GACpB;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,CAS7C"}