@eko-ai/eko 2.0.3-alpha.5 → 2.0.3-alpha.6

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.
@@ -23,9 +23,9 @@ export declare class Agent {
23
23
  runWithContext(agentContext: AgentContext, mcpClient?: IMcpClient, maxReactNum?: number): Promise<string>;
24
24
  protected handleCallResult(agentContext: AgentContext, messages: LanguageModelV1Prompt, agentTools: Tool[], results: Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>): Promise<string | null>;
25
25
  protected system_auto_tools(agentNode: WorkflowAgent): Tool[];
26
- protected buildSystemPrompt(agentContext: AgentContext, tools?: Tool[]): Promise<string>;
27
- protected buildUserPrompt(agentContext: AgentContext, tools?: Tool[]): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ImagePart | LanguageModelV1FilePart>>;
28
- protected extSysPrompt(agentContext: AgentContext): Promise<string>;
26
+ protected buildSystemPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
27
+ protected buildUserPrompt(agentContext: AgentContext, tools: Tool[]): Promise<Array<LanguageModelV1TextPart | LanguageModelV1ImagePart | LanguageModelV1FilePart>>;
28
+ protected extSysPrompt(agentContext: AgentContext, tools: Tool[]): Promise<string>;
29
29
  private listTools;
30
30
  protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV1Prompt, loopNum: number): Promise<{
31
31
  mcpTools: boolean;
@@ -35,7 +35,7 @@ export declare class Agent {
35
35
  private convertTools;
36
36
  private getTool;
37
37
  protected convertToolResult(toolUse: LanguageModelV1ToolCallPart, toolResult: ToolResult, user_messages: LanguageModelV1Prompt): LanguageModelV1ToolResultPart;
38
- protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt): Promise<void>;
38
+ protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
39
39
  protected callInnerTool(fun: () => Promise<any>): Promise<ToolResult>;
40
40
  get Name(): string;
41
41
  get Description(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agent/base.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,6 @@ export default abstract class BaseBrowserLabelsAgent extends BaseBrowserAgent {
18
18
  }>;
19
19
  protected get_element_script(index: number): string;
20
20
  private buildInitTools;
21
- protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt): Promise<void>;
21
+ protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
22
22
  }
23
23
  //# sourceMappingURL=browser_labels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser_labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_labels.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,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,GACb,OAAO,CAAC,IAAI,CAAC;cAgBA,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;IAuCF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInD,OAAO,CAAC,cAAc;cAkVN,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;CA8BjB"}
1
+ {"version":3,"file":"browser_labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_labels.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,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,GACb,OAAO,CAAC,IAAI,CAAC;cAgBA,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;IAuCF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInD,OAAO,CAAC,cAAc;cAkVN,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC;CA8BjB"}
@@ -11,6 +11,6 @@ export default abstract class BaseBrowserScreenAgent extends BaseBrowserAgent {
11
11
  protected abstract press(agentContext: AgentContext, key: "enter" | "tab" | "space" | "backspace" | "delete"): Promise<void>;
12
12
  protected abstract drag_and_drop(agentContext: AgentContext, x1: number, y1: number, x2: number, y2: number): Promise<void>;
13
13
  private buildInitTools;
14
- protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt): Promise<void>;
14
+ protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
15
15
  }
16
16
  //# sourceMappingURL=browser_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser_screen.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_screen.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,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;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,GAC9B,OAAO,CAAC,IAAI,CAAC;CA4BjB"}
1
+ {"version":3,"file":"browser_screen.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser_screen.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,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;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"}
@@ -17,7 +17,7 @@ export default abstract class BaseComputerAgent extends Agent {
17
17
  protected abstract hotkey(agentContext: AgentContext, keys: string): Promise<void>;
18
18
  protected abstract drag_and_drop(agentContext: AgentContext, x1: number, y1: number, x2: number, y2: number): Promise<void>;
19
19
  private buildInitTools;
20
- protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt): Promise<void>;
20
+ protected handleMessages(agentContext: AgentContext, messages: LanguageModelV1Prompt, tools: Tool[]): Promise<void>;
21
21
  }
22
22
  export { BaseComputerAgent };
23
23
  //# sourceMappingURL=computer.d.ts.map
