@tormentalabs/claude-code-wire-compat 0.1.0-rc.10 → 0.1.0-rc.12

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.
@@ -28,6 +28,14 @@ import type { ClaudeCodeBetaPolicy, ClaudeCodeCapabilities } from "./contracts.j
28
28
  * This package reproduces that. Rejecting the mismatch instead — which is what
29
29
  * it used to do — would make its traffic distinguishable from the real client's,
30
30
  * which is the one thing it exists to avoid.
31
+ *
32
+ * This module also owns `modelOutputTokenLimits` and `clampMaxTokens`, which
33
+ * bound `max_tokens` rather than anything thinking-specific. They live here
34
+ * because upstream derives both from one table (`Xxe`) and feeds one clamped
35
+ * value (`Fi`) into both the emitted `max_tokens` and the thinking budget, so
36
+ * splitting them would separate two things that must not drift apart. If a
37
+ * third consumer of the limit table ever appears, extract all three into their
38
+ * own module at that point.
31
39
  */
32
40
  /** Permitted values of the `display` property, from the schema at 241453966. */
33
41
  export type ThinkingDisplay = "summarized" | "omitted";
@@ -36,7 +44,7 @@ export interface ThinkingRequest {
36
44
  readonly budgetTokens?: number;
37
45
  readonly display?: ThinkingDisplay;
38
46
  }
