@tormentalabs/claude-code-wire-compat 0.1.0-rc.16 → 0.1.0-rc.17
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.
- package/CHANGELOG.md +97 -0
- package/dist/build-request.d.ts.map +1 -1
- package/dist/build-request.js +164 -26
- package/dist/build-request.js.map +1 -1
- package/dist/contracts.d.ts +103 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/redaction.d.ts +11 -0
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +11 -0
- package/dist/redaction.js.map +1 -1
- package/dist/request-body.d.ts.map +1 -1
- package/dist/request-body.js +74 -19
- package/dist/request-body.js.map +1 -1
- package/dist/system-prompt.d.ts +12 -5
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +29 -13
- package/dist/system-prompt.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,103 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.1.0-rc.17] - Unreleased
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Root `suppressIdentityBlock` (seam S8).** The canonical identity block was
|
|
10
|
+
composed unconditionally, so a consumer switch whose meaning is "send neither
|
|
11
|
+
canonical block" — `token_economy.lean_system_non_main` in the `opencode`
|
|
12
|
+
plugin, which removed billing AND identity before it migrated to this package
|
|
13
|
+
— was a silent no-op. `suppressIdentityBlock: true` omits the identity block
|
|
14
|
+
entirely, which with `suppressBillingBlock` makes four canonical prefixes
|
|
15
|
+
legitimate: `[billing, identity]`, `[identity]`, `[billing]` and `[]`. Only a
|
|
16
|
+
boolean is accepted; anything else is `INVALID_INPUT`.
|
|
17
|
+
`evidence.identityBlockSuppressed` is emitted only when the block was actually
|
|
18
|
+
removed, mirroring `billingBlockSuppressed` exactly, so evidence stays
|
|
19
|
+
byte-identical for every request that ignores the seam. Recorded in
|
|
20
|
+
`docs/source-trace.md` as governance ledger L16.
|
|
21
|
+
|
|
22
|
+
This is a DIFFERENT field from the L10 `cacheControl.suppressIdentityBlock`,
|
|
23
|
+
which keeps the block and drops only its `cache_control` marker. The name
|
|
24
|
+
collision is deliberate — symmetry with `suppressBillingBlock` at the root was
|
|
25
|
+
judged worth more than a novel name — and the JSDoc of each field states what
|
|
26
|
+
it does and names the other by its full path.
|
|
27
|
+
|
|
28
|
+
The caller-block drop stays UNCONDITIONAL: a caller block byte-equal to the
|
|
29
|
+
identity text is removed even when the canonical one was suppressed, matching
|
|
30
|
+
the genuine client and keeping the parser's absence check below sound.
|
|
31
|
+
|
|
32
|
+
- **`preserveThinkingBlockCacheControl` (seam S9).** `thinking` and
|
|
33
|
+
`redacted_thinking` blocks were pinned to a strict allowlist — `signature`,
|
|
34
|
+
`thinking`, `type` and `data`, `type` — so a request carrying `cache_control`
|
|
35
|
+
on a reasoning block was rejected outright with `INVALID_INPUT`. The consumer
|
|
36
|
+
had no legal way out, and this is a PRODUCTION failure rather than a test
|
|
37
|
+
artefact: the Anthropic API answers a mutated reasoning block with
|
|
38
|
+
|
|
39
|
+
> `400 ... thinking or redacted_thinking blocks in the latest assistant`
|
|
40
|
+
> `message cannot be modified. These blocks must remain as they were in the`
|
|
41
|
+
> `original response.`
|
|
42
|
+
|
|
43
|
+
so `delete block.cache_control` before the call is itself the modification
|
|
44
|
+
that triggers the 400. `preserveThinkingBlockCacheControl: true` accepts the
|
|
45
|
+
key and copies it to the body VERBATIM — caller key order intact, no TTL
|
|
46
|
+
applied, no breakpoint placed. Only a boolean is accepted; anything else is
|
|
47
|
+
`INVALID_INPUT`.
|
|
48
|
+
|
|
49
|
+
The allowlist grows by `cache_control` and by NOTHING else: an unknown key on
|
|
50
|
+
a reasoning block is still `INVALID_INPUT` with the seam active. The value
|
|
51
|
+
passes the same `cache_control` validator every other block uses —
|
|
52
|
+
`{ type: "ephemeral" }` with an optional `ttl` — so a malformed marker still
|
|
53
|
+
fails closed; the `scope` key that `text` blocks tolerate for legacy reasons
|
|
54
|
+
is deliberately NOT accepted, the API never returning it on a reasoning block.
|
|
55
|
+
The marker takes no part in this package's cache-control machinery:
|
|
56
|
+
`applySystemCacheControl` is untouched and `applyMessageCacheControl` already
|
|
57
|
+
exempts reasoning blocks from both the strip and the breakpoint pass.
|
|
58
|
+
|
|
59
|
+
`evidence.thinkingBlockCacheControlPreserved` is emitted only when the seam
|
|
60
|
+
was active AND at least one emitted block actually carried a marker — opting
|
|
61
|
+
in without using it records nothing — mirroring `billingBlockSuppressed`
|
|
62
|
+
exactly, so evidence stays byte-identical for every request that ignores the
|
|
63
|
+
seam. `parseBuiltClaudeCodeRequest` CONFIRMS that claim against the body
|
|
64
|
+
before it checks byte length or digest, so a forgery that is byte-length
|
|
65
|
+
preserving and evidence-self-consistent is refused by the structural check
|
|
66
|
+
rather than incidentally by arithmetic. Recorded in `docs/source-trace.md` as
|
|
67
|
+
governance ledger L17.
|
|
68
|
+
|
|
69
|
+
### Changed
|
|
70
|
+
|
|
71
|
+
- **`parseBuiltClaudeCodeRequest` no longer INFERS the canonical prefix from the
|
|
72
|
+
identity block's position; it READS the length from evidence and VERIFIES it
|
|
73
|
+
structurally.** With two independent seams an empty prefix is
|
|
74
|
+
indistinguishable from a caller-only array, so position inference is no longer
|
|
75
|
+
decidable: the rc.16 discriminator would have hit its unconditional failure
|
|
76
|
+
path on every request built with both seams active. The parser now takes
|
|
77
|
+
`evidence.billingBlockSuppressed` and `evidence.identityBlockSuppressed` as
|
|
78
|
+
the claimed prefix length and confirms every block that claim implies —
|
|
79
|
+
billing by its fixed `x-anthropic-billing-header: cc_version=` head (the tail
|
|
80
|
+
is per-request), identity by the byte-exact identity text. This is strictly
|
|
81
|
+
stronger than what it replaces, which never inspected the billing slot at all:
|
|
82
|
+
an envelope built with `suppressBillingBlock` whose evidence hid that fact was
|
|
83
|
+
previously accepted.
|
|
84
|
+
|
|
85
|
+
Verification is **asymmetric, deliberately**. A claim that identity was
|
|
86
|
+
suppressed is refuted by finding the identity text ANYWHERE in the array,
|
|
87
|
+
which is sound because `buildCanonicalSystem` drops caller blocks equal to it
|
|
88
|
+
unconditionally and merges runs with `\n`, so the text cannot legitimately
|
|
89
|
+
survive. There is no mirror check for billing: a caller block may legitimately
|
|
90
|
+
begin with the billing header text, so its presence proves nothing.
|
|
91
|
+
|
|
92
|
+
The match is on TEXT, never on `cache_control` — the L10 seam can legitimately
|
|
93
|
+
emit the identity block with no marker — and the assertion remains an
|
|
94
|
+
EQUALITY.
|
|
95
|
+
|
|
96
|
+
- **`emittedSystemBlockCount` is computed from both seams instead of a
|
|
97
|
+
constant.** `CANONICAL_SYSTEM_BLOCKS` and `CANONICAL_SYSTEM_BLOCKS_WITHOUT_BILLING`
|
|
98
|
+
were removed: a constant cannot express the empty prefix the two seams produce
|
|
99
|
+
together. The build path now subtracts one slot per canonical block that
|
|
100
|
+
actually survived.
|
|
101
|
+
|
|
5
102
|
## [0.1.0-rc.16] - Unreleased
|
|
6
103
|
|
|
7
104
|
### Added
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-request.d.ts","sourceRoot":"","sources":["../src/build-request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iCAAiC,EACjC,sBAAsB,EAMtB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"build-request.d.ts","sourceRoot":"","sources":["../src/build-request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iCAAiC,EACjC,sBAAsB,EAMtB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EAGvB,MAAM,gBAAgB,CAAC;AAwvCxB,2DAA2D;AAC3D,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,yBAAuD,GAC/D,OAAO,CAAC,iCAAiC,CAAC,CAiF5C;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE,yBAAuD,GAC/D,OAAO,CAAC,sBAAsB,CAAC,CA8JjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,yBAAuD,GAC/D,sBAAsB,CA+FxB"}
|
package/dist/build-request.js
CHANGED
|
@@ -54,6 +54,8 @@ const INPUT_KEYS = new Set([
|
|
|
54
54
|
"additionalBetas",
|
|
55
55
|
"suppressBetas",
|
|
56
56
|
"suppressBillingBlock",
|
|
57
|
+
"suppressIdentityBlock",
|
|
58
|
+
"preserveThinkingBlockCacheControl",
|
|
57
59
|
"betaOverrides",
|
|
58
60
|
"metadataOverrides",
|
|
59
61
|
"extraHeaders",
|
|
@@ -81,10 +83,16 @@ const COUNT_TOKENS_INPUT_KEYS = new Set([
|
|
|
81
83
|
"extraHeaders",
|
|
82
84
|
]);
|
|
83
85
|
const BUILT_KEYS = new Set(["url", "method", "headers", "body", "evidence"]);
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
/**
|
|
87
|
+
* The self-describing prefix of the canonical billing block's text.
|
|
88
|
+
*
|
|
89
|
+
* `buildBillingBlock` emits
|
|
90
|
+
* `x-anthropic-billing-header: cc_version=<version>.<fingerprint>; ...`, whose
|
|
91
|
+
* tail varies per request, so only this fixed head can anchor a structural
|
|
92
|
+
* check. It is what lets the parser CONFIRM that a request which claims to
|
|
93
|
+
* carry the billing block actually carries it.
|
|
94
|
+
*/
|
|
95
|
+
const BILLING_BLOCK_TEXT_PREFIX = "x-anthropic-billing-header: cc_version=";
|
|
88
96
|
const EVIDENCE_KEYS = new Set([
|
|
89
97
|
"profileId",
|
|
90
98
|
"url",
|
|
@@ -100,6 +108,8 @@ const EVIDENCE_KEYS = new Set([
|
|
|
100
108
|
"droppedExtraHeaderNames",
|
|
101
109
|
"suppressedBetaNames",
|
|
102
110
|
"billingBlockSuppressed",
|
|
111
|
+
"identityBlockSuppressed",
|
|
112
|
+
"thinkingBlockCacheControlPreserved",
|
|
103
113
|
]);
|
|
104
114
|
const CAPABILITY_KEYS = [
|
|
105
115
|
"thinking",
|
|
@@ -511,6 +521,26 @@ function validateExtraHeaderPolicy(value) {
|
|
|
511
521
|
function validateSuppressBillingBlock(value) {
|
|
512
522
|
return parseBoolean(value);
|
|
513
523
|
}
|
|
524
|
+
/**
|
|
525
|
+
* Validates the package-extension identity-block suppression flag.
|
|
526
|
+
*
|
|
527
|
+
* Same contract as `validateSuppressBillingBlock`: only a boolean states a
|
|
528
|
+
* decision, because coercing a truthy string would silently drop a canonical
|
|
529
|
+
* block the genuine client always sends.
|
|
530
|
+
*/
|
|
531
|
+
function validateSuppressIdentityBlock(value) {
|
|
532
|
+
return parseBoolean(value);
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Validates the package-extension thinking-block `cache_control` seam flag.
|
|
536
|
+
*
|
|
537
|
+
* Same contract as the suppression flags: only a boolean states a decision,
|
|
538
|
+
* because coercing a truthy string would silently widen the thinking-block
|
|
539
|
+
* allowlist this package pins against the genuine client.
|
|
540
|
+
*/
|
|
541
|
+
function validatePreserveThinkingBlockCacheControl(value) {
|
|
542
|
+
return parseBoolean(value);
|
|
543
|
+
}
|
|
514
544
|
function createEffectiveProfile(pinnedProfile, override) {
|
|
515
545
|
if (override === undefined)
|
|
516
546
|
return pinnedProfile;
|
|
@@ -573,6 +603,12 @@ function validateInput(input) {
|
|
|
573
603
|
const suppressBillingBlock = Object.hasOwn(input, "suppressBillingBlock")
|
|
574
604
|
? validateSuppressBillingBlock(ownValue(input, "suppressBillingBlock"))
|
|
575
605
|
: false;
|
|
606
|
+
const suppressIdentityBlock = Object.hasOwn(input, "suppressIdentityBlock")
|
|
607
|
+
? validateSuppressIdentityBlock(ownValue(input, "suppressIdentityBlock"))
|
|
608
|
+
: false;
|
|
609
|
+
const preserveThinkingBlockCacheControl = Object.hasOwn(input, "preserveThinkingBlockCacheControl")
|
|
610
|
+
? validatePreserveThinkingBlockCacheControl(ownValue(input, "preserveThinkingBlockCacheControl"))
|
|
611
|
+
: false;
|
|
576
612
|
return {
|
|
577
613
|
source: input,
|
|
578
614
|
clientRequestId,
|
|
@@ -581,6 +617,8 @@ function validateInput(input) {
|
|
|
581
617
|
betaOverrides,
|
|
582
618
|
extraHeaderPolicy,
|
|
583
619
|
suppressBillingBlock,
|
|
620
|
+
suppressIdentityBlock,
|
|
621
|
+
preserveThinkingBlockCacheControl,
|
|
584
622
|
};
|
|
585
623
|
}
|
|
586
624
|
function validateCountTokensInput(input) {
|
|
@@ -818,33 +856,102 @@ function parseEvidence(value) {
|
|
|
818
856
|
billingBlockSuppressed: parseBoolean(ownValue(value, "billingBlockSuppressed")),
|
|
819
857
|
}
|
|
820
858
|
: {}),
|
|
859
|
+
...(Object.hasOwn(value, "identityBlockSuppressed")
|
|
860
|
+
? {
|
|
861
|
+
identityBlockSuppressed: parseBoolean(ownValue(value, "identityBlockSuppressed")),
|
|
862
|
+
}
|
|
863
|
+
: {}),
|
|
864
|
+
// Rehydrated here because `assertExactKeys` above already accepts the key:
|
|
865
|
+
// omitting this branch would silently DROP it, and the round-trip equality
|
|
866
|
+
// every seam test asserts would fail on an envelope that is entirely legal.
|
|
867
|
+
...(Object.hasOwn(value, "thinkingBlockCacheControlPreserved")
|
|
868
|
+
? {
|
|
869
|
+
thinkingBlockCacheControlPreserved: parseBoolean(ownValue(value, "thinkingBlockCacheControlPreserved")),
|
|
870
|
+
}
|
|
871
|
+
: {}),
|
|
821
872
|
};
|
|
822
873
|
}
|
|
874
|
+
/** Reads an own property of a value that is not asserted to be a record. */
|
|
875
|
+
function ownProperty(value, key) {
|
|
876
|
+
return isRecord(value) && Object.hasOwn(value, key)
|
|
877
|
+
? ownValue(value, key)
|
|
878
|
+
: undefined;
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* Reports whether the emitted `messages` carry a reasoning block that actually
|
|
882
|
+
* kept a `cache_control` key.
|
|
883
|
+
*
|
|
884
|
+
* This is what makes `evidence.thinkingBlockCacheControlPreserved` a record of
|
|
885
|
+
* what the seam DID rather than of what it was allowed to do, and it is the
|
|
886
|
+
* check that refutes an envelope claiming the seam over a body carrying no such
|
|
887
|
+
* block. Presence of the KEY is the test, not truthiness: `cache_control: null`
|
|
888
|
+
* is a preserved marker too, exactly as it is on every other block type.
|
|
889
|
+
*/
|
|
890
|
+
function hasThinkingBlockCacheControl(messages) {
|
|
891
|
+
if (!Array.isArray(messages))
|
|
892
|
+
return false;
|
|
893
|
+
return messages.some((message) => {
|
|
894
|
+
const content = ownProperty(message, "content");
|
|
895
|
+
return (Array.isArray(content) &&
|
|
896
|
+
content.some((block) => {
|
|
897
|
+
const type = ownProperty(block, "type");
|
|
898
|
+
return ((type === "thinking" || type === "redacted_thinking") &&
|
|
899
|
+
ownProperty(block, "cache_control") !== undefined);
|
|
900
|
+
}));
|
|
901
|
+
});
|
|
902
|
+
}
|
|
823
903
|
/** Reads a system block's `text` without asserting the block's shape. */
|
|
824
904
|
function systemBlockText(block) {
|
|
825
|
-
return
|
|
826
|
-
|
|
827
|
-
|
|
905
|
+
return ownProperty(block, "text");
|
|
906
|
+
}
|
|
907
|
+
/** Recognises the canonical billing block by its fixed, self-describing head. */
|
|
908
|
+
function isBillingBlockText(text) {
|
|
909
|
+
return typeof text === "string" && text.startsWith(BILLING_BLOCK_TEXT_PREFIX);
|
|
828
910
|
}
|
|
829
911
|
/**
|
|
830
|
-
*
|
|
912
|
+
* VERIFIES how many canonical blocks the emitted `system` array carries.
|
|
913
|
+
*
|
|
914
|
+
* The root seams `suppressBillingBlock` and `suppressIdentityBlock` make four
|
|
915
|
+
* prefixes legitimate — `[billing, identity]`, `[identity]`, `[billing]` and
|
|
916
|
+
* `[]` — so no probe over the array alone can tell them apart: an empty prefix
|
|
917
|
+
* is indistinguishable from a caller-only array. The prefix length is therefore
|
|
918
|
+
* READ from the evidence flags, which the builder emits only when suppression
|
|
919
|
+
* actually removed a block.
|
|
831
920
|
*
|
|
832
|
-
*
|
|
833
|
-
*
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
837
|
-
*
|
|
838
|
-
*
|
|
921
|
+
* Evidence is not trusted blindly. Each block the flags claim is present is
|
|
922
|
+
* confirmed in place: billing by its `x-anthropic-billing-header: cc_version=`
|
|
923
|
+
* head (its tail is per-request), identity by the byte-exact `IDENTITY_TEXT`;
|
|
924
|
+
* a claim that identity was suppressed is confirmed by that text being absent
|
|
925
|
+
* from the whole array. This is strictly stronger than the position probe it
|
|
926
|
+
* replaces, which never checked the billing slot at all. Never `cache_control`:
|
|
927
|
+
* the
|
|
928
|
+
* `cacheControl.suppressIdentityBlock` seam can emit the identity block with no
|
|
929
|
+
* marker, so a marker probe would misread a legitimate request.
|
|
839
930
|
*/
|
|
840
|
-
function canonicalSystemPrefixLength(system) {
|
|
841
|
-
|
|
842
|
-
|
|
931
|
+
function canonicalSystemPrefixLength(system, billingSuppressed, identitySuppressed) {
|
|
932
|
+
let index = 0;
|
|
933
|
+
if (!billingSuppressed) {
|
|
934
|
+
if (!isBillingBlockText(systemBlockText(system[index])))
|
|
935
|
+
fail();
|
|
936
|
+
index += 1;
|
|
843
937
|
}
|
|
844
|
-
if (
|
|
845
|
-
|
|
938
|
+
if (identitySuppressed) {
|
|
939
|
+
// The identity text cannot appear ANYWHERE in a body built with the seam
|
|
940
|
+
// active: `buildCanonicalSystem` drops a caller block equal to it
|
|
941
|
+
// unconditionally, and merging joins with `\n`, so no merged run can equal
|
|
942
|
+
// it either. Absence is therefore checkable, which is what refutes a claim
|
|
943
|
+
// of suppression made over a body that still carries the block.
|
|
944
|
+
//
|
|
945
|
+
// No mirror check exists for billing: a caller block may legitimately begin
|
|
946
|
+
// with the billing header text, so its presence proves nothing.
|
|
947
|
+
if (system.some((block) => systemBlockText(block) === IDENTITY_TEXT)) {
|
|
948
|
+
fail();
|
|
949
|
+
}
|
|
950
|
+
return index;
|
|
846
951
|
}
|
|
847
|
-
|
|
952
|
+
if (systemBlockText(system[index]) !== IDENTITY_TEXT)
|
|
953
|
+
fail();
|
|
954
|
+
return index + 1;
|
|
848
955
|
}
|
|
849
956
|
function parseBody(value) {
|
|
850
957
|
let parsed;
|
|
@@ -916,6 +1023,12 @@ function evidenceRequest(input, callerModel) {
|
|
|
916
1023
|
request.capabilities = input.capabilities;
|
|
917
1024
|
if (input.betaOverrides !== undefined)
|
|
918
1025
|
request.betaOverrides = input.betaOverrides;
|
|
1026
|
+
// The body builder owns the thinking-block allowlist, so the seam flag has to
|
|
1027
|
+
// reach it. It is forwarded only when the caller stated it, keeping the
|
|
1028
|
+
// normalized request shape identical for every request that ignores the seam.
|
|
1029
|
+
if (input.preserveThinkingBlockCacheControl !== undefined)
|
|
1030
|
+
request.preserveThinkingBlockCacheControl =
|
|
1031
|
+
input.preserveThinkingBlockCacheControl;
|
|
919
1032
|
if (input.thinking !== undefined)
|
|
920
1033
|
request.thinking = input.thinking;
|
|
921
1034
|
if (input.effort !== undefined)
|
|
@@ -1036,7 +1149,7 @@ export async function buildClaudeCodeRequest(input, profile = CLAUDE_CODE_2_1_19
|
|
|
1036
1149
|
});
|
|
1037
1150
|
const billing = await createBillingBlock(fingerprintText(validated.source), effectiveProfile.cliVersion, validated.crypto);
|
|
1038
1151
|
const metadata = buildCorrelatedMetadata(identity, validated.source.metadata, validated.source.metadataOverrides);
|
|
1039
|
-
const system = buildCanonicalSystem(validated.source.system, billing, identity, validated.suppressBillingBlock);
|
|
1152
|
+
const system = buildCanonicalSystem(validated.source.system, billing, identity, validated.suppressBillingBlock, validated.suppressIdentityBlock);
|
|
1040
1153
|
const canonicalBody = buildCanonicalBody(evidenceRequest(validated.source, validated.source.model), effectiveModel, system, metadata, effectiveProfile);
|
|
1041
1154
|
const composedBetas = composeBetasWithAudit({
|
|
1042
1155
|
rawModel: validated.source.model,
|
|
@@ -1089,10 +1202,12 @@ export async function buildClaudeCodeRequest(input, profile = CLAUDE_CODE_2_1_19
|
|
|
1089
1202
|
// The canonical system merges adjacent caller blocks and drops any
|
|
1090
1203
|
// block equal to the identity text, so only the emitted count keeps
|
|
1091
1204
|
// `systemBlockCount === body.system.length - <canonical>` true.
|
|
1205
|
+
// Symmetric arithmetic over the two suppression seams: each canonical
|
|
1206
|
+
// block that survived costs one slot. A single constant cannot express
|
|
1207
|
+
// the empty prefix both seams together produce.
|
|
1092
1208
|
emittedSystemBlockCount: system.length -
|
|
1093
|
-
(validated.suppressBillingBlock
|
|
1094
|
-
|
|
1095
|
-
: CANONICAL_SYSTEM_BLOCKS),
|
|
1209
|
+
(validated.suppressBillingBlock ? 0 : 1) -
|
|
1210
|
+
(validated.suppressIdentityBlock ? 0 : 1),
|
|
1096
1211
|
// Emitted only for the opted-in policy, so evidence for every other
|
|
1097
1212
|
// request keeps the shape it had before the seam existed.
|
|
1098
1213
|
...(validated.extraHeaderPolicy === "dropConflicting"
|
|
@@ -1109,6 +1224,20 @@ export async function buildClaudeCodeRequest(input, profile = CLAUDE_CODE_2_1_19
|
|
|
1109
1224
|
...(validated.suppressBillingBlock
|
|
1110
1225
|
? { billingBlockSuppressed: true }
|
|
1111
1226
|
: {}),
|
|
1227
|
+
// Emitted only when the identity block was actually removed, on the
|
|
1228
|
+
// same terms as `billingBlockSuppressed`: the parser reads both flags
|
|
1229
|
+
// to know the length of the canonical prefix it must verify.
|
|
1230
|
+
...(validated.suppressIdentityBlock
|
|
1231
|
+
? { identityBlockSuppressed: true }
|
|
1232
|
+
: {}),
|
|
1233
|
+
// Emitted only when the seam was active AND a reasoning block actually
|
|
1234
|
+
// carried the marker. Opting in without using it records nothing, so
|
|
1235
|
+
// the audit states what happened on the wire rather than what the
|
|
1236
|
+
// caller was permitted to do.
|
|
1237
|
+
...(validated.preserveThinkingBlockCacheControl &&
|
|
1238
|
+
hasThinkingBlockCacheControl(canonicalBody["messages"])
|
|
1239
|
+
? { thinkingBlockCacheControlPreserved: true }
|
|
1240
|
+
: {}),
|
|
1112
1241
|
}, validated.crypto);
|
|
1113
1242
|
return deepFreeze({
|
|
1114
1243
|
url: effectiveProfile.endpoint,
|
|
@@ -1148,6 +1277,15 @@ export function parseBuiltClaudeCodeRequest(value, profile = CLAUDE_CODE_2_1_195
|
|
|
1148
1277
|
const parsedBody = parseBody(body);
|
|
1149
1278
|
const headers = parseHeaders(ownValue(value, "headers"));
|
|
1150
1279
|
const evidence = parseEvidence(ownValue(value, "evidence"));
|
|
1280
|
+
// Reading evidence is not trusting evidence. A claim that the seam
|
|
1281
|
+
// preserved a marker is confirmed against the body, and it is confirmed
|
|
1282
|
+
// HERE — before the byte-length and digest checks — so that a forgery which
|
|
1283
|
+
// is byte-length preserving and evidence-self-consistent is refused by the
|
|
1284
|
+
// structural check rather than incidentally by arithmetic.
|
|
1285
|
+
if (evidence.thinkingBlockCacheControlPreserved === true &&
|
|
1286
|
+
!hasThinkingBlockCacheControl(parsedBody["messages"])) {
|
|
1287
|
+
fail();
|
|
1288
|
+
}
|
|
1151
1289
|
const sessionId = headerValue(headers, "x-claude-code-session-id");
|
|
1152
1290
|
const additionalHeaders = splitDynamicAndExtraHeaders(headers);
|
|
1153
1291
|
const expectedHeaders = buildOrderedHeaders({
|
|
@@ -1186,7 +1324,7 @@ export function parseBuiltClaudeCodeRequest(value, profile = CLAUDE_CODE_2_1_195
|
|
|
1186
1324
|
evidence.systemBlockCount !==
|
|
1187
1325
|
(Array.isArray(parsedBody["system"])
|
|
1188
1326
|
? parsedBody["system"].length -
|
|
1189
|
-
canonicalSystemPrefixLength(parsedBody["system"])
|
|
1327
|
+
canonicalSystemPrefixLength(parsedBody["system"], evidence.billingBlockSuppressed === true, evidence.identityBlockSuppressed === true)
|
|
1190
1328
|
: -1)) {
|
|
1191
1329
|
fail();
|
|
1192
1330
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-request.js","sourceRoot":"","sources":["../src/build-request.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-request.js","sourceRoot":"","sources":["../src/build-request.ts"],"names":[],"mappings":"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"}
|