@intella/sdk 0.0.7 → 0.0.9
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 +70 -6
- package/dist/agent-manager.d.ts +4 -4
- package/dist/agent-manager.d.ts.map +1 -1
- package/dist/agent-manager.js +12 -7
- package/dist/agent-manager.js.map +1 -1
- package/dist/agents/base-agent.d.ts +35 -2
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +280 -24
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/claude-agent.d.ts +1 -1
- package/dist/agents/claude-agent.d.ts.map +1 -1
- package/dist/agents/claude-agent.js +2 -1
- package/dist/agents/claude-agent.js.map +1 -1
- package/dist/agents/codex-agent.d.ts +1 -1
- package/dist/agents/codex-agent.d.ts.map +1 -1
- package/dist/agents/codex-agent.js +2 -1
- package/dist/agents/codex-agent.js.map +1 -1
- package/dist/agents/intella-lite-agent.d.ts +1 -1
- package/dist/agents/intella-lite-agent.d.ts.map +1 -1
- package/dist/agents/intella-lite-agent.js +2 -1
- package/dist/agents/intella-lite-agent.js.map +1 -1
- package/dist/agents/opencode-agent.d.ts +1 -1
- package/dist/agents/opencode-agent.d.ts.map +1 -1
- package/dist/agents/opencode-agent.js +2 -3
- package/dist/agents/opencode-agent.js.map +1 -1
- package/dist/index.d.ts +22 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -1
- package/dist/sandbox/{agent-installers.d.ts → agents/agent-installers.d.ts} +1 -1
- package/dist/sandbox/agents/agent-installers.d.ts.map +1 -0
- package/dist/sandbox/{agent-installers.js → agents/agent-installers.js} +5 -4
- package/dist/sandbox/agents/agent-installers.js.map +1 -0
- package/dist/sandbox/{agent-setup.d.ts → agents/agent-setup.d.ts} +1 -1
- package/dist/sandbox/agents/agent-setup.d.ts.map +1 -0
- package/dist/sandbox/{agent-setup.js → agents/agent-setup.js} +3 -2
- package/dist/sandbox/agents/agent-setup.js.map +1 -0
- package/dist/sandbox/agents/agents.d.ts +49 -0
- package/dist/sandbox/agents/agents.d.ts.map +1 -0
- package/dist/sandbox/agents/agents.js +71 -0
- package/dist/sandbox/agents/agents.js.map +1 -0
- package/dist/sandbox/config.d.ts +1 -1
- package/dist/sandbox/config.d.ts.map +1 -1
- package/dist/sandbox/config.js +26 -18
- package/dist/sandbox/config.js.map +1 -1
- package/dist/sandbox/file-utils.d.ts +20 -0
- package/dist/sandbox/file-utils.d.ts.map +1 -0
- package/dist/sandbox/file-utils.js +101 -0
- package/dist/sandbox/file-utils.js.map +1 -0
- package/dist/sandbox/operations/code-operations.d.ts +68 -0
- package/dist/sandbox/operations/code-operations.d.ts.map +1 -0
- package/dist/sandbox/operations/code-operations.js +208 -0
- package/dist/sandbox/operations/code-operations.js.map +1 -0
- package/dist/sandbox/operations/git-operations.d.ts +27 -0
- package/dist/sandbox/operations/git-operations.d.ts.map +1 -0
- package/dist/sandbox/operations/git-operations.js +235 -0
- package/dist/sandbox/operations/git-operations.js.map +1 -0
- package/dist/sandbox/providers/base-provider.d.ts +283 -0
- package/dist/sandbox/providers/base-provider.d.ts.map +1 -0
- package/dist/sandbox/providers/base-provider.js +816 -0
- package/dist/sandbox/providers/base-provider.js.map +1 -0
- package/dist/sandbox/{daytona-provider.d.ts → providers/daytona-provider.d.ts} +19 -16
- package/dist/sandbox/providers/daytona-provider.d.ts.map +1 -0
- package/dist/sandbox/{daytona-provider.js → providers/daytona-provider.js} +96 -27
- package/dist/sandbox/providers/daytona-provider.js.map +1 -0
- package/dist/sandbox/{e2b-provider.d.ts → providers/e2b-provider.d.ts} +16 -10
- package/dist/sandbox/providers/e2b-provider.d.ts.map +1 -0
- package/dist/sandbox/{e2b-provider.js → providers/e2b-provider.js} +51 -29
- package/dist/sandbox/providers/e2b-provider.js.map +1 -0
- package/dist/sandbox/{local-provider.d.ts → providers/local-provider.d.ts} +12 -6
- package/dist/sandbox/providers/local-provider.d.ts.map +1 -0
- package/dist/sandbox/{local-provider.js → providers/local-provider.js} +24 -21
- package/dist/sandbox/providers/local-provider.js.map +1 -0
- package/dist/sandbox/{modal-provider.d.ts → providers/modal-provider.d.ts} +18 -12
- package/dist/sandbox/providers/modal-provider.d.ts.map +1 -0
- package/dist/sandbox/{modal-provider.js → providers/modal-provider.js} +49 -29
- package/dist/sandbox/providers/modal-provider.js.map +1 -0
- package/dist/sandbox/{vercel-provider.d.ts → providers/vercel-provider.d.ts} +19 -14
- package/dist/sandbox/providers/vercel-provider.d.ts.map +1 -0
- package/dist/sandbox/{vercel-provider.js → providers/vercel-provider.js} +41 -42
- package/dist/sandbox/providers/vercel-provider.js.map +1 -0
- package/dist/sandbox/utils/detector.d.ts +28 -0
- package/dist/sandbox/utils/detector.d.ts.map +1 -0
- package/dist/sandbox/utils/detector.js +243 -0
- package/dist/sandbox/utils/detector.js.map +1 -0
- package/dist/sandbox-manager.js +5 -5
- package/dist/sandbox-manager.js.map +1 -1
- package/dist/sdk.d.ts +4 -3
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +7 -3
- package/dist/sdk.js.map +1 -1
- package/dist/session/execution-store.d.ts +71 -0
- package/dist/session/execution-store.d.ts.map +1 -0
- package/dist/session/execution-store.js +156 -0
- package/dist/session/execution-store.js.map +1 -0
- package/dist/session/index.d.ts +14 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +20 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +164 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +493 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/store.d.ts +20 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +69 -0
- package/dist/session/store.js.map +1 -0
- package/dist/session/types.d.ts +57 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +2 -0
- package/dist/session/types.js.map +1 -0
- package/dist/types.d.ts +622 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +35 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/cli-daemon.d.ts.map +1 -1
- package/dist/utils/cli-daemon.js +1 -3
- package/dist/utils/cli-daemon.js.map +1 -1
- package/dist/utils/machine-id.d.ts +8 -0
- package/dist/utils/machine-id.d.ts.map +1 -0
- package/dist/utils/machine-id.js +19 -0
- package/dist/utils/machine-id.js.map +1 -0
- package/dist/utils/redis/client.d.ts +18 -0
- package/dist/utils/redis/client.d.ts.map +1 -0
- package/dist/utils/redis/client.js +52 -0
- package/dist/utils/redis/client.js.map +1 -0
- package/dist/utils/redis/index.d.ts +2 -0
- package/dist/utils/redis/index.d.ts.map +1 -0
- package/dist/utils/redis/index.js +2 -0
- package/dist/utils/redis/index.js.map +1 -0
- package/dist/utils/{redis-stream.d.ts → redis/stream.d.ts} +41 -74
- package/dist/utils/redis/stream.d.ts.map +1 -0
- package/dist/utils/{redis-stream.js → redis/stream.js} +133 -69
- package/dist/utils/redis/stream.js.map +1 -0
- package/dist/utils/repo-context.d.ts +16 -0
- package/dist/utils/repo-context.d.ts.map +1 -0
- package/dist/utils/repo-context.js +65 -0
- package/dist/utils/repo-context.js.map +1 -0
- package/dist/utils/tool-response.d.ts +20 -0
- package/dist/utils/tool-response.d.ts.map +1 -0
- package/dist/utils/tool-response.js +68 -0
- package/dist/utils/tool-response.js.map +1 -0
- package/package.json +23 -8
- package/dist/sandbox/agent-installers.d.ts.map +0 -1
- package/dist/sandbox/agent-installers.js.map +0 -1
- package/dist/sandbox/agent-setup.d.ts.map +0 -1
- package/dist/sandbox/agent-setup.js.map +0 -1
- package/dist/sandbox/base-provider.d.ts +0 -106
- package/dist/sandbox/base-provider.d.ts.map +0 -1
- package/dist/sandbox/base-provider.js +0 -74
- package/dist/sandbox/base-provider.js.map +0 -1
- package/dist/sandbox/daytona-provider.d.ts.map +0 -1
- package/dist/sandbox/daytona-provider.js.map +0 -1
- package/dist/sandbox/e2b-provider.d.ts.map +0 -1
- package/dist/sandbox/e2b-provider.js.map +0 -1
- package/dist/sandbox/local-provider.d.ts.map +0 -1
- package/dist/sandbox/local-provider.js.map +0 -1
- package/dist/sandbox/modal-provider.d.ts.map +0 -1
- package/dist/sandbox/modal-provider.js.map +0 -1
- package/dist/sandbox/vercel-provider.d.ts.map +0 -1
- package/dist/sandbox/vercel-provider.js.map +0 -1
- package/dist/utils/redis-stream.d.ts.map +0 -1
- package/dist/utils/redis-stream.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,15 +1,79 @@
|
|
|
1
1
|
# intella-sdk
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Agent orchestrator SDK for managing tasks across multiple AI agents and sandbox execution (E2B, Daytona, Modal, Vercel, Local).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
4
6
|
|
|
5
7
|
```bash
|
|
6
|
-
bun install
|
|
8
|
+
bun install @intella/sdk
|
|
9
|
+
# or
|
|
10
|
+
npm install @intella/sdk
|
|
11
|
+
# or
|
|
12
|
+
yarn add @intella/sdk
|
|
7
13
|
```
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
## Sandbox Setup Configuration
|
|
10
16
|
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
Initialize sandboxes with automatic setup - install packages, clone repos, and run commands:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { IntellaSDK, SandboxProviderType } from '@intella/sdk';
|
|
21
|
+
|
|
22
|
+
const sdk = new IntellaSDK();
|
|
23
|
+
|
|
24
|
+
await sdk.initializeSandbox(SandboxProviderType.E2B, {
|
|
25
|
+
// Clone and auto-install a repository
|
|
26
|
+
gitClone: [{
|
|
27
|
+
url: 'https://github.com/user/project.git',
|
|
28
|
+
options: { path: '/home/user/project', autoInstall: true },
|
|
29
|
+
}],
|
|
30
|
+
|
|
31
|
+
// Install system packages
|
|
32
|
+
aptInstall: [{ packages: ['git', 'curl'] }],
|
|
33
|
+
|
|
34
|
+
// Install npm packages globally
|
|
35
|
+
npmInstall: [{ packages: ['typescript'], options: { g: true } }],
|
|
36
|
+
|
|
37
|
+
// Install Python packages with venv
|
|
38
|
+
pipInstall: [{ packages: [], options: { venv: true, path: '/home/user/project' } }],
|
|
39
|
+
|
|
40
|
+
// Run commands (can run in background)
|
|
41
|
+
runCmd: [{ command: 'npm run build', options: { background: true } }],
|
|
42
|
+
});
|
|
13
43
|
```
|
|
14
44
|
|
|
15
|
-
|
|
45
|
+
**Setup Options**:
|
|
46
|
+
- `run: 'creation' | 'resume' | 'default'` - When to run (default = both)
|
|
47
|
+
- `background: boolean` - Fire-and-forget execution
|
|
48
|
+
- `timeout: number` - Timeout in milliseconds
|
|
49
|
+
- `path: string` - Working directory
|
|
50
|
+
- `detach: boolean` - Run with nohup, output to `{command}.log`
|
|
51
|
+
|
|
52
|
+
## Sandbox File Operations
|
|
53
|
+
|
|
54
|
+
Sandbox providers support flexible file APIs:
|
|
55
|
+
|
|
56
|
+
- **readFile(path, opts?)** – `opts.format`: `'text'` (default), `'bytes'`, `'blob'`, `'stream'`
|
|
57
|
+
- **writeFile(path, content)** or **writeFile(entries)** – content: string, ArrayBuffer, Blob, ReadableStream, Uint8Array, Buffer
|
|
58
|
+
- **uploadFile(source, remotePath)** or **uploadFile(entries)** – source: local path or `http(s)://` / `file://` URL
|
|
59
|
+
- **createDirectory(path, opts?)** – `opts.recursive` defaults to true
|
|
60
|
+
|
|
61
|
+
## Code Operations
|
|
62
|
+
|
|
63
|
+
Auto-detect and install codebases:
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { detectCodebase, autoInstallCodebase } from '@intella/sdk';
|
|
67
|
+
|
|
68
|
+
const detection = await detectCodebase(sandbox, '/path/to/project');
|
|
69
|
+
// detection.primary: 'npm' | 'yarn' | 'pnpm' | 'bun' | 'pip' | 'poetry' | 'none'
|
|
70
|
+
|
|
71
|
+
await autoInstallCodebase(sandbox, '/path/to/project', { useVenv: true });
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Examples
|
|
75
|
+
|
|
76
|
+
- **Agents** (Claude, Codex, OpenCode): [examples/agents/](./examples/agents/README.md) — one example per agent.
|
|
77
|
+
- **Sandboxes** (E2B, Daytona, Modal, Vercel, Local): [examples/sandbox/](./examples/sandbox/README.md) — one example per provider (`e2b-usage.ts`, `daytona-usage.ts`, `modal-usage.ts`, `vercel-usage.ts`, `local-usage.ts`).
|
|
78
|
+
|
|
79
|
+
See [CLAUDE.md](./CLAUDE.md) for full API and examples.
|
package/dist/agent-manager.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AgentType, type AgentConfig, type IAgent } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Agent Manager
|
|
4
4
|
* Manages agent instances and configurations
|
|
@@ -10,11 +10,11 @@ export declare class AgentManager {
|
|
|
10
10
|
/**
|
|
11
11
|
* Register or update an agent instance
|
|
12
12
|
*/
|
|
13
|
-
registerAgent(type: AgentType, agent: IAgent): void;
|
|
13
|
+
registerAgent(type: AgentType | string, agent: IAgent): void;
|
|
14
14
|
/**
|
|
15
15
|
* Get an agent instance
|
|
16
16
|
*/
|
|
17
|
-
getAgent(type?: AgentType): IAgent;
|
|
17
|
+
getAgent(type?: AgentType | string): IAgent;
|
|
18
18
|
/**
|
|
19
19
|
* List all available agents
|
|
20
20
|
*/
|
|
@@ -22,7 +22,7 @@ export declare class AgentManager {
|
|
|
22
22
|
/**
|
|
23
23
|
* Check if an agent is registered
|
|
24
24
|
*/
|
|
25
|
-
hasAgent(type: AgentType): boolean;
|
|
25
|
+
hasAgent(type: AgentType | string): boolean;
|
|
26
26
|
/**
|
|
27
27
|
* Update agent configuration
|
|
28
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAOtE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,gBAAgB,CAA+B;;IAUvD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ5D;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM;IAY3C;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE;IAIzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO;IAK3C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAKxD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW;IAKvC;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAOtC;;OAEG;IACH,mBAAmB,IAAI,SAAS;IAIhC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;CAMnC"}
|
package/dist/agent-manager.js
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
+
import { AgentType } from './types.js';
|
|
1
2
|
import { IntellaLiteAgent } from './agents/intella-lite-agent.js';
|
|
2
3
|
import { ClaudeAgent } from './agents/claude-agent.js';
|
|
3
4
|
import { CodexAgent } from './agents/codex-agent.js';
|
|
4
5
|
import { OpenCodeAgent } from './agents/opencode-agent.js';
|
|
6
|
+
import { parseAgentType } from './types.js';
|
|
5
7
|
/**
|
|
6
8
|
* Agent Manager
|
|
7
9
|
* Manages agent instances and configurations
|
|
8
10
|
*/
|
|
9
11
|
export class AgentManager {
|
|
10
12
|
agents = new Map();
|
|
11
|
-
defaultAgentType =
|
|
13
|
+
defaultAgentType = AgentType.CLAUDE;
|
|
12
14
|
constructor() {
|
|
13
15
|
// Initialize default agents
|
|
14
|
-
this.registerAgent(
|
|
15
|
-
this.registerAgent(
|
|
16
|
-
this.registerAgent(
|
|
17
|
-
this.registerAgent(
|
|
16
|
+
this.registerAgent(AgentType.INTELLA_LITE, new IntellaLiteAgent());
|
|
17
|
+
this.registerAgent(AgentType.CLAUDE, new ClaudeAgent());
|
|
18
|
+
this.registerAgent(AgentType.CODEX, new CodexAgent());
|
|
19
|
+
this.registerAgent(AgentType.OPENCODE, new OpenCodeAgent());
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* Register or update an agent instance
|
|
21
23
|
*/
|
|
22
24
|
registerAgent(type, agent) {
|
|
25
|
+
type = parseAgentType(type);
|
|
23
26
|
if (agent.type !== type) {
|
|
24
27
|
throw new Error(`Agent type mismatch: expected ${type}, got ${agent.type}`);
|
|
25
28
|
}
|
|
@@ -29,7 +32,8 @@ export class AgentManager {
|
|
|
29
32
|
* Get an agent instance
|
|
30
33
|
*/
|
|
31
34
|
getAgent(type) {
|
|
32
|
-
const
|
|
35
|
+
const _type = parseAgentType(type);
|
|
36
|
+
const agentType = _type || this.defaultAgentType;
|
|
33
37
|
const agent = this.agents.get(agentType);
|
|
34
38
|
if (!agent) {
|
|
35
39
|
throw new Error(`Agent ${agentType} is not registered`);
|
|
@@ -46,7 +50,8 @@ export class AgentManager {
|
|
|
46
50
|
* Check if an agent is registered
|
|
47
51
|
*/
|
|
48
52
|
hasAgent(type) {
|
|
49
|
-
|
|
53
|
+
const _type = parseAgentType(type);
|
|
54
|
+
return this.agents.has(_type);
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
57
|
* Update agent configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { type LanguageModel, type ModelMessage } from 'ai';
|
|
1
|
+
import { type LanguageModel, type ModelMessage as BaseModelMessage } from 'ai';
|
|
2
2
|
import type { AgentType, AgentConfig, TaskRequest, TaskResponse, StreamChunk, IAgent } from '../types.js';
|
|
3
|
+
/** Path template for session attachments */
|
|
4
|
+
export declare const ATTACHMENTS_PATH_TEMPLATE = ".intella/{sessionId}/workspace/attachments";
|
|
5
|
+
/** File path template for individual attachments */
|
|
6
|
+
export declare const ATTACHMENTS_FILE_PATH_TEMPLATE = ".intella/{sessionId}/workspace/attachments/{filename}";
|
|
7
|
+
/** Maximum file size for inline content (1MB) */
|
|
8
|
+
export declare const FILE_MAX_INLINE_SIZE: number;
|
|
3
9
|
/**
|
|
4
10
|
* Abstract base class for all agents
|
|
5
11
|
* Provides common functionality using AI SDK v6
|
|
@@ -31,11 +37,38 @@ export declare abstract class BaseAgent implements IAgent {
|
|
|
31
37
|
getConfig(): AgentConfig;
|
|
32
38
|
/**
|
|
33
39
|
* Convert TaskRequest content to AI SDK ModelMessage content format
|
|
40
|
+
* Handles text, file, image, and data-annotation parts
|
|
41
|
+
* @param content The message content to convert
|
|
42
|
+
* @param sessionId Optional session ID for formatting paths in annotations
|
|
34
43
|
*/
|
|
35
44
|
private convertContent;
|
|
45
|
+
/**
|
|
46
|
+
* Process a file or image part - check size and decide inline vs reference
|
|
47
|
+
* @param part The file or image part to process
|
|
48
|
+
* @param sessionId Optional session ID for file paths
|
|
49
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
50
|
+
*/
|
|
51
|
+
private processFilePart;
|
|
52
|
+
/**
|
|
53
|
+
* Write a file part to the session workspace
|
|
54
|
+
* @param sessionId Session ID for file paths
|
|
55
|
+
* @param part The file or image part to write
|
|
56
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
57
|
+
* @returns The relative file path where the file was written
|
|
58
|
+
*/
|
|
59
|
+
private writeFileToWorkspace;
|
|
60
|
+
/**
|
|
61
|
+
* Format a data annotation as a text block for the model
|
|
62
|
+
* @param annotation The annotation to format
|
|
63
|
+
* @param sessionId Optional session ID for formatting paths
|
|
64
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
65
|
+
*/
|
|
66
|
+
private formatDataAnnotation;
|
|
36
67
|
/**
|
|
37
68
|
* Build messages array from request
|
|
69
|
+
* Includes attachments path context when there are actual attachments
|
|
70
|
+
* Handles async file operations for large content
|
|
38
71
|
*/
|
|
39
|
-
|
|
72
|
+
buildMessages(request: TaskRequest): Promise<BaseModelMessage[]>;
|
|
40
73
|
}
|
|
41
74
|
//# sourceMappingURL=base-agent.d.ts.map
|
|
@@ -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;
|
|
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,IAAI,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAEzG,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAiF,MAAM,aAAa,CAAC;AASzL,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,+CAA+C,CAAC;AAEtF,oDAAoD;AACpD,eAAO,MAAM,8BAA8B,0DAA0D,CAAC;AAEtG,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,QAAkB,CAAC;AAEpD;;;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;IA0C/D;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;;;;OAKG;YACW,cAAc;IA0D5B;;;;;OAKG;YACW,eAAe;IAsC7B;;;;;;OAMG;YACW,oBAAoB;IAuDlC;;;;;OAKG;YACW,oBAAoB;IAuIlC;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CA4CvE"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { generateText, streamText } from 'ai';
|
|
2
|
+
import { buildRepoContextPrompt } from '../utils/repo-context.js';
|
|
3
|
+
import { TOOL_RESPONSE_MAX_INLINE_LENGTH, formatToolResponseMarkdown } from '../utils/tool-response.js';
|
|
4
|
+
import { LocalSandboxProvider } from '../sandbox/providers/local-provider.js';
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// Constants for attachments and file handling
|
|
7
|
+
// =============================================================================
|
|
8
|
+
/** Path template for session attachments */
|
|
9
|
+
export const ATTACHMENTS_PATH_TEMPLATE = '.intella/{sessionId}/workspace/attachments';
|
|
10
|
+
/** File path template for individual attachments */
|
|
11
|
+
export const ATTACHMENTS_FILE_PATH_TEMPLATE = '.intella/{sessionId}/workspace/attachments/{filename}';
|
|
12
|
+
/** Maximum file size for inline content (1MB) */
|
|
13
|
+
export const FILE_MAX_INLINE_SIZE = 1 * 1024 * 1024;
|
|
2
14
|
/**
|
|
3
15
|
* Abstract base class for all agents
|
|
4
16
|
* Provides common functionality using AI SDK v6
|
|
@@ -15,7 +27,7 @@ export class BaseAgent {
|
|
|
15
27
|
*/
|
|
16
28
|
async execute(request) {
|
|
17
29
|
const model = await Promise.resolve(this.getModel());
|
|
18
|
-
const messages = this.buildMessages(request);
|
|
30
|
+
const messages = await this.buildMessages(request);
|
|
19
31
|
const result = await generateText({
|
|
20
32
|
model,
|
|
21
33
|
messages,
|
|
@@ -36,7 +48,7 @@ export class BaseAgent {
|
|
|
36
48
|
*/
|
|
37
49
|
async *stream(request) {
|
|
38
50
|
const model = await Promise.resolve(this.getModel());
|
|
39
|
-
const messages = this.buildMessages(request);
|
|
51
|
+
const messages = await this.buildMessages(request);
|
|
40
52
|
const result = streamText({
|
|
41
53
|
model,
|
|
42
54
|
messages,
|
|
@@ -85,45 +97,287 @@ export class BaseAgent {
|
|
|
85
97
|
}
|
|
86
98
|
/**
|
|
87
99
|
* Convert TaskRequest content to AI SDK ModelMessage content format
|
|
100
|
+
* Handles text, file, image, and data-annotation parts
|
|
101
|
+
* @param content The message content to convert
|
|
102
|
+
* @param sessionId Optional session ID for formatting paths in annotations
|
|
88
103
|
*/
|
|
89
|
-
convertContent(content) {
|
|
104
|
+
async convertContent(content, sessionId) {
|
|
90
105
|
// If content is a string, return as-is
|
|
91
106
|
if (typeof content === 'string') {
|
|
92
107
|
return content;
|
|
93
108
|
}
|
|
94
109
|
// If content is an array, convert to AI SDK format
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
const result = [];
|
|
111
|
+
for (const part of content) {
|
|
112
|
+
// Type guard to check if part is an object with a type property
|
|
113
|
+
if (typeof part !== 'object' || part === null || !('type' in part)) {
|
|
114
|
+
result.push({
|
|
98
115
|
type: 'text',
|
|
99
|
-
text: part
|
|
100
|
-
};
|
|
116
|
+
text: String(part),
|
|
117
|
+
});
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
const partType = part.type;
|
|
121
|
+
if (partType === 'text') {
|
|
122
|
+
const textPart = part;
|
|
123
|
+
result.push({
|
|
124
|
+
type: 'text',
|
|
125
|
+
text: textPart.text,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else if (partType === 'file' || partType === 'image') {
|
|
129
|
+
// Handle file/image parts - check size and decide inline vs reference
|
|
130
|
+
const filePart = part;
|
|
131
|
+
const processedPart = await this.processFilePart(filePart, sessionId);
|
|
132
|
+
result.push(processedPart);
|
|
133
|
+
}
|
|
134
|
+
else if (partType === 'data-annotation') {
|
|
135
|
+
// Convert data annotation to a text block for the model
|
|
136
|
+
// This makes the annotation visible to the agent as context
|
|
137
|
+
const annotationPart = part;
|
|
138
|
+
const annotationText = await this.formatDataAnnotation(annotationPart.annotation, sessionId);
|
|
139
|
+
if (annotationText) {
|
|
140
|
+
result.push({
|
|
141
|
+
type: 'text',
|
|
142
|
+
text: annotationText,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
101
145
|
}
|
|
102
|
-
else
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
};
|
|
146
|
+
else {
|
|
147
|
+
// Fallback for unknown types
|
|
148
|
+
result.push({
|
|
149
|
+
type: 'text',
|
|
150
|
+
text: String(part),
|
|
151
|
+
});
|
|
109
152
|
}
|
|
110
|
-
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Process a file or image part - check size and decide inline vs reference
|
|
158
|
+
* @param part The file or image part to process
|
|
159
|
+
* @param sessionId Optional session ID for file paths
|
|
160
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
161
|
+
*/
|
|
162
|
+
async processFilePart(part, sessionId) {
|
|
163
|
+
const size = part.size || 0;
|
|
164
|
+
// FilePart has filename, ImagePart may not
|
|
165
|
+
const filename = 'filename' in part ? (part.filename || 'unnamed') : 'image';
|
|
166
|
+
// Get data from either FilePart.data or ImagePart.image
|
|
167
|
+
const data = 'data' in part ? part.data : ('image' in part ? part.image : undefined);
|
|
168
|
+
const mediaType = 'mediaType' in part ? part.mediaType : 'application/octet-stream';
|
|
169
|
+
// Check if file is too large for inline content
|
|
170
|
+
if (size > FILE_MAX_INLINE_SIZE && sessionId) {
|
|
171
|
+
// Write file to workspace and return text reference
|
|
172
|
+
const filePath = await this.writeFileToWorkspace(sessionId, part);
|
|
111
173
|
return {
|
|
112
174
|
type: 'text',
|
|
113
|
-
text:
|
|
175
|
+
text: `[Attachment: ${filename} (${mediaType})]\nFile saved at: ${filePath}\nEnsure you read the file to access the content.`,
|
|
114
176
|
};
|
|
115
|
-
}
|
|
177
|
+
}
|
|
178
|
+
// Pass through to model for inline content
|
|
179
|
+
if (data) {
|
|
180
|
+
return {
|
|
181
|
+
type: 'file',
|
|
182
|
+
data: data,
|
|
183
|
+
filename: filename,
|
|
184
|
+
mediaType: mediaType || 'application/octet-stream',
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
// Fallback if no data found
|
|
188
|
+
return {
|
|
189
|
+
type: 'text',
|
|
190
|
+
text: `[Attachment: ${filename}] (data not available)`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Write a file part to the session workspace
|
|
195
|
+
* @param sessionId Session ID for file paths
|
|
196
|
+
* @param part The file or image part to write
|
|
197
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
198
|
+
* @returns The relative file path where the file was written
|
|
199
|
+
*/
|
|
200
|
+
async writeFileToWorkspace(sessionId, part, dir = 'attachments') {
|
|
201
|
+
// Get filename - FilePart has it, ImagePart may not
|
|
202
|
+
const filename = ('filename' in part && part.filename) ? part.filename : `file-${Date.now()}`;
|
|
203
|
+
// Get data from either FilePart.data or ImagePart.image
|
|
204
|
+
const partData = 'data' in part ? part.data : ('image' in part ? part.image : undefined);
|
|
205
|
+
// Convert data to appropriate format for writing
|
|
206
|
+
let content;
|
|
207
|
+
if (!partData) {
|
|
208
|
+
content = '';
|
|
209
|
+
}
|
|
210
|
+
else if (typeof partData === 'string') {
|
|
211
|
+
// Try to decode as base64, but fallback to plain string if that fails
|
|
212
|
+
try {
|
|
213
|
+
// Check if it's likely base64 (simple heuristic: only base64 characters, length is multiple of 4, not obviously plain text)
|
|
214
|
+
if (/^[A-Za-z0-9+/=]+$/.test(partData) && partData.length % 4 === 0) {
|
|
215
|
+
content = Buffer.from(partData, 'base64');
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
content = partData;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
content = partData;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
else if (partData instanceof Uint8Array) {
|
|
226
|
+
content = partData;
|
|
227
|
+
}
|
|
228
|
+
else if (partData instanceof ArrayBuffer) {
|
|
229
|
+
content = new Uint8Array(partData);
|
|
230
|
+
}
|
|
231
|
+
else if (Buffer.isBuffer(partData)) {
|
|
232
|
+
content = partData;
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
// URL or other - convert to string representation
|
|
236
|
+
content = String(partData);
|
|
237
|
+
}
|
|
238
|
+
const cwd = `.intella/sessions/${sessionId}/workspace`;
|
|
239
|
+
const attachmentsPath = `${cwd}/${dir}`;
|
|
240
|
+
const filePath = `${attachmentsPath}/${filename}`;
|
|
241
|
+
const sandbox = new LocalSandboxProvider();
|
|
242
|
+
await sandbox.initialize();
|
|
243
|
+
await sandbox.createDirectory(attachmentsPath, { recursive: true });
|
|
244
|
+
await sandbox.writeFile(filePath, content);
|
|
245
|
+
return filePath;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Format a data annotation as a text block for the model
|
|
249
|
+
* @param annotation The annotation to format
|
|
250
|
+
* @param sessionId Optional session ID for formatting paths
|
|
251
|
+
* @param sandbox Optional sandbox instance for file operations
|
|
252
|
+
*/
|
|
253
|
+
async formatDataAnnotation(annotation, sessionId) {
|
|
254
|
+
const { type, provider, data } = annotation;
|
|
255
|
+
switch (type) {
|
|
256
|
+
case 'repo': {
|
|
257
|
+
const repoData = data;
|
|
258
|
+
return buildRepoContextPrompt(repoData);
|
|
259
|
+
}
|
|
260
|
+
case 'tool_response': {
|
|
261
|
+
const toolData = data;
|
|
262
|
+
const lines = [];
|
|
263
|
+
const toolName = toolData.toolName || 'Unknown Tool';
|
|
264
|
+
// Header with tool name and status
|
|
265
|
+
const statusStr = toolData.status === 'failed' ? ' [FAILED]' : '[SUCCESS]';
|
|
266
|
+
lines.push(`[Tool Response: ${toolName}${statusStr}]`);
|
|
267
|
+
// Add tool call ID if present
|
|
268
|
+
if (toolData.toolCallId) {
|
|
269
|
+
lines.push(`Tool Call ID: ${toolData.toolCallId}`);
|
|
270
|
+
}
|
|
271
|
+
// Add input if present
|
|
272
|
+
if (toolData.input) {
|
|
273
|
+
const inputStr = typeof toolData.input === 'string'
|
|
274
|
+
? toolData.input
|
|
275
|
+
: JSON.stringify(toolData.input, null, 2);
|
|
276
|
+
lines.push(`Input: ${inputStr}`);
|
|
277
|
+
}
|
|
278
|
+
// Handle output - check size and write to file if too large
|
|
279
|
+
if (toolData.output) {
|
|
280
|
+
if (toolData.output.length <= TOOL_RESPONSE_MAX_INLINE_LENGTH) {
|
|
281
|
+
// Small output - include inline
|
|
282
|
+
lines.push(`Output:\n${toolData.output}`);
|
|
283
|
+
}
|
|
284
|
+
else if (sessionId && toolData.id) {
|
|
285
|
+
// Large output - write to file and show reference
|
|
286
|
+
const fileName = `tool-response-${toolData.id}.md`;
|
|
287
|
+
const mdContent = formatToolResponseMarkdown(toolData);
|
|
288
|
+
const filePart = {
|
|
289
|
+
type: 'file',
|
|
290
|
+
filename: fileName,
|
|
291
|
+
data: mdContent,
|
|
292
|
+
mediaType: 'text/markdown',
|
|
293
|
+
};
|
|
294
|
+
const filePath = await this.writeFileToWorkspace(sessionId, filePart);
|
|
295
|
+
lines.push(`Full output at: ${filePath}`);
|
|
296
|
+
lines.push('Read the file to retrieve the full output.');
|
|
297
|
+
// Add summary (first 200 chars)
|
|
298
|
+
lines.push(`Summary: ${toolData.output.substring(0, 200)}...`);
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
// Large output but no sessionId/id - truncate with warning
|
|
302
|
+
lines.push(`Output (truncated - too large):\n${toolData.output.substring(0, TOOL_RESPONSE_MAX_INLINE_LENGTH)}...`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
else if (toolData.id) {
|
|
306
|
+
// No sessionId but have id - show generic message
|
|
307
|
+
lines.push(`Output stored with ID: ${toolData.id}`);
|
|
308
|
+
if (toolData.summary) {
|
|
309
|
+
lines.push(`Summary: ${toolData.summary}`);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// Add error if present
|
|
313
|
+
if (toolData.status === 'failed' && toolData.error) {
|
|
314
|
+
lines.push(`Error: ${toolData.error}`);
|
|
315
|
+
}
|
|
316
|
+
return lines.join('\n');
|
|
317
|
+
}
|
|
318
|
+
case 'context': {
|
|
319
|
+
const contextData = data;
|
|
320
|
+
if (contextData.content) {
|
|
321
|
+
const source = contextData.source ? ` (source: ${contextData.source})` : '';
|
|
322
|
+
return `[Context${source}]\n${contextData.content}`;
|
|
323
|
+
}
|
|
324
|
+
return '';
|
|
325
|
+
}
|
|
326
|
+
case 'integration': {
|
|
327
|
+
const integrationData = data;
|
|
328
|
+
if (integrationData.connections && integrationData.connections.length > 0) {
|
|
329
|
+
const tools = integrationData.connections
|
|
330
|
+
.map(c => c.toolkitName || c.toolkitId)
|
|
331
|
+
.filter(Boolean)
|
|
332
|
+
.join(', ');
|
|
333
|
+
return `[Available Integrations: ${tools}]`;
|
|
334
|
+
}
|
|
335
|
+
return '';
|
|
336
|
+
}
|
|
337
|
+
case 'tabs': {
|
|
338
|
+
const tabsData = data;
|
|
339
|
+
if (Array.isArray(tabsData) && tabsData.length > 0) {
|
|
340
|
+
const tabsList = tabsData
|
|
341
|
+
.map(t => `- ${t.title || 'Untitled'}: ${t.url || 'no url'}`)
|
|
342
|
+
.join('\n');
|
|
343
|
+
return `[Browser Tabs]\n${tabsList}`;
|
|
344
|
+
}
|
|
345
|
+
return '';
|
|
346
|
+
}
|
|
347
|
+
case 'notes': {
|
|
348
|
+
const notesData = data;
|
|
349
|
+
if (notesData.content) {
|
|
350
|
+
const title = notesData.title ? ` - ${notesData.title}` : '';
|
|
351
|
+
return `[Notes${title}]\n${notesData.content}`;
|
|
352
|
+
}
|
|
353
|
+
return '';
|
|
354
|
+
}
|
|
355
|
+
default:
|
|
356
|
+
// For unknown types, try to stringify the data
|
|
357
|
+
try {
|
|
358
|
+
const typeLabel = provider ? `${type}/${provider}` : type;
|
|
359
|
+
return `[${typeLabel}]\n${JSON.stringify(data, null, 2)}`;
|
|
360
|
+
}
|
|
361
|
+
catch {
|
|
362
|
+
return '';
|
|
363
|
+
}
|
|
364
|
+
}
|
|
116
365
|
}
|
|
117
366
|
/**
|
|
118
367
|
* Build messages array from request
|
|
368
|
+
* Includes attachments path context when there are actual attachments
|
|
369
|
+
* Handles async file operations for large content
|
|
119
370
|
*/
|
|
120
|
-
buildMessages(request) {
|
|
371
|
+
async buildMessages(request) {
|
|
121
372
|
const messages = [];
|
|
122
|
-
|
|
123
|
-
|
|
373
|
+
const sessionId = request.sessionId;
|
|
374
|
+
// Build system prompt with optional attachments path
|
|
375
|
+
let systemPromptContent = request.systemPrompt || '';
|
|
376
|
+
// Add system prompt if we have content
|
|
377
|
+
if (systemPromptContent) {
|
|
124
378
|
messages.push({
|
|
125
379
|
role: 'system',
|
|
126
|
-
content:
|
|
380
|
+
content: systemPromptContent,
|
|
127
381
|
});
|
|
128
382
|
}
|
|
129
383
|
// Add previous messages if provided
|
|
@@ -133,9 +387,11 @@ export class BaseAgent {
|
|
|
133
387
|
if (msg.role === 'system') {
|
|
134
388
|
continue;
|
|
135
389
|
}
|
|
136
|
-
const convertedContent = this.convertContent(msg.content);
|
|
390
|
+
const convertedContent = await this.convertContent(msg.content, sessionId);
|
|
391
|
+
// Cast role to the expected type (we've already filtered out 'system')
|
|
392
|
+
const role = msg.role;
|
|
137
393
|
messages.push({
|
|
138
|
-
role
|
|
394
|
+
role,
|
|
139
395
|
content: convertedContent,
|
|
140
396
|
});
|
|
141
397
|
}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../src/agents/claude-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../src/agents/claude-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAKxC;;;GAGG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,WAAgB;IAIpC;;;;;;;;OAQG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IA8DxC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAKrC"}
|