@eko-ai/eko 3.1.3 → 3.1.5

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/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { Eko, EkoDialogue, EkoMemory, Log, config, Context, Planner, AgentContex
12
12
  export { Agent, type AgentParams, BaseFileAgent, BaseShellAgent, BaseComputerAgent, BaseBrowserAgent, BaseBrowserLabelsAgent, BaseBrowserScreenAgent, } from "./agent";
13
13
  export { HumanInteractTool, TaskNodeStatusTool, VariableStorageTool, ForeachTaskTool, WatchTriggerTool, } from "./tools";
14
14
  export { type LLMs, type LLMRequest, type StreamCallback, type HumanCallback, type EkoConfig, type Workflow, type WorkflowAgent, type WorkflowNode, type StreamCallbackMessage, } from "./types";
15
- export { mergeTools, toImage, toFile, convertToolSchema, uuidv4, call_timeout, } from "./common/utils";
15
+ export { mergeTools, toImage, toFile, compressImageData, convertToolSchema, uuidv4, call_timeout, } from "./common/utils";
16
16
  export { parseWorkflow, resetWorkflowXml, buildSimpleAgentWorkflow, } from "./common/xml";
17
17
  export { buildAgentTree } from "./common/tree";
18
18
  export { extract_page_content } from "./agent/browser/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEhE,eAAe,GAAG,CAAC;AAEnB,OAAO,EACL,GAAG,EACH,WAAW,EACX,SAAS,EACT,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAEF,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEhE,eAAe,GAAG,CAAC;AAEnB,OAAO,EACL,GAAG,EACH,WAAW,EACX,SAAS,EACT,GAAG,EACH,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAEF,OAAO,EACL,KAAK,EACL,KAAK,WAAW,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,qBAAqB,GAC3B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.esm.js CHANGED
@@ -280,6 +280,132 @@ function getMimeType(data) {
280
280
  }
281
281
  return mediaType;
282
282
  }
