@anthropic-ai/claude-agent-sdk 0.3.142 → 0.3.144
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/README.md +21 -0
- package/assistant.mjs +82 -82
- package/bridge.mjs +62 -62
- package/browser-sdk.js +24 -24
- package/extractFromBunfs.d.ts +1 -0
- package/extractFromBunfs.js +156 -0
- package/manifest.json +19 -19
- package/manifest.zst.json +23 -23
- package/package.json +22 -14
- package/sdk.d.ts +10 -3
- package/sdk.mjs +46 -46
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function extractFromBunfs(embeddedPath: string): string
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/* eslint-disable custom-rules/no-sync-fs */
|
|
2
|
+
// Extracts a file from Bun's $bunfs virtual filesystem to a real temp directory
|
|
3
|
+
// so it can be spawned as a subprocess (child processes cannot access $bunfs).
|
|
4
|
+
//
|
|
5
|
+
// Ships verbatim (unbundled) as the @anthropic-ai/claude-agent-sdk `./extract`
|
|
6
|
+
// export — keep it standalone and Node-importable (no Bun globals, no
|
|
7
|
+
// local-relative imports).
|
|
8
|
+
|
|
9
|
+
import { createHash } from 'crypto'
|
|
10
|
+
import {
|
|
11
|
+
chmodSync,
|
|
12
|
+
existsSync,
|
|
13
|
+
lstatSync,
|
|
14
|
+
mkdirSync,
|
|
15
|
+
readFileSync,
|
|
16
|
+
renameSync,
|
|
17
|
+
unlinkSync,
|
|
18
|
+
writeFileSync,
|
|
19
|
+
} from 'fs'
|
|
20
|
+
import { tmpdir as osTmpdir } from 'os'
|
|
21
|
+
import { basename, join } from 'path'
|
|
22
|
+
|
|
23
|
+
// Inlined from src/utils/tempfile.ts — this file ships verbatim (unbundled) as
|
|
24
|
+
// the @anthropic-ai/claude-agent-sdk/extract export, so it must have zero
|
|
25
|
+
// local-relative imports. Keep behavior in sync with tempfile.ts#tmpdir.
|
|
26
|
+
function tmpdir() {
|
|
27
|
+
if (process.env.CLAUDE_CODE_TMPDIR) {
|
|
28
|
+
return process.env.CLAUDE_CODE_TMPDIR
|
|
29
|
+
}
|
|
30
|
+
if (process.platform === 'darwin') {
|
|
31
|
+
// eslint-disable-next-line custom-rules/no-hardcoded-tmp -- mirrors tempfile.ts: macOS /tmp works fine; os.tmpdir() below is for Android-on-Linux where /tmp isn't writable.
|
|
32
|
+
return '/tmp'
|
|
33
|
+
}
|
|
34
|
+
return osTmpdir()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Inlined from src/utils/tempfile.ts#claudeTempDir + verifyTempDirOwnership —
|
|
38
|
+
// keep behavior in sync. Per-UID Claude temp directory: `{tmpdir()}/claude-{uid}`
|
|
39
|
+
// on Unix, `{tmpdir()}/claude` on Windows (where %TEMP% is already per-user).
|
|
40
|
+
//
|
|
41
|
+
// Defense-in-depth against a local attacker pre-creating the extraction dir
|
|
42
|
+
// before the victim's first run: the content-hash dir name is fully predictable
|
|
43
|
+
// (sha256 of a public npm binary) under shared `/tmp`, and
|
|
44
|
+
// `mkdirSync({recursive:true})` is a silent no-op on a pre-existing dir without
|
|
45
|
+
// enforcing owner or mode. Without this check an attacker-owned directory would
|
|
46
|
+
// be used as-is, letting them swap the binary the SDK later spawns.
|
|
47
|
+
function safeTempBase() {
|
|
48
|
+
const dir = join(
|
|
49
|
+
tmpdir(),
|
|
50
|
+
process.platform === 'win32'
|
|
51
|
+
? 'claude'
|
|
52
|
+
: `claude-${process.getuid?.() ?? 0}`,
|
|
53
|
+
)
|
|
54
|
+
// Gate on getuid (POSIX-only) rather than process.platform: getuid presence
|
|
55
|
+
// reflects the real OS. No-op on Windows where %TEMP% is already per-user.
|
|
56
|
+
if (typeof process.getuid === 'function') {
|
|
57
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 })
|
|
58
|
+
const uid = process.getuid()
|
|
59
|
+
const st = lstatSync(dir)
|
|
60
|
+
if (!st.isDirectory()) {
|
|
61
|
+
throw new Error(
|
|
62
|
+
`Temp directory ${dir} is not a directory (may be an attacker-planted symlink). Refusing to use it.`,
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
if (st.uid !== uid) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
`Temp directory ${dir} is owned by uid ${st.uid}, expected ${uid}. Refusing to use it — another user may have pre-created it.`,
|
|
68
|
+
)
|
|
69
|
+
}
|
|
70
|
+
if ((st.mode & 0o777) !== 0o700) {
|
|
71
|
+
// Owner matches, so this is our own dir from a prior run with a looser
|
|
72
|
+
// umask rather than an attacker pre-create. Tighten it.
|
|
73
|
+
chmodSync(dir, 0o700)
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
// Windows: best-effort create; verification is skipped (%TEMP% is per-user).
|
|
77
|
+
try {
|
|
78
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 })
|
|
79
|
+
} catch {
|
|
80
|
+
// best-effort; see comment above
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return dir
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* If `embeddedPath` is inside Bun's $bunfs virtual filesystem, extract it to a
|
|
88
|
+
* temp directory and return the real path. Otherwise return the path unchanged.
|
|
89
|
+
*
|
|
90
|
+
* Uses a content hash for the directory name so that:
|
|
91
|
+
* - Same binary version reuses the same extracted file (no accumulation)
|
|
92
|
+
* - Different versions get separate directories (no collision)
|
|
93
|
+
* - Concurrent instances are safe (atomic write via temp file + rename)
|
|
94
|
+
*
|
|
95
|
+
* @param {string} embeddedPath — path returned by `import ... with { type: 'file' }`
|
|
96
|
+
* @returns {string} — a real filesystem path that can be spawned as a subprocess
|
|
97
|
+
*/
|
|
98
|
+
export function extractFromBunfs(embeddedPath) {
|
|
99
|
+
// Bun single-file embed: `/$bunfs/root/...` (POSIX) or `B:\~BUN\root\...`
|
|
100
|
+
// (Windows — Bun's StandaloneModuleGraph uses `~BUN`, not `$bunfs`, on Windows).
|
|
101
|
+
if (!embeddedPath.includes('$bunfs') && !embeddedPath.includes('~BUN')) {
|
|
102
|
+
return embeddedPath
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
try {
|
|
106
|
+
const content = readFileSync(embeddedPath)
|
|
107
|
+
const hash = createHash('sha256').update(content).digest('hex').slice(0, 16)
|
|
108
|
+
const tmpDir = join(safeTempBase(), `claude-agent-sdk-${hash}`)
|
|
109
|
+
// Preserve the embedded file's basename — ProcessTransport.isNativeBinary()
|
|
110
|
+
// decides whether to spawn directly or via node/bun based on extension, so
|
|
111
|
+
// a native binary must not come out named cli.js.
|
|
112
|
+
const fileName = basename(embeddedPath)
|
|
113
|
+
const tmpPath = join(tmpDir, fileName)
|
|
114
|
+
mkdirSync(tmpDir, { recursive: true, mode: 0o700 })
|
|
115
|
+
// The directory is content-hash-keyed, so an existing tmpPath is byte-
|
|
116
|
+
// identical to what we would write — short-circuit. This is a write
|
|
117
|
+
// idempotency check on a content-addressed path, not a read TOCTOU
|
|
118
|
+
// (the existence IS the contract). Without it, a second call (or a
|
|
119
|
+
// concurrent app instance) on Windows would hit EPERM/EBUSY renaming over
|
|
120
|
+
// the memory-mapped running .exe and fall back to the unspawnable $bunfs
|
|
121
|
+
// path. It also skips a redundant write+chmod on every call.
|
|
122
|
+
if (existsSync(tmpPath)) {
|
|
123
|
+
return tmpPath
|
|
124
|
+
}
|
|
125
|
+
// Write to a temp file and atomically rename to avoid truncation races —
|
|
126
|
+
// concurrent readers always see either the old complete file or the new one.
|
|
127
|
+
const tmpFile = join(tmpDir, `${fileName}.tmp.${process.pid}`)
|
|
128
|
+
writeFileSync(tmpFile, content)
|
|
129
|
+
chmodSync(tmpFile, 0o755)
|
|
130
|
+
try {
|
|
131
|
+
renameSync(tmpFile, tmpPath)
|
|
132
|
+
} catch (e) {
|
|
133
|
+
if ((e.code === 'EPERM' || e.code === 'EBUSY') && existsSync(tmpPath)) {
|
|
134
|
+
// Lost a concurrent first-time-extraction race on Windows: the winner's
|
|
135
|
+
// child holds tmpPath memory-mapped, so the loser's rename over it fails.
|
|
136
|
+
// The content-hash dir guarantees byte-identity, so the winner's file is
|
|
137
|
+
// exactly what we'd have written — use it.
|
|
138
|
+
try {
|
|
139
|
+
unlinkSync(tmpFile)
|
|
140
|
+
} catch {
|
|
141
|
+
// best-effort cleanup of our orphaned .tmp.{pid} file
|
|
142
|
+
}
|
|
143
|
+
return tmpPath
|
|
144
|
+
}
|
|
145
|
+
throw e
|
|
146
|
+
}
|
|
147
|
+
return tmpPath
|
|
148
|
+
} catch (err) {
|
|
149
|
+
// biome-ignore lint/suspicious/noConsole: intentional user-facing warning in standalone SDK helper
|
|
150
|
+
console.warn(
|
|
151
|
+
`[claude-agent-sdk] Failed to extract CLI from $bunfs: ${err.message}. ` +
|
|
152
|
+
`Child processes cannot access $bunfs paths — the CLI will likely fail to start.`,
|
|
153
|
+
)
|
|
154
|
+
return embeddedPath
|
|
155
|
+
}
|
|
156
|
+
}
|
package/manifest.json
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-05-
|
|
2
|
+
"version": "2.1.144",
|
|
3
|
+
"commit": "32281b6b930f7e2ab4f0b5e2494e263b9c1ffb7e",
|
|
4
|
+
"buildDate": "2026-05-18T18:52:18Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "9886baa4ec4c455f86108464f121732193ee76e5dfceb031005f59f31276a5df",
|
|
9
|
+
"size": 207919008
|
|
10
10
|
},
|
|
11
11
|
"darwin-x64": {
|
|
12
12
|
"binary": "claude",
|
|
13
|
-
"checksum": "
|
|
14
|
-
"size":
|
|
13
|
+
"checksum": "d225c07b713615ceda54cebcfb6280942b113c64dccbaa114b12204e917087f8",
|
|
14
|
+
"size": 210433168
|
|
15
15
|
},
|
|
16
16
|
"linux-arm64": {
|
|
17
17
|
"binary": "claude",
|
|
18
|
-
"checksum": "
|
|
19
|
-
"size":
|
|
18
|
+
"checksum": "c8ccccbfce12d684588bd3af366394132f614dcf3c86beb2066f86bde2704513",
|
|
19
|
+
"size": 233289352
|
|
20
20
|
},
|
|
21
21
|
"linux-x64": {
|
|
22
22
|
"binary": "claude",
|
|
23
|
-
"checksum": "
|
|
24
|
-
"size":
|
|
23
|
+
"checksum": "147480774472e5720fd5e83617b3e9299344e7213efa84c326b25bd5a0f20b4e",
|
|
24
|
+
"size": 233404112
|
|
25
25
|
},
|
|
26
26
|
"linux-arm64-musl": {
|
|
27
27
|
"binary": "claude",
|
|
28
|
-
"checksum": "
|
|
29
|
-
"size":
|
|
28
|
+
"checksum": "68a92c68f18cd25676259b12cd799ddf1e8bdac24f927ac50defd8be26a1448d",
|
|
29
|
+
"size": 226144088
|
|
30
30
|
},
|
|
31
31
|
"linux-x64-musl": {
|
|
32
32
|
"binary": "claude",
|
|
33
|
-
"checksum": "
|
|
34
|
-
"size":
|
|
33
|
+
"checksum": "f1f736eb04632ce3f720e04a67ba0209d55726cb88e8e23f6f33b8cd6481b6ca",
|
|
34
|
+
"size": 227798064
|
|
35
35
|
},
|
|
36
36
|
"win32-x64": {
|
|
37
37
|
"binary": "claude.exe",
|
|
38
|
-
"checksum": "
|
|
39
|
-
"size":
|
|
38
|
+
"checksum": "ae150c7d6100e14c67efc90c2b55e0db9cdbcef2b2c7b3cb56998331182e3d2f",
|
|
39
|
+
"size": 229302432
|
|
40
40
|
},
|
|
41
41
|
"win32-arm64": {
|
|
42
42
|
"binary": "claude.exe",
|
|
43
|
-
"checksum": "
|
|
44
|
-
"size":
|
|
43
|
+
"checksum": "2871ae906ed83f826ce9fa721ec82418c15315e11ab3cb3fe821f3c056fcff4d",
|
|
44
|
+
"size": 225266848
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
package/manifest.zst.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.1.
|
|
3
|
-
"commit": "
|
|
4
|
-
"buildDate": "2026-05-
|
|
2
|
+
"version": "2.1.144",
|
|
3
|
+
"commit": "32281b6b930f7e2ab4f0b5e2494e263b9c1ffb7e",
|
|
4
|
+
"buildDate": "2026-05-18T18:59:24Z",
|
|
5
5
|
"platforms": {
|
|
6
6
|
"darwin-arm64": {
|
|
7
7
|
"binary": "claude.zst",
|
|
8
|
-
"checksum": "
|
|
9
|
-
"size":
|
|
8
|
+
"checksum": "ee45631e54620b1493a186c3f68737a586bb9743e8bedd7d40d663ef1488ef72",
|
|
9
|
+
"size": 43055466,
|
|
10
10
|
"bundle": {
|
|
11
|
-
"checksum": "
|
|
12
|
-
"size":
|
|
11
|
+
"checksum": "ca17f3dffb8230ec6ccedf35bec149e9ab3a616509d2bc55ae90ed84f88d13e3",
|
|
12
|
+
"size": 43067561
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"darwin-x64": {
|
|
16
16
|
"binary": "claude.zst",
|
|
17
|
-
"checksum": "
|
|
18
|
-
"size":
|
|
17
|
+
"checksum": "d4023e18885bda3f0edea593cabe97f1d71912b8f3d1daeebb28551fdca2ccb1",
|
|
18
|
+
"size": 44977785,
|
|
19
19
|
"bundle": {
|
|
20
|
-
"checksum": "
|
|
21
|
-
"size":
|
|
20
|
+
"checksum": "0c04c6b629f308b19e1f4048c37fd6705c8e75c236e8f9350b8b20449f06eb1a",
|
|
21
|
+
"size": 44989436
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"linux-arm64": {
|
|
25
25
|
"binary": "claude.zst",
|
|
26
|
-
"checksum": "
|
|
27
|
-
"size":
|
|
26
|
+
"checksum": "9e1043902191323aa6e2798d6810028241d8ca166d52133e0565a1cb9b3e2f58",
|
|
27
|
+
"size": 50842663
|
|
28
28
|
},
|
|
29
29
|
"linux-x64": {
|
|
30
30
|
"binary": "claude.zst",
|
|
31
|
-
"checksum": "
|
|
32
|
-
"size":
|
|
31
|
+
"checksum": "11faccc6f4fc49184d8e4a847eb2feb7cda225722395f47cd6b61a93751f3edc",
|
|
32
|
+
"size": 51470721
|
|
33
33
|
},
|
|
34
34
|
"linux-arm64-musl": {
|
|
35
35
|
"binary": "claude.zst",
|
|
36
|
-
"checksum": "
|
|
37
|
-
"size":
|
|
36
|
+
"checksum": "f9c4091a1ba8664c20c1e6f77e99a5a76e772e2a1ca5bf217f88567fbb29fb0e",
|
|
37
|
+
"size": 49480624
|
|
38
38
|
},
|
|
39
39
|
"linux-x64-musl": {
|
|
40
40
|
"binary": "claude.zst",
|
|
41
|
-
"checksum": "
|
|
42
|
-
"size":
|
|
41
|
+
"checksum": "4a9a7daa9ff2e36e476196ecc07c305c3e68f36af5dad1a0decdd158525ff204",
|
|
42
|
+
"size": 50191473
|
|
43
43
|
},
|
|
44
44
|
"win32-x64": {
|
|
45
45
|
"binary": "claude.exe.zst",
|
|
46
|
-
"checksum": "
|
|
47
|
-
"size":
|
|
46
|
+
"checksum": "09ace0211e4eb689df96fca870421a7674ffb15876f1fdb8f887e397141778d1",
|
|
47
|
+
"size": 52206852
|
|
48
48
|
},
|
|
49
49
|
"win32-arm64": {
|
|
50
50
|
"binary": "claude.exe.zst",
|
|
51
|
-
"checksum": "
|
|
52
|
-
"size":
|
|
51
|
+
"checksum": "c061d3098ee1a261375347ffd2350d64d2b8a23a220b68ce3214ebe679395434",
|
|
52
|
+
"size": 50477031
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
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.144",
|
|
4
4
|
"main": "sdk.mjs",
|
|
5
5
|
"types": "sdk.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"types": "./sdk.d.ts",
|
|
9
9
|
"default": "./sdk.mjs"
|
|
10
10
|
},
|
|
11
|
+
"./extract": {
|
|
12
|
+
"types": "./extractFromBunfs.d.ts",
|
|
13
|
+
"default": "./extractFromBunfs.js"
|
|
14
|
+
},
|
|
11
15
|
"./browser": {
|
|
12
16
|
"types": "./browser-sdk.d.ts",
|
|
13
17
|
"default": "./browser-sdk.js"
|
|
@@ -35,6 +39,10 @@
|
|
|
35
39
|
"license": "SEE LICENSE IN README.md",
|
|
36
40
|
"description": "SDK for building AI agents with Claude Code's capabilities. Programmatically interact with Claude to build autonomous agents that can understand codebases, edit files, and execute workflows.",
|
|
37
41
|
"homepage": "https://github.com/anthropics/claude-agent-sdk-typescript",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/anthropics/claude-agent-sdk-typescript.git"
|
|
45
|
+
},
|
|
38
46
|
"bugs": {
|
|
39
47
|
"url": "https://github.com/anthropics/claude-agent-sdk-typescript/issues"
|
|
40
48
|
},
|
|
@@ -47,22 +55,20 @@
|
|
|
47
55
|
"automation",
|
|
48
56
|
"code-generation"
|
|
49
57
|
],
|
|
50
|
-
"dependencies": {
|
|
51
|
-
"@anthropic-ai/sdk": "^0.93.0",
|
|
52
|
-
"@modelcontextprotocol/sdk": "^1.29.0"
|
|
53
|
-
},
|
|
54
58
|
"peerDependencies": {
|
|
59
|
+
"@anthropic-ai/sdk": ">=0.93.0",
|
|
60
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
55
61
|
"zod": "^4.0.0"
|
|
56
62
|
},
|
|
57
63
|
"optionalDependencies": {
|
|
58
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.
|
|
59
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.
|
|
60
|
-
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.
|
|
61
|
-
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.
|
|
62
|
-
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.
|
|
63
|
-
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.
|
|
64
|
-
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.
|
|
65
|
-
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.
|
|
64
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64": "0.3.144",
|
|
65
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64": "0.3.144",
|
|
66
|
+
"@anthropic-ai/claude-agent-sdk-linux-x64-musl": "0.3.144",
|
|
67
|
+
"@anthropic-ai/claude-agent-sdk-linux-arm64-musl": "0.3.144",
|
|
68
|
+
"@anthropic-ai/claude-agent-sdk-darwin-x64": "0.3.144",
|
|
69
|
+
"@anthropic-ai/claude-agent-sdk-darwin-arm64": "0.3.144",
|
|
70
|
+
"@anthropic-ai/claude-agent-sdk-win32-x64": "0.3.144",
|
|
71
|
+
"@anthropic-ai/claude-agent-sdk-win32-arm64": "0.3.144"
|
|
66
72
|
},
|
|
67
73
|
"files": [
|
|
68
74
|
"sdk.mjs",
|
|
@@ -75,8 +81,10 @@
|
|
|
75
81
|
"assistant.d.ts",
|
|
76
82
|
"browser-sdk.js",
|
|
77
83
|
"browser-sdk.d.ts",
|
|
84
|
+
"extractFromBunfs.js",
|
|
85
|
+
"extractFromBunfs.d.ts",
|
|
78
86
|
"manifest.json",
|
|
79
87
|
"manifest.zst.json"
|
|
80
88
|
],
|
|
81
|
-
"claudeCodeVersion": "2.1.
|
|
89
|
+
"claudeCodeVersion": "2.1.144"
|
|
82
90
|
}
|
package/sdk.d.ts
CHANGED
|
@@ -957,6 +957,7 @@ export declare type McpHttpServerConfig = {
|
|
|
957
957
|
* When true, all tools from this server are always included in the prompt and never deferred behind tool search. Equivalent to setting defer_loading: false on the API. Default: tools are deferred when tool search is enabled. As a side effect this also blocks startup until the server is connected (capped at the standard 5s connect timeout) even though MCP startup is otherwise non-blocking by default, since the tools must be present when the turn-1 prompt is built.
|
|
958
958
|
*/
|
|
959
959
|
alwaysLoad?: boolean;
|
|
960
|
+
|
|
960
961
|
};
|
|
961
962
|
|
|
962
963
|
export declare type McpSdkServerConfig = {
|
|
@@ -1062,6 +1063,7 @@ export declare type McpSSEServerConfig = {
|
|
|
1062
1063
|
* When true, all tools from this server are always included in the prompt and never deferred behind tool search. Equivalent to setting defer_loading: false on the API. Default: tools are deferred when tool search is enabled. As a side effect this also blocks startup until the server is connected (capped at the standard 5s connect timeout) even though MCP startup is otherwise non-blocking by default, since the tools must be present when the turn-1 prompt is built.
|
|
1063
1064
|
*/
|
|
1064
1065
|
alwaysLoad?: boolean;
|
|
1066
|
+
|
|
1065
1067
|
};
|
|
1066
1068
|
|
|
1067
1069
|
export declare type McpStdioServerConfig = {
|
|
@@ -1073,6 +1075,7 @@ export declare type McpStdioServerConfig = {
|
|
|
1073
1075
|
* When true, all tools from this server are always included in the prompt and never deferred behind tool search. Equivalent to setting defer_loading: false on the API. Default: tools are deferred when tool search is enabled. As a side effect this also blocks startup until the server is connected (capped at the standard 5s connect timeout) even though MCP startup is otherwise non-blocking by default, since the tools must be present when the turn-1 prompt is built.
|
|
1074
1076
|
*/
|
|
1075
1077
|
alwaysLoad?: boolean;
|
|
1078
|
+
|
|
1076
1079
|
};
|
|
1077
1080
|
|
|
1078
1081
|
/**
|
|
@@ -2502,7 +2505,7 @@ export declare type SDKAssistantMessage = {
|
|
|
2502
2505
|
task_description?: string;
|
|
2503
2506
|
};
|
|
2504
2507
|
|
|
2505
|
-
export declare type SDKAssistantMessageError = 'authentication_failed' | 'oauth_org_not_allowed' | 'billing_error' | 'rate_limit' | 'invalid_request' | 'server_error' | 'unknown' | 'max_output_tokens';
|
|
2508
|
+
export declare type SDKAssistantMessageError = 'authentication_failed' | 'oauth_org_not_allowed' | 'billing_error' | 'rate_limit' | 'invalid_request' | 'model_not_found' | 'server_error' | 'unknown' | 'max_output_tokens';
|
|
2506
2509
|
|
|
2507
2510
|
export declare type SDKAuthStatusMessage = {
|
|
2508
2511
|
type: 'auth_status';
|
|
@@ -3569,7 +3572,7 @@ export declare type SDKTaskUpdatedMessage = {
|
|
|
3569
3572
|
* Wire-safe subset of TaskState fields that changed. Excludes abortController, messages, result. Clients merge into their local task map.
|
|
3570
3573
|
*/
|
|
3571
3574
|
patch: {
|
|
3572
|
-
status?: 'pending' | 'running' | 'completed' | 'failed' | 'killed';
|
|
3575
|
+
status?: 'pending' | 'running' | 'completed' | 'failed' | 'killed' | 'paused';
|
|
3573
3576
|
description?: string;
|
|
3574
3577
|
end_time?: number;
|
|
3575
3578
|
total_paused_ms?: number;
|
|
@@ -3684,7 +3687,7 @@ export declare type SessionMessage = {
|
|
|
3684
3687
|
uuid: string;
|
|
3685
3688
|
session_id: string;
|
|
3686
3689
|
message: unknown;
|
|
3687
|
-
parent_tool_use_id: null;
|
|
3690
|
+
parent_tool_use_id: string | null;
|
|
3688
3691
|
};
|
|
3689
3692
|
|
|
3690
3693
|
/**
|
|
@@ -4274,6 +4277,10 @@ export declare interface Settings {
|
|
|
4274
4277
|
* Which ref new worktrees branch from. 'fresh' (default) branches from origin/<default-branch> for a clean tree. 'head' branches from your current local HEAD so unpushed commits and feature-branch state are present. Applies to --worktree, EnterWorktree, and agent isolation.
|
|
4275
4278
|
*/
|
|
4276
4279
|
baseRef?: 'fresh' | 'head';
|
|
4280
|
+
/**
|
|
4281
|
+
* Isolation mode for background sessions in this repo. 'worktree' (default) blocks Edit/Write in the main checkout until EnterWorktree is called. 'none' lets background jobs edit the working copy directly.
|
|
4282
|
+
*/
|
|
4283
|
+
bgIsolation?: 'worktree' | 'none';
|
|
4277
4284
|
};
|
|
4278
4285
|
/**
|
|
4279
4286
|
* Disable all hooks and statusLine execution
|