@intella/sdk 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/agent-manager.d.ts +47 -0
  2. package/dist/agent-manager.d.ts.map +1 -0
  3. package/dist/agent-manager.js +90 -0
  4. package/dist/agent-manager.js.map +1 -0
  5. package/dist/agents/base-agent.d.ts +41 -0
  6. package/dist/agents/base-agent.d.ts.map +1 -0
  7. package/dist/agents/base-agent.js +139 -0
  8. package/dist/agents/base-agent.js.map +1 -0
  9. package/dist/agents/claude-agent.d.ts +24 -0
  10. package/dist/agents/claude-agent.d.ts.map +1 -0
  11. package/dist/agents/claude-agent.js +65 -0
  12. package/dist/agents/claude-agent.js.map +1 -0
  13. package/dist/agents/codex-agent.d.ts +25 -0
  14. package/dist/agents/codex-agent.d.ts.map +1 -0
  15. package/dist/agents/codex-agent.js +62 -0
  16. package/dist/agents/codex-agent.js.map +1 -0
  17. package/dist/agents/intella-lite-agent.d.ts +21 -0
  18. package/dist/agents/intella-lite-agent.d.ts.map +1 -0
  19. package/dist/agents/intella-lite-agent.js +43 -0
  20. package/dist/agents/intella-lite-agent.js.map +1 -0
  21. package/dist/agents/opencode-agent.d.ts +20 -0
  22. package/dist/agents/opencode-agent.d.ts.map +1 -0
  23. package/dist/agents/opencode-agent.js +36 -0
  24. package/dist/agents/opencode-agent.js.map +1 -0
  25. package/dist/filesystem/agentfs-provider.d.ts +42 -0
  26. package/dist/filesystem/agentfs-provider.d.ts.map +1 -0
  27. package/dist/filesystem/agentfs-provider.js +308 -0
  28. package/dist/filesystem/agentfs-provider.js.map +1 -0
  29. package/dist/filesystem/base-provider.d.ts +55 -0
  30. package/dist/filesystem/base-provider.d.ts.map +1 -0
  31. package/dist/filesystem/base-provider.js +44 -0
  32. package/dist/filesystem/base-provider.js.map +1 -0
  33. package/dist/filesystem/index.d.ts +4 -0
  34. package/dist/filesystem/index.d.ts.map +1 -0
  35. package/{src/filesystem/index.ts → dist/filesystem/index.js} +1 -1
  36. package/dist/filesystem/index.js.map +1 -0
  37. package/dist/filesystem/memory-provider.d.ts +44 -0
  38. package/dist/filesystem/memory-provider.d.ts.map +1 -0
  39. package/dist/filesystem/memory-provider.js +227 -0
  40. package/dist/filesystem/memory-provider.js.map +1 -0
  41. package/dist/filesystem-manager.d.ts +75 -0
  42. package/dist/filesystem-manager.d.ts.map +1 -0
  43. package/dist/filesystem-manager.js +164 -0
  44. package/dist/filesystem-manager.js.map +1 -0
  45. package/dist/index.d.ts +18 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/{src/index.ts → dist/index.js} +3 -46
  48. package/dist/index.js.map +1 -0
  49. package/dist/orchestrator.d.ts +32 -0
  50. package/dist/orchestrator.d.ts.map +1 -0
  51. package/dist/orchestrator.js +136 -0
  52. package/dist/orchestrator.js.map +1 -0
  53. package/dist/sandbox/base-provider.d.ts +106 -0
  54. package/dist/sandbox/base-provider.d.ts.map +1 -0
  55. package/dist/sandbox/base-provider.js +73 -0
  56. package/dist/sandbox/base-provider.js.map +1 -0
  57. package/dist/sandbox/daytona-provider.d.ts +93 -0
  58. package/dist/sandbox/daytona-provider.d.ts.map +1 -0
  59. package/dist/sandbox/daytona-provider.js +378 -0
  60. package/dist/sandbox/daytona-provider.js.map +1 -0
  61. package/dist/sandbox/e2b-provider.d.ts +85 -0
  62. package/dist/sandbox/e2b-provider.d.ts.map +1 -0
  63. package/dist/sandbox/e2b-provider.js +342 -0
  64. package/dist/sandbox/e2b-provider.js.map +1 -0
  65. package/dist/sandbox/modal-provider.d.ts +92 -0
  66. package/dist/sandbox/modal-provider.d.ts.map +1 -0
  67. package/dist/sandbox/modal-provider.js +516 -0
  68. package/dist/sandbox/modal-provider.js.map +1 -0
  69. package/dist/sandbox-manager.d.ts +59 -0
  70. package/dist/sandbox-manager.d.ts.map +1 -0
  71. package/dist/sandbox-manager.js +141 -0
  72. package/dist/sandbox-manager.js.map +1 -0
  73. package/dist/sdk.d.ts +173 -0
  74. package/dist/sdk.d.ts.map +1 -0
  75. package/dist/sdk.js +273 -0
  76. package/dist/sdk.js.map +1 -0
  77. package/dist/types.d.ts +419 -0
  78. package/dist/types.d.ts.map +1 -0
  79. package/dist/types.js +2 -0
  80. package/dist/types.js.map +1 -0
  81. package/dist/utils/code-extractor.d.ts +103 -0
  82. package/dist/utils/code-extractor.d.ts.map +1 -0
  83. package/dist/utils/code-extractor.js +133 -0
  84. package/dist/utils/code-extractor.js.map +1 -0
  85. package/package.json +6 -1
  86. package/examples/claude-code/README.md +0 -178
  87. package/examples/claude-code/advanced-config.ts +0 -55
  88. package/examples/claude-code/basic-usage.ts +0 -56
  89. package/examples/claude-code/model-comparison.ts +0 -50
  90. package/examples/claude-code/orchestration.ts +0 -70
  91. package/examples/claude-code/streaming.ts +0 -69
  92. package/examples/claude-code/tsconfig.json +0 -19
  93. package/examples/code-extractor/README.md +0 -77
  94. package/examples/code-extractor/example.ts +0 -145
  95. package/examples/filesystem/basic-usage.ts +0 -84
  96. package/examples/integrated-task/README.md +0 -68
  97. package/examples/integrated-task/integrated-usage.ts +0 -193
  98. package/examples/integrated-task/simple-example.ts +0 -51
  99. package/examples/integrated-task/tsconfig.json +0 -19
  100. package/examples/sandbox/basic-usage.ts +0 -173
  101. package/src/agent-manager.ts +0 -104
  102. package/src/agents/base-agent.ts +0 -166
  103. package/src/agents/claude-agent.ts +0 -77
  104. package/src/agents/codex-agent.ts +0 -72
  105. package/src/agents/intella-lite-agent.ts +0 -55
  106. package/src/agents/opencode-agent.ts +0 -45
  107. package/src/filesystem/agentfs-provider.ts +0 -328
  108. package/src/filesystem/base-provider.ts +0 -98
  109. package/src/filesystem/memory-provider.ts +0 -267
  110. package/src/filesystem-manager.ts +0 -213
  111. package/src/orchestrator.ts +0 -177
  112. package/src/sandbox/base-provider.ts +0 -184
  113. package/src/sandbox/daytona-provider.ts +0 -462
  114. package/src/sandbox/e2b-provider.ts +0 -419
  115. package/src/sandbox/modal-provider.ts +0 -597
  116. package/src/sandbox-manager.ts +0 -175
  117. package/src/sdk.ts +0 -401
  118. package/src/types.ts +0 -451
  119. package/src/utils/code-extractor.ts +0 -194
  120. package/tsconfig.json +0 -25
