@lleverage-ai/agent-sdk 0.0.1
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/LICENSE +21 -0
- package/README.md +2321 -0
- package/dist/agent.d.ts +52 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +2122 -0
- package/dist/agent.js.map +1 -0
- package/dist/backend.d.ts +378 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +71 -0
- package/dist/backend.js.map +1 -0
- package/dist/backends/composite.d.ts +258 -0
- package/dist/backends/composite.d.ts.map +1 -0
- package/dist/backends/composite.js +437 -0
- package/dist/backends/composite.js.map +1 -0
- package/dist/backends/filesystem.d.ts +268 -0
- package/dist/backends/filesystem.d.ts.map +1 -0
- package/dist/backends/filesystem.js +623 -0
- package/dist/backends/filesystem.js.map +1 -0
- package/dist/backends/index.d.ts +14 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +14 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/persistent.d.ts +312 -0
- package/dist/backends/persistent.d.ts.map +1 -0
- package/dist/backends/persistent.js +519 -0
- package/dist/backends/persistent.js.map +1 -0
- package/dist/backends/sandbox.d.ts +315 -0
- package/dist/backends/sandbox.d.ts.map +1 -0
- package/dist/backends/sandbox.js +490 -0
- package/dist/backends/sandbox.js.map +1 -0
- package/dist/backends/state.d.ts +225 -0
- package/dist/backends/state.d.ts.map +1 -0
- package/dist/backends/state.js +396 -0
- package/dist/backends/state.js.map +1 -0
- package/dist/checkpointer/file-saver.d.ts +182 -0
- package/dist/checkpointer/file-saver.d.ts.map +1 -0
- package/dist/checkpointer/file-saver.js +298 -0
- package/dist/checkpointer/file-saver.js.map +1 -0
- package/dist/checkpointer/index.d.ts +40 -0
- package/dist/checkpointer/index.d.ts.map +1 -0
- package/dist/checkpointer/index.js +40 -0
- package/dist/checkpointer/index.js.map +1 -0
- package/dist/checkpointer/kv-saver.d.ts +142 -0
- package/dist/checkpointer/kv-saver.d.ts.map +1 -0
- package/dist/checkpointer/kv-saver.js +176 -0
- package/dist/checkpointer/kv-saver.js.map +1 -0
- package/dist/checkpointer/memory-saver.d.ts +158 -0
- package/dist/checkpointer/memory-saver.d.ts.map +1 -0
- package/dist/checkpointer/memory-saver.js +222 -0
- package/dist/checkpointer/memory-saver.js.map +1 -0
- package/dist/checkpointer/types.d.ts +353 -0
- package/dist/checkpointer/types.d.ts.map +1 -0
- package/dist/checkpointer/types.js +159 -0
- package/dist/checkpointer/types.js.map +1 -0
- package/dist/context-manager.d.ts +627 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +1039 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context.d.ts +57 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/errors/index.d.ts +611 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1023 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generation-helpers.d.ts +126 -0
- package/dist/generation-helpers.d.ts.map +1 -0
- package/dist/generation-helpers.js +181 -0
- package/dist/generation-helpers.js.map +1 -0
- package/dist/hooks/audit.d.ts +210 -0
- package/dist/hooks/audit.d.ts.map +1 -0
- package/dist/hooks/audit.js +305 -0
- package/dist/hooks/audit.js.map +1 -0
- package/dist/hooks/cache.d.ts +180 -0
- package/dist/hooks/cache.d.ts.map +1 -0
- package/dist/hooks/cache.js +273 -0
- package/dist/hooks/cache.js.map +1 -0
- package/dist/hooks/guardrails.d.ts +145 -0
- package/dist/hooks/guardrails.d.ts.map +1 -0
- package/dist/hooks/guardrails.js +326 -0
- package/dist/hooks/guardrails.js.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/logging.d.ts +193 -0
- package/dist/hooks/logging.d.ts.map +1 -0
- package/dist/hooks/logging.js +345 -0
- package/dist/hooks/logging.js.map +1 -0
- package/dist/hooks/parallel-guardrails.d.ts +268 -0
- package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
- package/dist/hooks/parallel-guardrails.js +416 -0
- package/dist/hooks/parallel-guardrails.js.map +1 -0
- package/dist/hooks/rate-limit.d.ts +305 -0
- package/dist/hooks/rate-limit.d.ts.map +1 -0
- package/dist/hooks/rate-limit.js +372 -0
- package/dist/hooks/rate-limit.js.map +1 -0
- package/dist/hooks/retry.d.ts +144 -0
- package/dist/hooks/retry.d.ts.map +1 -0
- package/dist/hooks/retry.js +210 -0
- package/dist/hooks/retry.js.map +1 -0
- package/dist/hooks/secrets.d.ts +174 -0
- package/dist/hooks/secrets.d.ts.map +1 -0
- package/dist/hooks/secrets.js +306 -0
- package/dist/hooks/secrets.js.map +1 -0
- package/dist/hooks.d.ts +229 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +352 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +182 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/env.d.ts +25 -0
- package/dist/mcp/env.d.ts.map +1 -0
- package/dist/mcp/env.js +18 -0
- package/dist/mcp/env.js.map +1 -0
- package/dist/mcp/index.d.ts +16 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +184 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +446 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/types.d.ts +58 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +7 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/validation.d.ts +119 -0
- package/dist/mcp/validation.d.ts.map +1 -0
- package/dist/mcp/validation.js +407 -0
- package/dist/mcp/validation.js.map +1 -0
- package/dist/mcp/virtual-server.d.ts +78 -0
- package/dist/mcp/virtual-server.d.ts.map +1 -0
- package/dist/mcp/virtual-server.js +137 -0
- package/dist/mcp/virtual-server.js.map +1 -0
- package/dist/memory/filesystem-store.d.ts +217 -0
- package/dist/memory/filesystem-store.d.ts.map +1 -0
- package/dist/memory/filesystem-store.js +343 -0
- package/dist/memory/filesystem-store.js.map +1 -0
- package/dist/memory/index.d.ts +46 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +46 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/loader.d.ts +396 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +419 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/permissions.d.ts +282 -0
- package/dist/memory/permissions.d.ts.map +1 -0
- package/dist/memory/permissions.js +297 -0
- package/dist/memory/permissions.js.map +1 -0
- package/dist/memory/rules.d.ts +249 -0
- package/dist/memory/rules.d.ts.map +1 -0
- package/dist/memory/rules.js +362 -0
- package/dist/memory/rules.js.map +1 -0
- package/dist/memory/store.d.ts +286 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +263 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/middleware/apply.d.ts +73 -0
- package/dist/middleware/apply.d.ts.map +1 -0
- package/dist/middleware/apply.js +219 -0
- package/dist/middleware/apply.js.map +1 -0
- package/dist/middleware/context.d.ts +33 -0
- package/dist/middleware/context.d.ts.map +1 -0
- package/dist/middleware/context.js +176 -0
- package/dist/middleware/context.js.map +1 -0
- package/dist/middleware/index.d.ts +31 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +32 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logging.d.ts +137 -0
- package/dist/middleware/logging.d.ts.map +1 -0
- package/dist/middleware/logging.js +374 -0
- package/dist/middleware/logging.js.map +1 -0
- package/dist/middleware/types.d.ts +183 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +11 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/observability/events.d.ts +183 -0
- package/dist/observability/events.d.ts.map +1 -0
- package/dist/observability/events.js +305 -0
- package/dist/observability/events.js.map +1 -0
- package/dist/observability/index.d.ts +55 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +87 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +318 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +436 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/metrics.d.ts +341 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +490 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/preset.d.ts +161 -0
- package/dist/observability/preset.d.ts.map +1 -0
- package/dist/observability/preset.js +133 -0
- package/dist/observability/preset.js.map +1 -0
- package/dist/observability/streaming.d.ts +113 -0
- package/dist/observability/streaming.d.ts.map +1 -0
- package/dist/observability/streaming.js +114 -0
- package/dist/observability/streaming.js.map +1 -0
- package/dist/observability/tracing.d.ts +378 -0
- package/dist/observability/tracing.d.ts.map +1 -0
- package/dist/observability/tracing.js +539 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/plugins.d.ts +55 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +63 -0
- package/dist/plugins.js.map +1 -0
- package/dist/presets/index.d.ts +7 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +7 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/production.d.ts +262 -0
- package/dist/presets/production.d.ts.map +1 -0
- package/dist/presets/production.js +295 -0
- package/dist/presets/production.js.map +1 -0
- package/dist/security/index.d.ts +179 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +323 -0
- package/dist/security/index.js.map +1 -0
- package/dist/subagents/advanced.d.ts +413 -0
- package/dist/subagents/advanced.d.ts.map +1 -0
- package/dist/subagents/advanced.js +396 -0
- package/dist/subagents/advanced.js.map +1 -0
- package/dist/subagents/index.d.ts +14 -0
- package/dist/subagents/index.d.ts.map +1 -0
- package/dist/subagents/index.js +15 -0
- package/dist/subagents/index.js.map +1 -0
- package/dist/subagents.d.ts +73 -0
- package/dist/subagents.d.ts.map +1 -0
- package/dist/subagents.js +213 -0
- package/dist/subagents.js.map +1 -0
- package/dist/task-store/file-store.d.ts +76 -0
- package/dist/task-store/file-store.d.ts.map +1 -0
- package/dist/task-store/file-store.js +190 -0
- package/dist/task-store/file-store.js.map +1 -0
- package/dist/task-store/index.d.ts +11 -0
- package/dist/task-store/index.d.ts.map +1 -0
- package/dist/task-store/index.js +10 -0
- package/dist/task-store/index.js.map +1 -0
- package/dist/task-store/kv-store.d.ts +140 -0
- package/dist/task-store/kv-store.d.ts.map +1 -0
- package/dist/task-store/kv-store.js +169 -0
- package/dist/task-store/kv-store.js.map +1 -0
- package/dist/task-store/memory-store.d.ts +66 -0
- package/dist/task-store/memory-store.d.ts.map +1 -0
- package/dist/task-store/memory-store.js +125 -0
- package/dist/task-store/memory-store.js.map +1 -0
- package/dist/task-store/types.d.ts +235 -0
- package/dist/task-store/types.d.ts.map +1 -0
- package/dist/task-store/types.js +110 -0
- package/dist/task-store/types.js.map +1 -0
- package/dist/testing/assertions.d.ts +401 -0
- package/dist/testing/assertions.d.ts.map +1 -0
- package/dist/testing/assertions.js +630 -0
- package/dist/testing/assertions.js.map +1 -0
- package/dist/testing/index.d.ts +343 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +360 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-agent.d.ts +214 -0
- package/dist/testing/mock-agent.d.ts.map +1 -0
- package/dist/testing/mock-agent.js +448 -0
- package/dist/testing/mock-agent.js.map +1 -0
- package/dist/testing/recorder.d.ts +288 -0
- package/dist/testing/recorder.d.ts.map +1 -0
- package/dist/testing/recorder.js +499 -0
- package/dist/testing/recorder.js.map +1 -0
- package/dist/tools/execute.d.ts +104 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +191 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/factory.d.ts +260 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +241 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/filesystem.d.ts +215 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +311 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/search.d.ts +59 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +94 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/skills.d.ts +354 -0
- package/dist/tools/skills.d.ts.map +1 -0
- package/dist/tools/skills.js +413 -0
- package/dist/tools/skills.js.map +1 -0
- package/dist/tools/task.d.ts +272 -0
- package/dist/tools/task.d.ts.map +1 -0
- package/dist/tools/task.js +521 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/todos.d.ts +131 -0
- package/dist/tools/todos.d.ts.map +1 -0
- package/dist/tools/todos.js +120 -0
- package/dist/tools/todos.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +424 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +607 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/user-interaction.d.ts +116 -0
- package/dist/tools/user-interaction.d.ts.map +1 -0
- package/dist/tools/user-interaction.js +147 -0
- package/dist/tools/user-interaction.js.map +1 -0
- package/dist/tools/utils.d.ts +124 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +189 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools.d.ts +74 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +73 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +2421 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +55 -0
- package/dist/types.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool factory for creating all core tools from configuration.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a unified factory function that creates the minimal
|
|
5
|
+
* set of agent tools: read, write, edit, bash, glob, grep, todo_write, task, skill.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { createBashTool } from "./execute.js";
|
|
10
|
+
// Tool creators
|
|
11
|
+
import { createEditTool, createFilesystemTools, createGlobTool, createGrepTool, createReadTool, createWriteTool, } from "./filesystem.js";
|
|
12
|
+
import { createSearchToolsTool } from "./search.js";
|
|
13
|
+
import { createSkillRegistry, createSkillTool, SkillRegistry, } from "./skills.js";
|
|
14
|
+
import { clearCompletedTasks, createTaskTool, getBackgroundTask, listBackgroundTasks, } from "./task.js";
|
|
15
|
+
import { createTodoWriteTool } from "./todos.js";
|
|
16
|
+
// =============================================================================
|
|
17
|
+
// Factory Function
|
|
18
|
+
// =============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Creates all core tools from configuration.
|
|
21
|
+
*
|
|
22
|
+
* This is the recommended way to create agent tools. The minimal tool set is:
|
|
23
|
+
* - `read`, `write`, `edit`, `glob`, `grep` - filesystem operations
|
|
24
|
+
* - `bash` - shell command execution (optional, requires sandbox)
|
|
25
|
+
* - `todo_write` - task tracking (optional)
|
|
26
|
+
* - `task` - subagent delegation (optional, requires subagents)
|
|
27
|
+
* - `skill` - progressive capability loading (optional, requires registry)
|
|
28
|
+
*
|
|
29
|
+
* @param options - Configuration options
|
|
30
|
+
* @returns Object containing all created tools and registries
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* import { createAgent, createCoreTools, createAgentState } from "@lleverage-ai/agent-sdk";
|
|
35
|
+
* import { FilesystemBackend, LocalSandbox } from "@lleverage-ai/agent-sdk";
|
|
36
|
+
*
|
|
37
|
+
* const state = createAgentState();
|
|
38
|
+
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
39
|
+
* const sandbox = new LocalSandbox({ cwd: process.cwd() });
|
|
40
|
+
*
|
|
41
|
+
* const tools = createCoreTools({
|
|
42
|
+
* backend,
|
|
43
|
+
* state,
|
|
44
|
+
* sandbox,
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* const agent = createAgent({
|
|
48
|
+
* model: anthropic("claude-sonnet-4-20250514"),
|
|
49
|
+
* tools,
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* // Minimal: just filesystem tools
|
|
56
|
+
* const tools = createCoreTools({
|
|
57
|
+
* backend: new StateBackend(state),
|
|
58
|
+
* state,
|
|
59
|
+
* includeTodoWrite: false,
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @category Tools
|
|
64
|
+
*/
|
|
65
|
+
export function createCoreTools(options) {
|
|
66
|
+
const { backend, state,
|
|
67
|
+
// Disable
|
|
68
|
+
disabled = [],
|
|
69
|
+
// Filesystem
|
|
70
|
+
includeWrite = true, includeEdit = true,
|
|
71
|
+
// Todos
|
|
72
|
+
includeTodoWrite = true, onTodosChanged,
|
|
73
|
+
// Bash
|
|
74
|
+
sandbox, bashOptions = {},
|
|
75
|
+
// Skills
|
|
76
|
+
skillRegistry: providedSkillRegistry, skills = [], skillToolOptions = {},
|
|
77
|
+
// Tasks
|
|
78
|
+
subagents, parentAgent, defaultModel, includeGeneralPurpose = false, taskOptions = {},
|
|
79
|
+
// Search/MCP
|
|
80
|
+
mcpManager, searchToolsOptions = {}, } = options;
|
|
81
|
+
// Create disabled set for efficient lookup
|
|
82
|
+
const disabledSet = new Set(disabled);
|
|
83
|
+
// Helper to check if a tool is disabled
|
|
84
|
+
const isDisabled = (name) => disabledSet.has(name);
|
|
85
|
+
// Create result object
|
|
86
|
+
const result = {};
|
|
87
|
+
// =========================================================================
|
|
88
|
+
// Filesystem Tools
|
|
89
|
+
// =========================================================================
|
|
90
|
+
if (!isDisabled("read")) {
|
|
91
|
+
result.read = createReadTool(backend);
|
|
92
|
+
}
|
|
93
|
+
if (!isDisabled("glob")) {
|
|
94
|
+
result.glob = createGlobTool(backend);
|
|
95
|
+
}
|
|
96
|
+
if (!isDisabled("grep")) {
|
|
97
|
+
result.grep = createGrepTool(backend);
|
|
98
|
+
}
|
|
99
|
+
if (!isDisabled("write") && includeWrite) {
|
|
100
|
+
result.write = createWriteTool(backend);
|
|
101
|
+
}
|
|
102
|
+
if (!isDisabled("edit") && includeEdit) {
|
|
103
|
+
result.edit = createEditTool(backend);
|
|
104
|
+
}
|
|
105
|
+
// =========================================================================
|
|
106
|
+
// Todo Tool
|
|
107
|
+
// =========================================================================
|
|
108
|
+
if (!isDisabled("todo_write") && includeTodoWrite) {
|
|
109
|
+
result.todo_write = createTodoWriteTool({
|
|
110
|
+
state,
|
|
111
|
+
onTodosChanged,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// =========================================================================
|
|
115
|
+
// Bash Tool
|
|
116
|
+
// =========================================================================
|
|
117
|
+
if (!isDisabled("bash") && sandbox) {
|
|
118
|
+
result.bash = createBashTool({ sandbox, ...bashOptions });
|
|
119
|
+
}
|
|
120
|
+
// =========================================================================
|
|
121
|
+
// Skill Tool
|
|
122
|
+
// =========================================================================
|
|
123
|
+
if (!isDisabled("skill")) {
|
|
124
|
+
// Use provided registry if available, otherwise create from skills array
|
|
125
|
+
let skillRegistry = providedSkillRegistry;
|
|
126
|
+
if (!skillRegistry && skills.length > 0) {
|
|
127
|
+
// Only include skills that have tools defined
|
|
128
|
+
const skillsWithTools = skills.filter((s) => s.tools);
|
|
129
|
+
if (skillsWithTools.length > 0) {
|
|
130
|
+
skillRegistry = createSkillRegistry(skillsWithTools.map((s) => ({
|
|
131
|
+
name: s.name,
|
|
132
|
+
description: s.description,
|
|
133
|
+
prompt: s.prompt,
|
|
134
|
+
tools: s.tools, // Safe due to filter
|
|
135
|
+
})));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (skillRegistry) {
|
|
139
|
+
result.skill = createSkillTool({
|
|
140
|
+
registry: skillRegistry,
|
|
141
|
+
...skillToolOptions,
|
|
142
|
+
});
|
|
143
|
+
result.skillRegistry = skillRegistry;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// =========================================================================
|
|
147
|
+
// Task Tool
|
|
148
|
+
// =========================================================================
|
|
149
|
+
if (!isDisabled("task") && subagents && subagents.length > 0 && parentAgent && defaultModel) {
|
|
150
|
+
result.task = createTaskTool({
|
|
151
|
+
subagents,
|
|
152
|
+
defaultModel,
|
|
153
|
+
parentAgent,
|
|
154
|
+
includeGeneralPurpose,
|
|
155
|
+
...taskOptions,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
// =========================================================================
|
|
159
|
+
// Search Tools (MCP)
|
|
160
|
+
// =========================================================================
|
|
161
|
+
if (!isDisabled("search_tools") && mcpManager) {
|
|
162
|
+
result.search_tools = createSearchToolsTool({
|
|
163
|
+
manager: mcpManager,
|
|
164
|
+
...searchToolsOptions,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Converts CoreTools to a ToolSet for direct use with AI SDK.
|
|
171
|
+
*
|
|
172
|
+
* This extracts only the tool properties (excluding skillRegistry)
|
|
173
|
+
* and filters out undefined tools.
|
|
174
|
+
*
|
|
175
|
+
* @param coreTools - The core tools object from createCoreTools
|
|
176
|
+
* @returns A ToolSet compatible with AI SDK
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const coreTools = createCoreTools({ backend, state });
|
|
181
|
+
* const toolSet = coreToolsToToolSet(coreTools);
|
|
182
|
+
*
|
|
183
|
+
* const result = await generateText({
|
|
184
|
+
* model,
|
|
185
|
+
* tools: toolSet,
|
|
186
|
+
* prompt: "...",
|
|
187
|
+
* });
|
|
188
|
+
* ```
|
|
189
|
+
*
|
|
190
|
+
* @category Tools
|
|
191
|
+
*/
|
|
192
|
+
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;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return result;
|
|
203
|
+
}
|
|
204
|
+
// =============================================================================
|
|
205
|
+
// Convenience Exports
|
|
206
|
+
// =============================================================================
|
|
207
|
+
/**
|
|
208
|
+
* Creates filesystem tools only.
|
|
209
|
+
*
|
|
210
|
+
* Use this when you only need file operations without other tools.
|
|
211
|
+
*
|
|
212
|
+
* @param options - Filesystem tools options
|
|
213
|
+
* @returns Object containing filesystem tools
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* const fsTools = createFilesystemToolsOnly({
|
|
218
|
+
* backend: new FilesystemBackend({ rootDir: process.cwd() }),
|
|
219
|
+
* });
|
|
220
|
+
* ```
|
|
221
|
+
*
|
|
222
|
+
* @category Tools
|
|
223
|
+
*/
|
|
224
|
+
export function createFilesystemToolsOnly(options) {
|
|
225
|
+
return createFilesystemTools(options);
|
|
226
|
+
}
|
|
227
|
+
// Re-export individual tool creators for maximum flexibility
|
|
228
|
+
export {
|
|
229
|
+
// Filesystem
|
|
230
|
+
createReadTool, createWriteTool, createEditTool, createGlobTool, createGrepTool, createFilesystemTools,
|
|
231
|
+
// Todos
|
|
232
|
+
createTodoWriteTool,
|
|
233
|
+
// Bash
|
|
234
|
+
createBashTool,
|
|
235
|
+
// Skills
|
|
236
|
+
SkillRegistry, createSkillTool, createSkillRegistry,
|
|
237
|
+
// Tasks
|
|
238
|
+
createTaskTool, getBackgroundTask, listBackgroundTasks, clearCompletedTasks,
|
|
239
|
+
// Search
|
|
240
|
+
createSearchToolsTool, };
|
|
241
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/tools/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filesystem tools for agent file operations.
|
|
3
|
+
*
|
|
4
|
+
* These tools wrap the BackendProtocol interface to provide file operations
|
|
5
|
+
* to agents. Each tool is a factory function that takes a backend and returns
|
|
6
|
+
* an AI SDK compatible tool.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import type { BackendProtocol } from "../backend.js";
|
|
11
|
+
/**
|
|
12
|
+
* Creates a tool for reading file contents.
|
|
13
|
+
*
|
|
14
|
+
* Reads files with line numbers and supports offset/limit for large files.
|
|
15
|
+
* By default reads the first 2000 lines.
|
|
16
|
+
*
|
|
17
|
+
* @param backend - The backend to use for file operations
|
|
18
|
+
* @returns An AI SDK compatible tool for reading files
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { createReadTool } from "@lleverage-ai/agent-sdk";
|
|
23
|
+
*
|
|
24
|
+
* const read = createReadTool(backend);
|
|
25
|
+
* const agent = createAgent({
|
|
26
|
+
* model,
|
|
27
|
+
* tools: { read },
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @category Tools
|
|
32
|
+
*/
|
|
33
|
+
export declare function createReadTool(backend: BackendProtocol): import("ai").Tool<{
|
|
34
|
+
file_path: string;
|
|
35
|
+
offset?: number | undefined;
|
|
36
|
+
limit?: number | undefined;
|
|
37
|
+
}, string>;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a tool for writing/creating files.
|
|
40
|
+
*
|
|
41
|
+
* Creates new files or overwrites existing ones. Parent directories are
|
|
42
|
+
* created automatically if they don't exist.
|
|
43
|
+
*
|
|
44
|
+
* @param backend - The backend to use for file operations
|
|
45
|
+
* @returns An AI SDK compatible tool for writing files
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* import { createWriteTool } from "@lleverage-ai/agent-sdk";
|
|
50
|
+
*
|
|
51
|
+
* const write = createWriteTool(backend);
|
|
52
|
+
* const agent = createAgent({
|
|
53
|
+
* model,
|
|
54
|
+
* tools: { write },
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* @category Tools
|
|
59
|
+
*/
|
|
60
|
+
export declare function createWriteTool(backend: BackendProtocol): import("ai").Tool<{
|
|
61
|
+
file_path: string;
|
|
62
|
+
content: string;
|
|
63
|
+
}, string>;
|
|
64
|
+
/**
|
|
65
|
+
* Creates a tool for editing files via string replacement.
|
|
66
|
+
*
|
|
67
|
+
* Replaces text in a file. By default, the `old_string` must be unique
|
|
68
|
+
* in the file to prevent accidental replacements. Use `replace_all: true`
|
|
69
|
+
* to replace all occurrences.
|
|
70
|
+
*
|
|
71
|
+
* @param backend - The backend to use for file operations
|
|
72
|
+
* @returns An AI SDK compatible tool for editing files
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* import { createEditTool } from "@lleverage-ai/agent-sdk";
|
|
77
|
+
*
|
|
78
|
+
* const edit = createEditTool(backend);
|
|
79
|
+
* const agent = createAgent({
|
|
80
|
+
* model,
|
|
81
|
+
* tools: { edit },
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @category Tools
|
|
86
|
+
*/
|
|
87
|
+
export declare function createEditTool(backend: BackendProtocol): import("ai").Tool<{
|
|
88
|
+
file_path: string;
|
|
89
|
+
old_string: string;
|
|
90
|
+
new_string: string;
|
|
91
|
+
replace_all?: boolean | undefined;
|
|
92
|
+
}, string>;
|
|
93
|
+
/**
|
|
94
|
+
* Creates a tool for finding files matching glob patterns.
|
|
95
|
+
*
|
|
96
|
+
* Supports glob patterns like `**\/*.ts`, `src/**\/*.test.ts`, etc.
|
|
97
|
+
*
|
|
98
|
+
* @param backend - The backend to use for file operations
|
|
99
|
+
* @returns An AI SDK compatible tool for glob searching
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* import { createGlobTool } from "@lleverage-ai/agent-sdk";
|
|
104
|
+
*
|
|
105
|
+
* const glob = createGlobTool(backend);
|
|
106
|
+
* const agent = createAgent({
|
|
107
|
+
* model,
|
|
108
|
+
* tools: { glob },
|
|
109
|
+
* });
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* @category Tools
|
|
113
|
+
*/
|
|
114
|
+
export declare function createGlobTool(backend: BackendProtocol): import("ai").Tool<{
|
|
115
|
+
pattern: string;
|
|
116
|
+
path?: string | undefined;
|
|
117
|
+
}, string>;
|
|
118
|
+
/**
|
|
119
|
+
* Creates a tool for searching file contents with regex.
|
|
120
|
+
*
|
|
121
|
+
* Searches for pattern matches across files, with optional glob filtering.
|
|
122
|
+
*
|
|
123
|
+
* @param backend - The backend to use for file operations
|
|
124
|
+
* @returns An AI SDK compatible tool for grep searching
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* import { createGrepTool } from "@lleverage-ai/agent-sdk";
|
|
129
|
+
*
|
|
130
|
+
* const grep = createGrepTool(backend);
|
|
131
|
+
* const agent = createAgent({
|
|
132
|
+
* model,
|
|
133
|
+
* tools: { grep },
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* @category Tools
|
|
138
|
+
*/
|
|
139
|
+
export declare function createGrepTool(backend: BackendProtocol): import("ai").Tool<{
|
|
140
|
+
pattern: string;
|
|
141
|
+
path?: string | undefined;
|
|
142
|
+
glob?: string | undefined;
|
|
143
|
+
}, string>;
|
|
144
|
+
/**
|
|
145
|
+
* Options for creating filesystem tools.
|
|
146
|
+
*
|
|
147
|
+
* @category Tools
|
|
148
|
+
*/
|
|
149
|
+
export interface FilesystemToolsOptions {
|
|
150
|
+
/** The backend to use for file operations */
|
|
151
|
+
backend: BackendProtocol;
|
|
152
|
+
/**
|
|
153
|
+
* Whether to include the write tool.
|
|
154
|
+
* @defaultValue true
|
|
155
|
+
*/
|
|
156
|
+
includeWrite?: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Whether to include the edit tool.
|
|
159
|
+
* @defaultValue true
|
|
160
|
+
*/
|
|
161
|
+
includeEdit?: boolean;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Result from createFilesystemTools containing all filesystem tools.
|
|
165
|
+
*
|
|
166
|
+
* @category Tools
|
|
167
|
+
*/
|
|
168
|
+
export interface FilesystemTools {
|
|
169
|
+
/** Read file contents */
|
|
170
|
+
read: ReturnType<typeof createReadTool>;
|
|
171
|
+
/** Write/create files (optional) */
|
|
172
|
+
write?: ReturnType<typeof createWriteTool>;
|
|
173
|
+
/** Edit files via replacement (optional) */
|
|
174
|
+
edit?: ReturnType<typeof createEditTool>;
|
|
175
|
+
/** Find files by glob pattern */
|
|
176
|
+
glob: ReturnType<typeof createGlobTool>;
|
|
177
|
+
/** Search file contents */
|
|
178
|
+
grep: ReturnType<typeof createGrepTool>;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Creates all filesystem tools from a backend.
|
|
182
|
+
*
|
|
183
|
+
* This is a convenience factory that creates all filesystem tools at once.
|
|
184
|
+
* For read-only access, set `includeWrite` and `includeEdit` to false.
|
|
185
|
+
*
|
|
186
|
+
* @param options - Configuration options
|
|
187
|
+
* @returns Object containing all filesystem tools
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* import { createFilesystemTools, FilesystemBackend } from "@lleverage-ai/agent-sdk";
|
|
192
|
+
*
|
|
193
|
+
* const backend = new FilesystemBackend({ rootDir: process.cwd() });
|
|
194
|
+
* const fsTools = createFilesystemTools({ backend });
|
|
195
|
+
*
|
|
196
|
+
* const agent = createAgent({
|
|
197
|
+
* model,
|
|
198
|
+
* tools: fsTools,
|
|
199
|
+
* });
|
|
200
|
+
* ```
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* // Read-only mode
|
|
205
|
+
* const fsTools = createFilesystemTools({
|
|
206
|
+
* backend,
|
|
207
|
+
* includeWrite: false,
|
|
208
|
+
* includeEdit: false,
|
|
209
|
+
* });
|
|
210
|
+
* ```
|
|
211
|
+
*
|
|
212
|
+
* @category Tools
|
|
213
|
+
*/
|
|
214
|
+
export declare function createFilesystemTools(options: FilesystemToolsOptions): FilesystemTools;
|
|
215
|
+
//# sourceMappingURL=filesystem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/tools/filesystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AAgB1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe;;;;WAgCtD;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe;;;WAmBvD;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe;;;;;WAqCtD;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe;;;WAatD;AAoBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe;;;;WAoBtD;AAoBD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,6CAA6C;IAC7C,OAAO,EAAE,eAAe,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IACxC,oCAAoC;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IACzC,iCAAiC;IACjC,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IACxC,2BAA2B;IAC3B,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAkBtF"}
|