@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAE1H;;;GAGG;AACH,8BAAsB,SAAU,YAAW,MAAM;IAC/C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAgB,IAAI,EAAE,SAAS,CAAC;gBAEpB,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,WAAgB;IAKrD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAE3D;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB1D;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAoC/D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAE1H;;;GAGG;AACH,8BAAsB,SAAU,YAAW,MAAM;IAC/C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC;IAC9B,SAAgB,IAAI,EAAE,SAAS,CAAC;gBAEpB,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,WAAgB;IAKrD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAE3D;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAqB1D;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;IAoC/D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,EAAE;CAsC9D"}
|
|
@@ -128,9 +128,10 @@ export class BaseAgent {
|
|
|
128
128
|
if (msg.role === 'system') {
|
|
129
129
|
continue;
|
|
130
130
|
}
|
|
131
|
+
const convertedContent = this.convertContent(msg.content);
|
|
131
132
|
messages.push({
|
|
132
133
|
role: msg.role,
|
|
133
|
-
content:
|
|
134
|
+
content: convertedContent,
|
|
134
135
|
});
|
|
135
136
|
}
|
|
136
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../../src/agents/base-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export class ClaudeAgent extends BaseAgent {
|
|
|
54
54
|
settings.verbose = this.config.verbose;
|
|
55
55
|
}
|
|
56
56
|
// Check if we have any custom options (including binary path)
|
|
57
|
-
const hasCustomOptions = Object.keys(settings).length >
|
|
57
|
+
const hasCustomOptions = Object.keys(settings).length > 0;
|
|
58
58
|
if (hasCustomOptions) {
|
|
59
59
|
// Create custom provider instance with options
|
|
60
60
|
const customProvider = createClaudeCode({
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { IntellaSDK } from './sdk';
|
|
2
|
-
export type { AgentType, AgentConfig, TaskRequest, TaskResponse, StreamChunk, OrchestrationStrategy, OrchestrationRequest, OrchestrationResponse, IAgent, FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider, SandboxProviderType, SandboxConfig, SandboxExecutionResult, SandboxInfo, CommandResult, ISandboxProvider, TextPart, FilePart, MessageContent, } from './types.js';
|
|
1
|
+
export { IntellaSDK } from './sdk.js';
|
|
2
|
+
export type { AgentType, AgentConfig, TaskRequest, TaskResponse, StreamChunk, OrchestrationStrategy, OrchestrationRequest, OrchestrationResponse, IAgent, FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider, SandboxProviderType, SandboxConfig, SandboxExecutionResult, SandboxInfo, CommandResult, ISandboxProvider, TextPart, FilePart, MessageContent, McpServerConfig, SandboxAgentExecutionOptions, } from './types.js';
|
|
3
3
|
export { BaseAgent } from './agents/base-agent.js';
|
|
4
4
|
export { IntellaLiteAgent } from './agents/intella-lite-agent.js';
|
|
5
5
|
export { ClaudeAgent } from './agents/claude-agent.js';
|
|
@@ -14,5 +14,9 @@ export { BaseSandboxProvider } from './sandbox/base-provider.js';
|
|
|
14
14
|
export { E2BSandboxProvider } from './sandbox/e2b-provider.js';
|
|
15
15
|
export { DaytonaSandboxProvider } from './sandbox/daytona-provider.js';
|
|
16
16
|
export { ModalSandboxProvider } from './sandbox/modal-provider.js';
|
|
17
|
+
export { VercelSandboxProvider } from './sandbox/vercel-provider.js';
|
|
18
|
+
export { SandboxAgentSetup } from './sandbox/agent-setup.js';
|
|
19
|
+
export { installAgentBinary, installClaudeBinary, installCodexBinary, installOpenCodeBinary, type BinaryInstallResult, } from './sandbox/agent-installers.js';
|
|
20
|
+
export { agentRequiresBinary, getAgentBinaryPackage, getAgentBinaryCommand, getRequiredApiKeys, validateApiKeys, buildInstallCommand, normalizeMcpServers, } from './sandbox/config.js';
|
|
17
21
|
export { extractCodeBlocks, extractCodeBlock, extractCode, type CodeBlock, type ExtractCodeBlocksOptions, } from './utils/code-extractor.js';
|
|
18
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,YAAY,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,KAAK,SAAS,EACd,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Main SDK exports
|
|
2
|
-
export { IntellaSDK } from './sdk';
|
|
2
|
+
export { IntellaSDK } from './sdk.js';
|
|
3
3
|
// Agent exports
|
|
4
4
|
export { BaseAgent } from './agents/base-agent.js';
|
|
5
5
|
export { IntellaLiteAgent } from './agents/intella-lite-agent.js';
|
|
@@ -18,6 +18,11 @@ export { BaseSandboxProvider } from './sandbox/base-provider.js';
|
|
|
18
18
|
export { E2BSandboxProvider } from './sandbox/e2b-provider.js';
|
|
19
19
|
export { DaytonaSandboxProvider } from './sandbox/daytona-provider.js';
|
|
20
20
|
export { ModalSandboxProvider } from './sandbox/modal-provider.js';
|
|
21
|
+
export { VercelSandboxProvider } from './sandbox/vercel-provider.js';
|
|
22
|
+
// Sandbox agent setup exports
|
|
23
|
+
export { SandboxAgentSetup } from './sandbox/agent-setup.js';
|
|
24
|
+
export { installAgentBinary, installClaudeBinary, installCodexBinary, installOpenCodeBinary, } from './sandbox/agent-installers.js';
|
|
25
|
+
export { agentRequiresBinary, getAgentBinaryPackage, getAgentBinaryCommand, getRequiredApiKeys, validateApiKeys, buildInstallCommand, normalizeMcpServers, } from './sandbox/config.js';
|
|
21
26
|
// Utility exports
|
|
22
27
|
export { extractCodeBlocks, extractCodeBlock, extractCode, } from './utils/code-extractor.js';
|
|
23
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAgCtC,gBAAgB;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,mCAAmC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,8BAA8B;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GAEtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,kBAAkB;AAClB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GAGZ,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AgentType, ISandboxProvider, McpServerConfig } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Result of binary installation
|
|
4
|
+
*/
|
|
5
|
+
export interface BinaryInstallResult {
|
|
6
|
+
success: boolean;
|
|
7
|
+
binaryPath?: string;
|
|
8
|
+
error?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Install Claude Code CLI binary in sandbox
|
|
12
|
+
*/
|
|
13
|
+
export declare function installClaudeBinary(sandbox: ISandboxProvider, apiKey?: string, model?: string, mcpServers?: McpServerConfig[]): Promise<BinaryInstallResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Install Codex CLI binary in sandbox
|
|
16
|
+
*/
|
|
17
|
+
export declare function installCodexBinary(sandbox: ISandboxProvider, apiKey?: string): Promise<BinaryInstallResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Install OpenCode CLI binary in sandbox
|
|
20
|
+
*/
|
|
21
|
+
export declare function installOpenCodeBinary(sandbox: ISandboxProvider, apiKeys?: {
|
|
22
|
+
openai?: string;
|
|
23
|
+
anthropic?: string;
|
|
24
|
+
}, mcpServers?: McpServerConfig[]): Promise<BinaryInstallResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Install agent binary based on agent type
|
|
27
|
+
*/
|
|
28
|
+
export declare function installAgentBinary(agentType: AgentType, sandbox: ISandboxProvider, options?: {
|
|
29
|
+
apiKeys?: Record<string, string>;
|
|
30
|
+
model?: string;
|
|
31
|
+
mcpServers?: McpServerConfig[];
|
|
32
|
+
}): Promise<BinaryInstallResult>;
|
|
33
|
+
//# sourceMappingURL=agent-installers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-installers.d.ts","sourceRoot":"","sources":["../../src/sandbox/agent-installers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA2G9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAuC9B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,UAAU,CAAC,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAiI9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC,GACA,OAAO,CAAC,mBAAmB,CAAC,CAoC9B"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install Claude Code CLI binary in sandbox
|
|
3
|
+
*/
|
|
4
|
+
export async function installClaudeBinary(sandbox, apiKey, model, mcpServers) {
|
|
5
|
+
try {
|
|
6
|
+
// Check if binary already exists
|
|
7
|
+
const checkResult = await sandbox.executeCommand('which claude');
|
|
8
|
+
if (checkResult.exitCode === 0 && checkResult.stdout?.toString().includes('claude')) {
|
|
9
|
+
// Binary already installed, get its path
|
|
10
|
+
const pathResult = await sandbox.executeCommand('which claude');
|
|
11
|
+
const binaryPath = pathResult.stdout?.toString().trim() || '/usr/local/bin/claude';
|
|
12
|
+
return { success: true, binaryPath };
|
|
13
|
+
}
|
|
14
|
+
// Install Claude CLI
|
|
15
|
+
const installResult = await sandbox.executeCommand('npm install -g @anthropic-ai/claude-code');
|
|
16
|
+
if (installResult.exitCode !== 0) {
|
|
17
|
+
return {
|
|
18
|
+
success: false,
|
|
19
|
+
error: `Failed to install Claude CLI: ${installResult.stderr?.toString() || 'Unknown error'}`,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
// Get binary path after installation
|
|
23
|
+
const pathResult = await sandbox.executeCommand('which claude');
|
|
24
|
+
const binaryPath = pathResult.stdout?.toString().trim() || '/usr/local/bin/claude';
|
|
25
|
+
// Configure authentication if API key provided
|
|
26
|
+
if (apiKey) {
|
|
27
|
+
// Create config directory
|
|
28
|
+
await sandbox.executeCommand('mkdir -p $HOME/.config/claude');
|
|
29
|
+
// Create config file using writeFile
|
|
30
|
+
const modelToUse = model || 'claude-sonnet-4-5-20250929';
|
|
31
|
+
const configContent = JSON.stringify({
|
|
32
|
+
api_key: apiKey,
|
|
33
|
+
default_model: modelToUse,
|
|
34
|
+
}, null, 2);
|
|
35
|
+
try {
|
|
36
|
+
// Try to expand $HOME first
|
|
37
|
+
const homeResult = await sandbox.executeCommand('echo $HOME');
|
|
38
|
+
const homeDir = homeResult.stdout?.toString().trim() || '/home/user';
|
|
39
|
+
await sandbox.writeFile(`${homeDir}/.config/claude/config.json`, configContent);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
// Fallback to shell command if writeFile fails
|
|
43
|
+
const configCmd = `cat > $HOME/.config/claude/config.json << 'EOF'\n${configContent}\nEOF`;
|
|
44
|
+
await sandbox.executeCommand(`sh -c "${configCmd.replace(/"/g, '\\"')}"`);
|
|
45
|
+
}
|
|
46
|
+
// Configure MCP servers if provided
|
|
47
|
+
if (mcpServers && mcpServers.length > 0) {
|
|
48
|
+
for (const server of mcpServers) {
|
|
49
|
+
const serverName = server.name.toLowerCase().replace(/[^a-z0-9]/g, '-');
|
|
50
|
+
const envPrefix = `ANTHROPIC_API_KEY="${apiKey}"`;
|
|
51
|
+
if (server.type === 'local' && server.command) {
|
|
52
|
+
let addMcpCmd = `${envPrefix} claude mcp add "${serverName}" -- ${server.command}`;
|
|
53
|
+
if (server.env && Object.keys(server.env).length > 0) {
|
|
54
|
+
const envVars = Object.entries(server.env)
|
|
55
|
+
.map(([key, value]) => `--env ${key}="${value}"`)
|
|
56
|
+
.join(' ');
|
|
57
|
+
addMcpCmd = addMcpCmd.replace(' --', ` ${envVars} --`);
|
|
58
|
+
}
|
|
59
|
+
const addResult = await sandbox.executeCommand(`sh -c "${addMcpCmd.replace(/"/g, '\\"')}"`);
|
|
60
|
+
if (addResult.exitCode !== 0) {
|
|
61
|
+
// Log error but continue
|
|
62
|
+
console.warn(`Failed to add MCP server ${serverName}: ${addResult.stderr}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else if (server.type === 'remote' && server.baseUrl) {
|
|
66
|
+
let addMcpCmd = `${envPrefix} claude mcp add --transport http "${serverName}" "${server.baseUrl}"`;
|
|
67
|
+
if (server.oauthClientSecret) {
|
|
68
|
+
addMcpCmd += ` --header "Authorization: Bearer ${server.oauthClientSecret}"`;
|
|
69
|
+
}
|
|
70
|
+
if (server.oauthClientId) {
|
|
71
|
+
addMcpCmd += ` --header "X-Client-ID: ${server.oauthClientId}"`;
|
|
72
|
+
}
|
|
73
|
+
const addResult = await sandbox.executeCommand(`sh -c "${addMcpCmd.replace(/"/g, '\\"')}"`);
|
|
74
|
+
if (addResult.exitCode !== 0) {
|
|
75
|
+
// Log error but continue
|
|
76
|
+
console.warn(`Failed to add MCP server ${serverName}: ${addResult.stderr}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Verify installation
|
|
82
|
+
const verifyResult = await sandbox.executeCommand(`ANTHROPIC_API_KEY=${apiKey} claude --version`);
|
|
83
|
+
if (verifyResult.exitCode !== 0) {
|
|
84
|
+
return {
|
|
85
|
+
success: true,
|
|
86
|
+
binaryPath,
|
|
87
|
+
error: 'Installation completed but verification failed',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { success: true, binaryPath };
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
error: error instanceof Error ? error.message : 'Unknown error during Claude binary installation',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Install Codex CLI binary in sandbox
|
|
102
|
+
*/
|
|
103
|
+
export async function installCodexBinary(sandbox, apiKey) {
|
|
104
|
+
try {
|
|
105
|
+
// Check if binary already exists
|
|
106
|
+
const checkResult = await sandbox.executeCommand('which codex');
|
|
107
|
+
if (checkResult.exitCode === 0 && checkResult.stdout?.toString().includes('codex')) {
|
|
108
|
+
const pathResult = await sandbox.executeCommand('which codex');
|
|
109
|
+
const binaryPath = pathResult.stdout?.toString().trim() || '/usr/local/bin/codex';
|
|
110
|
+
return { success: true, binaryPath };
|
|
111
|
+
}
|
|
112
|
+
// Install Codex CLI
|
|
113
|
+
const installResult = await sandbox.executeCommand('npm install -g @openai/codex');
|
|
114
|
+
if (installResult.exitCode !== 0) {
|
|
115
|
+
return {
|
|
116
|
+
success: false,
|
|
117
|
+
error: `Failed to install Codex CLI: ${installResult.stderr?.toString() || 'Unknown error'}`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// Get binary path
|
|
121
|
+
const pathResult = await sandbox.executeCommand('which codex');
|
|
122
|
+
const binaryPath = pathResult.stdout?.toString().trim() || '/usr/local/bin/codex';
|
|
123
|
+
// Configure authentication if API key provided
|
|
124
|
+
if (apiKey) {
|
|
125
|
+
// Codex uses environment variable
|
|
126
|
+
// The API key should be set in the sandbox environment
|
|
127
|
+
// This is typically done via SandboxConfig.env
|
|
128
|
+
}
|
|
129
|
+
return { success: true, binaryPath };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return {
|
|
133
|
+
success: false,
|
|
134
|
+
error: error instanceof Error ? error.message : 'Unknown error during Codex binary installation',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Install OpenCode CLI binary in sandbox
|
|
140
|
+
*/
|
|
141
|
+
export async function installOpenCodeBinary(sandbox, apiKeys, mcpServers) {
|
|
142
|
+
try {
|
|
143
|
+
// Check if binary already exists
|
|
144
|
+
const checkResult = await sandbox.executeCommand('which opencode');
|
|
145
|
+
if (checkResult.exitCode === 0 && checkResult.stdout?.toString().includes('opencode')) {
|
|
146
|
+
const pathResult = await sandbox.executeCommand('which opencode');
|
|
147
|
+
const binaryPath = pathResult.stdout?.toString().trim();
|
|
148
|
+
// If not in PATH, try npm bin
|
|
149
|
+
if (!binaryPath) {
|
|
150
|
+
const npmBinResult = await sandbox.executeCommand('npm bin -g');
|
|
151
|
+
if (npmBinResult.exitCode === 0 && npmBinResult.stdout) {
|
|
152
|
+
const globalBinPath = npmBinResult.stdout.toString().trim();
|
|
153
|
+
return { success: true, binaryPath: `${globalBinPath}/opencode` };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return { success: true, binaryPath: binaryPath || '/usr/local/bin/opencode' };
|
|
157
|
+
}
|
|
158
|
+
// Install OpenCode CLI
|
|
159
|
+
const installResult = await sandbox.executeCommand('npm install -g opencode-ai');
|
|
160
|
+
if (installResult.exitCode !== 0) {
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
error: `Failed to install OpenCode CLI: ${installResult.stderr?.toString() || 'Unknown error'}`,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
// Get binary path (may need to check npm bin)
|
|
167
|
+
let binaryPath;
|
|
168
|
+
const pathResult = await sandbox.executeCommand('which opencode');
|
|
169
|
+
if (pathResult.exitCode === 0 && pathResult.stdout) {
|
|
170
|
+
binaryPath = pathResult.stdout.toString().trim();
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
// Try npm bin path
|
|
174
|
+
const npmBinResult = await sandbox.executeCommand('npm bin -g');
|
|
175
|
+
if (npmBinResult.exitCode === 0 && npmBinResult.stdout) {
|
|
176
|
+
const globalBinPath = npmBinResult.stdout.toString().trim();
|
|
177
|
+
binaryPath = `${globalBinPath}/opencode`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (!binaryPath) {
|
|
181
|
+
return {
|
|
182
|
+
success: false,
|
|
183
|
+
error: 'OpenCode CLI installed but binary path could not be determined',
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
// Configure authentication if API keys provided
|
|
187
|
+
if (apiKeys) {
|
|
188
|
+
if (apiKeys.openai) {
|
|
189
|
+
// Use sh -c to properly pipe the API key
|
|
190
|
+
await sandbox.executeCommand(`sh -c 'echo "${apiKeys.openai}" | ${binaryPath} auth add openai'`);
|
|
191
|
+
}
|
|
192
|
+
if (apiKeys.anthropic) {
|
|
193
|
+
await sandbox.executeCommand(`sh -c 'echo "${apiKeys.anthropic}" | ${binaryPath} auth add anthropic'`);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// Configure MCP servers if provided
|
|
197
|
+
if (mcpServers && mcpServers.length > 0) {
|
|
198
|
+
const opencodeConfig = {
|
|
199
|
+
$schema: 'https://opencode.ai/config.json',
|
|
200
|
+
mcp: {},
|
|
201
|
+
};
|
|
202
|
+
for (const server of mcpServers) {
|
|
203
|
+
const serverName = server.name.toLowerCase().replace(/[^a-z0-9]/g, '-');
|
|
204
|
+
if (server.type === 'local' && server.command) {
|
|
205
|
+
const commandParts = server.command.trim().split(/\s+/);
|
|
206
|
+
opencodeConfig.mcp[serverName] = {
|
|
207
|
+
type: 'local',
|
|
208
|
+
command: commandParts,
|
|
209
|
+
enabled: true,
|
|
210
|
+
...(server.env ? { environment: server.env } : {}),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
else if (server.type === 'remote' && server.baseUrl) {
|
|
214
|
+
const headers = {};
|
|
215
|
+
if (server.oauthClientSecret) {
|
|
216
|
+
headers.Authorization = `Bearer ${server.oauthClientSecret}`;
|
|
217
|
+
}
|
|
218
|
+
if (server.oauthClientId) {
|
|
219
|
+
headers['X-Client-ID'] = server.oauthClientId;
|
|
220
|
+
}
|
|
221
|
+
opencodeConfig.mcp[serverName] = {
|
|
222
|
+
type: 'remote',
|
|
223
|
+
url: server.baseUrl,
|
|
224
|
+
enabled: true,
|
|
225
|
+
...(Object.keys(headers).length > 0 ? { headers } : {}),
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
// Write config file using writeFile
|
|
230
|
+
const configContent = JSON.stringify(opencodeConfig, null, 2);
|
|
231
|
+
await sandbox.executeCommand('mkdir -p $HOME/.opencode');
|
|
232
|
+
try {
|
|
233
|
+
// Try to expand $HOME first
|
|
234
|
+
const homeResult = await sandbox.executeCommand('echo $HOME');
|
|
235
|
+
const homeDir = homeResult.stdout?.toString().trim() || '/home/user';
|
|
236
|
+
await sandbox.writeFile(`${homeDir}/.opencode/config.json`, configContent);
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
// Fallback to shell command if writeFile fails
|
|
240
|
+
const configCmd = `cat > $HOME/.opencode/config.json << 'EOF'\n${configContent}\nEOF`;
|
|
241
|
+
await sandbox.executeCommand(`sh -c "${configCmd.replace(/"/g, '\\"')}"`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return { success: true, binaryPath };
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
return {
|
|
248
|
+
success: false,
|
|
249
|
+
error: error instanceof Error ? error.message : 'Unknown error during OpenCode binary installation',
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Install agent binary based on agent type
|
|
255
|
+
*/
|
|
256
|
+
export async function installAgentBinary(agentType, sandbox, options) {
|
|
257
|
+
switch (agentType) {
|
|
258
|
+
case 'claude':
|
|
259
|
+
return installClaudeBinary(sandbox, options?.apiKeys?.ANTHROPIC_API_KEY, options?.model, options?.mcpServers);
|
|
260
|
+
case 'codex':
|
|
261
|
+
return installCodexBinary(sandbox, options?.apiKeys?.OPENAI_API_KEY || options?.apiKeys?.AI_GATEWAY_API_KEY);
|
|
262
|
+
case 'opencode':
|
|
263
|
+
return installOpenCodeBinary(sandbox, {
|
|
264
|
+
openai: options?.apiKeys?.OPENAI_API_KEY,
|
|
265
|
+
anthropic: options?.apiKeys?.ANTHROPIC_API_KEY,
|
|
266
|
+
}, options?.mcpServers);
|
|
267
|
+
case 'intella-lite':
|
|
268
|
+
// No binary needed for intella-lite
|
|
269
|
+
return { success: true };
|
|
270
|
+
default:
|
|
271
|
+
return {
|
|
272
|
+
success: false,
|
|
273
|
+
error: `Unknown agent type: ${agentType}`,
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=agent-installers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-installers.js","sourceRoot":"","sources":["../../src/sandbox/agent-installers.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAyB,EACzB,MAAe,EACf,KAAc,EACd,UAA8B;IAE9B,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAEjE,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,yCAAyC;YACzC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,uBAAuB,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;QAE/F,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,iCAAiC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,eAAe,EAAE;aAC9F,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,uBAAuB,CAAC;QAEnF,+CAA+C;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,0BAA0B;YAC1B,MAAM,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;YAE9D,qCAAqC;YACrC,MAAM,UAAU,GAAG,KAAK,IAAI,4BAA4B,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gBACnC,OAAO,EAAE,MAAM;gBACf,aAAa,EAAE,UAAU;aAC1B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAEZ,IAAI,CAAC;gBACH,4BAA4B;gBAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;gBACrE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,6BAA6B,EAAE,aAAa,CAAC,CAAC;YAClF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,MAAM,SAAS,GAAG,oDAAoD,aAAa,OAAO,CAAC;gBAC3F,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5E,CAAC;YAED,oCAAoC;YACpC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBACxE,MAAM,SAAS,GAAG,sBAAsB,MAAM,GAAG,CAAC;oBAElD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC9C,IAAI,SAAS,GAAG,GAAG,SAAS,oBAAoB,UAAU,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;wBAEnF,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;iCACvC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,GAAG,KAAK,KAAK,GAAG,CAAC;iCAChD,IAAI,CAAC,GAAG,CAAC,CAAC;4BACb,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,OAAO,KAAK,CAAC,CAAC;wBACzD,CAAC;wBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5F,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;4BAC7B,yBAAyB;4BACzB,OAAO,CAAC,IAAI,CAAC,4BAA4B,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;yBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACtD,IAAI,SAAS,GAAG,GAAG,SAAS,qCAAqC,UAAU,MAAM,MAAM,CAAC,OAAO,GAAG,CAAC;wBAEnG,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;4BAC7B,SAAS,IAAI,oCAAoC,MAAM,CAAC,iBAAiB,GAAG,CAAC;wBAC/E,CAAC;wBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;4BACzB,SAAS,IAAI,2BAA2B,MAAM,CAAC,aAAa,GAAG,CAAC;wBAClE,CAAC;wBAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5F,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;4BAC7B,yBAAyB;4BACzB,OAAO,CAAC,IAAI,CAAC,4BAA4B,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC9E,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,qBAAqB,MAAM,mBAAmB,CAAC,CAAC;YAClG,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,UAAU;oBACV,KAAK,EAAE,gDAAgD;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iDAAiD;SAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAyB,EACzB,MAAe;IAEf,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAEhE,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACnF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC;YAClF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,oBAAoB;QACpB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;QAEnF,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gCAAgC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,eAAe,EAAE;aAC7F,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC;QAElF,+CAA+C;QAC/C,IAAI,MAAM,EAAE,CAAC;YACX,kCAAkC;YAClC,uDAAuD;YACvD,+CAA+C;QACjD,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gDAAgD;SACjG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAyB,EACzB,OAGC,EACD,UAA8B;IAE9B,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAEnE,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACtF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAExD,8BAA8B;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACvD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,WAAW,EAAE,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,IAAI,yBAAyB,EAAE,CAAC;QAChF,CAAC;QAED,uBAAuB;QACvB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;QAEjF,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,mCAAmC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,eAAe,EAAE;aAChG,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,UAA8B,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACnD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACvD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5D,UAAU,GAAG,GAAG,aAAa,WAAW,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gEAAgE;aACxE,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,yCAAyC;gBACzC,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,OAAO,CAAC,MAAM,OAAO,UAAU,mBAAmB,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,OAAO,CAAC,cAAc,CAAC,gBAAgB,OAAO,CAAC,SAAS,OAAO,UAAU,sBAAsB,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,cAAc,GAOhB;gBACF,OAAO,EAAE,iCAAiC;gBAC1C,GAAG,EAAE,EAAE;aACR,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAExE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxD,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG;wBAC/B,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,YAAY;wBACrB,OAAO,EAAE,IAAI;wBACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACnD,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACtD,MAAM,OAAO,GAA2B,EAAE,CAAC;oBAC3C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;wBAC7B,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,CAAC,iBAAiB,EAAE,CAAC;oBAC/D,CAAC;oBACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;wBACzB,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;oBAChD,CAAC;oBAED,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG;wBAC/B,IAAI,EAAE,QAAQ;wBACd,GAAG,EAAE,MAAM,CAAC,OAAO;wBACnB,OAAO,EAAE,IAAI;wBACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxD,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,4BAA4B;gBAC5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC;gBACrE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,wBAAwB,EAAE,aAAa,CAAC,CAAC;YAC7E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;gBAC/C,MAAM,SAAS,GAAG,+CAA+C,aAAa,OAAO,CAAC;gBACtF,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD;SACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,OAAyB,EACzB,OAIC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,mBAAmB,CACxB,OAAO,EACP,OAAO,EAAE,OAAO,EAAE,iBAAiB,EACnC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,UAAU,CACpB,CAAC;QAEJ,KAAK,OAAO;YACV,OAAO,kBAAkB,CACvB,OAAO,EACP,OAAO,EAAE,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,OAAO,EAAE,kBAAkB,CACzE,CAAC;QAEJ,KAAK,UAAU;YACb,OAAO,qBAAqB,CAC1B,OAAO,EACP;gBACE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc;gBACxC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB;aAC/C,EACD,OAAO,EAAE,UAAU,CACpB,CAAC;QAEJ,KAAK,cAAc;YACjB,oCAAoC;YACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE3B;YACE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,uBAAuB,SAAS,EAAE;aAC1C,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { AgentType, ISandboxProvider, AgentConfig, McpServerConfig, SandboxAgentExecutionOptions } from '../types.js';
|
|
2
|
+
import { type BinaryInstallResult } from './agent-installers.js';
|
|
3
|
+
/**
|
|
4
|
+
* Result of agent setup in sandbox
|
|
5
|
+
*/
|
|
6
|
+
export interface AgentSetupResult {
|
|
7
|
+
binaryPath?: string;
|
|
8
|
+
cwd?: string;
|
|
9
|
+
config: AgentConfig;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Sandbox Agent Setup
|
|
13
|
+
* Handles installation and configuration of agent binaries in sandboxes
|
|
14
|
+
*/
|
|
15
|
+
export declare class SandboxAgentSetup {
|
|
16
|
+
/**
|
|
17
|
+
* Setup agent in sandbox (install binary and configure)
|
|
18
|
+
*/
|
|
19
|
+
setupAgentInSandbox(agentType: AgentType, sandbox: ISandboxProvider, options?: SandboxAgentExecutionOptions): Promise<AgentSetupResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Install agent binary in sandbox
|
|
22
|
+
*/
|
|
23
|
+
installAgentBinary(agentType: AgentType, sandbox: ISandboxProvider, options?: {
|
|
24
|
+
apiKeys?: Record<string, string>;
|
|
25
|
+
model?: string;
|
|
26
|
+
mcpServers?: McpServerConfig[];
|
|
27
|
+
}): Promise<BinaryInstallResult>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=agent-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-setup.d.ts","sourceRoot":"","sources":["../../src/sandbox/agent-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,gBAAgB,CAAC;IAwD5B;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;KAChC,GACA,OAAO,CAAC,mBAAmB,CAAC;CAGhC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { installAgentBinary } from './agent-installers.js';
|
|
2
|
+
import { agentRequiresBinary, validateApiKeys } from './config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Sandbox Agent Setup
|
|
5
|
+
* Handles installation and configuration of agent binaries in sandboxes
|
|
6
|
+
*/
|
|
7
|
+
export class SandboxAgentSetup {
|
|
8
|
+
/**
|
|
9
|
+
* Setup agent in sandbox (install binary and configure)
|
|
10
|
+
*/
|
|
11
|
+
async setupAgentInSandbox(agentType, sandbox, options) {
|
|
12
|
+
const config = {
|
|
13
|
+
model: options?.model,
|
|
14
|
+
};
|
|
15
|
+
// If agent requires binary, install it
|
|
16
|
+
if (agentRequiresBinary(agentType)) {
|
|
17
|
+
// Validate API keys
|
|
18
|
+
const validation = validateApiKeys(agentType, options?.apiKeys);
|
|
19
|
+
if (!validation.valid) {
|
|
20
|
+
throw new Error(`Missing required API keys for ${agentType}: ${validation.missing.join(', ')}`);
|
|
21
|
+
}
|
|
22
|
+
// Install binary
|
|
23
|
+
const installResult = await installAgentBinary(agentType, sandbox, {
|
|
24
|
+
apiKeys: options?.apiKeys,
|
|
25
|
+
model: options?.model,
|
|
26
|
+
mcpServers: options?.mcpServers,
|
|
27
|
+
});
|
|
28
|
+
if (!installResult.success) {
|
|
29
|
+
throw new Error(`Failed to install ${agentType} binary: ${installResult.error || 'Unknown error'}`);
|
|
30
|
+
}
|
|
31
|
+
// Configure SDK with binary path
|
|
32
|
+
if (installResult.binaryPath) {
|
|
33
|
+
config.executablePath = installResult.binaryPath;
|
|
34
|
+
}
|
|
35
|
+
// Set working directory to sandbox root (if available)
|
|
36
|
+
// Most sandboxes use /home/user or similar as default
|
|
37
|
+
config.cwd = '/home/user';
|
|
38
|
+
// Configure MCP servers if provided (for agents that support it)
|
|
39
|
+
if (options?.mcpServers && (agentType === 'claude' || agentType === 'codex' || agentType === 'opencode')) {
|
|
40
|
+
config.mcpServers = options.mcpServers;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// For agents that don't need binaries, just configure API keys
|
|
45
|
+
if (options?.apiKeys) {
|
|
46
|
+
// API keys are typically set via environment variables in sandbox config
|
|
47
|
+
// The SDK will use them from the environment
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
binaryPath: agentRequiresBinary(agentType) ? config.executablePath : undefined,
|
|
52
|
+
cwd: config.cwd,
|
|
53
|
+
config,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Install agent binary in sandbox
|
|
58
|
+
*/
|
|
59
|
+
async installAgentBinary(agentType, sandbox, options) {
|
|
60
|
+
return installAgentBinary(agentType, sandbox, options);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=agent-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-setup.js","sourceRoot":"","sources":["../../src/sandbox/agent-setup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAA4B,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWnE;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAoB,EACpB,OAAyB,EACzB,OAAsC;QAEtC,MAAM,MAAM,GAAgB;YAC1B,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC;QAEF,uCAAuC;QACvC,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,oBAAoB;YACpB,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,iCAAiC,SAAS,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;YACJ,CAAC;YAED,iBAAiB;YACjB,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE;gBACjE,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,qBAAqB,SAAS,YAAY,aAAa,CAAC,KAAK,IAAI,eAAe,EAAE,CACnF,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC;YACnD,CAAC;YAED,uDAAuD;YACvD,sDAAsD;YACtD,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC;YAE1B,iEAAiE;YACjE,IAAI,OAAO,EAAE,UAAU,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,UAAU,CAAC,EAAE,CAAC;gBACzG,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAiB,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,+DAA+D;YAC/D,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;gBACrB,yEAAyE;gBACzE,6CAA6C;YAC/C,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC9E,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAAoB,EACpB,OAAyB,EACzB,OAIC;QAED,OAAO,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AgentType, McpServerConfig } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate that an agent type requires a binary
|
|
4
|
+
*/
|
|
5
|
+
export declare function agentRequiresBinary(agentType: AgentType): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Get the npm package name for an agent binary
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAgentBinaryPackage(agentType: AgentType): string | null;
|
|
10
|
+
/**
|
|
11
|
+
* Get the binary command name for an agent
|
|
12
|
+
*/
|
|
13
|
+
export declare function getAgentBinaryCommand(agentType: AgentType): string | null;
|
|
14
|
+
/**
|
|
15
|
+
* Get required API keys for an agent type
|
|
16
|
+
*/
|
|
17
|
+
export declare function getRequiredApiKeys(agentType: AgentType): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Validate API keys for an agent type
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateApiKeys(agentType: AgentType, apiKeys?: Record<string, string>): {
|
|
22
|
+
valid: boolean;
|
|
23
|
+
missing: string[];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Build installation command for an agent binary
|
|
27
|
+
*/
|
|
28
|
+
export declare function buildInstallCommand(agentType: AgentType): string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Normalize MCP server configuration
|
|
31
|
+
*/
|
|
32
|
+
export declare function normalizeMcpServers(servers?: McpServerConfig[]): McpServerConfig[];
|
|
33
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/sandbox/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAazE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAazE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAajE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IACvF,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAkCA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAMvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CASlF"}
|