@lleverage-ai/agent-sdk 0.0.1 → 0.0.2-alpha.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.
Files changed (45) hide show
  1. package/README.md +51 -2160
  2. package/dist/agent.js +14 -14
  3. package/dist/agent.js.map +1 -1
  4. package/dist/backend.d.ts +90 -68
  5. package/dist/backend.d.ts.map +1 -1
  6. package/dist/backend.js +22 -12
  7. package/dist/backend.js.map +1 -1
  8. package/dist/backends/filesystem.d.ts +153 -5
  9. package/dist/backends/filesystem.d.ts.map +1 -1
  10. package/dist/backends/filesystem.js +274 -1
  11. package/dist/backends/filesystem.js.map +1 -1
  12. package/dist/backends/index.d.ts +1 -2
  13. package/dist/backends/index.d.ts.map +1 -1
  14. package/dist/backends/index.js +1 -2
  15. package/dist/backends/index.js.map +1 -1
  16. package/dist/index.d.ts +6 -6
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +2 -4
  19. package/dist/index.js.map +1 -1
  20. package/dist/security/index.d.ts +20 -20
  21. package/dist/security/index.d.ts.map +1 -1
  22. package/dist/security/index.js +26 -24
  23. package/dist/security/index.js.map +1 -1
  24. package/dist/tools/execute.d.ts +15 -9
  25. package/dist/tools/execute.d.ts.map +1 -1
  26. package/dist/tools/execute.js +19 -9
  27. package/dist/tools/execute.js.map +1 -1
  28. package/dist/tools/factory.d.ts +42 -28
  29. package/dist/tools/factory.d.ts.map +1 -1
  30. package/dist/tools/factory.js +44 -38
  31. package/dist/tools/factory.js.map +1 -1
  32. package/dist/tools/index.d.ts +1 -3
  33. package/dist/tools/index.d.ts.map +1 -1
  34. package/dist/tools/index.js +0 -2
  35. package/dist/tools/index.js.map +1 -1
  36. package/dist/types.d.ts +3 -3
  37. package/package.json +4 -8
  38. package/dist/backends/sandbox.d.ts +0 -315
  39. package/dist/backends/sandbox.d.ts.map +0 -1
  40. package/dist/backends/sandbox.js +0 -490
  41. package/dist/backends/sandbox.js.map +0 -1
  42. package/dist/tools/user-interaction.d.ts +0 -116
  43. package/dist/tools/user-interaction.d.ts.map +0 -1
  44. package/dist/tools/user-interaction.js +0 -147
  45. package/dist/tools/user-interaction.js.map +0 -1
@@ -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";
@@ -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.
@@ -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,7 +157,7 @@ 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;
@@ -163,7 +165,16 @@ export interface CoreTools {
163
165
  task?: Tool;
164
166
  /** Tool search/discovery (if mcpManager provided) */
165
167
  search_tools?: Tool;
166
- /** The skill registry (if provided) */
168
+ }
169
+ /**
170
+ * Result from createCoreTools containing tools and optional registries.
171
+ *
172
+ * @category Tools
173
+ */
174
+ export interface CreateCoreToolsResult {
175
+ /** The created core tools */
176
+ tools: CoreTools;
177
+ /** The skill registry (if skills were provided) */
167
178
  skillRegistry?: SkillRegistry;
168
179
  }
