@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.
Files changed (51) hide show
  1. package/README.md +51 -2160
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +32 -25
  4. package/dist/agent.js.map +1 -1
  5. package/dist/backend.d.ts +90 -68
  6. package/dist/backend.d.ts.map +1 -1
  7. package/dist/backend.js +22 -12
  8. package/dist/backend.js.map +1 -1
  9. package/dist/backends/filesystem.d.ts +153 -5
  10. package/dist/backends/filesystem.d.ts.map +1 -1
  11. package/dist/backends/filesystem.js +274 -1
  12. package/dist/backends/filesystem.js.map +1 -1
  13. package/dist/backends/index.d.ts +1 -2
  14. package/dist/backends/index.d.ts.map +1 -1
  15. package/dist/backends/index.js +1 -2
  16. package/dist/backends/index.js.map +1 -1
  17. package/dist/index.d.ts +6 -6
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -6
  20. package/dist/index.js.map +1 -1
  21. package/dist/security/index.d.ts +20 -20
  22. package/dist/security/index.d.ts.map +1 -1
  23. package/dist/security/index.js +26 -24
  24. package/dist/security/index.js.map +1 -1
  25. package/dist/tools/execute.d.ts +15 -9
  26. package/dist/tools/execute.d.ts.map +1 -1
  27. package/dist/tools/execute.js +19 -9
  28. package/dist/tools/execute.js.map +1 -1
  29. package/dist/tools/factory.d.ts +48 -32
  30. package/dist/tools/factory.d.ts.map +1 -1
  31. package/dist/tools/factory.js +60 -43
  32. package/dist/tools/factory.js.map +1 -1
  33. package/dist/tools/index.d.ts +3 -5
  34. package/dist/tools/index.d.ts.map +1 -1
  35. package/dist/tools/index.js +1 -3
  36. package/dist/tools/index.js.map +1 -1
  37. package/dist/tools/task.d.ts +49 -1
  38. package/dist/tools/task.d.ts.map +1 -1
  39. package/dist/tools/task.js +130 -3
  40. package/dist/tools/task.js.map +1 -1
  41. package/dist/types.d.ts +4 -4
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +4 -8
  44. package/dist/backends/sandbox.d.ts +0 -315
  45. package/dist/backends/sandbox.d.ts.map +0 -1
  46. package/dist/backends/sandbox.js +0 -490
  47. package/dist/backends/sandbox.js.map +0 -1
  48. package/dist/tools/user-interaction.d.ts +0 -116
  49. package/dist/tools/user-interaction.d.ts.map +0 -1
  50. package/dist/tools/user-interaction.js +0 -147
  51. package/dist/tools/user-interaction.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Bash tool for running shell commands in a sandbox.
2
+ * Bash tool for running shell commands.
3
3
  *
4
- * This tool wraps the SandboxBackendProtocol to provide command execution
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, LocalSandbox } from "@lleverage-ai/agent-sdk";
39
+ * import { createBashTool, FilesystemBackend } from "@lleverage-ai/agent-sdk";
39
40
  *
