beeai-framework 0.1.6 → 0.1.8

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.
Files changed (268) hide show
  1. package/README.md +35 -29
  2. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +1 -1
  3. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +1 -1
  4. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +1 -1
  5. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +1 -1
  6. package/dist/adapters/anthropic/backend/chat.d.cts +1 -1
  7. package/dist/adapters/anthropic/backend/chat.d.ts +1 -1
  8. package/dist/adapters/anthropic/backend/embedding.d.cts +1 -1
  9. package/dist/adapters/anthropic/backend/embedding.d.ts +1 -1
  10. package/dist/adapters/azure-openai/backend/chat.d.cts +1 -1
  11. package/dist/adapters/azure-openai/backend/chat.d.ts +1 -1
  12. package/dist/adapters/azure-openai/backend/embedding.d.cts +1 -1
  13. package/dist/adapters/azure-openai/backend/embedding.d.ts +1 -1
  14. package/dist/adapters/dummy/backend/chat.d.cts +1 -1
  15. package/dist/adapters/dummy/backend/chat.d.ts +1 -1
  16. package/dist/adapters/dummy/backend/embedding.d.cts +1 -1
  17. package/dist/adapters/dummy/backend/embedding.d.ts +1 -1
  18. package/dist/adapters/google-vertex/backend/chat.d.cts +1 -1
  19. package/dist/adapters/google-vertex/backend/chat.d.ts +1 -1
  20. package/dist/adapters/google-vertex/backend/embedding.d.cts +1 -1
  21. package/dist/adapters/google-vertex/backend/embedding.d.ts +1 -1
  22. package/dist/adapters/groq/backend/chat.d.cts +1 -1
  23. package/dist/adapters/groq/backend/chat.d.ts +1 -1
  24. package/dist/adapters/groq/backend/embedding.d.cts +1 -1
  25. package/dist/adapters/groq/backend/embedding.d.ts +1 -1
  26. package/dist/adapters/langchain/backend/chat.d.cts +1 -1
  27. package/dist/adapters/langchain/backend/chat.d.ts +1 -1
  28. package/dist/adapters/langchain/backend/embedding.d.cts +1 -1
  29. package/dist/adapters/langchain/backend/embedding.d.ts +1 -1
  30. package/dist/adapters/langchain/tools.d.cts +1 -1
  31. package/dist/adapters/langchain/tools.d.ts +1 -1
  32. package/dist/adapters/ollama/backend/chat.d.cts +1 -1
  33. package/dist/adapters/ollama/backend/chat.d.ts +1 -1
  34. package/dist/adapters/ollama/backend/embedding.d.cts +1 -1
  35. package/dist/adapters/ollama/backend/embedding.d.ts +1 -1
  36. package/dist/adapters/openai/backend/chat.d.cts +1 -1
  37. package/dist/adapters/openai/backend/chat.d.ts +1 -1
  38. package/dist/adapters/openai/backend/client.cjs +9 -2
  39. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  40. package/dist/adapters/openai/backend/client.js +9 -2
  41. package/dist/adapters/openai/backend/client.js.map +1 -1
  42. package/dist/adapters/openai/backend/embedding.d.cts +1 -1
  43. package/dist/adapters/openai/backend/embedding.d.ts +1 -1
  44. package/dist/adapters/vercel/backend/chat.cjs +0 -1
  45. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  46. package/dist/adapters/vercel/backend/chat.d.cts +1 -1
  47. package/dist/adapters/vercel/backend/chat.d.ts +1 -1
  48. package/dist/adapters/vercel/backend/chat.js +0 -1
  49. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  50. package/dist/adapters/vercel/backend/embedding.d.cts +1 -1
  51. package/dist/adapters/vercel/backend/embedding.d.ts +1 -1
  52. package/dist/adapters/watsonx/backend/chat.cjs +6 -2
  53. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  54. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  55. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  56. package/dist/adapters/watsonx/backend/chat.js +6 -2
  57. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  58. package/dist/adapters/watsonx/backend/embedding.d.cts +1 -1
  59. package/dist/adapters/watsonx/backend/embedding.d.ts +1 -1
  60. package/dist/agent-COg8SPbf.d.cts +84 -0
  61. package/dist/agent-Dv5YSk8H.d.ts +84 -0
  62. package/dist/agents/base.d.cts +2 -2
  63. package/dist/agents/base.d.ts +2 -2
  64. package/dist/agents/experimental/remote/agent.cjs +25 -18
  65. package/dist/agents/experimental/remote/agent.cjs.map +1 -1
  66. package/dist/agents/experimental/remote/agent.d.cts +6 -5
  67. package/dist/agents/experimental/remote/agent.d.ts +6 -5
  68. package/dist/agents/experimental/remote/agent.js +26 -19
  69. package/dist/agents/experimental/remote/agent.js.map +1 -1
  70. package/dist/agents/experimental/replan/agent.d.cts +2 -2
  71. package/dist/agents/experimental/replan/agent.d.ts +2 -2
  72. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  73. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  74. package/dist/agents/experimental/streamlit/agent.d.cts +2 -2
  75. package/dist/agents/experimental/streamlit/agent.d.ts +2 -2
  76. package/dist/agents/{bee → react}/agent.cjs +5 -5
  77. package/dist/agents/react/agent.cjs.map +1 -0
  78. package/dist/agents/{bee → react}/agent.d.cts +3 -3
  79. package/dist/agents/{bee → react}/agent.d.ts +3 -3
  80. package/dist/agents/{bee → react}/agent.js +5 -5
  81. package/dist/agents/react/agent.js.map +1 -0
  82. package/dist/agents/{bee → react}/prompts.cjs +18 -18
  83. package/dist/agents/react/prompts.cjs.map +1 -0
  84. package/dist/agents/{bee → react}/prompts.d.cts +10 -10
  85. package/dist/agents/{bee → react}/prompts.d.ts +10 -10
  86. package/dist/agents/{bee → react}/prompts.js +10 -10
  87. package/dist/agents/react/prompts.js.map +1 -0
  88. package/dist/agents/{bee → react}/runners/base.cjs +1 -1
  89. package/dist/agents/{bee → react}/runners/base.cjs.map +1 -1
  90. package/dist/agents/{bee → react}/runners/base.d.cts +3 -3
  91. package/dist/agents/{bee → react}/runners/base.d.ts +3 -3
  92. package/dist/agents/{bee → react}/runners/base.js +1 -1
  93. package/dist/agents/{bee → react}/runners/base.js.map +1 -1
  94. package/dist/agents/{bee → react}/runners/deep-think/prompts.cjs +14 -14
  95. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -0
  96. package/dist/agents/{bee/runners/granite → react/runners/deep-think}/prompts.d.cts +8 -8
  97. package/dist/agents/{bee/runners/granite → react/runners/deep-think}/prompts.d.ts +8 -8
  98. package/dist/agents/{bee → react}/runners/deep-think/prompts.js +9 -9
  99. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -0
  100. package/dist/agents/{bee → react}/runners/deep-think/runner.cjs +10 -10
  101. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -0
  102. package/dist/agents/{bee → react}/runners/deep-think/runner.d.cts +6 -6
  103. package/dist/agents/{bee → react}/runners/deep-think/runner.d.ts +6 -6
  104. package/dist/agents/{bee → react}/runners/deep-think/runner.js +12 -12
  105. package/dist/agents/react/runners/deep-think/runner.js.map +1 -0
  106. package/dist/agents/{bee → react}/runners/default/runner.cjs +10 -10
  107. package/dist/agents/react/runners/default/runner.cjs.map +1 -0
  108. package/dist/agents/{bee → react}/runners/default/runner.d.cts +9 -9
  109. package/dist/agents/{bee → react}/runners/default/runner.d.ts +9 -9
  110. package/dist/agents/{bee → react}/runners/default/runner.js +11 -11
  111. package/dist/agents/react/runners/default/runner.js.map +1 -0
  112. package/dist/agents/{bee → react}/runners/default/runner.spec.cjs +5 -5
  113. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -0
  114. package/dist/agents/{bee → react}/runners/default/runner.spec.js +6 -6
  115. package/dist/agents/react/runners/default/runner.spec.js.map +1 -0
  116. package/dist/agents/{bee → react}/runners/granite/prompts.cjs +14 -14
  117. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -0
  118. package/dist/agents/{bee/runners/deep-think → react/runners/granite}/prompts.d.cts +8 -8
  119. package/dist/agents/{bee/runners/deep-think → react/runners/granite}/prompts.d.ts +8 -8
  120. package/dist/agents/{bee → react}/runners/granite/prompts.js +9 -9
  121. package/dist/agents/react/runners/granite/prompts.js.map +1 -0
  122. package/dist/agents/{bee → react}/runners/granite/runner.cjs +10 -10
  123. package/dist/agents/react/runners/granite/runner.cjs.map +1 -0
  124. package/dist/agents/{bee → react}/runners/granite/runner.d.cts +6 -6
  125. package/dist/agents/{bee → react}/runners/granite/runner.d.ts +6 -6
  126. package/dist/agents/{bee → react}/runners/granite/runner.js +12 -12
  127. package/dist/agents/react/runners/granite/runner.js.map +1 -0
  128. package/dist/agents/{bee → react}/types.d.cts +46 -46
  129. package/dist/agents/{bee → react}/types.d.ts +46 -46
  130. package/dist/agents/toolCalling/agent.cjs +208 -0
  131. package/dist/agents/toolCalling/agent.cjs.map +1 -0
  132. package/dist/agents/toolCalling/agent.d.cts +70 -0
  133. package/dist/agents/toolCalling/agent.d.ts +70 -0
  134. package/dist/agents/toolCalling/agent.js +206 -0
  135. package/dist/agents/toolCalling/agent.js.map +1 -0
  136. package/dist/agents/toolCalling/prompts.cjs +64 -0
  137. package/dist/agents/toolCalling/prompts.cjs.map +1 -0
  138. package/dist/agents/toolCalling/prompts.d.cts +49 -0
  139. package/dist/agents/toolCalling/prompts.d.ts +49 -0
  140. package/dist/agents/toolCalling/prompts.js +61 -0
  141. package/dist/agents/toolCalling/prompts.js.map +1 -0
  142. package/dist/agents/toolCalling/types.cjs +4 -0
  143. package/dist/agents/toolCalling/types.cjs.map +1 -0
  144. package/dist/agents/toolCalling/types.d.cts +66 -0
  145. package/dist/agents/toolCalling/types.d.ts +66 -0
  146. package/dist/agents/toolCalling/types.js +3 -0
  147. package/dist/agents/toolCalling/types.js.map +1 -0
  148. package/dist/agents/types.d.cts +2 -2
  149. package/dist/agents/types.d.ts +2 -2
  150. package/dist/backend/backend.d.cts +1 -1
  151. package/dist/backend/backend.d.ts +1 -1
  152. package/dist/backend/chat.cjs +3 -0
  153. package/dist/backend/chat.cjs.map +1 -1
  154. package/dist/backend/chat.d.cts +4 -3
  155. package/dist/backend/chat.d.ts +4 -3
  156. package/dist/backend/chat.js +3 -0
  157. package/dist/backend/chat.js.map +1 -1
  158. package/dist/backend/core.d.cts +1 -1
  159. package/dist/backend/core.d.ts +1 -1
  160. package/dist/backend/embedding.d.cts +1 -1
  161. package/dist/backend/embedding.d.ts +1 -1
  162. package/dist/backend/message.cjs +9 -0
  163. package/dist/backend/message.cjs.map +1 -1
  164. package/dist/backend/message.d.cts +2 -0
  165. package/dist/backend/message.d.ts +2 -0
  166. package/dist/backend/message.js +9 -0
  167. package/dist/backend/message.js.map +1 -1
  168. package/dist/{base-daM6fHUP.d.cts → base-Csr9guq2.d.cts} +1 -1
  169. package/dist/{base-mmG-8Pk9.d.ts → base-DHhpWHQm.d.ts} +1 -1
  170. package/dist/context.d.cts +1 -1
  171. package/dist/context.d.ts +1 -1
  172. package/dist/emitter/emitter.d.cts +1 -1
  173. package/dist/emitter/emitter.d.ts +1 -1
  174. package/dist/emitter/types.d.cts +1 -1
  175. package/dist/emitter/types.d.ts +1 -1
  176. package/dist/index.cjs +21 -0
  177. package/dist/index.d.cts +8 -3
  178. package/dist/index.d.ts +8 -3
  179. package/dist/index.js +3 -0
  180. package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -1
  181. package/dist/instrumentation/create-telemetry-middleware.d.cts +1 -1
  182. package/dist/instrumentation/create-telemetry-middleware.d.ts +1 -1
  183. package/dist/instrumentation/create-telemetry-middleware.js.map +1 -1
  184. package/dist/instrumentation/helpers/utils.d.cts +1 -1
  185. package/dist/instrumentation/helpers/utils.d.ts +1 -1
  186. package/dist/internals/fetcher.d.cts +1 -1
  187. package/dist/internals/fetcher.d.ts +1 -1
  188. package/dist/memory/summarizeMemory.d.cts +1 -1
  189. package/dist/memory/summarizeMemory.d.ts +1 -1
  190. package/dist/parsers/linePrefix.d.cts +1 -1
  191. package/dist/parsers/linePrefix.d.ts +1 -1
  192. package/dist/tools/arxiv.d.cts +1 -1
  193. package/dist/tools/arxiv.d.ts +1 -1
  194. package/dist/tools/base.d.cts +1 -1
  195. package/dist/tools/base.d.ts +1 -1
  196. package/dist/tools/calculator.d.cts +1 -1
  197. package/dist/tools/calculator.d.ts +1 -1
  198. package/dist/tools/custom.d.cts +1 -1
  199. package/dist/tools/custom.d.ts +1 -1
  200. package/dist/tools/database/elasticsearch.d.cts +1 -1
  201. package/dist/tools/database/elasticsearch.d.ts +1 -1
  202. package/dist/tools/database/milvus.d.cts +3 -3
  203. package/dist/tools/database/milvus.d.ts +3 -3
  204. package/dist/tools/database/sql.d.cts +1 -1
  205. package/dist/tools/database/sql.d.ts +1 -1
  206. package/dist/tools/llm.d.cts +1 -1
  207. package/dist/tools/llm.d.ts +1 -1
  208. package/dist/tools/mcp.d.cts +1 -1
  209. package/dist/tools/mcp.d.ts +1 -1
  210. package/dist/tools/openapi.d.cts +1 -1
  211. package/dist/tools/openapi.d.ts +1 -1
  212. package/dist/tools/python/output.d.cts +1 -1
  213. package/dist/tools/python/output.d.ts +1 -1
  214. package/dist/tools/python/python.d.cts +1 -1
  215. package/dist/tools/python/python.d.ts +1 -1
  216. package/dist/tools/search/base.d.cts +1 -1
  217. package/dist/tools/search/base.d.ts +1 -1
  218. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  219. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  220. package/dist/tools/search/googleSearch.d.cts +1 -1
  221. package/dist/tools/search/googleSearch.d.ts +1 -1
  222. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  223. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  224. package/dist/tools/search/wikipedia.d.cts +1 -1
  225. package/dist/tools/search/wikipedia.d.ts +1 -1
  226. package/dist/tools/similarity.d.cts +1 -1
  227. package/dist/tools/similarity.d.ts +1 -1
  228. package/dist/tools/weather/openMeteo.d.cts +1 -1
  229. package/dist/tools/weather/openMeteo.d.ts +1 -1
  230. package/dist/tools/web/webCrawler.d.cts +1 -1
  231. package/dist/tools/web/webCrawler.d.ts +1 -1
  232. package/dist/version.cjs +1 -1
  233. package/dist/version.js +1 -1
  234. package/dist/workflows/agent.cjs +28 -20
  235. package/dist/workflows/agent.cjs.map +1 -1
  236. package/dist/workflows/agent.d.cts +223 -43
  237. package/dist/workflows/agent.d.ts +223 -43
  238. package/dist/workflows/agent.js +29 -21
  239. package/dist/workflows/agent.js.map +1 -1
  240. package/dist/workflows/workflow.d.cts +1 -1
  241. package/dist/workflows/workflow.d.ts +1 -1
  242. package/package.json +7 -7
  243. package/dist/agent-BZ-_ATuJ.d.cts +0 -84
  244. package/dist/agent-BqoZ6FbM.d.ts +0 -84
  245. package/dist/agents/bee/agent.cjs.map +0 -1
  246. package/dist/agents/bee/agent.js.map +0 -1
  247. package/dist/agents/bee/prompts.cjs.map +0 -1
  248. package/dist/agents/bee/prompts.js.map +0 -1
  249. package/dist/agents/bee/runners/deep-think/prompts.cjs.map +0 -1
  250. package/dist/agents/bee/runners/deep-think/prompts.js.map +0 -1
  251. package/dist/agents/bee/runners/deep-think/runner.cjs.map +0 -1
  252. package/dist/agents/bee/runners/deep-think/runner.js.map +0 -1
  253. package/dist/agents/bee/runners/default/runner.cjs.map +0 -1
  254. package/dist/agents/bee/runners/default/runner.js.map +0 -1
  255. package/dist/agents/bee/runners/default/runner.spec.cjs.map +0 -1
  256. package/dist/agents/bee/runners/default/runner.spec.js.map +0 -1
  257. package/dist/agents/bee/runners/granite/prompts.cjs.map +0 -1
  258. package/dist/agents/bee/runners/granite/prompts.js.map +0 -1
  259. package/dist/agents/bee/runners/granite/runner.cjs.map +0 -1
  260. package/dist/agents/bee/runners/granite/runner.js.map +0 -1
  261. package/dist/agents/{bee → react}/runners/default/runner.spec.d.cts +0 -0
  262. package/dist/agents/{bee → react}/runners/default/runner.spec.d.ts +0 -0
  263. package/dist/agents/{bee → react}/types.cjs +0 -0
  264. package/dist/agents/{bee → react}/types.cjs.map +0 -0
  265. package/dist/agents/{bee → react}/types.js +0 -0
  266. package/dist/agents/{bee → react}/types.js.map +0 -0
  267. package/dist/{emitter-C9EN5B0j.d.cts → emitter-BWtGHYn0.d.cts} +1 -1
  268. package/dist/{emitter-BxVxGBbJ.d.ts → emitter-l0W9gC1A.d.ts} +1 -1
