@lleverage-ai/agent-sdk 0.0.1 → 0.0.2-alpha.3
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 +51 -2160
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +32 -25
- package/dist/agent.js.map +1 -1
- package/dist/backend.d.ts +90 -68
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +22 -12
- package/dist/backend.js.map +1 -1
- package/dist/backends/filesystem.d.ts +153 -5
- package/dist/backends/filesystem.d.ts.map +1 -1
- package/dist/backends/filesystem.js +274 -1
- package/dist/backends/filesystem.js.map +1 -1
- package/dist/backends/index.d.ts +1 -2
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +1 -2
- package/dist/backends/index.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- package/dist/index.js.map +1 -1
- package/dist/security/index.d.ts +20 -20
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +26 -24
- package/dist/security/index.js.map +1 -1
- package/dist/tools/execute.d.ts +15 -9
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +19 -9
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/factory.d.ts +48 -32
- package/dist/tools/factory.d.ts.map +1 -1
- package/dist/tools/factory.js +60 -43
- package/dist/tools/factory.js.map +1 -1
- package/dist/tools/index.d.ts +3 -5
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/task.d.ts +49 -1
- package/dist/tools/task.d.ts.map +1 -1
- package/dist/tools/task.js +130 -3
- package/dist/tools/task.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -8
- package/dist/backends/sandbox.d.ts +0 -315
- package/dist/backends/sandbox.d.ts.map +0 -1
- package/dist/backends/sandbox.js +0 -490
- package/dist/backends/sandbox.js.map +0 -1
- package/dist/tools/user-interaction.d.ts +0 -116
- package/dist/tools/user-interaction.d.ts.map +0 -1
- package/dist/tools/user-interaction.js +0 -147
- package/dist/tools/user-interaction.js.map +0 -1
package/dist/tools/execute.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Bash tool for running shell commands
|
|
2
|
+
* Bash tool for running shell commands.
|
|
3
3
|
*
|
|
4
|
-
* This tool wraps
|
|
4
|
+
* This tool wraps backends with execute capability to provide command execution
|
|
5
5
|
* to agents. It includes timeout support, output truncation, and optional
|
|
6
6
|
* command approval for dangerous operations.
|
|
7
7
|
*
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { tool } from "ai";
|
|
11
11
|
import { z } from "zod";
|
|
12
|
+
import { hasExecuteCapability } from "../backend.js";
|
|
12
13
|
// =============================================================================
|
|
13
14
|
// Constants
|
|
14
15
|
// =============================================================================
|
|
@@ -35,11 +36,14 @@ const MAX_OUTPUT_SIZE_CHARS = 120_000;
|
|
|
35
36
|
*
|
|
36
37
|
* @example
|
|
37
38
|
* ```typescript
|
|
38
|
-
* import { createBashTool,
|
|
39
|
+
* import { createBashTool, FilesystemBackend } from "@lleverage-ai/agent-sdk";
|
|
39
40
|
*
|
|
40
|
-
* const
|
|
41
|
+
* const backend = new FilesystemBackend({
|
|
42
|
+
* rootDir: process.cwd(),
|
|
43
|
+
* enableBash: true,
|
|
44
|
+
* });
|
|
41
45
|
* const bash = createBashTool({
|
|
42
|
-
*
|
|
46
|
+
* backend,
|
|
43
47
|
* timeout: 30000,
|
|
44
48
|
* blockedCommands: ["rm -rf /"],
|
|
45
49
|
* });
|
|
@@ -53,7 +57,13 @@ const MAX_OUTPUT_SIZE_CHARS = 120_000;
|
|
|
53
57
|
* @category Tools
|
|
54
58
|
*/
|
|
55
59
|
export function createBashTool(options) {
|
|
56
|
-
const {
|
|
60
|
+
const { backend, timeout = DEFAULT_TIMEOUT_MS, blockedCommands = [], allowedCommands, requireApproval = [], onApprovalRequest, maxOutputSize = MAX_OUTPUT_SIZE_CHARS, } = options;
|
|
61
|
+
// Validate backend has execute capability
|
|
62
|
+
if (!hasExecuteCapability(backend)) {
|
|
63
|
+
throw new Error("Backend does not have execute capability. " +
|
|
64
|
+
"Use FilesystemBackend with enableBash: true, or provide a backend with execute() method.");
|
|
65
|
+
}
|
|
66
|
+
const executor = backend;
|
|
57
67
|
return tool({
|
|
58
68
|
description: "Execute a shell command. Returns stdout/stderr output, exit code, and whether output was truncated.",
|
|
59
69
|
inputSchema: z.object({
|
|
@@ -96,13 +106,13 @@ export function createBashTool(options) {
|
|
|
96
106
|
}
|
|
97
107
|
}
|
|
98
108
|
try {
|
|
99
|
-
// Execute command through
|
|
100
|
-
const result = await
|
|
109
|
+
// Execute command through backend
|
|
110
|
+
const result = await executor.execute(command);
|
|
101
111
|
// Format output
|
|
102
112
|
return formatBashResult(result, maxOutputSize);
|
|
103
113
|
}
|
|
104
114
|
catch (error) {
|
|
105
|
-
// Handle
|
|
115
|
+
// Handle backend-level errors (e.g., CommandBlockedError)
|
|
106
116
|
return {
|
|
107
117
|
success: false,
|
|
108
118
|
output: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/tools/execute.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/factory.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
import type { LanguageModel, Tool, ToolSet } from "ai";
|
|
10
|
-
import type { BackendProtocol
|
|
10
|
+
import type { BackendProtocol } from "../backend.js";
|
|
11
11
|
import type { AgentState } from "../backends/state.js";
|
|
12
12
|
import type { MCPManager } from "../mcp/manager.js";
|
|
13
13
|
import type { Agent, CoreToolName, SkillDefinition, SubagentDefinition } from "../types.js";
|
|
@@ -15,7 +15,7 @@ import { type BashToolOptions, createBashTool } from "./execute.js";
|
|
|
15
15
|
import { createEditTool, createFilesystemTools, createGlobTool, createGrepTool, createReadTool, createWriteTool, type FilesystemTools, type FilesystemToolsOptions } from "./filesystem.js";
|
|
16
16
|
import { createSearchToolsTool, type SearchToolsOptions } from "./search.js";
|
|
17
17
|
import { createSkillRegistry, createSkillTool, type LoadableSkillDefinition, SkillRegistry, type SkillToolOptions } from "./skills.js";
|
|
18
|
-
import { clearCompletedTasks, createTaskTool, getBackgroundTask, listBackgroundTasks, type TaskStatus, type TaskToolOptions } from "./task.js";
|
|
18
|
+
import { clearCompletedTasks, createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, type TaskOutputToolOptions, type TaskStatus, type TaskToolOptions } from "./task.js";
|
|
19
19
|
import { createTodoWriteTool, type TodoWriteToolOptions } from "./todos.js";
|
|
20
20
|
/**
|
|
21
21
|
* Options for creating core tools.
|
|
@@ -27,12 +27,9 @@ import { createTodoWriteTool, type TodoWriteToolOptions } from "./todos.js";
|
|
|
27
27
|
* @example
|
|
28
28
|
* ```typescript
|
|
29
29
|
* const tools = createCoreTools({
|
|
30
|
-
* backend: new FilesystemBackend({ rootDir: process.cwd() }),
|
|
30
|
+
* backend: new FilesystemBackend({ rootDir: process.cwd(), enableBash: true }),
|
|
31
31
|
* state: createAgentState(),
|
|
32
32
|
*
|
|
33
|
-
* // Enable shell execution
|
|
34
|
-
* sandbox: new LocalSandbox({ cwd: process.cwd() }),
|
|
35
|
-
*
|
|
36
33
|
* // Enable skill loading
|
|
37
34
|
* skillRegistry: createSkillRegistry([gitSkill, dockerSkill]),
|
|
38
35
|
*
|
|
@@ -84,12 +81,14 @@ export interface CoreToolsOptions {
|
|
|
84
81
|
*/
|
|
85
82
|
onTodosChanged?: TodoWriteToolOptions["onTodosChanged"];
|
|
86
83
|
/**
|
|
87
|
-
*
|
|
88
|
-
*
|
|
84
|
+
* Whether to include the bash tool if the backend has execute capability.
|
|
85
|
+
* When true (default), bash tool is automatically included if `hasExecuteCapability(backend)` is true.
|
|
86
|
+
* Set to false to explicitly disable bash even if backend supports it.
|
|
87
|
+
* @defaultValue true
|
|
89
88
|
*/
|
|
90
|
-
|
|
91
|
-
/** Options for the bash tool */
|
|
92
|
-
bashOptions?: Omit<BashToolOptions, "
|
|
89
|
+
includeBash?: boolean;
|
|
90
|
+
/** Options for the bash tool (excluding backend) */
|
|
91
|
+
bashOptions?: Omit<BashToolOptions, "backend">;
|
|
93
92
|
/**
|
|
94
93
|
* Skill registry for progressive disclosure.
|
|
95
94
|
* If provided, the skill tool is included.
|
|
@@ -124,7 +123,7 @@ export interface CoreToolsOptions {
|
|
|
124
123
|
defaultModel?: LanguageModel;
|
|
125
124
|
/**
|
|
126
125
|
* Include general-purpose subagent automatically.
|
|
127
|
-
* @defaultValue
|
|
126
|
+
* @defaultValue true
|
|
128
127
|
*/
|
|
129
128
|
includeGeneralPurpose?: boolean;
|
|
130
129
|
/** Options for the task tool */
|
|
@@ -138,7 +137,10 @@ export interface CoreToolsOptions {
|
|
|
138
137
|
searchToolsOptions?: Omit<SearchToolsOptions, "manager">;
|
|
139
138
|
}
|
|
140
139
|
/**
|
|
141
|
-
*
|
|
140
|
+
* Core tools created by createCoreTools.
|
|
141
|
+
*
|
|
142
|
+
* This is a clean ToolSet containing only the tools, without registries.
|
|
143
|
+
* Each tool is optional depending on the configuration provided.
|
|
142
144
|
*
|
|
143
145
|
* @category Tools
|
|
144
146
|
*/
|
|
@@ -155,15 +157,26 @@ export interface CoreTools {
|
|
|
155
157
|
grep?: Tool;
|
|
156
158
|
/** Write/update todo list (if enabled) */
|
|
157
159
|
todo_write?: Tool;
|
|
158
|
-
/** Shell execution (if sandbox provided) */
|
|
160
|
+
/** Shell execution (if backend has execute capability or sandbox provided) */
|
|
159
161
|
bash?: Tool;
|
|
160
162
|
/** Load skill tool (if registry provided) */
|
|
161
163
|
skill?: Tool;
|
|
162
164
|
/** Task delegation tool (if subagents provided) */
|
|
163
165
|
task?: Tool;
|
|
166
|
+
/** Task output retrieval tool (if task tool is included) */
|
|
167
|
+
task_output?: Tool;
|
|
164
168
|
/** Tool search/discovery (if mcpManager provided) */
|
|
165
169
|
search_tools?: Tool;
|
|
166
|
-
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Result from createCoreTools containing tools and optional registries.
|
|
173
|
+
*
|
|
174
|
+
* @category Tools
|
|
175
|
+
*/
|
|
176
|
+
export interface CreateCoreToolsResult {
|
|
177
|
+
/** The created core tools */
|
|
178
|
+
tools: CoreTools;
|
|
179
|
+
/** The skill registry (if skills were provided) */
|
|
167
180
|
skillRegistry?: SkillRegistry;
|
|
168
181
|
}
|
|
169
182
|
/**
|
|
@@ -171,27 +184,30 @@ export interface CoreTools {
|
|
|
171
184
|
*
|
|
172
185
|
* This is the recommended way to create agent tools. The minimal tool set is:
|
|
173
186
|
* - `read`, `write`, `edit`, `glob`, `grep` - filesystem operations
|
|
174
|
-
* - `bash` - shell command execution (
|
|
187
|
+
* - `bash` - shell command execution (if backend has execute capability)
|
|
175
188
|
* - `todo_write` - task tracking (optional)
|
|
176
189
|
* - `task` - subagent delegation (optional, requires subagents)
|
|
177
190
|
* - `skill` - progressive capability loading (optional, requires registry)
|
|
178
191
|
*
|
|
179
192
|
* @param options - Configuration options
|
|
180
|
-
* @returns Object containing
|
|
193
|
+
* @returns Object containing tools and optional registries
|
|
181
194
|
*
|
|
182
195
|
* @example
|
|
183
196
|
* ```typescript
|
|
184
197
|
* import { createAgent, createCoreTools, createAgentState } from "@lleverage-ai/agent-sdk";
|
|
185
|
-
* import { FilesystemBackend
|
|
198
|
+
* import { FilesystemBackend } from "@lleverage-ai/agent-sdk";
|
|
186
199
|
*
|
|
187
200
|
* const state = createAgentState();
|
|
188
|
-
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
189
|
-
* const sandbox = new LocalSandbox({ cwd: process.cwd() });
|
|
190
201
|
*
|
|
191
|
-
*
|
|
202
|
+
* // Backend with bash enabled - bash tool is automatically included
|
|
203
|
+
* const backend = new FilesystemBackend({
|
|
204
|
+
* rootDir: process.cwd(),
|
|
205
|
+
* enableBash: true,
|
|
206
|
+
* });
|
|
207
|
+
*
|
|
208
|
+
* const { tools } = createCoreTools({
|
|
192
209
|
* backend,
|
|
193
210
|
* state,
|
|
194
|
-
* sandbox,
|
|
195
211
|
* });
|
|
196
212
|
*
|
|
197
213
|
* const agent = createAgent({
|
|
@@ -202,9 +218,10 @@ export interface CoreTools {
|
|
|
202
218
|
*
|
|
203
219
|
* @example
|
|
204
220
|
* ```typescript
|
|
205
|
-
* // Minimal: just filesystem tools
|
|
206
|
-
* const
|
|
207
|
-
*
|
|
221
|
+
* // Minimal: just filesystem tools (no bash)
|
|
222
|
+
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
223
|
+
* const { tools } = createCoreTools({
|
|
224
|
+
* backend,
|
|
208
225
|
* state,
|
|
209
226
|
* includeTodoWrite: false,
|
|
210
227
|
* });
|
|
@@ -212,20 +229,19 @@ export interface CoreTools {
|
|
|
212
229
|
*
|
|
213
230
|
* @category Tools
|
|
214
231
|
*/
|
|
215
|
-
export declare function createCoreTools(options: CoreToolsOptions):
|
|
232
|
+
export declare function createCoreTools(options: CoreToolsOptions): CreateCoreToolsResult;
|
|
216
233
|
/**
|
|
217
234
|
* Converts CoreTools to a ToolSet for direct use with AI SDK.
|
|
218
235
|
*
|
|
219
|
-
*
|
|
220
|
-
* and filters out undefined tools.
|
|
236
|
+
* Filters out undefined tools and returns a clean ToolSet.
|
|
221
237
|
*
|
|
222
238
|
* @param coreTools - The core tools object from createCoreTools
|
|
223
239
|
* @returns A ToolSet compatible with AI SDK
|
|
224
240
|
*
|
|
225
241
|
* @example
|
|
226
242
|
* ```typescript
|
|
227
|
-
* const
|
|
228
|
-
* const toolSet = coreToolsToToolSet(
|
|
243
|
+
* const { tools } = createCoreTools({ backend, state });
|
|
244
|
+
* const toolSet = coreToolsToToolSet(tools);
|
|
229
245
|
*
|
|
230
246
|
* const result = await generateText({
|
|
231
247
|
* model,
|
|
@@ -255,6 +271,6 @@ export declare function coreToolsToToolSet(coreTools: CoreTools): ToolSet;
|
|
|
255
271
|
* @category Tools
|
|
256
272
|
*/
|
|
257
273
|
export declare function createFilesystemToolsOnly(options: FilesystemToolsOptions): FilesystemTools;
|
|
258
|
-
export { createReadTool, createWriteTool, createEditTool, createGlobTool, createGrepTool, createFilesystemTools, createTodoWriteTool, createBashTool, SkillRegistry, createSkillTool, createSkillRegistry, createTaskTool, getBackgroundTask, listBackgroundTasks, clearCompletedTasks, createSearchToolsTool, };
|
|
259
|
-
export type { FilesystemTools, FilesystemToolsOptions, TodoWriteToolOptions, BashToolOptions, LoadableSkillDefinition, SkillToolOptions, TaskToolOptions, TaskStatus, SearchToolsOptions, };
|
|
274
|
+
export { createReadTool, createWriteTool, createEditTool, createGlobTool, createGrepTool, createFilesystemTools, createTodoWriteTool, createBashTool, SkillRegistry, createSkillTool, createSkillRegistry, createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, clearCompletedTasks, createSearchToolsTool, };
|
|
275
|
+
export type { FilesystemTools, FilesystemToolsOptions, TodoWriteToolOptions, BashToolOptions, LoadableSkillDefinition, SkillToolOptions, TaskOutputToolOptions, TaskToolOptions, TaskStatus, SearchToolsOptions, };
|
|
260
276
|
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/factory.js
CHANGED
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
|
+
import { hasExecuteCapability } from "../backend.js";
|
|
9
10
|
import { createBashTool } from "./execute.js";
|
|
10
11
|
// Tool creators
|
|
11
12
|
import { createEditTool, createFilesystemTools, createGlobTool, createGrepTool, createReadTool, createWriteTool, } from "./filesystem.js";
|
|
12
13
|
import { createSearchToolsTool } from "./search.js";
|
|
13
14
|
import { createSkillRegistry, createSkillTool, SkillRegistry, } from "./skills.js";
|
|
14
|
-
import { clearCompletedTasks, createTaskTool, getBackgroundTask, listBackgroundTasks, } from "./task.js";
|
|
15
|
+
import { clearCompletedTasks, createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, } from "./task.js";
|
|
15
16
|
import { createTodoWriteTool } from "./todos.js";
|
|
16
17
|
// =============================================================================
|
|
17
18
|
// Factory Function
|
|
@@ -21,27 +22,30 @@ import { createTodoWriteTool } from "./todos.js";
|
|
|
21
22
|
*
|
|
22
23
|
* This is the recommended way to create agent tools. The minimal tool set is:
|
|
23
24
|
* - `read`, `write`, `edit`, `glob`, `grep` - filesystem operations
|
|
24
|
-
* - `bash` - shell command execution (
|
|
25
|
+
* - `bash` - shell command execution (if backend has execute capability)
|
|
25
26
|
* - `todo_write` - task tracking (optional)
|
|
26
27
|
* - `task` - subagent delegation (optional, requires subagents)
|
|
27
28
|
* - `skill` - progressive capability loading (optional, requires registry)
|
|
28
29
|
*
|
|
29
30
|
* @param options - Configuration options
|
|
30
|
-
* @returns Object containing
|
|
31
|
+
* @returns Object containing tools and optional registries
|
|
31
32
|
*
|
|
32
33
|
* @example
|
|
33
34
|
* ```typescript
|
|
34
35
|
* import { createAgent, createCoreTools, createAgentState } from "@lleverage-ai/agent-sdk";
|
|
35
|
-
* import { FilesystemBackend
|
|
36
|
+
* import { FilesystemBackend } from "@lleverage-ai/agent-sdk";
|
|
36
37
|
*
|
|
37
38
|
* const state = createAgentState();
|
|
38
|
-
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
39
|
-
* const sandbox = new LocalSandbox({ cwd: process.cwd() });
|
|
40
39
|
*
|
|
41
|
-
*
|
|
40
|
+
* // Backend with bash enabled - bash tool is automatically included
|
|
41
|
+
* const backend = new FilesystemBackend({
|
|
42
|
+
* rootDir: process.cwd(),
|
|
43
|
+
* enableBash: true,
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* const { tools } = createCoreTools({
|
|
42
47
|
* backend,
|
|
43
48
|
* state,
|
|
44
|
-
* sandbox,
|
|
45
49
|
* });
|
|
46
50
|
*
|
|
47
51
|
* const agent = createAgent({
|
|
@@ -52,9 +56,10 @@ import { createTodoWriteTool } from "./todos.js";
|
|
|
52
56
|
*
|
|
53
57
|
* @example
|
|
54
58
|
* ```typescript
|
|
55
|
-
* // Minimal: just filesystem tools
|
|
56
|
-
* const
|
|
57
|
-
*
|
|
59
|
+
* // Minimal: just filesystem tools (no bash)
|
|
60
|
+
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
61
|
+
* const { tools } = createCoreTools({
|
|
62
|
+
* backend,
|
|
58
63
|
* state,
|
|
59
64
|
* includeTodoWrite: false,
|
|
60
65
|
* });
|
|
@@ -71,42 +76,44 @@ export function createCoreTools(options) {
|
|
|
71
76
|
// Todos
|
|
72
77
|
includeTodoWrite = true, onTodosChanged,
|
|
73
78
|
// Bash
|
|
74
|
-
|
|
79
|
+
includeBash = true, bashOptions = {},
|
|
75
80
|
// Skills
|
|
76
81
|
skillRegistry: providedSkillRegistry, skills = [], skillToolOptions = {},
|
|
77
82
|
// Tasks
|
|
78
|
-
subagents, parentAgent, defaultModel, includeGeneralPurpose =
|
|
83
|
+
subagents, parentAgent, defaultModel, includeGeneralPurpose = true, taskOptions = {},
|
|
79
84
|
// Search/MCP
|
|
80
85
|
mcpManager, searchToolsOptions = {}, } = options;
|
|
81
86
|
// Create disabled set for efficient lookup
|
|
82
87
|
const disabledSet = new Set(disabled);
|
|
83
88
|
// Helper to check if a tool is disabled
|
|
84
89
|
const isDisabled = (name) => disabledSet.has(name);
|
|
85
|
-
// Create
|
|
86
|
-
const
|
|
90
|
+
// Create tools object
|
|
91
|
+
const tools = {};
|
|
92
|
+
// Track skill registry separately
|
|
93
|
+
let resultSkillRegistry;
|
|
87
94
|
// =========================================================================
|
|
88
95
|
// Filesystem Tools
|
|
89
96
|
// =========================================================================
|
|
90
97
|
if (!isDisabled("read")) {
|
|
91
|
-
|
|
98
|
+
tools.read = createReadTool(backend);
|
|
92
99
|
}
|
|
93
100
|
if (!isDisabled("glob")) {
|
|
94
|
-
|
|
101
|
+
tools.glob = createGlobTool(backend);
|
|
95
102
|
}
|
|
96
103
|
if (!isDisabled("grep")) {
|
|
97
|
-
|
|
104
|
+
tools.grep = createGrepTool(backend);
|
|
98
105
|
}
|
|
99
106
|
if (!isDisabled("write") && includeWrite) {
|
|
100
|
-
|
|
107
|
+
tools.write = createWriteTool(backend);
|
|
101
108
|
}
|
|
102
109
|
if (!isDisabled("edit") && includeEdit) {
|
|
103
|
-
|
|
110
|
+
tools.edit = createEditTool(backend);
|
|
104
111
|
}
|
|
105
112
|
// =========================================================================
|
|
106
113
|
// Todo Tool
|
|
107
114
|
// =========================================================================
|
|
108
115
|
if (!isDisabled("todo_write") && includeTodoWrite) {
|
|
109
|
-
|
|
116
|
+
tools.todo_write = createTodoWriteTool({
|
|
110
117
|
state,
|
|
111
118
|
onTodosChanged,
|
|
112
119
|
});
|
|
@@ -114,8 +121,8 @@ export function createCoreTools(options) {
|
|
|
114
121
|
// =========================================================================
|
|
115
122
|
// Bash Tool
|
|
116
123
|
// =========================================================================
|
|
117
|
-
if (!isDisabled("bash") &&
|
|
118
|
-
|
|
124
|
+
if (!isDisabled("bash") && includeBash && hasExecuteCapability(backend)) {
|
|
125
|
+
tools.bash = createBashTool({ backend, ...bashOptions });
|
|
119
126
|
}
|
|
120
127
|
// =========================================================================
|
|
121
128
|
// Skill Tool
|
|
@@ -136,49 +143,62 @@ export function createCoreTools(options) {
|
|
|
136
143
|
}
|
|
137
144
|
}
|
|
138
145
|
if (skillRegistry) {
|
|
139
|
-
|
|
146
|
+
tools.skill = createSkillTool({
|
|
140
147
|
registry: skillRegistry,
|
|
141
148
|
...skillToolOptions,
|
|
142
149
|
});
|
|
143
|
-
|
|
150
|
+
resultSkillRegistry = skillRegistry;
|
|
144
151
|
}
|
|
145
152
|
}
|
|
146
153
|
// =========================================================================
|
|
147
154
|
// Task Tool
|
|
148
155
|
// =========================================================================
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
156
|
+
// Task tool requires parentAgent and defaultModel
|
|
157
|
+
// Include when: explicit subagents provided OR includeGeneralPurpose is true
|
|
158
|
+
if (!isDisabled("task") &&
|
|
159
|
+
parentAgent &&
|
|
160
|
+
defaultModel &&
|
|
161
|
+
((subagents && subagents.length > 0) || includeGeneralPurpose)) {
|
|
162
|
+
tools.task = createTaskTool({
|
|
163
|
+
subagents: subagents ?? [],
|
|
152
164
|
defaultModel,
|
|
153
165
|
parentAgent,
|
|
154
166
|
includeGeneralPurpose,
|
|
155
167
|
...taskOptions,
|
|
156
168
|
});
|
|
169
|
+
// Include task_output tool alongside task tool for retrieving background task results
|
|
170
|
+
if (!isDisabled("task_output")) {
|
|
171
|
+
tools.task_output = createTaskOutputTool({
|
|
172
|
+
taskStore: taskOptions?.taskStore,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
157
175
|
}
|
|
158
176
|
// =========================================================================
|
|
159
177
|
// Search Tools (MCP)
|
|
160
178
|
// =========================================================================
|
|
161
179
|
if (!isDisabled("search_tools") && mcpManager) {
|
|
162
|
-
|
|
180
|
+
tools.search_tools = createSearchToolsTool({
|
|
163
181
|
manager: mcpManager,
|
|
164
182
|
...searchToolsOptions,
|
|
165
183
|
});
|
|
166
184
|
}
|
|
167
|
-
return
|
|
185
|
+
return {
|
|
186
|
+
tools,
|
|
187
|
+
skillRegistry: resultSkillRegistry,
|
|
188
|
+
};
|
|
168
189
|
}
|
|
169
190
|
/**
|
|
170
191
|
* Converts CoreTools to a ToolSet for direct use with AI SDK.
|
|
171
192
|
*
|
|
172
|
-
*
|
|
173
|
-
* and filters out undefined tools.
|
|
193
|
+
* Filters out undefined tools and returns a clean ToolSet.
|
|
174
194
|
*
|
|
175
195
|
* @param coreTools - The core tools object from createCoreTools
|
|
176
196
|
* @returns A ToolSet compatible with AI SDK
|
|
177
197
|
*
|
|
178
198
|
* @example
|
|
179
199
|
* ```typescript
|
|
180
|
-
* const
|
|
181
|
-
* const toolSet = coreToolsToToolSet(
|
|
200
|
+
* const { tools } = createCoreTools({ backend, state });
|
|
201
|
+
* const toolSet = coreToolsToToolSet(tools);
|
|
182
202
|
*
|
|
183
203
|
* const result = await generateText({
|
|
184
204
|
* model,
|
|
@@ -190,16 +210,13 @@ export function createCoreTools(options) {
|
|
|
190
210
|
* @category Tools
|
|
191
211
|
*/
|
|
192
212
|
export function coreToolsToToolSet(coreTools) {
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
for (const [name, tool] of Object.entries(tools)) {
|
|
198
|
-
if (tool !== undefined) {
|
|
199
|
-
result[name] = tool;
|
|
213
|
+
const toolsOnly = {};
|
|
214
|
+
for (const [key, value] of Object.entries(coreTools)) {
|
|
215
|
+
if (value !== undefined) {
|
|
216
|
+
toolsOnly[key] = value;
|
|
200
217
|
}
|
|
201
218
|
}
|
|
202
|
-
return
|
|
219
|
+
return toolsOnly;
|
|
203
220
|
}
|
|
204
221
|
// =============================================================================
|
|
205
222
|
// Convenience Exports
|
|
@@ -235,7 +252,7 @@ createBashTool,
|
|
|
235
252
|
// Skills
|
|
236
253
|
SkillRegistry, createSkillTool, createSkillRegistry,
|
|
237
254
|
// Tasks
|
|
238
|
-
createTaskTool, getBackgroundTask, listBackgroundTasks, clearCompletedTasks,
|
|
255
|
+
createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, clearCompletedTasks,
|
|
239
256
|
// Search
|
|
240
257
|
createSearchToolsTool, };
|
|
241
258
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
export type { BashResult, BashToolOptions } from "./execute.js";
|
|
14
14
|
export { createBashTool } from "./execute.js";
|
|
15
|
-
export type { CoreTools, CoreToolsOptions } from "./factory.js";
|
|
15
|
+
export type { CoreTools, CoreToolsOptions, CreateCoreToolsResult, } from "./factory.js";
|
|
16
16
|
export { coreToolsToToolSet, createCoreTools, createFilesystemToolsOnly, } from "./factory.js";
|
|
17
17
|
export type { FilesystemTools, FilesystemToolsOptions } from "./filesystem.js";
|
|
18
18
|
export { createEditTool, createFilesystemTools, createGlobTool, createGrepTool, createReadTool, createWriteTool, } from "./filesystem.js";
|
|
@@ -20,14 +20,12 @@ export type { SearchToolsOptions } from "./search.js";
|
|
|
20
20
|
export { createSearchToolsTool } from "./search.js";
|
|
21
21
|
export type { LoadableSkillDefinition, SkillLoadResult, SkillRegistryOptions, SkillToolOptions, } from "./skills.js";
|
|
22
22
|
export { createSkillRegistry, createSkillTool, defineLoadableSkill, SkillRegistry, } from "./skills.js";
|
|
23
|
-
export type { TaskStatus, TaskToolOptions, } from "./task.js";
|
|
24
|
-
export { cleanupStaleTasks, clearCompletedTasks, createTaskTool, getBackgroundTask, listBackgroundTasks, recoverFailedTasks, recoverRunningTasks, } from "./task.js";
|
|
23
|
+
export type { TaskOutputToolOptions, TaskStatus, TaskToolOptions, } from "./task.js";
|
|
24
|
+
export { cleanupStaleTasks, clearCompletedTasks, createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, recoverFailedTasks, recoverRunningTasks, } from "./task.js";
|
|
25
25
|
export type { OnTodosChanged, TodoChangeType, TodoInput, TodosChangedData, TodoWriteToolOptions, } from "./todos.js";
|
|
26
26
|
export { createTodoWriteTool } from "./todos.js";
|
|
27
27
|
export type { ToolLoadResult, ToolMetadata, ToolRegistryOptions, ToolSearchOptions, UseToolsToolOptions, } from "./tool-registry.js";
|
|
28
28
|
export { createToolRegistry, createUseToolsTool, ToolRegistry, } from "./tool-registry.js";
|
|
29
|
-
export type { AskUserCallback, QuestionOption, } from "./user-interaction.js";
|
|
30
|
-
export { createAskUserQuestionTool } from "./user-interaction.js";
|
|
31
29
|
export type { ToolReference } from "./utils.js";
|
|
32
30
|
export { mcpTools, mcpToolsFor, toolsFrom, toolsFromPlugin } from "./utils.js";
|
|
33
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -21,13 +21,11 @@ export { createSearchToolsTool } from "./search.js";
|
|
|
21
21
|
// Skill tool (progressive disclosure)
|
|
22
22
|
export { createSkillRegistry, createSkillTool, defineLoadableSkill, SkillRegistry, } from "./skills.js";
|
|
23
23
|
// Task tool (subagent delegation)
|
|
24
|
-
export { cleanupStaleTasks, clearCompletedTasks, createTaskTool, getBackgroundTask, listBackgroundTasks, recoverFailedTasks, recoverRunningTasks, } from "./task.js";
|
|
24
|
+
export { cleanupStaleTasks, clearCompletedTasks, createTaskOutputTool, createTaskTool, getBackgroundTask, listBackgroundTasks, recoverFailedTasks, recoverRunningTasks, } from "./task.js";
|
|
25
25
|
// Todo tool
|
|
26
26
|
export { createTodoWriteTool } from "./todos.js";
|
|
27
27
|
// Tool registry (deferred tool loading)
|
|
28
28
|
export { createToolRegistry, createUseToolsTool, ToolRegistry, } from "./tool-registry.js";
|
|
29
|
-
// User interaction tools
|
|
30
|
-
export { createAskUserQuestionTool } from "./user-interaction.js";
|
|
31
29
|
// Tool utilities (DX helpers)
|
|
32
30
|
export { mcpTools, mcpToolsFor, toolsFrom, toolsFromPlugin } from "./utils.js";
|
|
33
31
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,uCAAuC;AACvC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,iCAAiC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAOpD,sCAAsC;AACtC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAMrB,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAQnB,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQjD,wCAAwC;AACxC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|