@@ -1 +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,GAC9B,OAAO,CAAC,IAAI,CAAC;CAuCjB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
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"}
package/dist/index.cjs.js CHANGED
@@ -18256,10 +18256,10 @@ const FOR_EACH_NODE = `
18256
18256
  <!-- duplicate task node, items support list and variable -->
18257
18257
  <forEach items="list or variable name">
18258
18258
  <node>forEach item step node</node>
18259
- </forEach>
18260
- `;
18259
+ </forEach>`;
18261
18260
  const FOR_EACH_PROMPT = `
18262
- \`forEach\`: repetitive tasks, when executing to the forEach node, require the use of the \`${TOOL_NAME$4}\` tool.
18261
+ * forEach node
18262
+ repetitive tasks, when executing to the forEach node, require the use of the \`${TOOL_NAME$4}\` tool.
18263
18263
  `;
18264
18264
  const WATCH_NODE = `
18265
18265
  <!-- monitor task node, the loop attribute specifies whether to listen in a loop or listen once -->
@@ -18269,38 +18269,41 @@ const WATCH_NODE = `
18269
18269
  <node>Trigger step node</node>
18270
18270
  <node>...</node>
18271
18271
  </trigger>
18272
- </watch>
18273
- `;
18272
+ </watch>`;
18274
18273
  const WATCH_PROMPT = `
18275
- \`watch\`: monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
18274
+ * watch node
18275
+ monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
18276
18276
  `;
18277
18277
  function getAgentSystemPrompt(agent, agentNode, context, tools, extSysPrompt) {
18278
18278
  let prompt = "";
18279
18279
  let nodePrompt = "";
18280
+ tools = tools || agent.Tools;
18280
18281
  let agentNodeXml = agentNode.xml;
18281
- let hasWatch = agentNodeXml.indexOf("</watch>") > -1;
18282
- let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
18283
- let hasHumanTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$3)
18284
- .length > 0;
18282
+ let hasWatchNode = agentNodeXml.indexOf("</watch>") > -1;
18283
+ let hasForEachNode = agentNodeXml.indexOf("</forEach>") > -1;
18284
+ let hasHumanTool = tools.filter((tool) => tool.name == TOOL_NAME$3).length > 0;
18285
18285
  let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
18286
18286
  agentNodeXml.indexOf("output=") > -1 ||
18287
- (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$1)
18288
- .length > 0;
18287
+ tools.filter((tool) => tool.name == TOOL_NAME$1).length > 0;
18289
18288
  if (hasHumanTool) {
18290
18289
  prompt += HUMAN_PROMPT;
18291
18290
  }
18292
18291
  if (hasVariable) {
18293
18292
  prompt += VARIABLE_PROMPT;
18294
18293
  }
18295
- if (hasForEach) {
18296
- prompt += FOR_EACH_PROMPT;
18294
+ if (hasForEachNode) {
18295
+ if (tools.filter((tool) => tool.name == TOOL_NAME$4).length > 0) {
18296
+ prompt += FOR_EACH_PROMPT;
18297
+ }
18297
18298
  nodePrompt += FOR_EACH_NODE;
18298
18299
  }
18299
- if (hasWatch) {
18300
- prompt += WATCH_PROMPT;
18300
+ if (hasWatchNode) {
18301
+ if (tools.filter((tool) => tool.name == TOOL_NAME).length > 0) {
18302
+ prompt += WATCH_PROMPT;
18303
+ }
18301
18304
  nodePrompt += WATCH_NODE;
18302
18305
  }
18303
- if (extSysPrompt) {
18306
+ if (extSysPrompt && extSysPrompt.trim()) {
18304
18307
  prompt += "\n" + extSysPrompt.trim() + "\n";
18305
18308
  }
18306
18309
  if (context.chain.agents.length > 1) {
@@ -18313,6 +18316,9 @@ function getAgentSystemPrompt(agent, agentNode, context, tools, extSysPrompt) {
18313
18316
  }
18314
18317
  }
18315
18318
  }
18319
+ if (prompt) {
18320
+ prompt = "\n" + prompt.trim();
18321
+ }
18316
18322
  return AGENT_SYSTEM_TEMPLATE.replace("{name}", config.name)
18317
18323
  .replace("{agent}", agent.Name)
18318
18324
  .replace("{description}", agent.Description)
@@ -18380,7 +18386,7 @@ class Agent {
18380
18386
  agentTools = mergeTools(_agentTools, mcpTools);
18381
18387
  }
18382
18388
  }
18383
- await this.handleMessages(agentContext, messages);
18389
+ await this.handleMessages(agentContext, messages, tools);
18384
18390
  let results = await callLLM(agentContext, rlm, messages, this.convertTools(agentTools));
18385
18391
  let finalResult = await this.handleCallResult(agentContext, messages, agentTools, results);
18386
18392
  if (finalResult) {
@@ -18480,7 +18486,7 @@ class Agent {
18480
18486
  return tools.filter((tool) => toolNames.indexOf(tool.name) == -1);
18481
18487
  }
18482
18488
  async buildSystemPrompt(agentContext, tools) {
18483
- return getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools, await this.extSysPrompt(agentContext));
18489
+ return getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools, await this.extSysPrompt(agentContext, tools));
18484
18490
  }