40
- * const sandbox = new LocalSandbox({ cwd: process.cwd() });
41
+ * const backend = new FilesystemBackend({
42
+ * rootDir: process.cwd(),
43
+ * enableBash: true,
44
+ * });
41
45
  * const bash = createBashTool({
42
- * sandbox,
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 { sandbox, timeout = DEFAULT_TIMEOUT_MS, blockedCommands = [], allowedCommands, requireApproval = [], onApprovalRequest, maxOutputSize = MAX_OUTPUT_SIZE_CHARS, } = options;
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 sandbox
100
- const result = await sandbox.execute(command);
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 sandbox-level errors (e.g., CommandBlockedError)
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":"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"}
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;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,wDAAwD;AACxD,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,4EAA4E;AAC5E,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,qBAAqB,GAAG,OAAO,CAAC;AA2EtC,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,cAAc,CAAC,OAAwB;IACrD,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,kBAAkB,EAC5B,eAAe,GAAG,EAAE,EACpB,eAAe,EACf,eAAe,GAAG,EAAE,EACpB,iBAAiB,EACjB,aAAa,GAAG,qBAAqB,GACtC,GAAG,OAAO,CAAC;IAEZ,0CAA0C;IAC1C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,4CAA4C;YAC1C,0FAA0F,CAC7F,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAsB,OAAO,CAAC;IAE5C,OAAO,IAAI,CAAC;QACV,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,OAAO,GAAG,CAAC;SACzF,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EACd,OAAO,EACP,OAAO,EAAE,cAAc,GAIxB,EAAuB,EAAE;YACxB,iCAAiC;YACjC,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YACnF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,eAAe;iBACvB,CAAC;YACJ,CAAC;YAED,gCAAgC;YAChC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAC/D,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,8BAA8B,cAAc,oCAAoC;qBACxF,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,KAAK;wBAChB,KAAK,EAAE,6BAA6B,cAAc,EAAE;qBACrD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC;gBACH,kCAAkC;gBAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAE/C,gBAAgB;gBAChB,OAAO,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,0DAA0D;gBAC1D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,eAAe,CACtB,OAAe,EACf,eAAuC,EACvC,eAAwC;IAExC,sBAAsB;IACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,wCAAwC;IACxC,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,iCAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,eAAuC;IAC7E,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvF,OAAO,oBAAoB,UAAU,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAwB;IAC/D,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,MAAuB,EAAE,aAAqB;IACtE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAEjC,wCAAwC;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,4BAA4B,aAAa,cAAc,CAAC;QAClG,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,MAAM,GAAG,0BAA0B,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,4BAA4B,eAAe,gBAAgB,MAAM,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC;QAC9B,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  import type { LanguageModel, Tool, ToolSet } from "ai";
10
- import type { BackendProtocol, SandboxBackendProtocol } from "../backend.js";
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
- * Sandbox backend for command execution.
88
- * If provided, bash tool is included.
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
- sandbox?: SandboxBackendProtocol;
91
- /** Options for the bash tool */
92
- bashOptions?: Omit<BashToolOptions, "sandbox">;
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 false
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
- * Result from createCoreTools containing all created tools and registries.
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
- /** The skill registry (if provided) */
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 (optional, requires sandbox)
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 all created tools and registries
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, LocalSandbox } from "@lleverage-ai/agent-sdk";
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
- * const tools = createCoreTools({
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 tools = createCoreTools({
207
- * backend: new StateBackend(state),
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): CoreTools;
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
- * This extracts only the tool properties (excluding skillRegistry)
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 coreTools = createCoreTools({ backend, state });
228
- * const toolSet = coreToolsToToolSet(coreTools);
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":"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"}
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,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,KAAK,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,KAAK,uBAAuB,EAC5B,aAAa,EACb,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAM5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,gBAAgB;IAG/B,0CAA0C;IAC1C,OAAO,EAAE,eAAe,CAAC;IAEzB,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC;IAIlB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAI1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAIxD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,oDAAoD;IACpD,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAI/C;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAE3B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAI7C;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEjC,oEAAoE;IACpE,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,aAAa,CAAC;IAE7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,gCAAgC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAIvC;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;CAC1D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IAGxB,yBAAyB;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,sCAAsC;IACtC,KAAK,CAAC,EAAE,IAAI,CAAC;IAEb,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,iCAAiC;IACjC,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,2BAA2B;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC;IAIZ,0CAA0C;IAC1C,UAAU,CAAC,EAAE,IAAI,CAAC;IAIlB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,IAAI,CAAC;IAIZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,IAAI,CAAC;IAIb,mDAAmD;IACnD,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,4DAA4D;IAC5D,WAAW,CAAC,EAAE,IAAI,CAAC;IAInB,qDAAqD;IACrD,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC;IAEjB,mDAAmD;IACnD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CAgKhF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQhE;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAE1F;AAGD,OAAO,EAEL,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,qBAAqB,EAErB,mBAAmB,EAEnB,cAAc,EAEd,aAAa,EACb,eAAe,EACf,mBAAmB,EAEnB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EAEnB,qBAAqB,GACtB,CAAC;AAGF,YAAY,EAEV,eAAe,EACf,sBAAsB,EAEtB,oBAAoB,EAEpB,eAAe,EAEf,uBAAuB,EACvB,gBAAgB,EAEhB,qBAAqB,EACrB,eAAe,EACf,UAAU,EAEV,kBAAkB,GACnB,CAAC"}
@@ -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 (optional, requires sandbox)
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 all created tools and registries
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, LocalSandbox } from "@lleverage-ai/agent-sdk";
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
- * const tools = createCoreTools({
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 tools = createCoreTools({
57
- * backend: new StateBackend(state),
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
- sandbox, bashOptions = {},
79
+ includeBash = true, bashOptions = {},
75
80
  // Skills
76
81
  skillRegistry: providedSkillRegistry, skills = [], skillToolOptions = {},
77
82
  // Tasks
78
- subagents, parentAgent, defaultModel, includeGeneralPurpose = false, taskOptions = {},
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 result object
86
- const result = {};
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
- result.read = createReadTool(backend);
98
+ tools.read = createReadTool(backend);
92
99
  }
93
100
  if (!isDisabled("glob")) {
94
- result.glob = createGlobTool(backend);
101
+ tools.glob = createGlobTool(backend);
95
102
  }
96
103
  if (!isDisabled("grep")) {
97
- result.grep = createGrepTool(backend);
104
+ tools.grep = createGrepTool(backend);
98
105
  }
99
106
  if (!isDisabled("write") && includeWrite) {
100
- result.write = createWriteTool(backend);
107
+ tools.write = createWriteTool(backend);
101
108
  }
102
109
  if (!isDisabled("edit") && includeEdit) {
103
- result.edit = createEditTool(backend);
110
+ tools.edit = createEditTool(backend);
104
111
  }
105
112
  // =========================================================================
106
113
  // Todo Tool
107
114
  // =========================================================================
108
115
  if (!isDisabled("todo_write") && includeTodoWrite) {
109
- result.todo_write = createTodoWriteTool({
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") && sandbox) {
118
- result.bash = createBashTool({ sandbox, ...bashOptions });
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
- result.skill = createSkillTool({
146
+ tools.skill = createSkillTool({
140
147
  registry: skillRegistry,
141
148
  ...skillToolOptions,
142
149
  });
143
- result.skillRegistry = skillRegistry;
150
+ resultSkillRegistry = skillRegistry;
144
151
  }
145
152
  }
146
153
  // =========================================================================
147
154
  // Task Tool
148
155
  // =========================================================================
149
- if (!isDisabled("task") && subagents && subagents.length > 0 && parentAgent && defaultModel) {
150
- result.task = createTaskTool({
151
- subagents,
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
- result.search_tools = createSearchToolsTool({
180
+ tools.search_tools = createSearchToolsTool({
163
181
  manager: mcpManager,
164
182
  ...searchToolsOptions,
165
183
  });
166
184
  }
167
- return result;
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
- * This extracts only the tool properties (excluding skillRegistry)
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 coreTools = createCoreTools({ backend, state });
181
- * const toolSet = coreToolsToToolSet(coreTools);
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 { skillRegistry: _registry, // Exclude non-tool property
194
- ...tools } = coreTools;
195
- // Filter out undefined tools
196
- const result = {};
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 result;
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":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"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"}
@@ -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,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhE,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,UAAU,EACV,eAAe,GAChB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,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,EACV,eAAe,EACf,cAAc,GACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
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"}
@@ -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
@@ -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;AAE9C,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;AAKrB,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,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;AAK5B,yBAAyB;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,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"}