39
- export interface ThinkingBudgetLimits {
47
+ export interface ModelOutputTokenLimits {
40
48
  readonly default: number;
41
49
  readonly upperLimit: number;
42
50
  }
@@ -53,16 +61,46 @@ export interface ResolvedThinking {
53
61
  readonly extendedThinkingActive: boolean;
54
62
  }
55
63
  /**
56
- * Per-model thinking budget limits, ported from upstream `Xxe` at byte offset
64
+ * Per-model output token limits, ported from upstream `Xxe` at byte offset
57
65
  * 227378240. Keyed on the NORMALISED model id, and deliberately independent of
58
66
  * the catalogue: `claude-3-opus`, `claude-3-sonnet` and `claude-3-haiku` are
59
67
  * reachable through the normaliser but have no catalogue entry.
60
68
  *
61
- * Upstream additionally consults `Vkd` and `bvi`, but both adjust only
62
- * `default`, never `upperLimit`, and `bvi` sits behind `_vi()` which returns
63
- * false. Only `upperLimit` is consumed here, so neither is modelled.
69
+ * Both fields are load-bearing. `upperLimit` seeds the thinking budget when the
70
+ * caller supplies none (upstream `wvi = Xxe(e).upperLimit - 1`); `default` caps
71
+ * the emitted `max_tokens` (upstream `qct`, see `clampMaxTokens`).
72
+ *
73
+ * Upstream additionally consults `Vkd` and `bvi`, neither of which is modelled:
74
+ *
75
+ * - `Vkd(e)` lowers `default` from the host config object `heather_vale`.
76
+ * That object is absent on a default install, so it returns null and makes
77
+ * no adjustment. Same class as `W9` in `model-capabilities.ts`: a host-side
78
+ * override this package cannot observe.
79
+ * - `bvi(e)` adjusts BOTH fields, but sits behind `_vi()`, which returns a
80
+ * hard `false`. Dead code upstream.
81
+ */
82
+ export declare function modelOutputTokenLimits(normalizedId: string): ModelOutputTokenLimits;
83
+ /**
84
+ * Caps the caller's `max_tokens` at the model's default output limit, porting
85
+ * upstream `Fi = Math.min(En?.maxTokensOverride || s.maxOutputTokensOverride
86
+ * || la, la)` where `la = qct(u)`.
87
+ *
88
+ * `qct` is `Fue("CLAUDE_CODE_MAX_OUTPUT_TOKENS", <env>, t.default,
89
+ * t.upperLimit).effective` over `t = Xxe(model)`. `Fue` returns `t.default`
90
+ * untouched whenever the environment variable is unset, and only ever clamps
91
+ * the ENVIRONMENT value against `t.upperLimit` — never the default. This
92
+ * package reads no environment, so `qct` reduces to `Xxe(model).default` and
93
+ * `upperLimit` plays no part in this bound.
94
+ *
95
+ * The result is load-bearing twice over: it is the emitted `max_tokens`, and it
96
+ * is the `Fi` that `resolveThinking` clamps the thinking budget against via
97
+ * `Tr = Math.min(Fi - 1, Tr)`. Both call sites must receive the CLAMPED value.
98
+ *
99
+ * Upstream uses `||`, not `??`, so a zero override would fall back to the
100
+ * default. Unreachable here: `max_tokens` is validated as a positive integer
101
+ * before this runs.
64
102
  */
65
- export declare function thinkingBudgetLimits(normalizedId: string): ThinkingBudgetLimits;
103
+ export declare function clampMaxTokens(requested: number, normalizedId: string): number;
66
104
  /**
67
105
  * Upstream `Yn = nr && CM() && QOt(u) ? n.display : void 0`, combined with the
68
106
  * `if (Xn && Yn)` guard on the beta splice.
@@ -1 +1 @@
1
- {"version":3,"file":"thinking.d.ts","sourceRoot":"","sources":["../src/thinking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,sEAAsE;IACtE,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,GACnB,oBAAoB,CAiDtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA+ClB"}
1
+ {"version":3,"file":"thinking.d.ts","sourceRoot":"","sources":["../src/thinking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAChE;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,sEAAsE;IACtE,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,GACnB,sBAAsB,CAiDxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,MAAM,CAER;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAWT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,GAChB,gBAAgB,CA+ClB"}
package/dist/thinking.js CHANGED
@@ -1,15 +1,24 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  /**
3
- * Per-model thinking budget limits, ported from upstream `Xxe` at byte offset
3
+ * Per-model output token limits, ported from upstream `Xxe` at byte offset
4
4
  * 227378240. Keyed on the NORMALISED model id, and deliberately independent of
5
5
  * the catalogue: `claude-3-opus`, `claude-3-sonnet` and `claude-3-haiku` are
6
6
  * reachable through the normaliser but have no catalogue entry.
7
7
  *
8
- * Upstream additionally consults `Vkd` and `bvi`, but both adjust only
9
- * `default`, never `upperLimit`, and `bvi` sits behind `_vi()` which returns
10
- * false. Only `upperLimit` is consumed here, so neither is modelled.
8
+ * Both fields are load-bearing. `upperLimit` seeds the thinking budget when the
9
+ * caller supplies none (upstream `wvi = Xxe(e).upperLimit - 1`); `default` caps
10
+ * the emitted `max_tokens` (upstream `qct`, see `clampMaxTokens`).
11
+ *
12
+ * Upstream additionally consults `Vkd` and `bvi`, neither of which is modelled:
13
+ *
14
+ * - `Vkd(e)` lowers `default` from the host config object `heather_vale`.
15
+ * That object is absent on a default install, so it returns null and makes
16
+ * no adjustment. Same class as `W9` in `model-capabilities.ts`: a host-side
17
+ * override this package cannot observe.
18
+ * - `bvi(e)` adjusts BOTH fields, but sits behind `_vi()`, which returns a
19
+ * hard `false`. Dead code upstream.
11
20
  */
12
- export function thinkingBudgetLimits(normalizedId) {
21
+ export function modelOutputTokenLimits(normalizedId) {
13
22
  if (normalizedId === "claude-fable-5" || normalizedId === "claude-mythos-5") {
14
23
  return { default: 64000, upperLimit: 128000 };
15
24
  }
@@ -53,6 +62,29 @@ export function thinkingBudgetLimits(normalizedId) {
53
62
  }
54
63
  return { default: 32000, upperLimit: 128000 };
55
64
  }
65
+ /**
66
+ * Caps the caller's `max_tokens` at the model's default output limit, porting
67
+ * upstream `Fi = Math.min(En?.maxTokensOverride || s.maxOutputTokensOverride
68
+ * || la, la)` where `la = qct(u)`.
69
+ *
70
+ * `qct` is `Fue("CLAUDE_CODE_MAX_OUTPUT_TOKENS", <env>, t.default,
71
+ * t.upperLimit).effective` over `t = Xxe(model)`. `Fue` returns `t.default`
72
+ * untouched whenever the environment variable is unset, and only ever clamps
73
+ * the ENVIRONMENT value against `t.upperLimit` — never the default. This
74
+ * package reads no environment, so `qct` reduces to `Xxe(model).default` and
75
+ * `upperLimit` plays no part in this bound.
76
+ *
77
+ * The result is load-bearing twice over: it is the emitted `max_tokens`, and it
78
+ * is the `Fi` that `resolveThinking` clamps the thinking budget against via
79
+ * `Tr = Math.min(Fi - 1, Tr)`. Both call sites must receive the CLAMPED value.
80
+ *
81
+ * Upstream uses `||`, not `??`, so a zero override would fall back to the
82
+ * default. Unreachable here: `max_tokens` is validated as a positive integer
83
+ * before this runs.
84
+ */
85
+ export function clampMaxTokens(requested, normalizedId) {
86
+ return Math.min(requested, modelOutputTokenLimits(normalizedId).default);
87
+ }
56
88
  /**
57
89
  * Upstream `Yn = nr && CM() && QOt(u) ? n.display : void 0`, combined with the
58
90
  * `if (Xn && Yn)` guard on the beta splice.
@@ -106,7 +138,7 @@ export function resolveThinking(request, normalizedId, capabilities, betaPolicy,
106
138
  // overridden by the caller's budget when supplied, then clamped by
107
139
  // `Tr = Math.min(Fi - 1, Tr)` where `Fi` is the emitted `max_tokens`.
108
140
  const requested = request.budgetTokens ??
109
- thinkingBudgetLimits(normalizedId).upperLimit - 1;
141
+ modelOutputTokenLimits(normalizedId).upperLimit - 1;
110
142
  emitted = { budget_tokens: Math.min(maxTokens - 1, requested) };
111
143
  emitted["type"] = "enabled";
112
144
  if (display !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"thinking.js","sourceRoot":"","sources":["../src/thinking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thinking.js","sourceRoot":"","sources":["../src/thinking.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tormentalabs/claude-code-wire-compat",
3
- "version": "0.1.0-rc.10",
3
+ "version": "0.1.0-rc.12",
4
4
  "description": "Runtime-neutral Claude Code Messages wire compatibility primitives",
5
5
  "type": "module",
6
6
  "private": false,
@@ -46,7 +46,6 @@
46
46
  "format:check": "prettier --check .",
47
47
  "test": "vitest run",
48
48
  "test:coverage": "vitest run --coverage",
49
- "test:mutation": "stryker run",
50
49
  "test:pack": "node scripts/verify-packed-consumers.mjs",
51
50
  "pack:check": "npm pack --dry-run && publint && attw --pack . --profile esm-only",
52
51
  "drift:check": "node scripts/verify-drift.mjs"
@@ -54,10 +53,9 @@
54
53
  "devDependencies": {
55
54
  "@arethetypeswrong/cli": "0.18.5",
56
55
  "@eslint/js": "10.0.1",
57
- "@stryker-mutator/core": "9.6.1",
58
- "@stryker-mutator/vitest-runner": "9.6.1",
59
56
  "@types/node": "26.1.1",
60
57
  "@vitest/coverage-v8": "4.1.10",
58
+ "@vitest/eslint-plugin": "1.6.24",
61
59
  "eslint": "10.8.0",
62
60
  "fast-check": "4.9.0",
63
61
  "globals": "17.7.0",