@anthropic-ai/sdk 0.104.2 → 0.106.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.
- package/CHANGELOG.md +35 -0
- package/client.d.mts +2 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +2 -2
- package/client.d.ts.map +1 -1
- package/client.js.map +1 -1
- package/client.mjs.map +1 -1
- package/core/streaming.d.mts.map +1 -1
- package/core/streaming.d.ts.map +1 -1
- package/core/streaming.js +2 -1
- package/core/streaming.js.map +1 -1
- package/core/streaming.mjs +2 -1
- package/core/streaming.mjs.map +1 -1
- package/helpers/beta/mcp.d.mts +1 -1
- package/helpers/beta/mcp.d.mts.map +1 -1
- package/helpers/beta/mcp.d.ts +1 -1
- package/helpers/beta/mcp.d.ts.map +1 -1
- package/helpers/beta/mcp.js +1 -1
- package/helpers/beta/mcp.js.map +1 -1
- package/helpers/beta/mcp.mjs +1 -1
- package/helpers/beta/mcp.mjs.map +1 -1
- package/internal/headers.d.mts +7 -0
- package/internal/headers.d.mts.map +1 -1
- package/internal/headers.d.ts +7 -0
- package/internal/headers.d.ts.map +1 -1
- package/internal/headers.js +45 -4
- package/internal/headers.js.map +1 -1
- package/internal/headers.mjs +43 -3
- package/internal/headers.mjs.map +1 -1
- package/internal/message-stream-utils.d.mts +10 -0
- package/internal/message-stream-utils.d.mts.map +1 -0
- package/internal/message-stream-utils.d.ts +10 -0
- package/internal/message-stream-utils.d.ts.map +1 -0
- package/internal/message-stream-utils.js +34 -0
- package/internal/message-stream-utils.js.map +1 -0
- package/internal/message-stream-utils.mjs +30 -0
- package/internal/message-stream-utils.mjs.map +1 -0
- package/internal/stainless-helper-header.d.mts +60 -0
- package/internal/stainless-helper-header.d.mts.map +1 -0
- package/internal/stainless-helper-header.d.ts +60 -0
- package/internal/stainless-helper-header.d.ts.map +1 -0
- package/{lib → internal}/stainless-helper-header.js +27 -6
- package/internal/stainless-helper-header.js.map +1 -0
- package/{lib → internal}/stainless-helper-header.mjs +25 -5
- package/internal/stainless-helper-header.mjs.map +1 -0
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +38 -28
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +38 -28
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/MessageStream.d.mts.map +1 -1
- package/lib/MessageStream.d.ts.map +1 -1
- package/lib/MessageStream.js +20 -23
- package/lib/MessageStream.js.map +1 -1
- package/lib/MessageStream.mjs +17 -20
- package/lib/MessageStream.mjs.map +1 -1
- package/lib/helper-client.d.mts +2 -20
- package/lib/helper-client.d.mts.map +1 -1
- package/lib/helper-client.d.ts +2 -20
- package/lib/helper-client.d.ts.map +1 -1
- package/lib/helper-client.js +2 -1
- package/lib/helper-client.js.map +1 -1
- package/lib/helper-client.mjs +2 -1
- package/lib/helper-client.mjs.map +1 -1
- package/lib/middleware.d.mts.map +1 -1
- package/lib/middleware.d.ts.map +1 -1
- package/lib/middleware.js +14 -6
- package/lib/middleware.js.map +1 -1
- package/lib/middleware.mjs +14 -6
- package/lib/middleware.mjs.map +1 -1
- package/lib/tools/BetaToolRunner.d.mts.map +1 -1
- package/lib/tools/BetaToolRunner.d.ts.map +1 -1
- package/lib/tools/BetaToolRunner.js +11 -5
- package/lib/tools/BetaToolRunner.js.map +1 -1
- package/lib/tools/BetaToolRunner.mjs +11 -5
- package/lib/tools/BetaToolRunner.mjs.map +1 -1
- package/lib/tools/SessionToolRunner.d.mts.map +1 -1
- package/lib/tools/SessionToolRunner.d.ts.map +1 -1
- package/lib/tools/SessionToolRunner.js +2 -3
- package/lib/tools/SessionToolRunner.js.map +1 -1
- package/lib/tools/SessionToolRunner.mjs +2 -3
- package/lib/tools/SessionToolRunner.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/beta/agents/agents.d.mts +7 -2
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +7 -2
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/beta.d.mts +4 -4
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +4 -4
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/files.js +1 -1
- package/resources/beta/files.js.map +1 -1
- package/resources/beta/files.mjs +1 -1
- package/resources/beta/files.mjs.map +1 -1
- package/resources/beta/index.d.mts +2 -2
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +2 -2
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/messages/batches.d.mts +8 -5
- package/resources/beta/messages/batches.d.mts.map +1 -1
- package/resources/beta/messages/batches.d.ts +8 -5
- package/resources/beta/messages/batches.d.ts.map +1 -1
- package/resources/beta/messages/batches.js +5 -2
- package/resources/beta/messages/batches.js.map +1 -1
- package/resources/beta/messages/batches.mjs +5 -2
- package/resources/beta/messages/batches.mjs.map +1 -1
- package/resources/beta/messages/index.d.mts +1 -1
- package/resources/beta/messages/index.d.mts.map +1 -1
- package/resources/beta/messages/index.d.ts +1 -1
- package/resources/beta/messages/index.d.ts.map +1 -1
- package/resources/beta/messages/index.js.map +1 -1
- package/resources/beta/messages/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +94 -51
- package/resources/beta/messages/messages.d.mts.map +1 -1
- package/resources/beta/messages/messages.d.ts +94 -51
- package/resources/beta/messages/messages.d.ts.map +1 -1
- package/resources/beta/messages/messages.js +6 -3
- package/resources/beta/messages/messages.js.map +1 -1
- package/resources/beta/messages/messages.mjs +6 -3
- package/resources/beta/messages/messages.mjs.map +1 -1
- package/resources/beta/webhooks.d.mts +11 -2
- package/resources/beta/webhooks.d.mts.map +1 -1
- package/resources/beta/webhooks.d.ts +11 -2
- package/resources/beta/webhooks.d.ts.map +1 -1
- package/resources/index.d.mts +1 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/messages/batches.d.mts +11 -3
- package/resources/messages/batches.d.mts.map +1 -1
- package/resources/messages/batches.d.ts +11 -3
- package/resources/messages/batches.d.ts.map +1 -1
- package/resources/messages/batches.js +10 -2
- package/resources/messages/batches.js.map +1 -1
- package/resources/messages/batches.mjs +10 -2
- package/resources/messages/batches.mjs.map +1 -1
- package/resources/messages/index.d.mts +1 -1
- package/resources/messages/index.d.mts.map +1 -1
- package/resources/messages/index.d.ts +1 -1
- package/resources/messages/index.d.ts.map +1 -1
- package/resources/messages/index.js.map +1 -1
- package/resources/messages/index.mjs.map +1 -1
- package/resources/messages/messages.d.mts +84 -48
- package/resources/messages/messages.d.mts.map +1 -1
- package/resources/messages/messages.d.ts +84 -48
- package/resources/messages/messages.d.ts.map +1 -1
- package/resources/messages/messages.js +9 -4
- package/resources/messages/messages.js.map +1 -1
- package/resources/messages/messages.mjs +9 -4
- package/resources/messages/messages.mjs.map +1 -1
- package/src/client.ts +2 -0
- package/src/core/streaming.ts +2 -1
- package/src/helpers/beta/mcp.ts +1 -1
- package/src/internal/headers.ts +47 -4
- package/src/internal/message-stream-utils.ts +30 -0
- package/src/internal/stainless-helper-header.ts +122 -0
- package/src/lib/BetaMessageStream.ts +39 -31
- package/src/lib/MessageStream.ts +17 -23
- package/src/lib/helper-client.ts +6 -9
- package/src/lib/middleware.ts +17 -5
- package/src/lib/tools/BetaToolRunner.ts +15 -6
- package/src/lib/tools/SessionToolRunner.ts +2 -4
- package/src/resources/beta/agents/agents.ts +7 -2
- package/src/resources/beta/beta.ts +6 -0
- package/src/resources/beta/files.ts +1 -1
- package/src/resources/beta/index.ts +3 -0
- package/src/resources/beta/messages/batches.ts +14 -8
- package/src/resources/beta/messages/index.ts +2 -0
- package/src/resources/beta/messages/messages.ts +157 -51
- package/src/resources/beta/webhooks.ts +16 -1
- package/src/resources/index.ts +1 -0
- package/src/resources/messages/batches.ts +21 -4
- package/src/resources/messages/index.ts +1 -0
- package/src/resources/messages/messages.ts +134 -50
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/lib/stainless-helper-header.d.mts +0 -34
- package/lib/stainless-helper-header.d.mts.map +0 -1
- package/lib/stainless-helper-header.d.ts +0 -34
- package/lib/stainless-helper-header.d.ts.map +0 -1
- package/lib/stainless-helper-header.js.map +0 -1
- package/lib/stainless-helper-header.mjs.map +0 -1
- package/src/lib/stainless-helper-header.ts +0 -80
package/internal/headers.mjs
CHANGED
|
@@ -34,15 +34,38 @@ function* iterateHeaders(headers) {
|
|
|
34
34
|
if (value === undefined)
|
|
35
35
|
continue;
|
|
36
36
|
// Objects keys always overwrite older headers, they never append.
|
|
37
|
-
// Yield
|
|
37
|
+
// Yield the clear sentinel before adding the new values, so the
|
|
38
|
+
// consumer can tell this synthetic "clear-before-set" apart from a
|
|
39
|
+
// user's explicit `null` (= remove).
|
|
38
40
|
if (shouldClear && !didClear) {
|
|
39
41
|
didClear = true;
|
|
40
|
-
yield [name,
|
|
42
|
+
yield [name, clearSentinel];
|
|
41
43
|
}
|
|
42
44
|
yield [name, value];
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
47
|
}
|
|
48
|
+
/** Distinguishes iterateHeaders' synthetic clear-before-set from a user `null`. */
|
|
49
|
+
const clearSentinel = Symbol('clear');
|
|
50
|
+
/**
|
|
51
|
+
* Headers whose values accumulate across {@link buildHeaders} sources instead
|
|
52
|
+
* of the later source's value replacing the earlier one. Values are
|
|
53
|
+
* comma-appended (deduplicated, order-preserving) into a single header line.
|
|
54
|
+
*/
|
|
55
|
+
export const APPEND_HEADERS = new Set(['x-stainless-helper']);
|
|
56
|
+
export const appendHeaderValue = (existing, addition) => {
|
|
57
|
+
const tokens = existing ?
|
|
58
|
+
existing
|
|
59
|
+
.split(',')
|
|
60
|
+
.map((t) => t.trim())
|
|
61
|
+
.filter(Boolean)
|
|
62
|
+
: [];
|
|
63
|
+
for (const tok of addition.split(',').map((t) => t.trim())) {
|
|
64
|
+
if (tok && !tokens.includes(tok))
|
|
65
|
+
tokens.push(tok);
|
|
66
|
+
}
|
|
67
|
+
return tokens.join(', ');
|
|
68
|
+
};
|
|
46
69
|
export const buildHeaders = (newHeaders) => {
|
|
47
70
|
const targetHeaders = new Headers();
|
|
48
71
|
const nullHeaders = new Set();
|
|
@@ -50,9 +73,26 @@ export const buildHeaders = (newHeaders) => {
|
|
|
50
73
|
const seenHeaders = new Set();
|
|
51
74
|
for (const [name, value] of iterateHeaders(headers)) {
|
|
52
75
|
const lowerName = name.toLowerCase();
|
|
53
|
-
if (
|
|
76
|
+
if (APPEND_HEADERS.has(lowerName)) {
|
|
77
|
+
// Accumulating headers ignore the synthetic clear-before-set; an
|
|
78
|
+
// explicit `null` (any source shape) is honored as removal.
|
|
79
|
+
if (value === clearSentinel)
|
|
80
|
+
continue;
|
|
81
|
+
if (value === null) {
|
|
82
|
+
targetHeaders.delete(name);
|
|
83
|
+
nullHeaders.add(lowerName);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
targetHeaders.set(name, appendHeaderValue(targetHeaders.get(name), value));
|
|
87
|
+
nullHeaders.delete(lowerName);
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (value === clearSentinel || !seenHeaders.has(lowerName)) {
|
|
54
92
|
targetHeaders.delete(name);
|
|
55
93
|
seenHeaders.add(lowerName);
|
|
94
|
+
if (value === clearSentinel)
|
|
95
|
+
continue;
|
|
56
96
|
}
|
|
57
97
|
if (value === null) {
|
|
58
98
|
targetHeaders.delete(name);
|
package/internal/headers.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.mjs","sourceRoot":"","sources":["../src/internal/headers.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,eAAe,EAAE,2BAAuB;AAWjD,MAAM,4BAA4B,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAE7E,CAAC;AAgBF,QAAQ,CAAC,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"headers.mjs","sourceRoot":"","sources":["../src/internal/headers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const JSON_BUF_PROPERTY = "__json_buf";
|
|
2
|
+
/**
|
|
3
|
+
* Copies a tool-use block with an updated `__json_buf`, installing `.input` as
|
|
4
|
+
* a memoized getter so the partial-JSON parse happens on first read instead of
|
|
5
|
+
* on every delta.
|
|
6
|
+
*/
|
|
7
|
+
export declare function withLazyInput<T extends {
|
|
8
|
+
input: unknown;
|
|
9
|
+
}>(prev: T, jsonBuf: string): T;
|
|
10
|
+
//# sourceMappingURL=message-stream-utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-stream-utils.d.mts","sourceRoot":"","sources":["../src/internal/message-stream-utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAoBvF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const JSON_BUF_PROPERTY = "__json_buf";
|
|
2
|
+
/**
|
|
3
|
+
* Copies a tool-use block with an updated `__json_buf`, installing `.input` as
|
|
4
|
+
* a memoized getter so the partial-JSON parse happens on first read instead of
|
|
5
|
+
* on every delta.
|
|
6
|
+
*/
|
|
7
|
+
export declare function withLazyInput<T extends {
|
|
8
|
+
input: unknown;
|
|
9
|
+
}>(prev: T, jsonBuf: string): T;
|
|
10
|
+
//# sourceMappingURL=message-stream-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-stream-utils.d.ts","sourceRoot":"","sources":["../src/internal/message-stream-utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAoBvF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JSON_BUF_PROPERTY = void 0;
|
|
4
|
+
exports.withLazyInput = withLazyInput;
|
|
5
|
+
const parser_1 = require("../_vendor/partial-json-parser/parser.js");
|
|
6
|
+
exports.JSON_BUF_PROPERTY = '__json_buf';
|
|
7
|
+
/**
|
|
8
|
+
* Copies a tool-use block with an updated `__json_buf`, installing `.input` as
|
|
9
|
+
* a memoized getter so the partial-JSON parse happens on first read instead of
|
|
10
|
+
* on every delta.
|
|
11
|
+
*/
|
|
12
|
+
function withLazyInput(prev, jsonBuf) {
|
|
13
|
+
const next = {};
|
|
14
|
+
for (const key of Object.keys(prev)) {
|
|
15
|
+
if (key !== 'input')
|
|
16
|
+
next[key] = prev[key];
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(next, exports.JSON_BUF_PROPERTY, { value: jsonBuf, enumerable: false, writable: true });
|
|
19
|
+
let input;
|
|
20
|
+
let parsed = false;
|
|
21
|
+
Object.defineProperty(next, 'input', {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
get() {
|
|
25
|
+
if (!parsed) {
|
|
26
|
+
input = jsonBuf ? (0, parser_1.partialParse)(jsonBuf) : {};
|
|
27
|
+
parsed = true;
|
|
28
|
+
}
|
|
29
|
+
return input;
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
return next;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=message-stream-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-stream-utils.js","sourceRoot":"","sources":["../src/internal/message-stream-utils.ts"],"names":[],"mappings":";;;AASA,sCAoBC;AA7BD,qEAAqE;AAExD,QAAA,iBAAiB,GAAG,YAAY,CAAC;AAE9C;;;;GAIG;AACH,SAAgB,aAAa,CAA+B,IAAO,EAAE,OAAe;IAClF,MAAM,IAAI,GAAG,EAAO,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAgB,EAAE,CAAC;QACnD,IAAI,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtG,IAAI,KAAc,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;QACnC,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,GAAG;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { partialParse } from "../_vendor/partial-json-parser/parser.mjs";
|
|
2
|
+
export const JSON_BUF_PROPERTY = '__json_buf';
|
|
3
|
+
/**
|
|
4
|
+
* Copies a tool-use block with an updated `__json_buf`, installing `.input` as
|
|
5
|
+
* a memoized getter so the partial-JSON parse happens on first read instead of
|
|
6
|
+
* on every delta.
|
|
7
|
+
*/
|
|
8
|
+
export function withLazyInput(prev, jsonBuf) {
|
|
9
|
+
const next = {};
|
|
10
|
+
for (const key of Object.keys(prev)) {
|
|
11
|
+
if (key !== 'input')
|
|
12
|
+
next[key] = prev[key];
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(next, JSON_BUF_PROPERTY, { value: jsonBuf, enumerable: false, writable: true });
|
|
15
|
+
let input;
|
|
16
|
+
let parsed = false;
|
|
17
|
+
Object.defineProperty(next, 'input', {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
get() {
|
|
21
|
+
if (!parsed) {
|
|
22
|
+
input = jsonBuf ? partialParse(jsonBuf) : {};
|
|
23
|
+
parsed = true;
|
|
24
|
+
}
|
|
25
|
+
return input;
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return next;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=message-stream-utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-stream-utils.mjs","sourceRoot":"","sources":["../src/internal/message-stream-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kDAA8C;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAA+B,IAAO,EAAE,OAAe;IAClF,MAAM,IAAI,GAAG,EAAO,CAAC;IACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAgB,EAAE,CAAC;QACnD,IAAI,GAAG,KAAK,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtG,IAAI,KAAc,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;QACnC,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,GAAG;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the `x-stainless-helper` telemetry header — the
|
|
3
|
+
* key, the closed value vocabulary, and per-object helper tagging. The
|
|
4
|
+
* append-don't-clobber merge for the header itself lives in
|
|
5
|
+
* {@link import('../internal/headers').buildHeaders} via `APPEND_HEADERS`.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Telemetry header naming the SDK helper(s) a request came from. Always this
|
|
9
|
+
* lowercase form; `buildHeaders` matches it case-insensitively for its append
|
|
10
|
+
* semantics, but a single canonical casing keeps every call site greppable.
|
|
11
|
+
*/
|
|
12
|
+
export declare const STAINLESS_HELPER_HEADER = "x-stainless-helper";
|
|
13
|
+
/** Telemetry header naming the SDK method (e.g. `stream`) in use. */
|
|
14
|
+
export declare const STAINLESS_HELPER_METHOD_HEADER = "x-stainless-helper-method";
|
|
15
|
+
/**
|
|
16
|
+
* The closed set of helper telemetry tags, shared verbatim across SDKs. A
|
|
17
|
+
* typo at any call site is a type error rather than silently mistagged
|
|
18
|
+
* telemetry. Existing values keep their original spellings — telemetry
|
|
19
|
+
* consumers match on them, so renames lose history. New tags are hyphenated
|
|
20
|
+
* lowercase.
|
|
21
|
+
*/
|
|
22
|
+
export type StainlessHelperHeaderValue = 'BetaToolRunner' | 'betaZodTool' | 'compaction' | 'environments-work-poller' | 'environments-worker' | 'fallback-refusal-middleware' | 'mcpContent' | 'mcpMessage' | 'mcpResourceToContent' | 'mcpResourceToFile' | 'mcpTool' | 'session-tool-runner';
|
|
23
|
+
/**
|
|
24
|
+
* The `{ 'x-stainless-helper': value }` header dict, for passing into
|
|
25
|
+
* `buildHeaders` (which comma-appends `x-stainless-helper` across sources)
|
|
26
|
+
* or as `defaultHeaders`/per-request `headers`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function helperHeader(value: StainlessHelperHeaderValue): {
|
|
29
|
+
[STAINLESS_HELPER_HEADER]: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Symbol used to mark objects created by SDK helpers for tracking.
|
|
33
|
+
* The value is the helper name (e.g., 'mcpTool', 'betaZodTool').
|
|
34
|
+
*/
|
|
35
|
+
export declare const SDK_HELPER_SYMBOL: unique symbol;
|
|
36
|
+
type StainlessHelperObject = {
|
|
37
|
+
[SDK_HELPER_SYMBOL]: string;
|
|
38
|
+
};
|
|
39
|
+
export declare function wasCreatedByStainlessHelper(value: unknown): value is StainlessHelperObject;
|
|
40
|
+
/**
|
|
41
|
+
* Collects helper names from tools and messages arrays.
|
|
42
|
+
* Returns a deduplicated array of helper names found.
|
|
43
|
+
*/
|
|
44
|
+
export declare function collectStainlessHelpers(tools: readonly unknown[] | undefined, messages: readonly unknown[] | undefined): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Builds x-stainless-helper header value from tools and messages.
|
|
47
|
+
* Returns an empty object if no helpers are found.
|
|
48
|
+
*/
|
|
49
|
+
export declare function stainlessHelperHeader(tools: readonly unknown[] | undefined, messages: readonly unknown[] | undefined): {
|
|
50
|
+
'x-stainless-helper'?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Builds x-stainless-helper header value from a file object.
|
|
54
|
+
* Returns an empty object if the file is not marked with a helper.
|
|
55
|
+
*/
|
|
56
|
+
export declare function stainlessHelperHeaderFromFile(file: unknown): {
|
|
57
|
+
'x-stainless-helper'?: string;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=stainless-helper-header.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stainless-helper-header.d.mts","sourceRoot":"","sources":["../src/internal/stainless-helper-header.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D,qEAAqE;AACrE,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,0BAA0B,GAC1B,qBAAqB,GACrB,6BAA6B,GAC7B,YAAY,GACZ,YAAY,GACZ,sBAAsB,GACtB,mBAAmB,GACnB,SAAS,GACT,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG;IAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,CAErG;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAA0C,CAAC;AAEzE,KAAK,qBAAqB,GAAG;IAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAE1F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACvC,MAAM,EAAE,CA+BV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACvC;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAInC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAK9F"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the `x-stainless-helper` telemetry header — the
|
|
3
|
+
* key, the closed value vocabulary, and per-object helper tagging. The
|
|
4
|
+
* append-don't-clobber merge for the header itself lives in
|
|
5
|
+
* {@link import('../internal/headers').buildHeaders} via `APPEND_HEADERS`.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Telemetry header naming the SDK helper(s) a request came from. Always this
|
|
9
|
+
* lowercase form; `buildHeaders` matches it case-insensitively for its append
|
|
10
|
+
* semantics, but a single canonical casing keeps every call site greppable.
|
|
11
|
+
*/
|
|
12
|
+
export declare const STAINLESS_HELPER_HEADER = "x-stainless-helper";
|
|
13
|
+
/** Telemetry header naming the SDK method (e.g. `stream`) in use. */
|
|
14
|
+
export declare const STAINLESS_HELPER_METHOD_HEADER = "x-stainless-helper-method";
|
|
15
|
+
/**
|
|
16
|
+
* The closed set of helper telemetry tags, shared verbatim across SDKs. A
|
|
17
|
+
* typo at any call site is a type error rather than silently mistagged
|
|
18
|
+
* telemetry. Existing values keep their original spellings — telemetry
|
|
19
|
+
* consumers match on them, so renames lose history. New tags are hyphenated
|
|
20
|
+
* lowercase.
|
|
21
|
+
*/
|
|
22
|
+
export type StainlessHelperHeaderValue = 'BetaToolRunner' | 'betaZodTool' | 'compaction' | 'environments-work-poller' | 'environments-worker' | 'fallback-refusal-middleware' | 'mcpContent' | 'mcpMessage' | 'mcpResourceToContent' | 'mcpResourceToFile' | 'mcpTool' | 'session-tool-runner';
|
|
23
|
+
/**
|
|
24
|
+
* The `{ 'x-stainless-helper': value }` header dict, for passing into
|
|
25
|
+
* `buildHeaders` (which comma-appends `x-stainless-helper` across sources)
|
|
26
|
+
* or as `defaultHeaders`/per-request `headers`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function helperHeader(value: StainlessHelperHeaderValue): {
|
|
29
|
+
[STAINLESS_HELPER_HEADER]: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Symbol used to mark objects created by SDK helpers for tracking.
|
|
33
|
+
* The value is the helper name (e.g., 'mcpTool', 'betaZodTool').
|
|
34
|
+
*/
|
|
35
|
+
export declare const SDK_HELPER_SYMBOL: unique symbol;
|
|
36
|
+
type StainlessHelperObject = {
|
|
37
|
+
[SDK_HELPER_SYMBOL]: string;
|
|
38
|
+
};
|
|
39
|
+
export declare function wasCreatedByStainlessHelper(value: unknown): value is StainlessHelperObject;
|
|
40
|
+
/**
|
|
41
|
+
* Collects helper names from tools and messages arrays.
|
|
42
|
+
* Returns a deduplicated array of helper names found.
|
|
43
|
+
*/
|
|
44
|
+
export declare function collectStainlessHelpers(tools: readonly unknown[] | undefined, messages: readonly unknown[] | undefined): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Builds x-stainless-helper header value from tools and messages.
|
|
47
|
+
* Returns an empty object if no helpers are found.
|
|
48
|
+
*/
|
|
49
|
+
export declare function stainlessHelperHeader(tools: readonly unknown[] | undefined, messages: readonly unknown[] | undefined): {
|
|
50
|
+
'x-stainless-helper'?: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Builds x-stainless-helper header value from a file object.
|
|
54
|
+
* Returns an empty object if the file is not marked with a helper.
|
|
55
|
+
*/
|
|
56
|
+
export declare function stainlessHelperHeaderFromFile(file: unknown): {
|
|
57
|
+
'x-stainless-helper'?: string;
|
|
58
|
+
};
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=stainless-helper-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stainless-helper-header.d.ts","sourceRoot":"","sources":["../src/internal/stainless-helper-header.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAE5D,qEAAqE;AACrE,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,0BAA0B,GAC1B,qBAAqB,GACrB,6BAA6B,GAC7B,YAAY,GACZ,YAAY,GACZ,sBAAsB,GACtB,mBAAmB,GACnB,SAAS,GACT,qBAAqB,CAAC;AAE1B;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,0BAA0B,GAAG;IAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,CAErG;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAA0C,CAAC;AAEzE,KAAK,qBAAqB,GAAG;IAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAE1F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACvC,MAAM,EAAE,CA+BV;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACrC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GACvC;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAInC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,CAK9F"}
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Single source of truth for the `x-stainless-helper` telemetry header — the
|
|
4
|
+
* key, the closed value vocabulary, and per-object helper tagging. The
|
|
5
|
+
* append-don't-clobber merge for the header itself lives in
|
|
6
|
+
* {@link import('../internal/headers').buildHeaders} via `APPEND_HEADERS`.
|
|
4
7
|
*/
|
|
5
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SDK_HELPER_SYMBOL = void 0;
|
|
9
|
+
exports.SDK_HELPER_SYMBOL = exports.STAINLESS_HELPER_METHOD_HEADER = exports.STAINLESS_HELPER_HEADER = void 0;
|
|
10
|
+
exports.helperHeader = helperHeader;
|
|
7
11
|
exports.wasCreatedByStainlessHelper = wasCreatedByStainlessHelper;
|
|
8
12
|
exports.collectStainlessHelpers = collectStainlessHelpers;
|
|
9
13
|
exports.stainlessHelperHeader = stainlessHelperHeader;
|
|
10
14
|
exports.stainlessHelperHeaderFromFile = stainlessHelperHeaderFromFile;
|
|
15
|
+
/**
|
|
16
|
+
* Telemetry header naming the SDK helper(s) a request came from. Always this
|
|
17
|
+
* lowercase form; `buildHeaders` matches it case-insensitively for its append
|
|
18
|
+
* semantics, but a single canonical casing keeps every call site greppable.
|
|
19
|
+
*/
|
|
20
|
+
exports.STAINLESS_HELPER_HEADER = 'x-stainless-helper';
|
|
21
|
+
/** Telemetry header naming the SDK method (e.g. `stream`) in use. */
|
|
22
|
+
exports.STAINLESS_HELPER_METHOD_HEADER = 'x-stainless-helper-method';
|
|
23
|
+
/**
|
|
24
|
+
* The `{ 'x-stainless-helper': value }` header dict, for passing into
|
|
25
|
+
* `buildHeaders` (which comma-appends `x-stainless-helper` across sources)
|
|
26
|
+
* or as `defaultHeaders`/per-request `headers`.
|
|
27
|
+
*/
|
|
28
|
+
function helperHeader(value) {
|
|
29
|
+
return { [exports.STAINLESS_HELPER_HEADER]: value };
|
|
30
|
+
}
|
|
11
31
|
/**
|
|
12
32
|
* Symbol used to mark objects created by SDK helpers for tracking.
|
|
13
33
|
* The value is the helper name (e.g., 'mcpTool', 'betaZodTool').
|
|
@@ -36,8 +56,9 @@ function collectStainlessHelpers(tools, messages) {
|
|
|
36
56
|
if (wasCreatedByStainlessHelper(message)) {
|
|
37
57
|
helpers.add(message[exports.SDK_HELPER_SYMBOL]);
|
|
38
58
|
}
|
|
39
|
-
|
|
40
|
-
|
|
59
|
+
const content = message.content;
|
|
60
|
+
if (Array.isArray(content)) {
|
|
61
|
+
for (const block of content) {
|
|
41
62
|
if (wasCreatedByStainlessHelper(block)) {
|
|
42
63
|
helpers.add(block[exports.SDK_HELPER_SYMBOL]);
|
|
43
64
|
}
|
|
@@ -55,7 +76,7 @@ function stainlessHelperHeader(tools, messages) {
|
|
|
55
76
|
const helpers = collectStainlessHelpers(tools, messages);
|
|
56
77
|
if (helpers.length === 0)
|
|
57
78
|
return {};
|
|
58
|
-
return {
|
|
79
|
+
return { [exports.STAINLESS_HELPER_HEADER]: helpers.join(', ') };
|
|
59
80
|
}
|
|
60
81
|
/**
|
|
61
82
|
* Builds x-stainless-helper header value from a file object.
|
|
@@ -63,7 +84,7 @@ function stainlessHelperHeader(tools, messages) {
|
|
|
63
84
|
*/
|
|
64
85
|
function stainlessHelperHeaderFromFile(file) {
|
|
65
86
|
if (wasCreatedByStainlessHelper(file)) {
|
|
66
|
-
return {
|
|
87
|
+
return { [exports.STAINLESS_HELPER_HEADER]: file[exports.SDK_HELPER_SYMBOL] };
|
|
67
88
|
}
|
|
68
89
|
return {};
|
|
69
90
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stainless-helper-header.js","sourceRoot":"","sources":["../src/internal/stainless-helper-header.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAsCH,oCAEC;AAUD,kEAEC;AAMD,0DAkCC;AAMD,sDAOC;AAMD,sEAKC;AAlHD;;;;GAIG;AACU,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D,qEAAqE;AACxD,QAAA,8BAA8B,GAAG,2BAA2B,CAAC;AAuB1E;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAiC;IAC5D,OAAO,EAAE,CAAC,+BAAuB,CAAC,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAIzE,SAAgB,2BAA2B,CAAC,KAAc;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,yBAAiB,IAAI,KAAK,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,KAAqC,EACrC,QAAwC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,qBAAqB;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,yBAAiB,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,OAAO,GAAI,OAAiC,CAAC,OAAO,CAAC;YAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAiB,CAAC,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,KAAqC,EACrC,QAAwC;IAExC,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,EAAE,CAAC,+BAAuB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAC,IAAa;IACzD,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,+BAAuB,CAAC,EAAE,IAAI,CAAC,yBAAiB,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Single source of truth for the `x-stainless-helper` telemetry header — the
|
|
3
|
+
* key, the closed value vocabulary, and per-object helper tagging. The
|
|
4
|
+
* append-don't-clobber merge for the header itself lives in
|
|
5
|
+
* {@link import('../internal/headers').buildHeaders} via `APPEND_HEADERS`.
|
|
3
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Telemetry header naming the SDK helper(s) a request came from. Always this
|
|
9
|
+
* lowercase form; `buildHeaders` matches it case-insensitively for its append
|
|
10
|
+
* semantics, but a single canonical casing keeps every call site greppable.
|
|
11
|
+
*/
|
|
12
|
+
export const STAINLESS_HELPER_HEADER = 'x-stainless-helper';
|
|
13
|
+
/** Telemetry header naming the SDK method (e.g. `stream`) in use. */
|
|
14
|
+
export const STAINLESS_HELPER_METHOD_HEADER = 'x-stainless-helper-method';
|
|
15
|
+
/**
|
|
16
|
+
* The `{ 'x-stainless-helper': value }` header dict, for passing into
|
|
17
|
+
* `buildHeaders` (which comma-appends `x-stainless-helper` across sources)
|
|
18
|
+
* or as `defaultHeaders`/per-request `headers`.
|
|
19
|
+
*/
|
|
20
|
+
export function helperHeader(value) {
|
|
21
|
+
return { [STAINLESS_HELPER_HEADER]: value };
|
|
22
|
+
}
|
|
4
23
|
/**
|
|
5
24
|
* Symbol used to mark objects created by SDK helpers for tracking.
|
|
6
25
|
* The value is the helper name (e.g., 'mcpTool', 'betaZodTool').
|
|
@@ -29,8 +48,9 @@ export function collectStainlessHelpers(tools, messages) {
|
|
|
29
48
|
if (wasCreatedByStainlessHelper(message)) {
|
|
30
49
|
helpers.add(message[SDK_HELPER_SYMBOL]);
|
|
31
50
|
}
|
|
32
|
-
|
|
33
|
-
|
|
51
|
+
const content = message.content;
|
|
52
|
+
if (Array.isArray(content)) {
|
|
53
|
+
for (const block of content) {
|
|
34
54
|
if (wasCreatedByStainlessHelper(block)) {
|
|
35
55
|
helpers.add(block[SDK_HELPER_SYMBOL]);
|
|
36
56
|
}
|
|
@@ -48,7 +68,7 @@ export function stainlessHelperHeader(tools, messages) {
|
|
|
48
68
|
const helpers = collectStainlessHelpers(tools, messages);
|
|
49
69
|
if (helpers.length === 0)
|
|
50
70
|
return {};
|
|
51
|
-
return {
|
|
71
|
+
return { [STAINLESS_HELPER_HEADER]: helpers.join(', ') };
|
|
52
72
|
}
|
|
53
73
|
/**
|
|
54
74
|
* Builds x-stainless-helper header value from a file object.
|
|
@@ -56,7 +76,7 @@ export function stainlessHelperHeader(tools, messages) {
|
|
|
56
76
|
*/
|
|
57
77
|
export function stainlessHelperHeaderFromFile(file) {
|
|
58
78
|
if (wasCreatedByStainlessHelper(file)) {
|
|
59
|
-
return {
|
|
79
|
+
return { [STAINLESS_HELPER_HEADER]: file[SDK_HELPER_SYMBOL] };
|
|
60
80
|
}
|
|
61
81
|
return {};
|
|
62
82
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stainless-helper-header.mjs","sourceRoot":"","sources":["../src/internal/stainless-helper-header.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAE5D,qEAAqE;AACrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;AAuB1E;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiC;IAC5D,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAIzE,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,iBAAiB,IAAI,KAAK,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAqC,EACrC,QAAwC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,qBAAqB;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,OAAO,GAAI,OAAiC,CAAC,OAAO,CAAC;YAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAqC,EACrC,QAAwC;IAExC,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAa;IACzD,IAAI,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaMessageStream.d.mts","sourceRoot":"","sources":["../src/lib/BetaMessageStream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAkB;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAiB;AAE7D,OAAO,EAAE,KAAK,cAAc,EAAE,wCAAoC;AAClE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,QAAQ,IAAI,YAAY,EACxB,KAAK,yBAAyB,IAAI,sBAAsB,EACxD,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE7B,gDAA4C;AAE7C,OAAO,EAAyB,KAAK,iBAAiB,EAAE,0BAAsB;
|
|
1
|
+
{"version":3,"file":"BetaMessageStream.d.mts","sourceRoot":"","sources":["../src/lib/BetaMessageStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BetaMessageStream.d.ts","sourceRoot":"","sources":["../src/lib/BetaMessageStream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAkB;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAiB;AAE7D,OAAO,EAAE,KAAK,cAAc,EAAE,uCAAoC;AAClE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,QAAQ,IAAI,YAAY,EACxB,KAAK,yBAAyB,IAAI,sBAAsB,EACxD,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE7B,+CAA4C;AAE7C,OAAO,EAAyB,KAAK,iBAAiB,EAAE,yBAAsB;
|
|
1
|
+
{"version":3,"file":"BetaMessageStream.d.ts","sourceRoot":"","sources":["../src/lib/BetaMessageStream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAkB;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAiB;AAE7D,OAAO,EAAE,KAAK,cAAc,EAAE,uCAAoC;AAClE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,QAAQ,IAAI,YAAY,EACxB,KAAK,yBAAyB,IAAI,sBAAsB,EACxD,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE7B,+CAA4C;AAE7C,OAAO,EAAyB,KAAK,iBAAiB,EAAE,yBAAsB;AAG9E,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5E,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IACtF,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1C,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAOD,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;AAM9F,qBAAa,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAE,YAAW,aAAa,CAAC,sBAAsB,CAAC;;IAC7F,QAAQ,EAAE,gBAAgB,EAAE,CAAM;IAClC,gBAAgB,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAM;IAIpD,UAAU,EAAE,eAAe,CAAyB;gBAoBxC,MAAM,EAAE,uBAAuB,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAsB1F,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,GAAG,SAAS,CAE1C;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,CAE1C;IAED;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC;QAC5B,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjC,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;KACvC,CAAC;IAeF;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB;IAMpE,MAAM,CAAC,aAAa,CAAC,OAAO,EAC1B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,CAAC,EAAE,cAAc,EACxB,EAAE,MAAM,EAAE,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO,GAC/C,iBAAiB,CAAC,OAAO,CAAC;IAgB7B,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;IAO3C,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB;IAIpD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,UAAO;cAOtD,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IA4BhB,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ9C,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,KAAK;IAIL;;;;;;OAMG;IACH,EAAE,CAAC,KAAK,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAOrG;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAQtG;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAS,MAAM,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAOvG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,KAAK,SAAS,MAAM,mBAAmB,EAC7C,KAAK,EAAE,KAAK,GACX,OAAO,CACR,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAClE,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,GACxD,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CACzC;IAQK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,IAAI,cAAc,IAAI,WAAW,GAAG,SAAS,CAE5C;IASD;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAmBzD;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IA0BlC,SAAS,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,mBAAmB,EACrD,KAAK,EAAE,KAAK,EACZ,GAAG,IAAI,EAAE,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IA8CjD,SAAS,CAAC,UAAU;cAqGJ,mBAAmB,CACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAkLhB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,sBAAsB,CAAC;IA6D/D,gBAAgB,IAAI,cAAc;CAInC"}
|
package/lib/BetaMessageStream.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _BetaMessageStream_instances, _BetaMessageStream_currentMessageSnapshot, _BetaMessageStream_params, _BetaMessageStream_connectedPromise, _BetaMessageStream_resolveConnectedPromise, _BetaMessageStream_rejectConnectedPromise, _BetaMessageStream_endPromise, _BetaMessageStream_resolveEndPromise, _BetaMessageStream_rejectEndPromise, _BetaMessageStream_listeners, _BetaMessageStream_ended, _BetaMessageStream_errored, _BetaMessageStream_aborted, _BetaMessageStream_catchingPromiseCreated, _BetaMessageStream_response, _BetaMessageStream_request_id, _BetaMessageStream_logger, _BetaMessageStream_getFinalMessage, _BetaMessageStream_getFinalText, _BetaMessageStream_handleError, _BetaMessageStream_beginRequest, _BetaMessageStream_addStreamEvent, _BetaMessageStream_endRequest, _BetaMessageStream_accumulateMessage;
|
|
2
|
+
var _BetaMessageStream_instances, _BetaMessageStream_currentMessageSnapshot, _BetaMessageStream_params, _BetaMessageStream_connectedPromise, _BetaMessageStream_resolveConnectedPromise, _BetaMessageStream_rejectConnectedPromise, _BetaMessageStream_endPromise, _BetaMessageStream_resolveEndPromise, _BetaMessageStream_rejectEndPromise, _BetaMessageStream_listeners, _BetaMessageStream_ended, _BetaMessageStream_errored, _BetaMessageStream_aborted, _BetaMessageStream_catchingPromiseCreated, _BetaMessageStream_response, _BetaMessageStream_request_id, _BetaMessageStream_logger, _BetaMessageStream_getFinalMessage, _BetaMessageStream_getFinalText, _BetaMessageStream_handleError, _BetaMessageStream_beginRequest, _BetaMessageStream_addStreamEvent, _BetaMessageStream_endRequest, _BetaMessageStream_accumulateMessage, _BetaMessageStream_toolInputParseError;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.BetaMessageStream = void 0;
|
|
5
5
|
const tslib_1 = require("../internal/tslib.js");
|
|
6
|
-
const
|
|
6
|
+
const stainless_helper_header_1 = require("../internal/stainless-helper-header.js");
|
|
7
7
|
const error_1 = require("../error.js");
|
|
8
8
|
const errors_1 = require("../internal/errors.js");
|
|
9
9
|
const streaming_1 = require("../streaming.js");
|
|
10
10
|
const beta_parser_1 = require("./beta-parser.js");
|
|
11
|
-
const
|
|
11
|
+
const message_stream_utils_1 = require("../internal/message-stream-utils.js");
|
|
12
12
|
function tracksToolInput(content) {
|
|
13
13
|
return content.type === 'tool_use' || content.type === 'server_tool_use' || content.type === 'mcp_tool_use';
|
|
14
14
|
}
|
|
@@ -117,7 +117,7 @@ class BetaMessageStream {
|
|
|
117
117
|
runner._addMessageParam(message);
|
|
118
118
|
}
|
|
119
119
|
tslib_1.__classPrivateFieldSet(runner, _BetaMessageStream_params, { ...params, stream: true }, "f");
|
|
120
|
-
runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers,
|
|
120
|
+
runner._run(() => runner._createMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, [stainless_helper_header_1.STAINLESS_HELPER_METHOD_HEADER]: 'stream' } }));
|
|
121
121
|
return runner;
|
|
122
122
|
}
|
|
123
123
|
_run(executor) {
|
|
@@ -382,8 +382,16 @@ class BetaMessageStream {
|
|
|
382
382
|
break;
|
|
383
383
|
}
|
|
384
384
|
case 'input_json_delta': {
|
|
385
|
-
if (tracksToolInput(content) &&
|
|
386
|
-
|
|
385
|
+
if (tracksToolInput(content) && tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_listeners, "f").inputJson?.length) {
|
|
386
|
+
let jsonSnapshot;
|
|
387
|
+
try {
|
|
388
|
+
jsonSnapshot = content.input;
|
|
389
|
+
}
|
|
390
|
+
catch (err) {
|
|
391
|
+
tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_handleError, "f").call(this, tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_toolInputParseError).call(this, content, err));
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
this._emit('inputJson', event.delta.partial_json, jsonSnapshot);
|
|
387
395
|
}
|
|
388
396
|
break;
|
|
389
397
|
}
|
|
@@ -507,27 +515,8 @@ class BetaMessageStream {
|
|
|
507
515
|
}
|
|
508
516
|
case 'input_json_delta': {
|
|
509
517
|
if (snapshotContent && tracksToolInput(snapshotContent)) {
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
// non-enumerable property on the snapshot
|
|
513
|
-
let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';
|
|
514
|
-
jsonBuf += event.delta.partial_json;
|
|
515
|
-
const newContent = { ...snapshotContent };
|
|
516
|
-
Object.defineProperty(newContent, JSON_BUF_PROPERTY, {
|
|
517
|
-
value: jsonBuf,
|
|
518
|
-
enumerable: false,
|
|
519
|
-
writable: true,
|
|
520
|
-
});
|
|
521
|
-
if (jsonBuf) {
|
|
522
|
-
try {
|
|
523
|
-
newContent.input = (0, parser_1.partialParse)(jsonBuf);
|
|
524
|
-
}
|
|
525
|
-
catch (err) {
|
|
526
|
-
const error = new error_1.AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`);
|
|
527
|
-
tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_handleError, "f").call(this, error);
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
snapshot.content[event.index] = newContent;
|
|
518
|
+
const jsonBuf = (snapshotContent[message_stream_utils_1.JSON_BUF_PROPERTY] || '') + event.delta.partial_json;
|
|
519
|
+
snapshot.content[event.index] = (0, message_stream_utils_1.withLazyInput)(snapshotContent, jsonBuf);
|
|
531
520
|
}
|
|
532
521
|
break;
|
|
533
522
|
}
|
|
@@ -564,9 +553,30 @@ class BetaMessageStream {
|
|
|
564
553
|
}
|
|
565
554
|
return snapshot;
|
|
566
555
|
}
|
|
567
|
-
case 'content_block_stop':
|
|
556
|
+
case 'content_block_stop': {
|
|
557
|
+
const snapshotContent = snapshot.content.at(event.index);
|
|
558
|
+
if (snapshotContent && tracksToolInput(snapshotContent) && message_stream_utils_1.JSON_BUF_PROPERTY in snapshotContent) {
|
|
559
|
+
let input;
|
|
560
|
+
try {
|
|
561
|
+
input = snapshotContent.input;
|
|
562
|
+
}
|
|
563
|
+
catch (err) {
|
|
564
|
+
input = {};
|
|
565
|
+
tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_handleError, "f").call(this, tslib_1.__classPrivateFieldGet(this, _BetaMessageStream_instances, "m", _BetaMessageStream_toolInputParseError).call(this, snapshotContent, err));
|
|
566
|
+
}
|
|
567
|
+
Object.defineProperty(snapshotContent, 'input', {
|
|
568
|
+
value: input,
|
|
569
|
+
enumerable: true,
|
|
570
|
+
configurable: true,
|
|
571
|
+
writable: true,
|
|
572
|
+
});
|
|
573
|
+
}
|
|
568
574
|
return snapshot;
|
|
575
|
+
}
|
|
569
576
|
}
|
|
577
|
+
}, _BetaMessageStream_toolInputParseError = function _BetaMessageStream_toolInputParseError(block, err) {
|
|
578
|
+
const jsonBuf = block[message_stream_utils_1.JSON_BUF_PROPERTY];
|
|
579
|
+
return new error_1.AnthropicError(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`);
|
|
570
580
|
}, Symbol.asyncIterator)]() {
|
|
571
581
|
const pushQueue = [];
|
|
572
582
|
const readQueue = [];
|