@jarvis-agent/core 0.1.0
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 +211 -0
- package/dist/agent/a2a.d.ts +7 -0
- package/dist/agent/a2a.d.ts.map +1 -0
- package/dist/agent/base.d.ts +53 -0
- package/dist/agent/base.d.ts.map +1 -0
- package/dist/agent/browser/browser_base.d.ts +52 -0
- package/dist/agent/browser/browser_base.d.ts.map +1 -0
- package/dist/agent/browser/browser_labels.d.ts +28 -0
- package/dist/agent/browser/browser_labels.d.ts.map +1 -0
- package/dist/agent/browser/browser_screen.d.ts +17 -0
- package/dist/agent/browser/browser_screen.d.ts.map +1 -0
- package/dist/agent/browser/build_dom_tree.d.ts +2 -0
- package/dist/agent/browser/build_dom_tree.d.ts.map +1 -0
- package/dist/agent/browser/index.d.ts +5 -0
- package/dist/agent/browser/index.d.ts.map +1 -0
- package/dist/agent/browser/utils.d.ts +2 -0
- package/dist/agent/browser/utils.d.ts.map +1 -0
- package/dist/agent/computer.d.ts +23 -0
- package/dist/agent/computer.d.ts.map +1 -0
- package/dist/agent/file.d.ts +32 -0
- package/dist/agent/file.d.ts.map +1 -0
- package/dist/agent/index.d.ts +7 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/llm.d.ts +13 -0
- package/dist/agent/llm.d.ts.map +1 -0
- package/dist/agent/shell.d.ts +15 -0
- package/dist/agent/shell.d.ts.map +1 -0
- package/dist/common/log.d.ts +43 -0
- package/dist/common/log.d.ts.map +1 -0
- package/dist/common/tree.d.ts +3 -0
- package/dist/common/tree.d.ts.map +1 -0
- package/dist/common/utils.d.ts +16 -0
- package/dist/common/utils.d.ts.map +1 -0
- package/dist/common/xml.d.ts +15 -0
- package/dist/common/xml.d.ts.map +1 -0
- package/dist/config/index.d.ts +20 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/core/chain.d.ts +45 -0
- package/dist/core/chain.d.ts.map +1 -0
- package/dist/core/context.d.ts +31 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/dialogue/execute_task.d.ts +15 -0
- package/dist/core/dialogue/execute_task.d.ts.map +1 -0
- package/dist/core/dialogue/llm.d.ts +8 -0
- package/dist/core/dialogue/llm.d.ts.map +1 -0
- package/dist/core/dialogue/task_planner.d.ts +15 -0
- package/dist/core/dialogue/task_planner.d.ts.map +1 -0
- package/dist/core/dialogue/variable_storage.d.ts +14 -0
- package/dist/core/dialogue/variable_storage.d.ts.map +1 -0
- package/dist/core/dialogue.d.ts +22 -0
- package/dist/core/dialogue.d.ts.map +1 -0
- package/dist/core/eko.d.ts +25 -0
- package/dist/core/eko.d.ts.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/plan.d.ts +13 -0
- package/dist/core/plan.d.ts.map +1 -0
- package/dist/core/replan.d.ts +4 -0
- package/dist/core/replan.d.ts.map +1 -0
- package/dist/index.cjs.js +37004 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +36933 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/llm/index.d.ts +22 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +26 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/sse.d.ts +30 -0
- package/dist/mcp/sse.d.ts.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/memory.d.ts +40 -0
- package/dist/memory/memory.d.ts.map +1 -0
- package/dist/memory/snapshot.d.ts +13 -0
- package/dist/memory/snapshot.d.ts.map +1 -0
- package/dist/prompt/agent.d.ts +6 -0
- package/dist/prompt/agent.d.ts.map +1 -0
- package/dist/prompt/dialogue.d.ts +2 -0
- package/dist/prompt/dialogue.d.ts.map +1 -0
- package/dist/prompt/plan.d.ts +4 -0
- package/dist/prompt/plan.d.ts.map +1 -0
- package/dist/tools/foreach_task.d.ts +13 -0
- package/dist/tools/foreach_task.d.ts.map +1 -0
- package/dist/tools/human_interact.d.ts +15 -0
- package/dist/tools/human_interact.d.ts.map +1 -0
- package/dist/tools/index.d.ts +20 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/task_node_status.d.ts +13 -0
- package/dist/tools/task_node_status.d.ts.map +1 -0
- package/dist/tools/task_result_check.d.ts +18 -0
- package/dist/tools/task_result_check.d.ts.map +1 -0
- package/dist/tools/todo_list_manager.d.ts +16 -0
- package/dist/tools/todo_list_manager.d.ts.map +1 -0
- package/dist/tools/variable_storage.d.ts +13 -0
- package/dist/tools/variable_storage.d.ts.map +1 -0
- package/dist/tools/watch_trigger.d.ts +17 -0
- package/dist/tools/watch_trigger.d.ts.map +1 -0
- package/dist/tools/wrapper.d.ts +12 -0
- package/dist/tools/wrapper.d.ts.map +1 -0
- package/dist/types/core.types.d.ts +144 -0
- package/dist/types/core.types.d.ts.map +1 -0
- package/dist/types/dialogue.types.d.ts +108 -0
- package/dist/types/dialogue.types.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/llm.types.d.ts +63 -0
- package/dist/types/llm.types.d.ts.map +1 -0
- package/dist/types/mcp.types.d.ts +35 -0
- package/dist/types/mcp.types.d.ts.map +1 -0
- package/dist/types/tools.types.d.ts +61 -0
- package/dist/types/tools.types.d.ts.map +1 -0
- package/package.json +77 -0
package/README.md
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<h1 align="center">
|
|
5
|
+
<a href="https://github.com/FellouAI/eko" target="_blank">
|
|
6
|
+
<img src="https://github.com/user-attachments/assets/55dbdd6c-2b08-4e5f-a841-8fea7c2a0b92" alt="eko-logo" width="200" height="200">
|
|
7
|
+
</a>
|
|
8
|
+
<br>
|
|
9
|
+
<small>Eko - Build Production-ready Agentic Workflow with Natural Language</small>
|
|
10
|
+
</h1>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
[](LICENSE) [](https://example.com/build-status) [](https://eko.fellou.ai/docs/release/versions/)
|
|
15
|
+
|
|
16
|
+
Eko (pronounced like 'echo') is a production-ready JavaScript framework that enables developers to create reliable agents, **from simple commands to complex workflows**. It provides a unified interface for running agents in both **computer and browser environments**.
|
|
17
|
+
|
|
18
|
+
## News
|
|
19
|
+
|
|
20
|
+
- **2025-09:** Eko 3.0 introduces dependency-aware parallel agent execution.
|
|
21
|
+
- **2025-09:** New pause, resume, and interrupt controls with `task_snapshot` workflow recovery.
|
|
22
|
+
- **2025-09:** Monorepo tooling migrated to pnpm for consistent workspace management.
|
|
23
|
+
|
|
24
|
+
## Upgrading to Eko 3.0
|
|
25
|
+
|
|
26
|
+
Follow these steps when moving an existing Eko 2.x project to 3.0:
|
|
27
|
+
|
|
28
|
+
1. Update dependencies with `pnpm up @jarvis-agent/core @jarvis-agent/nodejs @jarvis-agent/web @jarvis-agent/extension`.
|
|
29
|
+
2. Regenerate saved workflows or exported plans so they use the v3 schema and dependency graph format.
|
|
30
|
+
3. Clean and reinstall using pnpm (`rm -rf node_modules && pnpm install`), then rebuild any browser or desktop bundles.
|
|
31
|
+
4. Re-run automated demos and update documentation to reflect the new pause/interrupt APIs and parallel agent behavior.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Framework Comparison
|
|
35
|
+
|
|
36
|
+
| Feature | Eko | Langchain | Browser-use | Dify.ai | Coze |
|
|
37
|
+
|--------------------------------------|-------|------------|--------------|----------|--------|
|
|
38
|
+
| **Supported Platform** | **All platform** | Server side | Browser | Web | Web |
|
|
39
|
+
| **One sentence to multi-step workflow** | ✅ | ❌ | ✅ | ❌ | ❌ |
|
|
40
|
+
| **Intervenability** | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|
41
|
+
| **Task Parallel** | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
42
|
+
| **Development Efficiency** | **High** | Low | Middle | Middle | Low |
|
|
43
|
+
| **Task Complexity** | **High** | High | Low | Middle | Middle | Middle |
|
|
44
|
+
| **Open-source** | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
45
|
+
| **Access to private web resources** | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
46
|
+
|
|
47
|
+
## Features
|
|
48
|
+
|
|
49
|
+
- [x] Pure JavaScript: Built for browsers and Node.js.🚀
|
|
50
|
+
- [x] Multi-Agent: Unleash power with multiple Agents in one task.📈
|
|
51
|
+
- [x] Agent/Tool Flexibility: Customize new Agents and Tools in just one line.🎉
|
|
52
|
+
- [x] Native MCP: Connects seamlessly with [Awesome MCP Servers](https://mcpservers.org/).🔗
|
|
53
|
+
- [x] Dynamic LLM: Balance speed and performance with flexible model choices.⚙️
|
|
54
|
+
- [x] Human-in-the-loop: Intervene when it matters most.🤝
|
|
55
|
+
- [x] Stream Planning: Dynamic rendering made easy.🎨
|
|
56
|
+
- [x] Loop & Listener Tasks: Automate any repetitive task.🤖
|
|
57
|
+
- [ ] Observable Chain: *Coming soon*
|
|
58
|
+
- [ ] Native A2A: *Coming soon*
|
|
59
|
+
|
|
60
|
+
## Quickstart
|
|
61
|
+
|
|
62
|
+
> **Note**: Please refer to the [Eko Quickstart guide](https://eko.fellou.ai/docs/getting-started/quickstart/) guide for full instructions on how to run it.
|
|
63
|
+
|
|
64
|
+
> **Security Warning**
|
|
65
|
+
>
|
|
66
|
+
> DO NOT use API Keys in browser/frontend code!
|
|
67
|
+
>
|
|
68
|
+
> This will expose your credentials and may lead to unauthorized usage.
|
|
69
|
+
>
|
|
70
|
+
> Best Practices: Configure backend API proxy request through baseURL and request headers.
|
|
71
|
+
>
|
|
72
|
+
> Please refer to the link: https://eko.fellou.ai/docs/getting-started/configuration#web-environment
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
const llms: LLMs = {
|
|
76
|
+
default: {
|
|
77
|
+
provider: "anthropic",
|
|
78
|
+
model: "claude-sonnet-4-20250514",
|
|
79
|
+
apiKey: "your-api-key"
|
|
80
|
+
},
|
|
81
|
+
gemini: {
|
|
82
|
+
provider: "google",
|
|
83
|
+
model: "gemini-2.5-pro",
|
|
84
|
+
apiKey: "your-api-key"
|
|
85
|
+
},
|
|
86
|
+
openai: {
|
|
87
|
+
provider: "openai",
|
|
88
|
+
model: "gpt-5",
|
|
89
|
+
apiKey: "your-api-key"
|
|
90
|
+
},
|
|
91
|
+
// OpenAI-compatible models (Qwen, Doubao, etc.)
|
|
92
|
+
qwen: {
|
|
93
|
+
provider: "openai",
|
|
94
|
+
model: "qwen-plus",
|
|
95
|
+
apiKey: "your-qwen-api-key",
|
|
96
|
+
config: {
|
|
97
|
+
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
doubao: {
|
|
101
|
+
provider: "openai", // Use OpenAI provider for compatibility
|
|
102
|
+
model: "doubao-seed-1-6-250615", // or other Doubao model
|
|
103
|
+
apiKey: "your-volcengine-api-key",
|
|
104
|
+
config: {
|
|
105
|
+
baseURL: "https://ark.cn-beijing.volces.com/api/v3" // Volcengine endpoint
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
let agents: Agent[] = [new BrowserAgent(), new FileAgent()];
|
|
112
|
+
let eko = new Eko({ llms, agents });
|
|
113
|
+
let result = await eko.run("Search for the latest news about Musk, summarize and save to the desktop as Musk.md");
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
$ pnpm install @jarvis-agent/core
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Example Projects
|
|
121
|
+
|
|
122
|
+
The repository ships with three workspace examples under the `example/` folder.
|
|
123
|
+
|
|
124
|
+
### Prerequisites
|
|
125
|
+
|
|
126
|
+
Before running any example, install dependencies and build the core packages from the root directory:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
pnpm install
|
|
130
|
+
pnpm build
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Browser Extension (`example/extension`)
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
cd example/extension
|
|
137
|
+
pnpm install
|
|
138
|
+
pnpm run build
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Load the generated `dist` directory via `chrome://extensions` → Developer Mode → Load unpacked.
|
|
142
|
+
Configure your API key in the extension options before running the automation task.
|
|
143
|
+
|
|
144
|
+
### Node.js Automation (`example/nodejs`)
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
cd example/nodejs
|
|
148
|
+
pnpm install
|
|
149
|
+
pnpm run playwright # first time only, installs browsers
|
|
150
|
+
pnpm run build
|
|
151
|
+
OPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run start
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
The Node.js demo drives Playwright through Eko; provide at least one model API key before running it.
|
|
155
|
+
|
|
156
|
+
### Web Login Demo (`example/web`)
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
cd example/web
|
|
160
|
+
pnpm install
|
|
161
|
+
pnpm run start
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
This starts a React dev server on the default port with a simple login flow that you can automate
|
|
165
|
+
with the browser or web agents.
|
|
166
|
+
|
|
167
|
+
## Use Cases
|
|
168
|
+
|
|
169
|
+
- Browser automation and web scraping
|
|
170
|
+
- System file and process management
|
|
171
|
+
- Workflow automation
|
|
172
|
+
- Data processing and organization
|
|
173
|
+
- GUI automation
|
|
174
|
+
- Multi-step task orchestration
|
|
175
|
+
|
|
176
|
+
## Documentation
|
|
177
|
+
|
|
178
|
+
Visit our [documentation site](https://eko.fellou.ai/docs) for:
|
|
179
|
+
|
|
180
|
+
- Getting started guide
|
|
181
|
+
- API reference
|
|
182
|
+
- Usage examples
|
|
183
|
+
- Best practices
|
|
184
|
+
- Configuration options
|
|
185
|
+
|
|
186
|
+
## Development Environments
|
|
187
|
+
|
|
188
|
+
Eko can be used in multiple environments:
|
|
189
|
+
|
|
190
|
+
- Browser Extension
|
|
191
|
+
- Web Applications
|
|
192
|
+
- Node.js Applications
|
|
193
|
+
|
|
194
|
+
## Community and Support
|
|
195
|
+
|
|
196
|
+
- Report issues on [GitHub Issues](https://github.com/FellouAI/eko/issues)
|
|
197
|
+
|
|
198
|
+
[](https://star-history.com/#FellouAI/eko&Date)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
## Community Spotlight
|
|
202
|
+
|
|
203
|
+
- **Career Co-Pilot**: https://github.com/wangwangbobo/career_skill_learnig.git
|
|
204
|
+
- **Slides Agent by Eko**: https://github.com/MICAHFANG/slides-agent-by-eko
|
|
205
|
+
- **Universal Sidebar Assistant**: https://github.com/San12341/eko-broser-extension.git
|
|
206
|
+
- **Orbit X Smart Terminal**: https://github.com/Skywang16/OrbitX/tree/main
|
|
207
|
+
- **48 Hour Browser Challenge**: https://github.com/MoonIRL/eko
|
|
208
|
+
|
|
209
|
+
## License
|
|
210
|
+
|
|
211
|
+
Eko is released under the MIT License. See the [LICENSE](LICENSE) file for details.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/agent/a2a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAClD;AAED,qBAAa,SAAS;CAErB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AgentChain } from "../core/chain";
|
|
2
|
+
import Context, { AgentContext } from "../core/context";
|
|
3
|
+
import { Tool, IMcpClient, LLMRequest, ToolResult, ToolExecuter, WorkflowAgent, HumanCallback, StreamCallback } from "../types";
|
|
4
|
+
import { LanguageModelV2Prompt, LanguageModelV2FilePart, LanguageModelV2TextPart, LanguageModelV2ToolCallPart, LanguageModelV2ToolResultPart } from "@ai-sdk/provider";
|
|
5
|
+
export type AgentParams = {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
tools: Tool[];
|
|
9
|
+
llms?: string[];
|
|
10
|
+
mcpClient?: IMcpClient;
|
|
11
|
+
planDescription?: string;
|
|
12
|
+
requestHandler?: (request: LLMRequest) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare class Agent {
|
|
15
|
+
protected name: string;
|
|
16
|
+
protected description: string;
|
|
17
|
+
protected tools: Tool[];
|
|
18
|
+
protected llms?: string[];
|
|
19
|
+
protected mcpClient?: IMcpClient;
|
|
20
|
+
protected planDescription?: string;
|
|
21
|
+
protected requestHandler?: (request: LLMRequest) => void;
|
|
22
|
+
protected callback?: StreamCallback & HumanCallback;
|
|
23
|
+
protected agentContext?: AgentContext;
|
|
24
|
+
constructor(params: AgentParams);
|
|
25
|
+
run(context: Context, agentChain: AgentChain): Promise<string>;
|
|
26
|
+
runWithContext(agentContext: AgentContext, mcpClient?: IMcpClient, maxReactNum?: number, historyMessages?: LanguageModelV2Prompt): Promise<string>;
|
|
27
|
+
protected handleCallResult(agentContext: AgentContext, messages: LanguageModelV2Prompt, agentTools: Tool[], results: Array<LanguageModelV2TextPart | LanguageModelV2ToolCallPart>): Promise<string | null>;
|
|
28
|
+
protected callToolCall(agentContext: AgentContext, agentTools: Tool[], result: LanguageModelV2ToolCallPart, user_messages?: LanguageModelV2Prompt): Promise<LanguageModelV2ToolResultPart>;
|
|
29
|
+
protected system_auto_tools(agentNode: WorkflowAgent): Tool[];
|
|
30
|
+
protected buildSystemPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
|
|
31
|
+
protected buildUserPrompt(agentContext: AgentContext, tools: Tool[]): Promise<Array<LanguageModelV2TextPart | LanguageModelV2FilePart>>;
|
|
32
|
+
protected extSysPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
|
|
33
|
+
private listTools;
|
|
34
|
+
protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV2Prompt, loopNum: number): Promise<{
|
|
35
|
+
mcpTools: boolean;
|
|
36
|
+
mcpParams?: Record<string, unknown>;
|
|
37
|
+
}>;
|
|
38
|
+
protected toolExecuter(mcpClient: IMcpClient, name: string): ToolExecuter;
|
|
39
|
+
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<void>;
|
|
40
|
+
protected callInnerTool(fun: () => Promise<any>): Promise<ToolResult>;
|
|
41
|
+
loadTools(context: Context): Promise<Tool[]>;
|
|
42
|
+
addTool(tool: Tool): void;
|
|
43
|
+
protected onTaskStatus(status: "pause" | "abort" | "resume-pause", reason?: string): Promise<void>;
|
|
44
|
+
canParallelToolCalls(toolCalls?: LanguageModelV2ToolCallPart[]): boolean;
|
|
45
|
+
get Llms(): string[] | undefined;
|
|
46
|
+
get Name(): string;
|
|
47
|
+
get Description(): string;
|
|
48
|
+
get Tools(): Tool[];
|
|
49
|
+
get PlanDescription(): string | undefined;
|
|
50
|
+
get McpClient(): IMcpClient | undefined;
|
|
51
|
+
get AgentContext(): AgentContext | undefined;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { LanguageModelV2Prompt } from "@ai-sdk/provider";
|
|
2
|
+
import { Agent } from "../base";
|
|
3
|
+
import { AgentContext } from "../../core/context";
|
|
4
|
+
import { ToolExecuter, IMcpClient } from "../../types";
|
|
5
|
+
export declare const AGENT_NAME = "Browser";
|
|
6
|
+
export default abstract class BaseBrowserAgent extends Agent {
|
|
7
|
+
protected abstract screenshot(agentContext: AgentContext): Promise<{
|
|
8
|
+
imageBase64: string;
|
|
9
|
+
imageType: "image/jpeg" | "image/png";
|
|
10
|
+
}>;
|
|
11
|
+
protected abstract navigate_to(agentContext: AgentContext, url: string): Promise<{
|
|
12
|
+
url: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
}>;
|
|
15
|
+
protected abstract get_all_tabs(agentContext: AgentContext): Promise<Array<{
|
|
16
|
+
tabId: number;
|
|
17
|
+
url: string;
|
|
18
|
+
title: string;
|
|
19
|
+
}>>;
|
|
20
|
+
protected abstract switch_tab(agentContext: AgentContext, tabId: number): Promise<{
|
|
21
|
+
tabId: number;
|
|
22
|
+
url: string;
|
|
23
|
+
title: string;
|
|
24
|
+
}>;
|
|
25
|
+
protected go_back(agentContext: AgentContext): Promise<void>;
|
|
26
|
+
protected extract_page_content(agentContext: AgentContext, variable_name?: string): Promise<{
|
|
27
|
+
title: string;
|
|
28
|
+
page_url: string;
|
|
29
|
+
page_content: string;
|
|
30
|
+
}>;
|
|
31
|
+
protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV2Prompt, loopNum: number): Promise<{
|
|
32
|
+
mcpTools: boolean;
|
|
33
|
+
mcpParams?: Record<string, unknown>;
|
|
34
|
+
}>;
|
|
35
|
+
protected toolExecuter(mcpClient: IMcpClient, name: string): ToolExecuter;
|
|
36
|
+
protected get_current_page(agentContext: AgentContext): Promise<{
|
|
37
|
+
url: string;
|
|
38
|
+
title?: string;
|
|
39
|
+
tabId?: number;
|
|
40
|
+
}>;
|
|
41
|
+
protected lastToolResult(messages: LanguageModelV2Prompt): {
|
|
42
|
+
id: string;
|
|
43
|
+
toolName: string;
|
|
44
|
+
args: unknown;
|
|
45
|
+
result: unknown;
|
|
46
|
+
} | null;
|
|
47
|
+
protected toolUseNames(messages?: LanguageModelV2Prompt): string[];
|
|
48
|
+
protected abstract execute_script(agentContext: AgentContext, func: (...args: any[]) => void, args: any[]): Promise<any>;
|
|
49
|
+
protected execute_mcp_script(agentContext: AgentContext, script: string): Promise<string | number | Record<string, any> | undefined>;
|
|
50
|
+
}
|
|
51
|
+
export { BaseBrowserAgent };
|
|
52
|
+
//# sourceMappingURL=browser_base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser_base.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AgentContext } from "../../core/context";
|
|
2
|
+
import { BaseBrowserAgent } from "./browser_base";
|
|
3
|
+
import { LanguageModelV2Prompt, LanguageModelV2ToolCallPart } from "@ai-sdk/provider";
|
|
4
|
+
import { Tool, IMcpClient } from "../../types";
|
|
5
|
+
export default abstract class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
6
|
+
constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient);
|
|
7
|
+
protected input_text(agentContext: AgentContext, index: number, text: string, enter: boolean): Promise<any>;
|
|
8
|
+
protected click_element(agentContext: AgentContext, index: number, num_clicks: number, button: "left" | "right" | "middle"): Promise<any>;
|
|
9
|
+
protected scroll_to_element(agentContext: AgentContext, index: number): Promise<void>;
|
|
10
|
+
protected scroll_mouse_wheel(agentContext: AgentContext, amount: number, extract_page_content: boolean): Promise<any>;
|
|
11
|
+
protected hover_to_element(agentContext: AgentContext, index: number): Promise<void>;
|
|
12
|
+
protected get_select_options(agentContext: AgentContext, index: number): Promise<any>;
|
|
13
|
+
protected select_option(agentContext: AgentContext, index: number, option: string): Promise<any>;
|
|
14
|
+
protected screenshot_and_html(agentContext: AgentContext): Promise<{
|
|
15
|
+
imageBase64: string;
|
|
16
|
+
imageType: "image/jpeg" | "image/png";
|
|
17
|
+
pseudoHtml: string;
|
|
18
|
+
}>;
|
|
19
|
+
protected get_element_script(index: number): string;
|
|
20
|
+
canParallelToolCalls(toolCalls?: LanguageModelV2ToolCallPart[]): boolean;
|
|
21
|
+
private buildInitTools;
|
|
22
|
+
protected double_screenshots(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<boolean>;
|
|
23
|
+
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<void>;
|
|
24
|
+
private handlePseudoHtmlText;
|
|
25
|
+
private removePseudoHtmlAttr;
|
|
26
|
+
}
|
|
27
|
+
export { BaseBrowserLabelsAgent };
|
|
28
|
+
//# sourceMappingURL=browser_labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser_labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_labels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EAErB,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,sBAAuB,SAAQ,gBAAgB;gBAC/D,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU;cAoDvD,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,GAAG,CAAC;cAOC,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAClC,OAAO,CAAC,GAAG,CAAC;cAMC,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;cAaA,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAAC,GAAG,CAAC;cAkCC,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;cAIA,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;cAMC,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,GAAG,CAAC;cAMC,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC;QACvE,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;QACtC,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAwCF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C,oBAAoB,CAAC,SAAS,CAAC,EAAE,2BAA2B,EAAE,GAAG,OAAO;IAiB/E,OAAO,CAAC,cAAc;cAuUN,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,OAAO,CAAC;cAIH,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC;IA2ChB,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,oBAAoB;CA0B7B;AA4SD,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseBrowserAgent } from "./browser_base";
|
|
2
|
+
import { AgentContext } from "../../core/context";
|
|
3
|
+
import { LanguageModelV2Prompt } from "@ai-sdk/provider";
|
|
4
|
+
import { Tool, IMcpClient } from "../../types";
|
|
5
|
+
export default abstract class BaseBrowserScreenAgent extends BaseBrowserAgent {
|
|
6
|
+
constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient);
|
|
7
|
+
protected abstract typing(agentContext: AgentContext, text: string): Promise<void>;
|
|
8
|
+
protected abstract click(agentContext: AgentContext, x: number, y: number, num_clicks: number, button_type: "left" | "right" | "middle"): Promise<void>;
|
|
9
|
+
protected abstract scroll(agentContext: AgentContext, amount: number): Promise<void>;
|
|
10
|
+
protected abstract move_to(agentContext: AgentContext, x: number, y: number): Promise<void>;
|
|
11
|
+
protected abstract press(agentContext: AgentContext, key: "enter" | "tab" | "space" | "backspace" | "delete"): Promise<void>;
|
|
12
|
+
protected abstract drag_and_drop(agentContext: AgentContext, x1: number, y1: number, x2: number, y2: number): Promise<void>;
|
|
13
|
+
private buildInitTools;
|
|
14
|
+
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export { BaseBrowserScreenAgent };
|
|
17
|
+
//# sourceMappingURL=browser_screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser_screen.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAG3D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,sBAAuB,SAAQ,gBAAgB;gBAC/D,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU;IA6BvE,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,KAAK,CACtB,YAAY,EAAE,YAAY,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GACvC,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,YAAY,EAAE,YAAY,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,KAAK,CACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GACtD,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;IAEhB,OAAO,CAAC,cAAc;cAsUN,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC;CA4BjB;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build_dom_tree.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/build_dom_tree.ts"],"names":[],"mappings":"AACA,wBAAgB,kBAAkB,SAksBjC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BaseBrowserAgent, AGENT_NAME } from "./browser_base";
|
|
2
|
+
import BaseBrowserLabelsAgent from "./browser_labels";
|
|
3
|
+
import BaseBrowserScreenAgent from "./browser_screen";
|
|
4
|
+
export { AGENT_NAME, BaseBrowserAgent, BaseBrowserScreenAgent, BaseBrowserLabelsAgent };
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,cAAc,SAAM,EAAE,kBAAkB,SAAQ,UAmHpF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Agent } from "./base";
|
|
2
|
+
import { AgentContext } from "../core/context";
|
|
3
|
+
import { Tool, IMcpClient } from "../types";
|
|
4
|
+
import { LanguageModelV2Prompt } from "@ai-sdk/provider";
|
|
5
|
+
export declare const AGENT_NAME = "Computer";
|
|
6
|
+
export default abstract class BaseComputerAgent extends Agent {
|
|
7
|
+
constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, keyboardKeys?: string[]);
|
|
8
|
+
protected abstract screenshot(agentContext: AgentContext): Promise<{
|
|
9
|
+
imageBase64: string;
|
|
10
|
+
imageType: "image/jpeg" | "image/png";
|
|
11
|
+
}>;
|
|
12
|
+
protected abstract typing(agentContext: AgentContext, text: string): Promise<void>;
|
|
13
|
+
protected abstract click(agentContext: AgentContext, x: number, y: number, num_clicks: number, button_type: "left" | "right" | "middle"): Promise<void>;
|
|
14
|
+
protected abstract scroll(agentContext: AgentContext, amount: number): Promise<void>;
|
|
15
|
+
protected abstract move_to(agentContext: AgentContext, x: number, y: number): Promise<void>;
|
|
16
|
+
protected abstract press(agentContext: AgentContext, key: string): Promise<void>;
|
|
17
|
+
protected abstract hotkey(agentContext: AgentContext, keys: string): Promise<void>;
|
|
18
|
+
protected abstract drag_and_drop(agentContext: AgentContext, x1: number, y1: number, x2: number, y2: number): Promise<void>;
|
|
19
|
+
private buildInitTools;
|
|
20
|
+
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV2Prompt, tools: Tool[]): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export { BaseComputerAgent };
|
|
23
|
+
//# sourceMappingURL=computer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer.d.ts","sourceRoot":"","sources":["../../src/agent/computer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,iBAAkB,SAAQ,KAAK;gBAE/C,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;IAgDhG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC;QACjE,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;KACvC,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,KAAK,CACtB,YAAY,EAAE,YAAY,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GACvC,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,YAAY,EAAE,YAAY,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,KAAK,CACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAEhB,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC;IAEhB,OAAO,CAAC,cAAc;cAiPN,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC;CAuCjB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Agent } from "./base";
|
|
2
|
+
import { AgentContext } from "../core/context";
|
|
3
|
+
import { Tool, IMcpClient } from "../types";
|
|
4
|
+
export declare const AGENT_NAME = "File";
|
|
5
|
+
export default abstract class BaseFileAgent extends Agent {
|
|
6
|
+
constructor(work_path?: string, llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, planDescription?: string);
|
|
7
|
+
protected abstract file_list(agentContext: AgentContext, path: string): Promise<Array<{
|
|
8
|
+
path: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
isDirectory?: boolean;
|
|
11
|
+
size?: string;
|
|
12
|
+
modified?: string;
|
|
13
|
+
}>>;
|
|
14
|
+
protected abstract file_read(agentContext: AgentContext, path: string): Promise<string>;
|
|
15
|
+
protected do_file_read(agentContext: AgentContext, path: string, write_variable: string): Promise<{
|
|
16
|
+
file_context: string;
|
|
17
|
+
write_variable?: string;
|
|
18
|
+
}>;
|
|
19
|
+
protected abstract file_write(agentContext: AgentContext, path: string, content: string, append: boolean): Promise<any>;
|
|
20
|
+
protected do_file_write(agentContext: AgentContext, path: string, append: boolean, content?: string, from_variable?: string): Promise<any>;
|
|
21
|
+
protected abstract file_str_replace(agentContext: AgentContext, path: string, old_str: string, new_str: string): Promise<any>;
|
|
22
|
+
protected abstract file_find_by_name(agentContext: AgentContext, path: string, glob: string): Promise<Array<{
|
|
23
|
+
path: string;
|
|
24
|
+
name?: string;
|
|
25
|
+
isDirectory?: boolean;
|
|
26
|
+
size?: string;
|
|
27
|
+
modified?: string;
|
|
28
|
+
}>>;
|
|
29
|
+
private buildInitTools;
|
|
30
|
+
}
|
|
31
|
+
export { BaseFileAgent };
|
|
32
|
+
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/agent/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAGxD,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAc,SAAQ,KAAK;gBAErD,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,SAAS,CAAC,EAAE,IAAI,EAAE,EAClB,SAAS,CAAC,EAAE,UAAU,EACtB,eAAe,CAAC,EAAE,MAAM;IAuB1B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CACR,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAED,SAAS,CAAC,QAAQ,CAAC,SAAS,CAC1B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC;cAEF,YAAY,CAC1B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAc7D,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,GAAG,CAAC;cAEC,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,GAAG,CAAC;IAwBf,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CACjC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC;IAEf,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAClC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CACR,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAED,OAAO,CAAC,cAAc;CAwKvB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Agent, AgentParams } from "./base";
|
|
2
|
+
import BaseFileAgent from "./file";
|
|
3
|
+
import BaseShellAgent from "./shell";
|
|
4
|
+
import BaseComputerAgent from "./computer";
|
|
5
|
+
import { BaseBrowserAgent, BaseBrowserLabelsAgent, BaseBrowserScreenAgent } from "./browser";
|
|
6
|
+
export { Agent, BaseFileAgent, BaseShellAgent, BaseComputerAgent, BaseBrowserAgent, BaseBrowserLabelsAgent, BaseBrowserScreenAgent, type AgentParams, };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,aAAa,MAAM,QAAQ,CAAC;AACnC,OAAO,cAAc,MAAM,SAAS,CAAC;AACrC,OAAO,iBAAiB,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,WAAW,GACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RetryLanguageModel } from "../llm";
|
|
2
|
+
import { AgentContext } from "../core/context";
|
|
3
|
+
import { Tool, LLMRequest, ToolResult, DialogueTool, HumanCallback, StreamCallback } from "../types";
|
|
4
|
+
import { LanguageModelV2Prompt, LanguageModelV2TextPart, SharedV2ProviderOptions, LanguageModelV2ToolChoice, LanguageModelV2ToolCallPart, LanguageModelV2FunctionTool, LanguageModelV2ToolResultPart } from "@ai-sdk/provider";
|
|
5
|
+
export declare function defaultLLMProviderOptions(): SharedV2ProviderOptions;
|
|
6
|
+
export declare function defaultMessageProviderOptions(): SharedV2ProviderOptions;
|
|
7
|
+
export declare function convertTools(tools: Tool[] | DialogueTool[]): LanguageModelV2FunctionTool[];
|
|
8
|
+
export declare function getTool<T extends Tool | DialogueTool>(tools: T[], name: string): T | null;
|
|
9
|
+
export declare function convertToolResult(toolUse: LanguageModelV2ToolCallPart, toolResult: ToolResult, user_messages: LanguageModelV2Prompt): LanguageModelV2ToolResultPart;
|
|
10
|
+
export declare function callAgentLLM(agentContext: AgentContext, rlm: RetryLanguageModel, messages: LanguageModelV2Prompt, tools: LanguageModelV2FunctionTool[], noCompress?: boolean, toolChoice?: LanguageModelV2ToolChoice, retryNum?: number, callback?: StreamCallback & HumanCallback, requestHandler?: (request: LLMRequest) => void): Promise<Array<LanguageModelV2TextPart | LanguageModelV2ToolCallPart>>;
|
|
11
|
+
export declare function estimatePromptTokens(messages: LanguageModelV2Prompt, tools?: LanguageModelV2FunctionTool[]): number;
|
|
12
|
+
export declare function estimateTokens(text: string): number;
|
|
13
|
+
//# sourceMappingURL=llm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/agent/llm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,YAAY,EAEZ,aAAa,EACb,cAAc,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,EAEzB,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAE9B,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,yBAAyB,IAAI,uBAAuB,CAanE;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,CAYvE;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAC7B,2BAA2B,EAAE,CAQ/B;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,YAAY,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,CAOV;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,2BAA2B,EACpC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,qBAAqB,GACnC,6BAA6B,CA8F/B;AAED,wBAAsB,YAAY,CAChC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,2BAA2B,EAAE,EACpC,UAAU,CAAC,EAAE,OAAO,EACpB,UAAU,CAAC,EAAE,yBAAyB,EACtC,QAAQ,GAAE,MAAU,EACpB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,EACzC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAC7C,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,2BAA2B,CAAC,CAAC,CAmWvE;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,CAAC,EAAE,2BAA2B,EAAE,UAqDtC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,UA2C1C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Agent } from "./base";
|
|
2
|
+
import { AgentContext } from "../core/context";
|
|
3
|
+
import { Tool, IMcpClient } from "../types";
|
|
4
|
+
export declare const AGENT_NAME = "Shell";
|
|
5
|
+
export default abstract class BaseShellAgent extends Agent {
|
|
6
|
+
constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, planDescription?: string);
|
|
7
|
+
protected abstract create_session(agentContext: AgentContext, exec_dir: string): Promise<{
|
|
8
|
+
session_id: string;
|
|
9
|
+
}>;
|
|
10
|
+
protected abstract shell_exec(agentContext: AgentContext, session_id: string, command: string): Promise<string>;
|
|
11
|
+
protected abstract close_session(agentContext: AgentContext, session_id: string): Promise<void>;
|
|
12
|
+
private buildInitTools;
|
|
13
|
+
}
|
|
14
|
+
export { BaseShellAgent };
|
|
15
|
+
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/agent/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,UAAU,CAAC;AAExD,eAAO,MAAM,UAAU,UAAU,CAAC;AAElC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,cAAe,SAAQ,KAAK;gBAEtD,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,SAAS,CAAC,EAAE,IAAI,EAAE,EAClB,SAAS,CAAC,EAAE,UAAU,EACtB,eAAe,CAAC,EAAE,MAAM;IAqB1B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAElB,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAEhB,OAAO,CAAC,cAAc;CA+EvB;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
DEBUG = 0,
|
|
3
|
+
INFO = 1,
|
|
4
|
+
WARN = 2,
|
|
5
|
+
ERROR = 3,
|
|
6
|
+
FATAL = 4,
|
|
7
|
+
OFF = 5
|
|
8
|
+
}
|
|
9
|
+
export interface LoggerOptions {
|
|
10
|
+
level?: LogLevel;
|
|
11
|
+
prefix?: string;
|
|
12
|
+
dateFormat?: boolean;
|
|
13
|
+
transport?: Transport[];
|
|
14
|
+
}
|
|
15
|
+
export interface Transport {
|
|
16
|
+
log(level: LogLevel, message: string): void;
|
|
17
|
+
}
|
|
18
|
+
export declare class ConsoleTransport implements Transport {
|
|
19
|
+
log(level: LogLevel, message: string): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class Logger {
|
|
22
|
+
protected level: LogLevel;
|
|
23
|
+
protected prefix: string;
|
|
24
|
+
protected dateFormat: boolean;
|
|
25
|
+
protected transports: Transport[];
|
|
26
|
+
constructor(options?: LoggerOptions);
|
|
27
|
+
setLevel(level: LogLevel): this;
|
|
28
|
+
setPrefix(prefix: string): this;
|
|
29
|
+
addTransport(transport: Transport): this;
|
|
30
|
+
protected formatMessage(level: LogLevel, message: string): string;
|
|
31
|
+
protected log(level: LogLevel, message: string | Error, ...args: any[]): void;
|
|
32
|
+
isEnableDebug(): boolean;
|
|
33
|
+
debug(message: string | Error, ...args: any[]): void;
|
|
34
|
+
isEnableInfo(): boolean;
|
|
35
|
+
info(message: string | Error, ...args: any[]): void;
|
|
36
|
+
warn(message: string | Error, ...args: any[]): void;
|
|
37
|
+
error(message: string | Error, ...args: any[]): void;
|
|
38
|
+
fatal(message: string | Error, ...args: any[]): void;
|
|
39
|
+
createChild(name: string, options?: Partial<LoggerOptions>): Logger;
|
|
40
|
+
}
|
|
41
|
+
declare const Log: Logger;
|
|
42
|
+
export default Log;
|
|
43
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/common/log.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,KAAK,IAAI;IACT,GAAG,IAAI;CACR;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,qBAAa,gBAAiB,YAAW,SAAS;IAChD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;CAY5C;AAED,qBAAa,MAAM;IACjB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;gBAEtB,OAAO,GAAE,aAAkB;IAOhC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK/B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAK/C,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA2BjE,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAiCtE,aAAa;IAIb,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,YAAY;IAIZ,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAInD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,MAAM;CAU/E;AAED,QAAA,MAAM,GAAG,QAAe,CAAC;AAEzB,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/common/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CA2FjE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Agent } from "../agent";
|
|
2
|
+
import { Tool, ToolSchema } from "../types/tools.types";
|
|
3
|
+
import { LanguageModelV2FunctionTool } from "@ai-sdk/provider";
|
|
4
|
+
export declare function sleep(time: number): Promise<void>;
|
|
5
|
+
export declare function uuidv4(): string;
|
|
6
|
+
export declare function call_timeout<R extends Promise<any>>(fun: () => R, timeout: number, error_callback?: (e: string) => void): Promise<R>;
|
|
7
|
+
export declare function convertToolSchema(tool: ToolSchema): LanguageModelV2FunctionTool;
|
|
8
|
+
export declare function toImage(mediaData: string): Uint8Array | string | URL;
|
|
9
|
+
export declare function toFile(mediaData: string, type?: "base64|url" | "binary|url"): Uint8Array | string | URL;
|
|
10
|
+
export declare function getMimeType(data: string): string;
|
|
11
|
+
export declare function mergeTools<T extends Tool | LanguageModelV2FunctionTool>(tools1: T[], tools2: T[]): T[];
|
|
12
|
+
export declare function mergeAgents(agents1: Agent[], agents2: Agent[]): Agent[];
|
|
13
|
+
export declare function sub(str: string, maxLength: number, appendPoint?: boolean): string;
|
|
14
|
+
export declare function fixJson(code: string): any;
|
|
15
|
+
export declare function fixXmlTag(code: string): string;
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|