@supertools-ai/core 0.1.2 → 0.1.3
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/README.md +9 -8
- package/dist/executor.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -2
- package/dist/supertools.d.ts +2 -2
- package/dist/types.d.ts +0 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,10 +50,10 @@ User Request → LLM generates code → Sandbox executes → Result
|
|
|
50
50
|
bun add @supertools-ai/core @anthropic-ai/sdk e2b
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
Create a `.env` file with your API keys:
|
|
54
54
|
```bash
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
ANTHROPIC_API_KEY=your-key # Get at console.anthropic.com
|
|
56
|
+
E2B_API_KEY=your-key # Get at e2b.dev
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
Create `index.ts` and run with `bun run index.ts`:
|
|
@@ -89,7 +89,10 @@ const getOrders = defineTool({
|
|
|
89
89
|
});
|
|
90
90
|
|
|
91
91
|
// Main
|
|
92
|
-
const sandbox = await Sandbox.create('supertools-bun')
|
|
92
|
+
const sandbox = await Sandbox.create('supertools-bun').catch((e) => {
|
|
93
|
+
console.error('Failed to create sandbox:', e);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
});
|
|
93
96
|
|
|
94
97
|
try {
|
|
95
98
|
const client = supertools(new Anthropic(), {
|
|
@@ -102,7 +105,7 @@ try {
|
|
|
102
105
|
});
|
|
103
106
|
|
|
104
107
|
await client.messages.create({
|
|
105
|
-
model: 'claude-sonnet-4-5
|
|
108
|
+
model: 'claude-sonnet-4-5',
|
|
106
109
|
max_tokens: 1024,
|
|
107
110
|
messages: [{
|
|
108
111
|
role: 'user',
|
|
@@ -196,8 +199,6 @@ const client = supertools(new Anthropic(), {
|
|
|
196
199
|
// - 'tool_result': Tool completed (includes result and durationMs)
|
|
197
200
|
// - 'tool_error': Tool execution failed
|
|
198
201
|
// - 'result': Final execution result
|
|
199
|
-
// - 'stdout': Standard output from sandbox
|
|
200
|
-
// - 'stderr': Standard error from sandbox
|
|
201
202
|
// - 'complete': Execution finished (success or error)
|
|
202
203
|
if (event.type === 'tool_call') console.log(`Calling ${event.tool}...`);
|
|
203
204
|
if (event.type === 'tool_result') console.log(`${event.tool} done in ${event.durationMs}ms`);
|
|
@@ -207,7 +208,7 @@ const client = supertools(new Anthropic(), {
|
|
|
207
208
|
|
|
208
209
|
// Use exactly like the original SDK
|
|
209
210
|
const response = await client.messages.create({
|
|
210
|
-
model: 'claude-haiku-4-5
|
|
211
|
+
model: 'claude-haiku-4-5',
|
|
211
212
|
max_tokens: 1024,
|
|
212
213
|
messages: [{ role: 'user', content: 'Your request here' }],
|
|
213
214
|
});
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAE/G,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAEnF;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkC;gBAE/C,OAAO,EAAE,qBAAqB;IAW1C,OAAO,CAAC,IAAI;IAIN,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6CrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAW3C,oBAAoB;IA8ClC,QAAQ,IAAI,SAAS,cAAc,EAAE;IAIrC,oBAAoB,IAAI,MAAM;YAIhB,YAAY;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAE/G,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAEnF;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkC;gBAE/C,OAAO,EAAE,qBAAqB;IAW1C,OAAO,CAAC,IAAI;IAIN,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6CrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAW3C,oBAAoB;IA8ClC,QAAQ,IAAI,SAAS,cAAc,EAAE;IAIrC,oBAAoB,IAAI,MAAM;YAIhB,YAAY;YA6BZ,YAAY;YA2BZ,OAAO;IAcrB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,SAAS;CAMlB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*
|
|
26
26
|
* // Use exactly like normal - tools execute automatically
|
|
27
27
|
* const response = await client.messages.create({
|
|
28
|
-
* model: 'claude-
|
|
28
|
+
* model: 'claude-sonnet-4-5',
|
|
29
29
|
* max_tokens: 1024,
|
|
30
30
|
* messages: [{ role: 'user', content: 'List all admin users' }],
|
|
31
31
|
* });
|
package/dist/index.js
CHANGED
|
@@ -14367,7 +14367,19 @@ class ProgrammaticExecutor {
|
|
|
14367
14367
|
try {
|
|
14368
14368
|
return await this.llm.generateCode(request, systemPrompt);
|
|
14369
14369
|
} catch (error46) {
|
|
14370
|
-
|
|
14370
|
+
const message = error46 instanceof Error ? error46.message : "Unknown error";
|
|
14371
|
+
if (message.includes("Could not resolve authentication")) {
|
|
14372
|
+
throw new CodeGenerationError("Missing ANTHROPIC_API_KEY. Set it with: export ANTHROPIC_API_KEY=your-key");
|
|
14373
|
+
}
|
|
14374
|
+
if (message.includes("not_found_error") && message.includes("model:")) {
|
|
14375
|
+
const modelMatch = message.match(/model:\s*([^\s"]+)/);
|
|
14376
|
+
const model = modelMatch?.[1] || "unknown";
|
|
14377
|
+
throw new CodeGenerationError(`Model "${model}" not found. Try: claude-sonnet-4-5 or claude-haiku-4-5`);
|
|
14378
|
+
}
|
|
14379
|
+
if (message.includes("invalid_api_key") || message.includes("Invalid API Key")) {
|
|
14380
|
+
throw new CodeGenerationError("Invalid ANTHROPIC_API_KEY. Check your key at console.anthropic.com");
|
|
14381
|
+
}
|
|
14382
|
+
throw new CodeGenerationError(`Failed to generate code: ${message}`);
|
|
14371
14383
|
}
|
|
14372
14384
|
}
|
|
14373
14385
|
async connectRelay(url2, token) {
|
|
@@ -14384,7 +14396,11 @@ class ProgrammaticExecutor {
|
|
|
14384
14396
|
await client.connect();
|
|
14385
14397
|
return client;
|
|
14386
14398
|
} catch (error46) {
|
|
14387
|
-
|
|
14399
|
+
const message = error46 instanceof Error ? error46.message : "Unknown error";
|
|
14400
|
+
if (message.includes("ECONNREFUSED") || message.includes("timeout")) {
|
|
14401
|
+
throw new RelayConnectionError("Could not connect to sandbox. Make sure E2B sandbox is running and accessible.");
|
|
14402
|
+
}
|
|
14403
|
+
throw new RelayConnectionError(`Failed to connect to sandbox relay: ${message}`);
|
|
14388
14404
|
}
|
|
14389
14405
|
}
|
|
14390
14406
|
async cleanup(client) {
|
package/dist/supertools.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*
|
|
26
26
|
* // Use exactly like the normal SDK
|
|
27
27
|
* const response = await client.messages.create({
|
|
28
|
-
* model: 'claude-
|
|
28
|
+
* model: 'claude-sonnet-4-5',
|
|
29
29
|
* max_tokens: 1024,
|
|
30
30
|
* messages: [{ role: 'user', content: 'Query all users and summarize' }],
|
|
31
31
|
* });
|
|
@@ -79,7 +79,7 @@ export declare function detectProvider(client: unknown): SupportedProvider | nul
|
|
|
79
79
|
*
|
|
80
80
|
* // Works exactly like the normal Anthropic SDK
|
|
81
81
|
* const response = await client.messages.create({
|
|
82
|
-
* model: 'claude-
|
|
82
|
+
* model: 'claude-sonnet-4-5',
|
|
83
83
|
* max_tokens: 1024,
|
|
84
84
|
* messages: [{ role: 'user', content: 'Find top users and email report' }],
|
|
85
85
|
* });
|
package/dist/types.d.ts
CHANGED
|
@@ -59,12 +59,6 @@ export type ExecutionEvent = {
|
|
|
59
59
|
} | {
|
|
60
60
|
readonly type: 'result';
|
|
61
61
|
readonly data: unknown;
|
|
62
|
-
} | {
|
|
63
|
-
readonly type: 'stdout';
|
|
64
|
-
readonly data: string;
|
|
65
|
-
} | {
|
|
66
|
-
readonly type: 'stderr';
|
|
67
|
-
readonly data: string;
|
|
68
62
|
} | {
|
|
69
63
|
readonly type: 'complete';
|
|
70
64
|
readonly success: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG,SAAS,OAAO,EAAE,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC3H;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACvI;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|