@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
@@ -0,0 +1,36 @@
1
+ import { BaseAgent } from './base-agent.js';
2
+ /**
3
+ * OpenCode Agent
4
+ * Powered by OpenCode SDK provider
5
+ */
6
+ export class OpenCodeAgent extends BaseAgent {
7
+ constructor(config = {}) {
8
+ super('opencode', config);
9
+ this.modelInstance = null;
10
+ }
11
+ /**
12
+ * Get or create the language model instance
13
+ */
14
+ async getModel() {
15
+ if (!this.modelInstance) {
16
+ // Dynamic import to handle optional peer dependency
17
+ const { opencode } = await import('ai-sdk-provider-opencode-sdk');
18
+ // OpenCode provider takes model ID as string parameter
19
+ // Uses CLI authentication (opencode login) - API key not needed in code
20
+ // Model format: 'provider/model-id' (e.g., 'anthropic/claude-sonnet-4-5-20250929')
21
+ const modelId = this.config.model || 'anthropic/claude-sonnet-4-5-20250929';
22
+ // Create model instance directly
23
+ this.modelInstance = opencode(modelId);
24
+ }
25
+ return this.modelInstance;
26
+ }
27
+ /**
28
+ * Override configure to reset model instance when config changes
29
+ */
30
+ configure(config) {
31
+ super.configure(config);
32
+ // Reset model instance so it's recreated with new config
33
+ this.modelInstance = null;
34
+ }
35
+ }
36
+ //# sourceMappingURL=opencode-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-agent.js","sourceRoot":"","sources":["../../src/agents/opencode-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAG1C,YAAY,SAAsB,EAAE;QAClC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAHpB,kBAAa,GAAyB,IAAI,CAAC;IAInD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,oDAAoD;YACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;YAElE,uDAAuD;YACvD,wEAAwE;YACxE,mFAAmF;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,sCAAsC,CAAC;YAE5E,iCAAiC;YACjC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,yDAAyD;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ import type { FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata } from '../types.js';
2
+ import { BaseFilesystemProvider } from './base-provider.js';
3
+ /**
4
+ * AgentFS filesystem provider
5
+ * Uses Turso's AgentFS SDK for SQLite-based agent filesystem
6
+ */
7
+ export declare class AgentFSProvider extends BaseFilesystemProvider {
8
+ private agentFS;
9
+ constructor();
10
+ /**
11
+ * Initialize AgentFS filesystem
12
+ */
13
+ initialize(config?: FilesystemConfig): Promise<void>;
14
+ /**
15
+ * Close AgentFS filesystem
16
+ */
17
+ close(): Promise<void>;
18
+ readFile(path: string): Promise<Buffer | string>;
19
+ writeFile(path: string, data: Buffer | string): Promise<void>;
20
+ appendFile(path: string, data: Buffer | string): Promise<void>;
21
+ exists(path: string): Promise<boolean>;
22
+ stat(path: string): Promise<FileStats>;
23
+ readdir(path: string): Promise<DirectoryEntry[]>;
24
+ mkdir(path: string, recursive?: boolean): Promise<void>;
25
+ unlink(path: string, recursive?: boolean): Promise<void>;
26
+ copy(src: string, dest: string): Promise<void>;
27
+ move(src: string, dest: string): Promise<void>;
28
+ get(key: string): Promise<unknown>;
29
+ set(key: string, value: unknown): Promise<void>;
30
+ delete(key: string): Promise<void>;
31
+ listKeys(prefix?: string): Promise<string[]>;
32
+ hasKey(key: string): Promise<boolean>;
33
+ recordToolCall(metadata: ToolCallMetadata): Promise<void>;
34
+ getToolCallHistory(filter?: {
35
+ tool?: string;
36
+ status?: ToolCallMetadata['status'];
37
+ since?: number;
38
+ until?: number;
39
+ limit?: number;
40
+ }): Promise<ToolCallMetadata[]>;
41
+ }
42
+ //# sourceMappingURL=agentfs-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentfs-provider.d.ts","sourceRoot":"","sources":["../../src/filesystem/agentfs-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,sBAAsB;IACzD,OAAO,CAAC,OAAO,CAAa;;IAM5B;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAYhD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBtC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAuBhD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAezD,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAwBhC"}
@@ -0,0 +1,308 @@
1
+ // Note: agentfs-sdk needs to be installed separately
2
+ // npm install agentfs-sdk
3
+ import { AgentFS } from 'agentfs-sdk';
4
+ import { BaseFilesystemProvider } from './base-provider.js';
5
+ /**
6
+ * AgentFS filesystem provider
7
+ * Uses Turso's AgentFS SDK for SQLite-based agent filesystem
8
+ */
9
+ export class AgentFSProvider extends BaseFilesystemProvider {
10
+ constructor() {
11
+ super('agentfs');
12
+ this.agentFS = null; // AgentFS instance (typed as any due to SDK)
13
+ }
14
+ /**
15
+ * Initialize AgentFS filesystem
16
+ */
17
+ async initialize(config) {
18
+ this.config = { ...this.config, ...config };
19
+ try {
20
+ // Initialize AgentFS based on configuration
21
+ if (this.config.dbPath) {
22
+ // Use explicit database path
23
+ this.agentFS = await AgentFS.open({ path: this.config.dbPath });
24
+ }
25
+ else if (this.config.agentId) {
26
+ // Use agent ID (creates .agentfs/{agentId}.db)
27
+ this.agentFS = await AgentFS.open({ id: this.config.agentId });
28
+ }
29
+ else {
30
+ throw new Error('No agent ID or database path provided');
31
+ }
32
+ this.initialized = true;
33
+ }
34
+ catch (error) {
35
+ throw new Error(`Failed to initialize AgentFS: ${error instanceof Error ? error.message : String(error)}`);
36
+ }
37
+ }
38
+ /**
39
+ * Close AgentFS filesystem
40
+ */
41
+ async close() {
42
+ if (this.agentFS) {
43
+ // AgentFS doesn't expose a close method in the SDK,
44
+ // but we can clear the reference
45
+ this.agentFS = null;
46
+ this.initialized = false;
47
+ }
48
+ }
49
+ // Filesystem operations
50
+ async readFile(path) {
51
+ this.ensureInitialized();
52
+ const normalizedPath = this.normalizePath(path);
53
+ try {
54
+ const content = await this.agentFS.fs.readFile(normalizedPath);
55
+ // AgentFS may return string or Buffer, return as-is
56
+ return content;
57
+ }
58
+ catch (error) {
59
+ throw new Error(`Failed to read file ${path}: ${error instanceof Error ? error.message : String(error)}`);
60
+ }
61
+ }
62
+ async writeFile(path, data) {
63
+ this.ensureInitialized();
64
+ const normalizedPath = this.normalizePath(path);
65
+ try {
66
+ await this.agentFS.fs.writeFile(normalizedPath, data);
67
+ }
68
+ catch (error) {
69
+ throw new Error(`Failed to write file ${path}: ${error instanceof Error ? error.message : String(error)}`);
70
+ }
71
+ }
72
+ async appendFile(path, data) {
73
+ this.ensureInitialized();
74
+ const normalizedPath = this.normalizePath(path);
75
+ try {
76
+ // Read existing content
77
+ let existingContent = '';
78
+ try {
79
+ const existing = await this.agentFS.fs.readFile(normalizedPath);
80
+ existingContent = existing instanceof Buffer ? existing.toString() : existing;
81
+ }
82
+ catch {
83
+ // File doesn't exist, start with empty string
84
+ }
85
+ // Write combined content
86
+ const newContent = existingContent + (data instanceof Buffer ? data.toString() : data);
87
+ await this.agentFS.fs.writeFile(normalizedPath, newContent);
88
+ }
89
+ catch (error) {
90
+ throw new Error(`Failed to append to file ${path}: ${error instanceof Error ? error.message : String(error)}`);
91
+ }
92
+ }
93
+ async exists(path) {
94
+ this.ensureInitialized();
95
+ const normalizedPath = this.normalizePath(path);
96
+ try {
97
+ await this.agentFS.fs.stat(normalizedPath);
98
+ return true;
99
+ }
100
+ catch {
101
+ return false;
102
+ }
103
+ }
104
+ async stat(path) {
105
+ this.ensureInitialized();
106
+ const normalizedPath = this.normalizePath(path);
107
+ try {
108
+ const stats = await this.agentFS.fs.stat(normalizedPath);
109
+ return {
110
+ size: stats.size || 0,
111
+ isDirectory: stats.isDirectory || false,
112
+ isFile: stats.isFile || false,
113
+ createdAt: stats.createdAt,
114
+ modifiedAt: stats.modifiedAt,
115
+ };
116
+ }
117
+ catch (error) {
118
+ throw new Error(`Failed to stat ${path}: ${error instanceof Error ? error.message : String(error)}`);
119
+ }
120
+ }
121
+ async readdir(path) {
122
+ this.ensureInitialized();
123
+ const normalizedPath = this.normalizePath(path);
124
+ try {
125
+ const entries = await this.agentFS.fs.readdir(normalizedPath);
126
+ const result = [];
127
+ for (const entry of entries) {
128
+ const entryPath = normalizedPath === '' ? entry : `${normalizedPath}/${entry}`;
129
+ const stats = await this.stat(entryPath);
130
+ result.push({
131
+ name: entry,
132
+ path: entryPath,
133
+ stats,
134
+ });
135
+ }
136
+ return result;
137
+ }
138
+ catch (error) {
139
+ throw new Error(`Failed to read directory ${path}: ${error instanceof Error ? error.message : String(error)}`);
140
+ }
141
+ }
142
+ async mkdir(path, recursive = false) {
143
+ this.ensureInitialized();
144
+ const normalizedPath = this.normalizePath(path);
145
+ try {
146
+ // AgentFS may support recursive mkdir through the SDK
147
+ // If not, we'll create parent directories manually if recursive is true
148
+ if (recursive) {
149
+ const parts = normalizedPath.split('/');
150
+ let currentPath = '';
151
+ for (const part of parts) {
152
+ currentPath = currentPath ? `${currentPath}/${part}` : part;
153
+ try {
154
+ await this.agentFS.fs.mkdir(currentPath);
155
+ }
156
+ catch (err) {
157
+ // Ignore if directory already exists
158
+ if (!err?.message?.includes('exists')) {
159
+ throw err;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ else {
165
+ await this.agentFS.fs.mkdir(normalizedPath);
166
+ }
167
+ }
168
+ catch (error) {
169
+ throw new Error(`Failed to create directory ${path}: ${error instanceof Error ? error.message : String(error)}`);
170
+ }
171
+ }
172
+ async unlink(path, recursive = false) {
173
+ this.ensureInitialized();
174
+ const normalizedPath = this.normalizePath(path);
175
+ try {
176
+ const stats = await this.stat(normalizedPath);
177
+ if (stats.isDirectory) {
178
+ if (recursive) {
179
+ const entries = await this.readdir(normalizedPath);
180
+ for (const entry of entries) {
181
+ await this.unlink(entry.path, true);
182
+ }
183
+ }
184
+ await this.agentFS.fs.rmdir(normalizedPath);
185
+ }
186
+ else {
187
+ await this.agentFS.fs.unlink(normalizedPath);
188
+ }
189
+ }
190
+ catch (error) {
191
+ throw new Error(`Failed to delete ${path}: ${error instanceof Error ? error.message : String(error)}`);
192
+ }
193
+ }
194
+ async copy(src, dest) {
195
+ this.ensureInitialized();
196
+ const normalizedSrc = this.normalizePath(src);
197
+ const normalizedDest = this.normalizePath(dest);
198
+ try {
199
+ const content = await this.readFile(normalizedSrc);
200
+ await this.writeFile(normalizedDest, content);
201
+ }
202
+ catch (error) {
203
+ throw new Error(`Failed to copy ${src} to ${dest}: ${error instanceof Error ? error.message : String(error)}`);
204
+ }
205
+ }
206
+ async move(src, dest) {
207
+ this.ensureInitialized();
208
+ const normalizedSrc = this.normalizePath(src);
209
+ const normalizedDest = this.normalizePath(dest);
210
+ try {
211
+ await this.copy(normalizedSrc, normalizedDest);
212
+ await this.unlink(normalizedSrc);
213
+ }
214
+ catch (error) {
215
+ throw new Error(`Failed to move ${src} to ${dest}: ${error instanceof Error ? error.message : String(error)}`);
216
+ }
217
+ }
218
+ // Key-value operations
219
+ async get(key) {
220
+ this.ensureInitialized();
221
+ try {
222
+ return await this.agentFS.kv.get(key);
223
+ }
224
+ catch (error) {
225
+ throw new Error(`Failed to get key ${key}: ${error instanceof Error ? error.message : String(error)}`);
226
+ }
227
+ }
228
+ async set(key, value) {
229
+ this.ensureInitialized();
230
+ try {
231
+ await this.agentFS.kv.set(key, value);
232
+ }
233
+ catch (error) {
234
+ throw new Error(`Failed to set key ${key}: ${error instanceof Error ? error.message : String(error)}`);
235
+ }
236
+ }
237
+ async delete(key) {
238
+ this.ensureInitialized();
239
+ try {
240
+ await this.agentFS.kv.delete(key);
241
+ }
242
+ catch (error) {
243
+ throw new Error(`Failed to delete key ${key}: ${error instanceof Error ? error.message : String(error)}`);
244
+ }
245
+ }
246
+ async listKeys(prefix) {
247
+ this.ensureInitialized();
248
+ try {
249
+ // AgentFS may have a list method or we need to query directly
250
+ // For now, we'll use a method that might exist or throw a not implemented error
251
+ if (this.agentFS.kv.list) {
252
+ return await this.agentFS.kv.list(prefix);
253
+ }
254
+ // If list method doesn't exist, we'll need to implement it differently
255
+ // This might require direct SQLite access which isn't exposed by the SDK
256
+ throw new Error('listKeys is not directly supported by AgentFS SDK. Consider using SQL queries directly.');
257
+ }
258
+ catch (error) {
259
+ throw new Error(`Failed to list keys: ${error instanceof Error ? error.message : String(error)}`);
260
+ }
261
+ }
262
+ async hasKey(key) {
263
+ this.ensureInitialized();
264
+ try {
265
+ const value = await this.get(key);
266
+ return value !== null && value !== undefined;
267
+ }
268
+ catch {
269
+ return false;
270
+ }
271
+ }
272
+ // Tool call tracking
273
+ async recordToolCall(metadata) {
274
+ this.ensureInitialized();
275
+ try {
276
+ await this.agentFS.tools.record(metadata.tool, metadata.startedAt, metadata.endedAt, metadata.input || {}, metadata.output || {});
277
+ }
278
+ catch (error) {
279
+ throw new Error(`Failed to record tool call: ${error instanceof Error ? error.message : String(error)}`);
280
+ }
281
+ }
282
+ async getToolCallHistory(filter) {
283
+ this.ensureInitialized();
284
+ try {
285
+ // AgentFS tools API might have a query method
286
+ // If not, we'll need to query the SQLite database directly
287
+ if (this.agentFS.tools.query) {
288
+ const results = await this.agentFS.tools.query(filter);
289
+ return results.map((r) => ({
290
+ tool: r.tool,
291
+ startedAt: r.startedAt,
292
+ endedAt: r.endedAt,
293
+ input: r.input,
294
+ output: r.output,
295
+ status: r.status,
296
+ error: r.error,
297
+ }));
298
+ }
299
+ // If query method doesn't exist, return empty array for now
300
+ // In a real implementation, you might want to access the database directly
301
+ throw new Error('getToolCallHistory is not directly supported by AgentFS SDK. Consider using SQL queries directly.');
302
+ }
303
+ catch (error) {
304
+ throw new Error(`Failed to get tool call history: ${error instanceof Error ? error.message : String(error)}`);
305
+ }
306
+ }
307
+ }
308
+ //# sourceMappingURL=agentfs-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentfs-provider.js","sourceRoot":"","sources":["../../src/filesystem/agentfs-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider } from '../types.js';
2
+ /**
3
+ * Base filesystem provider
4
+ * Abstract implementation that provides common functionality
5
+ */
6
+ export declare abstract class BaseFilesystemProvider implements IFilesystemProvider {
7
+ protected initialized: boolean;
8
+ protected config: FilesystemConfig;
9
+ readonly type: FilesystemProviderType;
10
+ constructor(type: FilesystemProviderType);
11
+ /**
12
+ * Initialize the filesystem
13
+ */
14
+ abstract initialize(config?: FilesystemConfig): Promise<void>;
15
+ /**
16
+ * Check if filesystem is initialized
17
+ */
18
+ isInitialized(): boolean;
19
+ /**
20
+ * Close/cleanup the filesystem
21
+ */
22
+ abstract close(): Promise<void>;
23
+ abstract readFile(path: string): Promise<Buffer | string>;
24
+ abstract writeFile(path: string, data: Buffer | string): Promise<void>;
25
+ abstract appendFile(path: string, data: Buffer | string): Promise<void>;
26
+ abstract exists(path: string): Promise<boolean>;
27
+ abstract stat(path: string): Promise<FileStats>;
28
+ abstract readdir(path: string): Promise<DirectoryEntry[]>;
29
+ abstract mkdir(path: string, recursive?: boolean): Promise<void>;
30
+ abstract unlink(path: string, recursive?: boolean): Promise<void>;
31
+ abstract copy(src: string, dest: string): Promise<void>;
32
+ abstract move(src: string, dest: string): Promise<void>;
33
+ abstract get(key: string): Promise<unknown>;
34
+ abstract set(key: string, value: unknown): Promise<void>;
35
+ abstract delete(key: string): Promise<void>;
36
+ abstract listKeys(prefix?: string): Promise<string[]>;
37
+ abstract hasKey(key: string): Promise<boolean>;
38
+ abstract recordToolCall(metadata: ToolCallMetadata): Promise<void>;
39
+ abstract getToolCallHistory(filter?: {
40
+ tool?: string;
41
+ status?: ToolCallMetadata['status'];
42
+ since?: number;
43
+ until?: number;
44
+ limit?: number;
45
+ }): Promise<ToolCallMetadata[]>;
46
+ /**
47
+ * Normalize path (remove leading/trailing slashes, handle ..)
48
+ */
49
+ protected normalizePath(path: string): string;
50
+ /**
51
+ * Ensure filesystem is initialized before operation
52
+ */
53
+ protected ensureInitialized(): void;
54
+ }
55
+ //# sourceMappingURL=base-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.d.ts","sourceRoot":"","sources":["../../src/filesystem/base-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Base filesystem provider
3
+ * Abstract implementation that provides common functionality
4
+ */
5
+ export class BaseFilesystemProvider {
6
+ constructor(type) {
7
+ this.initialized = false;
8
+ this.config = {};
9
+ this.type = type;
10
+ }
11
+ /**
12
+ * Check if filesystem is initialized
13
+ */
14
+ isInitialized() {
15
+ return this.initialized;
16
+ }
17
+ /**
18
+ * Normalize path (remove leading/trailing slashes, handle ..)
19
+ */
20
+ normalizePath(path) {
21
+ return path
22
+ .split('/')
23
+ .filter((segment) => segment !== '' && segment !== '.')
24
+ .reduce((acc, segment) => {
25
+ if (segment === '..') {
26
+ acc.pop();
27
+ }
28
+ else {
29
+ acc.push(segment);
30
+ }
31
+ return acc;
32
+ }, [])
33
+ .join('/');
34
+ }
35
+ /**
36
+ * Ensure filesystem is initialized before operation
37
+ */
38
+ ensureInitialized() {
39
+ if (!this.initialized) {
40
+ throw new Error(`Filesystem provider ${this.type} is not initialized. Call initialize() first.`);
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=base-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/filesystem/base-provider.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,OAAgB,sBAAsB;IAK1C,YAAY,IAA4B;QAJ9B,gBAAW,GAAG,KAAK,CAAC;QACpB,WAAM,GAAqB,EAAE,CAAC;QAItC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAOD;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAoCD;;OAEG;IACO,aAAa,CAAC,IAAY;QAClC,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG,CAAC;aACtD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACvB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAc,CAAC;aACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACO,iBAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,IAAI,+CAA+C,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export { BaseFilesystemProvider } from './base-provider.js';
2
+ export { AgentFSProvider } from './agentfs-provider.js';
3
+ export { MemoryFilesystemProvider } from './memory-provider.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -2,4 +2,4 @@
2
2
  export { BaseFilesystemProvider } from './base-provider.js';
3
3
  export { AgentFSProvider } from './agentfs-provider.js';
4
4
  export { MemoryFilesystemProvider } from './memory-provider.js';
5
-
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/filesystem/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata } from '../types.js';
2
+ import { BaseFilesystemProvider } from './base-provider.js';
3
+ /**
4
+ * In-memory filesystem provider
5
+ * Useful for testing and ephemeral operations
6
+ */
7
+ export declare class MemoryFilesystemProvider extends BaseFilesystemProvider {
8
+ private fs;
9
+ private kv;
10
+ private toolCalls;
11
+ constructor();
12
+ /**
13
+ * Initialize memory filesystem (no-op for memory provider)
14
+ */
15
+ initialize(config?: FilesystemConfig): Promise<void>;
16
+ /**
17
+ * Close memory filesystem (clears all data)
18
+ */
19
+ close(): Promise<void>;
20
+ readFile(path: string): Promise<Buffer | string>;
21
+ writeFile(path: string, data: Buffer | string): Promise<void>;
22
+ appendFile(path: string, data: Buffer | string): Promise<void>;
23
+ exists(path: string): Promise<boolean>;
24
+ stat(path: string): Promise<FileStats>;
25
+ readdir(path: string): Promise<DirectoryEntry[]>;
26
+ mkdir(path: string, recursive?: boolean): Promise<void>;
27
+ unlink(path: string, recursive?: boolean): Promise<void>;
28
+ copy(src: string, dest: string): Promise<void>;
29
+ move(src: string, dest: string): Promise<void>;
30
+ get(key: string): Promise<unknown>;
31
+ set(key: string, value: unknown): Promise<void>;
32
+ delete(key: string): Promise<void>;
33
+ listKeys(prefix?: string): Promise<string[]>;
34
+ hasKey(key: string): Promise<boolean>;
35
+ recordToolCall(metadata: ToolCallMetadata): Promise<void>;
36
+ getToolCallHistory(filter?: {
37
+ tool?: string;
38
+ status?: ToolCallMetadata['status'];
39
+ since?: number;
40
+ until?: number;
41
+ limit?: number;
42
+ }): Promise<ToolCallMetadata[]>;
43
+ }
44
+ //# sourceMappingURL=memory-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-provider.d.ts","sourceRoot":"","sources":["../../src/filesystem/memory-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IAClE,OAAO,CAAC,EAAE,CAA2C;IACrD,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,SAAS,CAA0B;;IAM3C;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAUhD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAoBtC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiChD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMrC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAwBhC"}