@eko-ai/eko 2.0.8 → 2.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/dist/agent/base.d.ts +2 -1
- package/dist/agent/base.d.ts.map +1 -1
- package/dist/agent/browser/browser_base.d.ts +1 -0
- package/dist/agent/browser/browser_base.d.ts.map +1 -1
- package/dist/agent/browser/browser_labels.d.ts +1 -1
- package/dist/agent/browser/browser_labels.d.ts.map +1 -1
- package/dist/agent/file.d.ts +16 -4
- package/dist/agent/file.d.ts.map +1 -1
- package/dist/agent/shell.d.ts.map +1 -1
- package/dist/core/plan.d.ts.map +1 -1
- package/dist/index.cjs.js +152 -56
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +151 -57
- package/dist/index.esm.js.map +1 -1
- package/dist/prompt/agent.d.ts.map +1 -1
- package/dist/prompt/plan.d.ts +2 -2
- package/dist/prompt/plan.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mcp.types.d.ts +2 -2
- package/dist/types/mcp.types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/agent/base.d.ts
CHANGED
|
@@ -37,11 +37,12 @@ export declare class Agent {
|
|
|
37
37
|
protected convertToolResult(toolUse: LanguageModelV1ToolCallPart, toolResult: ToolResult, user_messages: LanguageModelV1Prompt): LanguageModelV1ToolResultPart;
|
|
38
38
|
protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
|
|
39
39
|
protected callInnerTool(fun: () => Promise<any>): Promise<ToolResult>;
|
|
40
|
+
loadTools(context: Context): Promise<Tool[]>;
|
|
40
41
|
get Name(): string;
|
|
41
42
|
get Description(): string;
|
|
42
43
|
get Tools(): Tool[];
|
|
43
44
|
get PlanDescription(): string | undefined;
|
|
44
45
|
get McpClient(): IMcpClient | undefined;
|
|
45
46
|
}
|
|
46
|
-
export declare function callLLM(agentContext: AgentContext, rlm: RetryLanguageModel, messages: LanguageModelV1Prompt, tools: LanguageModelV1FunctionTool[], noCompress?: boolean, toolChoice?: LanguageModelV1ToolChoice): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>>;
|
|
47
|
+
export declare function callLLM(agentContext: AgentContext, rlm: RetryLanguageModel, messages: LanguageModelV1Prompt, tools: LanguageModelV1FunctionTool[], noCompress?: boolean, toolChoice?: LanguageModelV1ToolChoice, retry?: boolean): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>>;
|
|
47
48
|
//# sourceMappingURL=base.d.ts.map
|
package/dist/agent/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACtD,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIxD,OAAO,EACL,aAAa,EACb,UAAU,EAEV,IAAI,EACJ,YAAY,EACZ,UAAU,EAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EAErB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,qBAAa,KAAK;IAChB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAM;IAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEvB,MAAM,EAAE,WAAW;IASlB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAW9D,cAAc,CACzB,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,UAAU,EACtB,WAAW,GAAE,MAAY,GACxB,OAAO,CAAC,MAAM,CAAC;cA0DF,gBAAgB,CAC9B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,IAAI,EAAE,EAClB,OAAO,EAAE,KAAK,CAAC,uBAAuB,GAAG,2BAA2B,CAAC,GACpE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqFzB,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,EAAE;cAa7C,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,MAAM,CAAC;cAUF,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CACR,KAAK,CACD,uBAAuB,GACvB,wBAAwB,GACxB,uBAAuB,CAC1B,CACF;cAce,YAAY,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,7 @@ export default abstract class BaseBrowserAgent extends Agent {
|
|
|
41
41
|
result: unknown;
|
|
42
42
|
isError?: boolean;
|
|
43
43
|
} | null;
|
|
44
|
+
protected toolUseNames(messages: LanguageModelV1Prompt): string[];
|
|
44
45
|
protected abstract execute_script(agentContext: AgentContext, func: (...args: any[]) => void, args: any[]): Promise<any>;
|
|
45
46
|
protected execute_mcp_script(agentContext: AgentContext, script: string): Promise<string | number | Record<string, any> | undefined>;
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser_base.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAEnE,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAiB,SAAQ,KAAK;IAC1D,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,WAAW,CAC5B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAClE,KAAK,CAAC;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CACH;IAED,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;cAEc,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;cAalD,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAuBzF,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAyBtE,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY;cAmDzD,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC;QACpE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAaF,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG;QACzD,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI;IAyCR,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAC9B,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,GAAG,CAAC;cAEC,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAG9D;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"browser_base.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAEnE,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,gBAAiB,SAAQ,KAAK;IAC1D,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,WAAW,CAC5B,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAClE,KAAK,CAAC;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CACH;IAED,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QACT,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;cAEc,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;cAalD,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAuBzF,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAyBtE,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY;cAmDzD,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC;QACpE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAaF,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG;QACzD,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;QACd,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,IAAI;IAyCR,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAWjE,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAC9B,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,GAAG,CAAC;cAEC,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAG9D;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -7,7 +7,7 @@ export default abstract class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
7
7
|
protected input_text(agentContext: AgentContext, index: number, text: string, enter: boolean): Promise<void>;
|
|
8
8
|
protected click_element(agentContext: AgentContext, index: number, num_clicks: number, button: "left" | "right" | "middle"): Promise<void>;
|
|
9
9
|
protected scroll_to_element(agentContext: AgentContext, index: number): Promise<void>;
|
|
10
|
-
protected scroll_mouse_wheel(agentContext: AgentContext, amount: number): Promise<
|
|
10
|
+
protected scroll_mouse_wheel(agentContext: AgentContext, amount: number, extract_page_content: boolean): Promise<any>;
|
|
11
11
|
protected hover_to_element(agentContext: AgentContext, index: number): Promise<void>;
|
|
12
12
|
protected get_select_options(agentContext: AgentContext, index: number): Promise<any>;
|
|
13
13
|
protected select_option(agentContext: AgentContext, index: number, option: string): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser_labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,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;cAqCvD,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;cAOA,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAClC,OAAO,CAAC,IAAI,CAAC;cAMA,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,
|
|
1
|
+
{"version":3,"file":"browser_labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,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;cAqCvD,UAAU,CACxB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;cAOA,aAAa,CAC3B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAClC,OAAO,CAAC,IAAI,CAAC;cAMA,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;cASC,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;IAInD,OAAO,CAAC,cAAc;cA2VN,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC;CA8BjB;AAwND,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
package/dist/agent/file.d.ts
CHANGED
|
@@ -4,11 +4,23 @@ import { Tool, IMcpClient } from "../types";
|
|
|
4
4
|
export declare const AGENT_NAME = "File";
|
|
5
5
|
export default abstract class BaseFileAgent extends Agent {
|
|
6
6
|
constructor(work_path?: string, llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, planDescription?: string);
|
|
7
|
-
protected abstract file_list(agentContext: AgentContext, path: string): Promise<
|
|
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
|
+
}>>;
|
|
8
14
|
protected abstract file_read(agentContext: AgentContext, path: string): Promise<string>;
|
|
9
|
-
protected abstract file_write(agentContext: AgentContext, path: string, content: string, append: boolean): Promise<
|
|
10
|
-
protected abstract file_str_replace(agentContext: AgentContext, path: string, old_str: string, new_str: string): Promise<
|
|
11
|
-
protected abstract file_find_by_name(agentContext: AgentContext, path: string, glob: string): Promise<
|
|
15
|
+
protected abstract file_write(agentContext: AgentContext, path: string, content: string, append: boolean): Promise<any>;
|
|
16
|
+
protected abstract file_str_replace(agentContext: AgentContext, path: string, old_str: string, new_str: string): Promise<any>;
|
|
17
|
+
protected abstract file_find_by_name(agentContext: AgentContext, path: string, glob: string): Promise<Array<{
|
|
18
|
+
path: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
isDirectory?: boolean;
|
|
21
|
+
size?: string;
|
|
22
|
+
modified?: string;
|
|
23
|
+
}>>;
|
|
12
24
|
private buildInitTools;
|
|
13
25
|
}
|
|
14
26
|
export { BaseFileAgent };
|
package/dist/agent/file.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/agent/file.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,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;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/agent/file.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,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;IAElB,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;IAEf,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;CAyJvB;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +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;
|
|
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"}
|
package/dist/core/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/core/plan.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/core/plan.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAK/C,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAKtC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI3C,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;YAIrC,MAAM;CAgGrB"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var buffer = require('buffer');
|
|
6
6
|
|
|
7
7
|
const config = {
|
|
8
|
-
name: "
|
|
8
|
+
name: "Eko",
|
|
9
9
|
platform: "mac",
|
|
10
10
|
maxReactNum: 200,
|
|
11
11
|
maxTokens: 16000,
|
|
12
|
-
compressThreshold:
|
|
12
|
+
compressThreshold: 80,
|
|
13
13
|
largeTextLength: 5000,
|
|
14
14
|
shortTextLength: 800,
|
|
15
15
|
};
|
|
@@ -17876,7 +17876,7 @@ class HumanInteractTool {
|
|
|
17876
17876
|
this.name = TOOL_NAME$3;
|
|
17877
17877
|
this.noPlan = true;
|
|
17878
17878
|
this.description = `AI interacts with humans:
|
|
17879
|
-
confirm: Ask the user to confirm whether to execute an operation, especially when performing dangerous actions such as deleting system files.
|
|
17879
|
+
confirm: Ask the user to confirm whether to execute an operation, especially when performing dangerous actions such as deleting system files, users will choose Yes or No.
|
|
17880
17880
|
input: Prompt the user to enter text; for example, when a task is ambiguous, the AI can choose to ask the user for details, and the user can respond by inputting.
|
|
17881
17881
|
select: Allow the user to make a choice; in situations that require selection, the AI can ask the user to make a decision.
|
|
17882
17882
|
request_help: Request assistance from the user; for instance, when an operation is blocked, the AI can ask the user for help, such as needing to log into a website or solve a CAPTCHA.`;
|
|
@@ -18143,20 +18143,22 @@ UTC datetime: {datetime}
|
|
|
18143
18143
|
<mainTask>main task</mainTask>
|
|
18144
18144
|
<!-- The tasks that the current agent needs to complete, the current agent only needs to complete the currentTask -->
|
|
18145
18145
|
<currentTask>specific task</currentTask>
|
|
18146
|
-
<!-- Complete the corresponding step nodes of the task -->
|
|
18146
|
+
<!-- Complete the corresponding step nodes of the task, Only for reference -->
|
|
18147
18147
|
<nodes>
|
|
18148
18148
|
<!-- node supports input/output variables to pass dependencies -->
|
|
18149
18149
|
<node input="variable name" output="variable name" status="todo / done">task step node</node>{nodePrompt}
|
|
18150
18150
|
</nodes>
|
|
18151
18151
|
</root>
|
|
18152
|
+
|
|
18153
|
+
The output language should follow the language corresponding to the user's task.
|
|
18152
18154
|
`;
|
|
18153
18155
|
const HUMAN_PROMPT = `
|
|
18154
18156
|
* HUMAN INTERACT
|
|
18155
18157
|
During the task execution process, you can use the \`${TOOL_NAME$3}\` tool to interact with humans, please call it in the following situations:
|
|
18156
|
-
- When performing dangerous operations such as deleting files, confirmation from humans is required
|
|
18157
|
-
- When encountering obstacles while
|
|
18158
|
+
- When performing dangerous operations such as deleting files, confirmation from humans is required.
|
|
18159
|
+
- When encountering obstacles while visiting a website, such as requiring user login or captcha, you need to request for manual assistance.
|
|
18158
18160
|
- When requesting login, please only call the function when a login dialog box is clearly displayed.
|
|
18159
|
-
- Try
|
|
18161
|
+
- Try to minimize the use of \`${TOOL_NAME$3}\` tool.
|
|
18160
18162
|
`;
|
|
18161
18163
|
const VARIABLE_PROMPT = `
|
|
18162
18164
|
* VARIABLE STORAGE
|
|
@@ -18290,7 +18292,7 @@ class Agent {
|
|
|
18290
18292
|
if (mcpClient) {
|
|
18291
18293
|
let controlMcp = await this.controlMcpTools(agentContext, messages, loopNum);
|
|
18292
18294
|
if (controlMcp.mcpTools) {
|
|
18293
|
-
let mcpTools = await this.listTools(
|
|
18295
|
+
let mcpTools = await this.listTools(context, mcpClient, agentNode, controlMcp.mcpParams);
|
|
18294
18296
|
let usedTools = extractUsedTool(messages, agentTools);
|
|
18295
18297
|
let _agentTools = mergeTools(tools, usedTools);
|
|
18296
18298
|
agentTools = mergeTools(_agentTools, mcpTools);
|
|
@@ -18409,24 +18411,33 @@ class Agent {
|
|
|
18409
18411
|
async extSysPrompt(agentContext, tools) {
|
|
18410
18412
|
return "";
|
|
18411
18413
|
}
|
|
18412
|
-
async listTools(
|
|
18413
|
-
|
|
18414
|
-
|
|
18415
|
-
|
|
18416
|
-
|
|
18417
|
-
|
|
18418
|
-
|
|
18419
|
-
|
|
18420
|
-
|
|
18421
|
-
|
|
18422
|
-
|
|
18423
|
-
|
|
18424
|
-
|
|
18425
|
-
|
|
18426
|
-
let
|
|
18427
|
-
|
|
18414
|
+
async listTools(context, mcpClient, agentNode, mcpParams) {
|
|
18415
|
+
try {
|
|
18416
|
+
if (!mcpClient.isConnected()) {
|
|
18417
|
+
await mcpClient.connect();
|
|
18418
|
+
}
|
|
18419
|
+
let list = await mcpClient.listTools({
|
|
18420
|
+
taskId: context.taskId,
|
|
18421
|
+
nodeId: agentNode?.id,
|
|
18422
|
+
environment: config.platform,
|
|
18423
|
+
agent_name: agentNode?.name || this.name,
|
|
18424
|
+
params: {},
|
|
18425
|
+
prompt: agentNode?.task || context.chain.taskPrompt,
|
|
18426
|
+
...(mcpParams || {}),
|
|
18427
|
+
});
|
|
18428
|
+
let mcpTools = [];
|
|
18429
|
+
for (let i = 0; i < list.length; i++) {
|
|
18430
|
+
let toolSchema = list[i];
|
|
18431
|
+
let execute = this.toolExecuter(mcpClient, toolSchema.name);
|
|
18432
|
+
let toolWrapper = new ToolWrapper(toolSchema, execute);
|
|
18433
|
+
mcpTools.push(new McpTool(toolWrapper));
|
|
18434
|
+
}
|
|
18435
|
+
return mcpTools;
|
|
18436
|
+
}
|
|
18437
|
+
catch (e) {
|
|
18438
|
+
Log.error("Mcp listTools error", e);
|
|
18439
|
+
return [];
|
|
18428
18440
|
}
|
|
18429
|
-
return mcpTools;
|
|
18430
18441
|
}
|
|
18431
18442
|
async controlMcpTools(agentContext, messages, loopNum) {
|
|
18432
18443
|
return {
|
|
@@ -18537,6 +18548,15 @@ class Agent {
|
|
|
18537
18548
|
],
|
|
18538
18549
|
};
|
|
18539
18550
|
}
|
|
18551
|
+
async loadTools(context) {
|
|
18552
|
+
if (this.mcpClient) {
|
|
18553
|
+
let mcpTools = await this.listTools(context, this.mcpClient);
|
|
18554
|
+
if (mcpTools && mcpTools.length > 0) {
|
|
18555
|
+
return mergeTools(this.tools, mcpTools);
|
|
18556
|
+
}
|
|
18557
|
+
}
|
|
18558
|
+
return this.tools;
|
|
18559
|
+
}
|
|
18540
18560
|
get Name() {
|
|
18541
18561
|
return this.name;
|
|
18542
18562
|
}
|
|
@@ -18553,7 +18573,7 @@ class Agent {
|
|
|
18553
18573
|
return this.mcpClient;
|
|
18554
18574
|
}
|
|
18555
18575
|
}
|
|
18556
|
-
async function callLLM(agentContext, rlm, messages, tools, noCompress, toolChoice) {
|
|
18576
|
+
async function callLLM(agentContext, rlm, messages, tools, noCompress, toolChoice, retry) {
|
|
18557
18577
|
if (messages.length >= config.compressThreshold && !noCompress) {
|
|
18558
18578
|
await compressAgentMessages(agentContext, rlm, messages, tools);
|
|
18559
18579
|
}
|
|
@@ -18702,6 +18722,10 @@ async function callLLM(agentContext, rlm, messages, tools, noCompress, toolChoic
|
|
|
18702
18722
|
finishReason: chunk.finishReason,
|
|
18703
18723
|
usage: chunk.usage,
|
|
18704
18724
|
});
|
|
18725
|
+
if (chunk.finishReason === "length" && messages.length >= 10 && !noCompress && !retry) {
|
|
18726
|
+
await compressAgentMessages(agentContext, rlm, messages, tools);
|
|
18727
|
+
return callLLM(agentContext, rlm, messages, tools, noCompress, toolChoice, true);
|
|
18728
|
+
}
|
|
18705
18729
|
break;
|
|
18706
18730
|
}
|
|
18707
18731
|
}
|
|
@@ -18899,19 +18923,24 @@ User Platform: {platform}
|
|
|
18899
18923
|
Task Website: {task_website}
|
|
18900
18924
|
Task Description: {taskPrompt}
|
|
18901
18925
|
`;
|
|
18902
|
-
function getPlanSystemPrompt(
|
|
18903
|
-
let agents_prompt =
|
|
18904
|
-
|
|
18905
|
-
|
|
18906
|
-
|
|
18907
|
-
|
|
18908
|
-
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18926
|
+
async function getPlanSystemPrompt(context) {
|
|
18927
|
+
let agents_prompt = "";
|
|
18928
|
+
let agents = context.agents;
|
|
18929
|
+
for (let i = 0; i < agents.length; i++) {
|
|
18930
|
+
let agent = agents[i];
|
|
18931
|
+
let tools = await agent.loadTools(context);
|
|
18932
|
+
agents_prompt +=
|
|
18933
|
+
`<agent name="${agent.Name}">\n` +
|
|
18934
|
+
`Description: ${agent.PlanDescription || agent.Description}\n` +
|
|
18935
|
+
"Tools:\n" +
|
|
18936
|
+
tools
|
|
18937
|
+
.filter((tool) => !tool.noPlan)
|
|
18938
|
+
.map((tool) => ` - ${tool.name}: ${tool.planDescription || tool.description || ""}`)
|
|
18939
|
+
.join("\n") +
|
|
18940
|
+
"\n</agent>\n\n";
|
|
18941
|
+
}
|
|
18913
18942
|
let example_prompt = "";
|
|
18914
|
-
let hasChatAgent = agents.filter((a) => a.Name == AGENT_NAME$4).length > 0;
|
|
18943
|
+
let hasChatAgent = context.agents.filter((a) => a.Name == AGENT_NAME$4).length > 0;
|
|
18915
18944
|
const example_list = hasChatAgent
|
|
18916
18945
|
? [PLAN_CHAT_EXAMPLE, ...PLAN_EXAMPLE_LIST]
|
|
18917
18946
|
: [...PLAN_EXAMPLE_LIST];
|
|
@@ -18919,7 +18948,7 @@ function getPlanSystemPrompt(agents) {
|
|
|
18919
18948
|
example_prompt += `## Example ${i + 1}\n${example_list[i]}\n\n`;
|
|
18920
18949
|
}
|
|
18921
18950
|
return PLAN_SYSTEM_TEMPLATE.replace("{name}", config.name)
|
|
18922
|
-
.replace("{agents}", agents_prompt)
|
|
18951
|
+
.replace("{agents}", agents_prompt.trim())
|
|
18923
18952
|
.replace("{datetime}", new Date().toISOString())
|
|
18924
18953
|
.replace("{example_prompt}", example_prompt)
|
|
18925
18954
|
.trim();
|
|
@@ -18969,7 +18998,10 @@ class Planner {
|
|
|
18969
18998
|
}
|
|
18970
18999
|
else {
|
|
18971
19000
|
messages = [
|
|
18972
|
-
{
|
|
19001
|
+
{
|
|
19002
|
+
role: "system",
|
|
19003
|
+
content: await getPlanSystemPrompt(this.context),
|
|
19004
|
+
},
|
|
18973
19005
|
{
|
|
18974
19006
|
role: "user",
|
|
18975
19007
|
content: [
|
|
@@ -19400,7 +19432,9 @@ const AGENT_NAME$3 = "File";
|
|
|
19400
19432
|
class BaseFileAgent extends Agent {
|
|
19401
19433
|
constructor(work_path, llms, ext_tools, mcpClient, planDescription) {
|
|
19402
19434
|
const _tools_ = [];
|
|
19403
|
-
const prompt = work_path
|
|
19435
|
+
const prompt = work_path
|
|
19436
|
+
? `Your default working path is: ${work_path}`
|
|
19437
|
+
: "";
|
|
19404
19438
|
super({
|
|
19405
19439
|
name: AGENT_NAME$3,
|
|
19406
19440
|
description: `You are a file agent, handling file-related tasks such as creating, finding, reading, modifying files, etc.${prompt}`,
|
|
@@ -19534,7 +19568,10 @@ class BaseShellAgent extends Agent {
|
|
|
19534
19568
|
const _tools_ = [];
|
|
19535
19569
|
super({
|
|
19536
19570
|
name: AGENT_NAME$2,
|
|
19537
|
-
description:
|
|
19571
|
+
description: `Run commands in a bash shell,
|
|
19572
|
+
* You must first call create_session to create a new session when using it for the first time.
|
|
19573
|
+
* Please execute delete commands with caution, and never perform dangerous operations like \`rm -rf /\`.
|
|
19574
|
+
* Please avoid commands that may produce a very large amount of output.`,
|
|
19538
19575
|
tools: _tools_,
|
|
19539
19576
|
llms: llms,
|
|
19540
19577
|
mcpClient: mcpClient,
|
|
@@ -19624,7 +19661,7 @@ This is a computer GUI interface, observe the execution through screenshots, and
|
|
|
19624
19661
|
tools: _tools_,
|
|
19625
19662
|
llms: llms,
|
|
19626
19663
|
mcpClient: mcpClient,
|
|
19627
|
-
planDescription: "Computer operation agent, interact with the computer using the mouse and keyboard
|
|
19664
|
+
planDescription: "Computer operation agent, interact with the computer using the mouse and keyboard."
|
|
19628
19665
|
});
|
|
19629
19666
|
if (!keyboardKeys) {
|
|
19630
19667
|
if (config.platform == "windows") {
|
|
@@ -20027,6 +20064,16 @@ class BaseBrowserAgent extends Agent {
|
|
|
20027
20064
|
}
|
|
20028
20065
|
return null;
|
|
20029
20066
|
}
|
|
20067
|
+
toolUseNames(messages) {
|
|
20068
|
+
let toolNames = [];
|
|
20069
|
+
for (let i = 0; i < messages.length; i++) {
|
|
20070
|
+
let message = messages[i];
|
|
20071
|
+
if (message.role == "tool") {
|
|
20072
|
+
toolNames.push(message.content[0].toolName);
|
|
20073
|
+
}
|
|
20074
|
+
}
|
|
20075
|
+
return toolNames;
|
|
20076
|
+
}
|
|
20030
20077
|
async execute_mcp_script(agentContext, script) {
|
|
20031
20078
|
return;
|
|
20032
20079
|
}
|
|
@@ -20675,15 +20722,13 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20675
20722
|
}, [index]);
|
|
20676
20723
|
await sleep(200);
|
|
20677
20724
|
}
|
|
20678
|
-
async scroll_mouse_wheel(agentContext, amount) {
|
|
20679
|
-
await this.execute_script(agentContext,
|
|
20680
|
-
let viewportHeight = window.innerHeight ||
|
|
20681
|
-
document.documentElement.clientHeight ||
|
|
20682
|
-
document.body.clientHeight;
|
|
20683
|
-
let y = Math.max(20, Math.min(viewportHeight / 10, 200));
|
|
20684
|
-
window.scrollBy(0, y * amount);
|
|
20685
|
-
}, [amount]);
|
|
20725
|
+
async scroll_mouse_wheel(agentContext, amount, extract_page_content) {
|
|
20726
|
+
await this.execute_script(agentContext, scroll_by, [{ amount }]);
|
|
20686
20727
|
await sleep(200);
|
|
20728
|
+
if (extract_page_content) {
|
|
20729
|
+
let page_content = await this.extract_page_content(agentContext);
|
|
20730
|
+
return "This is the latest page content:\n" + page_content;
|
|
20731
|
+
}
|
|
20687
20732
|
}
|
|
20688
20733
|
async hover_to_element(agentContext, index) {
|
|
20689
20734
|
await this.execute_script(agentContext, hover_to, [{ index }]);
|
|
@@ -20704,6 +20749,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20704
20749
|
for (let i = 0; i < 5; i++) {
|
|
20705
20750
|
await sleep(200);
|
|
20706
20751
|
await this.execute_script(agentContext, run_build_dom_tree, []);
|
|
20752
|
+
await sleep(50);
|
|
20707
20753
|
element_result = (await this.execute_script(agentContext, () => {
|
|
20708
20754
|
return window.get_clickable_elements(true);
|
|
20709
20755
|
}, []));
|
|
@@ -20711,7 +20757,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20711
20757
|
break;
|
|
20712
20758
|
}
|
|
20713
20759
|
}
|
|
20714
|
-
await sleep(
|
|
20760
|
+
await sleep(100);
|
|
20715
20761
|
let screenshot = await this.screenshot(agentContext);
|
|
20716
20762
|
// agentContext.variables.set("selector_map", element_result.selector_map);
|
|
20717
20763
|
let pseudoHtml = element_result.element_str;
|
|
@@ -20845,7 +20891,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20845
20891
|
},
|
|
20846
20892
|
{
|
|
20847
20893
|
name: "scroll_mouse_wheel",
|
|
20848
|
-
description: "Scroll the mouse wheel at current position,
|
|
20894
|
+
description: "Scroll the mouse wheel at current position, only scroll when you need to load more content",
|
|
20849
20895
|
parameters: {
|
|
20850
20896
|
type: "object",
|
|
20851
20897
|
properties: {
|
|
@@ -20859,13 +20905,17 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20859
20905
|
type: "string",
|
|
20860
20906
|
enum: ["up", "down"],
|
|
20861
20907
|
},
|
|
20908
|
+
extract_page_content: {
|
|
20909
|
+
type: "boolean",
|
|
20910
|
+
description: "After scrolling is completed, whether to extract the current latest page content",
|
|
20911
|
+
},
|
|
20862
20912
|
},
|
|
20863
20913
|
required: ["amount", "direction"],
|
|
20864
20914
|
},
|
|
20865
20915
|
execute: async (args, agentContext) => {
|
|
20866
20916
|
return await this.callInnerTool(async () => {
|
|
20867
20917
|
let amount = args.amount;
|
|
20868
|
-
await this.scroll_mouse_wheel(agentContext, args.direction == "up" ? -amount : amount);
|
|
20918
|
+
await this.scroll_mouse_wheel(agentContext, args.direction == "up" ? -amount : amount, args.extract_page_content == true);
|
|
20869
20919
|
});
|
|
20870
20920
|
},
|
|
20871
20921
|
},
|
|
@@ -20899,7 +20949,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20899
20949
|
},
|
|
20900
20950
|
{
|
|
20901
20951
|
name: "get_select_options",
|
|
20902
|
-
description: "Get all options from a native dropdown element",
|
|
20952
|
+
description: "Get all options from a native dropdown element (<select>).",
|
|
20903
20953
|
parameters: {
|
|
20904
20954
|
type: "object",
|
|
20905
20955
|
properties: {
|
|
@@ -20916,7 +20966,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
|
|
|
20916
20966
|
},
|
|
20917
20967
|
{
|
|
20918
20968
|
name: "select_option",
|
|
20919
|
-
description: "Select the native dropdown option",
|
|
20969
|
+
description: "Select the native dropdown option, Use this after get_select_options and when you need to select an option from a dropdown.",
|
|
20920
20970
|
parameters: {
|
|
20921
20971
|
type: "object",
|
|
20922
20972
|
properties: {
|
|
@@ -21151,6 +21201,50 @@ function select_option(params) {
|
|
|
21151
21201
|
selectedText: option.text.trim(),
|
|
21152
21202
|
};
|
|
21153
21203
|
}
|
|
21204
|
+
function scroll_by(params) {
|
|
21205
|
+
const amount = params.amount;
|
|
21206
|
+
const documentElement = document.documentElement || document.body;
|
|
21207
|
+
if (documentElement.scrollHeight > window.innerHeight * 1.2) {
|
|
21208
|
+
const y = Math.max(20, Math.min((window.innerHeight || documentElement.clientHeight) / 10, 200));
|
|
21209
|
+
window.scrollBy(0, y * amount);
|
|
21210
|
+
return;
|
|
21211
|
+
}
|
|
21212
|
+
function findScrollableElements() {
|
|
21213
|
+
const allElements = Array.from(document.querySelectorAll("*"));
|
|
21214
|
+
return allElements.filter((el) => {
|
|
21215
|
+
const style = window.getComputedStyle(el);
|
|
21216
|
+
const overflowY = style.getPropertyValue("overflow-y");
|
|
21217
|
+
return ((overflowY === "auto" || overflowY === "scroll") &&
|
|
21218
|
+
el.scrollHeight > el.clientHeight);
|
|
21219
|
+
});
|
|
21220
|
+
}
|
|
21221
|
+
function getVisibleArea(element) {
|
|
21222
|
+
const rect = element.getBoundingClientRect();
|
|
21223
|
+
const viewportHeight = window.innerHeight || documentElement.clientHeight;
|
|
21224
|
+
const viewportWidth = window.innerWidth || documentElement.clientWidth;
|
|
21225
|
+
const visibleLeft = Math.max(0, Math.min(rect.left, viewportWidth));
|
|
21226
|
+
const visibleRight = Math.max(0, Math.min(rect.right, viewportWidth));
|
|
21227
|
+
const visibleTop = Math.max(0, Math.min(rect.top, viewportHeight));
|
|
21228
|
+
const visibleBottom = Math.max(0, Math.min(rect.bottom, viewportHeight));
|
|
21229
|
+
const visibleWidth = visibleRight - visibleLeft;
|
|
21230
|
+
const visibleHeight = visibleBottom - visibleTop;
|
|
21231
|
+
return visibleWidth * visibleHeight;
|
|
21232
|
+
}
|
|
21233
|
+
const scrollableElements = findScrollableElements();
|
|
21234
|
+
if (scrollableElements.length === 0) {
|
|
21235
|
+
const y = Math.max(20, Math.min((window.innerHeight || documentElement.clientHeight) / 10, 200));
|
|
21236
|
+
window.scrollBy(0, y * amount);
|
|
21237
|
+
return false;
|
|
21238
|
+
}
|
|
21239
|
+
const sortedElements = scrollableElements.sort((a, b) => {
|
|
21240
|
+
return getVisibleArea(b) - getVisibleArea(a);
|
|
21241
|
+
});
|
|
21242
|
+
const largestElement = sortedElements[0];
|
|
21243
|
+
const viewportHeight = largestElement.clientHeight;
|
|
21244
|
+
const y = Math.max(20, Math.min(viewportHeight / 10, 200));
|
|
21245
|
+
largestElement.scrollBy(0, y * amount);
|
|
21246
|
+
return true;
|
|
21247
|
+
}
|
|
21154
21248
|
|
|
21155
21249
|
class BaseBrowserScreenAgent extends BaseBrowserAgent {
|
|
21156
21250
|
constructor(llms, ext_tools, mcpClient) {
|
|
@@ -21477,9 +21571,11 @@ exports.SimpleSseMcpClient = SimpleSseMcpClient;
|
|
|
21477
21571
|
exports.TaskNodeStatusTool = TaskNodeStatusTool;
|
|
21478
21572
|
exports.VariableStorageTool = VariableStorageTool;
|
|
21479
21573
|
exports.WatchTriggerTool = WatchTriggerTool;
|
|
21574
|
+
exports.call_timeout = call_timeout;
|
|
21480
21575
|
exports.config = config;
|
|
21481
21576
|
exports.convertToolSchema = convertToolSchema;
|
|
21482
21577
|
exports.default = Eko;
|
|
21483
21578
|
exports.mergeTools = mergeTools;
|
|
21484
21579
|
exports.toImage = toImage;
|
|
21580
|
+
exports.uuidv4 = uuidv4;
|
|
21485
21581
|
//# sourceMappingURL=index.cjs.js.map
|