ai-model-verifier 3.7.1 → 3.8.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 (45) hide show
  1. package/README.md +3 -1
  2. package/dist/engine/evidence.d.ts +4 -1
  3. package/dist/engine/evidence.d.ts.map +1 -1
  4. package/dist/engine/evidence.js +15 -1
  5. package/dist/engine/evidence.js.map +1 -1
  6. package/dist/models/facts.d.ts +6 -1
  7. package/dist/models/facts.d.ts.map +1 -1
  8. package/dist/models/facts.js +7 -1
  9. package/dist/models/facts.js.map +1 -1
  10. package/dist/probes/prompts.d.ts +5 -0
  11. package/dist/probes/prompts.d.ts.map +1 -1
  12. package/dist/probes/prompts.js +5 -0
  13. package/dist/probes/prompts.js.map +1 -1
  14. package/dist/registry.d.ts +1 -1
  15. package/dist/rules/index.d.ts +2 -0
  16. package/dist/rules/index.d.ts.map +1 -1
  17. package/dist/rules/index.js +1 -0
  18. package/dist/rules/index.js.map +1 -1
  19. package/dist/rules/table.d.ts +1 -1
  20. package/dist/rules/table.d.ts.map +1 -1
  21. package/dist/rules/table.js +2 -0
  22. package/dist/rules/table.js.map +1 -1
  23. package/dist/rules/thinking-honored.d.ts +36 -0
  24. package/dist/rules/thinking-honored.d.ts.map +1 -0
  25. package/dist/rules/thinking-honored.js +77 -0
  26. package/dist/rules/thinking-honored.js.map +1 -0
  27. package/dist/rules/types.d.ts +2 -0
  28. package/dist/rules/types.d.ts.map +1 -1
  29. package/dist/rules/types.js.map +1 -1
  30. package/dist/vendors/gemini.d.ts +4 -0
  31. package/dist/vendors/gemini.d.ts.map +1 -1
  32. package/dist/vendors/gemini.js +8 -0
  33. package/dist/vendors/gemini.js.map +1 -1
  34. package/dist/vendors/openai.d.ts +2 -0
  35. package/dist/vendors/openai.d.ts.map +1 -1
  36. package/dist/vendors/openai.js +1 -0
  37. package/dist/vendors/openai.js.map +1 -1
  38. package/dist/vendors/table.d.ts +6 -0
  39. package/dist/vendors/table.d.ts.map +1 -1
  40. package/dist/vendors/types.d.ts +2 -0
  41. package/dist/vendors/types.d.ts.map +1 -1
  42. package/dist/vendors/types.js.map +1 -1
  43. package/dist/verify.d.ts +2 -2
  44. package/dist/verify.d.ts.map +1 -1
  45. package/package.json +1 -1
