@anthropic-ai/claude-agent-sdk 0.3.223 → 0.3.225
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.d.ts +50 -14
- package/bridge.mjs +93 -96
- package/browser-sdk.js +49 -49
- package/manifest.json +22 -22
- package/manifest.zst.json +26 -26
- package/package.json +10 -10
- package/sdk-tools.d.ts +1 -1
- package/sdk.d.ts +198 -9
- package/sdk.mjs +84 -82
package/manifest.json
CHANGED
|
@@ -1,53 +1,51 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-08-
|
|
2
|
+
"version": "2.1.225",
|
|
3
|
+
"commit": "d4b76e8c52c2391af51b60cc71a513246c40a129",
|
|
4
|
+
"buildDate": "2026-08-07T20:01:17Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "08d6e85dd2b80883bb8da93cbeae3dc79b4704d6b84a05d614bf1ff4a5155b69",
|
|
9
|
+
"size": 279661952
|
|
10
10
|
},
|
|
11
11
|
"darwin-x64": {
|
|
12
12
|
"binary": "claude",
|
|
13
|
-
"checksum": "
|
|
14
|
-
"size":
|
|
13
|
+
"checksum": "0065d7155f83a3a5b0e0153ca3b70ad902b33dc06747c8b4e4d0bad58c6e0ec5",
|
|
14
|
+
"size": 289284768
|
|
15
15
|
},
|
|
16
16
|
"linux-arm64": {
|
|
17
17
|
"binary": "claude",
|
|
18
|
-
"checksum": "
|
|
19
|
-
"size":
|
|
18
|
+
"checksum": "209d4279c0a3dbb48bee6017d99430269ec6aba59cd8735b1fda0f9664139a45",
|
|
19
|
+
"size": 294566840
|
|
20
20
|
},
|
|
21
21
|
"linux-x64": {
|
|
22
22
|
"binary": "claude",
|
|
23
|
-
"checksum": "
|
|
24
|
-
"size":
|
|
23
|
+
"checksum": "0a3be8d18cb0f5357d38ce2d588601753a60b44cc9c622579ed8b8405dee231e",
|
|
24
|
+
"size": 297831432
|
|
25
25
|
},
|
|
26
26
|
"linux-arm64-musl": {
|
|
27
27
|
"binary": "claude",
|
|
28
|
-
"checksum": "
|
|
29
|
-
"size":
|
|
28
|
+
"checksum": "9189e2776d4120288b85a6682d2b26910daa4e937baa48bd75afb3fe3115291e",
|
|
29
|
+
"size": 287880552
|
|
30
30
|
},
|
|
31
31
|
"linux-x64-musl": {
|
|
32
32
|
"binary": "claude",
|
|
33
|
-
"checksum": "
|
|
34
|
-
"size":
|
|
33
|
+
"checksum": "ae2258be1a2d4eeef291514195af5b50a55801cc0561347c3873c4df5c9646f8",
|
|
34
|
+
"size": 292438608
|
|
35
35
|
},
|
|
36
36
|
"win32-x64": {
|
|
37
37
|
"binary": "claude.exe",
|
|
38
|
-
"checksum": "
|
|
39
|
-
"size":
|
|
38
|
+
"checksum": "234a59d6ea4262bb4af65d28acf19d795906295d11249750161875fbede3576d",
|
|
39
|
+
"size": 287053472
|
|
40
40
|
},
|
|
41
41
|
"win32-arm64": {
|
|
42
42
|
"binary": "claude.exe",
|
|
43
|
-
"checksum": "
|
|
44
|
-
"size":
|
|
43
|
+
"checksum": "1152d683ed9ae20d7140ddc2db04d48e5f16ed214e2b07a8bc95c363c7e63bff",
|
|
44
|
+
"size": 281726112
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"sdkCompat": {
|
|
48
48
|
"testedWrapperVersions": [
|
|
49
|
-
"0.3.182",
|
|
50
|
-
"0.3.183",
|
|
51
49
|
"0.3.185",
|
|
52
50
|
"0.3.186",
|
|
53
51
|
"0.3.187",
|
|
@@ -72,10 +70,12 @@
|
|
|
72
70
|
"0.3.212",
|
|
73
71
|
"0.3.214",
|
|
74
72
|
"0.3.215",
|
|
73
|
+
"0.3.216",
|
|
75
74
|
"0.3.217",
|
|
76
75
|
"0.3.218",
|
|
77
76
|
"0.3.220",
|
|
78
|
-
"0.3.221"
|
|
77
|
+
"0.3.221",
|
|
78
|
+
"0.3.222"
|
|
79
79
|
],
|
|
80
80
|
"harnessSchema": 1
|
|
81
81
|
}
|
package/manifest.zst.json
CHANGED
|
@@ -1,61 +1,59 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-08-
|
|
2
|
+
"version": "2.1.225",
|
|
3
|
+
"commit": "d4b76e8c52c2391af51b60cc71a513246c40a129",
|
|
4
|
+
"buildDate": "2026-08-07T20:03:23Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude.zst",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "7cef5c083019c8ed8e58505c8987388fca2b97cbd3b156b6be77d3a3b8ae10eb",
|
|
9
|
+
"size": 55963833,
|
|
10
10
|
"bundle": {
|
|
11
|
-
"checksum": "
|
|
12
|
-
"size":
|
|
11
|
+
"checksum": "11f2aa153892c0c72b42de714f8b83b5fb65f969649f3c9f594e89d6845245c1",
|
|
12
|
+
"size": 55954834
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"darwin-x64": {
|
|
16
16
|
"binary": "claude.zst",
|
|
17
|
-
"checksum": "
|
|
18
|
-
"size":
|
|
17
|
+
"checksum": "3d2774dc46981cf10056bd7dd5adfce9a001d7ad6e46088f90c0e4846071f39e",
|
|
18
|
+
"size": 60638677,
|
|
19
19
|
"bundle": {
|
|
20
|
-
"checksum": "
|
|
21
|
-
"size":
|
|
20
|
+
"checksum": "3333a5d1127541eecc8ec0273ee2dd238b35443faa90ba1969276083e6243482",
|
|
21
|
+
"size": 60635363
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"linux-arm64": {
|
|
25
25
|
"binary": "claude.zst",
|
|
26
|
-
"checksum": "
|
|
27
|
-
"size":
|
|
26
|
+
"checksum": "15907252edb6577bda10482e2aa1677928aa243e823ccb6577c5158bbae7f272",
|
|
27
|
+
"size": 64830045
|
|
28
28
|
},
|
|
29
29
|
"linux-x64": {
|
|
30
30
|
"binary": "claude.zst",
|
|
31
|
-
"checksum": "
|
|
32
|
-
"size":
|
|
31
|
+
"checksum": "56f6febbbda34e715dcecdc5ad9a2ef8b65f678e735675881f84ecb0ca79a610",
|
|
32
|
+
"size": 66133582
|
|
33
33
|
},
|
|
34
34
|
"linux-arm64-musl": {
|
|
35
35
|
"binary": "claude.zst",
|
|
36
|
-
"checksum": "
|
|
37
|
-
"size":
|
|
36
|
+
"checksum": "cc449538fb17e65223c531fdd4b319078c8ed3067356a5df48b64672697eb0fc",
|
|
37
|
+
"size": 63542121
|
|
38
38
|
},
|
|
39
39
|
"linux-x64-musl": {
|
|
40
40
|
"binary": "claude.zst",
|
|
41
|
-
"checksum": "
|
|
42
|
-
"size":
|
|
41
|
+
"checksum": "74a5cc57c143ef730e284c5b4351bdb26da2f3436be54835a4e3acea29cb3377",
|
|
42
|
+
"size": 64976182
|
|
43
43
|
},
|
|
44
44
|
"win32-x64": {
|
|
45
45
|
"binary": "claude.exe.zst",
|
|
46
|
-
"checksum": "
|
|
47
|
-
"size":
|
|
46
|
+
"checksum": "0e62dd09aeccceefade7dee10c2d390718e38da4f61258fe8313d9e687afa67e",
|
|
47
|
+
"size": 66322446
|
|
48
48
|
},
|
|
49
49
|
"win32-arm64": {
|
|
50
50
|
"binary": "claude.exe.zst",
|
|
51
|
-
"checksum": "
|
|
52
|
-
"size":
|
|
51
|
+
"checksum": "0dbe13b41228e85c14d9dc6f47b42eeaaaa027d77ce669f4ae9ac01a724a5812",
|
|
52
|
+
"size": 64477363
|
|
53
53
|
}
|
|
54
54
|
},
|
|
55
55
|
"sdkCompat": {
|
|
56
56
|
"testedWrapperVersions": [
|
|
57
|
-
"0.3.182",
|
|
58
|
-
"0.3.183",
|
|
59
57
|
"0.3.185",
|
|
60
58
|
"0.3.186",
|
|
61
59
|
"0.3.187",
|
|
@@ -80,10 +78,12 @@
|
|
|
80
78
|
"0.3.212",
|
|
81
79
|
"0.3.214",
|
|
82
80
|
"0.3.215",
|
|
81
|
+
"0.3.216",
|
|
83
82
|
"0.3.217",
|
|
84
83
|
"0.3.218",
|
|
85
84
|
"0.3.220",
|
|
86
|
-
"0.3.221"
|
|
85
|
+
"0.3.221",
|
|
86
|
+
"0.3.222"
|
|
87
87
|
],
|
|
88
88
|
"harnessSchema": 1
|
|
89
89
|
}
|
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.225",
|
|
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.225",
|
|
61
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.225",
|
|
62
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.225",
|
|
63
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.225",
|
|
64
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.225",
|
|
65
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.225",
|
|
66
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.225",
|
|
67
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.225"
|
|
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.225"
|
|
84
84
|
}
|
package/sdk-tools.d.ts
CHANGED
|
@@ -2661,7 +2661,7 @@ export interface ScheduleWakeupInput {
|
|
|
2661
2661
|
stop?: boolean;
|
|
2662
2662
|
}
|
|
2663
2663
|
export interface RemoteTriggerInput {
|
|
2664
|
-
action: "list" | "get" | "create" | "update" | "run";
|
|
2664
|
+
action: "list" | "get" | "create" | "update" | "run" | "create_webhook_trigger";
|
|
2665
2665
|
/**
|
|
2666
2666
|
* Required for get, update, and run
|
|
2667
2667
|
*/
|
package/sdk.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { Readable } from 'stream';
|
|
|
10
10
|
import type { ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
|
|
11
11
|
import type { UUID } from 'crypto';
|
|
12
12
|
import type { Writable } from 'stream';
|
|
13
|
-
import
|
|
13
|
+
import * as z from 'zod/v4';
|
|
14
14
|
import type { ZodRawShape } from 'zod';
|
|
15
15
|
import type { ZodRawShape as ZodRawShape_2 } from 'zod/v4';
|
|
16
16
|
|
|
@@ -1300,20 +1300,44 @@ export declare type NotificationHookSpecificOutput = {
|
|
|
1300
1300
|
/**
|
|
1301
1301
|
* Callback for handling MCP elicitation requests.
|
|
1302
1302
|
* Called when an MCP server requests user input and no hook handles it.
|
|
1303
|
+
*
|
|
1304
|
+
* Return `null` ONLY after the consumer has already sent the
|
|
1305
|
+
* control_response out-of-band (e.g. a signed HTTP POST echoing
|
|
1306
|
+
* `requestId`); the SDK will skip its own transport write. Same contract as
|
|
1307
|
+
* {@link CanUseTool}. Fail-closed: an accidental null means no response is
|
|
1308
|
+
* sent and the elicitation stays pending until the server times it out.
|
|
1303
1309
|
*/
|
|
1304
1310
|
export declare type OnElicitation = (request: ElicitationRequest, options: {
|
|
1305
1311
|
signal: AbortSignal;
|
|
1306
|
-
|
|
1312
|
+
/**
|
|
1313
|
+
* The control_request envelope's `request_id`. A control_response sent
|
|
1314
|
+
* out-of-band (e.g. a signed HTTP POST instead of the SDK's WS write)
|
|
1315
|
+
* must echo this value for the worker to match it.
|
|
1316
|
+
*/
|
|
1317
|
+
requestId: string;
|
|
1318
|
+
}) => Promise<ElicitationResult | null>;
|
|
1307
1319
|
|
|
1308
1320
|
/**
|
|
1309
1321
|
* Callback for handling `request_user_dialog` control requests.
|
|
1310
1322
|
* Called when the CLI asks the host to render a blocking dialog.
|
|
1311
|
-
* If not provided,
|
|
1312
|
-
*
|
|
1323
|
+
* If not provided, the dialog is left unanswered so a renderer-bearing
|
|
1324
|
+
* client (or the worker's park deadline) can settle it.
|
|
1325
|
+
*
|
|
1326
|
+
* Return `null` ONLY after the consumer has already sent the
|
|
1327
|
+
* control_response out-of-band (e.g. a signed HTTP POST echoing
|
|
1328
|
+
* `requestId`); the SDK will skip its own transport write. Same contract as
|
|
1329
|
+
* {@link CanUseTool}. Fail-closed: an accidental null means no response is
|
|
1330
|
+
* sent and the dialog stays parked until the worker's deadline.
|
|
1313
1331
|
*/
|
|
1314
1332
|
export declare type OnUserDialog = (request: UserDialogRequest, options: {
|
|
1315
1333
|
signal: AbortSignal;
|
|
1316
|
-
|
|
1334
|
+
/**
|
|
1335
|
+
* The control_request envelope's `request_id`. A control_response sent
|
|
1336
|
+
* out-of-band (e.g. a signed HTTP POST instead of the SDK's WS write)
|
|
1337
|
+
* must echo this value for the worker to match it.
|
|
1338
|
+
*/
|
|
1339
|
+
requestId: string;
|
|
1340
|
+
}) => Promise<UserDialogResult | null>;
|
|
1317
1341
|
|
|
1318
1342
|
/**
|
|
1319
1343
|
* Options for the query function.
|
|
@@ -2770,6 +2794,10 @@ declare const SandboxCredentialsConfigSchema: () => z.ZodOptional<z.ZodObject<{
|
|
|
2770
2794
|
error: "error";
|
|
2771
2795
|
warn: "warn";
|
|
2772
2796
|
}>>;
|
|
2797
|
+
decode: z.ZodOptional<z.ZodEnum<{
|
|
2798
|
+
jwt: "jwt";
|
|
2799
|
+
}>>;
|
|
2800
|
+
maskClaims: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2773
2801
|
maskDuplicates: z.ZodOptional<z.ZodBoolean>;
|
|
2774
2802
|
injectHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2775
2803
|
}, z.core.$strip>>>>;
|
|
@@ -2779,9 +2807,38 @@ declare const SandboxCredentialsConfigSchema: () => z.ZodOptional<z.ZodObject<{
|
|
|
2779
2807
|
deny: "deny";
|
|
2780
2808
|
mask: "mask";
|
|
2781
2809
|
}>;
|
|
2810
|
+
extract: z.ZodOptional<z.ZodString>;
|
|
2811
|
+
onExtractNoMatch: z.ZodOptional<z.ZodEnum<{
|
|
2812
|
+
deny: "deny";
|
|
2813
|
+
error: "error";
|
|
2814
|
+
warn: "warn";
|
|
2815
|
+
}>>;
|
|
2816
|
+
decode: z.ZodOptional<z.ZodEnum<{
|
|
2817
|
+
jwt: "jwt";
|
|
2818
|
+
}>>;
|
|
2819
|
+
maskClaims: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2782
2820
|
injectHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2783
2821
|
}, z.core.$strip>>>>;
|
|
2784
2822
|
allowPlaintextInject: z.ZodOptional<z.ZodBoolean>;
|
|
2823
|
+
awsPairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2824
|
+
accessKeyIdVar: z.ZodString;
|
|
2825
|
+
secretAccessKeyVar: z.ZodString;
|
|
2826
|
+
sessionTokenVar: z.ZodOptional<z.ZodString>;
|
|
2827
|
+
}, z.core.$strip>>>;
|
|
2828
|
+
sigv4: z.ZodOptional<z.ZodObject<{
|
|
2829
|
+
streaming: z.ZodOptional<z.ZodEnum<{
|
|
2830
|
+
deny: "deny";
|
|
2831
|
+
passthrough: "passthrough";
|
|
2832
|
+
}>>;
|
|
2833
|
+
presigned: z.ZodOptional<z.ZodEnum<{
|
|
2834
|
+
deny: "deny";
|
|
2835
|
+
passthrough: "passthrough";
|
|
2836
|
+
}>>;
|
|
2837
|
+
sigv4a: z.ZodOptional<z.ZodEnum<{
|
|
2838
|
+
deny: "deny";
|
|
2839
|
+
passthrough: "passthrough";
|
|
2840
|
+
}>>;
|
|
2841
|
+
}, z.core.$strip>>;
|
|
2785
2842
|
}, z.core.$strip>>;
|
|
2786
2843
|
|
|
2787
2844
|
export declare type SandboxFilesystemConfig = NonNullable<z.infer<ReturnType<typeof SandboxFilesystemConfigSchema>>>;
|
|
@@ -2869,6 +2926,10 @@ declare const SandboxSettingsSchema: () => z.ZodObject<{
|
|
|
2869
2926
|
error: "error";
|
|
2870
2927
|
warn: "warn";
|
|
2871
2928
|
}>>;
|
|
2929
|
+
decode: z.ZodOptional<z.ZodEnum<{
|
|
2930
|
+
jwt: "jwt";
|
|
2931
|
+
}>>;
|
|
2932
|
+
maskClaims: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2872
2933
|
maskDuplicates: z.ZodOptional<z.ZodBoolean>;
|
|
2873
2934
|
injectHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2874
2935
|
}, z.core.$strip>>>>;
|
|
@@ -2878,9 +2939,38 @@ declare const SandboxSettingsSchema: () => z.ZodObject<{
|
|
|
2878
2939
|
deny: "deny";
|
|
2879
2940
|
mask: "mask";
|
|
2880
2941
|
}>;
|
|
2942
|
+
extract: z.ZodOptional<z.ZodString>;
|
|
2943
|
+
onExtractNoMatch: z.ZodOptional<z.ZodEnum<{
|
|
2944
|
+
deny: "deny";
|
|
2945
|
+
error: "error";
|
|
2946
|
+
warn: "warn";
|
|
2947
|
+
}>>;
|
|
2948
|
+
decode: z.ZodOptional<z.ZodEnum<{
|
|
2949
|
+
jwt: "jwt";
|
|
2950
|
+
}>>;
|
|
2951
|
+
maskClaims: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2881
2952
|
injectHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2882
2953
|
}, z.core.$strip>>>>;
|
|
2883
2954
|
allowPlaintextInject: z.ZodOptional<z.ZodBoolean>;
|
|
2955
|
+
awsPairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2956
|
+
accessKeyIdVar: z.ZodString;
|
|
2957
|
+
secretAccessKeyVar: z.ZodString;
|
|
2958
|
+
sessionTokenVar: z.ZodOptional<z.ZodString>;
|
|
2959
|
+
}, z.core.$strip>>>;
|
|
2960
|
+
sigv4: z.ZodOptional<z.ZodObject<{
|
|
2961
|
+
streaming: z.ZodOptional<z.ZodEnum<{
|
|
2962
|
+
deny: "deny";
|
|
2963
|
+
passthrough: "passthrough";
|
|
2964
|
+
}>>;
|
|
2965
|
+
presigned: z.ZodOptional<z.ZodEnum<{
|
|
2966
|
+
deny: "deny";
|
|
2967
|
+
passthrough: "passthrough";
|
|
2968
|
+
}>>;
|
|
2969
|
+
sigv4a: z.ZodOptional<z.ZodEnum<{
|
|
2970
|
+
deny: "deny";
|
|
2971
|
+
passthrough: "passthrough";
|
|
2972
|
+
}>>;
|
|
2973
|
+
}, z.core.$strip>>;
|
|
2884
2974
|
}, z.core.$strip>>;
|
|
2885
2975
|
ignoreViolations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
2886
2976
|
enableWeakerNestedSandbox: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -4128,9 +4218,9 @@ export declare type SDKMessageOrigin = {
|
|
|
4128
4218
|
} | {
|
|
4129
4219
|
kind: 'task-notification';
|
|
4130
4220
|
/**
|
|
4131
|
-
* Present when the delivery is the fired stored prompt of a scheduled task/routine (stamped from server-asserted provenance; the schedule attests storage, not authorship). The harness frames
|
|
4221
|
+
* 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.
|
|
4132
4222
|
*/
|
|
4133
|
-
subkind?: 'scheduled-trigger';
|
|
4223
|
+
subkind?: 'scheduled-trigger' | 'peer-send-message';
|
|
4134
4224
|
} | {
|
|
4135
4225
|
kind: 'coordinator';
|
|
4136
4226
|
} | {
|
|
@@ -5775,8 +5865,19 @@ export declare interface Settings {
|
|
|
5775
5865
|
* Specific commit SHA to use
|
|
5776
5866
|
*/
|
|
5777
5867
|
sha?: string;
|
|
5868
|
+
} | {
|
|
5869
|
+
source: 'archive';
|
|
5870
|
+
/**
|
|
5871
|
+
* HTTPS URL of a zip archive containing the plugin. The plugin root (the directory holding .claude-plugin/) may be at the top of the archive or nested one directory deep — a single wrapping directory is stripped.
|
|
5872
|
+
*/
|
|
5873
|
+
url: string;
|
|
5874
|
+
/**
|
|
5875
|
+
* SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
|
|
5876
|
+
*/
|
|
5877
|
+
sha256?: string;
|
|
5778
5878
|
} | {
|
|
5779
5879
|
source: 'unsupported';
|
|
5880
|
+
error?: string;
|
|
5780
5881
|
};
|
|
5781
5882
|
description?: string;
|
|
5782
5883
|
version?: string;
|
|
@@ -5975,8 +6076,19 @@ export declare interface Settings {
|
|
|
5975
6076
|
* Specific commit SHA to use
|
|
5976
6077
|
*/
|
|
5977
6078
|
sha?: string;
|
|
6079
|
+
} | {
|
|
6080
|
+
source: 'archive';
|
|
6081
|
+
/**
|
|
6082
|
+
* HTTPS URL of a zip archive containing the plugin. The plugin root (the directory holding .claude-plugin/) may be at the top of the archive or nested one directory deep — a single wrapping directory is stripped.
|
|
6083
|
+
*/
|
|
6084
|
+
url: string;
|
|
6085
|
+
/**
|
|
6086
|
+
* SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
|
|
6087
|
+
*/
|
|
6088
|
+
sha256?: string;
|
|
5978
6089
|
} | {
|
|
5979
6090
|
source: 'unsupported';
|
|
6091
|
+
error?: string;
|
|
5980
6092
|
};
|
|
5981
6093
|
description?: string;
|
|
5982
6094
|
version?: string;
|
|
@@ -6165,8 +6277,19 @@ export declare interface Settings {
|
|
|
6165
6277
|
* Specific commit SHA to use
|
|
6166
6278
|
*/
|
|
6167
6279
|
sha?: string;
|
|
6280
|
+
} | {
|
|
6281
|
+
source: 'archive';
|
|
6282
|
+
/**
|
|
6283
|
+
* HTTPS URL of a zip archive containing the plugin. The plugin root (the directory holding .claude-plugin/) may be at the top of the archive or nested one directory deep — a single wrapping directory is stripped.
|
|
6284
|
+
*/
|
|
6285
|
+
url: string;
|
|
6286
|
+
/**
|
|
6287
|
+
* SHA-256 digest of the archive. When set, every download is verified against it and the install is refused on mismatch. It also serves as the version identity when neither plugin.json nor the marketplace entry declares a `version`. Recommended. Note the update signal is the version string (plugin.json version, else the entry version, else this digest) — changing only the digest while a version is declared does not trigger an update.
|
|
6288
|
+
*/
|
|
6289
|
+
sha256?: string;
|
|
6168
6290
|
} | {
|
|
6169
6291
|
source: 'unsupported';
|
|
6292
|
+
error?: string;
|
|
6170
6293
|
};
|
|
6171
6294
|
description?: string;
|
|
6172
6295
|
version?: string;
|
|
@@ -6324,11 +6447,19 @@ export declare interface Settings {
|
|
|
6324
6447
|
*/
|
|
6325
6448
|
extract?: string;
|
|
6326
6449
|
/**
|
|
6327
|
-
* What to do when `extract` matches nothing in the file. `warn` (default) emits a stderr warning and leaves the file readable as-is inside the sandbox (fail-open, for credentials that may be legitimately absent); `deny` degrades the entry to mode `deny` so the file is unreadable (fail-closed) — under `sandbox.filesystem.disabled` it is treated as `error`, since read-denies are dropped in that mode; `error` aborts at sandbox setup so nothing runs until the config is fixed. Only meaningful when mode is `mask` and `extract` is set; accepted but ignored otherwise.
|
|
6450
|
+
* What to do when `extract` matches nothing in the file — or, with `decode`, when no candidate survives verification. `warn` (default) emits a stderr warning and leaves the file readable as-is inside the sandbox (fail-open, for credentials that may be legitimately absent); `deny` degrades the entry to mode `deny` so the file is unreadable (fail-closed) — under `sandbox.filesystem.disabled` it is treated as `error`, since read-denies are dropped in that mode; `error` aborts at sandbox setup so nothing runs until the config is fixed. Only meaningful when mode is `mask` and `extract` or `decode` is set; accepted but ignored otherwise.
|
|
6328
6451
|
*/
|
|
6329
6452
|
onExtractNoMatch?: 'warn' | 'deny' | 'error';
|
|
6330
6453
|
/**
|
|
6331
|
-
*
|
|
6454
|
+
* Optional encoded-credential format for `mask` mode. `jwt`: candidates are located with a built-in JWT regex (or the explicit `extract` pattern, if set), verified to actually be JWTs before masking, and replaced with a structurally valid fake JWT so client-side token parsing inside the sandbox keeps working. If no candidate verifies, behavior is governed by `onExtractNoMatch` (default `warn`). Accepted but ignored for `deny`.
|
|
6455
|
+
*/
|
|
6456
|
+
decode?: 'jwt';
|
|
6457
|
+
/**
|
|
6458
|
+
* Names of top-level payload claims to mask inside each decoded value, instead of replacing the whole token. Each named claim present with a string value gets its own sentinel and the token is rebuilt around the modified payload; all other claims are preserved so a tool that decodes the token and reads a non-secret claim keeps working. Requires `decode`. If no named claim matches in any verified token, behavior is governed by `onExtractNoMatch` (default `warn`). Only meaningful when mode is `mask`; accepted but ignored for `deny`.
|
|
6459
|
+
*/
|
|
6460
|
+
maskClaims?: string[];
|
|
6461
|
+
/**
|
|
6462
|
+
* If true, verbatim occurrences of each captured credential value outside the regex-matched spans are also replaced with the corresponding sentinel — for a secret repeated where the regex does not reach (e.g. pasted into a comment). Matches raw substrings, so short or common values may corrupt unrelated content; intended for long, high-entropy secrets. Defaults to false. Only meaningful when mode is `mask` and `extract` or `decode` is set; accepted but ignored otherwise.
|
|
6332
6463
|
*/
|
|
6333
6464
|
maskDuplicates?: boolean;
|
|
6334
6465
|
/**
|
|
@@ -6348,6 +6479,22 @@ export declare interface Settings {
|
|
|
6348
6479
|
* Access mode for this environment variable. `deny` unsets the variable for sandboxed commands; `mask` shows sandboxed commands a sentinel value and the host proxy swaps sentinel→real on egress to `injectHosts`.
|
|
6349
6480
|
*/
|
|
6350
6481
|
mode: 'deny' | 'mask';
|
|
6482
|
+
/**
|
|
6483
|
+
* Optional regex for structured masking when mode is `mask`. Applied globally to the value; capture group 1 of each match is a credential value, and only those captured spans are replaced with sentinels — the rest of the value is preserved so a tool that parses it (a `DATABASE_URL` connection string, a composite `KEY:SECRET` pair) still succeeds inside the sandbox. Without `extract`, the entire value is replaced with one sentinel (whole-value masking, suited to bare tokens). If the regex matches nothing, behavior is governed by `onExtractNoMatch` (default `warn`). Cannot be combined with `decode` (the decode path never consults it). Accepted but ignored for `deny`.
|
|
6484
|
+
*/
|
|
6485
|
+
extract?: string;
|
|
6486
|
+
/**
|
|
6487
|
+
* What to do when `extract` matches nothing in the value. `warn` (default) emits a stderr warning and lets the variable pass through unmasked (fail-open, for credentials that may be legitimately absent); `deny` unsets the variable inside the sandbox (fail-closed); `error` aborts at sandbox setup so nothing runs until the config is fixed. Only meaningful when mode is `mask` and `extract` is set without `decode`. On a mask entry with `decode`, the runtime takes the decode path and never consults this field, so a fail-closed setting cannot be honored — `deny` and `error` are rejected there; only `warn` is accepted. In all other shapes the field is accepted but ignored.
|
|
6488
|
+
*/
|
|
6489
|
+
onExtractNoMatch?: 'warn' | 'deny' | 'error';
|
|
6490
|
+
/**
|
|
6491
|
+
* Optional encoded-credential format for `mask` mode. `jwt`: the variable's whole value is verified to actually be a JWT and replaced with a structurally valid fake JWT so client-side token parsing inside the sandbox keeps working; the proxy swaps the whole fake token on egress. If the value does not verify, the variable is left unmasked with a stderr warning (fail-open). Cannot be combined with `extract` — the decode path never consults it. Accepted but ignored for `deny`.
|
|
6492
|
+
*/
|
|
6493
|
+
decode?: 'jwt';
|
|
6494
|
+
/**
|
|
6495
|
+
* Names of top-level payload claims to mask inside the decoded value, instead of replacing the whole token. Each named claim present with a string value gets its own sentinel and the token is rebuilt around the modified payload; all other claims are preserved so claim-reading clients keep working. Requires `decode`. If no named claim matches, the variable is left unmasked with a stderr warning (fail-open). Only meaningful when mode is `mask`; accepted but ignored for `deny`.
|
|
6496
|
+
*/
|
|
6497
|
+
maskClaims?: string[];
|
|
6351
6498
|
/**
|
|
6352
6499
|
* Optional narrowing of where the proxy substitutes this credential. Only meaningful when mode is `mask`; accepted but ignored for `deny`. If unset, defaults to `network.allowedDomains` — the credential is injected at every reachable host. Each entry must be reachable via `network.allowedDomains` (sandbox-runtime validates this).
|
|
6353
6500
|
*/
|
|
@@ -6357,6 +6504,40 @@ export declare interface Settings {
|
|
|
6357
6504
|
* Allow sentinel→real substitution on the plain-HTTP proxy path. Defaults to false: without TLS termination the upstream identity is unverified and the credential travels in cleartext. Set only for trusted-network test fixtures. Only honored from user, managed/policy, or CLI (`--settings`) settings — project settings (.claude/settings.json and .claude/settings.local.json) are ignored.
|
|
6358
6505
|
*/
|
|
6359
6506
|
allowPlaintextInject?: boolean;
|
|
6507
|
+
/**
|
|
6508
|
+
* Explicit groupings of masked env vars into AWS credential pairs for SigV4 re-signing, for non-standard variable names. The conventional AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_TOKEN trio is paired automatically when masked. Only honored from user, managed/policy, or CLI (`--settings`) settings — project settings (.claude/settings.json and .claude/settings.local.json) are ignored. A member is only usable when its env var is forwarded as a whole-value `mask` entry (an entry carrying `extract` or `decode` does not qualify — re-signing needs the whole real value). A pair whose key id or secret member is unusable never re-signs: it is dropped, unless it names a conventional AWS variable, in which case it is forwarded as an inert suppressor so implicit auto-pairing stays overridden. A pair whose ONLY unusable member is the session token still re-signs, without an x-amz-security-token (temporary-credential requests fail upstream until the entry is fixed).
|
|
6509
|
+
*/
|
|
6510
|
+
awsPairs?: {
|
|
6511
|
+
/**
|
|
6512
|
+
* Name of the masked env var holding the AWS access key id.
|
|
6513
|
+
*/
|
|
6514
|
+
accessKeyIdVar: string;
|
|
6515
|
+
/**
|
|
6516
|
+
* Name of the masked env var holding the AWS secret access key.
|
|
6517
|
+
*/
|
|
6518
|
+
secretAccessKeyVar: string;
|
|
6519
|
+
/**
|
|
6520
|
+
* Optional name of the masked env var holding the AWS session token (temporary credentials). When set, the proxy sends the real token as x-amz-security-token on re-signed requests and adds it to the signed header set if the client did not.
|
|
6521
|
+
*/
|
|
6522
|
+
sessionTokenVar?: string;
|
|
6523
|
+
}[];
|
|
6524
|
+
/**
|
|
6525
|
+
* Policies for AWS SigV4 request shapes the proxy cannot re-sign (streaming, presigned, sigv4a) when they reference a masked credential pair: `deny` (default) or `passthrough`. Only honored from user, managed/policy, or CLI (`--settings`) settings — project settings (.claude/settings.json and .claude/settings.local.json) are ignored.
|
|
6526
|
+
*/
|
|
6527
|
+
sigv4?: {
|
|
6528
|
+
/**
|
|
6529
|
+
* Policy for aws-chunked streaming uploads (x-amz-content-sha256: STREAMING-*): per-chunk signatures chain off the seed signature, so re-signing would require rewriting the body. `deny` (default) fails closed with a 403; `passthrough` forwards the request unre-signed (the upstream will reject its signature).
|
|
6530
|
+
*/
|
|
6531
|
+
streaming?: 'deny' | 'passthrough';
|
|
6532
|
+
/**
|
|
6533
|
+
* Policy for presigned URLs (X-Amz-Algorithm/X-Amz-Signature in the query, no Authorization header): the signature lives in the URL itself. `deny` (default) or `passthrough`.
|
|
6534
|
+
*/
|
|
6535
|
+
presigned?: 'deny' | 'passthrough';
|
|
6536
|
+
/**
|
|
6537
|
+
* Policy for SigV4A (AWS4-ECDSA-P256-SHA256) asymmetric signatures: there is no shared-key HMAC to recompute. `deny` (default) or `passthrough`.
|
|
6538
|
+
*/
|
|
6539
|
+
sigv4a?: 'deny' | 'passthrough';
|
|
6540
|
+
};
|
|
6360
6541
|
};
|
|
6361
6542
|
ignoreViolations?: {
|
|
6362
6543
|
[k: string]: string[];
|
|
@@ -6467,6 +6648,10 @@ export declare interface Settings {
|
|
|
6467
6648
|
* Idle time before Claude's questions auto-continue with any answers selected so far. Defaults to never — auto-continue only runs when explicitly set to 60s/5m/10m.
|
|
6468
6649
|
*/
|
|
6469
6650
|
askUserQuestionTimeout?: '60s' | '5m' | '10m' | 'never';
|
|
6651
|
+
/**
|
|
6652
|
+
* Max time a permission/user dialog forwarded to a remote client stays parked awaiting an answer, and how long a HELD cross-session message awaits approval, before either resolves to its safe no-action default (cancelled / dropped-with-denial). Defaults to 5m to match the long-standing remote-dialog deadline; "never" disables the deadline. Local-only permission prompts (no remote client) are unaffected. The CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS env var, when set, overrides this. Read from trusted sources only (never a checked-in repo settings file).
|
|
6653
|
+
*/
|
|
6654
|
+
dialogExpiry?: '60s' | '5m' | '10m' | 'never';
|
|
6470
6655
|
/**
|
|
6471
6656
|
* Name of an agent (built-in or custom) to use for the main thread. Applies the agent's system prompt, tool restrictions, and model.
|
|
6472
6657
|
*/
|
|
@@ -6708,6 +6893,10 @@ export declare interface Settings {
|
|
|
6708
6893
|
* When no background service is running: 'transient' spawns one for this login session; 'ask' offers to install it persistently
|
|
6709
6894
|
*/
|
|
6710
6895
|
daemonColdStart?: 'transient' | 'ask';
|
|
6896
|
+
/**
|
|
6897
|
+
* Inbound cross-session peer messages (SendMessage from your other sessions): 'accept' delivers them, 'hold' parks them for your review without letting Claude act, 'refuse' opts this session out. An explicit value always wins. Unset (mode parity): a message auto-delivers only when the sending session's permission-mode class matches yours (bypass↔bypass or prompting↔prompting); a mismatched sender's message is held for your approval; a sender that asserts no class is held only while this session bypasses permission prompts.
|
|
6898
|
+
*/
|
|
6899
|
+
crossSessionInbound?: 'accept' | 'hold' | 'refuse';
|
|
6711
6900
|
/**
|
|
6712
6901
|
* Mirror local sessions to claude.ai as view-only (no remote control)
|
|
6713
6902
|
*/
|