@intella/sdk 0.0.4 → 0.0.5
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/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +2 -1
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/claude-agent.js +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/sandbox/agent-installers.d.ts +33 -0
- package/dist/sandbox/agent-installers.d.ts.map +1 -0
- package/dist/sandbox/agent-installers.js +277 -0
- package/dist/sandbox/agent-installers.js.map +1 -0
- package/dist/sandbox/agent-setup.d.ts +29 -0
- package/dist/sandbox/agent-setup.d.ts.map +1 -0
- package/dist/sandbox/agent-setup.js +63 -0
- package/dist/sandbox/agent-setup.js.map +1 -0
- package/dist/sandbox/config.d.ts +33 -0
- package/dist/sandbox/config.d.ts.map +1 -0
- package/dist/sandbox/config.js +113 -0
- package/dist/sandbox/config.js.map +1 -0
- package/dist/sandbox/vercel-provider.d.ts +92 -0
- package/dist/sandbox/vercel-provider.d.ts.map +1 -0
- package/dist/sandbox/vercel-provider.js +490 -0
- package/dist/sandbox/vercel-provider.js.map +1 -0
- package/dist/sandbox-manager.d.ts.map +1 -1
- package/dist/sandbox-manager.js +2 -0
- package/dist/sandbox-manager.js.map +1 -1
- package/dist/sdk.d.ts +20 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +39 -0
- package/dist/sdk.js.map +1 -1
- package/dist/types.d.ts +36 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate that an agent type requires a binary
|
|
3
|
+
*/
|
|
4
|
+
export function agentRequiresBinary(agentType) {
|
|
5
|
+
return agentType === 'claude' || agentType === 'codex' || agentType === 'opencode';
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Get the npm package name for an agent binary
|
|
9
|
+
*/
|
|
10
|
+
export function getAgentBinaryPackage(agentType) {
|
|
11
|
+
switch (agentType) {
|
|
12
|
+
case 'claude':
|
|
13
|
+
return '@anthropic-ai/claude-code';
|
|
14
|
+
case 'codex':
|
|
15
|
+
return '@openai/codex';
|
|
16
|
+
case 'opencode':
|
|
17
|
+
return 'opencode-ai';
|
|
18
|
+
case 'intella-lite':
|
|
19
|
+
return null;
|
|
20
|
+
default:
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the binary command name for an agent
|
|
26
|
+
*/
|
|
27
|
+
export function getAgentBinaryCommand(agentType) {
|
|
28
|
+
switch (agentType) {
|
|
29
|
+
case 'claude':
|
|
30
|
+
return 'claude';
|
|
31
|
+
case 'codex':
|
|
32
|
+
return 'codex';
|
|
33
|
+
case 'opencode':
|
|
34
|
+
return 'opencode';
|
|
35
|
+
case 'intella-lite':
|
|
36
|
+
return null;
|
|
37
|
+
default:
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get required API keys for an agent type
|
|
43
|
+
*/
|
|
44
|
+
export function getRequiredApiKeys(agentType) {
|
|
45
|
+
switch (agentType) {
|
|
46
|
+
case 'claude':
|
|
47
|
+
return ['ANTHROPIC_API_KEY'];
|
|
48
|
+
case 'codex':
|
|
49
|
+
return ['OPENAI_API_KEY', 'AI_GATEWAY_API_KEY']; // Either one works
|
|
50
|
+
case 'opencode':
|
|
51
|
+
return ['OPENAI_API_KEY', 'ANTHROPIC_API_KEY']; // At least one
|
|
52
|
+
case 'intella-lite':
|
|
53
|
+
return ['OPENAI_API_KEY'];
|
|
54
|
+
default:
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate API keys for an agent type
|
|
60
|
+
*/
|
|
61
|
+
export function validateApiKeys(agentType, apiKeys) {
|
|
62
|
+
const required = getRequiredApiKeys(agentType);
|
|
63
|
+
const missing = [];
|
|
64
|
+
if (!apiKeys) {
|
|
65
|
+
return { valid: false, missing: required };
|
|
66
|
+
}
|
|
67
|
+
for (const key of required) {
|
|
68
|
+
if (!apiKeys[key]) {
|
|
69
|
+
missing.push(key);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Special handling for codex (either OPENAI_API_KEY or AI_GATEWAY_API_KEY)
|
|
73
|
+
if (agentType === 'codex') {
|
|
74
|
+
if (apiKeys.OPENAI_API_KEY || apiKeys.AI_GATEWAY_API_KEY) {
|
|
75
|
+
return { valid: true, missing: [] };
|
|
76
|
+
}
|
|
77
|
+
return { valid: false, missing: ['OPENAI_API_KEY or AI_GATEWAY_API_KEY'] };
|
|
78
|
+
}
|
|
79
|
+
// Special handling for opencode (at least one API key)
|
|
80
|
+
if (agentType === 'opencode') {
|
|
81
|
+
if (apiKeys.OPENAI_API_KEY || apiKeys.ANTHROPIC_API_KEY) {
|
|
82
|
+
return { valid: true, missing: [] };
|
|
83
|
+
}
|
|
84
|
+
return { valid: false, missing: ['OPENAI_API_KEY or ANTHROPIC_API_KEY'] };
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
valid: missing.length === 0,
|
|
88
|
+
missing,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Build installation command for an agent binary
|
|
93
|
+
*/
|
|
94
|
+
export function buildInstallCommand(agentType) {
|
|
95
|
+
const packageName = getAgentBinaryPackage(agentType);
|
|
96
|
+
if (!packageName) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
return `npm install -g ${packageName}`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Normalize MCP server configuration
|
|
103
|
+
*/
|
|
104
|
+
export function normalizeMcpServers(servers) {
|
|
105
|
+
if (!servers) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
return servers.map((server) => ({
|
|
109
|
+
...server,
|
|
110
|
+
name: server.name.toLowerCase().replace(/[^a-z0-9]/g, '-'),
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/sandbox/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
|
+
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo } from '../types.js';
|
|
3
|
+
import { Sandbox } from '@vercel/sandbox';
|
|
4
|
+
import 'dotenv/config';
|
|
5
|
+
/**
|
|
6
|
+
* Vercel Sandbox Provider
|
|
7
|
+
* Provides sandbox execution capabilities using Vercel Sandbox SDK
|
|
8
|
+
*/
|
|
9
|
+
export declare class VercelSandboxProvider extends BaseSandboxProvider {
|
|
10
|
+
private sandboxInstance;
|
|
11
|
+
protected client: Record<string, any> | null;
|
|
12
|
+
constructor(config?: SandboxConfig);
|
|
13
|
+
getClient(): Record<string, any>;
|
|
14
|
+
/**
|
|
15
|
+
* Initialize/create a Vercel sandbox
|
|
16
|
+
*/
|
|
17
|
+
protected initializeSandbox(config?: SandboxConfig): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Connect to an existing Vercel sandbox by ID
|
|
20
|
+
*/
|
|
21
|
+
fromSandbox(sandboxId: string, config?: SandboxConfig): Promise<Sandbox>;
|
|
22
|
+
/**
|
|
23
|
+
* Close/cleanup the Vercel sandbox
|
|
24
|
+
*/
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute a command in the Vercel sandbox
|
|
28
|
+
*/
|
|
29
|
+
executeCommand(command: string, options?: {
|
|
30
|
+
cwd?: string;
|
|
31
|
+
env?: Record<string, string>;
|
|
32
|
+
timeout?: number;
|
|
33
|
+
}): Promise<CommandResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Run code (e.g., Python, JavaScript) in the Vercel sandbox
|
|
36
|
+
*/
|
|
37
|
+
runCode(code: string, options?: {
|
|
38
|
+
language?: string;
|
|
39
|
+
env?: Record<string, string>;
|
|
40
|
+
timeout?: number;
|
|
41
|
+
onStdout?: (data: string) => void;
|
|
42
|
+
onStderr?: (data: string) => void;
|
|
43
|
+
}): Promise<CodeExecutionResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Upload a file to the Vercel sandbox
|
|
46
|
+
* Uses writeFile to write content
|
|
47
|
+
*/
|
|
48
|
+
uploadFile(localPath: string, remotePath: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Download a file from the Vercel sandbox
|
|
51
|
+
* Uses readFile to read content
|
|
52
|
+
*/
|
|
53
|
+
downloadFile(remotePath: string, localPath: string): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Read a file from the Vercel sandbox
|
|
56
|
+
* Uses cat command to read file
|
|
57
|
+
*/
|
|
58
|
+
readFile(path: string): Promise<string>;
|
|
59
|
+
/**
|
|
60
|
+
* Write a file to the Vercel sandbox
|
|
61
|
+
* Uses a base64-encoded approach to safely write file content
|
|
62
|
+
*/
|
|
63
|
+
writeFile(path: string, content: string): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* List files in a directory
|
|
66
|
+
* Uses ls command
|
|
67
|
+
*/
|
|
68
|
+
listFiles(path: string): Promise<string[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Check if a file exists
|
|
71
|
+
* Uses test command
|
|
72
|
+
*/
|
|
73
|
+
fileExists(path: string): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Delete a file
|
|
76
|
+
* Uses rm command
|
|
77
|
+
*/
|
|
78
|
+
deleteFile(path: string): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Get sandbox status
|
|
81
|
+
*/
|
|
82
|
+
getStatus(): Promise<{
|
|
83
|
+
isRunning: boolean;
|
|
84
|
+
createdAt?: number;
|
|
85
|
+
[key: string]: unknown;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Get detailed sandbox information
|
|
89
|
+
*/
|
|
90
|
+
getInfo(sandboxId?: string): Promise<SandboxInfo>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=vercel-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-provider.d.ts","sourceRoot":"","sources":["../../src/sandbox/vercel-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,eAAe,CAAC;AAEvB;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,mBAAmB;IAC5D,OAAO,CAAC,eAAe,CAAwB;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;gBAExC,MAAM,CAAC,EAAE,aAAa;IAOlC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA4BhC;;OAEG;cACa,iBAAiB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DxE;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB9E;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,aAAa,CAAC;IA2DzB;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACnC,GACA,OAAO,CAAC,mBAAmB,CAAC;IA4G/B;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IActE;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;;OAGG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB7C;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7D;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBhD;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7C;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IAoBF;;OAEG;IACG,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA8CxD"}
|