@@ -7,7 +7,7 @@ import { PythonStorage, PythonFile } from './storage.js';
7
7
  import { PythonToolOutput } from './output.js';
8
8
  import { ConnectionOptions } from 'node:tls';
9
9
  import { RunContext } from '../../context.js';
10
- import { E as Emitter } from '../../emitter-BxVxGBbJ.js';
10
+ import { E as Emitter } from '../../emitter-l0W9gC1A.js';
11
11
  import { ChatModel } from '../../backend/chat.js';
12
12
  import '../../internals/serializable.js';
13
13
  import '../../internals/types.js';
@@ -1,7 +1,7 @@
1
1
  import { BaseToolOptions, BaseToolRunOptions, ToolOutput } from '../base.cjs';
2
2
  import 'ajv';
3
3
  import '../../context.cjs';
4
- import '../../emitter-C9EN5B0j.cjs';
4
+ import '../../emitter-BWtGHYn0.cjs';
5
5
  import '../../internals/types.cjs';
6
6
  import '../../internals/helpers/guards.cjs';
7
7
  import '../../internals/serializable.cjs';
@@ -1,7 +1,7 @@
1
1
  import { BaseToolOptions, BaseToolRunOptions, ToolOutput } from '../base.js';
2
2
  import 'ajv';
3
3
  import '../../context.js';
