@tormentalabs/claude-code-wire-compat 0.1.0-rc.15 → 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 +137 -1
- package/dist/betas.d.ts +19 -0
- package/dist/betas.d.ts.map +1 -1
- package/dist/betas.js +31 -2
- package/dist/betas.js.map +1 -1
- package/dist/build-request.d.ts.map +1 -1
- package/dist/build-request.js +224 -5
- package/dist/build-request.js.map +1 -1
- package/dist/contracts.d.ts +160 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js.map +1 -1
- package/dist/redaction.d.ts +27 -0
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +36 -4
- package/dist/redaction.js.map +1 -1
- package/dist/request-body.d.ts.map +1 -1
- package/dist/request-body.js +81 -21
- package/dist/request-body.js.map +1 -1
- package/dist/system-prompt.d.ts +17 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +32 -7
- package/dist/system-prompt.js.map +1 -1
- package/package.json +1 -1
package/dist/system-prompt.d.ts
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import type { ClaudeCodeRuntimeIdentity, SystemInput, TextBlock } from "./contracts.js";
|
|
2
|
+
/**
|
|
3
|
+
* The pinned identity text, byte-exact.
|
|
4
|
+
*
|
|
5
|
+
* It is exported because it is the byte-exact probe the parser uses to CONFIRM
|
|
6
|
+
* the canonical system prefix. A caller block equal to it is dropped by
|
|
7
|
+
* `buildCanonicalSystem` — unconditionally, even when `suppressIdentityBlock`
|
|
8
|
+
* removed the canonical one — so it appears at most once in a built body.
|
|
9
|
+
*
|
|
10
|
+
* The parser no longer INFERS the prefix length from this text's position: the
|
|
11
|
+
* root seams `suppressBillingBlock` and `suppressIdentityBlock` are recorded in
|
|
12
|
+
* `evidence.billingBlockSuppressed` / `evidence.identityBlockSuppressed`, which
|
|
13
|
+
* state which canonical blocks were emitted. This text is what the parser then
|
|
14
|
+
* checks the identity slot against, so evidence is verified structurally rather
|
|
15
|
+
* than trusted.
|
|
16
|
+
*/
|
|
17
|
+
export declare const IDENTITY_TEXT = "You are Claude Code, Anthropic's official CLI for Claude.";
|
|
2
18
|
/** Builds the pinned Claude Code system block sequence without changing caller data. */
|
|
3
|
-
export declare function buildCanonicalSystem(input: readonly SystemInput[] | undefined, billingBlock: TextBlock, identity: ClaudeCodeRuntimeIdentity): readonly TextBlock[];
|
|
19
|
+
export declare function buildCanonicalSystem(input: readonly SystemInput[] | undefined, billingBlock: TextBlock, identity: ClaudeCodeRuntimeIdentity, suppressBillingBlock?: boolean, suppressIdentityBlock?: boolean): readonly TextBlock[];
|
|
4
20
|
//# sourceMappingURL=system-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EACzB,WAAW,EACX,SAAS,EACV,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,yBAAyB,EACzB,WAAW,EACX,SAAS,EACV,MAAM,gBAAgB,CAAC;AAIxB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,8DACmC,CAAC;AAiI9D,wFAAwF;AACxF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,EACzC,YAAY,EAAE,SAAS,EACvB,QAAQ,EAAE,yBAAyB,EACnC,oBAAoB,UAAQ,EAC5B,qBAAqB,UAAQ,GAC5B,SAAS,SAAS,EAAE,CA2DtB"}
|
package/dist/system-prompt.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
import { ClaudeCodeWireError } from "./contracts.js";
|
|
3
3
|
import { classifySurrogateAt } from "./unicode.js";
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The pinned identity text, byte-exact.
|
|
6
|
+
*
|
|
7
|
+
* It is exported because it is the byte-exact probe the parser uses to CONFIRM
|
|
8
|
+
* the canonical system prefix. A caller block equal to it is dropped by
|
|
9
|
+
* `buildCanonicalSystem` — unconditionally, even when `suppressIdentityBlock`
|
|
10
|
+
* removed the canonical one — so it appears at most once in a built body.
|
|
11
|
+
*
|
|
12
|
+
* The parser no longer INFERS the prefix length from this text's position: the
|
|
13
|
+
* root seams `suppressBillingBlock` and `suppressIdentityBlock` are recorded in
|
|
14
|
+
* `evidence.billingBlockSuppressed` / `evidence.identityBlockSuppressed`, which
|
|
15
|
+
* state which canonical blocks were emitted. This text is what the parser then
|
|
16
|
+
* checks the identity slot against, so evidence is verified structurally rather
|
|
17
|
+
* than trusted.
|
|
18
|
+
*/
|
|
19
|
+
export const IDENTITY_TEXT = "You are Claude Code, Anthropic's official CLI for Claude.";
|
|
5
20
|
const MAX_INPUT_DEPTH = 64;
|
|
6
21
|
const MAX_INPUT_SIZE = 1_000_000;
|
|
7
22
|
function fail(code) {
|
|
@@ -107,7 +122,7 @@ function joinTextBlocks(left, right) {
|
|
|
107
122
|
});
|
|
108
123
|
}
|
|
109
124
|
/** Builds the pinned Claude Code system block sequence without changing caller data. */
|
|
110
|
-
export function buildCanonicalSystem(input, billingBlock, identity) {
|
|
125
|
+
export function buildCanonicalSystem(input, billingBlock, identity, suppressBillingBlock = false, suppressIdentityBlock = false) {
|
|
111
126
|
validateStructure(input);
|
|
112
127
|
if (input !== undefined && !Array.isArray(input))
|
|
113
128
|
fail("INVALID_INPUT");
|
|
@@ -120,14 +135,19 @@ export function buildCanonicalSystem(input, billingBlock, identity) {
|
|
|
120
135
|
// The runtime identity is accepted for parity with the request builder. The
|
|
121
136
|
// pinned identity system text itself intentionally contains no identifiers.
|
|
122
137
|
void identity;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
138
|
+
// Package extension: `suppressBillingBlock` and `suppressIdentityBlock` are
|
|
139
|
+
// the only ways to omit a canonical block. Both default to `false`, which
|
|
140
|
+
// keeps the two-block canonical prefix the genuine client always emits. With
|
|
141
|
+
// both active the canonical prefix is empty and the emitted `system` array
|
|
142
|
+
// holds caller blocks only.
|
|
143
|
+
const blocks = suppressBillingBlock ? [] : [canonicalBilling];
|
|
144
|
+
if (!suppressIdentityBlock) {
|
|
145
|
+
blocks.push(Object.freeze({
|
|
126
146
|
type: "text",
|
|
127
147
|
text: IDENTITY_TEXT,
|
|
128
148
|
cache_control: Object.freeze({ type: "ephemeral", ttl: "1h" }),
|
|
129
|
-
})
|
|
130
|
-
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
131
151
|
if (input !== undefined) {
|
|
132
152
|
let run;
|
|
133
153
|
for (const entry of input) {
|
|
@@ -136,6 +156,11 @@ export function buildCanonicalSystem(input, billingBlock, identity) {
|
|
|
136
156
|
: cloneTextBlock(entry);
|
|
137
157
|
// Upstream recognizes only the byte-for-byte identity constant. Similar
|
|
138
158
|
// caller text remains ordinary prompt content.
|
|
159
|
+
//
|
|
160
|
+
// The drop stays UNCONDITIONAL under `suppressIdentityBlock`: the genuine
|
|
161
|
+
// client drops it too, and a caller block equal to the identity text
|
|
162
|
+
// landing at the front of a suppressed prefix would defeat the parser's
|
|
163
|
+
// structural check of the canonical prefix.
|
|
139
164
|
if (block.text === IDENTITY_TEXT)
|
|
140
165
|
continue;
|
|
141
166
|
if (run === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAO5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
|