@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,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Todo tool for task planning and tracking.
|
|
3
|
+
*
|
|
4
|
+
* Provides a single `todo_write` tool for managing task lists, similar to
|
|
5
|
+
* Claude Code's TodoWrite. Agents replace the entire todo list with each call.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
import { tool } from "ai";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Helper Functions
|
|
13
|
+
// =============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Helper to create a summary of current todos.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
function createTodoSummary(todos) {
|
|
19
|
+
return {
|
|
20
|
+
pending: todos.filter((t) => t.status === "pending").length,
|
|
21
|
+
inProgress: todos.filter((t) => t.status === "in_progress").length,
|
|
22
|
+
completed: todos.filter((t) => t.status === "completed").length,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Helper to emit todos:changed event.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
async function emitTodosChanged(onTodosChanged, changeType, affectedIds, todos) {
|
|
30
|
+
if (!onTodosChanged)
|
|
31
|
+
return;
|
|
32
|
+
const data = {
|
|
33
|
+
type: "todosChanged",
|
|
34
|
+
changeType,
|
|
35
|
+
affectedIds,
|
|
36
|
+
totalCount: todos.length,
|
|
37
|
+
summary: createTodoSummary(todos),
|
|
38
|
+
};
|
|
39
|
+
await onTodosChanged(data);
|
|
40
|
+
}
|
|
41
|
+
// =============================================================================
|
|
42
|
+
// Todo Write Tool
|
|
43
|
+
// =============================================================================
|
|
44
|
+
/**
|
|
45
|
+
* Creates the todo_write tool for managing task lists.
|
|
46
|
+
*
|
|
47
|
+
* This tool replaces the entire todo list with the provided items. It's designed
|
|
48
|
+
* to match Claude Code's TodoWrite behavior where the agent always provides the
|
|
49
|
+
* complete list state.
|
|
50
|
+
*
|
|
51
|
+
* @param options - Configuration options
|
|
52
|
+
* @returns An AI SDK compatible tool for writing todos
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* import { createTodoWriteTool, createAgentState } from "@lleverage-ai/agent-sdk";
|
|
57
|
+
*
|
|
58
|
+
* const state = createAgentState();
|
|
59
|
+
* const todoWrite = createTodoWriteTool({ state });
|
|
60
|
+
*
|
|
61
|
+
* const agent = createAgent({
|
|
62
|
+
* model,
|
|
63
|
+
* tools: { todo_write: todoWrite },
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // With change callback for UI integration
|
|
70
|
+
* const todoWrite = createTodoWriteTool({
|
|
71
|
+
* state,
|
|
72
|
+
* onTodosChanged: (data) => {
|
|
73
|
+
* console.log(`Todos updated: ${data.summary.completed}/${data.totalCount} completed`);
|
|
74
|
+
* },
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @category Tools
|
|
79
|
+
*/
|
|
80
|
+
export function createTodoWriteTool(options) {
|
|
81
|
+
const { state, onTodosChanged } = options;
|
|
82
|
+
return tool({
|
|
83
|
+
description: "Update the task list. Replace the entire todo list with the provided items. Use this to track progress on multi-step tasks.",
|
|
84
|
+
inputSchema: z.object({
|
|
85
|
+
todos: z.array(z.object({
|
|
86
|
+
content: z.string().describe("Task description"),
|
|
87
|
+
status: z.enum(["pending", "in_progress", "completed"]).describe("Current task status"),
|
|
88
|
+
})),
|
|
89
|
+
}),
|
|
90
|
+
execute: async ({ todos }) => {
|
|
91
|
+
const now = new Date().toISOString();
|
|
92
|
+
// Transform input to full TodoItem format
|
|
93
|
+
const newTodos = todos.map((t, i) => {
|
|
94
|
+
// Try to find existing todo with same content to preserve ID
|
|
95
|
+
const existingTodo = state.todos.find((existing) => existing.content === t.content);
|
|
96
|
+
const id = existingTodo?.id ?? `todo-${Date.now()}-${i}`;
|
|
97
|
+
const createdAt = existingTodo?.createdAt ?? now;
|
|
98
|
+
const completedAt = t.status === "completed" ? (existingTodo?.completedAt ?? now) : undefined;
|
|
99
|
+
return {
|
|
100
|
+
id,
|
|
101
|
+
content: t.content,
|
|
102
|
+
status: t.status,
|
|
103
|
+
createdAt,
|
|
104
|
+
completedAt,
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
state.todos = newTodos;
|
|
108
|
+
// Emit change event
|
|
109
|
+
await emitTodosChanged(onTodosChanged, "replaced", newTodos.map((t) => t.id), newTodos);
|
|
110
|
+
// Generate summary
|
|
111
|
+
const summary = createTodoSummary(newTodos);
|
|
112
|
+
return {
|
|
113
|
+
success: true,
|
|
114
|
+
count: newTodos.length,
|
|
115
|
+
summary,
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=todos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todos.js","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry for progressive tool disclosure.
|
|
3
|
+
*
|
|
4
|
+
* The ToolRegistry enables deferred tool loading to keep initial context small.
|
|
5
|
+
* Instead of loading all tool schemas upfront, tools are registered with lightweight
|
|
6
|
+
* metadata and loaded on-demand when the agent needs them.
|
|
7
|
+
*
|
|
8
|
+
* This mirrors the MCP Tool Search pattern used in Claude Code, where hundreds
|
|
9
|
+
* of tools can be available without consuming context window until needed.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import type { Tool, ToolSet } from "ai";
|
|
14
|
+
/**
|
|
15
|
+
* Lightweight metadata for a registered tool.
|
|
16
|
+
*
|
|
17
|
+
* This is what the agent sees before loading - just enough information
|
|
18
|
+
* to decide whether to load the full tool definition.
|
|
19
|
+
*
|
|
20
|
+
* @category Tools
|
|
21
|
+
*/
|
|
22
|
+
export interface ToolMetadata {
|
|
23
|
+
/** Tool name (unique identifier) */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Brief description for search/discovery */
|
|
26
|
+
description: string;
|
|
27
|
+
/** Plugin that provides this tool (if any) */
|
|
28
|
+
plugin?: string;
|
|
29
|
+
/** Category for grouping related tools */
|
|
30
|
+
category?: string;
|
|
31
|
+
/** Tags for semantic search */
|
|
32
|
+
tags?: string[];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Result from loading tools.
|
|
36
|
+
*
|
|
37
|
+
* @category Tools
|
|
38
|
+
*/
|
|
39
|
+
export interface ToolLoadResult {
|
|
40
|
+
/** Whether loading was successful */
|
|
41
|
+
success: boolean;
|
|
42
|
+
/** Names of tools that were loaded */
|
|
43
|
+
loaded: string[];
|
|
44
|
+
/** Names of tools that were already loaded (skipped) */
|
|
45
|
+
skipped: string[];
|
|
46
|
+
/** Names of tools that weren't found */
|
|
47
|
+
notFound: string[];
|
|
48
|
+
/** The loaded tools as a ToolSet */
|
|
49
|
+
tools: ToolSet;
|
|
50
|
+
/** Error message if something went wrong */
|
|
51
|
+
error?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Options for creating a tool registry.
|
|
55
|
+
*
|
|
56
|
+
* @category Tools
|
|
57
|
+
*/
|
|
58
|
+
export interface ToolRegistryOptions {
|
|
59
|
+
/**
|
|
60
|
+
* Callback when tools are loaded.
|
|
61
|
+
*/
|
|
62
|
+
onToolsLoaded?: (result: ToolLoadResult) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Callback when the registry is updated.
|
|
65
|
+
*/
|
|
66
|
+
onRegistryUpdated?: () => void;
|
|
67
|
+
/**
|
|
68
|
+
* Callback when a tool is registered.
|
|
69
|
+
*/
|
|
70
|
+
onToolRegistered?: (input: {
|
|
71
|
+
tool_name: string;
|
|
72
|
+
description: string;
|
|
73
|
+
source?: string;
|
|
74
|
+
}) => void | Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Callback when a tool fails to load.
|
|
77
|
+
*/
|
|
78
|
+
onToolLoadError?: (input: {
|
|
79
|
+
tool_name: string;
|
|
80
|
+
error: Error;
|
|
81
|
+
source?: string;
|
|
82
|
+
}) => void | Promise<void>;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Options for searching tools.
|
|
86
|
+
*
|
|
87
|
+
* @category Tools
|
|
88
|
+
*/
|
|
89
|
+
export interface ToolSearchOptions {
|
|
90
|
+
/** Search query (matches name, description, tags) */
|
|
91
|
+
query?: string;
|
|
92
|
+
/** Filter by plugin name */
|
|
93
|
+
plugin?: string;
|
|
94
|
+
/** Filter by category */
|
|
95
|
+
category?: string;
|
|
96
|
+
/** Filter by tags (any match) */
|
|
97
|
+
tags?: string[];
|
|
98
|
+
/** Include already-loaded tools in results */
|
|
99
|
+
includeLoaded?: boolean;
|
|
100
|
+
/** Maximum results to return */
|
|
101
|
+
limit?: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Registry for managing tools with deferred loading.
|
|
105
|
+
*
|
|
106
|
+
* The ToolRegistry stores tools with lightweight metadata and loads full
|
|
107
|
+
* definitions on-demand. This enables agents to have access to hundreds of
|
|
108
|
+
* tools without consuming context window until needed.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const registry = new ToolRegistry();
|
|
113
|
+
*
|
|
114
|
+
* // Register tools (does not load them)
|
|
115
|
+
* registry.register({
|
|
116
|
+
* name: "stripe_create_payment",
|
|
117
|
+
* description: "Create a payment intent in Stripe",
|
|
118
|
+
* plugin: "stripe",
|
|
119
|
+
* tool: stripeCreatePaymentTool,
|
|
120
|
+
* });
|
|
121
|
+
*
|
|
122
|
+
* // Agent searches for tools
|
|
123
|
+
* const matches = registry.search({ query: "payment" });
|
|
124
|
+
* // Returns: [{ name: "stripe_create_payment", description: "..." }]
|
|
125
|
+
*
|
|
126
|
+
* // Agent loads tools when needed
|
|
127
|
+
* const result = registry.load(["stripe_create_payment"]);
|
|
128
|
+
* // Tools are now available for use
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
131
|
+
* @category Tools
|
|
132
|
+
*/
|
|
133
|
+
export declare class ToolRegistry {
|
|
134
|
+
/** All registered tools */
|
|
135
|
+
private entries;
|
|
136
|
+
/** Callbacks */
|
|
137
|
+
private onToolsLoaded?;
|
|
138
|
+
private onRegistryUpdated?;
|
|
139
|
+
private onToolRegistered?;
|
|
140
|
+
private onToolLoadError?;
|
|
141
|
+
/**
|
|
142
|
+
* Creates a new tool registry.
|
|
143
|
+
*
|
|
144
|
+
* @param options - Configuration options
|
|
145
|
+
*/
|
|
146
|
+
constructor(options?: ToolRegistryOptions);
|
|
147
|
+
/**
|
|
148
|
+
* Register a tool with the registry.
|
|
149
|
+
*
|
|
150
|
+
* The tool is stored but not loaded - only metadata is exposed until
|
|
151
|
+
* the tool is explicitly loaded.
|
|
152
|
+
*
|
|
153
|
+
* @param metadata - Tool metadata
|
|
154
|
+
* @param toolDef - The full tool definition
|
|
155
|
+
* @throws Error if a tool with the same name is already registered
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* registry.register(
|
|
160
|
+
* {
|
|
161
|
+
* name: "send_email",
|
|
162
|
+
* description: "Send an email via SMTP",
|
|
163
|
+
* plugin: "email",
|
|
164
|
+
* category: "communication",
|
|
165
|
+
* tags: ["email", "notification"],
|
|
166
|
+
* },
|
|
167
|
+
* sendEmailTool
|
|
168
|
+
* );
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
register(metadata: ToolMetadata, toolDef: Tool): void;
|
|
172
|
+
/**
|
|
173
|
+
* Register multiple tools at once.
|
|
174
|
+
*
|
|
175
|
+
* @param tools - Array of [metadata, tool] tuples
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```typescript
|
|
179
|
+
* registry.registerMany([
|
|
180
|
+
* [{ name: "tool1", description: "..." }, tool1],
|
|
181
|
+
* [{ name: "tool2", description: "..." }, tool2],
|
|
182
|
+
* ]);
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
registerMany(tools: Array<[ToolMetadata, Tool]>): void;
|
|
186
|
+
/**
|
|
187
|
+
* Register all tools from a plugin.
|
|
188
|
+
*
|
|
189
|
+
* Convenience method that extracts tool metadata and registers each tool
|
|
190
|
+
* with the plugin name attached.
|
|
191
|
+
*
|
|
192
|
+
* @param pluginName - Name of the plugin
|
|
193
|
+
* @param tools - ToolSet from the plugin
|
|
194
|
+
* @param options - Optional metadata overrides
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* registry.registerPlugin("stripe", stripePlugin.tools, {
|
|
199
|
+
* category: "payments",
|
|
200
|
+
* });
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
registerPlugin(pluginName: string, tools: ToolSet, options?: {
|
|
204
|
+
category?: string;
|
|
205
|
+
tags?: string[];
|
|
206
|
+
}): void;
|
|
207
|
+
/**
|
|
208
|
+
* Unregister a tool from the registry.
|
|
209
|
+
*
|
|
210
|
+
* @param name - The tool name to unregister
|
|
211
|
+
* @returns True if the tool was found and removed
|
|
212
|
+
*/
|
|
213
|
+
unregister(name: string): boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Check if a tool is registered.
|
|
216
|
+
*
|
|
217
|
+
* @param name - The tool name to check
|
|
218
|
+
*/
|
|
219
|
+
has(name: string): boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Check if a tool is currently loaded.
|
|
222
|
+
*
|
|
223
|
+
* @param name - The tool name to check
|
|
224
|
+
*/
|
|
225
|
+
isLoaded(name: string): boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Get metadata for a registered tool.
|
|
228
|
+
*
|
|
229
|
+
* @param name - The tool name
|
|
230
|
+
* @returns Tool metadata or undefined if not found
|
|
231
|
+
*/
|
|
232
|
+
getMetadata(name: string): ToolMetadata | undefined;
|
|
233
|
+
/**
|
|
234
|
+
* Search for tools matching criteria.
|
|
235
|
+
*
|
|
236
|
+
* Searches tool metadata (name, description, tags) without loading
|
|
237
|
+
* the full tool definitions.
|
|
238
|
+
*
|
|
239
|
+
* @param options - Search options
|
|
240
|
+
* @returns Array of matching tool metadata
|
|
241
|
+
*
|
|
242
|
+
* @example
|
|
243
|
+
* ```typescript
|
|
244
|
+
* // Search by query
|
|
245
|
+
* const paymentTools = registry.search({ query: "payment" });
|
|
246
|
+
*
|
|
247
|
+
* // Filter by plugin
|
|
248
|
+
* const stripeTools = registry.search({ plugin: "stripe" });
|
|
249
|
+
*
|
|
250
|
+
* // Combined search
|
|
251
|
+
* const results = registry.search({
|
|
252
|
+
* query: "create",
|
|
253
|
+
* plugin: "stripe",
|
|
254
|
+
* limit: 5,
|
|
255
|
+
* });
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
search(options?: ToolSearchOptions): ToolMetadata[];
|
|
259
|
+
/**
|
|
260
|
+
* Load tools, making them available for use.
|
|
261
|
+
*
|
|
262
|
+
* @param names - Tool names to load
|
|
263
|
+
* @returns Result containing loaded tools and status
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```typescript
|
|
267
|
+
* const result = registry.load(["stripe_create_payment", "stripe_refund"]);
|
|
268
|
+
* if (result.success) {
|
|
269
|
+
* // result.tools contains the loaded ToolSet
|
|
270
|
+
* // Inject into agent's active tools
|
|
271
|
+
* }
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
load(names: string[]): ToolLoadResult;
|
|
275
|
+
/**
|
|
276
|
+
* Load tools matching a search query.
|
|
277
|
+
*
|
|
278
|
+
* Convenience method combining search and load.
|
|
279
|
+
*
|
|
280
|
+
* @param options - Search options (same as search())
|
|
281
|
+
* @returns Result containing loaded tools
|
|
282
|
+
*
|
|
283
|
+
* @example
|
|
284
|
+
* ```typescript
|
|
285
|
+
* const result = registry.loadMatching({ query: "stripe", limit: 5 });
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
loadMatching(options: ToolSearchOptions): ToolLoadResult;
|
|
289
|
+
/**
|
|
290
|
+
* Get all currently loaded tools as a ToolSet.
|
|
291
|
+
*
|
|
292
|
+
* @returns ToolSet containing all loaded tools
|
|
293
|
+
*/
|
|
294
|
+
getLoadedTools(): ToolSet;
|
|
295
|
+
/**
|
|
296
|
+
* List all available (not yet loaded) tools.
|
|
297
|
+
*
|
|
298
|
+
* @returns Array of tool metadata
|
|
299
|
+
*/
|
|
300
|
+
listAvailable(): ToolMetadata[];
|
|
301
|
+
/**
|
|
302
|
+
* List all loaded tools.
|
|
303
|
+
*
|
|
304
|
+
* @returns Array of tool names
|
|
305
|
+
*/
|
|
306
|
+
listLoaded(): string[];
|
|
307
|
+
/**
|
|
308
|
+
* List all registered tools with their load status.
|
|
309
|
+
*
|
|
310
|
+
* @returns Array of tool metadata with loaded flag
|
|
311
|
+
*/
|
|
312
|
+
listAll(): Array<ToolMetadata & {
|
|
313
|
+
loaded: boolean;
|
|
314
|
+
}>;
|
|
315
|
+
/**
|
|
316
|
+
* Get all plugins that have registered tools.
|
|
317
|
+
*
|
|
318
|
+
* @returns Array of unique plugin names
|
|
319
|
+
*/
|
|
320
|
+
listPlugins(): string[];
|
|
321
|
+
/**
|
|
322
|
+
* Reset all tools to unloaded state.
|
|
323
|
+
*
|
|
324
|
+
* Does not unregister tools, only marks them as unloaded.
|
|
325
|
+
*/
|
|
326
|
+
reset(): void;
|
|
327
|
+
/**
|
|
328
|
+
* Clear all registered tools.
|
|
329
|
+
*/
|
|
330
|
+
clear(): void;
|
|
331
|
+
/**
|
|
332
|
+
* Get the number of registered tools.
|
|
333
|
+
*/
|
|
334
|
+
get size(): number;
|
|
335
|
+
/**
|
|
336
|
+
* Get the number of loaded tools.
|
|
337
|
+
*/
|
|
338
|
+
get loadedCount(): number;
|
|
339
|
+
/**
|
|
340
|
+
* Build the tool index string for the use_tools description.
|
|
341
|
+
*
|
|
342
|
+
* This creates a compact representation of available tools that fits
|
|
343
|
+
* in the meta-tool description.
|
|
344
|
+
*
|
|
345
|
+
* @param options - Formatting options
|
|
346
|
+
* @returns Formatted tool index string
|
|
347
|
+
*/
|
|
348
|
+
buildToolIndex(options?: {
|
|
349
|
+
includePlugins?: boolean;
|
|
350
|
+
}): string;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Options for creating the use_tools meta-tool.
|
|
354
|
+
*
|
|
355
|
+
* @category Tools
|
|
356
|
+
*/
|
|
357
|
+
export interface UseToolsToolOptions {
|
|
358
|
+
/** The tool registry to use */
|
|
359
|
+
registry: ToolRegistry;
|
|
360
|
+
/**
|
|
361
|
+
* Custom name for the tool.
|
|
362
|
+
* @defaultValue "use_tools"
|
|
363
|
+
*/
|
|
364
|
+
name?: string;
|
|
365
|
+
/**
|
|
366
|
+
* Custom description prefix.
|
|
367
|
+
*/
|
|
368
|
+
descriptionPrefix?: string;
|
|
369
|
+
/**
|
|
370
|
+
* Whether to include plugin groupings in tool index.
|
|
371
|
+
* @defaultValue true
|
|
372
|
+
*/
|
|
373
|
+
groupByPlugin?: boolean;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Creates the use_tools meta-tool for discovering and loading tools.
|
|
377
|
+
*
|
|
378
|
+
* This tool allows agents to search available tools and load them on-demand.
|
|
379
|
+
* Tools loaded through this tool become available in subsequent agent steps.
|
|
380
|
+
*
|
|
381
|
+
* @param options - Configuration options
|
|
382
|
+
* @returns An AI SDK compatible tool
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* ```typescript
|
|
386
|
+
* const registry = new ToolRegistry();
|
|
387
|
+
* registry.registerPlugin("stripe", stripePlugin.tools);
|
|
388
|
+
*
|
|
389
|
+
* const useToolsTool = createUseToolsTool({ registry });
|
|
390
|
+
*
|
|
391
|
+
* const agent = createAgent({
|
|
392
|
+
* model,
|
|
393
|
+
* tools: {
|
|
394
|
+
* ...coreTools,
|
|
395
|
+
* use_tools: useToolsTool,
|
|
396
|
+
* },
|
|
397
|
+
* toolRegistry: registry,
|
|
398
|
+
* });
|
|
399
|
+
* ```
|
|
400
|
+
*
|
|
401
|
+
* @category Tools
|
|
402
|
+
*/
|
|
403
|
+
export declare function createUseToolsTool(options: UseToolsToolOptions): Tool<{
|
|
404
|
+
query?: string | undefined;
|
|
405
|
+
tools?: string[] | undefined;
|
|
406
|
+
plugin?: string | undefined;
|
|
407
|
+
}, Record<string, unknown>>;
|
|
408
|
+
/**
|
|
409
|
+
* Creates a new tool registry.
|
|
410
|
+
*
|
|
411
|
+
* @param options - Configuration options
|
|
412
|
+
* @returns A new ToolRegistry instance
|
|
413
|
+
*
|
|
414
|
+
* @example
|
|
415
|
+
* ```typescript
|
|
416
|
+
* const registry = createToolRegistry({
|
|
417
|
+
* onToolsLoaded: (result) => console.log("Loaded:", result.loaded),
|
|
418
|
+
* });
|
|
419
|
+
* ```
|
|
420
|
+
*
|
|
421
|
+
* @category Tools
|
|
422
|
+
*/
|
|
423
|
+
export declare function createToolRegistry(options?: ToolRegistryOptions): ToolRegistry;
|
|
424
|
+
//# sourceMappingURL=tool-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
|