283
+ async function compressImageData(imageBase64, imageType, compress, quality) {
284
+ const base64Data = imageBase64;
285
+ const binaryString = typeof atob !== "undefined"
286
+ ? atob(base64Data)
287
+ // @ts-ignore
288
+ : Buffer.from(base64Data, "base64").toString("binary");
289
+ const bytes = new Uint8Array(binaryString.length);
290
+ for (let i = 0; i < binaryString.length; i++) {
291
+ bytes[i] = binaryString.charCodeAt(i);
292
+ }
293
+ if (!quality) {
294
+ if (bytes.length >= 1024 * 1024 * 3) {
295
+ quality = 0.6;
296
+ }
297
+ else if (bytes.length >= 1024 * 1024 * 1.5) {
298
+ quality = 0.8;
299
+ }
300
+ else {
301
+ quality = 1;
302
+ }
303
+ }
304
+ const targetByScale = (bitmapWidth, bitmapHeight) => ({
305
+ width: compress.scale
306
+ ? bitmapWidth * compress.scale
307
+ : compress.resizeWidth,
308
+ height: compress.scale
309
+ ? bitmapHeight * compress.scale
310
+ : compress.resizeHeight,
311
+ });
312
+ const hasOffscreen = typeof OffscreenCanvas !== "undefined";
313
+ const hasCreateImageBitmap = typeof createImageBitmap !== "undefined";
314
+ const hasDOM = typeof document !== "undefined" && typeof Image !== "undefined";
315
+ // @ts-ignore
316
+ const isNode = typeof window === "undefined" && typeof process !== "undefined" && !!process.versions && !!process.versions.node;
317
+ const loadImageAny = async () => {
318
+ if (hasCreateImageBitmap) {
319
+ const blob = new Blob([bytes], { type: imageType });
320
+ const bitmap = await createImageBitmap(blob);
321
+ return { img: bitmap, width: bitmap.width, height: bitmap.height };
322
+ }
323
+ if (hasDOM) {
324
+ const img = await new Promise((resolve, reject) => {
325
+ const image = new Image();
326
+ image.onload = () => resolve(image);
327
+ image.onerror = (e) => reject(e);
328
+ image.src = `data:${imageType};base64,${imageBase64}`;
329
+ });
330
+ return { img, width: img.width, height: img.height };
331
+ }
332
+ if (isNode) {
333
+ const canvasMod = await loadPackage("canvas");
334
+ const { loadImage } = canvasMod;
335
+ const dataUrl = `data:${imageType};base64,${imageBase64}`;
336
+ const img = await loadImage(dataUrl);
337
+ return { img, width: img.width, height: img.height };
338
+ }
339
+ throw new Error("No image environment available");
340
+ };
341
+ const createCanvasAny = async (width, height) => {
342
+ if (hasOffscreen) {
343
+ const canvas = new OffscreenCanvas(width, height);
344
+ return {
345
+ ctx: canvas.getContext("2d"),
346
+ exportBase64: async (mime, q) => {
347
+ const blob = await canvas.convertToBlob({ type: mime, quality: q });
348
+ return await new Promise((res, rej) => {
349
+ const reader = new FileReader();
350
+ reader.onloadend = () => {
351
+ const url = reader.result;
352
+ res(url.substring(url.indexOf("base64,") + 7));
353
+ };
354
+ reader.onerror = () => rej(new Error("Failed to convert blob to base64"));
355
+ reader.readAsDataURL(blob);
356
+ });
357
+ },
358
+ };
359
+ }
360
+ if (hasDOM) {
361
+ const canvas = document.createElement("canvas");
362
+ canvas.width = width;
363
+ canvas.height = height;
364
+ return {
365
+ ctx: canvas.getContext("2d"),
366
+ exportBase64: async (mime, q) => {
367
+ const dataUrl = canvas.toDataURL(mime, q);
368
+ return dataUrl.substring(dataUrl.indexOf("base64,") + 7);
369
+ },
370
+ };
371
+ }
372
+ if (isNode) {
373
+ const canvasMod = await loadPackage("canvas");
374
+ const { createCanvas } = canvasMod;
375
+ const canvas = createCanvas(width, height);
376
+ return {
377
+ ctx: canvas.getContext("2d"),
378
+ exportBase64: async (mime, q) => {
379
+ const buffer = canvas.toBuffer(mime, { quality: q });
380
+ // @ts-ignore
381
+ return (typeof Buffer !== "undefined" ? Buffer.from(buffer) : buffer).toString("base64");
382
+ },
383
+ };
384
+ }
385
+ throw new Error("No canvas environment available");
386
+ };
387
+ const loaded = await loadImageAny();
388
+ const { width, height } = targetByScale(loaded.width, loaded.height);
389
+ if (loaded.width == width && loaded.height == height && quality == 1) {
390
+ return {
391
+ imageBase64: imageBase64,
392
+ imageType: imageType,
393
+ };
394
+ }
395
+ const { ctx, exportBase64 } = await createCanvasAny(width, height);
396
+ if (!ctx) {
397
+ return {
398
+ imageBase64: imageBase64,
399
+ imageType: imageType,
400
+ };
401
+ }
402
+ ctx.drawImage(loaded.img, 0, 0, width, height);
403
+ const outBase64 = await exportBase64("image/jpeg", quality);
404
+ return {
405
+ imageBase64: outBase64,
406
+ imageType: "image/jpeg",
407
+ };
408
+ }
283
409
  function mergeTools(tools1, tools2) {
284
410
  let tools = [];
285
411
  let toolMap2 = tools2.reduce((map, tool) => {
@@ -485,6 +611,19 @@ function fixXmlTag(code) {
485
611
  let completedCode = code + missingParts.join("");
486
612
  return completedCode;
487
613
  }
614
+ async function loadPackage(packageName) {
615
+ // @ts-ignore
616
+ if (typeof require !== 'undefined') {
617
+ try {
618
+ return await import(packageName);
619
+ }
620
+ catch {
621
+ // @ts-ignore
622
+ return require(packageName);
623
+ }
624
+ }
625
+ return await import(packageName);
626
+ }
488
627
 
489
628
  // src/errors/ai-sdk-error.ts
490
629
  var marker$1 = "vercel.ai.error";
@@ -35099,28 +35238,92 @@ function extract_page_content(max_url_length = 200, max_content_length = 50000)
35099
35238
  function mark_screenshot_highlight_elements(screenshot, area_map, client_rect) {
35100
35239
  return new Promise(async (resolve, reject) => {
35101
35240
  try {
35102
- // Convert base64 to Blob
35103
- const base64Data = screenshot.imageBase64;
35104
- const binaryString = atob(base64Data);
35105
- const bytes = new Uint8Array(binaryString.length);
35106
- for (let i = 0; i < binaryString.length; i++) {
35107
- bytes[i] = binaryString.charCodeAt(i);
35108
- }
35109
- const blob = new Blob([bytes], { type: screenshot.imageType });
35110
- const imageBitmap = await createImageBitmap(blob, {
35111
- resizeQuality: "high",
35112
- resizeWidth: client_rect.width,
35113
- resizeHeight: client_rect.height,
35114
- });
35115
- const canvas = new OffscreenCanvas(imageBitmap.width, imageBitmap.height);
35116
- const ctx = canvas.getContext("2d");
35241
+ const hasOffscreen = typeof OffscreenCanvas !== "undefined";
35242
+ const hasCreateImageBitmap = typeof createImageBitmap !== "undefined";
35243
+ const hasDOM = typeof document !== "undefined" && typeof Image !== "undefined";
35244
+ // @ts-ignore
35245
+ const isNode = typeof window === "undefined" && typeof process !== "undefined" && !!process.versions && !!process.versions.node;
35246
+ const loadImageAny = async () => {
35247
+ if (hasCreateImageBitmap) {
35248
+ const base64Data = screenshot.imageBase64;
35249
+ const binaryString = atob(base64Data);
35250
+ const bytes = new Uint8Array(binaryString.length);
35251
+ for (let i = 0; i < binaryString.length; i++) {
35252
+ bytes[i] = binaryString.charCodeAt(i);
35253
+ }
35254
+ const blob = new Blob([bytes], { type: screenshot.imageType });
35255
+ const imageBitmap = await createImageBitmap(blob, {
35256
+ resizeQuality: "high",
35257
+ resizeWidth: client_rect.width,
35258
+ resizeHeight: client_rect.height,
35259
+ });
35260
+ return { img: imageBitmap };
35261
+ }
35262
+ if (hasDOM) {
35263
+ const img = await new Promise((resolveImg, rejectImg) => {
35264
+ const image = new Image();
35265
+ image.onload = () => resolveImg(image);
35266
+ image.onerror = (e) => rejectImg(e);
35267
+ image.src = `data:${screenshot.imageType};base64,${screenshot.imageBase64}`;
35268
+ });
35269
+ return { img };
35270
+ }
35271
+ if (isNode) {
35272
+ const canvasMod = await loadPackage("canvas");
35273
+ const { loadImage } = canvasMod;
35274
+ const dataUrl = `data:${screenshot.imageType};base64,${screenshot.imageBase64}`;
35275
+ const img = await loadImage(dataUrl);
35276
+ return { img };
35277
+ }
35278
+ throw new Error("No image environment available");
35279
+ };
35280
+ const createCanvasAny = async (width, height) => {
35281
+ if (hasOffscreen) {
35282
+ const canvas = new OffscreenCanvas(width, height);
35283
+ return {
35284
+ ctx: canvas.getContext("2d"),
35285
+ exportDataUrl: async (mime) => {
35286
+ const blob = await canvas.convertToBlob({ type: mime });
35287
+ return await new Promise((res, rej) => {
35288
+ const reader = new FileReader();
35289
+ reader.onloadend = () => res(reader.result);
35290
+ reader.onerror = () => rej(new Error("Failed to convert blob to base64"));
35291
+ reader.readAsDataURL(blob);
35292
+ });
35293
+ },
35294
+ };
35295
+ }
35296
+ if (hasDOM) {
35297
+ const canvas = document.createElement("canvas");
35298
+ canvas.width = width;
35299
+ canvas.height = height;
35300
+ return {
35301
+ ctx: canvas.getContext("2d"),
35302
+ exportDataUrl: async (mime) => canvas.toDataURL(mime),
35303
+ };
35304
+ }
35305
+ if (isNode) {
35306
+ const canvasMod = await loadPackage("canvas");
35307
+ const { createCanvas } = canvasMod;
35308
+ const canvas = createCanvas(width, height);
35309
+ return {
35310
+ ctx: canvas.getContext("2d"),
35311
+ exportDataUrl: async (mime) => canvas.toDataURL(mime),
35312
+ };
35313
+ }
35314
+ throw new Error("No canvas environment available");
35315
+ };
35316
+ const loaded = await loadImageAny();
35317
+ const targetWidth = client_rect.width;
35318
+ const targetHeight = client_rect.height;
35319
+ const { ctx, exportDataUrl } = await createCanvasAny(targetWidth, targetHeight);
35117
35320
  if (!ctx) {
35118
35321
  reject(new Error("Failed to get canvas context"));
35119
35322
  return;
35120
35323
  }
35121
35324
  ctx.imageSmoothingEnabled = true;
35122
35325
  ctx.imageSmoothingQuality = "high";
35123
- ctx.drawImage(imageBitmap, 0, 0);
35326
+ ctx.drawImage(loaded.img, 0, 0, targetWidth, targetHeight);
35124
35327
  const sortedEntries = Object.entries(area_map)
35125
35328
  .filter(([id, area]) => area.width > 0 && area.height > 0)
35126
35329
  .sort((a, b) => {
@@ -35156,9 +35359,10 @@ function mark_screenshot_highlight_elements(screenshot, area_map, client_rect) {
35156
35359
  // Draw ID tag background
35157
35360
  const fontSize = Math.min(12, Math.max(8, area.height / 2));
35158
35361
  ctx.font = `${fontSize}px sans-serif`;
35159
- const textMetrics = ctx.measureText(id);
35362
+ const metrics = ctx.measureText(id);
35363
+ const textWidth = metrics && metrics.width ? metrics.width : 0;
35160
35364
  const padding = 4;
35161
- const labelWidth = textMetrics.width + padding * 2;
35365
+ const labelWidth = textWidth + padding * 2;
35162
35366
  const labelHeight = fontSize + padding * 2;
35163
35367
  // The tag position is in the upper right corner.
35164
35368
  const labelX = area.x + area.width - labelWidth;
@@ -35176,66 +35380,15 @@ function mark_screenshot_highlight_elements(screenshot, area_map, client_rect) {
35176
35380
  ctx.textBaseline = "top";
35177
35381
  ctx.fillText(id, labelX + padding, labelY + padding);
35178
35382
  });
35179
- // Convert OffscreenCanvas to Blob, then to base64
35180
- const resultBlob = await canvas.convertToBlob({
35181
- type: screenshot.imageType,
35182
- });
35183
- const reader = new FileReader();
35184
- reader.onloadend = () => {
35185
- const resultBase64 = reader.result;
35186
- resolve(resultBase64);
35187
- };
35188
- reader.onerror = () => {
35189
- reject(new Error("Failed to convert blob to base64"));
35190
- };
35191
- reader.readAsDataURL(resultBlob);
35383
+ // Export the image
35384
+ const out = await exportDataUrl(screenshot.imageType);
35385
+ resolve(out);
35192
35386
  }
35193
35387
  catch (error) {
35194
35388
  reject(error);
35195
35389
  }
35196
35390
  });
35197
35391
  }
35198
- async function compress_image(imageBase64, imageType, compress, quality = 1) {
35199
- const base64Data = imageBase64;
35200
- const binaryString = atob(base64Data);
35201
- const bytes = new Uint8Array(binaryString.length);
35202
- for (let i = 0; i < binaryString.length; i++) {
35203
- bytes[i] = binaryString.charCodeAt(i);
35204
- }
35205
- const blob = new Blob([bytes], { type: imageType });
35206
- const bitmap = await createImageBitmap(blob);
35207
- const width = compress.scale
35208
- ? bitmap.width * compress.scale
35209
- : compress.resizeWidth;
35210
- const height = compress.scale
35211
- ? bitmap.height * compress.scale
35212
- : compress.resizeHeight;
35213
- if (bitmap.width == width && bitmap.height == height && quality == 1) {
35214
- return {
35215
- imageBase64: imageBase64,
35216
- imageType: imageType,
35217
- };
35218
- }
35219
- const canvas = new OffscreenCanvas(width, height);
35220
- const ctx = canvas.getContext("2d");
35221
- ctx.drawImage(bitmap, 0, 0, width, height);
35222
- const resultBlob = await canvas.convertToBlob({
35223
- type: "image/jpeg",
35224
- quality: quality,
35225
- });
35226
- return new Promise((resolve) => {
35227
- const reader = new FileReader();
35228
- reader.onloadend = () => {
35229
- let imageDataUrl = reader.result;
35230
- let imageBase64 = imageDataUrl.substring(imageDataUrl.indexOf("base64,") + 7);
35231
- resolve({
35232
- imageBase64: imageBase64,
35233
- imageType: "image/jpeg",
35234
- });
35235
- };
35236
- reader.readAsDataURL(resultBlob);
35237
- });
35238
- }
35239
35392
 
35240
35393
  const AGENT_NAME = "Browser";
35241
35394
  class BaseBrowserAgent extends Agent {
@@ -35908,18 +36061,14 @@ function run_build_dom_tree() {
35908
36061
  }
35909
36062
  return false;
35910
36063
  }
35911
- // Helper function to check if element exists
35912
- function isElementExist(element) {
35913
- const style = getCachedComputedStyle(element);
35914
- return (style?.visibility !== 'hidden' &&
35915
- style?.display !== 'none');
35916
- }
35917
36064
  // Helper function to check if element is visible
35918
36065
  function isElementVisible(element) {
35919
36066
  if (element.offsetWidth === 0 && element.offsetHeight === 0) {
35920
36067
  return false;
35921
36068
  }
35922
- return isElementExist(element);
36069
+ const style = getCachedComputedStyle(element);
36070
+ return (style?.visibility !== 'hidden' &&
36071
+ style?.display !== 'none');
35923
36072
  }
35924
36073
  // Helper function to check if element is the top element at its position
35925
36074
  function isTopElement(element) {
@@ -36073,7 +36222,8 @@ function run_build_dom_tree() {
36073
36222
  }
36074
36223
  }
36075
36224
  else {
36076
- if (isElementExist(node)) {
36225
+ const style = getCachedComputedStyle(node);
36226
+ if (style && style.display !== 'none') {
36077
36227
  const children = Array.from(node.children).map((child) => buildDomTree(child, parentIframe)).filter(child => child !== null);
36078
36228
  nodeData.children.push(...children);
36079
36229
  }
@@ -36249,7 +36399,7 @@ class BaseBrowserLabelsAgent extends BaseBrowserAgent {
36249
36399
  if (!client_rect || !screenshot) {
36250
36400
  return screenshot;
36251
36401
  }
36252
- const compressedImage = await compress_image(screenshot.imageBase64, screenshot.imageType, {
36402
+ const compressedImage = await compressImageData(screenshot.imageBase64, screenshot.imageType, {
36253
36403
  resizeWidth: client_rect.width,
36254
36404
  resizeHeight: client_rect.height,
36255
36405
  });
@@ -37172,5 +37322,5 @@ class BaseBrowserScreenAgent extends BaseBrowserAgent {
37172
37322
  }
37173
37323
  }
37174
37324
 
37175
- export { Agent, AgentChain, AgentContext, BaseBrowserAgent, BaseBrowserLabelsAgent, BaseBrowserScreenAgent, BaseComputerAgent, BaseFileAgent, BaseShellAgent, Chain, Context, Eko, EkoDialogue, EkoMemory, ForeachTaskTool, HumanInteractTool, Log, Planner, RetryLanguageModel, SimpleHttpMcpClient, SimpleSseMcpClient, TaskNodeStatusTool, VariableStorageTool, WatchTriggerTool, buildAgentTree, buildSimpleAgentWorkflow, call_timeout, config$1 as config, convertToolSchema, Eko as default, extract_page_content, mergeTools, parseWorkflow, resetWorkflowXml, toFile, toImage, uuidv4 };
37325
+ export { Agent, AgentChain, AgentContext, BaseBrowserAgent, BaseBrowserLabelsAgent, BaseBrowserScreenAgent, BaseComputerAgent, BaseFileAgent, BaseShellAgent, Chain, Context, Eko, EkoDialogue, EkoMemory, ForeachTaskTool, HumanInteractTool, Log, Planner, RetryLanguageModel, SimpleHttpMcpClient, SimpleSseMcpClient, TaskNodeStatusTool, VariableStorageTool, WatchTriggerTool, buildAgentTree, buildSimpleAgentWorkflow, call_timeout, compressImageData, config$1 as config, convertToolSchema, Eko as default, extract_page_content, mergeTools, parseWorkflow, resetWorkflowXml, toFile, toImage, uuidv4 };
37176
37326
  //# sourceMappingURL=index.esm.js.map