4
- import '../../emitter-BxVxGBbJ.js';
4
+ import '../../emitter-l0W9gC1A.js';
5
5
  import '../../internals/types.js';
6
6
  import '../../internals/helpers/guards.js';
7
7
  import '../../internals/serializable.js';
@@ -7,7 +7,7 @@ import { NeedleOptions } from 'needle';
7
7
  import { z } from 'zod';
8
8
  import { RunContext } from '../../context.cjs';
9
9
  import 'ajv';
10
- import '../../emitter-C9EN5B0j.cjs';
10
+ import '../../emitter-BWtGHYn0.cjs';
11
11
  import '../../internals/types.cjs';
12
12
  import '../../internals/helpers/guards.cjs';
13
13
  import '../../internals/serializable.cjs';
@@ -7,7 +7,7 @@ import { NeedleOptions } from 'needle';
7
7
  import { z } from 'zod';
8
8
  import { RunContext } from '../../context.js';
9
9
  import 'ajv';
10
- import '../../emitter-BxVxGBbJ.js';
10
+ import '../../emitter-l0W9gC1A.js';
11
11
  import '../../internals/types.js';
12
12
  import '../../internals/helpers/guards.js';
13
13
  import '../../internals/serializable.js';
@@ -5,7 +5,7 @@ import { SearchToolOptions, SearchToolResult, SearchToolOutput, SearchToolRunOpt
5
5
  import { Tool, ToolEmitter, ToolInput } from '../base.cjs';
6
6
  import { z } from 'zod';
7
7
  import { RunContext } from '../../context.cjs';
8
- import { E as Emitter } from '../../emitter-C9EN5B0j.cjs';
8
+ import { E as Emitter } from '../../emitter-BWtGHYn0.cjs';
9
9
  import '../../internals/serializable.cjs';
10
10
  import '../../internals/types.cjs';
11
11
  import '../../internals/helpers/guards.cjs';
@@ -5,7 +5,7 @@ import { SearchToolOptions, SearchToolResult, SearchToolOutput, SearchToolRunOpt
5
5
  import { Tool, ToolEmitter, ToolInput } from '../base.js';
6
6
  import { z } from 'zod';
7
7
  import { RunContext } from '../../context.js';
8
- import { E as Emitter } from '../../emitter-BxVxGBbJ.js';
8
+ import { E as Emitter } from '../../emitter-l0W9gC1A.js';
9
9
  import '../../internals/serializable.js';
10
10
  import '../../internals/types.js';
11
11
  import '../../internals/helpers/guards.js';
@@ -11,7 +11,7 @@ import 'promise-based-task';
11
11
  import '../../cache/base.cjs';
12
12
  import '../../internals/helpers/schema.cjs';
13
13
  import 'zod-to-json-schema';
14
- import '../../emitter-C9EN5B0j.cjs';
14
+ import '../../emitter-BWtGHYn0.cjs';
15
15
  import '../../internals/helpers/promise.cjs';
16
16
 
17
17
  /**
@@ -11,7 +11,7 @@ import 'promise-based-task';
11
11
  import '../../cache/base.js';
12
12
  import '../../internals/helpers/schema.js';
13
13
  import 'zod-to-json-schema';
14
- import '../../emitter-BxVxGBbJ.js';
14
+ import '../../emitter-l0W9gC1A.js';
15
15
  import '../../internals/helpers/promise.js';
16
16
 
17
17
  /**
@@ -5,7 +5,7 @@ import { SearchToolOptions, SearchToolRunOptions, SearchToolResult, SearchToolOu
5
5
  import { z } from 'zod';
6
6
  import { Tool, ToolEmitter, ToolInput } from '../base.cjs';
7
7
  import { pageResult } from 'wikipedia/dist/resultTypes.js';
8
- import { E as Emitter } from '../../emitter-C9EN5B0j.cjs';
8
+ import { E as Emitter } from '../../emitter-BWtGHYn0.cjs';
9
9
  import '../../internals/serializable.cjs';
10
10
  import '../../internals/types.cjs';
11
11
  import '../../internals/helpers/guards.cjs';
@@ -5,7 +5,7 @@ import { SearchToolOptions, SearchToolRunOptions, SearchToolResult, SearchToolOu
5
5
  import { z } from 'zod';
6
6
  import { Tool, ToolEmitter, ToolInput } from '../base.js';
7
7
  import { pageResult } from 'wikipedia/dist/resultTypes.js';
8
- import { E as Emitter } from '../../emitter-BxVxGBbJ.js';
8
+ import { E as Emitter } from '../../emitter-l0W9gC1A.js';
9
9
  import '../../internals/serializable.js';
10
10
  import '../../internals/types.js';
11
11
  import '../../internals/helpers/guards.js';
@@ -10,7 +10,7 @@ import 'promise-based-task';
10
10
  import '../cache/base.cjs';
11
11
  import '../internals/helpers/schema.cjs';
12
12
  import 'zod-to-json-schema';
13
- import '../emitter-C9EN5B0j.cjs';
13
+ import '../emitter-BWtGHYn0.cjs';
14
14
  import '../internals/helpers/promise.cjs';
15
15
 
16
16
  /**
@@ -10,7 +10,7 @@ import 'promise-based-task';
10
10
  import '../cache/base.js';
11
11
  import '../internals/helpers/schema.js';
12
12
  import 'zod-to-json-schema';
13
- import '../emitter-BxVxGBbJ.js';
13
+ import '../emitter-l0W9gC1A.js';
14
14
  import '../internals/helpers/promise.js';
15
15
 
16
16
  /**
@@ -10,7 +10,7 @@ import 'promise-based-task';
10
10
  import '../../cache/base.cjs';
11
11
  import '../../internals/helpers/schema.cjs';
12
12
  import 'zod-to-json-schema';
13
- import '../../emitter-C9EN5B0j.cjs';
13
+ import '../../emitter-BWtGHYn0.cjs';
14
14
  import '../../internals/helpers/promise.cjs';
15
15
 
16
16
  /**
@@ -10,7 +10,7 @@ import 'promise-based-task';
10
10
  import '../../cache/base.js';
11
11
  import '../../internals/helpers/schema.js';
12
12
  import 'zod-to-json-schema';
13
- import '../../emitter-BxVxGBbJ.js';
13
+ import '../../emitter-l0W9gC1A.js';
14
14
  import '../../internals/helpers/promise.js';
15
15
 
16
16
  /**
@@ -3,7 +3,7 @@ import * as promise_based_task from 'promise-based-task';
3
3
  import { JSONToolOutput, Tool, BaseToolOptions, ToolEmitter, ToolInput, BaseToolRunOptions } from '../base.cjs';
4
4
  import { z } from 'zod';
5
5
  import { RunContext } from '../../context.cjs';
6
- import { E as Emitter } from '../../emitter-C9EN5B0j.cjs';
6
+ import { E as Emitter } from '../../emitter-BWtGHYn0.cjs';
7
7
  import '../../internals/serializable.cjs';
8
8
  import '../../internals/types.cjs';
9
9
  import '../../internals/helpers/guards.cjs';
@@ -3,7 +3,7 @@ import * as promise_based_task from 'promise-based-task';
3
3
  import { JSONToolOutput, Tool, BaseToolOptions, ToolEmitter, ToolInput, BaseToolRunOptions } from '../base.js';
4
4
  import { z } from 'zod';
5
5
  import { RunContext } from '../../context.js';
6
- import { E as Emitter } from '../../emitter-BxVxGBbJ.js';
6
+ import { E as Emitter } from '../../emitter-l0W9gC1A.js';
7
7
  import '../../internals/serializable.js';
8
8
  import '../../internals/types.js';
9
9
  import '../../internals/helpers/guards.js';
package/dist/version.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports.Version = "0.0.0";
4
4
  try {
5
- exports.Version = "0.1.6";
5
+ exports.Version = "0.1.8";
6
6
  } catch {
7
7
  }
8
8
  //# sourceMappingURL=version.cjs.map
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  let Version = "0.0.0";
2
2
  try {
3
- Version = "0.1.6";
3
+ Version = "0.1.8";
4
4
  } catch {
5
5
  }
6
6
 
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var agent_cjs = require('../agents/bee/agent.cjs');
4
3
  var workflow_cjs = require('./workflow.cjs');
5
4
  var message_cjs = require('../backend/message.cjs');
6
5
  var zod = require('zod');
7
6
  var unconstrainedMemory_cjs = require('../memory/unconstrainedMemory.cjs');
8
7
  var base_cjs = require('../agents/base.cjs');
9
8
  var remeda = require('remeda');
9
+ var agent_cjs = require('../agents/toolCalling/agent.cjs');
10
10
 
11
11
  var __defProp = Object.defineProperty;
12
12
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -15,21 +15,30 @@ class AgentWorkflow {
15
15
  __name(this, "AgentWorkflow");
16
16
  }
17
17
  workflow;
18
- static schema = zod.z.object({
19
- messages: zod.z.array(zod.z.instanceof(message_cjs.Message)).min(1),
18
+ schema = zod.z.object({
19
+ inputs: zod.z.array(zod.z.object({
20
+ prompt: zod.z.string().optional(),
21
+ context: zod.z.string().optional(),
22
+ expectedOutput: zod.z.union([
23
+ zod.z.string(),
24
+ zod.z.instanceof(zod.z.ZodSchema)
25
+ ]).optional()
26
+ })),
20
27
  finalAnswer: zod.z.string().optional(),
21
28
  newMessages: zod.z.array(zod.z.instanceof(message_cjs.Message)).default([])
22
29
  });
23
30
  constructor(name = "AgentWorkflow") {
24
31
  this.workflow = new workflow_cjs.Workflow({
25
32
  name,
26
- schema: AgentWorkflow.schema,
27
- outputSchema: AgentWorkflow.schema.required()
33
+ schema: this.schema,
34
+ outputSchema: this.schema.required()
28
35
  });
29
36
  }
30
- run(messages, options = {}) {
37
+ run(inputs, options = {}) {
31
38
  return this.workflow.run({
32
- messages
39
+ inputs: inputs.map((input) => input instanceof message_cjs.Message ? {
40
+ prompt: input.text
41
+ } : input)
33
42
  }, options);
34
43
  }
35
44
  addAgent(agent) {
@@ -49,12 +58,12 @@ class AgentWorkflow {
49
58
  return this.workflow.delStep(name);
50
59
  }
51
60
  _createFactory(input) {
52
- return (memory) => new agent_cjs.BeeAgent({
61
+ return (memory) => new agent_cjs.ToolCallingAgent({
53
62
  llm: input.llm,
54
63
  tools: input.tools ?? [],
55
64
  memory,
56
65
  meta: {
57
- name: input.name,
66
+ name: input.name || `Agent${remeda.randomString(4)}`,
58
67
  description: input.instructions ?? ""
59
68
  },
60
69
  execution: input.execution,
@@ -62,6 +71,7 @@ class AgentWorkflow {
62
71
  templates: {
63
72
  system: /* @__PURE__ */ __name((template) => template.fork((config) => {
64
73
  config.defaults.instructions = input.instructions || config.defaults.instructions;
74
+ config.defaults.role = input.role || config.defaults.role;
65
75
  }), "system")
66
76
  }
67
77
  }
