@anthropic-ai/claude-agent-sdk 0.3.241 → 0.3.243
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 +71 -71
- package/browser-sdk.js +48 -48
- package/manifest.json +20 -22
- package/manifest.zst.json +24 -26
- package/package.json +10 -10
- package/sdk-tools.d.ts +75 -4
- package/sdk.d.ts +76 -8
- package/sdk.mjs +76 -74
package/manifest.json
CHANGED
|
@@ -1,54 +1,51 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-08-
|
|
2
|
+
"version": "2.1.243",
|
|
3
|
+
"commit": "8565f923a3ec61dc4c61bf7bfd995521c702c9fc",
|
|
4
|
+
"buildDate": "2026-08-24T21:17:40Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "1f72dc749e59d1e8b1aa0ecdc2b3a65e599698af9087be4ac1054f57602c304d",
|
|
9
|
+
"size": 361529696
|
|
10
10
|
},
|
|
11
11
|
"darwin-x64": {
|
|
12
12
|
"binary": "claude",
|
|
13
|
-
"checksum": "
|
|
14
|
-
"size":
|
|
13
|
+
"checksum": "37104a799bffa316fdfe6d4e99855031ad9bb5193d0d8e7e3bbb02ee4f33119f",
|
|
14
|
+
"size": 370454352
|
|
15
15
|
},
|
|
16
16
|
"linux-arm64": {
|
|
17
17
|
"binary": "claude",
|
|
18
|
-
"checksum": "
|
|
19
|
-
"size":
|
|
18
|
+
"checksum": "de5c21631e079b78c0b98f02a6a556acb37908425f4b80d7348cf3cd86ea5236",
|
|
19
|
+
"size": 377085072
|
|
20
20
|
},
|
|
21
21
|
"linux-x64": {
|
|
22
22
|
"binary": "claude",
|
|
23
|
-
"checksum": "
|
|
24
|
-
"size":
|
|
23
|
+
"checksum": "4b0dafeedd0b469c41988e200036fd773e7553ba960349c9f02a82c6d1f2ba27",
|
|
24
|
+
"size": 377568472
|
|
25
25
|
},
|
|
26
26
|
"linux-arm64-musl": {
|
|
27
27
|
"binary": "claude",
|
|
28
|
-
"checksum": "
|
|
29
|
-
"size":
|
|
28
|
+
"checksum": "e643408878084f6e0c1c460f20b3405699bab1a66b3f63e50c1868bef12d64ae",
|
|
29
|
+
"size": 369964608
|
|
30
30
|
},
|
|
31
31
|
"linux-x64-musl": {
|
|
32
32
|
"binary": "claude",
|
|
33
|
-
"checksum": "
|
|
34
|
-
"size":
|
|
33
|
+
"checksum": "9e10f7c2b42e4a6ff22d49bf88151d6b4ad7a034deb90554e28174196189fe08",
|
|
34
|
+
"size": 371500808
|
|
35
35
|
},
|
|
36
36
|
"win32-x64": {
|
|
37
37
|
"binary": "claude.exe",
|
|
38
|
-
"checksum": "
|
|
39
|
-
"size":
|
|
38
|
+
"checksum": "895a32a66e8a35a85fc7b9488e9858387cfd96829efda0cab96d14ba8e28c200",
|
|
39
|
+
"size": 370827424
|
|
40
40
|
},
|
|
41
41
|
"win32-arm64": {
|
|
42
42
|
"binary": "claude.exe",
|
|
43
|
-
"checksum": "
|
|
44
|
-
"size":
|
|
43
|
+
"checksum": "600cd1d6817f2ba5f8340e2d50876c79430fba0947874e99a7cd2c9fc1c88ece",
|
|
44
|
+
"size": 360182944
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"sdkCompat": {
|
|
48
48
|
"testedWrapperVersions": [
|
|
49
|
-
"0.3.204",
|
|
50
|
-
"0.3.205",
|
|
51
|
-
"0.3.206",
|
|
52
49
|
"0.3.207",
|
|
53
50
|
"0.3.208",
|
|
54
51
|
"0.3.209",
|
|
@@ -66,6 +63,7 @@
|
|
|
66
63
|
"0.3.222",
|
|
67
64
|
"0.3.223",
|
|
68
65
|
"0.3.224",
|
|
66
|
+
"0.3.225",
|
|
69
67
|
"0.3.226",
|
|
70
68
|
"0.3.227"
|
|
71
69
|
],
|
package/manifest.zst.json
CHANGED
|
@@ -1,62 +1,59 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-08-
|
|
2
|
+
"version": "2.1.243",
|
|
3
|
+
"commit": "8565f923a3ec61dc4c61bf7bfd995521c702c9fc",
|
|
4
|
+
"buildDate": "2026-08-24T21:19:43Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude.zst",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "773eefe08fa510cf546353a01bf4809222487937e44873c9f29292e3b4285dfd",
|
|
9
|
+
"size": 75209294,
|
|
10
10
|
"bundle": {
|
|
11
|
-
"checksum": "
|
|
12
|
-
"size":
|
|
11
|
+
"checksum": "85e893c690b8a43f7f88a4e16b263af780ac9b443bbb40ecaf71800e94b56660",
|
|
12
|
+
"size": 75207654
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"darwin-x64": {
|
|
16
16
|
"binary": "claude.zst",
|
|
17
|
-
"checksum": "
|
|
18
|
-
"size":
|
|
17
|
+
"checksum": "f2b3ae356b8842861d484d8da5ab70571418495c8e04a5b8c154ea12a3abfef6",
|
|
18
|
+
"size": 79734686,
|
|
19
19
|
"bundle": {
|
|
20
|
-
"checksum": "
|
|
21
|
-
"size":
|
|
20
|
+
"checksum": "b2add43cc7882ac6137dad8ee108599b866c40a57ec94f871666e4b1398305de",
|
|
21
|
+
"size": 79732042
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"linux-arm64": {
|
|
25
25
|
"binary": "claude.zst",
|
|
26
|
-
"checksum": "
|
|
27
|
-
"size":
|
|
26
|
+
"checksum": "62c27c3af281c20c628a187c1bfe39f32f861404550d9dcabae247e7594e9d9c",
|
|
27
|
+
"size": 84387988
|
|
28
28
|
},
|
|
29
29
|
"linux-x64": {
|
|
30
30
|
"binary": "claude.zst",
|
|
31
|
-
"checksum": "
|
|
32
|
-
"size":
|
|
31
|
+
"checksum": "d0640bf2ef7331051d59119d98c6f8381d9d81f8a9da2a5a8873fadbaa51e670",
|
|
32
|
+
"size": 84658246
|
|
33
33
|
},
|
|
34
34
|
"linux-arm64-musl": {
|
|
35
35
|
"binary": "claude.zst",
|
|
36
|
-
"checksum": "
|
|
37
|
-
"size":
|
|
36
|
+
"checksum": "d527c593a07937a4fa2cbe3eb482c8d2f3578b2106aa40856736e7c788b01a59",
|
|
37
|
+
"size": 82637291
|
|
38
38
|
},
|
|
39
39
|
"linux-x64-musl": {
|
|
40
40
|
"binary": "claude.zst",
|
|
41
|
-
"checksum": "
|
|
42
|
-
"size":
|
|
41
|
+
"checksum": "fd7af21b3e18d73161376054e8f23c20fc662fe4285befffe488b57ea4fd2571",
|
|
42
|
+
"size": 83481201
|
|
43
43
|
},
|
|
44
44
|
"win32-x64": {
|
|
45
45
|
"binary": "claude.exe.zst",
|
|
46
|
-
"checksum": "
|
|
47
|
-
"size":
|
|
46
|
+
"checksum": "6b2e8e6274d4b2eb3d2b5088163caf9117dc60dab46227ca9e7065bc12e72d7a",
|
|
47
|
+
"size": 86411851
|
|
48
48
|
},
|
|
49
49
|
"win32-arm64": {
|
|
50
50
|
"binary": "claude.exe.zst",
|
|
51
|
-
"checksum": "
|
|
52
|
-
"size":
|
|
51
|
+
"checksum": "9829ebcfbfad320934429c259afdb8f245c281af6f73e423088f7188600d9e47",
|
|
52
|
+
"size": 83255622
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"sdkCompat": {
|
|
56
56
|
"testedWrapperVersions": [
|
|
57
|
-
"0.3.204",
|
|
58
|
-
"0.3.205",
|
|
59
|
-
"0.3.206",
|
|
60
57
|
"0.3.207",
|
|
61
58
|
"0.3.208",
|
|
62
59
|
"0.3.209",
|
|
@@ -74,6 +71,7 @@
|
|
|
74
71
|
"0.3.222",
|
|
75
72
|
"0.3.223",
|
|
76
73
|
"0.3.224",
|
|
74
|
+
"0.3.225",
|
|
77
75
|
"0.3.226",
|
|
78
76
|
"0.3.227"
|
|
79
77
|
],
|
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.243",
|
|
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.243",
|
|
61
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.243",
|
|
62
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.243",
|
|
63
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.243",
|
|
64
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.243",
|
|
65
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.243",
|
|
66
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.243",
|
|
67
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.243"
|
|
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.243"
|
|
84
84
|
}
|
package/sdk-tools.d.ts
CHANGED
|
@@ -103,6 +103,22 @@ export type ToolOutputSchemas =
|
|
|
103
103
|
export type AgentOutput =
|
|
104
104
|
| {
|
|
105
105
|
agentId: string;
|
|
106
|
+
/**
|
|
107
|
+
* @internal Count of leading harness-authored content blocks (hand-back provenance bookkeeping; not a stable consumer field)
|
|
108
|
+
*/
|
|
109
|
+
harnessNoteCount?: number;
|
|
110
|
+
/**
|
|
111
|
+
* @internal Count of trailing harness-authored content blocks (hand-back provenance bookkeeping; not a stable consumer field)
|
|
112
|
+
*/
|
|
113
|
+
harnessTailCount?: number;
|
|
114
|
+
/**
|
|
115
|
+
* @internal Fingerprint binding the harness section counts to the exact content they were computed against; a hook rewrite invalidates the counts rather than misplacing rewritten bytes
|
|
116
|
+
*/
|
|
117
|
+
harnessSectionHash?: string;
|
|
118
|
+
/**
|
|
119
|
+
* @internal The handoff review was skipped because the provenance frame covers this delivery (tengu_auto_mode_config.classifyHandoff: false); the tool_result mapper MUST compose the frame when set, regardless of a fresh flag read
|
|
120
|
+
*/
|
|
121
|
+
handoffReviewSkipped?: boolean;
|
|
106
122
|
agentType?: string;
|
|
107
123
|
content: {
|
|
108
124
|
type: "text";
|
|
@@ -234,6 +250,13 @@ export type FileReadOutput =
|
|
|
234
250
|
*/
|
|
235
251
|
truncatedByTokenCap?: boolean;
|
|
236
252
|
};
|
|
253
|
+
/**
|
|
254
|
+
* Set when this Read completed a saved Artifact source file: the Artifact and the version of it that now counts as viewed.
|
|
255
|
+
*/
|
|
256
|
+
artifactRead?: {
|
|
257
|
+
slug: string;
|
|
258
|
+
ver: string;
|
|
259
|
+
};
|
|
237
260
|
}
|
|
238
261
|
| {
|
|
239
262
|
type: "image";
|
|
@@ -323,6 +346,27 @@ export type FileReadOutput =
|
|
|
323
346
|
*/
|
|
324
347
|
outputDir: string;
|
|
325
348
|
};
|
|
349
|
+
/**
|
|
350
|
+
* Document page number of the first extracted page (1 when no range was requested); labels the page images in the model-facing tool_result
|
|
351
|
+
*/
|
|
352
|
+
firstPage?: number;
|
|
353
|
+
/**
|
|
354
|
+
* Extracted page images, in page order. Present only transiently in-process: the page image bytes are delivered solely as image blocks in the model-facing tool_result content and are not retained on the tool_use_result, so this key is absent on the emitted/persisted result
|
|
355
|
+
*/
|
|
356
|
+
pages?: {
|
|
357
|
+
/**
|
|
358
|
+
* Base64-encoded page image; empty when the page could not be processed
|
|
359
|
+
*/
|
|
360
|
+
base64: string;
|
|
361
|
+
/**
|
|
362
|
+
* The MIME type of the image
|
|
363
|
+
*/
|
|
364
|
+
mediaType: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
|
|
365
|
+
/**
|
|
366
|
+
* Why the page could not be processed as an image; set only when base64 is empty
|
|
367
|
+
*/
|
|
368
|
+
error?: string;
|
|
369
|
+
}[];
|
|
326
370
|
}
|
|
327
371
|
| {
|
|
328
372
|
type: "file_unchanged";
|
|
@@ -455,6 +499,7 @@ export type ArtifactOutput =
|
|
|
455
499
|
trigger_id?: string;
|
|
456
500
|
durable_since?: string;
|
|
457
501
|
status?: number;
|
|
502
|
+
detail?: string;
|
|
458
503
|
note?: string;
|
|
459
504
|
events?: string[];
|
|
460
505
|
};
|
|
@@ -505,6 +550,8 @@ export type ArtifactOutput =
|
|
|
505
550
|
next_in_s?: number;
|
|
506
551
|
last_failure?: string;
|
|
507
552
|
reason?: string;
|
|
553
|
+
detail?: string;
|
|
554
|
+
server_message?: string;
|
|
508
555
|
at?: number;
|
|
509
556
|
}[];
|
|
510
557
|
}
|
|
@@ -2570,7 +2617,7 @@ export interface SendFeedbackInput {
|
|
|
2570
2617
|
*/
|
|
2571
2618
|
title: string;
|
|
2572
2619
|
/**
|
|
2573
|
-
* Labeled bullets, in order: **What happened:** (observed vs. expected, exact error text if short); **What the user said:** (quoted, or "User didn't comment; observed by the model."); **Repro:** (minimal steps); **Evidence:** (request IDs, timestamps, paths, versions
|
|
2620
|
+
* Labeled bullets, in order: **What happened:** (observed vs. expected, exact error text if short); **What the user said:** (quoted, or "User didn't comment; observed by the model."); **Repro:** (minimal steps); **Evidence:** (request IDs, timestamps, paths, versions; omit if none); optionally a final **Cause:** only if verified in-session. One to three lines per bullet. No narrative paragraphs, no speculation, no secrets.
|
|
2574
2621
|
*/
|
|
2575
2622
|
details: string;
|
|
2576
2623
|
/**
|
|
@@ -2578,7 +2625,7 @@ export interface SendFeedbackInput {
|
|
|
2578
2625
|
*/
|
|
2579
2626
|
area?: string;
|
|
2580
2627
|
/**
|
|
2581
|
-
* When the report is about MODEL BEHAVIOR (not a product bug), the closest failure mode
|
|
2628
|
+
* When the report is about MODEL BEHAVIOR (not a product bug), the closest failure mode, or `other` when it is a model-behavior issue that fits no listed value. Omit only when the report is a product/tool bug with no model-behavior component.
|
|
2582
2629
|
*/
|
|
2583
2630
|
failure_mode?:
|
|
2584
2631
|
| "instruction_following"
|
|
@@ -2598,7 +2645,7 @@ export interface SendFeedbackInput {
|
|
|
2598
2645
|
| "unwanted_scope"
|
|
2599
2646
|
| "other";
|
|
2600
2647
|
/**
|
|
2601
|
-
* What kind of task the session was doing when the issue occurred
|
|
2648
|
+
* What kind of task the session was doing when the issue occurred, or `other` when it is a clear task that fits no listed value. Omit only if genuinely unclear.
|
|
2602
2649
|
*/
|
|
2603
2650
|
task_category?: "code_edit" | "debug" | "explain" | "plan" | "shell" | "search" | "review" | "other";
|
|
2604
2651
|
}
|
|
@@ -2797,6 +2844,10 @@ export interface ScheduleWakeupInput {
|
|
|
2797
2844
|
* Set to true to end the dynamic loop immediately instead of scheduling another wakeup. When true, all other fields are ignored and no further wakeups fire.
|
|
2798
2845
|
*/
|
|
2799
2846
|
stop?: boolean;
|
|
2847
|
+
/**
|
|
2848
|
+
* true = nothing changed (you checked and there is nothing to report). false = something happened worth keeping (edited a file, posted a message, advanced state, surfaced a finding). Consecutive noop:true ticks are collapsed in the user's terminal view and tracked as a streak. Required unless `stop` is true.
|
|
2849
|
+
*/
|
|
2850
|
+
noop?: boolean;
|
|
2800
2851
|
}
|
|
2801
2852
|
export interface RemoteTriggerInput {
|
|
2802
2853
|
action: "list" | "get" | "create" | "update" | "run" | "create_webhook_trigger" | "list_runs" | "get_run_log";
|
|
@@ -3059,7 +3110,7 @@ export interface ArtifactInput {
|
|
|
3059
3110
|
*/
|
|
3060
3111
|
prompt?: string;
|
|
3061
3112
|
/**
|
|
3062
|
-
* Last-resort overwrite that DISCARDS the newer published version — another session's publish, or someone's save from a page that can publish new versions of itself. On a conflict the fix is to merge your changes onto the newer content (handed to you in the rejection, or re-read) and publish again — not force. Pass force:true only when the user has explicitly said to discard that specific version; never to get past a conflict on your own judgment. The tracked baseVersion is still sent; with force:true the server treats it as informational and overwrites, unless it refuses force over a version saved from inside the page. Omit (or false) so a concurrent write conflicts instead of being silently clobbered.
|
|
3113
|
+
* Last-resort overwrite that DISCARDS the newer published version's page — another session's publish, or someone's save from a page that can publish new versions of itself. On a conflict the fix is to merge your changes onto the newer content (handed to you in the rejection, or re-read) and publish again — not force. Pass force:true only when the user has explicitly said to discard that specific version; never to get past a conflict on your own judgment. The tracked baseVersion is still sent; with force:true the server treats it as informational and overwrites, unless it refuses force over a version saved from inside the page. Omit (or false) so a concurrent write conflicts instead of being silently clobbered.
|
|
3063
3114
|
*/
|
|
3064
3115
|
force?: boolean;
|
|
3065
3116
|
/**
|
|
@@ -3987,12 +4038,32 @@ export interface REPLOutput {
|
|
|
3987
4038
|
base64: string;
|
|
3988
4039
|
mediaType: string;
|
|
3989
4040
|
}[];
|
|
4041
|
+
/**
|
|
4042
|
+
* Count of inner-Read images dropped by the per-result image cap; surfaced as a note in the tool_result
|
|
4043
|
+
*/
|
|
4044
|
+
imagesOmitted?: number;
|
|
4045
|
+
/**
|
|
4046
|
+
* Pages of inner page-range Reads that could not be processed as an image; surfaced as one note each in the tool_result
|
|
4047
|
+
*/
|
|
4048
|
+
imagePagesFailed?: {
|
|
4049
|
+
page: number;
|
|
4050
|
+
file?: string;
|
|
4051
|
+
error?: string;
|
|
4052
|
+
}[];
|
|
4053
|
+
/**
|
|
4054
|
+
* Count of failed-page notes dropped by the per-result note cap; surfaced as a note in the tool_result
|
|
4055
|
+
*/
|
|
4056
|
+
imagePagesFailedOmitted?: number;
|
|
3990
4057
|
/**
|
|
3991
4058
|
* PDFs returned by inner Read calls — surfaced as document content blocks
|
|
3992
4059
|
*/
|
|
3993
4060
|
documents?: {
|
|
3994
4061
|
base64: string;
|
|
3995
4062
|
}[];
|
|
4063
|
+
/**
|
|
4064
|
+
* Count of inner-Read PDFs dropped by the per-result document cap; surfaced as a note in the tool_result
|
|
4065
|
+
*/
|
|
4066
|
+
documentsOmitted?: number;
|
|
3996
4067
|
}
|
|
3997
4068
|
export interface WorkflowOutput {
|
|
3998
4069
|
status: "async_launched" | "remote_launched";
|
package/sdk.d.ts
CHANGED
|
@@ -3760,6 +3760,7 @@ export declare type SDKControlInitializeResponse = {
|
|
|
3760
3760
|
|
|
3761
3761
|
|
|
3762
3762
|
|
|
3763
|
+
|
|
3763
3764
|
};
|
|
3764
3765
|
|
|
3765
3766
|
/**
|
|
@@ -3769,7 +3770,7 @@ declare type SDKControlInterruptRequest = {
|
|
|
3769
3770
|
subtype: 'interrupt';
|
|
3770
3771
|
|
|
3771
3772
|
/**
|
|
3772
|
-
* When true, the interrupt also cancels every uuid-stamped main-thread command still in the queue or already dequeued for the imminent turn but not yet reachable by the abort (the first-command prewait window) — the same set the response would otherwise list under `still_queued`. Each is closed with a terminal 'cancelled' lifecycle and listed on the response's `cancelled` field. `still_queued` is then empty, except that a client driving a hosted session lists there what it can no longer recall (a send already in flight to that session, or the first prompt the session was created with). (The isFoldInFlight guard cancel_async_message uses does not apply here: this request also aborts the running turn, so a fold-in-flight uuid is never delivered and is swept with the rest. A fold-in-flight uuid's queued_command attachment may already appear in the aborted turn's transcript if the abort landed after the fold's attachment yield — pre-existing leave-queued semantics; it never runs as its own turn.) Uuid-less commands (task notifications) still in the queue are also dequeued but cannot be listed; a uuid-less command already in the prewait window is unreachable by either leg and still runs. When false or absent, queued commands survive the interrupt and are listed under `still_queued` — the interrupt_receipt_v1 contract is unchanged. A Stop-means-stop-everything client (a remote UI's Stop button) sets this true so one round-trip halts the session; a wrapper that wants per-uuid control leaves it false and follows up with cancel_async_message. Advertised by the `interrupt_cancel_queued_v1` capability on system/init; older CLIs ignore the field and behave as if false.
|
|
3773
|
+
* When true, the interrupt also cancels every uuid-stamped main-thread command still in the queue or already dequeued for the imminent turn but not yet reachable by the abort (the first-command prewait window) — the same set the response would otherwise list under `still_queued`. Each is closed with a terminal 'cancelled' lifecycle and listed on the response's `cancelled` field. `still_queued` is then empty, except that a client driving a hosted session lists there what it can no longer recall (a send already in flight to that session, or the first prompt the session was created with) and, when the session's own sweep then cancels one of those or a send it had already delivered, follows up with a command_lifecycle 'cancelled' frame for it. (The isFoldInFlight guard cancel_async_message uses does not apply here: this request also aborts the running turn, so a fold-in-flight uuid is never delivered and is swept with the rest. A fold-in-flight uuid's queued_command attachment may already appear in the aborted turn's transcript if the abort landed after the fold's attachment yield — pre-existing leave-queued semantics; it never runs as its own turn.) Uuid-less commands (task notifications) still in the queue are also dequeued but cannot be listed; a uuid-less command already in the prewait window is unreachable by either leg and still runs. When false or absent, queued commands survive the interrupt and are listed under `still_queued` — the interrupt_receipt_v1 contract is unchanged. A Stop-means-stop-everything client (a remote UI's Stop button) sets this true so one round-trip halts the session; a wrapper that wants per-uuid control leaves it false and follows up with cancel_async_message. Advertised by the `interrupt_cancel_queued_v1` capability on system/init; older CLIs ignore the field and behave as if false.
|
|
3773
3774
|
*/
|
|
3774
3775
|
cancel_queued?: boolean;
|
|
3775
3776
|
};
|
|
@@ -3779,7 +3780,7 @@ declare type SDKControlInterruptRequest = {
|
|
|
3779
3780
|
*/
|
|
3780
3781
|
export declare type SDKControlInterruptResponse = {
|
|
3781
3782
|
/**
|
|
3782
|
-
* Uuids of async user messages that survive this interrupt: commands still in the queue, plus any batch already dequeued for the imminent turn but not yet reachable by the abort. These WILL run unless cancelled first (or unless the request set cancel_queued:true, in which case every uuid-stamped survivor this process holds is removed, emitted a terminal `cancelled` synchronously, and listed under `cancelled` instead — leaving here only what a client driving a hosted session can no longer recall: a send already in flight to that session, or the first prompt the session was created with). Cancellation granularity: uuids still in the queue are individually cancellable via cancel_async_message; once a batch is dequeued and coalesced into one turn, cancelling a NON-representative member uuid is a no-op (its content still runs), while cancelling the batch-representative uuid drops the WHOLE coalesced batch — in both cases the cancel response reports cancelled:false because the message was no longer in the queue. Coverage caveats: only uuid-STAMPED messages appear (a message enqueued without a uuid still runs but is never listed, so [] does not mean "nothing will run"); only main-thread messages are listed (subagent-addressed messages are out of scope); and the list may include internally-enqueued uuids the client never sent (cron triggers, auto-resume continuations) — ignore unknown uuids rather than treating them as an error. Ordering: on a clean interrupt this receipt is written before the interrupted turn result; a turn that crashes during interrupt handling emits its error result on a direct-write path that may precede the receipt. Snapshot is taken synchronously with abort processing — probing the queue after the interrupted result instead always loses the race against the drain loop, which starts the next queued turn immediately.
|
|
3783
|
+
* Uuids of async user messages that survive this interrupt: commands still in the queue, plus any batch already dequeued for the imminent turn but not yet reachable by the abort. These WILL run unless cancelled first (or unless the request set cancel_queued:true, in which case every uuid-stamped survivor this process holds is removed, emitted a terminal `cancelled` synchronously, and listed under `cancelled` instead — leaving here only what a client driving a hosted session can no longer recall: a send already in flight to that session, or the first prompt the session was created with; a send that client still holds on its own machine behind a send gate (today: waiting for the session to take the initial upload from that machine) has not gone out, so it is withdrawn and listed under `cancelled` like a queued one, and cancel_async_message can withdraw it too, while a plain interrupt leaves it held and lists it here). Cancellation granularity: uuids still in the queue are individually cancellable via cancel_async_message; once a batch is dequeued and coalesced into one turn, cancelling a NON-representative member uuid is a no-op (its content still runs), while cancelling the batch-representative uuid drops the WHOLE coalesced batch — in both cases the cancel response reports cancelled:false because the message was no longer in the queue. Coverage caveats: only uuid-STAMPED messages appear (a message enqueued without a uuid still runs but is never listed, so [] does not mean "nothing will run"); only main-thread messages are listed (subagent-addressed messages are out of scope); and the list may include internally-enqueued uuids the client never sent (cron triggers, auto-resume continuations) — ignore unknown uuids rather than treating them as an error. Ordering: on a clean interrupt this receipt is written before the interrupted turn result; a turn that crashes during interrupt handling emits its error result on a direct-write path that may precede the receipt. Snapshot is taken synchronously with abort processing — probing the queue after the interrupted result instead always loses the race against the drain loop, which starts the next queued turn immediately.
|
|
3783
3784
|
*/
|
|
3784
3785
|
still_queued: string[];
|
|
3785
3786
|
/**
|
|
@@ -3914,6 +3915,10 @@ declare type SDKControlPermissionRequest = {
|
|
|
3914
3915
|
* True when the dialog must not offer the persistent "don't ask again" row for this ask: accepting it would write a whole-tool allow rule broader than the ask's own verb (PermissionAskDecision.suppressAlwaysAllowRule). Hosts rendering approve options should omit any persistent-rule affordance when set.
|
|
3915
3916
|
*/
|
|
3916
3917
|
suppress_always_allow_rule?: boolean;
|
|
3918
|
+
/**
|
|
3919
|
+
* True when the ask must not be approvable by a single stray keystroke (PermissionAskDecision.defaultToNo): a terminal-style prompt opens on its decline option and takes no digit shortcut. Hosts rendering approve options should not pre-select approve when set.
|
|
3920
|
+
*/
|
|
3921
|
+
default_to_no?: boolean;
|
|
3917
3922
|
/**
|
|
3918
3923
|
* Set when a user-configured ask RULE (permissions.ask) forced this prompt but the ask carries the tool's own decision_reason — the ask-rule substitution keeps the richer tool-minted ask, so the rule rides here instead of decision_reason_type 'rule'. Hosts making policy on decision_reason_type (e.g. auto-deny safetyCheck) or running host-side auto-approval should treat asks carrying this field as rule-forced: the user's stated intent is a human prompt. Values are producer-authored but render-unsafe like decision_reason; sanitize before display.
|
|
3919
3924
|
*/
|
|
@@ -4353,7 +4358,7 @@ export declare type SDKMessageOrigin = {
|
|
|
4353
4358
|
*/
|
|
4354
4359
|
name?: string;
|
|
4355
4360
|
/**
|
|
4356
|
-
* The sender's host-openable session id (the envelope's `from-session` attribute — e.g. a desktop `local_<uuid>` or a
|
|
4361
|
+
* The sender's host-openable session id (the envelope's `from-session` attribute — e.g. a desktop `local_<uuid>` or a cloud session `session_`/`ses_` id), set by the sender's host so a receiving UI can link this message back to the sending session. Sender-asserted like `from`: a navigation target only, never authority. Absent when the sender's host provides none and on messages from older senders.
|
|
4357
4362
|
*/
|
|
4358
4363
|
fromSession?: string;
|
|
4359
4364
|
|
|
@@ -4372,7 +4377,7 @@ export declare type SDKMessageOrigin = {
|
|
|
4372
4377
|
} | {
|
|
4373
4378
|
kind: 'task-notification';
|
|
4374
4379
|
/**
|
|
4375
|
-
* Present when the delivery is the fired stored prompt of a scheduled task/routine ('scheduled-trigger', stamped from server-asserted provenance; the schedule attests storage, not authorship)
|
|
4380
|
+
* Present when the delivery is the fired stored prompt of a scheduled task/routine ('scheduled-trigger', stamped from server-asserted provenance; the schedule attests storage, not authorship) or a coordinator co-member SendMessage delivery ('peer-send-message': model-authored text from another of the same user's sessions, verified by the server-stamped receiver co-membership — task-notification for prompt authority, but distinguishable so the receive-side crossSessionInbound setting can apply to it). The harness frames a scheduled-trigger delivery as the session's assigned task instead of the generic background-notification frame. Absent on webhook, PR-steward, plugin, and background-event deliveries.
|
|
4376
4381
|
*/
|
|
4377
4382
|
subkind?: 'scheduled-trigger' | 'peer-send-message' | 'projects-relay';
|
|
4378
4383
|
} | {
|
|
@@ -4584,6 +4589,7 @@ export declare type SDKRateLimitInfo = {
|
|
|
4584
4589
|
resetsAt?: number;
|
|
4585
4590
|
rateLimitType?: 'five_hour' | 'seven_day' | 'seven_day_opus' | 'seven_day_sonnet' | 'seven_day_overage_included' | 'overage';
|
|
4586
4591
|
utilization?: number;
|
|
4592
|
+
|
|
4587
4593
|
overageStatus?: 'allowed' | 'allowed_warning' | 'rejected';
|
|
4588
4594
|
overageResetsAt?: number;
|
|
4589
4595
|
overageDisabledReason?: 'overage_not_provisioned' | 'org_level_disabled' | 'org_level_disabled_until' | 'out_of_credits' | 'seat_tier_level_disabled' | 'member_level_disabled' | 'seat_tier_zero_credit_limit' | 'group_zero_credit_limit' | 'member_zero_credit_limit' | 'org_service_level_disabled' | 'no_limits_configured' | 'fetch_error' | 'unknown';
|
|
@@ -4620,6 +4626,10 @@ export declare type SDKResultError = {
|
|
|
4620
4626
|
modelUsage: Record<string, ModelUsage>;
|
|
4621
4627
|
|
|
4622
4628
|
permission_denials: SDKPermissionDenial[];
|
|
4629
|
+
/**
|
|
4630
|
+
* User-initiated sends still waiting in the command queue when this result was produced. Greater than 0 means at least one more user turn (and result) follows without further input, barring cancellation; 0 means none is pending, or the session is ending (end_session or a shutdown latched mid-turn discards the backlog). Queued sends may coalesce into fewer turns, so this counts pending sends, not remaining results. System-generated queue entries are not counted. Absent on fatal startup results and on surfaces without a command queue.
|
|
4631
|
+
*/
|
|
4632
|
+
queued_turn_count?: number;
|
|
4623
4633
|
errors: string[];
|
|
4624
4634
|
terminal_reason?: TerminalReason;
|
|
4625
4635
|
fast_mode_state?: FastModeState;
|
|
@@ -4666,6 +4676,10 @@ export declare type SDKResultSuccess = {
|
|
|
4666
4676
|
modelUsage: Record<string, ModelUsage>;
|
|
4667
4677
|
|
|
4668
4678
|
permission_denials: SDKPermissionDenial[];
|
|
4679
|
+
/**
|
|
4680
|
+
* User-initiated sends still waiting in the command queue when this result was produced. Greater than 0 means at least one more user turn (and result) follows without further input, barring cancellation; 0 means none is pending, or the session is ending (end_session or a shutdown latched mid-turn discards the backlog). Queued sends may coalesce into fewer turns, so this counts pending sends, not remaining results. System-generated queue entries are not counted. Absent on fatal startup results and on surfaces without a command queue.
|
|
4681
|
+
*/
|
|
4682
|
+
queued_turn_count?: number;
|
|
4669
4683
|
structured_output?: unknown;
|
|
4670
4684
|
deferred_tool_use?: SDKDeferredToolUse;
|
|
4671
4685
|
terminal_reason?: TerminalReason;
|
|
@@ -4815,7 +4829,7 @@ export declare type SDKSystemMessage = {
|
|
|
4815
4829
|
*/
|
|
4816
4830
|
effort?: ('low' | 'medium' | 'high' | 'xhigh' | 'max') | null;
|
|
4817
4831
|
/**
|
|
4818
|
-
* Protocol capabilities this CLI supports, so SDK consumers can feature-detect instead of version-sniffing. Open set — ignore unknown values; check each capability for exactly the behavior you use. 'interrupt_receipt_v1' = the interrupt control_response success payload carries still_queued (uuids of async user messages that survive the interrupt). 'interrupt_cancel_queued_v1' = the interrupt control_request honors cancel_queued:true (queued and pending-dispatch commands are cancelled alongside the abort, listed on the response's cancelled field; still_queued is then empty — including any uuid that was mid-fold at the interrupt instant, since this request also aborts and the fold never delivers it — except that a client driving a hosted session lists there what it can no longer recall: a send already in flight to that session, or the first prompt the session was created with). 'queued_notifications' = the CLI accepts inbound queued_notification stream messages and drains them via ReadNotifications (the
|
|
4832
|
+
* Protocol capabilities this CLI supports, so SDK consumers can feature-detect instead of version-sniffing. Open set — ignore unknown values; check each capability for exactly the behavior you use. 'interrupt_receipt_v1' = the interrupt control_response success payload carries still_queued (uuids of async user messages that survive the interrupt). 'interrupt_cancel_queued_v1' = the interrupt control_request honors cancel_queued:true (queued and pending-dispatch commands are cancelled alongside the abort, listed on the response's cancelled field; still_queued is then empty — including any uuid that was mid-fold at the interrupt instant, since this request also aborts and the fold never delivers it — except that a client driving a hosted session lists there what it can no longer recall: a send already in flight to that session, or the first prompt the session was created with). 'queued_notifications' = the CLI accepts inbound queued_notification stream messages and drains them via ReadNotifications (the cloud session backend reads this from the persisted init event to decide whether it may send them). Absent on older CLIs.
|
|
4819
4833
|
*/
|
|
4820
4834
|
capabilities?: string[];
|
|
4821
4835
|
|
|
@@ -5058,7 +5072,7 @@ export declare type SDKUserMessageReplay = {
|
|
|
5058
5072
|
};
|
|
5059
5073
|
|
|
5060
5074
|
/**
|
|
5061
|
-
* Emitted by the bridge on opt-in graceful worker teardown (only when the teardown caller supplied a reason), before the heartbeat stops, so remote clients can show why the worker went away instead of waiting for heartbeat timeout. Absence is NOT a dead-host signal: handoffs (/update, /teleport, respawn), auto-disable, mode transitions, and internal fatal-error paths emit nothing by design. A dead host (battery, OOM, kill -9) never reaches teardown and never sends this either. NOTE: this event lands in the durable per-session event stream — a session that is later resumed may carry historical instances mid-stream. Clients MUST treat it as a live-tail signal only (honored when no further activity follows), not a one-shot session-lifetime fact.
|
|
5075
|
+
* Emitted by the bridge on opt-in graceful worker teardown (only when the teardown caller supplied a reason), before the heartbeat stops, so remote clients can show why the worker went away instead of waiting for heartbeat timeout. Absence is NOT a dead-host signal: handoffs (/update, /teleport, respawn), auto-disable, mode transitions, and internal fatal-error paths emit nothing by design. A dead host (battery, OOM, kill -9) never reaches teardown and never sends this either. NOTE: this event lands in the durable per-session event stream — a session that is later resumed may carry historical instances mid-stream. Clients MUST treat it as a live-tail signal only (honored when no further activity follows), not a one-shot session-lifetime fact.
|
|
5062
5076
|
*/
|
|
5063
5077
|
export declare type SDKWorkerShuttingDownMessage = {
|
|
5064
5078
|
type: 'system';
|
|
@@ -5486,6 +5500,46 @@ export declare interface Settings {
|
|
|
5486
5500
|
modelOverrides?: {
|
|
5487
5501
|
[k: string]: string;
|
|
5488
5502
|
};
|
|
5503
|
+
/**
|
|
5504
|
+
* Curate the /model picker: an ordered list of models with your own labels, independent of the built-in lineup and of Claude Code releases. availableModels still applies to these rows. Honored from managed, --settings/SDK, and user settings only (not from a project checkout); the highest-precedence of those that defines modelPicker wins outright (no merging across sources). Typically set in managed settings by enterprise administrators.
|
|
5505
|
+
*/
|
|
5506
|
+
modelPicker?: {
|
|
5507
|
+
/**
|
|
5508
|
+
* Rows to show in the /model picker, in order.
|
|
5509
|
+
*/
|
|
5510
|
+
options: {
|
|
5511
|
+
/**
|
|
5512
|
+
* Model to select, taken verbatim: an alias ("opus"), an Anthropic model ID, or a provider-format ID (Vertex, Bedrock, gateway). Same values --model accepts.
|
|
5513
|
+
*/
|
|
5514
|
+
model: string;
|
|
5515
|
+
/**
|
|
5516
|
+
* Row title. Defaults to the model name.
|
|
5517
|
+
*/
|
|
5518
|
+
label?: string;
|
|
5519
|
+
/**
|
|
5520
|
+
* Row subtitle. Defaults to a generic description.
|
|
5521
|
+
*/
|
|
5522
|
+
description?: string;
|
|
5523
|
+
}[];
|
|
5524
|
+
/**
|
|
5525
|
+
* When true, the picker shows only the Default row and these options — the built-in lineup, gateway-discovered models and ANTHROPIC_CUSTOM_MODEL_OPTION are hidden. When false or unset, these options are added after the built-in lineup.
|
|
5526
|
+
*/
|
|
5527
|
+
replaceBuiltInOptions?: boolean;
|
|
5528
|
+
};
|
|
5529
|
+
/**
|
|
5530
|
+
* Price usage at your organization's contracted rates instead of list price. Affects every spend figure Claude Code reports — /cost, the status line, the SDK total_cost_usd, --max-budget-usd, and the OpenTelemetry cost metric and events — which remain USD estimates, not an invoice (the per-Mtok price labels in /model stay at list). "overrides" maps a model ID to its USD-per-million-token rates (input, output, cacheRead, cacheWrite — all four required, each 0 to 10000; cacheWrite prices both 5-minute and 1-hour cache writes). A matching row is charged exactly as written; fast-mode and US-data-residency surcharges are not added on top. A key Claude Code itself uses for a built-in model — its ID such as "claude-sonnet-4-6", or its first-party, Bedrock (any or no region prefix), Vertex or Foundry ID — covers every dated and provider form of that model; any other key — a gateway model alias, or a spelling Claude Code does not itself use — matches that model ID only (case-insensitive), and such an exact match wins over a built-in row. On Bedrock an application inference profile is matched by its backing model. An invalid row or multiplier is reported and skipped; the rest still apply. "multiplier" in (0, 1] scales every computed cost, overridden or not (0.85 = 85% of the price). Only honored from managed settings (server-managed, MDM / OS policy, or managed-settings.json); ignored in user, project, local and --settings sources.
|
|
5531
|
+
*/
|
|
5532
|
+
modelPricing?: {
|
|
5533
|
+
multiplier?: number;
|
|
5534
|
+
overrides?: {
|
|
5535
|
+
[k: string]: {
|
|
5536
|
+
input: number;
|
|
5537
|
+
output: number;
|
|
5538
|
+
cacheRead: number;
|
|
5539
|
+
cacheWrite: number;
|
|
5540
|
+
};
|
|
5541
|
+
};
|
|
5542
|
+
};
|
|
5489
5543
|
/**
|
|
5490
5544
|
* Whether to automatically approve all MCP servers in the project
|
|
5491
5545
|
*/
|
|
@@ -5605,6 +5659,7 @@ export declare interface Settings {
|
|
|
5605
5659
|
asyncRewake?: boolean;
|
|
5606
5660
|
|
|
5607
5661
|
|
|
5662
|
+
|
|
5608
5663
|
} | {
|
|
5609
5664
|
/**
|
|
5610
5665
|
* LLM prompt hook type
|
|
@@ -5702,6 +5757,7 @@ export declare interface Settings {
|
|
|
5702
5757
|
* If true, hook runs once and is removed after execution
|
|
5703
5758
|
*/
|
|
5704
5759
|
once?: boolean;
|
|
5760
|
+
|
|
5705
5761
|
} | {
|
|
5706
5762
|
/**
|
|
5707
5763
|
* MCP tool hook type
|
|
@@ -5782,11 +5838,11 @@ export declare interface Settings {
|
|
|
5782
5838
|
*/
|
|
5783
5839
|
disableWorkflows?: boolean;
|
|
5784
5840
|
/**
|
|
5785
|
-
*
|
|
5841
|
+
* Deprecated: use enableArtifact: false. Still honored — true disables the Artifact tool; false is ignored.
|
|
5786
5842
|
*/
|
|
5787
5843
|
disableArtifact?: boolean;
|
|
5788
5844
|
/**
|
|
5789
|
-
*
|
|
5845
|
+
* Turn the Artifact tool on or off. Off in any of managed, --settings, or user settings wins; project and local settings can only turn it off. Unset defaults to on once the feature is available.
|
|
5790
5846
|
*/
|
|
5791
5847
|
enableArtifact?: boolean;
|
|
5792
5848
|
/**
|
|
@@ -7103,6 +7159,10 @@ export declare interface Settings {
|
|
|
7103
7159
|
* 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).
|
|
7104
7160
|
*/
|
|
7105
7161
|
parentSettingsBehavior?: 'first-wins' | 'merge';
|
|
7162
|
+
/**
|
|
7163
|
+
* 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 and arrays union, except fallbackModel and the restriction allowlists allowedMcpServers, availableModels, strictKnownMarketplaces and allowedChannelPlugins (the highest source that sets one owns it whole) and the auth pins forceLoginOrgUUID, forceLoginMethod and forceLoginGatewayUrl (highest source only). 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.
|
|
7164
|
+
*/
|
|
7165
|
+
managedSourcesBehavior?: 'first-wins' | 'merge';
|
|
7106
7166
|
/**
|
|
7107
7167
|
* Organization UUID to require for OAuth login. Accepts a single UUID string or an array of UUIDs (any one is permitted). When set in managed settings, login fails if the authenticated account does not belong to a listed organization.
|
|
7108
7168
|
*/
|
|
@@ -7401,6 +7461,14 @@ export declare interface Settings {
|
|
|
7401
7461
|
* Whether /rename updates the terminal tab title (defaults to true). Set to false to keep auto-generated topic titles.
|
|
7402
7462
|
*/
|
|
7403
7463
|
terminalTitleFromRename?: boolean;
|
|
7464
|
+
/**
|
|
7465
|
+
* Prompt cache TTL for the main conversation (interactive, -p and SDK turns, plus the helpers that run inline with it): "5m" or "1h". Unset = automatic: 1 hour on a Claude subscription within its usage limits, 5 minutes on an API key, Bedrock, Vertex or Foundry. 1-hour cache writes are billed at a higher rate; the cache stays warm across longer breaks. The CLAUDE_CODE_PROMPT_CACHE_TTL environment variable takes precedence.
|
|
7466
|
+
*/
|
|
7467
|
+
promptCacheTtl?: '5m' | '1h';
|
|
7468
|
+
/**
|
|
7469
|
+
* Prompt cache TTL for everything outside the main conversation — subagents, workflows, background and helper requests: "5m" or "1h". Unset = automatic (5 minutes unless ENABLE_PROMPT_CACHING_1H=1). The CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL environment variable takes precedence.
|
|
7470
|
+
*/
|
|
7471
|
+
subagentPromptCacheTtl?: '5m' | '1h';
|
|
7404
7472
|
/**
|
|
7405
7473
|
* When false, thinking is disabled. When absent or true, thinking is enabled automatically for supported models.
|
|
7406
7474
|
*/
|