@@ -1,175 +0,0 @@
1
- import type { SandboxProviderType, SandboxConfig, ISandboxProvider } from './types.js';
2
- import { E2BSandboxProvider } from './sandbox/e2b-provider.js';
3
- import { DaytonaSandboxProvider } from './sandbox/daytona-provider.js';
4
- import { ModalSandboxProvider } from './sandbox/modal-provider.js';
5
-
6
- /**
7
- * Sandbox Manager
8
- * Manages sandbox provider instances and configurations
9
- */
10
- export class SandboxManager {
11
- private sandboxes: Map<SandboxProviderType, ISandboxProvider> = new Map();
12
- private defaultProviderType: SandboxProviderType | null = null;
13
- private activeSandbox: ISandboxProvider | null = null;
14
-
15
- constructor(config?: {
16
- provider?: SandboxProviderType;
17
- config?: SandboxConfig;
18
- }) {
19
- // Initialize providers (but don't create sandboxes yet)
20
- if(config?.provider) {
21
- this.defaultProviderType = config.provider;
22
- }
23
- this.registerProvider('e2b', new E2BSandboxProvider(config?.config));
24
- this.registerProvider('daytona', new DaytonaSandboxProvider(config?.config));
25
- this.registerProvider('modal', new ModalSandboxProvider(config?.config));
26
- }
27
-
28
- /**
29
- * Register or update a sandbox provider instance
30
- */
31
- registerProvider(type: SandboxProviderType, provider: ISandboxProvider): void {
32
- if (provider.type !== type) {
33
- throw new Error(
34
- `Sandbox provider type mismatch: expected ${type}, got ${provider.type}`
35
- );
36
- }
37
- this.sandboxes.set(type, provider);
38
- }
39
-
40
- /**
41
- * Get a sandbox provider instance
42
- */
43
- getProvider(type?: SandboxProviderType): ISandboxProvider {
44
- const providerType = type || this.defaultProviderType;
45
-
46
- if (!providerType) {
47
- throw new Error(
48
- 'No sandbox provider selected. Call selectProvider() or initializeSandbox() first.'
49
- );
50
- }
51
-
52
- const provider = this.sandboxes.get(providerType);
53
-
54
- if (!provider) {
55
- throw new Error(`Sandbox provider ${providerType} is not registered`);
56
- }
57
-
58
- return provider;
59
- }
60
-
61
- /**
62
- * List all available sandbox providers
63
- */
64
- listProviders(): SandboxProviderType[] {
65
- return Array.from(this.sandboxes.keys());
66
- }
67
-
68
- /**
69
- * Check if a provider is registered
70
- */
71
- hasProvider(type: SandboxProviderType): boolean {
72
- return this.sandboxes.has(type);
73
- }
74
-
75
- /**
76
- * Initialize/create a sandbox with the specified provider
77
- */
78
- async initializeSandbox(
79
- type: SandboxProviderType,
80
- config?: SandboxConfig
81
- ): Promise<ISandboxProvider> {
82
- const provider = this.getProvider(type);
83
-
84
- // Close existing active sandbox if different
85
- if (this.activeSandbox && this.activeSandbox !== provider) {
86
- try {
87
- await this.activeSandbox.close();
88
- } catch (error) {
89
- console.warn('Error closing previous sandbox:', error);
90
- }
91
- }
92
-
93
- await provider.initialize(config);
94
- this.activeSandbox = provider;
95
- this.defaultProviderType = type;
96
-
97
- return provider;
98
- }
99
-
100
- /**
101
- * Get the active sandbox provider
102
- */
103
- getActiveSandbox(): ISandboxProvider | null {
104
- return this.activeSandbox;
105
- }
106
-
107
- /**
108
- * Set the default provider type (does not initialize)
109
- */
110
- setDefaultProvider(type: SandboxProviderType): void {
111
- if (!this.sandboxes.has(type)) {
112
- throw new Error(`Sandbox provider ${type} is not registered`);
113
- }
114
- this.defaultProviderType = type;
115
- }
116
-
117
- /**
118
- * Get the default provider type
119
- */
120
- getDefaultProviderType(): SandboxProviderType | null {
121
- return this.defaultProviderType;
122
- }
123
-
124
- /**
125
- * Close the active sandbox
126
- */
127
- async closeActiveSandbox(): Promise<void> {
128
- if (this.activeSandbox) {
129
- try {
130
- await this.activeSandbox.close();
131
- } catch (error) {
132
- console.warn('Error closing active sandbox:', error);
133
- }
134
- this.activeSandbox = null;
135
- }
136
- }
137
-
138
- /**
139
- * Close all sandboxes
140
- */
141
- async closeAll(): Promise<void> {
142
- const closePromises = Array.from(this.sandboxes.values()).map(
143
- async (provider) => {
144
- if (provider.isInitialized()) {
145
- try {
146
- await provider.close();
147
- } catch (error) {
148
- console.warn(`Error closing sandbox ${provider.type}:`, error);
149
- }
150
- }
151
- }
152
- );
153
-
154
- await Promise.all(closePromises);
155
- this.activeSandbox = null;
156
- }
157
-
158
- /**
159
- * Remove a provider (cannot remove if it's the active sandbox)
160
- */
161
- removeProvider(type: SandboxProviderType): void {
162
- const provider = this.sandboxes.get(type);
163
-
164
- if (provider && provider === this.activeSandbox) {
165
- throw new Error('Cannot remove the active sandbox provider. Close it first.');
166
- }
167
-
168
- this.sandboxes.delete(type);
169
-
170
- if (this.defaultProviderType === type) {
171
- this.defaultProviderType = null;
172
- }
173
- }
174
- }
175
-
package/src/sdk.ts DELETED
@@ -1,401 +0,0 @@
1
- import type {
2
- AgentType,
3
- AgentConfig,
4
- TaskRequest,
5
- TaskResponse,
6
- OrchestrationRequest,
7
- OrchestrationResponse,
8
- FilesystemProviderType,
9
- FilesystemConfig,
10
- FileStats,
11
- DirectoryEntry,
12
- ToolCallMetadata,
13
- IFilesystemProvider,
14
- SandboxProviderType,
15
- SandboxConfig,
16
- SandboxExecutionResult,
17
- ISandboxProvider,
18
- } from './types.js';
19
- import { AgentManager } from './agent-manager.js';
20
- import { Orchestrator } from './orchestrator.js';
21
- import { FilesystemManager } from './filesystem-manager.js';
22
- import { SandboxManager } from './sandbox-manager.js';
23
-
24
- /**
25
- * Intella SDK
26
- * Main class for orchestrating and managing tasks across multiple AI agents
27
- */
28
- export class IntellaSDK {
29
- private agentManager: AgentManager;
30
- private orchestrator: Orchestrator;
31
- private filesystemManager: FilesystemManager;
32
- private sandboxManager: SandboxManager;
33
-
34
- constructor(
35
- config?: {
36
- sandbox?: {
37
- provider?: SandboxProviderType;
38
- config?: SandboxConfig;
39
- }
40
- }) {
41
- this.agentManager = new AgentManager();
42
- this.orchestrator = new Orchestrator(this.agentManager);
43
- this.filesystemManager = new FilesystemManager();
44
- this.sandboxManager = new SandboxManager(config?.sandbox);
45
- }
46
-
47
- /**
48
- * Select and configure an agent
49
- */
50
- selectAgent(agentType: AgentType, config?: AgentConfig): void {
51
- this.agentManager.updateConfig(agentType, config || {});
52
- this.agentManager.setDefaultAgent(agentType);
53
- }
54
-
55
- /**
56
- * Configure an agent without selecting it as default
57
- */
58
- configureAgent(agentType: AgentType, config: AgentConfig): void {
59
- this.agentManager.updateConfig(agentType, config);
60
- }
61
-
62
- /**
63
- * Execute a task with a selected agent (or default)
64
- */
65
- async executeTask(
66
- task: string | TaskRequest,
67
- agentType?: AgentType
68
- ): Promise<TaskResponse> {
69
- const request: TaskRequest =
70
- typeof task === 'string' ? { prompt: task } : task;
71
- const agent = this.agentManager.getAgent(agentType);
72
- return agent.execute(request);
73
- }
74
-
75
- /**
76
- * Stream a task execution
77
- */
78
- async *streamTask(
79
- task: string | TaskRequest,
80
- agentType?: AgentType
81
- ): AsyncIterable<{ text: string; agentType: AgentType; isDone: boolean }> {
82
- const request: TaskRequest =
83
- typeof task === 'string' ? { prompt: task } : task;
84
- const agent = this.agentManager.getAgent(agentType);
85
- yield* agent.stream(request);
86
- }
87
-
88
- /**
89
- * Orchestrate a task across multiple agents
90
- */
91
- async orchestrateTask(
92
- task: string | TaskRequest,
93
- agents: AgentType[],
94
- strategy: OrchestrationRequest['strategy'] = 'sequential',
95
- options?: OrchestrationRequest['options']
96
- ): Promise<OrchestrationResponse> {
97
- const request: TaskRequest =
98
- typeof task === 'string' ? { prompt: task } : task;
99
-
100
- return this.orchestrator.orchestrate({
101
- task: request,
102
- agents,
103
- strategy,
104
- options,
105
- });
106
- }
107
-
108
- /**
109
- * Get the agent manager (for advanced usage)
110
- */
111
- getAgentManager(): AgentManager {
112
- return this.agentManager;
113
- }
114
-
115
- /**
116
- * Get the orchestrator (for advanced usage)
117
- */
118
- getOrchestrator(): Orchestrator {
119
- return this.orchestrator;
120
- }
121
-
122
- /**
123
- * List available agents
124
- */
125
- listAgents(): AgentType[] {
126
- return this.agentManager.listAgents();
127
- }
128
-
129
- /**
130
- * Get agent configuration
131
- */
132
- getAgentConfig(agentType: AgentType): AgentConfig {
133
- return this.agentManager.getConfig(agentType);
134
- }
135
-
136
- /**
137
- * Set default agent
138
- */
139
- setDefaultAgent(agentType: AgentType): void {
140
- this.agentManager.setDefaultAgent(agentType);
141
- }
142
-
143
- /**
144
- * Get default agent type
145
- */
146
- getDefaultAgentType(): AgentType {
147
- return this.agentManager.getDefaultAgentType();
148
- }
149
-
150
- // ============================================================================
151
- // Sandbox Methods
152
- // ============================================================================
153
-
154
- /**
155
- * Initialize a sandbox with the specified provider
156
- */
157
- async initializeSandbox(
158
- providerType: SandboxProviderType,
159
- config?: SandboxConfig
160
- ): Promise<ISandboxProvider> {
161
- return this.sandboxManager.initializeSandbox(providerType, config);
162
- }
163
-
164
- /**
165
- * Execute a command in the active sandbox
166
- */
167
- async executeInSandbox(
168
- command: string,
169
- options?: {
170
- cwd?: string;
171
- env?: Record<string, string>;
172
- timeout?: number;
173
- }
174
- ): Promise<SandboxExecutionResult> {
175
- const sandbox = this.sandboxManager.getActiveSandbox();
176
- if (!sandbox) {
177
- throw new Error(
178
- 'No active sandbox. Call initializeSandbox() first.'
179
- );
180
- }
181
-
182
- const result = await sandbox.executeCommand(command, options);
183
- return {
184
- result,
185
- sandboxId: sandbox.getSandboxId() || 'unknown',
186
- provider: sandbox.type,
187
- };
188
- }
189
-
190
- /**
191
- * Get the active sandbox provider
192
- */
193
- getActiveSandbox(): ISandboxProvider | null {
194
- return this.sandboxManager.getActiveSandbox();
195
- }
196
-
197
- /**
198
- * Close the active sandbox
199
- */
200
- async closeSandbox(): Promise<void> {
201
- await this.sandboxManager.closeActiveSandbox();
202
- }
203
-
204
- /**
205
- * List available sandbox providers
206
- */
207
- listSandboxProviders(): SandboxProviderType[] {
208
- return this.sandboxManager.listProviders();
209
- }
210
-
211
- /**
212
- * Set default sandbox provider (does not initialize)
213
- */
214
- setDefaultSandboxProvider(type: SandboxProviderType): void {
215
- this.sandboxManager.setDefaultProvider(type);
216
- }
217
-
218
- /**
219
- * Get default sandbox provider type
220
- */
221
- getDefaultSandboxProviderType(): SandboxProviderType | null {
222
- return this.sandboxManager.getDefaultProviderType();
223
- }
224
-
225
- /**
226
- * Get the sandbox manager (for advanced usage)
227
- */
228
- getSandboxManager(): SandboxManager {
229
- return this.sandboxManager;
230
- }
231
-
232
- /**
233
- * Execute a task in a sandbox environment
234
- * This combines agent execution with sandbox command execution
235
- */
236
- async executeTaskInSandbox(
237
- task: string | TaskRequest,
238
- command: string,
239
- agentType?: AgentType,
240
- sandboxOptions?: {
241
- cwd?: string;
242
- env?: Record<string, string>;
243
- timeout?: number;
244
- }
245
- ): Promise<{
246
- agentResponse: TaskResponse;
247
- sandboxResult: SandboxExecutionResult;
248
- }> {
249
- // Execute the task with the agent
250
- const agentResponse = await this.executeTask(task, agentType);
251
-
252
- // Execute the command in the sandbox
253
- const sandboxResult = await this.executeInSandbox(command, sandboxOptions);
254
-
255
- return {
256
- agentResponse,
257
- sandboxResult,
258
- };
259
- }
260
-
261
- // ============================================================================
262
- // Filesystem Methods
263
- // ============================================================================
264
-
265
- /**
266
- * Initialize filesystem with a provider
267
- */
268
- async initializeFilesystem(
269
- provider: FilesystemProviderType = 'memory',
270
- config?: FilesystemConfig
271
- ): Promise<void> {
272
- await this.filesystemManager.initializeFilesystem(provider, config);
273
- }
274
-
275
- /**
276
- * Get filesystem manager (for advanced usage)
277
- */
278
- getFilesystemManager(): FilesystemManager {
279
- return this.filesystemManager;
280
- }
281
-
282
- /**
283
- * Get current filesystem provider
284
- */
285
- getFilesystem(): IFilesystemProvider {
286
- return this.filesystemManager.getProvider();
287
- }
288
-
289
- /**
290
- * Check if filesystem is initialized
291
- */
292
- isFilesystemInitialized(): boolean {
293
- return this.filesystemManager.isInitialized();
294
- }
295
-
296
- /**
297
- * Close filesystem
298
- */
299
- async closeFilesystem(): Promise<void> {
300
- await this.filesystemManager.closeFilesystem();
301
- }
302
-
303
- /**
304
- * List available filesystem providers
305
- */
306
- listFilesystemProviders(): FilesystemProviderType[] {
307
- return this.filesystemManager.listProviders();
308
- }
309
-
310
- /**
311
- * Set default filesystem provider
312
- */
313
- setDefaultFilesystemProvider(provider: FilesystemProviderType): void {
314
- this.filesystemManager.setDefaultProvider(provider);
315
- }
316
-
317
- /**
318
- * Get default filesystem provider type
319
- */
320
- getDefaultFilesystemProviderType(): FilesystemProviderType | null {
321
- return this.filesystemManager.getDefaultProviderType();
322
- }
323
-
324
- // Convenience methods for filesystem operations
325
- async readFile(path: string): Promise<Buffer | string> {
326
- return this.filesystemManager.readFile(path);
327
- }
328
-
329
- async writeFile(path: string, data: Buffer | string): Promise<void> {
330
- return this.filesystemManager.writeFile(path, data);
331
- }
332
-
333
- async appendFile(path: string, data: Buffer | string): Promise<void> {
334
- return this.filesystemManager.appendFile(path, data);
335
- }
336
-
337
- async fileExists(path: string): Promise<boolean> {
338
- return this.filesystemManager.exists(path);
339
- }
340
-
341
- async fileStat(path: string): Promise<FileStats> {
342
- return this.filesystemManager.stat(path);
343
- }
344
-
345
- async readDirectory(path: string): Promise<DirectoryEntry[]> {
346
- return this.filesystemManager.readdir(path);
347
- }
348
-
349
- async createDirectory(path: string, recursive = false): Promise<void> {
350
- return this.filesystemManager.mkdir(path, recursive);
351
- }
352
-
353
- async deleteFile(path: string, recursive = false): Promise<void> {
354
- return this.filesystemManager.unlink(path, recursive);
355
- }
356
-
357
- async copyFile(src: string, dest: string): Promise<void> {
358
- return this.filesystemManager.copy(src, dest);
359
- }
360
-
361
- async moveFile(src: string, dest: string): Promise<void> {
362
- return this.filesystemManager.move(src, dest);
363
- }
364
-
365
- // Key-value operations
366
- async getValue(key: string): Promise<unknown> {
367
- return this.filesystemManager.get(key);
368
- }
369
-
370
- async setValue(key: string, value: unknown): Promise<void> {
371
- return this.filesystemManager.set(key, value);
372
- }
373
-
374
- async deleteValue(key: string): Promise<void> {
375
- return this.filesystemManager.delete(key);
376
- }
377
-
378
- async listValues(prefix?: string): Promise<string[]> {
379
- return this.filesystemManager.listKeys(prefix);
380
- }
381
-
382
- async hasValue(key: string): Promise<boolean> {
383
- return this.filesystemManager.hasKey(key);
384
- }
385
-
386
- // Tool call tracking
387
- async recordToolCall(metadata: ToolCallMetadata): Promise<void> {
388
- return this.filesystemManager.recordToolCall(metadata);
389
- }
390
-
391
- async getToolCallHistory(filter?: {
392
- tool?: string;
393
- status?: ToolCallMetadata['status'];
394
- since?: number;
395
- until?: number;
396
- limit?: number;
397
- }): Promise<ToolCallMetadata[]> {
398
- return this.filesystemManager.getToolCallHistory(filter);
399
- }
400
- }
401
-