@@ -70,21 +80,19 @@ class AgentWorkflow {
70
80
  _add(name, factory) {
71
81
  this.workflow.addStep(name, async (state, ctx) => {
72
82
  const memory = new unconstrainedMemory_cjs.UnconstrainedMemory();
73
- await memory.addMany([
74
- ...state.messages,
75
- ...state.newMessages
76
- ]);
83
+ await memory.addMany(state.newMessages);
84
+ const runInput = state.inputs.shift() ?? {
85
+ prompt: void 0
86
+ };
77
87
  const agent = await factory(memory.asReadOnly());
78
- const { result } = await agent.run({
79
- prompt: null
80
- }, {
88
+ const { result } = await agent.run(runInput, {
81
89
  signal: ctx.signal
82
90
  });
83
91
  state.finalAnswer = result.text;
84
- state.newMessages.push(new message_cjs.AssistantMessage([
85
- `Assistant Name: ${name}`,
86
- `Assistant Response: ${result.text}`
87
- ].join("\n")));
92
+ if (runInput.prompt) {
93
+ state.newMessages.push(new message_cjs.UserMessage(runInput.prompt));
94
+ }
95
+ state.newMessages.push(result);
88
96
  });
89
97
  return this;
90
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["AgentWorkflow","workflow","schema","z","object","messages","array","instanceof","Message","min","finalAnswer","string","optional","newMessages","default","constructor","name","Workflow","outputSchema","required","run","options","addAgent","agent","BaseAgent","clone","then","factory","memory","_add","meta","randomString","isFunction","_createFactory","delAgent","delStep","input","BeeAgent","llm","tools","description","instructions","execution","templates","system","template","fork","config","defaults","addStep","state","ctx","UnconstrainedMemory","addMany","asReadOnly","result","prompt","signal","text","push","AssistantMessage","join"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BeeAgent } from \"@/agents/bee/agent.js\";\nimport { Workflow, WorkflowRunOptions } from \"@/workflows/workflow.js\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { BaseMemory, ReadOnlyMemory } from \"@/memory/base.js\";\nimport { z } from \"zod\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport {\n BeeAgentExecutionConfig,\n BeeRunInput,\n BeeRunOptions,\n BeeRunOutput,\n} from \"@/agents/bee/types.js\";\nimport { isFunction, randomString } from \"remeda\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\ntype AgentInstance = BaseAgent<BeeRunInput, BeeRunOutput, BeeRunOptions>;\ntype AgentFactory = (memory: ReadOnlyMemory) => AgentInstance | Promise<AgentInstance>;\ninterface AgentFactoryInput {\n name: string;\n llm: ChatModel;\n instructions?: string;\n tools?: AnyTool[];\n execution?: BeeAgentExecutionConfig;\n}\n\nexport class AgentWorkflow {\n protected readonly workflow;\n\n static readonly schema = z.object({\n messages: z.array(z.instanceof(Message)).min(1),\n\n finalAnswer: z.string().optional(),\n newMessages: z.array(z.instanceof(Message)).default([]),\n });\n\n constructor(name = \"AgentWorkflow\") {\n this.workflow = new Workflow({\n name,\n schema: AgentWorkflow.schema,\n outputSchema: AgentWorkflow.schema.required(),\n });\n }\n\n run(messages: Message[], options: WorkflowRunOptions<string> = {}) {\n return this.workflow.run(\n {\n messages,\n },\n options,\n );\n }\n\n addAgent(agent: AgentFactory | AgentFactoryInput): this;\n addAgent(agent: AgentInstance): Promise<this>;\n addAgent(agent: AgentInstance | AgentFactory | AgentFactoryInput): this | Promise<this> {\n if (agent instanceof BaseAgent) {\n return agent.clone().then((clone) => {\n const factory: AgentFactory = (memory) => {\n clone.memory = memory;\n return clone;\n };\n return this._add(clone.meta.name, factory);\n });\n }\n\n const name = agent.name || `Agent${randomString(4)}`;\n return this._add(name, isFunction(agent) ? agent : this._createFactory(agent));\n }\n\n delAgent(name: string) {\n return this.workflow.delStep(name);\n }\n\n protected _createFactory(input: AgentFactoryInput): AgentFactory {\n return (memory: BaseMemory) =>\n new BeeAgent({\n llm: input.llm,\n tools: input.tools ?? [],\n memory,\n meta: {\n name: input.name,\n description: input.instructions ?? \"\",\n },\n execution: input.execution,\n ...(input.instructions && {\n templates: {\n system: (template) =>\n template.fork((config) => {\n config.defaults.instructions = input.instructions || config.defaults.instructions;\n }),\n },\n }),\n });\n }\n\n protected _add(name: string, factory: AgentFactory) {\n this.workflow.addStep(name, async (state, ctx) => {\n const memory = new UnconstrainedMemory();\n await memory.addMany([...state.messages, ...state.newMessages]);\n\n const agent = await factory(memory.asReadOnly());\n const { result } = await agent.run({ prompt: null }, { signal: ctx.signal });\n state.finalAnswer = result.text;\n state.newMessages.push(\n new AssistantMessage(\n [`Assistant Name: ${name}`, `Assistant Response: ${result.text}`].join(\"\\n\"),\n ),\n );\n });\n return this;\n }\n}\n"]}
1
+ {"version":3,"sources":["agent.ts"],"names":["AgentWorkflow","workflow","schema","z","object","inputs","array","prompt","string","optional","context","expectedOutput","union","instanceof","ZodSchema","finalAnswer","newMessages","Message","default","constructor","name","Workflow","outputSchema","required","run","options","map","input","text","addAgent","agent","BaseAgent","clone","then","factory","memory","_add","meta","randomString","isFunction","_createFactory","delAgent","delStep","ToolCallingAgent","llm","tools","description","instructions","execution","templates","system","template","fork","config","defaults","role","addStep","state","ctx","UnconstrainedMemory","addMany","runInput","shift","undefined","asReadOnly","result","signal","push","UserMessage"],"mappings":"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","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Workflow, WorkflowRunOptions } from \"@/workflows/workflow.js\";\nimport { Message, UserMessage } from \"@/backend/message.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { BaseMemory, ReadOnlyMemory } from \"@/memory/base.js\";\nimport { z } from \"zod\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { BaseAgent } from \"@/agents/base.js\";\nimport { isFunction, randomString } from \"remeda\";\nimport { ChatModel } from \"@/backend/chat.js\";\nimport { ToolCallingAgent } from \"@/agents/toolCalling/agent.js\";\nimport {\n ToolCallingAgentExecutionConfig,\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOptions,\n ToolCallingAgentRunOutput,\n} from \"@/agents/toolCalling/types.js\";\n\ntype AgentInstance = BaseAgent<\n ToolCallingAgentRunInput,\n ToolCallingAgentRunOutput,\n ToolCallingAgentRunOptions\n>;\ntype AgentFactory = (memory: ReadOnlyMemory) => AgentInstance | Promise<AgentInstance>;\ninterface AgentFactoryInput {\n name?: string;\n role?: string;\n llm: ChatModel;\n instructions?: string;\n tools?: AnyTool[];\n execution?: ToolCallingAgentExecutionConfig;\n}\n\nexport class AgentWorkflow {\n protected readonly workflow;\n\n readonly schema = z.object({\n inputs: z.array(\n z.object({\n prompt: z.string().optional(),\n context: z.string().optional(),\n expectedOutput: z.union([z.string(), z.instanceof(z.ZodSchema)]).optional(),\n }),\n ),\n\n finalAnswer: z.string().optional(),\n newMessages: z.array(z.instanceof(Message)).default([]),\n });\n\n constructor(name = \"AgentWorkflow\") {\n this.workflow = new Workflow({\n name,\n schema: this.schema,\n outputSchema: this.schema.required(),\n });\n }\n\n run(inputs: (ToolCallingAgentRunInput | Message)[], options: WorkflowRunOptions<string> = {}) {\n return this.workflow.run(\n {\n inputs: inputs.map((input) => (input instanceof Message ? { prompt: input.text } : input)),\n },\n options,\n );\n }\n\n addAgent(agent: AgentFactory | AgentFactoryInput): this;\n addAgent(agent: AgentInstance): Promise<this>;\n addAgent(agent: AgentInstance | AgentFactory | AgentFactoryInput): this | Promise<this> {\n if (agent instanceof BaseAgent) {\n return agent.clone().then((clone) => {\n const factory: AgentFactory = (memory) => {\n clone.memory = memory;\n return clone;\n };\n return this._add(clone.meta.name, factory);\n });\n }\n\n const name = agent.name || `Agent${randomString(4)}`;\n return this._add(name, isFunction(agent) ? agent : this._createFactory(agent));\n }\n\n delAgent(name: string) {\n return this.workflow.delStep(name);\n }\n\n protected _createFactory(input: AgentFactoryInput): AgentFactory {\n return (memory: BaseMemory) =>\n new ToolCallingAgent({\n llm: input.llm,\n tools: input.tools ?? [],\n memory,\n meta: {\n name: input.name || `Agent${randomString(4)}`,\n description: input.instructions ?? \"\",\n },\n execution: input.execution,\n ...(input.instructions && {\n templates: {\n system: (template) =>\n template.fork((config) => {\n config.defaults.instructions = input.instructions || config.defaults.instructions;\n config.defaults.role = input.role || config.defaults.role;\n }),\n },\n }),\n });\n }\n\n protected _add(name: string, factory: AgentFactory) {\n this.workflow.addStep(name, async (state, ctx) => {\n const memory = new UnconstrainedMemory();\n await memory.addMany(state.newMessages);\n\n const runInput = state.inputs.shift() ?? { prompt: undefined };\n const agent = await factory(memory.asReadOnly());\n const { result } = await agent.run(runInput, { signal: ctx.signal });\n state.finalAnswer = result.text;\n if (runInput.prompt) {\n state.newMessages.push(new UserMessage(runInput.prompt));\n }\n state.newMessages.push(result);\n });\n return this;\n }\n}\n"]}