ai-model-verifier 2.0.1 → 2.0.3

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 +1 @@
1
- {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/engine/handshake.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAwEN,gFAAgF;AAChF,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EACd,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA6C9B"}
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/engine/handshake.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IACzC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AA8EN,gFAAgF;AAChF,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EACjD,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EACd,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA6C9B"}
@@ -1,4 +1,5 @@
1
1
  import { isTransientError } from "../identity/signals";
2
+ import { envelopeShapeOf } from "../vendors/shape";
2
3
  import { vendorFor } from "../vendors/table";
3
4
  import { callWire, wireCtx } from "./context";
4
5
  const HANDSHAKE_PROMPT = "hi";
@@ -51,7 +52,12 @@ async function tryWire(ctx, wire) {
51
52
  return { outcome: "cors", status: null, corsBlocked: true };
52
53
  if (res.status === null)
53
54
  return { outcome: "transient", status: null, corsBlocked: false };
54
- const outcome = classifyStatus(res.status);
55
+ // A 2xx that is no chat reply (an error body, or a host like webhook.site
56
+ // that answers every path with 200) proves no format, the same as a 4xx.
57
+ const status = classifyStatus(res.status);
58
+ const outcome = status === "ok" && envelopeShapeOf(res.data) === "unknown"
59
+ ? "format"
60
+ : status;
55
61
  return {
56
62
  outcome: outcome !== "ok" && rejectsModel(res.data) ? "model" : outcome,
57
63
  status: res.status,
@@ -1 +1 @@
1
- {"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/engine/handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handshake.js","sourceRoot":"","sources":["../../src/engine/handshake.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"probe-runner.d.ts","sourceRoot":"","sources":["../../src/engine/probe-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAS7D,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,GACjB,MAAM,CAUR;AAsJD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAE/D;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAM3E"}
1
+ {"version":3,"file":"probe-runner.d.ts","sourceRoot":"","sources":["../../src/engine/probe-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAuB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAS7D,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG;IACrC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,OAAO,GACjB,MAAM,CAUR;AAwJD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAE/D;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,IAAI,CAM3E"}
@@ -82,11 +82,13 @@ async function runProbe(ctx, probe) {
82
82
  }
83
83
  const text = ctx.wire.read.text(res.data);
84
84
  const meta = ctx.wire.read.meta(res.data);
85
+ // An error body at 200 is no answer either.
85
86
  if (text === null) {
86
87
  log(false, null, null, "upstream error envelope");
87
88
  return {
88
89
  ...base,
89
90
  pass: false,
91
+ transient: true,
90
92
  latencyMs: elapsed(),
91
93
  prompt: lastPrompt,
92
94
  httpStatus: res.status,
@@ -1 +1 @@
1
- {"version":3,"file":"probe-runner.js","sourceRoot":"","sources":["../../src/engine/probe-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"probe-runner.js","sourceRoot":"","sources":["../../src/engine/probe-runner.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare const SCAM_PAGE_PATTERNS: string[];
10
10
  export declare const VENDOR_PATTERNS: {
11
11
  readonly anthropic: readonly ["anthropic", "claude"];
12
12
  readonly openai: readonly ["openai", "chatgpt", "gpt-3", "gpt-4", "gpt-5", "o1-", "o3-", "o4-"];
13
- readonly google: readonly ["google", "deepmind", "gemini"];
13
+ readonly google: readonly ["deepmind", "gemini"];
14
14
  readonly other: readonly ["deepseek", "qwen", "moonshot", "kimi", "mistral", "llama", "meta", "grok", "xai", "zhipu"];
15
15
  };
16
16
  export type VendorKey = keyof typeof VENDOR_PATTERNS;
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/identity/patterns.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,UA2BxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,UAAiC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,UAM9B,CAAC;AAEF,eAAO,MAAM,eAAe;aAC1B,SAAS,YAAG,WAAW,EAAE,QAAQ;aACjC,MAAM,YAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;aAC5E,MAAM,YAAG,QAAQ,EAAE,UAAU,EAAE,QAAQ;aACvC,KAAK,YACH,UAAU,EACV,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO;CAED,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,eAAe,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAK/D;AAGD,eAAO,MAAM,mBAAmB,UAA6E,CAAC;AAE9G,eAAO,MAAM,wBAAwB,UAA0B,CAAC;AAEhE,eAAO,MAAM,QAAQ,QAAuB,CAAC;AAE7C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/identity/patterns.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,UA2BxC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,UAAiC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,UAM9B,CAAC;AAKF,eAAO,MAAM,eAAe;aAC1B,SAAS,YAAG,WAAW,EAAE,QAAQ;aACjC,MAAM,YAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;aAC5E,MAAM,YAAG,UAAU,EAAE,QAAQ;aAC7B,KAAK,YACH,UAAU,EACV,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,EACT,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO;CAED,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,eAAe,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CAK/D;AAGD,eAAO,MAAM,mBAAmB,UAA6E,CAAC;AAE9G,eAAO,MAAM,wBAAwB,UAA0B,CAAC;AAEhE,eAAO,MAAM,QAAQ,QAAuB,CAAC;AAE7C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
@@ -40,10 +40,13 @@ export const SCAM_PAGE_PATTERNS = [
40
40
  "盗取token",
41
41
  "微信jemes",
42
42
  ];
43
+ // "google" is deliberately not a Google marker: Claude on Vertex says "Anthropic,
44
+ // hosted on Google Cloud", and the cloud host list accepts it. DeepMind and
45
+ // Gemini are what a Google model calls itself.
43
46
  export const VENDOR_PATTERNS = {
44
47
  anthropic: ["anthropic", "claude"],
45
48
  openai: ["openai", "chatgpt", "gpt-3", "gpt-4", "gpt-5", "o1-", "o3-", "o4-"],
46
- google: ["google", "deepmind", "gemini"],
49
+ google: ["deepmind", "gemini"],
47
50
  other: [
48
51
  "deepseek",
49
52
  "qwen",
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/identity/patterns.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,yBAAyB;IACzB,uCAAuC;IACvC,mCAAmC;IACnC,8BAA8B;IAC9B,mCAAmC;IACnC,uCAAuC;IACvC,gCAAgC;IAChC,wBAAwB;IACxB,sCAAsC;IACtC,kCAAkC;IAClC,oCAAoC;IACpC,qCAAqC;IACrC,4CAA4C;IAC5C,sCAAsC;IACtC,6CAA6C;IAC7C,+BAA+B;IAC/B,wCAAwC;IACxC,2BAA2B;IAC3B,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,gCAAgC;IAChC,qBAAqB;IACrB,WAAW;IACX,qCAAqC;IACrC,iDAAiD;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7E,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;IACxC,KAAK,EAAE;QACL,UAAU;QACV,MAAM;QACN,UAAU;QACV,MAAM;QACN,SAAS;QACT,OAAO;QACP,MAAM;QACN,MAAM;QACN,KAAK;QACL,OAAO;KACR;CACO,CAAC;AAIX,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,IAAI,GAAgB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,IAAI,eAAe,CAC5C,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,CAAC,CAAC;AAE9G,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC;AAE7C,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/identity/patterns.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,yBAAyB;IACzB,uCAAuC;IACvC,mCAAmC;IACnC,8BAA8B;IAC9B,mCAAmC;IACnC,uCAAuC;IACvC,gCAAgC;IAChC,wBAAwB;IACxB,sCAAsC;IACtC,kCAAkC;IAClC,oCAAoC;IACpC,qCAAqC;IACrC,4CAA4C;IAC5C,sCAAsC;IACtC,6CAA6C;IAC7C,+BAA+B;IAC/B,wCAAwC;IACxC,2BAA2B;IAC3B,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,gCAAgC;IAChC,qBAAqB;IACrB,WAAW;IACX,qCAAqC;IACrC,iDAAiD;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,kFAAkF;AAClF,4EAA4E;AAC5E,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,SAAS,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7E,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9B,KAAK,EAAE;QACL,UAAU;QACV,MAAM;QACN,UAAU;QACV,MAAM;QACN,SAAS;QACT,OAAO;QACP,MAAM;QACN,MAAM;QACN,KAAK;QACL,OAAO;KACR;CACO,CAAC;AAIX,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,IAAI,GAAgB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAkB,EAAE,CAAC,CAAC,IAAI,eAAe,CAC5C,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,SAAS,CAAC,CAAC;AAE9G,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC;AAE7C,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"response-metadata.d.ts","sourceRoot":"","sources":["../../src/rules/response-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,KAAK,EAAE,aAAa,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAmDF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CAyClB;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,sDAiBvB,CAAC"}
1
+ {"version":3,"file":"response-metadata.d.ts","sourceRoot":"","sources":["../../src/rules/response-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qEAAqE;IACrE,KAAK,EAAE,aAAa,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,EAAE,aAAa,CAAC;IACxB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yEAAyE;IACzE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAWF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,aAAa,GACtB,gBAAgB,CAwClB;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,sDAiBvB,CAAC"}
@@ -11,24 +11,9 @@
11
11
  * worth being able to ask.
12
12
  */
13
13
  import { richestProbe } from "../engine/probe-runner";
14
+ import { rec } from "../internal/utils";
15
+ import { ANTHROPIC_USAGE, envelopeShapeOf, GEMINI_USAGE, OPENAI_USAGE, } from "../vendors/shape";
14
16
  import { defineRule } from "./types";
15
- const ANTHROPIC_USAGE = new Set([
16
- "input_tokens",
17
- "output_tokens",
18
- "cache_read_input_tokens",
19
- "cache_creation_input_tokens",
20
- ]);
21
- const OPENAI_USAGE = new Set([
22
- "prompt_tokens",
23
- "completion_tokens",
24
- "total_tokens",
25
- ]);
26
- const GEMINI_USAGE = new Set([
27
- "promptTokenCount",
28
- "candidatesTokenCount",
29
- "totalTokenCount",
30
- "thoughtsTokenCount",
31
- ]);
32
17
  function idPrefixOf(id) {
33
18
  if (typeof id !== "string" || id.length === 0)
34
19
  return null;
@@ -39,23 +24,10 @@ function idPrefixOf(id) {
39
24
  const cut = id.search(/[-_]/);
40
25
  return cut > 0 ? id.slice(0, cut + 1) : "(none)";
41
26
  }
42
- function shapeOf(data, usageKeys) {
43
- if (data["candidates"] !== undefined ||
44
- usageKeys.some((k) => GEMINI_USAGE.has(k)))
45
- return "gemini";
46
- if (data["choices"] !== undefined ||
47
- usageKeys.some((k) => OPENAI_USAGE.has(k)))
48
- return "openai";
49
- if (data["content"] !== undefined ||
50
- usageKeys.some((k) => ANTHROPIC_USAGE.has(k)))
51
- return "anthropic";
52
- return "unknown";
53
- }
54
27
  export function readResponseMetadata(data, expected) {
55
- const obj = (data ?? {});
56
- const usage = (obj["usage"] ?? {});
57
- const usageKeys = Object.keys(usage).sort();
58
- const shape = shapeOf(obj, usageKeys);
28
+ const obj = rec(data) ?? {};
29
+ const usageKeys = Object.keys(rec(obj["usage"]) ?? {}).sort();
30
+ const shape = envelopeShapeOf(data);
59
31
  const idPrefix = idPrefixOf(obj["id"]);
60
32
  const notes = [];
61
33
  // Usage keys belonging to a vendor other than the shape we are reading.
@@ -1 +1 @@
1
- {"version":3,"file":"response-metadata.js","sourceRoot":"","sources":["../../src/rules/response-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-metadata.js","sourceRoot":"","sources":["../../src/rules/response-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { EnvelopeShape } from "./types";
2
+ export declare const ANTHROPIC_USAGE: Set<string>;
3
+ export declare const OPENAI_USAGE: Set<string>;
4
+ export declare const GEMINI_USAGE: Set<string>;
5
+ /** Shape a reply body matches, regardless of which API was called. */
6
+ export declare function envelopeShapeOf(data: unknown): EnvelopeShape;
7
+ //# sourceMappingURL=shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../src/vendors/shape.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,eAAe,aAK1B,CAAC;AACH,eAAO,MAAM,YAAY,aAIvB,CAAC;AACH,eAAO,MAAM,YAAY,aAKvB,CAAC;AAEH,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,CAmB5D"}
@@ -0,0 +1,34 @@
1
+ import { rec } from "../internal/utils";
2
+ export const ANTHROPIC_USAGE = new Set([
3
+ "input_tokens",
4
+ "output_tokens",
5
+ "cache_read_input_tokens",
6
+ "cache_creation_input_tokens",
7
+ ]);
8
+ export const OPENAI_USAGE = new Set([
9
+ "prompt_tokens",
10
+ "completion_tokens",
11
+ "total_tokens",
12
+ ]);
13
+ export const GEMINI_USAGE = new Set([
14
+ "promptTokenCount",
15
+ "candidatesTokenCount",
16
+ "totalTokenCount",
17
+ "thoughtsTokenCount",
18
+ ]);
19
+ /** Shape a reply body matches, regardless of which API was called. */
20
+ export function envelopeShapeOf(data) {
21
+ const obj = rec(data) ?? {};
22
+ const usageKeys = Object.keys(rec(obj["usage"]) ?? {});
23
+ if (obj["candidates"] !== undefined ||
24
+ usageKeys.some((k) => GEMINI_USAGE.has(k)))
25
+ return "gemini";
26
+ if (obj["choices"] !== undefined ||
27
+ usageKeys.some((k) => OPENAI_USAGE.has(k)))
28
+ return "openai";
29
+ if (obj["content"] !== undefined ||
30
+ usageKeys.some((k) => ANTHROPIC_USAGE.has(k)))
31
+ return "anthropic";
32
+ return "unknown";
33
+ }
34
+ //# sourceMappingURL=shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape.js","sourceRoot":"","sources":["../../src/vendors/shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,cAAc;IACd,eAAe;IACf,yBAAyB;IACzB,6BAA6B;CAC9B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,eAAe;IACf,mBAAmB;IACnB,cAAc;CACf,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,kBAAkB;IAClB,sBAAsB;IACtB,iBAAiB;IACjB,oBAAoB;CACrB,CAAC,CAAC;AAEH,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,IACE,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS;QAC/B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1C,OAAO,QAAQ,CAAC;IAClB,IACE,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS;QAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1C,OAAO,QAAQ,CAAC;IAClB,IACE,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS;QAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE7C,OAAO,WAAW,CAAC;IACrB,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-model-verifier",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "Verify an AI API endpoint really serves the model it claims: a vendor adapter per wire, a rule table over shared evidence, and per model facts. Model substitution, Claude thinking signatures, token billing accuracy, envelope and throughput evidence.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",