169
180
  /**
@@ -171,27 +182,30 @@ export interface CoreTools {
171
182
  *
172
183
  * This is the recommended way to create agent tools. The minimal tool set is:
173
184
  * - `read`, `write`, `edit`, `glob`, `grep` - filesystem operations
174
- * - `bash` - shell command execution (optional, requires sandbox)
185
+ * - `bash` - shell command execution (if backend has execute capability)
175
186
  * - `todo_write` - task tracking (optional)
176
187
  * - `task` - subagent delegation (optional, requires subagents)
177
188
  * - `skill` - progressive capability loading (optional, requires registry)
178
189
  *
179
190
  * @param options - Configuration options
180
- * @returns Object containing all created tools and registries
191
+ * @returns Object containing tools and optional registries
181
192
  *
182
193
  * @example
183
194
  * ```typescript
184
195
  * import { createAgent, createCoreTools, createAgentState } from "@lleverage-ai/agent-sdk";
185
- * import { FilesystemBackend, LocalSandbox } from "@lleverage-ai/agent-sdk";
196
+ * import { FilesystemBackend } from "@lleverage-ai/agent-sdk";
186
197
  *
187
198
  * const state = createAgentState();
188
- * const backend = new FilesystemBackend({ rootDir: process.cwd() });
189
- * const sandbox = new LocalSandbox({ cwd: process.cwd() });
190
199
  *
191
- * const tools = createCoreTools({
200
+ * // Backend with bash enabled - bash tool is automatically included
201
+ * const backend = new FilesystemBackend({
202
+ * rootDir: process.cwd(),
203
+ * enableBash: true,
204
+ * });
205
+ *
206
+ * const { tools } = createCoreTools({
192
207
  * backend,
193
208
  * state,
194
- * sandbox,
195
209
  * });
196
210
  *
197
211
  * const agent = createAgent({
@@ -202,9 +216,10 @@ export interface CoreTools {
202
216
  *
203
217
  * @example
204
218
  * ```typescript
205
- * // Minimal: just filesystem tools
206
- * const tools = createCoreTools({
207
- * backend: new StateBackend(state),
219
+ * // Minimal: just filesystem tools (no bash)
220
+ * const backend = new FilesystemBackend({ rootDir: process.cwd() });
221
+ * const { tools } = createCoreTools({
222
+ * backend,
208
223
  * state,
209
224
  * includeTodoWrite: false,
210
225
  * });
@@ -212,20 +227,19 @@ export interface CoreTools {
212
227
  *
213
228
  * @category Tools
214
229
  */
215
- export declare function createCoreTools(options: CoreToolsOptions): CoreTools;
230
+ export declare function createCoreTools(options: CoreToolsOptions): CreateCoreToolsResult;
216
231
  /**
217
232
  * Converts CoreTools to a ToolSet for direct use with AI SDK.
218
233
  *
219
- * This extracts only the tool properties (excluding skillRegistry)
220
- * and filters out undefined tools.
234
+ * Filters out undefined tools and returns a clean ToolSet.
221
235
  *
222
236
  * @param coreTools - The core tools object from createCoreTools
223
237
  * @returns A ToolSet compatible with AI SDK
224
238
  *
225
239
  * @example
226
240
  * ```typescript
227
- * const coreTools = createCoreTools({ backend, state });
228
- * const toolSet = coreToolsToToolSet(coreTools);
241
+ * const { tools } = createCoreTools({ backend, state });
242
+ * const toolSet = coreToolsToToolSet(tools);
229
243
  *
230
244
  * const result = await generateText({
231
245
  * model,
@@ -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,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,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;IAIZ,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,CAkJhF;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,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,eAAe,EACf,UAAU,EAEV,kBAAkB,GACnB,CAAC"}
@@ -6,6 +6,7 @@
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";
@@ -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,7 +76,7 @@ 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
@@ -82,31 +87,33 @@ export function createCoreTools(options) {
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,18 +143,18 @@ 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
156
  if (!isDisabled("task") && subagents && subagents.length > 0 && parentAgent && defaultModel) {
150
- result.task = createTaskTool({
157
+ tools.task = createTaskTool({
151
158
  subagents,
152
159
  defaultModel,
153
160
  parentAgent,
@@ -159,26 +166,28 @@ export function createCoreTools(options) {
159
166
  // Search Tools (MCP)
160
167
  // =========================================================================
161
168
  if (!isDisabled("search_tools") && mcpManager) {
162
- result.search_tools = createSearchToolsTool({
169
+ tools.search_tools = createSearchToolsTool({
163
170
  manager: mcpManager,
164
171
  ...searchToolsOptions,
165
172
  });
166
173
  }
167
- return result;
174
+ return {
175
+ tools,
176
+ skillRegistry: resultSkillRegistry,
177
+ };
168
178
  }
169
179
  /**
170
180
  * Converts CoreTools to a ToolSet for direct use with AI SDK.
171
181
  *
172
- * This extracts only the tool properties (excluding skillRegistry)
173
- * and filters out undefined tools.
182
+ * Filters out undefined tools and returns a clean ToolSet.
174
183
  *
175
184
  * @param coreTools - The core tools object from createCoreTools
176
185
  * @returns A ToolSet compatible with AI SDK
177
186
  *
178
187
  * @example
179
188
  * ```typescript
180
- * const coreTools = createCoreTools({ backend, state });
181
- * const toolSet = coreToolsToToolSet(coreTools);
189
+ * const { tools } = createCoreTools({ backend, state });
190
+ * const toolSet = coreToolsToToolSet(tools);
182
191
  *
183
192
  * const result = await generateText({
184
193
  * model,
@@ -190,16 +199,13 @@ export function createCoreTools(options) {
190
199
  * @category Tools
191
200
  */
