@anthropic-ai/claude-agent-sdk 0.3.266 → 0.3.268
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/bridge.mjs +76 -76
- package/browser-sdk.d.ts +78 -1
- package/browser-sdk.js +62 -62
- package/manifest.json +19 -21
- package/manifest.zst.json +23 -25
- package/package.json +10 -10
- package/sdk-tools.d.ts +16 -8
- package/sdk.d.ts +106 -9
- package/sdk.mjs +78 -78
package/manifest.json
CHANGED
|
@@ -1,54 +1,52 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
2
|
+
"version": "2.1.268",
|
|
3
3
|
"manifestSignatureEnforcement": "flag",
|
|
4
|
-
"commit": "
|
|
5
|
-
"buildDate": "2026-09-
|
|
4
|
+
"commit": "8d19e585f3f1e02a7e31642695321906d38609a3",
|
|
5
|
+
"buildDate": "2026-09-10T17:38:45Z",
|
|
6
6
|
"platforms": {
|
|
7
7
|
"darwin-arm64": {
|
|
8
8
|
"binary": "claude",
|
|
9
|
-
"checksum": "
|
|
10
|
-
"size":
|
|
9
|
+
"checksum": "06a96d5423f83770f120859f1c58e60d7252cc4c122aa13043b7e7cd716bc76a",
|
|
10
|
+
"size": 202081536
|
|
11
11
|
},
|
|
12
12
|
"darwin-x64": {
|
|
13
13
|
"binary": "claude",
|
|
14
|
-
"checksum": "
|
|
15
|
-
"size":
|
|
14
|
+
"checksum": "f94c0d5ab0ab79f28e8dc9129ae7c980c2c1af65f3ea67ee6e9256bed3da67e9",
|
|
15
|
+
"size": 210766944
|
|
16
16
|
},
|
|
17
17
|
"linux-arm64": {
|
|
18
18
|
"binary": "claude",
|
|
19
|
-
"checksum": "
|
|
20
|
-
"size":
|
|
19
|
+
"checksum": "116fd031f939ef1e09edf170d62c489e1cc28ed6bfbda49f948773ba168c8f62",
|
|
20
|
+
"size": 218291624
|
|
21
21
|
},
|
|
22
22
|
"linux-x64": {
|
|
23
23
|
"binary": "claude",
|
|
24
|
-
"checksum": "
|
|
25
|
-
"size":
|
|
24
|
+
"checksum": "9691a2b7bd796712ca8cffb8e32e54ff7fc45b662540233171a16a94a0425653",
|
|
25
|
+
"size": 218602992
|
|
26
26
|
},
|
|
27
27
|
"linux-arm64-musl": {
|
|
28
28
|
"binary": "claude",
|
|
29
|
-
"checksum": "
|
|
30
|
-
"size":
|
|
29
|
+
"checksum": "a1cb086b8b65ff5e2068eb764d2aff7c8a48f914df4741dd9bdb2d3aa5db971b",
|
|
30
|
+
"size": 211236504
|
|
31
31
|
},
|
|
32
32
|
"linux-x64-musl": {
|
|
33
33
|
"binary": "claude",
|
|
34
|
-
"checksum": "
|
|
35
|
-
"size":
|
|
34
|
+
"checksum": "1e9b0013268c023266438653eb4beac34d71311a451a9f45988e5f176fdf2e24",
|
|
35
|
+
"size": 212623312
|
|
36
36
|
},
|
|
37
37
|
"win32-x64": {
|
|
38
38
|
"binary": "claude.exe",
|
|
39
|
-
"checksum": "
|
|
40
|
-
"size":
|
|
39
|
+
"checksum": "1e472bcfd49449e73ef76698c87f6583055aeb88dc41ca190a9c12c6791b5eea",
|
|
40
|
+
"size": 221637792
|
|
41
41
|
},
|
|
42
42
|
"win32-arm64": {
|
|
43
43
|
"binary": "claude.exe",
|
|
44
|
-
"checksum": "
|
|
45
|
-
"size":
|
|
44
|
+
"checksum": "30f0dbc7f1520ff0af1a2eb0167e11f09363a49f5dfd2f719ccd95e05809112c",
|
|
45
|
+
"size": 212880032
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"sdkCompat": {
|
|
49
49
|
"testedWrapperVersions": [
|
|
50
|
-
"0.3.224",
|
|
51
|
-
"0.3.225",
|
|
52
50
|
"0.3.226",
|
|
53
51
|
"0.3.227"
|
|
54
52
|
],
|
package/manifest.zst.json
CHANGED
|
@@ -1,62 +1,60 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
2
|
+
"version": "2.1.268",
|
|
3
3
|
"manifestSignatureEnforcement": "flag",
|
|
4
|
-
"commit": "
|
|
5
|
-
"buildDate": "2026-09-
|
|
4
|
+
"commit": "8d19e585f3f1e02a7e31642695321906d38609a3",
|
|
5
|
+
"buildDate": "2026-09-10T17:39:52Z",
|
|
6
6
|
"platforms": {
|
|
7
7
|
"darwin-arm64": {
|
|
8
8
|
"binary": "claude.zst",
|
|
9
|
-
"checksum": "
|
|
10
|
-
"size":
|
|
9
|
+
"checksum": "3e816cb773480b1c4aeadc1841be32a48fdcb3fec1ea56f59440bfb6faf457df",
|
|
10
|
+
"size": 67166011,
|
|
11
11
|
"bundle": {
|
|
12
|
-
"checksum": "
|
|
13
|
-
"size":
|
|
12
|
+
"checksum": "0f3074519ba4406a1c49349620b83ec7f5ac4fd478862df84e29ca6710661e99",
|
|
13
|
+
"size": 67167063
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"darwin-x64": {
|
|
17
17
|
"binary": "claude.zst",
|
|
18
|
-
"checksum": "
|
|
19
|
-
"size":
|
|
18
|
+
"checksum": "ca8221fe78907f5d614f2bd17423ab25245d6a5c641a53ebdb7c9c9e53ffb86a",
|
|
19
|
+
"size": 71216486,
|
|
20
20
|
"bundle": {
|
|
21
|
-
"checksum": "
|
|
22
|
-
"size":
|
|
21
|
+
"checksum": "2ad4c1df5a66acc116034232d335d305c42e38baedb737363a9d0f5e82b558be",
|
|
22
|
+
"size": 71218953
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"linux-arm64": {
|
|
26
26
|
"binary": "claude.zst",
|
|
27
|
-
"checksum": "
|
|
28
|
-
"size":
|
|
27
|
+
"checksum": "d1ddeff370da9df19480e700b94c2ee0c298fa538607d5f6be01e025e9a233e0",
|
|
28
|
+
"size": 76373529
|
|
29
29
|
},
|
|
30
30
|
"linux-x64": {
|
|
31
31
|
"binary": "claude.zst",
|
|
32
|
-
"checksum": "
|
|
33
|
-
"size":
|
|
32
|
+
"checksum": "9e2eca59e1ac7c7d9d9b8a031e4498de137e1da0a2fa3d8a69c00f071bd4495d",
|
|
33
|
+
"size": 76977785
|
|
34
34
|
},
|
|
35
35
|
"linux-arm64-musl": {
|
|
36
36
|
"binary": "claude.zst",
|
|
37
|
-
"checksum": "
|
|
38
|
-
"size":
|
|
37
|
+
"checksum": "24a52891b9963d34b0fcb21f4a07228dc61e84a6f1c1d7475199fc004763143c",
|
|
38
|
+
"size": 74855137
|
|
39
39
|
},
|
|
40
40
|
"linux-x64-musl": {
|
|
41
41
|
"binary": "claude.zst",
|
|
42
|
-
"checksum": "
|
|
43
|
-
"size":
|
|
42
|
+
"checksum": "9574030b5f9c07b9d9b8d3ba55c0e12051df56faec14135aaa36ada7c226caf0",
|
|
43
|
+
"size": 75492207
|
|
44
44
|
},
|
|
45
45
|
"win32-x64": {
|
|
46
46
|
"binary": "claude.exe.zst",
|
|
47
|
-
"checksum": "
|
|
48
|
-
"size":
|
|
47
|
+
"checksum": "02657300b90b53ab28bc478e1880b792c1650f3ad0b7bae6ffe461120e82d0f1",
|
|
48
|
+
"size": 79365973
|
|
49
49
|
},
|
|
50
50
|
"win32-arm64": {
|
|
51
51
|
"binary": "claude.exe.zst",
|
|
52
|
-
"checksum": "
|
|
53
|
-
"size":
|
|
52
|
+
"checksum": "8d32284fdb5255b158ae88755a717aa3b1521fde1235af57727bfdbb7b7642c0",
|
|
53
|
+
"size": 76145008
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"sdkCompat": {
|
|
57
57
|
"testedWrapperVersions": [
|
|
58
|
-
"0.3.224",
|
|
59
|
-
"0.3.225",
|
|
60
58
|
"0.3.226",
|
|
61
59
|
"0.3.227"
|
|
62
60
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anthropic-ai/claude-agent-sdk",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.268",
|
|
4
4
|
"main": "sdk.mjs",
|
|
5
5
|
"types": "sdk.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -57,14 +57,14 @@
|
|
|
57
57
|
"zod": "^4.0.0"
|
|
58
58
|
},
|
|
59
59
|
"optionalDependencies": {
|
|
60
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.
|
|
61
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.
|
|
62
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.
|
|
63
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.
|
|
64
|
-
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.
|
|
65
|
-
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.
|
|
66
|
-
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.
|
|
67
|
-
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.
|
|
60
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.268",
|
|
61
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.268",
|
|
62
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.268",
|
|
63
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.268",
|
|
64
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.268",
|
|
65
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.268",
|
|
66
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.268",
|
|
67
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.268"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
|
70
70
|
"sdk.mjs",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"manifest.json",
|
|
81
81
|
"manifest.zst.json"
|
|
82
82
|
],
|
|
83
|
-
"claudeCodeVersion": "2.1.
|
|
83
|
+
"claudeCodeVersion": "2.1.268"
|
|
84
84
|
}
|
package/sdk-tools.d.ts
CHANGED
|
@@ -448,6 +448,8 @@ export type ArtifactOutput =
|
|
|
448
448
|
contract?: string;
|
|
449
449
|
updated?: boolean;
|
|
450
450
|
audience?: string;
|
|
451
|
+
seq?: number;
|
|
452
|
+
unchanged?: true;
|
|
451
453
|
liveSubscription?: string;
|
|
452
454
|
}
|
|
453
455
|
| {
|
|
@@ -730,6 +732,8 @@ export interface BashInput {
|
|
|
730
732
|
/**
|
|
731
733
|
* Clear, concise description of what this command does in active voice. Never use words like "complex" or "risk" in the description - just describe what it does.
|
|
732
734
|
*
|
|
735
|
+
* Say what the command does in plain words: do not echo the command's text, its flags, or file paths - the user reads this description, often without seeing the command.
|
|
736
|
+
*
|
|
733
737
|
* For simple commands (git, npm, standard CLI tools), keep it brief (5-10 words):
|
|
734
738
|
* - ls → "List files in current directory"
|
|
735
739
|
* - git status → "Show working tree status"
|
|
@@ -2936,7 +2940,7 @@ export interface ProposeSkillsInput {
|
|
|
2936
2940
|
*/
|
|
2937
2941
|
target?: string;
|
|
2938
2942
|
/**
|
|
2939
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2943
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2940
2944
|
*/
|
|
2941
2945
|
description: string;
|
|
2942
2946
|
/**
|
|
@@ -2961,7 +2965,7 @@ export interface ProposeSkillsInput {
|
|
|
2961
2965
|
*/
|
|
2962
2966
|
target?: string;
|
|
2963
2967
|
/**
|
|
2964
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2968
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2965
2969
|
*/
|
|
2966
2970
|
description: string;
|
|
2967
2971
|
/**
|
|
@@ -2984,7 +2988,7 @@ export interface ProposeSkillsInput {
|
|
|
2984
2988
|
*/
|
|
2985
2989
|
target?: string;
|
|
2986
2990
|
/**
|
|
2987
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2991
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
2988
2992
|
*/
|
|
2989
2993
|
description: string;
|
|
2990
2994
|
/**
|
|
@@ -3009,7 +3013,7 @@ export interface ProposeSkillsInput {
|
|
|
3009
3013
|
*/
|
|
3010
3014
|
target?: string;
|
|
3011
3015
|
/**
|
|
3012
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3016
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3013
3017
|
*/
|
|
3014
3018
|
description: string;
|
|
3015
3019
|
/**
|
|
@@ -3032,7 +3036,7 @@ export interface ProposeSkillsInput {
|
|
|
3032
3036
|
*/
|
|
3033
3037
|
target?: string;
|
|
3034
3038
|
/**
|
|
3035
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3039
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3036
3040
|
*/
|
|
3037
3041
|
description: string;
|
|
3038
3042
|
/**
|
|
@@ -3055,7 +3059,7 @@ export interface ProposeSkillsInput {
|
|
|
3055
3059
|
*/
|
|
3056
3060
|
target?: string;
|
|
3057
3061
|
/**
|
|
3058
|
-
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3062
|
+
* One short sentence saying when to use this skill: aim for under 200 characters, never more than 1024, and no angle brackets. Shown on the review card and saved as the skill's description, which is what decides when the skill is used. For an improvement, reuse the existing skill's description unless the change alters when the skill applies.
|
|
3059
3063
|
*/
|
|
3060
3064
|
description: string;
|
|
3061
3065
|
/**
|
|
@@ -3100,9 +3104,13 @@ export interface ArtifactInput {
|
|
|
3100
3104
|
*/
|
|
3101
3105
|
file_path?: string;
|
|
3102
3106
|
/**
|
|
3103
|
-
*
|
|
3107
|
+
* The artifact's emoji: one or two emoji (e.g. "📊"). No markup. Required on a page's first publish; omit on a redeploy (same file path this session, or `url`) to keep the artifact's emoji — pass a new one only when the user asks.
|
|
3104
3108
|
*/
|
|
3105
3109
|
favicon?: string;
|
|
3110
|
+
/**
|
|
3111
|
+
* Optional. One short generic word for the artifact's tab icon, such as chart, calendar, recipe, code or map — a plain signifier, not a product or brand name. Omit when republishing to keep the current icon.
|
|
3112
|
+
*/
|
|
3113
|
+
icon?: string;
|
|
3106
3114
|
/**
|
|
3107
3115
|
* list only: maximum artifacts to return (default 25).
|
|
3108
3116
|
*/
|
|
@@ -3120,7 +3128,7 @@ export interface ArtifactInput {
|
|
|
3120
3128
|
*/
|
|
3121
3129
|
description?: string;
|
|
3122
3130
|
/**
|
|
3123
|
-
* A short name for
|
|
3131
|
+
* A short name for this publish, max 60 chars (e.g. "Draft to legal"). Optional — a few words, not a description.
|
|
3124
3132
|
*/
|
|
3125
3133
|
label?: string;
|
|
3126
3134
|
/**
|
package/sdk.d.ts
CHANGED
|
@@ -241,6 +241,16 @@ export declare type CanUseTool = (toolName: string, input: Record<string, unknow
|
|
|
241
241
|
* read and write access to files in ~/Downloads").
|
|
242
242
|
*/
|
|
243
243
|
description?: string;
|
|
244
|
+
/**
|
|
245
|
+
* The ask must not be approvable by a single stray keystroke: open the
|
|
246
|
+
* prompt on its decline option and offer no one-key approve shortcut.
|
|
247
|
+
*/
|
|
248
|
+
defaultToNo?: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* The ask must not offer a persistent "don't ask again" choice: the
|
|
251
|
+
* rule it would write grants more than this ask's own action.
|
|
252
|
+
*/
|
|
253
|
+
suppressAlwaysAllowRule?: boolean;
|
|
244
254
|
/**
|
|
245
255
|
* Unique identifier for this specific tool call within the assistant message.
|
|
246
256
|
* Multiple tool calls in the same assistant message will have different toolUseIDs.
|
|
@@ -293,11 +303,11 @@ declare type ControlErrorResponse = {
|
|
|
293
303
|
*/
|
|
294
304
|
error: string;
|
|
295
305
|
/**
|
|
296
|
-
*
|
|
306
|
+
* can_use_tool requests this CLI process has issued and not yet resolved, so a client joining an already-initialized session learns about in-flight prompts. Always present (possibly empty) on a success `initialize` response from Claude Code v2.1.268 or later; earlier versions could omit it, so treat absence as an older CLI rather than as "nothing pending". A prompt inherited from a previous worker of the same session can remain answerable without appearing here and without a control_cancel_request; session_state "requires_action" on the same reply signals one the CLI is holding, but not every inherited prompt is signalled.
|
|
297
307
|
*/
|
|
298
308
|
pending_permission_requests?: SDKControlRequest[];
|
|
299
309
|
/**
|
|
300
|
-
* request_user_dialog requests
|
|
310
|
+
* request_user_dialog requests this CLI process has issued and not yet resolved (sibling of pending_permission_requests, with the same inherited-prompt caveat), so a client joining an already-initialized session can re-arm in-flight dialogs. Always present (possibly empty) on a success `initialize` response from Claude Code v2.1.268 or later; earlier versions could omit it, so treat absence as an older CLI rather than as "nothing pending". Receivers must tolerate the same request_id also arriving as a live or replayed control_request frame and render it once.
|
|
301
311
|
*/
|
|
302
312
|
pending_user_dialog_requests?: SDKControlRequest[];
|
|
303
313
|
};
|
|
@@ -316,11 +326,11 @@ declare type ControlResponse = {
|
|
|
316
326
|
*/
|
|
317
327
|
response?: Record<string, unknown>;
|
|
318
328
|
/**
|
|
319
|
-
*
|
|
329
|
+
* can_use_tool requests this CLI process has issued and not yet resolved, so a client joining an already-initialized session learns about in-flight prompts. Always present (possibly empty) on a success `initialize` response from Claude Code v2.1.268 or later; earlier versions could omit it, so treat absence as an older CLI rather than as "nothing pending". A prompt inherited from a previous worker of the same session can remain answerable without appearing here and without a control_cancel_request; session_state "requires_action" on the same reply signals one the CLI is holding, but not every inherited prompt is signalled.
|
|
320
330
|
*/
|
|
321
331
|
pending_permission_requests?: SDKControlRequest[];
|
|
322
332
|
/**
|
|
323
|
-
* request_user_dialog requests
|
|
333
|
+
* request_user_dialog requests this CLI process has issued and not yet resolved (sibling of pending_permission_requests, with the same inherited-prompt caveat), so a client joining an already-initialized session can re-arm in-flight dialogs. Always present (possibly empty) on a success `initialize` response from Claude Code v2.1.268 or later; earlier versions could omit it, so treat absence as an older CLI rather than as "nothing pending". Receivers must tolerate the same request_id also arriving as a live or replayed control_request frame and render it once.
|
|
324
334
|
*/
|
|
325
335
|
pending_user_dialog_requests?: SDKControlRequest[];
|
|
326
336
|
};
|
|
@@ -2814,9 +2824,19 @@ export declare interface Query extends AsyncGenerator<SDKMessage, void> {
|
|
|
2814
2824
|
* Reload plugins from disk and return the refreshed commands, agents,
|
|
2815
2825
|
* plugins, and MCP server status.
|
|
2816
2826
|
*
|
|
2817
|
-
*
|
|
2827
|
+
* With `holdOnCacheImpact`, the CLI first runs the check the interactive
|
|
2828
|
+
* /reload-plugins makes: when applying would change the session's tool
|
|
2829
|
+
* list while the conversation's prompt cache depends on it, nothing is
|
|
2830
|
+
* applied and the response carries `held: true` with `cache_impact`
|
|
2831
|
+
* describing what applying would change; call again without the option
|
|
2832
|
+
* to apply anyway.
|
|
2833
|
+
*
|
|
2834
|
+
* @returns The refreshed session components after plugin reload, or the
|
|
2835
|
+
* unchanged ones with `held: true` when the reload was held
|
|
2818
2836
|
*/
|
|
2819
|
-
reloadPlugins(
|
|
2837
|
+
reloadPlugins(options?: {
|
|
2838
|
+
holdOnCacheImpact?: boolean;
|
|
2839
|
+
}): Promise<SDKControlReloadPluginsResponse>;
|
|
2820
2840
|
/**
|
|
2821
2841
|
* Reload skills from disk and return the refreshed skill list.
|
|
2822
2842
|
*
|
|
@@ -3328,13 +3348,17 @@ export declare type SDKAssistantMessage = {
|
|
|
3328
3348
|
session_id: string;
|
|
3329
3349
|
request_id?: string;
|
|
3330
3350
|
/**
|
|
3331
|
-
* Client uuid of the user message this turn is answering (submitMessage options.uuid), stamped on a reply frame each time that send changes — the turn's FIRST reply frame, and then, for a turn started by a synthetic (meta) prompt, the first reply frame after each queued user message folded in mid-turn takes the echo over. In complete-message mode the frame is the first assistant message; with --include-partial-messages the stamp normally rides the first non-ping stream event instead (see SDKPartialAssistantMessage), and a turn that produces no stream events still stamps its first assistant message — so a consumer can bind the reply to the send it answers without waiting for the result; the server keeps the first stamp it sees per uuid. A turn started by a typed prompt keeps that uuid for its whole turn, so it stamps its first reply frame only. A meta turn's own uuid is stamped only when the host vouches it is the client event's own (on a hosted session, the uuid the session server persisted: delivered content such as a Slack owner ping, a Slack-bot observation or a client-injected synthetic turn), never for a prompt the CLI minted itself
|
|
3351
|
+
* Client uuid of the user message this turn is answering (submitMessage options.uuid), stamped on a reply frame each time that send changes — the turn's FIRST reply frame, and then, for a turn started by a synthetic (meta) prompt, the first reply frame after each queued user message folded in mid-turn takes the echo over. In complete-message mode the frame is the first assistant message; with --include-partial-messages the stamp normally rides the first non-ping stream event instead (see SDKPartialAssistantMessage), and a turn that produces no stream events still stamps its first assistant message — so a consumer can bind the reply to the send it answers without waiting for the result; the server keeps the first stamp it sees per uuid. A turn started by a typed prompt keeps that uuid for its whole turn, so it stamps its first reply frame only. A meta turn's own uuid is stamped only when the host vouches it is the client event's own (on a hosted session, the uuid the session server persisted: delivered content such as a Slack owner ping, a Slack-bot observation or a client-injected synthetic turn), never for a prompt the CLI minted itself — except that the boot-time rescue turn re-running a turn a worker restart interrupted mid-way stamps the interrupted turn's own last user prompt (with resume_reason), the send that re-run answers; either way a user message folded into a meta turn takes the echo over from it (the rescue turn absorbing messages sent while the session was down; a bot-observation turn absorbing a human's post), and the first reply frame after that fold carries the folded message's uuid — the first reply that message got. Wrapper-level sibling — never inside `message.content` — so it is not replayed to the model. Absent on every other frame of the turn, on subagent frames (parent_tool_use_id set), on turns that neither had a client uuid nor folded a user message in, and from older producers.
|
|
3332
3352
|
*/
|
|
3333
3353
|
user_message_uuid?: string;
|
|
3334
3354
|
/**
|
|
3335
3355
|
* Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), then any user message folded into the turn before this frame — so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same frames; absent from older producers (fall back to user_message_uuid).
|
|
3336
3356
|
*/
|
|
3337
3357
|
user_message_uuids?: string[];
|
|
3358
|
+
/**
|
|
3359
|
+
* Why this frame's turn is the automatic re-run of a turn a worker restart interrupted (CLAUDE_CODE_RESUME_INTERRUPTED_TURN): the host's CLAUDE_CODE_RESUME_REASON when it set one (host_draining, checkpoint_restore, container_recreated, …), else 'interrupted_turn'. Stamped on the same reply frames as user_message_uuid (which on such a re-run names the interrupted turn's own last user prompt), so a consumer can tell the re-run's first reply from the interrupted attempt's. Absent on every other turn, on thinking_tokens frames, and from older producers.
|
|
3360
|
+
*/
|
|
3361
|
+
resume_reason?: string;
|
|
3338
3362
|
/**
|
|
3339
3363
|
* This turn continued the preceding truncated assistant turn inside its trailing signed thinking block (max-output-tokens recovery). Its thinking signatures are cumulative over that preceding thinking-only turn, so a history replayed through the bridge must carry this flag back for the normalizer to keep the run's prefix on the wire. Wrapper-level sibling — never inside `message.content` — so it is not replayed to the model.
|
|
3340
3364
|
*/
|
|
@@ -3383,7 +3407,7 @@ export declare type SDKAssistantMessage = {
|
|
|
3383
3407
|
|
|
3384
3408
|
};
|
|
3385
3409
|
|
|
3386
|
-
export declare type SDKAssistantMessageError = 'authentication_failed' | 'oauth_org_not_allowed' | 'account_on_hold' | 'billing_error' | 'rate_limit' | 'overloaded' | 'invalid_request' | 'model_not_found' | 'server_error' | 'unknown' | 'max_output_tokens';
|
|
3410
|
+
export declare type SDKAssistantMessageError = 'authentication_failed' | 'oauth_org_not_allowed' | 'account_on_hold' | 'verification_required' | 'billing_error' | 'rate_limit' | 'overloaded' | 'invalid_request' | 'model_not_found' | 'server_error' | 'unknown' | 'max_output_tokens' | 'cloud_credential_error';
|
|
3387
3411
|
|
|
3388
3412
|
export declare type SDKAuthStatusMessage = {
|
|
3389
3413
|
type: 'auth_status';
|
|
@@ -3644,6 +3668,10 @@ export declare type SDKControlGetContextUsageResponse = {
|
|
|
3644
3668
|
tokens: number;
|
|
3645
3669
|
color: string;
|
|
3646
3670
|
isDeferred?: boolean;
|
|
3671
|
+
/**
|
|
3672
|
+
* What the row is, the same classification the /context result's context_usage rows carry: 'used' content occupies the window; 'free' is the remaining window; 'buffer' is the compaction reserve; 'deferred' rows are out-of-window tool schemas. Classify on this, never on the English name.
|
|
3673
|
+
*/
|
|
3674
|
+
kind: 'used' | 'free' | 'buffer' | 'deferred';
|
|
3647
3675
|
}[];
|
|
3648
3676
|
totalTokens: number;
|
|
3649
3677
|
maxTokens: number;
|
|
@@ -4054,6 +4082,7 @@ export declare type SDKControlInitializeResponse = {
|
|
|
4054
4082
|
agents: coreTypes.AgentInfo[];
|
|
4055
4083
|
output_style: string;
|
|
4056
4084
|
available_output_styles: string[];
|
|
4085
|
+
|
|
4057
4086
|
models: coreTypes.ModelInfo[];
|
|
4058
4087
|
|
|
4059
4088
|
/**
|
|
@@ -4263,6 +4292,7 @@ declare type SDKControlPermissionRequest = {
|
|
|
4263
4292
|
* True when one-tap Approve/Deny must not be offered: the tool's approval card IS the user-interaction surface (Tool.requiresUserInteraction() — the user responds on the card itself), OR the pending ask is localDisplayOnly (its consent disclosure cannot ride this wire and only the local dialog renders it). Either way the user has to open the session to answer.
|
|
4264
4293
|
*/
|
|
4265
4294
|
requires_user_interaction?: boolean;
|
|
4295
|
+
|
|
4266
4296
|
};
|
|
4267
4297
|
|
|
4268
4298
|
/**
|
|
@@ -4321,6 +4351,10 @@ export declare type SDKControlReloadOutputStylesResponse = {
|
|
|
4321
4351
|
*/
|
|
4322
4352
|
declare type SDKControlReloadPluginsRequest = {
|
|
4323
4353
|
subtype: 'reload_plugins';
|
|
4354
|
+
/**
|
|
4355
|
+
* When true, the reload is not applied if applying it would change the session's tool list while the conversation's prompt cache depends on that list (the same check the interactive /reload-plugins makes before it asks for --force): the response then carries held: true and cache_impact, and the session keeps its current plugins. Default false: apply unconditionally.
|
|
4356
|
+
*/
|
|
4357
|
+
hold_on_cache_impact?: boolean;
|
|
4324
4358
|
};
|
|
4325
4359
|
|
|
4326
4360
|
/**
|
|
@@ -4340,6 +4374,18 @@ export declare type SDKControlReloadPluginsResponse = {
|
|
|
4340
4374
|
}[];
|
|
4341
4375
|
mcpServers: coreTypes.McpServerStatus[];
|
|
4342
4376
|
error_count: number;
|
|
4377
|
+
/**
|
|
4378
|
+
* Present only when the request asked to hold on cache impact and this CLI ran the check. True: the reload was not applied, the lists above describe the session as it still is, and cache_impact says what applying would change. False: the check found no impact and the reload was applied. Absent: the request did not ask, or the CLI predates the option and applied the reload unchecked.
|
|
4379
|
+
*/
|
|
4380
|
+
held?: boolean;
|
|
4381
|
+
/**
|
|
4382
|
+
* What applying the held reload would change in the session's tool list: plugin MCP servers it would register or drop (scoped plugin:<plugin>:<server> names, plugin-authored — validate before showing) and whether it would add or remove the LSP tool (the may- forms mean the preview could not fully see the pending plugin set). Present only with held: true.
|
|
4383
|
+
*/
|
|
4384
|
+
cache_impact?: {
|
|
4385
|
+
mcp_servers_added: string[];
|
|
4386
|
+
mcp_servers_removed: string[];
|
|
4387
|
+
lsp_tool_change: ('adds' | 'may-add' | 'removes' | 'may-remove') | null;
|
|
4388
|
+
};
|
|
4343
4389
|
};
|
|
4344
4390
|
|
|
4345
4391
|
/**
|
|
@@ -4867,6 +4913,10 @@ export declare type SDKPartialAssistantMessage = {
|
|
|
4867
4913
|
* Client uuids of every user message whose prompt this turn has consumed so far, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), then any user message folded into the turn before this frame — so a consumer that sent any of them can bind this reply to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries. Present exactly when user_message_uuid is, on the same frames; absent from older producers (fall back to user_message_uuid).
|
|
4868
4914
|
*/
|
|
4869
4915
|
user_message_uuids?: string[];
|
|
4916
|
+
/**
|
|
4917
|
+
* Why this frame's turn is the automatic re-run of a turn a worker restart interrupted (CLAUDE_CODE_RESUME_INTERRUPTED_TURN): the host's CLAUDE_CODE_RESUME_REASON when it set one (host_draining, checkpoint_restore, container_recreated, …), else 'interrupted_turn'. Stamped on the same reply frames as user_message_uuid (which on such a re-run names the interrupted turn's own last user prompt), so a consumer can tell the re-run's first reply from the interrupted attempt's. Absent on every other turn, on thinking_tokens frames, and from older producers.
|
|
4918
|
+
*/
|
|
4919
|
+
resume_reason?: string;
|
|
4870
4920
|
};
|
|
4871
4921
|
|
|
4872
4922
|
export declare type SDKPermissionDenial = {
|
|
@@ -4975,6 +5025,10 @@ export declare type SDKRateLimitInfo = {
|
|
|
4975
5025
|
|
|
4976
5026
|
|
|
4977
5027
|
|
|
5028
|
+
/**
|
|
5029
|
+
* Which spend limit blocked the request when it is not the member's own cap: 'group_pool' means a pooled group budget shared by the member's team is used up (the denial otherwise looks like the member's own monthly cap). Absent on a plain member denial and from older CLIs.
|
|
5030
|
+
*/
|
|
5031
|
+
limitScope?: 'service' | 'channel' | 'group_pool';
|
|
4978
5032
|
errorCode?: 'credits_required';
|
|
4979
5033
|
canUserPurchaseCredits?: boolean;
|
|
4980
5034
|
hasChargeableSavedPaymentMethod?: boolean;
|
|
@@ -5016,7 +5070,15 @@ export declare type SDKResultError = {
|
|
|
5016
5070
|
* Client uuids of every user message whose prompt this turn consumed, in consumption order — all members of a prompt batch the host merged into this one turn (several messages sent close together run as one turn whose user_message_uuid is the LAST member's), then any queued user message folded into the running turn between tool rounds, once taken off the queue — so a consumer that sent any of them can bind this result to its own send by finding its uuid anywhere in the list. Always contains user_message_uuid; at most 64 entries; can be longer than the list on the turn's first reply frame. Present when a headless turn that ran echoes user_message_uuid; absent on delivery-failure and zeroed results and from older producers (fall back to user_message_uuid).
|
|
5017
5071
|
*/
|
|
5018
5072
|
user_message_uuids?: string[];
|
|
5073
|
+
/**
|
|
5074
|
+
* Why this turn was the automatic re-run of a turn a worker restart interrupted (CLAUDE_CODE_RESUME_INTERRUPTED_TURN): the host's CLAUDE_CODE_RESUME_REASON when it set one (host_draining, checkpoint_restore, container_recreated, …), else 'interrupted_turn'. Present on a headless re-run's result, success or error, with or without an echo (a re-run whose opener could not be vouched still carries the reason); absent on every other turn, on the Remote Control bridge's per-turn synthetic results, and from older producers.
|
|
5075
|
+
*/
|
|
5076
|
+
resume_reason?: string;
|
|
5019
5077
|
terminal_reason?: TerminalReason;
|
|
5078
|
+
/**
|
|
5079
|
+
* Delivery sequence of this result within the run: how many results the run numbered before this one, starting at 0, in the order the process writes them. A result held back while background work finishes is numbered when it is finally written, not when its text was produced; a result whose write fails still consumes its number, so a gap in a stream-json sequence means a result was lost. Distinct from num_turns, which counts model round-trips within one turn. Numbered by the process that hosts the run (`claude -p`, stream-json): a local client relaying a cloud session passes the cloud session's numbering through and its own locally built error results carry none; the in-process engine surface does not number yet. Absent from older producers.
|
|
5080
|
+
*/
|
|
5081
|
+
result_index?: number;
|
|
5020
5082
|
fast_mode_state?: FastModeState;
|
|
5021
5083
|
fast_mode_disabled_reason?: FastModeDisabledReason;
|
|
5022
5084
|
origin?: SDKMessageOrigin;
|
|
@@ -5039,6 +5101,8 @@ export declare type SDKResultSuccess = {
|
|
|
5039
5101
|
time_to_request_ms?: number;
|
|
5040
5102
|
user_message_uuid?: string;
|
|
5041
5103
|
user_message_uuids?: string[];
|
|
5104
|
+
resume_reason?: string;
|
|
5105
|
+
local_command?: string;
|
|
5042
5106
|
request_sent_wall_ms?: number;
|
|
5043
5107
|
first_content_frame_ms?: number;
|
|
5044
5108
|
first_stream_post_ms?: number;
|
|
@@ -5073,6 +5137,10 @@ export declare type SDKResultSuccess = {
|
|
|
5073
5137
|
structured_output?: unknown;
|
|
5074
5138
|
deferred_tool_use?: SDKDeferredToolUse;
|
|
5075
5139
|
terminal_reason?: TerminalReason;
|
|
5140
|
+
/**
|
|
5141
|
+
* Delivery sequence of this result within the run: how many results the run numbered before this one, starting at 0, in the order the process writes them. A result held back while background work finishes is numbered when it is finally written, not when its text was produced; a result whose write fails still consumes its number, so a gap in a stream-json sequence means a result was lost. Distinct from num_turns, which counts model round-trips within one turn. Numbered by the process that hosts the run (`claude -p`, stream-json): a local client relaying a cloud session passes the cloud session's numbering through and its own locally built error results carry none; the in-process engine surface does not number yet. Absent from older producers.
|
|
5142
|
+
*/
|
|
5143
|
+
result_index?: number;
|
|
5076
5144
|
fast_mode_state?: FastModeState;
|
|
5077
5145
|
fast_mode_disabled_reason?: FastModeDisabledReason;
|
|
5078
5146
|
origin?: SDKMessageOrigin;
|
|
@@ -6472,6 +6540,14 @@ export declare interface Settings {
|
|
|
6472
6540
|
[k: string]: unknown;
|
|
6473
6541
|
};
|
|
6474
6542
|
};
|
|
6543
|
+
/**
|
|
6544
|
+
* Managed plugins (plugin\@marketplace ids that managed enabledPlugins sets true) whose hooks run first, outermost, in the listed order: the first id listed sees every event before any other plugin and every result after it. Managed plugins not listed here or in appendPlugins follow the listed ones; user, project and marketplace plugins come after those; then appendPlugins; then the built-in plugins. The bundled sec-default\@builtin seats itself outermost (on a machine with managed settings and for Team and Enterprise organizations) unless this list is set, in which case list sec-default\@builtin where it should sit or leave it out. Any other id that is not an enabled managed plugin is skipped; an id listed in both keys is prepended. Only honored from managed settings (or, on a machine with none, from user settings for your own plugins); ignored in project, local and --settings sources.
|
|
6545
|
+
*/
|
|
6546
|
+
prependPlugins?: string[];
|
|
6547
|
+
/**
|
|
6548
|
+
* Managed plugins (plugin\@marketplace ids that managed enabledPlugins sets true) whose hooks run last among plugins, innermost, in the listed order: the last id listed sits just above the built-in plugins and sees each event as every other plugin left it. Only honored from managed settings (or, on a machine with none, from user settings for your own plugins); ignored in project, local and --settings sources.
|
|
6549
|
+
*/
|
|
6550
|
+
appendPlugins?: string[];
|
|
6475
6551
|
/**
|
|
6476
6552
|
* Additional marketplaces to make available for this repository. Typically used in repository .claude/settings.json to ensure team members have required plugin sources.
|
|
6477
6553
|
*/
|
|
@@ -7667,12 +7743,16 @@ export declare interface Settings {
|
|
|
7667
7743
|
* Cloud gateway URL to pre-fill and auto-connect to during login, alongside forceLoginMethod: "gateway". Honored only from admin-controlled managed settings (MDM / managed-settings.json / policy helper); ignored in user, project, and remote-delivered settings.
|
|
7668
7744
|
*/
|
|
7669
7745
|
forceLoginGatewayUrl?: string;
|
|
7746
|
+
/**
|
|
7747
|
+
* IPv4 CIDR blocks (at most 4, each /8 to /32, not overlapping) your Cloud gateway sits in: the public block your organization numbers its internal network from, which lets /login reach a gateway there. A block must lie entirely outside private space, where /login accepts a gateway without this key. /login accepts a gateway inside a listed block over a direct connection only, and only when this machine's own address on that connection is inside the same block, so /login must happen from a machine whose own address is inside the block (not through a proxy, VPN pool, container or NAT segment outside it). A bar against copied settings files, not proof of location. Honored only from admin-controlled managed settings (MDM / managed-settings.json / policy helper); ignored in user, project, and remote-delivered settings.
|
|
7748
|
+
*/
|
|
7749
|
+
gatewayInternalNetworks?: string[];
|
|
7670
7750
|
/**
|
|
7671
7751
|
* Controls whether the SDK parent tier (Options.managedSettings / --managed-settings) layers under this admin tier. "first-wins" (default): parent is dropped — admin tiers are the only policy source. "merge": parent's restrictive-only-filtered settings union under the admin winner. Has no effect when no admin tier exists (parent applies as the sole policy tier, still filtered restrictive-only).
|
|
7672
7752
|
*/
|
|
7673
7753
|
parentSettingsBehavior?: 'first-wins' | 'merge';
|
|
7674
7754
|
/**
|
|
7675
|
-
* Controls how the managed settings sources compose. "first-wins" (default): the highest-priority source present (server-managed > MDM (managed plist / HKLM) > managed-settings.json) is the managed tier alone. "merge": every present source deep-merges with fixed precedence server-managed > MDM > managed-settings.json — scalars take the highest source's value (a restrictive boolean or enum — the allowManaged*Only locks, the disable* switches, the sandbox lock family — takes the strictest value any source sets) and arrays union, except fallbackModel, the restriction allowlists allowedMcpServers, availableModels, strictKnownMarketplaces and allowedChannelPlugins, and sandbox.credentials.awsPairs and sandbox.ripgrep (the highest source that sets one owns it whole), modelOverrides (the whole map of the highest source that sets it, dropped when that source sits below the one that sets availableModels), managedMcpServers (server names union; a name set by two sources takes the higher source's whole entry), and the keys taken from the highest source only: the auth pins forceLoginOrgUUID, forceLoginMethod and
|
|
7755
|
+
* Controls how the managed settings sources compose. "first-wins" (default): the highest-priority source present (server-managed > MDM (managed plist / HKLM) > managed-settings.json) is the managed tier alone. "merge": every present source deep-merges with fixed precedence server-managed > MDM > managed-settings.json — scalars take the highest source's value (a restrictive boolean or enum — the allowManaged*Only locks, the disable* switches, the sandbox lock family — takes the strictest value any source sets) and arrays union, except fallbackModel, the restriction allowlists allowedMcpServers, availableModels, strictKnownMarketplaces and allowedChannelPlugins, and sandbox.credentials.awsPairs and sandbox.ripgrep (the highest source that sets one owns it whole), modelOverrides (the whole map of the highest source that sets it, dropped when that source sits below the one that sets availableModels), managedMcpServers (server names union; a name set by two sources takes the higher source's whole entry), and the keys taken from the highest source only: the auth pins forceLoginOrgUUID, forceLoginMethod, forceLoginGatewayUrl and gatewayInternalNetworks, the credential helpers apiKeyHelper, awsAuthRefresh, awsCredentialExport, gcpAuthRefresh, otelHeadersHelper and proxyAuthHelper, modelPicker, permissions.defaultMode, parentSettingsBehavior and the policyHelper configuration (env keeps its own per-key union). Honored only from the highest-priority source present; enable it only when every lower source is admin-controlled, since lower sources then contribute entries such as permissions.allow. HKCU and --managed-settings never take part in the merge.
|
|
7676
7756
|
*/
|
|
7677
7757
|
managedSourcesBehavior?: 'first-wins' | 'merge';
|
|
7678
7758
|
/**
|
|
@@ -8000,6 +8080,10 @@ export declare interface Settings {
|
|
|
8000
8080
|
* Persisted effort level for supported models.
|
|
8001
8081
|
*/
|
|
8002
8082
|
effortLevel?: 'low' | 'medium' | 'high' | 'xhigh';
|
|
8083
|
+
/**
|
|
8084
|
+
* Maximum effort level. Anything above it (an /effort or /model pick, --effort, CLAUDE_CODE_EFFORT_LEVEL, a model default) is clamped to it, on every provider including Bedrock, Vertex and Foundry. Combines with an organization's per-model effort cap by taking the lower of the two; across settings files the lowest value wins, and modelSettings.<model>.maxEffortLevel replaces it per model. Enforced client-side: an effort supplied through CLAUDE_CODE_EXTRA_BODY is not clamped.
|
|
8085
|
+
*/
|
|
8086
|
+
maxEffortLevel?: 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
8003
8087
|
/**
|
|
8004
8088
|
* Per-model settings keyed by canonical model name.
|
|
8005
8089
|
*/
|
|
@@ -8009,6 +8093,10 @@ export declare interface Settings {
|
|
|
8009
8093
|
* Persisted effort level for this model.
|
|
8010
8094
|
*/
|
|
8011
8095
|
effortLevel?: 'low' | 'medium' | 'high' | 'xhigh';
|
|
8096
|
+
/**
|
|
8097
|
+
* Maximum effort level for this model. Within one settings file it replaces the top-level maxEffortLevel for the model ("max" exempts it); across settings files the lowest applicable value wins. Keyed like effortLevel: the canonical model name also matches its dated, [1m], Bedrock and Vertex spellings.
|
|
8098
|
+
*/
|
|
8099
|
+
maxEffortLevel?: 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
8012
8100
|
[k: string]: unknown;
|
|
8013
8101
|
};
|
|
8014
8102
|
};
|
|
@@ -8688,6 +8776,7 @@ export declare type ToolConfig = {
|
|
|
8688
8776
|
*/
|
|
8689
8777
|
previewFormat?: 'markdown' | 'html';
|
|
8690
8778
|
|
|
8779
|
+
|
|
8691
8780
|
};
|
|
8692
8781
|
};
|
|
8693
8782
|
|
|
@@ -8722,6 +8811,14 @@ export declare interface Transport {
|
|
|
8722
8811
|
* control_responses matching this id — only the worker may answer.
|
|
8723
8812
|
*/
|
|
8724
8813
|
expectControlResponse?(requestId: string): void;
|
|
8814
|
+
/**
|
|
8815
|
+
* Called by Query immediately before it yields `message` to the SDK
|
|
8816
|
+
* consumer. Transports that keep a consumer-facing delivery cursor
|
|
8817
|
+
* (BrowserSSETransport's getLastSequenceNum()) advance it here, so the
|
|
8818
|
+
* cursor covers exactly the messages the consumer was handed — not ones
|
|
8819
|
+
* still buffered between the transport and the consumer.
|
|
8820
|
+
*/
|
|
8821
|
+
markDelivered?(message: object): void;
|
|
8725
8822
|
/**
|
|
8726
8823
|
* End the input stream
|
|
8727
8824
|
*/
|