18485
18491
  async buildUserPrompt(agentContext, tools) {
18486
18492
  return [
@@ -18490,7 +18496,7 @@ class Agent {
18490
18496
  },
18491
18497
  ];
18492
18498
  }
18493
- async extSysPrompt(agentContext) {
18499
+ async extSysPrompt(agentContext, tools) {
18494
18500
  return "";
18495
18501
  }
18496
18502
  async listTools(agentNode, context, mcpClient, mcpParams) {
@@ -18602,7 +18608,7 @@ class Agent {
18602
18608
  isError: isError,
18603
18609
  };
18604
18610
  }
18605
- async handleMessages(agentContext, messages) {
18611
+ async handleMessages(agentContext, messages, tools) {
18606
18612
  // Only keep the last image / file, large tool-text-result
18607
18613
  handleLargeContextMessages(messages);
18608
18614
  }
@@ -19927,7 +19933,7 @@ This is a computer GUI interface, observe the execution through screenshots, and
19927
19933
  },
19928
19934
  ];
19929
19935
  }
19930
- async handleMessages(agentContext, messages) {
19936
+ async handleMessages(agentContext, messages, tools) {
19931
19937
  let lastMessage = messages[messages.length - 1];
19932
19938
  if (lastMessage.role == "tool" &&
19933
19939
  lastMessage.content.filter((t) => t.type == "tool-result").length > 0) {
@@ -19960,7 +19966,7 @@ This is a computer GUI interface, observe the execution through screenshots, and
19960
19966
  mimeType: result.imageType,
19961
19967
  });
19962
19968
  }
19963
- super.handleMessages(agentContext, messages);
19969
+ super.handleMessages(agentContext, messages, tools);
19964
19970
  }
19965
19971
  }
19966
19972
 
@@ -21065,7 +21071,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
21065
21071
  },
21066
21072
  ];
21067
21073
  }
21068
- async handleMessages(agentContext, messages) {
21074
+ async handleMessages(agentContext, messages, tools) {
21069
21075
  let lastTool = this.lastToolResult(messages);
21070
21076
  if (lastTool &&
21071
21077
  lastTool.toolName !== "extract_page_content" &&
@@ -21090,7 +21096,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
21090
21096
  ],
21091
21097
  });
21092
21098
  }
21093
- super.handleMessages(agentContext, messages);
21099
+ super.handleMessages(agentContext, messages, tools);
21094
21100
  }
21095
21101
  }
21096
21102
  function typing(params) {
@@ -21506,7 +21512,7 @@ class BaseBrowserScreenAgent extends BaseBrowserAgent {
21506
21512
  },
21507
21513
  ];
21508
21514
  }
21509
- async handleMessages(agentContext, messages) {
21515
+ async handleMessages(agentContext, messages, tools) {
21510
21516
  let lastTool = this.lastToolResult(messages);
21511
21517
  if (lastTool &&
21512
21518
  lastTool.toolName !== "extract_page_content" &&
@@ -21530,7 +21536,7 @@ class BaseBrowserScreenAgent extends BaseBrowserAgent {
21530
21536
  ],
21531
21537
  });
21532
21538
  }
21533
- super.handleMessages(agentContext, messages);
21539
+ super.handleMessages(agentContext, messages, tools);
21534
21540
  }
21535
21541
  }
21536
21542
 
