@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.
Files changed (116) hide show
  1. package/README.md +211 -0
  2. package/dist/agent/a2a.d.ts +7 -0
  3. package/dist/agent/a2a.d.ts.map +1 -0
  4. package/dist/agent/base.d.ts +53 -0
  5. package/dist/agent/base.d.ts.map +1 -0
  6. package/dist/agent/browser/browser_base.d.ts +52 -0
  7. package/dist/agent/browser/browser_base.d.ts.map +1 -0
  8. package/dist/agent/browser/browser_labels.d.ts +28 -0
  9. package/dist/agent/browser/browser_labels.d.ts.map +1 -0
  10. package/dist/agent/browser/browser_screen.d.ts +17 -0
  11. package/dist/agent/browser/browser_screen.d.ts.map +1 -0
  12. package/dist/agent/browser/build_dom_tree.d.ts +2 -0
  13. package/dist/agent/browser/build_dom_tree.d.ts.map +1 -0
  14. package/dist/agent/browser/index.d.ts +5 -0
  15. package/dist/agent/browser/index.d.ts.map +1 -0
  16. package/dist/agent/browser/utils.d.ts +2 -0
  17. package/dist/agent/browser/utils.d.ts.map +1 -0
  18. package/dist/agent/computer.d.ts +23 -0
  19. package/dist/agent/computer.d.ts.map +1 -0
  20. package/dist/agent/file.d.ts +32 -0
  21. package/dist/agent/file.d.ts.map +1 -0
  22. package/dist/agent/index.d.ts +7 -0
  23. package/dist/agent/index.d.ts.map +1 -0
  24. package/dist/agent/llm.d.ts +13 -0
  25. package/dist/agent/llm.d.ts.map +1 -0
  26. package/dist/agent/shell.d.ts +15 -0
  27. package/dist/agent/shell.d.ts.map +1 -0
  28. package/dist/common/log.d.ts +43 -0
  29. package/dist/common/log.d.ts.map +1 -0
  30. package/dist/common/tree.d.ts +3 -0
  31. package/dist/common/tree.d.ts.map +1 -0
  32. package/dist/common/utils.d.ts +16 -0
  33. package/dist/common/utils.d.ts.map +1 -0
  34. package/dist/common/xml.d.ts +15 -0
  35. package/dist/common/xml.d.ts.map +1 -0
  36. package/dist/config/index.d.ts +20 -0
  37. package/dist/config/index.d.ts.map +1 -0
  38. package/dist/core/chain.d.ts +45 -0
  39. package/dist/core/chain.d.ts.map +1 -0
  40. package/dist/core/context.d.ts +31 -0
  41. package/dist/core/context.d.ts.map +1 -0
  42. package/dist/core/dialogue/execute_task.d.ts +15 -0
  43. package/dist/core/dialogue/execute_task.d.ts.map +1 -0
  44. package/dist/core/dialogue/llm.d.ts +8 -0
  45. package/dist/core/dialogue/llm.d.ts.map +1 -0
  46. package/dist/core/dialogue/task_planner.d.ts +15 -0
  47. package/dist/core/dialogue/task_planner.d.ts.map +1 -0
  48. package/dist/core/dialogue/variable_storage.d.ts +14 -0
  49. package/dist/core/dialogue/variable_storage.d.ts.map +1 -0
  50. package/dist/core/dialogue.d.ts +22 -0
  51. package/dist/core/dialogue.d.ts.map +1 -0
  52. package/dist/core/eko.d.ts +25 -0
  53. package/dist/core/eko.d.ts.map +1 -0
  54. package/dist/core/index.d.ts +5 -0
  55. package/dist/core/index.d.ts.map +1 -0
  56. package/dist/core/plan.d.ts +13 -0
  57. package/dist/core/plan.d.ts.map +1 -0
  58. package/dist/core/replan.d.ts +4 -0
  59. package/dist/core/replan.d.ts.map +1 -0
  60. package/dist/index.cjs.js +37004 -0
  61. package/dist/index.cjs.js.map +1 -0
  62. package/dist/index.d.ts +19 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.esm.js +36933 -0
  65. package/dist/index.esm.js.map +1 -0
  66. package/dist/llm/index.d.ts +22 -0
  67. package/dist/llm/index.d.ts.map +1 -0
  68. package/dist/mcp/http.d.ts +26 -0
  69. package/dist/mcp/http.d.ts.map +1 -0
  70. package/dist/mcp/index.d.ts +4 -0
  71. package/dist/mcp/index.d.ts.map +1 -0
  72. package/dist/mcp/sse.d.ts +30 -0
  73. package/dist/mcp/sse.d.ts.map +1 -0
  74. package/dist/memory/index.d.ts +8 -0
  75. package/dist/memory/index.d.ts.map +1 -0
  76. package/dist/memory/memory.d.ts +40 -0
  77. package/dist/memory/memory.d.ts.map +1 -0
  78. package/dist/memory/snapshot.d.ts +13 -0
  79. package/dist/memory/snapshot.d.ts.map +1 -0
  80. package/dist/prompt/agent.d.ts +6 -0
  81. package/dist/prompt/agent.d.ts.map +1 -0
  82. package/dist/prompt/dialogue.d.ts +2 -0
  83. package/dist/prompt/dialogue.d.ts.map +1 -0
  84. package/dist/prompt/plan.d.ts +4 -0
  85. package/dist/prompt/plan.d.ts.map +1 -0
  86. package/dist/tools/foreach_task.d.ts +13 -0
  87. package/dist/tools/foreach_task.d.ts.map +1 -0
  88. package/dist/tools/human_interact.d.ts +15 -0
  89. package/dist/tools/human_interact.d.ts.map +1 -0
  90. package/dist/tools/index.d.ts +20 -0
  91. package/dist/tools/index.d.ts.map +1 -0
  92. package/dist/tools/task_node_status.d.ts +13 -0
  93. package/dist/tools/task_node_status.d.ts.map +1 -0
  94. package/dist/tools/task_result_check.d.ts +18 -0
  95. package/dist/tools/task_result_check.d.ts.map +1 -0
  96. package/dist/tools/todo_list_manager.d.ts +16 -0
  97. package/dist/tools/todo_list_manager.d.ts.map +1 -0
  98. package/dist/tools/variable_storage.d.ts +13 -0
  99. package/dist/tools/variable_storage.d.ts.map +1 -0
  100. package/dist/tools/watch_trigger.d.ts +17 -0
  101. package/dist/tools/watch_trigger.d.ts.map +1 -0
  102. package/dist/tools/wrapper.d.ts +12 -0
  103. package/dist/tools/wrapper.d.ts.map +1 -0
  104. package/dist/types/core.types.d.ts +144 -0
  105. package/dist/types/core.types.d.ts.map +1 -0
  106. package/dist/types/dialogue.types.d.ts +108 -0
  107. package/dist/types/dialogue.types.d.ts.map +1 -0
  108. package/dist/types/index.d.ts +7 -0
  109. package/dist/types/index.d.ts.map +1 -0
  110. package/dist/types/llm.types.d.ts +63 -0
  111. package/dist/types/llm.types.d.ts.map +1 -0
  112. package/dist/types/mcp.types.d.ts +35 -0
  113. package/dist/types/mcp.types.d.ts.map +1 -0
  114. package/dist/types/tools.types.d.ts +61 -0
  115. package/dist/types/tools.types.d.ts.map +1 -0
  116. 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://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://example.com/build-status) [![Version](https://img.shields.io/github/package-json/v/FellouAI/eko?color=yellow)](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
+ [![Star History Chart](https://api.star-history.com/svg?repos=FellouAI/eko&type=Date)](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,7 @@
1
+ import { Agent } from "./base";
2
+ export interface IA2aClient {
3
+ listAgents(taskPrompt: string): Promise<Agent[]>;
4
+ }
5
+ export declare class A2aClient {
6
+ }
7
+ //# sourceMappingURL=a2a.d.ts.map
@@ -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,2 @@
1
+ export declare function run_build_dom_tree(): void;
2
+ //# sourceMappingURL=build_dom_tree.d.ts.map
@@ -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,2 @@
1
+ export declare function extract_page_content(max_url_length?: number, max_content_length?: number): string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -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,3 @@
1
+ import { WorkflowAgent, AgentNode } from "../types/core.types";
2
+ export declare function buildAgentTree(agents: WorkflowAgent[]): AgentNode;
3
+ //# sourceMappingURL=tree.d.ts.map
@@ -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