@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 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend system for pluggable storage.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the core interfaces and implementations for storage backends.
|
|
5
|
+
* Backends abstract file operations, allowing the same agent code to work with
|
|
6
|
+
* in-memory state, real filesystems, or persistent stores.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Metadata for a file or directory entry.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const files: FileInfo[] = await backend.lsInfo("/src");
|
|
16
|
+
* files.forEach(f => {
|
|
17
|
+
* console.log(`${f.path} - ${f.is_dir ? "dir" : f.size + " bytes"}`);
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @category Backend
|
|
22
|
+
*/
|
|
23
|
+
export interface FileInfo {
|
|
24
|
+
/** Path to the file or directory */
|
|
25
|
+
path: string;
|
|
26
|
+
/** True if this entry is a directory */
|
|
27
|
+
is_dir?: boolean;
|
|
28
|
+
/** Size in bytes (files only) */
|
|
29
|
+
size?: number;
|
|
30
|
+
/** ISO 8601 timestamp of last modification */
|
|
31
|
+
modified_at?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* File content storage format.
|
|
35
|
+
*
|
|
36
|
+
* Used by `readRaw()` to return file content with metadata.
|
|
37
|
+
*
|
|
38
|
+
* @category Backend
|
|
39
|
+
*/
|
|
40
|
+
export interface FileData {
|
|
41
|
+
/** Lines of text content */
|
|
42
|
+
content: string[];
|
|
43
|
+
/** ISO 8601 timestamp when file was created */
|
|
44
|
+
created_at: string;
|
|
45
|
+
/** ISO 8601 timestamp of last modification */
|
|
46
|
+
modified_at: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A match from a grep search operation.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const matches = await backend.grepRaw("TODO:", "/src");
|
|
54
|
+
* for (const match of matches) {
|
|
55
|
+
* console.log(`${match.path}:${match.line}: ${match.text}`);
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @category Backend
|
|
60
|
+
*/
|
|
61
|
+
export interface GrepMatch {
|
|
62
|
+
/** Path to the file containing the match */
|
|
63
|
+
path: string;
|
|
64
|
+
/** Line number (1-indexed) */
|
|
65
|
+
line: number;
|
|
66
|
+
/** The matching line text */
|
|
67
|
+
text: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Result from a write operation.
|
|
71
|
+
*
|
|
72
|
+
* @category Backend
|
|
73
|
+
*/
|
|
74
|
+
export interface WriteResult {
|
|
75
|
+
/** Whether the operation succeeded */
|
|
76
|
+
success: boolean;
|
|
77
|
+
/** Error message if failed */
|
|
78
|
+
error?: string;
|
|
79
|
+
/** Path that was written to */
|
|
80
|
+
path?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Result from an edit operation.
|
|
84
|
+
*
|
|
85
|
+
* @category Backend
|
|
86
|
+
*/
|
|
87
|
+
export interface EditResult {
|
|
88
|
+
/** Whether the operation succeeded */
|
|
89
|
+
success: boolean;
|
|
90
|
+
/** Error message if failed */
|
|
91
|
+
error?: string;
|
|
92
|
+
/** Path that was edited */
|
|
93
|
+
path?: string;
|
|
94
|
+
/** Number of occurrences replaced (when replace_all is true) */
|
|
95
|
+
occurrences?: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Core backend protocol interface for file operations.
|
|
99
|
+
*
|
|
100
|
+
* All storage backends implement this interface, providing a consistent API
|
|
101
|
+
* for file operations regardless of the underlying storage mechanism.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* // Using with StateBackend (in-memory)
|
|
106
|
+
* const state = { todos: [], files: {} };
|
|
107
|
+
* const backend: BackendProtocol = new StateBackend(state);
|
|
108
|
+
*
|
|
109
|
+
* // Using with FilesystemBackend (real filesystem)
|
|
110
|
+
* const backend: BackendProtocol = new FilesystemBackend({
|
|
111
|
+
* rootDir: process.cwd(),
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* // Operations work the same regardless of backend
|
|
115
|
+
* const content = await backend.read("/src/index.ts");
|
|
116
|
+
* const files = await backend.globInfo("**\/*.ts");
|
|
117
|
+
* ```
|
|
118
|
+
*
|
|
119
|
+
* @category Backend
|
|
120
|
+
*/
|
|
121
|
+
export interface BackendProtocol {
|
|
122
|
+
/**
|
|
123
|
+
* List files and directories with metadata.
|
|
124
|
+
*
|
|
125
|
+
* @param path - Directory path to list (non-recursive)
|
|
126
|
+
* @returns Array of file/directory info
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const entries = await backend.lsInfo("/src");
|
|
131
|
+
* const dirs = entries.filter(e => e.is_dir);
|
|
132
|
+
* const files = entries.filter(e => !e.is_dir);
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
lsInfo(path: string): FileInfo[] | Promise<FileInfo[]>;
|
|
136
|
+
/**
|
|
137
|
+
* Read file content with optional line numbers.
|
|
138
|
+
*
|
|
139
|
+
* Returns content formatted with line numbers for display, suitable for
|
|
140
|
+
* showing to the model or user.
|
|
141
|
+
*
|
|
142
|
+
* @param filePath - Path to the file to read
|
|
143
|
+
* @param offset - Starting line offset (0-indexed)
|
|
144
|
+
* @param limit - Maximum number of lines to read
|
|
145
|
+
* @returns Formatted content with line numbers
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* // Read first 50 lines
|
|
150
|
+
* const content = await backend.read("/src/index.ts", 0, 50);
|
|
151
|
+
*
|
|
152
|
+
* // Read lines 100-200
|
|
153
|
+
* const content = await backend.read("/src/index.ts", 100, 100);
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
read(filePath: string, offset?: number, limit?: number): string | Promise<string>;
|
|
157
|
+
/**
|
|
158
|
+
* Read raw file content as FileData.
|
|
159
|
+
*
|
|
160
|
+
* Returns the content as an array of lines with timestamps, useful for
|
|
161
|
+
* programmatic access to file content.
|
|
162
|
+
*
|
|
163
|
+
* @param filePath - Path to the file to read
|
|
164
|
+
* @returns Raw file data with content and timestamps
|
|
165
|
+
*/
|
|
166
|
+
readRaw(filePath: string): FileData | Promise<FileData>;
|
|
167
|
+
/**
|
|
168
|
+
* Search for pattern matches using regex.
|
|
169
|
+
*
|
|
170
|
+
* @param pattern - Regular expression pattern to search for
|
|
171
|
+
* @param path - Directory to search in (defaults to root)
|
|
172
|
+
* @param glob - Glob pattern to filter files (e.g., "*.ts")
|
|
173
|
+
* @returns Array of matches or formatted string
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* // Search for TODO comments in TypeScript files
|
|
178
|
+
* const matches = await backend.grepRaw(
|
|
179
|
+
* "TODO:",
|
|
180
|
+
* "/src",
|
|
181
|
+
* "*.ts"
|
|
182
|
+
* );
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
grepRaw(pattern: string, path?: string | null, glob?: string | null): GrepMatch[] | string | Promise<GrepMatch[] | string>;
|
|
186
|
+
/**
|
|
187
|
+
* Find files matching a glob pattern.
|
|
188
|
+
*
|
|
189
|
+
* @param pattern - Glob pattern (e.g., "**\/*.ts", "src/**\/*.test.ts")
|
|
190
|
+
* @param path - Base directory for the search
|
|
191
|
+
* @returns Array of matching file info
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```typescript
|
|
195
|
+
* // Find all TypeScript files
|
|
196
|
+
* const tsFiles = await backend.globInfo("**\/*.ts", "/src");
|
|
197
|
+
*
|
|
198
|
+
* // Find all test files
|
|
199
|
+
* const testFiles = await backend.globInfo("**\/*.test.ts");
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
globInfo(pattern: string, path?: string): FileInfo[] | Promise<FileInfo[]>;
|
|
203
|
+
/**
|
|
204
|
+
* Create or overwrite a file.
|
|
205
|
+
*
|
|
206
|
+
* @param filePath - Path for the new file
|
|
207
|
+
* @param content - Content to write
|
|
208
|
+
* @returns Result indicating success or failure
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```typescript
|
|
212
|
+
* const result = await backend.write(
|
|
213
|
+
* "/src/new-file.ts",
|
|
214
|
+
* "export const hello = 'world';\n"
|
|
215
|
+
* );
|
|
216
|
+
* if (!result.success) {
|
|
217
|
+
* console.error("Write failed:", result.error);
|
|
218
|
+
* }
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
write(filePath: string, content: string): WriteResult | Promise<WriteResult>;
|
|
222
|
+
/**
|
|
223
|
+
* Edit a file by replacing text.
|
|
224
|
+
*
|
|
225
|
+
* The `old_string` must be unique in the file unless `replace_all` is true.
|
|
226
|
+
* This prevents accidental replacements of unintended matches.
|
|
227
|
+
*
|
|
228
|
+
* @param filePath - Path to the file to edit
|
|
229
|
+
* @param oldString - Text to find and replace
|
|
230
|
+
* @param newString - Replacement text
|
|
231
|
+
* @param replaceAll - If true, replace all occurrences; if false, fail on non-unique match
|
|
232
|
+
* @returns Result indicating success or failure
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* // Replace a single unique occurrence
|
|
237
|
+
* const result = await backend.edit(
|
|
238
|
+
* "/src/config.ts",
|
|
239
|
+
* "export const DEBUG = false;",
|
|
240
|
+
* "export const DEBUG = true;"
|
|
241
|
+
* );
|
|
242
|
+
*
|
|
243
|
+
* // Replace all occurrences
|
|
244
|
+
* const result = await backend.edit(
|
|
245
|
+
* "/src/types.ts",
|
|
246
|
+
* "interface",
|
|
247
|
+
* "type",
|
|
248
|
+
* true
|
|
249
|
+
* );
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
edit(filePath: string, oldString: string, newString: string, replaceAll?: boolean): EditResult | Promise<EditResult>;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Response from command execution.
|
|
256
|
+
*
|
|
257
|
+
* @category Backend
|
|
258
|
+
*/
|
|
259
|
+
export interface ExecuteResponse {
|
|
260
|
+
/** Combined stdout and stderr output */
|
|
261
|
+
output: string;
|
|
262
|
+
/** Exit code from the command (null if terminated) */
|
|
263
|
+
exitCode: number | null;
|
|
264
|
+
/** Whether output was truncated due to size limits */
|
|
265
|
+
truncated: boolean;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Response from file upload operation.
|
|
269
|
+
*
|
|
270
|
+
* @category Backend
|
|
271
|
+
*/
|
|
272
|
+
export interface FileUploadResponse {
|
|
273
|
+
/** Path where the file was uploaded */
|
|
274
|
+
path: string;
|
|
275
|
+
/** Whether the upload succeeded */
|
|
276
|
+
success: boolean;
|
|
277
|
+
/** Error message if failed */
|
|
278
|
+
error?: string;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Extended backend protocol with command execution capabilities.
|
|
282
|
+
*
|
|
283
|
+
* Sandboxes provide isolated environments for running shell commands safely.
|
|
284
|
+
* Implementations may use local processes, containers, or cloud sandboxes.
|
|
285
|
+
*
|
|
286
|
+
* @example
|
|
287
|
+
* ```typescript
|
|
288
|
+
* // Using LocalSandbox for development
|
|
289
|
+
* const sandbox = new LocalSandbox({ cwd: process.cwd() });
|
|
290
|
+
*
|
|
291
|
+
* // Execute commands
|
|
292
|
+
* const result = await sandbox.execute("npm test");
|
|
293
|
+
* console.log(`Exit code: ${result.exitCode}`);
|
|
294
|
+
* console.log(`Output: ${result.output}`);
|
|
295
|
+
*
|
|
296
|
+
* // Upload files
|
|
297
|
+
* const encoder = new TextEncoder();
|
|
298
|
+
* await sandbox.uploadFiles([
|
|
299
|
+
* ["/tmp/test.txt", encoder.encode("Hello, World!")],
|
|
300
|
+
* ]);
|
|
301
|
+
* ```
|
|
302
|
+
*
|
|
303
|
+
* @category Backend
|
|
304
|
+
*/
|
|
305
|
+
export interface SandboxBackendProtocol extends BackendProtocol {
|
|
306
|
+
/** Unique identifier for this sandbox instance */
|
|
307
|
+
readonly id: string;
|
|
308
|
+
/**
|
|
309
|
+
* Execute a shell command in the sandbox.
|
|
310
|
+
*
|
|
311
|
+
* @param command - Shell command to execute
|
|
312
|
+
* @returns Execution result with output and exit code
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* ```typescript
|
|
316
|
+
* const result = await sandbox.execute("ls -la /src");
|
|
317
|
+
* if (result.exitCode === 0) {
|
|
318
|
+
* console.log("Directory listing:", result.output);
|
|
319
|
+
* }
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
execute(command: string): Promise<ExecuteResponse>;
|
|
323
|
+
/**
|
|
324
|
+
* Upload files to the sandbox.
|
|
325
|
+
*
|
|
326
|
+
* @param files - Array of [path, content] tuples
|
|
327
|
+
* @returns Array of upload results
|
|
328
|
+
*/
|
|
329
|
+
uploadFiles(files: Array<[string, Uint8Array]>): Promise<FileUploadResponse[]>;
|
|
330
|
+
/**
|
|
331
|
+
* Download files from the sandbox.
|
|
332
|
+
*
|
|
333
|
+
* @param paths - Paths to download
|
|
334
|
+
* @returns Array of { path, content } objects
|
|
335
|
+
*/
|
|
336
|
+
downloadFiles(paths: string[]): Promise<Array<{
|
|
337
|
+
path: string;
|
|
338
|
+
content: Uint8Array;
|
|
339
|
+
}>>;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Check if a value implements the BackendProtocol interface.
|
|
343
|
+
*
|
|
344
|
+
* @param value - Value to check
|
|
345
|
+
* @returns True if value is a BackendProtocol
|
|
346
|
+
*
|
|
347
|
+
* @example
|
|
348
|
+
* ```typescript
|
|
349
|
+
* function processBackend(backend: unknown) {
|
|
350
|
+
* if (isBackend(backend)) {
|
|
351
|
+
* const files = await backend.lsInfo("/");
|
|
352
|
+
* }
|
|
353
|
+
* }
|
|
354
|
+
* ```
|
|
355
|
+
*
|
|
356
|
+
* @category Backend
|
|
357
|
+
*/
|
|
358
|
+
export declare function isBackend(value: unknown): value is BackendProtocol;
|
|
359
|
+
/**
|
|
360
|
+
* Check if a value implements the SandboxBackendProtocol interface.
|
|
361
|
+
*
|
|
362
|
+
* @param value - Value to check
|
|
363
|
+
* @returns True if value is a SandboxBackendProtocol
|
|
364
|
+
*
|
|
365
|
+
* @example
|
|
366
|
+
* ```typescript
|
|
367
|
+
* function maybeExecute(backend: BackendProtocol, command: string) {
|
|
368
|
+
* if (isSandboxBackend(backend)) {
|
|
369
|
+
* return backend.execute(command);
|
|
370
|
+
* }
|
|
371
|
+
* throw new Error("Backend does not support command execution");
|
|
372
|
+
* }
|
|
373
|
+
* ```
|
|
374
|
+
*
|
|
375
|
+
* @category Backend
|
|
376
|
+
*/
|
|
377
|
+
export declare function isSandboxBackend(value: unknown): value is SandboxBackendProtocol;
|
|
378
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/backend.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend system for pluggable storage.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the core interfaces and implementations for storage backends.
|
|
5
|
+
* Backends abstract file operations, allowing the same agent code to work with
|
|
6
|
+
* in-memory state, real filesystems, or persistent stores.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Type Guards
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Check if a value implements the BackendProtocol interface.
|
|
15
|
+
*
|
|
16
|
+
* @param value - Value to check
|
|
17
|
+
* @returns True if value is a BackendProtocol
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* function processBackend(backend: unknown) {
|
|
22
|
+
* if (isBackend(backend)) {
|
|
23
|
+
* const files = await backend.lsInfo("/");
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @category Backend
|
|
29
|
+
*/
|
|
30
|
+
export function isBackend(value) {
|
|
31
|
+
if (value === null || typeof value !== "object") {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const obj = value;
|
|
35
|
+
return (typeof obj.lsInfo === "function" &&
|
|
36
|
+
typeof obj.read === "function" &&
|
|
37
|
+
typeof obj.readRaw === "function" &&
|
|
38
|
+
typeof obj.grepRaw === "function" &&
|
|
39
|
+
typeof obj.globInfo === "function" &&
|
|
40
|
+
typeof obj.write === "function" &&
|
|
41
|
+
typeof obj.edit === "function");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a value implements the SandboxBackendProtocol interface.
|
|
45
|
+
*
|
|
46
|
+
* @param value - Value to check
|
|
47
|
+
* @returns True if value is a SandboxBackendProtocol
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* function maybeExecute(backend: BackendProtocol, command: string) {
|
|
52
|
+
* if (isSandboxBackend(backend)) {
|
|
53
|
+
* return backend.execute(command);
|
|
54
|
+
* }
|
|
55
|
+
* throw new Error("Backend does not support command execution");
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @category Backend
|
|
60
|
+
*/
|
|
61
|
+
export function isSandboxBackend(value) {
|
|
62
|
+
if (!isBackend(value)) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
const obj = value;
|
|
66
|
+
return (typeof obj.id === "string" &&
|
|
67
|
+
typeof obj.execute === "function" &&
|
|
68
|
+
typeof obj.uploadFiles === "function" &&
|
|
69
|
+
typeof obj.downloadFiles === "function");
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyYH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU;QAChC,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU;QAC9B,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QACjC,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QACjC,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU;QAClC,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU;QAC/B,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,KAA2C,CAAC;IACxD,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QACjC,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU;QACrC,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU,CACxC,CAAC;AACJ,CAAC"}
|