@eko-ai/eko 4.0.2 → 4.0.3

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 CHANGED
@@ -147,7 +147,7 @@ Configure your API key in the extension options before running the automation ta
147
147
  ```bash
148
148
  cd example/nodejs
149
149
  pnpm install
150
- pnpm run playwright # first time only, installs browsers
150
+ pnpm playwright install # first time only, installs browsers
151
151
  pnpm run build
152
152
  OPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run start
153
153
  ```
@@ -1,7 +1,7 @@
1
- import { AgentContext } from "../agent-context";
2
- import { BaseBrowserAgent } from "./browser-base";
3
1
  import { LanguageModelV2Prompt, LanguageModelV2ToolCallPart } from "@ai-sdk/provider";
2
+ import { AgentContext } from "../agent-context";
4
3
  import { Tool, IMcpClient } from "../../types";
4
+ import { BaseBrowserAgent } from "./browser-base";
5
5
  export default abstract class BaseBrowserLabelsAgent extends BaseBrowserAgent {
6
6
  constructor(llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient);
7
7
  protected input_text(agentContext: AgentContext, index: number, text: string, enter: boolean): Promise<any>;
@@ -1 +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,kBAAkB,CAAC;AAEhD,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;AAI3D,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,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;SACvC,CAAC;QACF,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;cA+Dc,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;KACvC,CAAC;IAmBF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C,oBAAoB,CACzB,SAAS,CAAC,EAAE,2BAA2B,EAAE,GACxC,OAAO;IAiBV,OAAO,CAAC,cAAc;cA6UN,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;IAmDhB,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,oBAAoB;CA0B7B;AA4SD,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"browser-labels.d.ts","sourceRoot":"","sources":["../../../src/agent/browser/browser-labels.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EAErB,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAc,MAAM,gBAAgB,CAAC;AAE9D,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,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE;YACnB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;SACvC,CAAC;QACF,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD,CAAC;cA+Dc,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC9C,OAAO,CAAC;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,YAAY,GAAG,WAAW,CAAC;KACvC,CAAC;IAmBF,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C,oBAAoB,CACzB,SAAS,CAAC,EAAE,2BAA2B,EAAE,GACxC,OAAO;IAiBV,OAAO,CAAC,cAAc;cA6UN,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;IA0DhB,OAAO,CAAC,oBAAoB;IAkC5B,OAAO,CAAC,oBAAoB;CA0B7B;AA4SD,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -34927,47 +34927,55 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
34927
34927
  return config$1.mode == "expert";
34928
34928
  }
34929
34929
  async handleMessages(agentContext, messages, tools) {
34930
- const pseudoHtmlDescription = "This is the environmental information after the operation, including the latest browser screenshot and page elements. Please perform the next operation based on the environmental information. Do not output the following elements and index information in your response.\n\nIndex and elements:\n";
34931
- let lastTool = this.lastToolResult(messages);
34932
- if (lastTool &&
34933
- lastTool.toolName !== "extract_page_content" &&
34934
- lastTool.toolName !== "get_all_tabs" &&
34935
- lastTool.toolName !== "variable_storage") {
34936
- await sleep(300);
34937
- const image_contents = [];
34938
- const result = await this.screenshot_and_html(agentContext);
34939
- if (await this.double_screenshots(agentContext, messages, tools)) {
34940
- const imageResult = result.double_screenshots
34941
- ? result.double_screenshots
34942
- : await this.screenshot_and_compress(agentContext, result.client_rect);
34943
- const image = toImage(imageResult.imageBase64);
34944
- image_contents.push({
34945
- type: "file",
34946
- data: image,
34947
- mediaType: imageResult.imageType,
34948
- });
34949
- }
34950
- if (result.imageBase64) {
34951
- const image = toImage(result.imageBase64);
34952
- image_contents.push({
34953
- type: "file",
34954
- data: image,
34955
- mediaType: result.imageType || "image/png",
34930
+ try {
34931
+ const pseudoHtmlDescription = "This is the environmental information after the operation, including the latest browser screenshot and page elements. Please perform the next operation based on the environmental information. Do not output the following elements and index information in your response.\n\nIndex and elements:\n";
34932
+ let lastTool = this.lastToolResult(messages);
34933
+ if (lastTool &&
34934
+ lastTool.toolName !== "extract_page_content" &&
34935
+ lastTool.toolName !== "get_all_tabs" &&
34936
+ lastTool.toolName !== "variable_storage") {
34937
+ await sleep(300);
34938
+ const image_contents = [];
34939
+ const result = await this.screenshot_and_html(agentContext);
34940
+ if (await this.double_screenshots(agentContext, messages, tools)) {
34941
+ const imageResult = result.double_screenshots
34942
+ ? result.double_screenshots
34943
+ : await this.screenshot_and_compress(agentContext, result.client_rect);
34944
+ const image = toImage(imageResult.imageBase64);
34945
+ image_contents.push({
34946
+ type: "file",
34947
+ data: image,
34948
+ mediaType: imageResult.imageType,
34949
+ });
34950
+ }
34951
+ if (result.imageBase64) {
34952
+ const image = toImage(result.imageBase64);
34953
+ image_contents.push({
34954
+ type: "file",
34955
+ data: image,
34956
+ mediaType: result.imageType || "image/png",
34957
+ });
34958
+ }
34959
+ messages.push({
34960
+ role: "user",
34961
+ content: [
34962
+ ...image_contents,
34963
+ {
34964
+ type: "text",
34965
+ text: pseudoHtmlDescription +
34966
+ "```html\n" +
34967
+ result.pseudoHtml +
34968
+ "\n```",
34969
+ },
34970
+ ],
34956
34971
  });
34957
34972
  }
34958
- messages.push({
34959
- role: "user",
34960
- content: [
34961
- ...image_contents,
34962
- {
34963
- type: "text",
34964
- text: pseudoHtmlDescription + "```html\n" + result.pseudoHtml + "\n```",
34965
- },
34966
- ],
34967
- });
34973
+ super.handleMessages(agentContext, messages, tools);
34974
+ this.handlePseudoHtmlText(messages, pseudoHtmlDescription);
34975
+ }
34976
+ catch (error) {
34977
+ Log.error("browser handleMessages error: ", error);
34968
34978
  }
34969
- super.handleMessages(agentContext, messages, tools);
34970
- this.handlePseudoHtmlText(messages, pseudoHtmlDescription);
34971
34979
  }
34972
34980
  handlePseudoHtmlText(messages, pseudoHtmlDescription) {
34973
34981
  for (let i = 0; i < messages.length; i++) {