package/dist/index.esm.js CHANGED
@@ -18221,10 +18221,10 @@ const FOR_EACH_NODE = `
18221
18221
  <!-- duplicate task node, items support list and variable -->
18222
18222
  <forEach items="list or variable name">
18223
18223
  <node>forEach item step node</node>
18224
- </forEach>
18225
- `;
18224
+ </forEach>`;
18226
18225
  const FOR_EACH_PROMPT = `
18227
- \`forEach\`: repetitive tasks, when executing to the forEach node, require the use of the \`${TOOL_NAME$4}\` tool.
18226
+ * forEach node
18227
+ repetitive tasks, when executing to the forEach node, require the use of the \`${TOOL_NAME$4}\` tool.
18228
18228
  `;
18229
18229
  const WATCH_NODE = `
18230
18230
  <!-- monitor task node, the loop attribute specifies whether to listen in a loop or listen once -->
@@ -18234,38 +18234,41 @@ const WATCH_NODE = `
18234
18234
  <node>Trigger step node</node>
18235
18235
  <node>...</node>
18236
18236
  </trigger>
18237
- </watch>
18238
- `;
18237
+ </watch>`;
18239
18238
  const WATCH_PROMPT = `
18240
- \`watch\`: monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
18239
+ * watch node
18240
+ monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
18241
18241
  `;
18242
18242
  function getAgentSystemPrompt(agent, agentNode, context, tools, extSysPrompt) {
18243
18243
  let prompt = "";
18244
18244
  let nodePrompt = "";
18245
+ tools = tools || agent.Tools;
18245
18246
  let agentNodeXml = agentNode.xml;
18246
- let hasWatch = agentNodeXml.indexOf("</watch>") > -1;
18247
- let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
18248
- let hasHumanTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$3)
18249
- .length > 0;
18247
+ let hasWatchNode = agentNodeXml.indexOf("</watch>") > -1;
18248
+ let hasForEachNode = agentNodeXml.indexOf("</forEach>") > -1;
18249
+ let hasHumanTool = tools.filter((tool) => tool.name == TOOL_NAME$3).length > 0;
18250
18250
  let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
18251
18251
  agentNodeXml.indexOf("output=") > -1 ||
18252
- (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$1)
18253
- .length > 0;
18252
+ tools.filter((tool) => tool.name == TOOL_NAME$1).length > 0;
18254
18253
  if (hasHumanTool) {
18255
18254
  prompt += HUMAN_PROMPT;
18256
18255
  }
18257
18256
  if (hasVariable) {
18258
18257
  prompt += VARIABLE_PROMPT;
18259
18258
  }
18260
- if (hasForEach) {
18261
- prompt += FOR_EACH_PROMPT;
18259
+ if (hasForEachNode) {
18260
+ if (tools.filter((tool) => tool.name == TOOL_NAME$4).length > 0) {
18261
+ prompt += FOR_EACH_PROMPT;
18262
+ }
18262
18263
  nodePrompt += FOR_EACH_NODE;
18263
18264
  }
18264
- if (hasWatch) {
18265
- prompt += WATCH_PROMPT;
18265
+ if (hasWatchNode) {
18266
+ if (tools.filter((tool) => tool.name == TOOL_NAME).length > 0) {
18267
+ prompt += WATCH_PROMPT;
18268
+ }
18266
18269
  nodePrompt += WATCH_NODE;
18267
18270
  }
18268
- if (extSysPrompt) {
18271
+ if (extSysPrompt && extSysPrompt.trim()) {
18269
18272
  prompt += "\n" + extSysPrompt.trim() + "\n";
18270
18273
  }
18271
18274
  if (context.chain.agents.length > 1) {
@@ -18278,6 +18281,9 @@ function getAgentSystemPrompt(agent, agentNode, context, tools, extSysPrompt) {
18278
18281
  }
18279
18282
  }
18280
18283
  }
18284
+ if (prompt) {
18285
+ prompt = "\n" + prompt.trim();
18286
+ }
18281
18287
  return AGENT_SYSTEM_TEMPLATE.replace("{name}", config.name)
18282
18288
  .replace("{agent}", agent.Name)
18283
18289
  .replace("{description}", agent.Description)
@@ -18345,7 +18351,7 @@ class Agent {
18345
18351
  agentTools = mergeTools(_agentTools, mcpTools);
18346
18352
  }
18347
18353
  }
18348
- await this.handleMessages(agentContext, messages);
18354
+ await this.handleMessages(agentContext, messages, tools);
18349
18355
  let results = await callLLM(agentContext, rlm, messages, this.convertTools(agentTools));
18350
18356
  let finalResult = await this.handleCallResult(agentContext, messages, agentTools, results);
18351
18357
  if (finalResult) {
@@ -18445,7 +18451,7 @@ class Agent {
18445
18451
  return tools.filter((tool) => toolNames.indexOf(tool.name) == -1);
18446
18452
  }
18447
18453
  async buildSystemPrompt(agentContext, tools) {
18448
- return getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools, await this.extSysPrompt(agentContext));
18454
+ return getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools, await this.extSysPrompt(agentContext, tools));
18449
18455
  }