package/README.md CHANGED
@@ -90,7 +90,9 @@ const { verify } = createVerifier({
90
90
  ## What it detects
91
91
 
92
92
  Verdict rules, in precedence order: a must-think model answering with no
93
- reasoning tokens (`thinking-floor`, opt-in); a tokenizer fingerprint matching a
93
+ reasoning tokens (`thinking-floor`, opt-in); a model that thinks only when asked
94
+ answering a high-effort request with too little thought (`thinking-honored`,
95
+ opt-in with `thinkingFloor`); a tokenizer fingerprint matching a
94
96
  cheaper tier under a caller-supplied calibration (`tokenizer-fingerprint`,
95
97
  opt-in; ships no table, see the rule's note); `coding-tool` refusals (Kiro or
96
98
  Amazon Q wearing a Claude badge); scam pages; CJK language leaks from a
@@ -32,10 +32,12 @@ export type EvidenceBag = {
32
32
  thinkingReply: ThinkingReplyEvidence;
33
33
  /** null when the model may legitimately answer without thinking. */
34
34
  floorReply: TransportResult | null;
35
+ /** null unless the model thinks only when asked: the reply to a high-effort request. */
36
+ askedThinkingReply: TransportResult | null;
35
37
  };
36
38
  export type EvidenceKey = keyof EvidenceBag;
37
39
  /** Collection order when several keys are needed: probes first, then the extras. */
38
- export declare const EVIDENCE_ORDER: readonly ["probes", "survey", "answerFingerprint", "thinkingReply", "fixedText", "countTokens", "floorReply"];
40
+ export declare const EVIDENCE_ORDER: readonly ["probes", "survey", "answerFingerprint", "thinkingReply", "fixedText", "countTokens", "floorReply", "askedThinkingReply"];
39
41
  export declare class EvidenceStore {
40
42
  private readonly probes;
41
43
  private readonly survey;
@@ -44,6 +46,7 @@ export declare class EvidenceStore {
44
46
  private readonly countTokens;
45
47
  private readonly thinkingReply;
46
48
  private readonly floorReply;
49
+ private readonly askedThinkingReply;
47
50
  constructor(ctx: RunCtx);
48
51
  get<K extends EvidenceKey>(key: K): Promise<EvidenceBag[K]>;
49
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/engine/evidence.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAQrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,eAAe,CAAC;IACrB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,IAAI,CAAC;AAET;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gFAAgF;IAChF,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,2DAA2D;IAC3D,aAAa,EAAE,qBAAqB,CAAC;IACrC,oEAAoE;IACpE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC;AAE5C,oFAAoF;AACpF,eAAO,MAAM,cAAc,+GAQgB,CAAC;AA+E5C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IAEnE,YAAY,GAAG,EAAE,MAAM,EAQtB;IAED,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAmB7D"}
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/engine/evidence.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,6BAA6B,CAAC;AAQrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,eAAe,CAAC;IACrB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,IAAI,CAAC;AAET;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,2EAA2E;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gFAAgF;IAChF,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,2DAA2D;IAC3D,aAAa,EAAE,qBAAqB,CAAC;IACrC,oEAAoE;IACpE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,wFAAwF;IACxF,kBAAkB,EAAE,eAAe,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC;AAE5C,oFAAoF;AACpF,eAAO,MAAM,cAAc,qIASgB,CAAC;AA0F5C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IACnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwC;IAE3E,YAAY,GAAG,EAAE,MAAM,EAStB;IAED,GAAG,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAqB7D"}
@@ -1,4 +1,4 @@
1
- import { COUNT_PROBE_MAX_TOKENS, DIVERSE_PROMPT, FLOOR_PROMPT, LONG_PROMPT, SHORT_PROMPT, SIGNATURE_PROMPT, } from "../probes/prompts";
1
+ import { COUNT_PROBE_MAX_TOKENS, DIVERSE_PROMPT, ASKED_THINKING_PROMPT, FLOOR_PROMPT, LONG_PROMPT, SHORT_PROMPT, SIGNATURE_PROMPT, } from "../probes/prompts";
2
2
  import { callWire, chat, wireCtx } from "./context";
3
3
  import { collectProbes } from "./probe-runner";
4
4
  import { collectSurvey } from "./survey-runner";
@@ -17,6 +17,7 @@ export const EVIDENCE_ORDER = [
17
17
  "fixedText",
18
18
  "countTokens",
19
19
  "floorReply",
20
+ "askedThinkingReply",
20
21
  ];
21
22
  const ok = (r) => r.status !== null && r.status < 400;
22
23
  async function collectFixedText(ctx) {
@@ -78,6 +79,15 @@ async function collectFloorReply(ctx) {
78
79
  messages: [{ role: "user", content: FLOOR_PROMPT }],
79
80
  });
80
81
  }
82
+ async function collectAskedThinkingReply(ctx) {
83
+ if (!ctx.facts.thinksWhenAsked)
84
+ return null;
85
+ return chat(ctx, {
86
+ maxTokens: FLOOR_MAX_TOKENS,
87
+ reasoningEffort: "high",
88
+ messages: [{ role: "user", content: ASKED_THINKING_PROMPT }],
89
+ });
90
+ }
81
91
  const memo = (fn) => {
82
92
  let p;
83
93
  return () => (p ??= fn());
@@ -90,6 +100,7 @@ export class EvidenceStore {
90
100
  countTokens;
91
101
  thinkingReply;
92
102
  floorReply;
103
+ askedThinkingReply;
93
104
  constructor(ctx) {
94
105
  this.probes = memo(() => collectProbes(ctx));
95
106
  this.survey = memo(() => collectSurvey(ctx));
@@ -98,6 +109,7 @@ export class EvidenceStore {
98
109
  this.countTokens = memo(() => collectCountTokens(ctx, this));
99
110
  this.thinkingReply = memo(() => collectThinkingReply(ctx));
100
111
  this.floorReply = memo(() => collectFloorReply(ctx));
112
+ this.askedThinkingReply = memo(() => collectAskedThinkingReply(ctx));
101
113
  }
102
114
  get(key) {
103
115
  switch (key) {
@@ -115,6 +127,8 @@ export class EvidenceStore {
115
127
  return this.thinkingReply();
116
128
  case "floorReply":
117
129
  return this.floorReply();
130
+ case "askedThinkingReply":
131
+ return this.askedThinkingReply();
118
132
  }
119
133
  }
120
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/engine/evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/engine/evidence.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ export type ModelFacts<M extends string = MakerId> = {
18
18
  tokenizer: TokenizerGeneration | null;
19
19
  /** Cannot switch reasoning off (a reply with no thought tokens is a cheaper tier). */
20
20
  alwaysThinks: boolean;
21
+ /** Thinks only when asked: at high effort a reply with no thought means the effort was dropped. */
22
+ thinksWhenAsked: boolean;
21
23
  /** Reasoning models need room for hidden thought before the visible answer. */
22
24
  minOutputTokens: number | null;
23
25
  };
@@ -45,7 +47,10 @@ export declare const MODEL_FACTS: readonly [{
45
47
  readonly match: readonly ["glm-5-3*", "kimi-k2-6*", "kimi-k2-7*", "kimi-k3*", "deepseek-v4-pro*", "deepseek-v4-1-flash*", "qwen3-8-flash*"];
46
48
  readonly alwaysThinks: true;
47
49
  }, {
48
- readonly match: readonly ["gemini-2-5*", "gemini-3*"];
50
+ readonly match: "gemini-4*";
51
+ readonly thinksWhenAsked: true;
52
+ }, {
53
+ readonly match: readonly ["gemini-2-5*", "gemini-3*", "gemini-4*"];
49
54
  readonly minOutputTokens: 2000;
50
55
  }, {
51
56
  readonly match: readonly ["glm-5*", "kimi-k2-6*", "kimi-k2-7*", "kimi-k3*", "deepseek-v4*", "minimax-m2-5*", "minimax-m2-7*", "minimax-m3*", "mimo-v2-5*", "qwen3-8*", "hy4*"];
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/models/facts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC;AAE5D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;IACnD,uEAAuE;IACvE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,sFAAsF;IACtF,YAAY,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;IACnD,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3B,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MACwB,CAAC;AAI1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,eAAO,MAAM,WAAW;;uBAGV,UAAU;wBACT,WAAW;;;uBAWZ,UAAU;;oBAEb,UAAU;wBAAa,WAAW;;;;;;;;;8BAsBa,IAAI;;;8BAiBzC,IAAI;;;8BAeJ,IAAI;EAEiB,CAAC;AAE3C,eAAO,MAAM,gBAAgB,GAAI,KAAK,CAAC,CAAC,SAAS,SAAS,UAAU,EAAE,SAC7D,CAAC,KACP,CAAU,CAAC;AA8Bd,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,GAC5B,UAAU,CAAC;AACd,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAC/B,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,GAC1B,UAAU,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../src/models/facts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC;AAE5D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;IACnD,uEAAuE;IACvE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,sFAAsF;IACtF,YAAY,EAAE,OAAO,CAAC;IACtB,mGAAmG;IACnG,eAAe,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,IAAI;IACnD,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3B,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MACwB,CAAC;AAI1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,eAAO,MAAM,WAAW;;uBAGV,UAAU;wBACT,WAAW;;;uBAWZ,UAAU;;oBAEb,UAAU;wBAAa,WAAW;;;;;;;;oBAuBlC,WAAW;;;;8BAGiD,IAAI;;;8BAiBtD,IAAI;;;8BAeJ,IAAI;EAEiB,CAAC;AAE3C,eAAO,MAAM,gBAAgB,GAAI,KAAK,CAAC,CAAC,SAAS,SAAS,UAAU,EAAE,SAC7D,CAAC,KACP,CAAU,CAAC;AAgCd,wFAAwF;AACxF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,GAC5B,UAAU,CAAC;AACd,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAC/B,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,GAC1B,UAAU,CAAC,CAAC,CAAC,CAAC"}
@@ -55,9 +55,13 @@ export const MODEL_FACTS = [
55
55
  ],
56
56
  alwaysThinks: true,
57
57
  },
58
+ // Gemini 4 at low or medium effort often skips thinking entirely, so only a
59
+ // high-effort request is evidence: Google spent 304 to 360 thought tokens on
60
+ // the probe, the a7 merchants that dropped the effort 0 to 59.
61
+ { match: "gemini-4*", thinksWhenAsked: true },
58
62
  // Gemini thinks before it answers over the OpenAI wire too, and a 60 token
59
63
  // cap left a few characters of visible reply on the order book sellers.
60
- { match: ["gemini-2-5*", "gemini-3*"], minOutputTokens: 2000 },
64
+ { match: ["gemini-2-5*", "gemini-3*", "gemini-4*"], minOutputTokens: 2000 },
61
65
  // Open-weight thinkers answer after a hidden reasoning pass on every relay
62
66
  // that leaves it on; a 60 token cap returned a bracket and nothing else.
63
67
  {
@@ -98,6 +102,7 @@ const DEFAULTS = {
98
102
  thinking: "none",
99
103
  tokenizer: null,
100
104
  alwaysThinks: false,
105
+ thinksWhenAsked: false,
101
106
  minOutputTokens: null,
102
107
  };
103
108
  const FACT_KEYS = [
@@ -105,6 +110,7 @@ const FACT_KEYS = [
105
110
  "thinking",
106
111
  "tokenizer",
107
112
  "alwaysThinks",
113
+ "thinksWhenAsked",
108
114
  "minOutputTokens",
109
115
  ];
110
116
  function take(out, entry, key, seen) {
@@ -1 +1 @@
1
- {"version":3,"file":"facts.js","sourceRoot":"","sources":["../../src/models/facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts.js","sourceRoot":"","sources":["../../src/models/facts.ts"],"names":[],"mappings":"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"}
@@ -27,4 +27,9 @@ export declare const DIVERSE_PROMPT = "Reply with exactly: ok\n\nReference text:
27
27
  */
28
28
  export declare const SIGNATURE_PROMPT = "Find the greatest common divisor of 2378 and 1547 using the Euclidean algorithm.";
29
29
  export declare const FLOOR_PROMPT = "Reply with only the word ok.";
30
+ /**
31
+ * Small enough to answer in one token, hard enough that a model asked for high
32
+ * effort thinks first: genuine Gemini 4 spent 300 or more thought tokens on it.
33
+ */
34
+ export declare const ASKED_THINKING_PROMPT = "A bat and a ball cost 1.10 in total. The bat costs 1.00 more than the ball. How much does the ball cost? Reply with only the number.";
30
35
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/probes/prompts.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,2BAA2B,CAAC;AACrD,eAAO,MAAM,WAAW,QAA6D,CAAC;AACtF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,4xBAAgb,CAAC;AAE5c;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,qFACuD,CAAC;AAErF,eAAO,MAAM,YAAY,iCAAiC,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/probes/prompts.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,2BAA2B,CAAC;AACrD,eAAO,MAAM,WAAW,QAA6D,CAAC;AACtF,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,4xBAAgb,CAAC;AAE5c;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,qFACuD,CAAC;AAErF,eAAO,MAAM,YAAY,iCAAiC,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yIACsG,CAAC"}
@@ -35,4 +35,9 @@ export const DIVERSE_PROMPT = `${SHORT_PROMPT}\n\nReference text: 深度学习
35
35
  */
36
36
  export const SIGNATURE_PROMPT = "Find the greatest common divisor of 2378 and 1547 using the Euclidean algorithm.";
37
37
  export const FLOOR_PROMPT = "Reply with only the word ok.";
38
+ /**
39
+ * Small enough to answer in one token, hard enough that a model asked for high
40
+ * effort thinks first: genuine Gemini 4 spent 300 or more thought tokens on it.
41
+ */
42
+ export const ASKED_THINKING_PROMPT = "A bat and a ball cost 1.10 in total. The bat costs 1.00 more than the ball. How much does the ball cost? Reply with only the number.";
38
43
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/probes/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,kCAAkC,KAAK,mCAAmC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,YAAY,sBAAsB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,YAAY,8ZAA8Z,CAAC;AAE5c;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kFAAkF,CAAC;AAErF,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/probes/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,kCAAkC,KAAK,mCAAmC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,YAAY,sBAAsB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,YAAY,8ZAA8Z,CAAC;AAE5c;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kFAAkF,CAAC;AAErF,MAAM,CAAC,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,sIAAsI,CAAC"}
@@ -20,7 +20,7 @@ export declare function createVerifier<V extends string = never, R extends strin
20
20
  omit?: readonly RuleId[];
21
21
  modelFacts?: readonly FactsEntry<MakerId | M>[];
22
22
  }): {
23
- registry: Registry<"anthropic" | "gemini" | "openai" | V, "answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak" | R, "ai21" | "aion" | "alibaba" | "amazon" | "anthropic" | "arcee" | "baidu" | "bytedance" | "cohere" | "deepseek" | "google" | "ibm" | "inception" | "inclusionai" | "internlm" | "jetbrains" | "kwaipilot" | "liquid" | "meituan" | "meta" | "microsoft" | "minimax" | "mistral" | "moondream" | "moonshot" | "nexagi" | "nous" | "nvidia" | "openai" | "openbmb" | "perplexity" | "poolside" | "rednote" | "sarvam" | "sensetime" | "stepfun" | "swissai" | "tencent" | "typhoon" | "venice" | "writer" | "xai" | "xiaomi" | "zhipu" | M>;
23
+ registry: Registry<"anthropic" | "gemini" | "openai" | V, "answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "thinking-honored" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak" | R, "ai21" | "aion" | "alibaba" | "amazon" | "anthropic" | "arcee" | "baidu" | "bytedance" | "cohere" | "deepseek" | "google" | "ibm" | "inception" | "inclusionai" | "internlm" | "jetbrains" | "kwaipilot" | "liquid" | "meituan" | "meta" | "microsoft" | "minimax" | "mistral" | "moondream" | "moonshot" | "nexagi" | "nous" | "nvidia" | "openai" | "openbmb" | "perplexity" | "poolside" | "rednote" | "sarvam" | "sensetime" | "stepfun" | "swissai" | "tencent" | "typhoon" | "venice" | "writer" | "xai" | "xiaomi" | "zhipu" | M>;
24
24
  verify: (opts: VerifyOptions<VendorId | V>) => Promise<VerifyResult<VendorId | V, RuleId | R, MakerId | M>>;
25
25
  runRules: (opts: VerifyOptions<VendorId | V> & {
26
26
  only: readonly (RuleId | R)[];
@@ -3,6 +3,8 @@ export { defineRule } from "./types";
3
3
  export type * from "./types";
4
4
  export { DEFAULT_MIN_COMPLETION_TOKENS, judgeThinkingFloor, judgeReasoningUsage, mustAlwaysThink, readThinkingUsage, } from "./thinking-floor";
5
5
  export type { ThinkingFloorOptions, ThinkingFloorResult, ThinkingFloorState, } from "./thinking-floor";
6
+ export { MIN_ASKED_THINKING_TOKENS, judgeThinkingHonored, } from "./thinking-honored";
7
+ export type { ThinkingHonoredResult, ThinkingHonoredState, } from "./thinking-honored";
6
8
  export { DEFAULT_TIER_SIGNATURES, fingerprintDrifted, judgeTokenizerFingerprint, tierForDelta, } from "./tokenizer-fingerprint";
7
9
  export type { TierSignatures, TokenizerFingerprintResult, TokenizerFingerprintState, } from "./tokenizer-fingerprint";
8
10
  export type { SignatureResult, SignatureState } from "./thinking-signature";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from "./table";
2
2
  export { defineRule } from "./types";
3
3
  export { DEFAULT_MIN_COMPLETION_TOKENS, judgeThinkingFloor, judgeReasoningUsage, mustAlwaysThink, readThinkingUsage, } from "./thinking-floor";
4
+ export { MIN_ASKED_THINKING_TOKENS, judgeThinkingHonored, } from "./thinking-honored";
4
5
  export { DEFAULT_TIER_SIGNATURES, fingerprintDrifted, judgeTokenizerFingerprint, tierForDelta, } from "./tokenizer-fingerprint";
5
6
  export { expectedInputDelta } from "./token-truth";
6
7
  export { readResponseMetadata } from "./response-metadata";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMnE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMnE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC"}
@@ -4,7 +4,7 @@ import type { Rule } from "./types";
4
4
  * verdict. Evidence rules sit above the probe ladder because they read facts a
5
5
  * coached reply cannot fake; note rules only report.
6
6
  */
7
- export declare const RULES: readonly [Rule<"thinking-floor", "floorReply", "evidence">, Rule<"tokenizer-fingerprint", "fixedText", "evidence">, Rule<"masked-identity", "probes", "evidence">, Rule<"fake-200", "probes" | "survey", "evidence">, Rule<"coding-tool", "probes", "probe">, Rule<"scam", "probes", "probe">, Rule<"cjk-leak", "probes", "probe">, Rule<"mux", "probes", "probe">, Rule<"foreign", "probes", "probe">, Rule<"served-model-mismatch", "probes", "probe">, Rule<"substituted", "probes", "probe">, Rule<"quorum", "probes", "probe">, Rule<"tier-self-report", "probes", "note">, Rule<"signature", "thinkingReply", "note">, Rule<"token-truth", "countTokens" | "fixedText", "note">, Rule<"envelope", "probes", "note">, Rule<"throughput", "probes", "note">, Rule<"think-leak", "probes", "note">, Rule<"wrapper-leak", "survey", "note">, Rule<"mask-contradiction", "survey", "note">, Rule<"survey", "survey", "note">, Rule<"answer-fingerprint", "answerFingerprint", "note">];
7
+ export declare const RULES: readonly [Rule<"thinking-floor", "floorReply", "evidence">, Rule<"thinking-honored", "askedThinkingReply", "evidence">, Rule<"tokenizer-fingerprint", "fixedText", "evidence">, Rule<"masked-identity", "probes", "evidence">, Rule<"fake-200", "probes" | "survey", "evidence">, Rule<"coding-tool", "probes", "probe">, Rule<"scam", "probes", "probe">, Rule<"cjk-leak", "probes", "probe">, Rule<"mux", "probes", "probe">, Rule<"foreign", "probes", "probe">, Rule<"served-model-mismatch", "probes", "probe">, Rule<"substituted", "probes", "probe">, Rule<"quorum", "probes", "probe">, Rule<"tier-self-report", "probes", "note">, Rule<"signature", "thinkingReply", "note">, Rule<"token-truth", "countTokens" | "fixedText", "note">, Rule<"envelope", "probes", "note">, Rule<"throughput", "probes", "note">, Rule<"think-leak", "probes", "note">, Rule<"wrapper-leak", "survey", "note">, Rule<"mask-contradiction", "survey", "note">, Rule<"survey", "survey", "note">, Rule<"answer-fingerprint", "answerFingerprint", "note">];
8
8
  type RuleEntry = (typeof RULES)[number];
9
9
  export type RuleId = RuleEntry["id"];
10
10
  /** Rules that can decide a verdict; a UI naming every rule keys off this. */
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/rules/table.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,y7BAuBkB,CAAC;AAErC,KAAK,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACrC,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,SAAS,EACT;IAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;CAAE,CAChC,CAAC,IAAI,CAAC,CAAC;AAER,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAGlC,CAAC;AAEnB,eAAO,MAAM,oBAAoB,YAC/B,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,CACH,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,eAAe;4BACX,aAAa;mBACtB,MAAM;yBACA,UAAU;sBACb,SAAS;;oBAEX,QAAQ;CAC0D,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/rules/table.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,q/BAwBkB,CAAC;AAErC,KAAK,SAAS,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACrC,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,SAAS,EACT;IAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAA;CAAE,CAChC,CAAC,IAAI,CAAC,CAAC;AAER,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAGlC,CAAC;AAEnB,eAAO,MAAM,oBAAoB,YAC/B,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,CACH,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,eAAe;4BACX,aAAa;mBACtB,MAAM;yBACA,UAAU;sBACb,SAAS;;oBAEX,QAAQ;CAC0D,CAAC"}
@@ -9,6 +9,7 @@ import { maskContradictionRule } from "./mask-contradiction";
9
9
  import { fake200Rule } from "./fake-200";
10
10
  import { wrapperLeakRule } from "./wrapper-leak";
11
11
  import { thinkingFloorRule } from "./thinking-floor";
12
+ import { thinkingHonoredRule } from "./thinking-honored";
12
13
  import { throughputRule } from "./throughput";
13
14
  import { tokenTruthRule } from "./token-truth";
14
15
  import { tokenizerFingerprintRule } from "./tokenizer-fingerprint";
@@ -19,6 +20,7 @@ import { tokenizerFingerprintRule } from "./tokenizer-fingerprint";
19
20
  */
20
21
  export const RULES = [
21
22
  thinkingFloorRule,
23
+ thinkingHonoredRule,
22
24
  tokenizerFingerprintRule,
23
25
  maskedIdentityRule,
24
26
  fake200Rule,
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/rules/table.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,WAAW;IACX,cAAc;IACd,QAAQ;IACR,WAAW;IACX,OAAO;IACP,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,UAAU;IACV,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,cAAc;IACd,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,UAAU;IACV,qBAAqB;CACa,CAAC;AAUrC,MAAM,CAAC,MAAM,eAAe,GAA6B,KAAK,CAAC,MAAM,CACnE,CAAC,CAAC,EAA4D,EAAE,CAC9D,CAAC,CAAC,KAAK,KAAK,MAAM,CACrB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;CACH,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,QAAQ;CAC0D,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/rules/table.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,OAAO,EACP,UAAU,EACV,QAAQ,EACR,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,kBAAkB;IAClB,WAAW;IACX,cAAc;IACd,QAAQ;IACR,WAAW;IACX,OAAO;IACP,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,UAAU;IACV,kBAAkB;IAClB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,cAAc;IACd,aAAa;IACb,eAAe;IACf,qBAAqB;IACrB,UAAU;IACV,qBAAqB;CACa,CAAC;AAUrC,MAAM,CAAC,MAAM,eAAe,GAA6B,KAAK,CAAC,MAAM,CACnE,CAAC,CAAC,EAA4D,EAAE,CAC9D,CAAC,CAAC,KAAK,KAAK,MAAM,CACrB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS;IACT,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;CACH,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa,EAAE,aAAa;IAC5B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,UAAU;IACtB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,QAAQ;CAC0D,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Thinking honoured for models that think only when asked.
3
+ *
4
+ * Gemini 4 skips thinking at low and medium effort, so the always-thinks floor
5
+ * cannot judge it. Asked for high effort on a small reasoning question, Google's
6
+ * own route spent 304 to 360 thought tokens; a7 merchants selling the same id
7
+ * answered with 0 (the effort dropped on the way) or 47 to 59 (downgraded to low).
8
+ * Users saw the difference as short, flat replies on the cheap lanes.
9
+ *
10
+ * Reasoning tokens count when the reply reports them; otherwise the completion
11
+ * count stands in, since a relay that folds thoughts into the answer still bills
12
+ * them there.
13
+ */
14
+ /** A third of the lowest genuine high-effort count, room for shorter thoughts. */
15
+ export declare const MIN_ASKED_THINKING_TOKENS = 100;
16
+ export type ThinkingHonoredState = "thought"
17
+ /** Asked for high effort, the reply carried too little thought to have honoured it. */
18
+ | "ignored"
19
+ /** No usage, or the request failed: nothing to judge. */
20
+ | "unmeasured"
21
+ /** Model is not one that thinks only when asked. */
22
+ | "skipped";
23
+ export type ThinkingHonoredResult = {
24
+ state: ThinkingHonoredState;
25
+ thinkingTokens: number | null;
26
+ reasoningTokens: number | null;
27
+ completionTokens: number | null;
28
+ reason?: string;
29
+ };
30
+ /** Judge one reply to the high-effort probe. Pure: pass the usage already read. */
31
+ export declare function judgeThinkingHonored(usage: {
32
+ reasoning: number | null;
33
+ completion: number | null;
34
+ } | null, min?: number): ThinkingHonoredResult;
35
+ export declare const thinkingHonoredRule: import("./types").Rule<"thinking-honored", "askedThinkingReply", "evidence">;
36
+ //# sourceMappingURL=thinking-honored.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-honored.d.ts","sourceRoot":"","sources":["../../src/rules/thinking-honored.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,MAAM,MAAM,oBAAoB,GAC5B,SAAS;AACX,uFAAuF;GACrF,SAAS;AACX,yDAAyD;GACvD,YAAY;AACd,oDAAoD;GAClD,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,mFAAmF;AACnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,EACrE,GAAG,SAA4B,GAC9B,qBAAqB,CA2BvB;AAgBD,eAAO,MAAM,mBAAmB,8EAc9B,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Thinking honoured for models that think only when asked.
3
+ *
4
+ * Gemini 4 skips thinking at low and medium effort, so the always-thinks floor
5
+ * cannot judge it. Asked for high effort on a small reasoning question, Google's
6
+ * own route spent 304 to 360 thought tokens; a7 merchants selling the same id
7
+ * answered with 0 (the effort dropped on the way) or 47 to 59 (downgraded to low).
8
+ * Users saw the difference as short, flat replies on the cheap lanes.
9
+ *
10
+ * Reasoning tokens count when the reply reports them; otherwise the completion
11
+ * count stands in, since a relay that folds thoughts into the answer still bills
12
+ * them there.
13
+ */
14
+ import { defineRule } from "./types";
15
+ /** A third of the lowest genuine high-effort count, room for shorter thoughts. */
16
+ export const MIN_ASKED_THINKING_TOKENS = 100;
17
+ const SKIPPED = {
18
+ state: "skipped",
19
+ thinkingTokens: null,
20
+ reasoningTokens: null,
21
+ completionTokens: null,
22
+ };
23
+ /** Judge one reply to the high-effort probe. Pure: pass the usage already read. */
24
+ export function judgeThinkingHonored(usage, min = MIN_ASKED_THINKING_TOKENS) {
25
+ if (!usage || (usage.reasoning === null && usage.completion === null))
26
+ return { ...SKIPPED, state: "unmeasured", reason: "no usage in reply" };
27
+ const thinking = usage.reasoning !== null && usage.reasoning > 0
28
+ ? usage.reasoning
29
+ : usage.completion;
30
+ const base = {
31
+ thinkingTokens: thinking,
32
+ reasoningTokens: usage.reasoning,
33
+ completionTokens: usage.completion,
34
+ };
35
+ if (thinking === null || thinking === 0)
36
+ return thinking === 0 && usage.completion === 0
37
+ ? { state: "unmeasured", ...base, reason: "empty reply" }
38
+ : {
39
+ state: "ignored",
40
+ ...base,
41
+ reason: "asked for high effort, the reply carried no thought tokens",
42
+ };
43
+ if (thinking < min)
44
+ return {
45
+ state: "ignored",
46
+ ...base,
47
+ reason: `asked for high effort, ${thinking} thought tokens is below ${min}`,
48
+ };
49
+ return { state: "thought", ...base };
50
+ }
51
+ async function honoredResult(ctx) {
52
+ const res = await ctx.evidence("askedThinkingReply");
53
+ if (!res)
54
+ return SKIPPED;
55
+ if (res.status !== 200 || !res.data)
56
+ return {
57
+ ...SKIPPED,
58
+ state: "unmeasured",
59
+ reason: res.error ?? `http ${res.status ?? "none"}`,
60
+ };
61
+ return judgeThinkingHonored(ctx.wire.read.reasoningUsage?.(res.data) ?? null);
62
+ }
63
+ export const thinkingHonoredRule = defineRule({
64
+ id: "thinking-honored",
65
+ layer: "evidence",
66
+ needs: ["askedThinkingReply"],
67
+ check: "thinkingFloor",
68
+ applies: (ctx) => ctx.facts.thinksWhenAsked && ctx.wire.read.reasoningUsage !== undefined,
69
+ judge: async (ctx) => {
70
+ const r = await honoredResult(ctx);
71
+ return r.state === "ignored"
72
+ ? { severity: "fail", reason: `thinking-ignored: ${r.reason}`, data: r }
73
+ : null;
74
+ },
75
+ report: async (ctx) => ({ thinkingHonored: await honoredResult(ctx) }),
76
+ });
77
+ //# sourceMappingURL=thinking-honored.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinking-honored.js","sourceRoot":"","sources":["../../src/rules/thinking-honored.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { FingerprintSample } from "../engine/answer-fingerprint-runner";
5
5
  import type { ResponseMetadata } from "./response-metadata";
6
6
  import type { SignatureResult } from "./thinking-signature";
7
7
  import type { ThinkingFloorResult } from "./thinking-floor";
8
+ import type { ThinkingHonoredResult } from "./thinking-honored";
8
9
  import type { ThroughputSample } from "./throughput";
9
10
  import type { TokenTruthResult } from "./token-truth";
10
11
  import type { TokenizerFingerprintResult } from "./tokenizer-fingerprint";
@@ -35,6 +36,7 @@ export type Reports = {
35
36
  signature?: SignatureResult;
36
37
  tokenTruth?: TokenTruthResult;
37
38
  thinkingFloor?: ThinkingFloorResult;
39
+ thinkingHonored?: ThinkingHonoredResult;
38
40
  tokenizerFingerprint?: TokenizerFingerprintResult;
39
41
  responseMetadata?: ResponseMetadata;
40
42
  throughput?: ThroughputSample | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AAwEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAKxB,IAAoB,EACJ,EAAE,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/rules/types.ts"],"names":[],"mappings":"AA0EA,MAAM,CAAC,MAAM,UAAU,GAAG,CAKxB,IAAoB,EACJ,EAAE,CAAC,IAAI,CAAC"}
@@ -15,6 +15,10 @@ declare function chat(req: ChatRequest, ctx: WireCtx): {
15
15
  temperature?: number | undefined;
16
16
  topP?: number | undefined;
17
17
  seed?: number | undefined;
18
+ thinkingConfig?: {
19
+ thinkingLevel: "high";
20
+ includeThoughts: boolean;
21
+ } | undefined;
18
22
  };
19
23
  };
20
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/vendors/gemini.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAC;AAoBjB,iBAAS,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;;;QAItC,cAAc;QACd,gBAAgB;;;;;;;;;;;;;;EAkBrB;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS1C;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMnD;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CActC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAQ5D;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAQvB,CAAC"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/vendors/gemini.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAC;AAoBjB,iBAAS,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;;;QAItC,cAAc;QACd,gBAAgB;;;;;;;;;;;;;;;;;;EA0BrB;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS1C;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAMnD;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CActC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAQ5D;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAQvB,CAAC"}
@@ -22,6 +22,14 @@ function chat(req, ctx) {
22
22
  : {}),
23
23
  ...(req.topP !== undefined ? { topP: req.topP } : {}),
24
24
  ...(req.seed !== undefined ? { seed: req.seed } : {}),
25
+ ...(req.reasoningEffort
26
+ ? {
27
+ thinkingConfig: {
28
+ thinkingLevel: req.reasoningEffort,
29
+ includeThoughts: true,
30
+ },
31
+ }
32
+ : {}),
25
33
  },
26
34
  },
27
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/vendors/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/vendors/gemini.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ declare function chat(req: ChatRequest, ctx: WireCtx): {
10
10
  max_completion_tokens?: undefined;
11
11
  model: string;
12
12
  messages: readonly import("./types").ChatMessage[];
13
+ reasoning_effort?: "high" | undefined;
13
14
  temperature?: number | undefined;
14
15
  top_p?: number | undefined;
15
16
  seed?: number | undefined;
@@ -18,6 +19,7 @@ declare function chat(req: ChatRequest, ctx: WireCtx): {
18
19
  max_completion_tokens: number;
19
20
  model: string;
20
21
  messages: readonly import("./types").ChatMessage[];
22
+ reasoning_effort?: "high" | undefined;
21
23
  temperature?: number | undefined;
22
24
  top_p?: number | undefined;
23
25
  seed?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/vendors/openai.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAC;AAsBjB,iBAAS,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;IAaxC,GAAG;IACH,OAAO;QACL,cAAc;QACd,aAAa;;IAEf,IAAI;;;;;;;;;;;;;;;;;EASP;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAY1C;AAID,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWnD;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CActC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAW5D;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAQvB,CAAC"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/vendors/openai.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,EACb,MAAM,SAAS,CAAC;AAsBjB,iBAAS,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO;IAaxC,GAAG;IACH,OAAO;QACL,cAAc;QACd,aAAa;;IAEf,IAAI;;;;;;;;;;;;;;;;;;;EAUP;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAY1C;AAID,iBAAS,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWnD;AAED,iBAAS,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CActC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAW5D;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAQvB,CAAC"}
@@ -22,6 +22,7 @@ function chat(req, ctx) {
22
22
  model: req.model,
23
23
  ...limit,
24
24
  messages: req.messages,
25
+ ...(req.reasoningEffort ? { reasoning_effort: req.reasoningEffort } : {}),
25
26
  ...(req.temperature !== undefined ? { temperature: req.temperature } : {}),
26
27
  ...(req.topP !== undefined ? { top_p: req.topP } : {}),
27
28
  ...(req.seed !== undefined ? { seed: req.seed } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/vendors/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,YAAY,GAKb,MAAM,SAAS,CAAC;AAsBjB,SAAS,IAAI,CAAC,GAAgB,EAAE,GAAY;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;IACtC,oEAAoE;IACpE,4DAA4D;IAC5D,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,KAAK,GACT,GAAG,KAAK,IAAI;QACV,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE;QAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC5D,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;YACzD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACrD,OAAO;QACL,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB;QAC3D,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;SACtC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,KAAK;YACR,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,IAAa;IACzB,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACjD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,kEAAkE;AAClE,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC;QAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,EAAE;QACvC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,IAAI,CAAC,IAAa;IACzB,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC3D,KAAK,EAAE,CAAC;YACN,CAAC,CAAC;gBACE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;aAC7B;YACH,CAAC,CAAC,IAAI;QACR,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,yBAAyB,CAAC;IAC5C,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACtC,SAAS,EAAE,KAAK,CACd,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CACzE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;IACvC,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,EAAE;IACjB,GAAG,EAAE,EAAE,IAAI,EAAE;IACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE;IACnD,YAAY,EAAE,QAAQ;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/vendors/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,YAAY,GAKb,MAAM,SAAS,CAAC;AAsBjB,SAAS,IAAI,CAAC,GAAgB,EAAE,GAAY;IAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;IACtC,oEAAoE;IACpE,4DAA4D;IAC5D,0EAA0E;IAC1E,wDAAwD;IACxD,MAAM,KAAK,GACT,GAAG,KAAK,IAAI;QACV,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE;QAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC5D,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;YACzD,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;IACrD,OAAO;QACL,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB;QAC3D,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;SACtC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,KAAK;YACR,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,IAAa;IACzB,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACjD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;aACxB,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAC3E,kEAAkE;AAClE,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC;QAChD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,EAAE;QACvC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AAED,SAAS,IAAI,CAAC,IAAa;IACzB,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC3D,KAAK,EAAE,CAAC;YACN,CAAC,CAAC;gBACE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9B,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;aAC7B;YACH,CAAC,CAAC,IAAI;QACR,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAa;IACnC,MAAM,CAAC,GAAuB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,yBAAyB,CAAC;IAC5C,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACtC,SAAS,EAAE,KAAK,CACd,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CACzE;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;IACvC,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,QAAQ;IAClB,aAAa,EAAE,EAAE;IACjB,GAAG,EAAE,EAAE,IAAI,EAAE;IACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE;IACnD,YAAY,EAAE,QAAQ;CACvB,CAAC,CAAC"}
@@ -44,6 +44,7 @@ export declare const VENDORS: readonly [{
44
44
  max_completion_tokens?: undefined;
45
45
  model: string;
46
46
  messages: readonly import("./types").ChatMessage[];
47
+ reasoning_effort?: "high" | undefined;
47
48
  temperature?: number | undefined;
48
49
  top_p?: number | undefined;
49
50
  seed?: number | undefined;
@@ -52,6 +53,7 @@ export declare const VENDORS: readonly [{
52
53
  max_completion_tokens: number;
53
54
  model: string;
54
55
  messages: readonly import("./types").ChatMessage[];
56
+ reasoning_effort?: "high" | undefined;
55
57
  temperature?: number | undefined;
56
58
  top_p?: number | undefined;
57
59
  seed?: number | undefined;
@@ -87,6 +89,10 @@ export declare const VENDORS: readonly [{
87
89
  temperature?: number | undefined;
88
90
  topP?: number | undefined;
89
91
  seed?: number | undefined;
92
+ thinkingConfig?: {
93
+ thinkingLevel: "high";
94
+ includeThoughts: boolean;
95
+ } | undefined;
90
96
  };
91
97
  };
92
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/vendors/table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIyB,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAMtD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,EACpC,EAAE,EAAE,MAAM,GACT,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAE9B"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/vendors/table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIyB,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AAMtD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,EACpC,EAAE,EAAE,MAAM,GACT,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAE9B"}
@@ -20,6 +20,8 @@ export type ChatRequest = {
20
20
  maxTokens: number;
21
21
  messages: readonly ChatMessage[];
22
22
  thinking?: ThinkingSpec;
23
+ /** Ask for the most reasoning the endpoint offers. */
24
+ reasoningEffort?: "high";
23
25
  /** Sampling controls; absent means the endpoint's default. */
24
26
  temperature?: number;
25
27
  topP?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vendors/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vendors/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vendors/types.ts"],"names":[],"mappings":"AAqGA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAgC,MAAS,EAAK,EAAE,CAC1E,MAAM,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vendors/types.ts"],"names":[],"mappings":"AAuGA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAgC,MAAS,EAAK,EAAE,CAC1E,MAAM,CAAC"}
package/dist/verify.d.ts CHANGED
@@ -24,10 +24,10 @@ export declare function verifyWith<V extends string, R extends string, M extends
24
24
  export declare function runRulesWith<V extends string, R extends string, M extends string = MakerId>(registry: Registry<V, R, M>, opts: VerifyOptions<V> & {
25
25
  only: readonly R[];
26
26
  }): Promise<RuleRun<R>>;
27
- export declare const verify: (opts: VerifyOptions) => Promise<VerifyResult<"anthropic" | "gemini" | "openai", "answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak", "ai21" | "aion" | "alibaba" | "amazon" | "anthropic" | "arcee" | "baidu" | "bytedance" | "cohere" | "deepseek" | "google" | "ibm" | "inception" | "inclusionai" | "internlm" | "jetbrains" | "kwaipilot" | "liquid" | "meituan" | "meta" | "microsoft" | "minimax" | "mistral" | "moondream" | "moonshot" | "nexagi" | "nous" | "nvidia" | "openai" | "openbmb" | "perplexity" | "poolside" | "rednote" | "sarvam" | "sensetime" | "stepfun" | "swissai" | "tencent" | "typhoon" | "venice" | "writer" | "xai" | "xiaomi" | "zhipu">>;
27
+ export declare const verify: (opts: VerifyOptions) => Promise<VerifyResult<"anthropic" | "gemini" | "openai", "answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "thinking-honored" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak", "ai21" | "aion" | "alibaba" | "amazon" | "anthropic" | "arcee" | "baidu" | "bytedance" | "cohere" | "deepseek" | "google" | "ibm" | "inception" | "inclusionai" | "internlm" | "jetbrains" | "kwaipilot" | "liquid" | "meituan" | "meta" | "microsoft" | "minimax" | "mistral" | "moondream" | "moonshot" | "nexagi" | "nous" | "nvidia" | "openai" | "openbmb" | "perplexity" | "poolside" | "rednote" | "sarvam" | "sensetime" | "stepfun" | "swissai" | "tencent" | "typhoon" | "venice" | "writer" | "xai" | "xiaomi" | "zhipu">>;
28
28
  export declare const runRules: (opts: VerifyOptions & {
29
29
  only: readonly RuleId[];
30
- }) => Promise<RuleRun<"answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak">>;
30
+ }) => Promise<RuleRun<"answer-fingerprint" | "cjk-leak" | "coding-tool" | "envelope" | "fake-200" | "foreign" | "mask-contradiction" | "masked-identity" | "mux" | "quorum" | "scam" | "served-model-mismatch" | "signature" | "substituted" | "survey" | "think-leak" | "thinking-floor" | "thinking-honored" | "throughput" | "tier-self-report" | "token-truth" | "tokenizer-fingerprint" | "wrapper-leak">>;
31
31
  /** One raw request through the run's transport and body extras, for callers with their own probes. */
32
32
  export { callWire };
33
33
  //# sourceMappingURL=verify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA8B,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAoB,IAAI,EAAW,MAAM,eAAe,CAAC;AAErE,OAAO,KAAK,EAGV,OAAO,EACP,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIjE,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,GAAG,QAAQ,EAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,OAAO,IACxB;IACF,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAK9B,CAAC;AA+JF,sDAAsD;AACtD,wBAAsB,UAAU,CAC9B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,GAAG,OAAO,EAE1B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CA4ChC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,GAAG,OAAO,EAE1B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAYrB;AAED,eAAO,MAAM,MAAM,SAAU,aAAa,s6BACN,CAAC;AAErC,eAAO,MAAM,QAAQ,SAAU,aAAa,GAAG;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,yXACpC,CAAC;AAEvC,sGAAsG;AACtG,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA8B,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAoB,IAAI,EAAW,MAAM,eAAe,CAAC;AAErE,OAAO,KAAK,EAGV,OAAO,EACP,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIjE,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,MAAM,GAAG,QAAQ,EAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,OAAO,IACxB;IACF,OAAO,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,KAAK,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,KAAK,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAK9B,CAAC;AA+JF,sDAAsD;AACtD,wBAAsB,UAAU,CAC9B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,GAAG,OAAO,EAE1B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CA4ChC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,GAAG,OAAO,EAE1B,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,EAAE,CAAA;CAAE,GAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAYrB;AAED,eAAO,MAAM,MAAM,SAAU,aAAa,27BACN,CAAC;AAErC,eAAO,MAAM,QAAQ,SAAU,aAAa,GAAG;IAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,8YACpC,CAAC;AAEvC,sGAAsG;AACtG,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-model-verifier",
3
- "version": "3.7.1",
3
+ "version": "3.8.0",
4
4
  "description": "Verify an AI API endpoint really serves the model it claims: a vendor adapter per wire, a maker table for who trained what, 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",