@eko-ai/eko 2.0.2-alpha.5 → 2.0.2-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.
@@ -24,7 +24,7 @@ export declare class Agent {
24
24
  protected handleResult(agentContext: AgentContext, messages: LanguageModelV1Prompt, agentTools: Tool[], results: Array<LanguageModelV1TextPart | LanguageModelV1ToolCallPart>): Promise<string | null>;
25
25
  protected system_auto_tools(agentNode: WorkflowAgent): Tool[];
26
26
  private removeDuplicateToolUse;
27
- protected initMessages(agentContext: AgentContext): LanguageModelV1Prompt;
27
+ protected initMessages(agentContext: AgentContext, tools?: Tool[]): LanguageModelV1Prompt;
28
28
  private listTools;
29
29
  protected controlMcpTools(agentContext: AgentContext, messages: LanguageModelV1Prompt, loopNum: number): Promise<{
30
30
  mcpTools: boolean;
@@ -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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"}
package/dist/index.cjs.js CHANGED
@@ -12840,12 +12840,19 @@ class RetryLanguageModel {
12840
12840
  continue;
12841
12841
  }
12842
12842
  try {
12843
- const result = await call_timeout(async () => await llm.doStream(options), this.stream_first_timeout);
12843
+ const controller = new AbortController();
12844
+ const signal = options.abortSignal
12845
+ ? AbortSignal.any([options.abortSignal, controller.signal])
12846
+ : controller.signal;
12847
+ const result = await call_timeout(async () => await llm.doStream({ ...options, abortSignal: signal }), this.stream_first_timeout, (e) => {
12848
+ controller.abort();
12849
+ });
12844
12850
  const stream = result.stream;
12845
12851
  const reader = stream.getReader();
12846
12852
  const { done, value } = await call_timeout(async () => await reader.read(), this.stream_first_timeout, (e) => {
12847
12853
  reader.cancel();
12848
12854
  reader.releaseLock();
12855
+ controller.abort();
12849
12856
  });
12850
12857
  if (done) {
12851
12858
  Log.warn(`LLM stream done, name: ${name} => `, { done, value });
@@ -15974,14 +15981,16 @@ const WATCH_NODE = `
15974
15981
  const WATCH_PROMPT = `
15975
15982
  \`watch\`: monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
15976
15983
  `;
15977
- function getAgentSystemPrompt(agent, agentNode, context, systemPrompt) {
15984
+ function getAgentSystemPrompt(agent, agentNode, context, tools, systemPrompt) {
15978
15985
  let prompt = "";
15979
15986
  let nodePrompt = "";
15980
15987
  let agentNodeXml = agentNode.xml;
15981
- let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
15982
15988
  let hasWatch = agentNodeXml.indexOf("</watch>") > -1;
15983
- let hasVariable = agentNodeXml.indexOf(" input=") > -1 || agentNodeXml.indexOf(" output=") > -1;
15984
- let hasHumanTool = agent.Tools.filter((tool) => tool.name == TOOL_NAME$3).length > 0;
15989
+ let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
15990
+ let hasHumanTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$3).length > 0;
15991
+ let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
15992
+ agentNodeXml.indexOf("output=") > -1 ||
15993
+ (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$1).length > 0;
15985
15994
  if (hasHumanTool) {
15986
15995
  prompt += HUMAN_PROMPT;
15987
15996
  }
@@ -16005,8 +16014,9 @@ function getAgentSystemPrompt(agent, agentNode, context, systemPrompt) {
16005
16014
  .replace("{nodePrompt}", nodePrompt)
16006
16015
  .trim();
16007
16016
  }
16008
- function getAgentUserPrompt(agent, agentNode, context) {
16009
- let hasTaskNodeStatusTool = agent.Tools.filter((tool) => tool.name == TOOL_NAME$2).length > 0;
16017
+ function getAgentUserPrompt(agent, agentNode, context, tools) {
16018
+ let hasTaskNodeStatusTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$2)
16019
+ .length > 0;
16010
16020
  return buildAgentRootXml(agentNode.xml, context.chain.taskPrompt, (nodeId, node) => {
16011
16021
  if (hasTaskNodeStatusTool) {
16012
16022
  node.setAttribute("status", "todo");
@@ -16039,9 +16049,10 @@ class Agent {
16039
16049
  let loopNum = 0;
16040
16050
  let context = agentContext.context;
16041
16051
  let agentNode = agentContext.agentChain.agent;
16042
- let messages = this.initMessages(agentContext);
16052
+ const tools = [...this.tools, ...this.system_auto_tools(agentNode)];
16053
+ let messages = this.initMessages(agentContext, tools);
16043
16054
  let rlm = new RetryLanguageModel(context.config.llms, this.llms);
16044
- let agentTools = [...this.tools, ...this.system_auto_tools(agentNode)];
16055
+ let agentTools = tools;
16045
16056
  while (loopNum < maxReactNum) {
16046
16057
  context.checkAborted();
16047
16058
  if (mcpClient) {
@@ -16049,7 +16060,7 @@ class Agent {
16049
16060
  if (controlMcp.mcpTools) {
16050
16061
  let mcpTools = await this.listTools(agentNode, context, mcpClient, controlMcp.mcpParams);
16051
16062
  let usedTools = this.extractUsedTool(messages, agentTools);
16052
- let _agentTools = mergeTools(this.tools, usedTools);
16063
+ let _agentTools = mergeTools(tools, usedTools);
16053
16064
  agentTools = mergeTools(_agentTools, mcpTools);
16054
16065
  }
16055
16066
  }
@@ -16141,8 +16152,8 @@ class Agent {
16141
16152
  system_auto_tools(agentNode) {
16142
16153
  let tools = [];
16143
16154
  let agentNodeXml = agentNode.xml;
16144
- let hasVariable = agentNodeXml.indexOf(" input=") > -1 ||
16145
- agentNodeXml.indexOf(" output=") > -1;
16155
+ let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
16156
+ agentNodeXml.indexOf("output=") > -1;
16146
16157
  if (hasVariable) {
16147
16158
  tools.push(new VariableStorageTool());
16148
16159
  }
@@ -16171,18 +16182,18 @@ class Agent {
16171
16182
  }
16172
16183
  return _results;
16173
16184
  }
16174
- initMessages(agentContext) {
16185
+ initMessages(agentContext, tools) {
16175
16186
  let messages = [
16176
16187
  {
16177
16188
  role: "system",
16178
- content: getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context),
16189
+ content: getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools),
16179
16190
  },
16180
16191
  {
16181
16192
  role: "user",
16182
16193
  content: [
16183
16194
  {
16184
16195
  type: "text",
16185
- text: getAgentUserPrompt(this, agentContext.agentChain.agent, agentContext.context),
16196
+ text: getAgentUserPrompt(this, agentContext.agentChain.agent, agentContext.context, tools),
16186
16197
  },
16187
16198
  ],
16188
16199
  },
@@ -17252,7 +17263,7 @@ class BaseFileAgent extends Agent {
17252
17263
  tools: _tools_,
17253
17264
  llms: llms,
17254
17265
  mcpClient: mcpClient,
17255
- planDescription: "File operation agent, handling file-related tasks such as creating, finding, reading, modifying files, etc.",
17266
+ planDescription: "File operation agent, handling file-related tasks such as creating, finding, reading, modifying files, etc, only text file writing is supported.",
17256
17267
  });
17257
17268
  let init_tools = this.buildInitTools();
17258
17269
  if (ext_tools && ext_tools.length > 0) {
@@ -17298,7 +17309,7 @@ class BaseFileAgent extends Agent {
17298
17309
  },
17299
17310
  {
17300
17311
  name: "file_write",
17301
- description: "Overwrite or append content to a file. Use for creating new files, appending content, or modifying existing files.",
17312
+ description: "Overwrite or append content to a file. Use for creating new files, appending content, or modifying existing files, only supports txt/md/csv or other text formats.",
17302
17313
  parameters: {
17303
17314
  type: "object",
17304
17315
  properties: {
package/dist/index.esm.js CHANGED
@@ -12805,12 +12805,19 @@ class RetryLanguageModel {
12805
12805
  continue;
12806
12806
  }
12807
12807
  try {
12808
- const result = await call_timeout(async () => await llm.doStream(options), this.stream_first_timeout);
12808
+ const controller = new AbortController();
12809
+ const signal = options.abortSignal
12810
+ ? AbortSignal.any([options.abortSignal, controller.signal])
12811
+ : controller.signal;
12812
+ const result = await call_timeout(async () => await llm.doStream({ ...options, abortSignal: signal }), this.stream_first_timeout, (e) => {
12813
+ controller.abort();
12814
+ });
12809
12815
  const stream = result.stream;
12810
12816
  const reader = stream.getReader();
12811
12817
  const { done, value } = await call_timeout(async () => await reader.read(), this.stream_first_timeout, (e) => {
12812
12818
  reader.cancel();
12813
12819
  reader.releaseLock();
12820
+ controller.abort();
12814
12821
  });
12815
12822
  if (done) {
12816
12823
  Log.warn(`LLM stream done, name: ${name} => `, { done, value });
@@ -15939,14 +15946,16 @@ const WATCH_NODE = `
15939
15946
  const WATCH_PROMPT = `
15940
15947
  \`watch\`: monitor changes in webpage DOM or file content, when executing to the watch node, require the use of the \`${TOOL_NAME}\` tool.
15941
15948
  `;
15942
- function getAgentSystemPrompt(agent, agentNode, context, systemPrompt) {
15949
+ function getAgentSystemPrompt(agent, agentNode, context, tools, systemPrompt) {
15943
15950
  let prompt = "";
15944
15951
  let nodePrompt = "";
15945
15952
  let agentNodeXml = agentNode.xml;
15946
- let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
15947
15953
  let hasWatch = agentNodeXml.indexOf("</watch>") > -1;
15948
- let hasVariable = agentNodeXml.indexOf(" input=") > -1 || agentNodeXml.indexOf(" output=") > -1;
15949
- let hasHumanTool = agent.Tools.filter((tool) => tool.name == TOOL_NAME$3).length > 0;
15954
+ let hasForEach = agentNodeXml.indexOf("</forEach>") > -1;
15955
+ let hasHumanTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$3).length > 0;
15956
+ let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
15957
+ agentNodeXml.indexOf("output=") > -1 ||
15958
+ (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$1).length > 0;
15950
15959
  if (hasHumanTool) {
15951
15960
  prompt += HUMAN_PROMPT;
15952
15961
  }
@@ -15970,8 +15979,9 @@ function getAgentSystemPrompt(agent, agentNode, context, systemPrompt) {
15970
15979
  .replace("{nodePrompt}", nodePrompt)
15971
15980
  .trim();
15972
15981
  }
15973
- function getAgentUserPrompt(agent, agentNode, context) {
15974
- let hasTaskNodeStatusTool = agent.Tools.filter((tool) => tool.name == TOOL_NAME$2).length > 0;
15982
+ function getAgentUserPrompt(agent, agentNode, context, tools) {
15983
+ let hasTaskNodeStatusTool = (tools || agent.Tools).filter((tool) => tool.name == TOOL_NAME$2)
15984
+ .length > 0;
15975
15985
  return buildAgentRootXml(agentNode.xml, context.chain.taskPrompt, (nodeId, node) => {
15976
15986
  if (hasTaskNodeStatusTool) {
15977
15987
  node.setAttribute("status", "todo");
@@ -16004,9 +16014,10 @@ class Agent {
16004
16014
  let loopNum = 0;
16005
16015
  let context = agentContext.context;
16006
16016
  let agentNode = agentContext.agentChain.agent;
16007
- let messages = this.initMessages(agentContext);
16017
+ const tools = [...this.tools, ...this.system_auto_tools(agentNode)];
16018
+ let messages = this.initMessages(agentContext, tools);
16008
16019
  let rlm = new RetryLanguageModel(context.config.llms, this.llms);
16009
- let agentTools = [...this.tools, ...this.system_auto_tools(agentNode)];
16020
+ let agentTools = tools;
16010
16021
  while (loopNum < maxReactNum) {
16011
16022
  context.checkAborted();
16012
16023
  if (mcpClient) {
@@ -16014,7 +16025,7 @@ class Agent {
16014
16025
  if (controlMcp.mcpTools) {
16015
16026
  let mcpTools = await this.listTools(agentNode, context, mcpClient, controlMcp.mcpParams);
16016
16027
  let usedTools = this.extractUsedTool(messages, agentTools);
16017
- let _agentTools = mergeTools(this.tools, usedTools);
16028
+ let _agentTools = mergeTools(tools, usedTools);
16018
16029
  agentTools = mergeTools(_agentTools, mcpTools);
16019
16030
  }
16020
16031
  }
@@ -16106,8 +16117,8 @@ class Agent {
16106
16117
  system_auto_tools(agentNode) {
16107
16118
  let tools = [];
16108
16119
  let agentNodeXml = agentNode.xml;
16109
- let hasVariable = agentNodeXml.indexOf(" input=") > -1 ||
16110
- agentNodeXml.indexOf(" output=") > -1;
16120
+ let hasVariable = agentNodeXml.indexOf("input=") > -1 ||
16121
+ agentNodeXml.indexOf("output=") > -1;
16111
16122
  if (hasVariable) {
16112
16123
  tools.push(new VariableStorageTool());
16113
16124
  }
@@ -16136,18 +16147,18 @@ class Agent {
16136
16147
  }
16137
16148
  return _results;
16138
16149
  }
16139
- initMessages(agentContext) {
16150
+ initMessages(agentContext, tools) {
16140
16151
  let messages = [
16141
16152
  {
16142
16153
  role: "system",
16143
- content: getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context),
16154
+ content: getAgentSystemPrompt(this, agentContext.agentChain.agent, agentContext.context, tools),
16144
16155
  },
16145
16156
  {
16146
16157
  role: "user",
16147
16158
  content: [
16148
16159
  {
16149
16160
  type: "text",
16150
- text: getAgentUserPrompt(this, agentContext.agentChain.agent, agentContext.context),
16161
+ text: getAgentUserPrompt(this, agentContext.agentChain.agent, agentContext.context, tools),
16151
16162
  },
16152
16163
  ],
16153
16164
  },
@@ -17217,7 +17228,7 @@ class BaseFileAgent extends Agent {
17217
17228
  tools: _tools_,
17218
17229
  llms: llms,
17219
17230
  mcpClient: mcpClient,
17220
- planDescription: "File operation agent, handling file-related tasks such as creating, finding, reading, modifying files, etc.",
17231
+ planDescription: "File operation agent, handling file-related tasks such as creating, finding, reading, modifying files, etc, only text file writing is supported.",
17221
17232
  });
17222
17233
  let init_tools = this.buildInitTools();
17223
17234
  if (ext_tools && ext_tools.length > 0) {
@@ -17263,7 +17274,7 @@ class BaseFileAgent extends Agent {
17263
17274
  },
17264
17275
  {
17265
17276
  name: "file_write",
17266
- description: "Overwrite or append content to a file. Use for creating new files, appending content, or modifying existing files.",
17277
+ description: "Overwrite or append content to a file. Use for creating new files, appending content, or modifying existing files, only supports txt/md/csv or other text formats.",
17267
17278
  parameters: {
17268
17279
  type: "object",
17269
17280
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAE3B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,cAAc,EACd,UAAU,EACV,IAAI,EACJ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,CAAC,EAAE,MAAM;IASjE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlD,UAAU,CACd,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,cAAc,CAAC;IAgCpB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBtD,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;IAsD1E,OAAO,CAAC,MAAM;IAoCd,OAAO,CAAC,aAAa;CA0BtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAE3B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACL,cAAc,EACd,UAAU,EACV,IAAI,EACJ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,oBAAoB,CAAC,EAAE,MAAM;IASjE,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBlD,UAAU,CACd,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,cAAc,CAAC;IAgCpB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAkBtD,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;IA8D1E,OAAO,CAAC,MAAM;IAoCd,OAAO,CAAC,aAAa;CA0BtB"}
@@ -1,6 +1,7 @@
1
1
  import { Agent } from "../agent";
2
2
  import Context from "../core/context";
3
3
  import { WorkflowAgent } from "../types/core.types";
4
- export declare function getAgentSystemPrompt(agent: Agent, agentNode: WorkflowAgent, context: Context, systemPrompt?: string): string;
5
- export declare function getAgentUserPrompt(agent: Agent, agentNode: WorkflowAgent, context: Context): string;
4
+ import { Tool } from "../types";
5
+ export declare function getAgentSystemPrompt(agent: Agent, agentNode: WorkflowAgent, context: Context, tools?: Tool[], systemPrompt?: string): string;
6
+ export declare function getAgentUserPrompt(agent: Agent, agentNode: WorkflowAgent, context: Context, tools?: Tool[]): string;
6
7
  //# sourceMappingURL=agent.d.ts.map
@@ -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,MAAM,qBAAqB,CAAC;AAmEpD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CA8BR;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,OAAO,GACf,MAAM,CAOR"}
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,MAAM,qBAAqB,CAAC;AAMpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA6DhC,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,CAkCR;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.2-alpha.5",
3
+ "version": "2.0.2-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",