@anthropic-ai/sdk 0.119.0 → 0.120.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/helpers/beta/environments.d.mts +5 -4
- package/helpers/beta/environments.d.mts.map +1 -1
- package/helpers/beta/environments.d.ts +5 -4
- package/helpers/beta/environments.d.ts.map +1 -1
- package/helpers/beta/environments.js +5 -4
- package/helpers/beta/environments.js.map +1 -1
- package/helpers/beta/environments.mjs +5 -4
- package/helpers/beta/environments.mjs.map +1 -1
- package/internal/file-store.d.mts +136 -0
- package/internal/file-store.d.mts.map +1 -0
- package/internal/file-store.d.ts +136 -0
- package/internal/file-store.d.ts.map +1 -0
- package/internal/file-store.js +531 -0
- package/internal/file-store.js.map +1 -0
- package/internal/file-store.mjs +523 -0
- package/internal/file-store.mjs.map +1 -0
- package/lib/environments/poller.d.mts +6 -0
- package/lib/environments/poller.d.mts.map +1 -1
- package/lib/environments/poller.d.ts +6 -0
- package/lib/environments/poller.d.ts.map +1 -1
- package/lib/environments/poller.js +46 -1
- package/lib/environments/poller.js.map +1 -1
- package/lib/environments/poller.mjs +46 -1
- package/lib/environments/poller.mjs.map +1 -1
- package/lib/environments/worker.d.mts +89 -12
- package/lib/environments/worker.d.mts.map +1 -1
- package/lib/environments/worker.d.ts +89 -12
- package/lib/environments/worker.d.ts.map +1 -1
- package/lib/environments/worker.js +336 -67
- package/lib/environments/worker.js.map +1 -1
- package/lib/environments/worker.mjs +336 -68
- package/lib/environments/worker.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/beta/agents/agents.d.mts +322 -27
- package/resources/beta/agents/agents.d.mts.map +1 -1
- package/resources/beta/agents/agents.d.ts +322 -27
- package/resources/beta/agents/agents.d.ts.map +1 -1
- package/resources/beta/agents/agents.js.map +1 -1
- package/resources/beta/agents/agents.mjs.map +1 -1
- package/resources/beta/agents/index.d.mts +1 -1
- package/resources/beta/agents/index.d.mts.map +1 -1
- package/resources/beta/agents/index.d.ts +1 -1
- package/resources/beta/agents/index.d.ts.map +1 -1
- package/resources/beta/agents/index.js.map +1 -1
- package/resources/beta/agents/index.mjs.map +1 -1
- package/resources/beta/beta.d.mts +2 -2
- package/resources/beta/beta.d.mts.map +1 -1
- package/resources/beta/beta.d.ts +2 -2
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/environments/work.d.mts +5 -1
- package/resources/beta/environments/work.d.mts.map +1 -1
- package/resources/beta/environments/work.d.ts +5 -1
- package/resources/beta/environments/work.d.ts.map +1 -1
- package/resources/beta/environments/work.js +0 -17
- package/resources/beta/environments/work.js.map +1 -1
- package/resources/beta/environments/work.mjs +0 -17
- package/resources/beta/environments/work.mjs.map +1 -1
- package/resources/beta/index.d.mts +1 -1
- package/resources/beta/index.d.mts.map +1 -1
- package/resources/beta/index.d.ts +1 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/messages/messages.d.mts +1 -1
- package/resources/beta/messages/messages.d.ts +1 -1
- package/resources/messages/messages.d.mts +1 -1
- package/resources/messages/messages.d.ts +1 -1
- package/src/helpers/beta/environments.ts +5 -4
- package/src/internal/file-store.ts +550 -0
- package/src/lib/environments/poller.ts +47 -1
- package/src/lib/environments/worker.ts +419 -79
- package/src/resources/beta/agents/agents.ts +435 -30
- package/src/resources/beta/agents/index.ts +17 -0
- package/src/resources/beta/beta.ts +34 -0
- package/src/resources/beta/environments/work.ts +7 -0
- package/src/resources/beta/index.ts +17 -0
- package/src/resources/beta/messages/messages.ts +1 -1
- package/src/resources/messages/messages.ts +1 -1
- package/src/tools/agent-toolset/fs-util.ts +40 -24
- package/src/tools/agent-toolset/memories.ts +1017 -0
- package/src/tools/agent-toolset/node.browser.ts +68 -0
- package/src/tools/agent-toolset/node.ts +139 -53
- package/src/tools/agent-toolset/skills.ts +29 -9
- package/src/tools/agent-toolset/sync-interval.ts +30 -0
- package/src/version.ts +1 -1
- package/tools/agent-toolset/fs-util.d.mts +23 -10
- package/tools/agent-toolset/fs-util.d.mts.map +1 -1
- package/tools/agent-toolset/fs-util.d.ts +23 -10
- package/tools/agent-toolset/fs-util.d.ts.map +1 -1
- package/tools/agent-toolset/fs-util.js +40 -25
- package/tools/agent-toolset/fs-util.js.map +1 -1
- package/tools/agent-toolset/fs-util.mjs +38 -25
- package/tools/agent-toolset/fs-util.mjs.map +1 -1
- package/tools/agent-toolset/memories.d.mts +173 -0
- package/tools/agent-toolset/memories.d.mts.map +1 -0
- package/tools/agent-toolset/memories.d.ts +173 -0
- package/tools/agent-toolset/memories.d.ts.map +1 -0
- package/tools/agent-toolset/memories.js +902 -0
- package/tools/agent-toolset/memories.js.map +1 -0
- package/tools/agent-toolset/memories.mjs +895 -0
- package/tools/agent-toolset/memories.mjs.map +1 -0
- package/tools/agent-toolset/node.browser.d.mts +31 -0
- package/tools/agent-toolset/node.browser.d.mts.map +1 -1
- package/tools/agent-toolset/node.browser.d.ts +31 -0
- package/tools/agent-toolset/node.browser.d.ts.map +1 -1
- package/tools/agent-toolset/node.browser.js +59 -1
- package/tools/agent-toolset/node.browser.js.map +1 -1
- package/tools/agent-toolset/node.browser.mjs +54 -0
- package/tools/agent-toolset/node.browser.mjs.map +1 -1
- package/tools/agent-toolset/node.d.mts +54 -22
- package/tools/agent-toolset/node.d.mts.map +1 -1
- package/tools/agent-toolset/node.d.ts +54 -22
- package/tools/agent-toolset/node.d.ts.map +1 -1
- package/tools/agent-toolset/node.js +83 -44
- package/tools/agent-toolset/node.js.map +1 -1
- package/tools/agent-toolset/node.mjs +77 -44
- package/tools/agent-toolset/node.mjs.map +1 -1
- package/tools/agent-toolset/skills.d.mts +16 -7
- package/tools/agent-toolset/skills.d.mts.map +1 -1
- package/tools/agent-toolset/skills.d.ts +16 -7
- package/tools/agent-toolset/skills.d.ts.map +1 -1
- package/tools/agent-toolset/skills.js +27 -9
- package/tools/agent-toolset/skills.js.map +1 -1
- package/tools/agent-toolset/skills.mjs +27 -9
- package/tools/agent-toolset/skills.mjs.map +1 -1
- package/tools/agent-toolset/sync-interval.d.mts +19 -0
- package/tools/agent-toolset/sync-interval.d.mts.map +1 -0
- package/tools/agent-toolset/sync-interval.d.ts +19 -0
- package/tools/agent-toolset/sync-interval.d.ts.map +1 -0
- package/tools/agent-toolset/sync-interval.js +29 -0
- package/tools/agent-toolset/sync-interval.js.map +1 -0
- package/tools/agent-toolset/sync-interval.mjs +25 -0
- package/tools/agent-toolset/sync-interval.mjs.map +1 -0
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -21,16 +21,24 @@ export {
|
|
|
21
21
|
type BetaManagedAgentsAlwaysAskPolicy,
|
|
22
22
|
type BetaManagedAgentsAnthropicSkill,
|
|
23
23
|
type BetaManagedAgentsAnthropicSkillParams,
|
|
24
|
+
type BetaManagedAgentsBashToolConfig,
|
|
25
|
+
type BetaManagedAgentsBashToolConfigParams,
|
|
24
26
|
type BetaManagedAgentsCustomSkill,
|
|
25
27
|
type BetaManagedAgentsCustomSkillParams,
|
|
26
28
|
type BetaManagedAgentsCustomTool,
|
|
27
29
|
type BetaManagedAgentsCustomToolInputSchema,
|
|
28
30
|
type BetaManagedAgentsCustomToolParams,
|
|
31
|
+
type BetaManagedAgentsEditToolConfig,
|
|
32
|
+
type BetaManagedAgentsEditToolConfigParams,
|
|
29
33
|
type BetaManagedAgentsEffortHigh,
|
|
30
34
|
type BetaManagedAgentsEffortLow,
|
|
31
35
|
type BetaManagedAgentsEffortMax,
|
|
32
36
|
type BetaManagedAgentsEffortMedium,
|
|
33
37
|
type BetaManagedAgentsEffortXhigh,
|
|
38
|
+
type BetaManagedAgentsGlobToolConfig,
|
|
39
|
+
type BetaManagedAgentsGlobToolConfigParams,
|
|
40
|
+
type BetaManagedAgentsGrepToolConfig,
|
|
41
|
+
type BetaManagedAgentsGrepToolConfigParams,
|
|
34
42
|
type BetaManagedAgentsMCPServerURLDefinition,
|
|
35
43
|
type BetaManagedAgentsMCPToolConfig,
|
|
36
44
|
type BetaManagedAgentsMCPToolConfigParams,
|
|
@@ -44,9 +52,18 @@ export {
|
|
|
44
52
|
type BetaManagedAgentsMultiagentCoordinator,
|
|
45
53
|
type BetaManagedAgentsMultiagentCoordinatorParams,
|
|
46
54
|
type BetaManagedAgentsMultiagentSelfParams,
|
|
55
|
+
type BetaManagedAgentsReadToolConfig,
|
|
56
|
+
type BetaManagedAgentsReadToolConfigParams,
|
|
47
57
|
type BetaManagedAgentsSessionThreadAgent,
|
|
48
58
|
type BetaManagedAgentsSkillParams,
|
|
49
59
|
type BetaManagedAgentsURLMCPServerParams,
|
|
60
|
+
type BetaManagedAgentsUserLocation,
|
|
61
|
+
type BetaManagedAgentsWebFetchToolConfig,
|
|
62
|
+
type BetaManagedAgentsWebFetchToolConfigParams,
|
|
63
|
+
type BetaManagedAgentsWebSearchToolConfig,
|
|
64
|
+
type BetaManagedAgentsWebSearchToolConfigParams,
|
|
65
|
+
type BetaManagedAgentsWriteToolConfig,
|
|
66
|
+
type BetaManagedAgentsWriteToolConfigParams,
|
|
50
67
|
type AgentCreateParams,
|
|
51
68
|
type AgentRetrieveParams,
|
|
52
69
|
type AgentUpdateParams,
|
|
@@ -15,13 +15,25 @@ export const DIR_CREATE_MODE = 0o755;
|
|
|
15
15
|
/** Mode for files the file tools create. */
|
|
16
16
|
export const FILE_CREATE_MODE = 0o644;
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
/** True when `p` is `root` itself or lexically contained within it. */
|
|
19
|
+
export function isWithin(root: string, p: string): boolean {
|
|
20
|
+
const rel = path.relative(root, p);
|
|
21
|
+
return rel === '' || (!rel.startsWith('..' + path.sep) && rel !== '..' && !path.isAbsolute(rel));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The first entry of `roots` whose canonical form contains the
|
|
26
|
+
* already-canonical `target`, returned as configured; `undefined` when none
|
|
27
|
+
* does. Each root goes through {@link canonicalize} at check time, exactly like
|
|
28
|
+
* the workdir in {@link confineToRoot}, so granting access (`allowedRoots`)
|
|
29
|
+
* and refusing writes (`readOnlyRoots`) can never resolve the same entry two
|
|
30
|
+
* different ways.
|
|
31
|
+
*/
|
|
32
|
+
export async function containingRoot(roots: readonly string[], target: string): Promise<string | undefined> {
|
|
33
|
+
for (const root of roots) {
|
|
34
|
+
if (isWithin(await canonicalize(path.resolve(root)), target)) return root;
|
|
24
35
|
}
|
|
36
|
+
return undefined;
|
|
25
37
|
}
|
|
26
38
|
|
|
27
39
|
/** Matches Linux MAXSYMLINKS, the threshold at which `realpath` itself reports ELOOP. */
|
|
@@ -79,17 +91,19 @@ export async function canonicalize(abs: string): Promise<string> {
|
|
|
79
91
|
}
|
|
80
92
|
|
|
81
93
|
/**
|
|
82
|
-
* Resolve `p` and confine it to `root
|
|
94
|
+
* Resolve `p` against `root` and confine it to `root` or one of `allowedRoots`
|
|
95
|
+
* (absolute paths, resolved at check time exactly like `root`).
|
|
83
96
|
*
|
|
84
97
|
* Absolute and relative inputs go through the same canonicalise-then-contain
|
|
85
|
-
* check — an absolute path that lands inside
|
|
86
|
-
* that resolve *outside* are rejected. Every symlink in
|
|
87
|
-
* leaf, even a dangling one) is resolved before the
|
|
88
|
-
* resolved path is what the caller then operates
|
|
89
|
-
* that points outside it can neither pass the
|
|
90
|
-
* `..` is collapsed lexically before any
|
|
91
|
-
* be resolved (symlink loop, unreadable
|
|
92
|
-
* `ToolError` naming `p`, never the host's
|
|
98
|
+
* check — an absolute path that lands inside a permitted root is accepted,
|
|
99
|
+
* only paths that resolve *outside* all of them are rejected. Every symlink in
|
|
100
|
+
* `p` (including the leaf, even a dangling one) is resolved before the
|
|
101
|
+
* confinement check, and the resolved path is what the caller then operates
|
|
102
|
+
* on, so a symlink inside `root` that points outside it can neither pass the
|
|
103
|
+
* check nor be followed afterwards. `..` is collapsed lexically before any
|
|
104
|
+
* symlink is followed. A path that cannot be resolved (symlink loop, unreadable
|
|
105
|
+
* component) is rejected with a `ToolError` naming `p`, never the host's
|
|
106
|
+
* absolute path.
|
|
93
107
|
*
|
|
94
108
|
* Residual TOCTOU: a component could still be swapped for a symlink between this
|
|
95
109
|
* call and the eventual `fs` operation. Closing that fully needs per-component
|
|
@@ -99,22 +113,24 @@ export async function canonicalize(abs: string): Promise<string> {
|
|
|
99
113
|
export async function confineToRoot(
|
|
100
114
|
root: string,
|
|
101
115
|
p: string,
|
|
102
|
-
opts?: {
|
|
116
|
+
opts?: { allowedRoots?: readonly string[] },
|
|
103
117
|
): Promise<string> {
|
|
104
|
-
const
|
|
105
|
-
const realRoot = await
|
|
106
|
-
const abs = path.resolve(realRoot, p);
|
|
107
|
-
if (allowOutside) return abs;
|
|
118
|
+
const allowedRoots = opts?.allowedRoots ?? [];
|
|
119
|
+
const realRoot = await canonicalize(path.resolve(root));
|
|
108
120
|
let real: string;
|
|
109
121
|
try {
|
|
110
|
-
real = await canonicalize(
|
|
122
|
+
real = await canonicalize(path.resolve(realRoot, p));
|
|
111
123
|
} catch (err) {
|
|
112
124
|
throw new ToolError(fsErrorMessage(err, `path ${JSON.stringify(p)}`));
|
|
113
125
|
}
|
|
114
|
-
if (real
|
|
115
|
-
|
|
126
|
+
if (isWithin(realRoot, real) || (await containingRoot(allowedRoots, real)) !== undefined) {
|
|
127
|
+
return real;
|
|
116
128
|
}
|
|
117
|
-
|
|
129
|
+
const permitted =
|
|
130
|
+
allowedRoots.length ?
|
|
131
|
+
"the session's working directory and its other permitted directories"
|
|
132
|
+
: "the session's working directory";
|
|
133
|
+
throw new ToolError(`path ${JSON.stringify(p)} is outside ${permitted}`);
|
|
118
134
|
}
|
|
119
135
|
|
|
120
136
|
/**
|