192
201
  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;
202
+ const toolsOnly = {};
203
+ for (const [key, value] of Object.entries(coreTools)) {
204
+ if (value !== undefined) {
205
+ toolsOnly[key] = value;
200
206
  }
201
207
  }
202
- return result;
208
+ return toolsOnly;
203
209
  }
204
210
  // =============================================================================
205
211
  // Convenience Exports
@@ -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";
@@ -26,8 +26,6 @@ export type { OnTodosChanged, TodoChangeType, TodoInput, TodosChangedData, TodoW
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,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,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -26,8 +26,6 @@ export { cleanupStaleTasks, clearCompletedTasks, createTaskTool, getBackgroundTa
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;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;AAE5B,8BAA8B;AAC9B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -627,7 +627,7 @@ export interface AgentOptions {
627
627
  *
628
628
  * This option only has an effect when:
629
629
  * - `permissionMode` is set to `"acceptEdits"`
630
- * - The `backend` is a sandbox backend (e.g., `LocalSandbox`)
630
+ * - The `backend` has execute capability (e.g., `FilesystemBackend` with `enableBash: true`)
631
631
  *
632
632
  * @defaultValue true
633
633
  *
@@ -636,7 +636,7 @@ export interface AgentOptions {
636
636
  * // Default: shell file ops are blocked in acceptEdits mode
637
637
  * const agent = createAgent({
638
638
  * model,
639
- * backend: new LocalSandbox({ cwd: process.cwd() }),
639
+ * backend: new FilesystemBackend({ rootDir: process.cwd(), enableBash: true }),
640
640
  * permissionMode: "acceptEdits",
641
641
  * // blockShellFileOps: true is the default
642
642
  * });
@@ -644,7 +644,7 @@ export interface AgentOptions {
644
644
  * // Explicitly allow shell file ops (not recommended)
645
645
  * const agent = createAgent({
646
646
  * model,
647
- * backend: new LocalSandbox({ cwd: process.cwd() }),
647
+ * backend: new FilesystemBackend({ rootDir: process.cwd(), enableBash: true }),
648
648
  * permissionMode: "acceptEdits",
649
649
  * blockShellFileOps: false, // Warning will be logged
650
650
  * });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lleverage-ai/agent-sdk",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-alpha.0",
4
4
  "description": "A TypeScript framework for building AI agents using the Vercel AI SDK v6",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -56,14 +56,12 @@
56
56
  "format:check": "biome format .",
57
57
  "check": "biome check .",
58
58
  "check:fix": "biome check --write .",
59
- "docs": "typedoc",
60
- "docs:watch": "typedoc --watch",
61
59
  "clean": "rm -rf dist coverage docs",
62
60
  "prepublishOnly": "npm run clean && npm run check && npm run test && npm run build"
63
61
  },
64
62
  "dependencies": {
65
- "@modelcontextprotocol/sdk": "^1.25.3",
66
- "ai": "^6.0.0",
63
+ "@modelcontextprotocol/sdk": "^1.26.0",
64
+ "ai": "^6.0.70",
67
65
  "ajv": "^8.17.1",
68
66
  "zod": "^4.3.6"
69
67
  },
@@ -73,9 +71,7 @@
73
71
  "@tsconfig/node18": "^18.2.4",
74
72
  "@types/json-schema": "^7.0.15",
75
73
  "@types/node": "^25.1.0",
76
- "typedoc": "^0.28.0",
77
- "typedoc-plugin-markdown": "^4.6.0",
78
74
  "typescript": "^5.9.2",
79
- "vitest": "^3.2.0"
75
+ "vitest": "^4.0.18"
80
76
  }
81
77
  }