@eko-ai/eko 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -6
- package/dist/core/eko.d.ts +3 -2
- package/dist/extension/tools/get_all_tabs.d.ts +9 -0
- package/dist/extension/tools/index.d.ts +3 -1
- package/dist/extension/tools/tab_management.d.ts +1 -1
- package/dist/extension/utils.d.ts +1 -1
- package/dist/extension.cjs.js +687 -216
- package/dist/extension.esm.js +687 -216
- package/dist/index.cjs.js +451 -127
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +451 -128
- package/dist/models/action.d.ts +8 -4
- package/dist/models/workflow.d.ts +8 -3
- package/dist/nodejs/tools/index.d.ts +1 -0
- package/dist/nodejs.cjs.js +211 -2
- package/dist/nodejs.esm.js +211 -2
- package/dist/schemas/workflow.schema.d.ts +2 -13
- package/dist/services/llm/claude-provider.d.ts +2 -1
- package/dist/services/llm/openai-provider.d.ts +2 -1
- package/dist/services/parser/workflow-parser.d.ts +0 -7
- package/dist/types/action.types.d.ts +8 -3
- package/dist/types/tools.types.d.ts +44 -1
- package/dist/types/workflow.types.d.ts +22 -9
- package/dist/universal_tools/cancel_workflow.d.ts +9 -0
- package/dist/universal_tools/human.d.ts +30 -0
- package/dist/universal_tools/index.d.ts +4 -0
- package/dist/universal_tools/summary_workflow.d.ts +9 -0
- package/dist/utils/execution-logger.d.ts +69 -0
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -23,9 +23,9 @@ Eko (pronounced like ‘echo’) is a production-ready JavaScript framework that
|
|
|
23
23
|
| **One sentence to multi-step workflow** | ✅ | ❌ | ✅ | ❌ | ❌ |
|
|
24
24
|
| **Intervenability** | ✅ | ✅ | ❌ | ❌ | ❌ |
|
|
25
25
|
| **Development Efficiency** | **High** | Low | Middle | Middle | Low |
|
|
26
|
-
| **Task Complexity** | High | High | Low | Middle | Middle | Middle |
|
|
26
|
+
| **Task Complexity** | **High** | High | Low | Middle | Middle | Middle |
|
|
27
27
|
| **Open-source** | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
28
|
-
| **Access to private web resources** | ✅
|
|
28
|
+
| **Access to private web resources** | ✅ | ❌ | ❌ | ❌ | ❌ |
|
|
29
29
|
|
|
30
30
|
## Quickstart
|
|
31
31
|
|
|
@@ -54,7 +54,7 @@ await eko.execute(sysWorkflow);
|
|
|
54
54
|
|
|
55
55
|
## Demos
|
|
56
56
|
|
|
57
|
-
**
|
|
57
|
+
**Prompt:** `Collect the latest NASDAQ data on Yahoo Finance, including price changes, market capitalization, trading volume of major stocks, analyze the data and generate visualization reports`.
|
|
58
58
|
|
|
59
59
|
https://github.com/user-attachments/assets/4087b370-8eb8-4346-a549-c4ce4d1efec3
|
|
60
60
|
|
|
@@ -62,7 +62,7 @@ Click [here](https://github.com/FellouAI/eko-demos/tree/main/browser-extension-s
|
|
|
62
62
|
|
|
63
63
|
---
|
|
64
64
|
|
|
65
|
-
**
|
|
65
|
+
**Prompt:** `Based on the README of FellouAI/eko on github, search for competitors, highlight the key contributions of Eko, write a blog post advertising Eko, and post it on Write.as.`
|
|
66
66
|
|
|
67
67
|
https://github.com/user-attachments/assets/6feaea86-2fb9-4e5c-b510-479c2473d810
|
|
68
68
|
|
|
@@ -70,7 +70,7 @@ Click [here](https://github.com/FellouAI/eko-demos/tree/main/browser-extension-b
|
|
|
70
70
|
|
|
71
71
|
---
|
|
72
72
|
|
|
73
|
-
**
|
|
73
|
+
**Prompt:** `Clean up all files in the current directory larger than 1MB`
|
|
74
74
|
|
|
75
75
|
https://github.com/user-attachments/assets/ef7feb58-3ddd-4296-a1de-bb8b6c66e48b
|
|
76
76
|
|
|
@@ -78,7 +78,7 @@ Click [here](https://eko.fellou.ai/docs/computeruse/computer-node/#example-file-
|
|
|
78
78
|
|
|
79
79
|
---
|
|
80
80
|
|
|
81
|
-
**
|
|
81
|
+
**Prompt:** Automatic software testing
|
|
82
82
|
```
|
|
83
83
|
Current login page automation test:
|
|
84
84
|
1. Correct account and password are: admin / 666666
|
|
@@ -126,6 +126,14 @@ Eko can be used in multiple environments:
|
|
|
126
126
|
- Contribute tools and improvements
|
|
127
127
|
- Share your use cases and feedback
|
|
128
128
|
|
|
129
|
+
<h1 align="center">
|
|
130
|
+
<a href="https://github.com/FellouAI/eko" target="_blank">
|
|
131
|
+
<img width="699" alt="Screenshot 2025-01-22 at 6 41 57 PM" src="https://github.com/user-attachments/assets/88320cc9-1755-4f21-913b-2bfc909e781d" />
|
|
132
|
+
</a>
|
|
133
|
+
</h1>
|
|
134
|
+
|
|
135
|
+
[](https://star-history.com/#FellouAI/eko&Date)
|
|
136
|
+
|
|
129
137
|
## License
|
|
130
138
|
|
|
131
139
|
Eko is released under the MIT License. See the [LICENSE](LICENSE) file for details.
|
package/dist/core/eko.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EkoConfig, EkoInvokeParam, Tool, Workflow, WorkflowCallback } from '../types';
|
|
1
|
+
import { EkoConfig, EkoInvokeParam, Tool, Workflow, WorkflowCallback, NodeOutput } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Eko core
|
|
4
4
|
*/
|
|
@@ -9,7 +9,8 @@ export declare class Eko {
|
|
|
9
9
|
private workflowGeneratorMap;
|
|
10
10
|
constructor(config: EkoConfig);
|
|
11
11
|
generate(prompt: string, param?: EkoInvokeParam): Promise<Workflow>;
|
|
12
|
-
execute(workflow: Workflow, callback?: WorkflowCallback): Promise<
|
|
12
|
+
execute(workflow: Workflow, callback?: WorkflowCallback): Promise<NodeOutput[]>;
|
|
13
|
+
cancel(workflow: Workflow): Promise<void>;
|
|
13
14
|
modify(workflow: Workflow, prompt: string): Promise<Workflow>;
|
|
14
15
|
private getTool;
|
|
15
16
|
callTool(toolName: string, input: object, callback?: WorkflowCallback): Promise<any>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BrowserTab } from '../../types/tools.types';
|
|
2
|
+
import { Tool, InputSchema, ExecutionContext } from '../../types/action.types';
|
|
3
|
+
export declare class GetAllTabs implements Tool<any, BrowserTab[]> {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
input_schema: InputSchema;
|
|
7
|
+
constructor();
|
|
8
|
+
execute(context: ExecutionContext, params: any): Promise<BrowserTab[]>;
|
|
9
|
+
}
|
|
@@ -3,9 +3,11 @@ import { ElementClick } from './element_click';
|
|
|
3
3
|
import { ExportFile } from './export_file';
|
|
4
4
|
import { ExtractContent } from './extract_content';
|
|
5
5
|
import { FindElementPosition } from './find_element_position';
|
|
6
|
+
import { GetAllTabs } from './get_all_tabs';
|
|
6
7
|
import { OpenUrl } from './open_url';
|
|
7
8
|
import { Screenshot } from './screenshot';
|
|
8
9
|
import { TabManagement } from './tab_management';
|
|
9
10
|
import { WebSearch } from './web_search';
|
|
10
11
|
import { RequestLogin } from './request_login';
|
|
11
|
-
export
|
|
12
|
+
export * from '../../universal_tools';
|
|
13
|
+
export { BrowserUse, ElementClick, ExportFile, ExtractContent, FindElementPosition, OpenUrl, GetAllTabs, Screenshot, TabManagement, WebSearch, RequestLogin, };
|
|
@@ -11,7 +11,7 @@ export declare class TabManagement implements Tool<TabManagementParam, TabManage
|
|
|
11
11
|
/**
|
|
12
12
|
* Tab management
|
|
13
13
|
*
|
|
14
|
-
* @param {*} params {
|
|
14
|
+
* @param {*} params { command: `new_tab [url]` | 'tab_all' | 'current_tab' | 'go_back' | 'close_tab' | 'switch_tab [tabId]' | `change_url [url]` }
|
|
15
15
|
* @returns > { result, success: true }
|
|
16
16
|
*/
|
|
17
17
|
execute(context: ExecutionContext, params: TabManagementParam): Promise<TabManagementResult>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ExecutionContext } from '../types/action.types';
|
|
2
2
|
export declare function getWindowId(context: ExecutionContext): Promise<number>;
|
|
3
3
|
export declare function getTabId(context: ExecutionContext): Promise<number>;
|
|
4
|
-
export declare function getCurrentTabId(windowId?: number
|
|
4
|
+
export declare function getCurrentTabId(windowId?: number): Promise<number>;
|
|
5
5
|
export declare function open_new_tab(url: string, newWindow: boolean, windowId?: number): Promise<chrome.tabs.Tab>;
|
|
6
6
|
export declare function executeScript(tabId: number, func: any, args: any[]): Promise<any>;
|
|
7
7
|
export declare function waitForTabComplete(tabId: number, timeout?: number): Promise<chrome.tabs.Tab>;
|