18450
18456
  async buildUserPrompt(agentContext, tools) {
18451
18457
  return [
@@ -18455,7 +18461,7 @@ class Agent {
18455
18461
  },
18456
18462
  ];
18457
18463
  }
18458
- async extSysPrompt(agentContext) {
18464
+ async extSysPrompt(agentContext, tools) {
18459
18465
  return "";
18460
18466
  }
18461
18467
  async listTools(agentNode, context, mcpClient, mcpParams) {
@@ -18567,7 +18573,7 @@ class Agent {
18567
18573
  isError: isError,
18568
18574
  };
18569
18575
  }
18570
- async handleMessages(agentContext, messages) {
18576
+ async handleMessages(agentContext, messages, tools) {
18571
18577
  // Only keep the last image / file, large tool-text-result
18572
18578
  handleLargeContextMessages(messages);
18573
18579
  }
@@ -19892,7 +19898,7 @@ This is a computer GUI interface, observe the execution through screenshots, and
19892
19898
  },
19893
19899
  ];
19894
19900
  }
19895
- async handleMessages(agentContext, messages) {
19901
+ async handleMessages(agentContext, messages, tools) {
19896
19902
  let lastMessage = messages[messages.length - 1];
19897
19903
  if (lastMessage.role == "tool" &&
19898
19904
  lastMessage.content.filter((t) => t.type == "tool-result").length > 0) {
@@ -19925,7 +19931,7 @@ This is a computer GUI interface, observe the execution through screenshots, and
19925
19931
  mimeType: result.imageType,
19926
19932
  });
19927
19933
  }
19928
- super.handleMessages(agentContext, messages);
19934
+ super.handleMessages(agentContext, messages, tools);
19929
19935
  }
19930
19936
  }
19931
19937
 
@@ -21030,7 +21036,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
21030
21036
  },
21031
21037
  ];
21032
21038
  }
21033
- async handleMessages(agentContext, messages) {
21039
+ async handleMessages(agentContext, messages, tools) {
21034
21040
  let lastTool = this.lastToolResult(messages);
21035
21041
  if (lastTool &&
21036
21042
  lastTool.toolName !== "extract_page_content" &&
@@ -21055,7 +21061,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
21055
21061
  ],
21056
21062
  });
21057
21063
  }
21058
- super.handleMessages(agentContext, messages);
21064
+ super.handleMessages(agentContext, messages, tools);
21059
21065
  }
21060
21066
  }
21061
21067
  function typing(params) {
@@ -21471,7 +21477,7 @@ class BaseBrowserScreenAgent extends BaseBrowserAgent {
21471
21477
  },
21472
21478
  ];
21473
21479
  }
21474
- async handleMessages(agentContext, messages) {
21480
+ async handleMessages(agentContext, messages, tools) {
21475
21481
  let lastTool = this.lastToolResult(messages);
21476
21482
  if (lastTool &&
21477
21483
  lastTool.toolName !== "extract_page_content" &&
@@ -21495,7 +21501,7 @@ class BaseBrowserScreenAgent extends BaseBrowserAgent {
21495
21501
  ],
21496
21502
  });
21497
21503
  }
21498
- super.handleMessages(agentContext, messages);
21504
+ super.handleMessages(agentContext, messages, tools);
21499
21505
  }
21500
21506
  }
21501
21507
 
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/prompt/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAsE/C,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,IAAI,EAAE,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAkDR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,MAAM,CAaR"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/prompt/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,OAAO,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAsE/C,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,IAAI,EAAE,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAuDR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,MAAM,CAaR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eko-ai/eko",
3
- "version": "2.0.3-alpha.5",
3
+ "version": "2.0.3-alpha.6",
4
4
  "description": "Empowering language to transform human words into action.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",