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
@@ -0,0 +1,84 @@
1
+ import { GetRunContext, RunContext } from './context.js';
2
+ import { b as AgentMeta, a as BaseAgent } from './base-DHhpWHQm.js';
3
+ import { AnyTool } from './tools/base.js';
4
+ import { BaseMemory } from './memory/base.js';
5
+ import { E as Emitter } from './emitter-l0W9gC1A.js';
6
+ import { ReActAgentRunOptions, ReActAgentRunIteration, ReActAgentCallbacks, ReActAgentParserInput, ReActAgentMeta, ReActAgentRunInput, ReActAgentIterationToolResult, ReActAgentTemplates, ReActAgentExecutionConfig, ReActAgentRunOutput } from './agents/react/types.js';
7
+ import { LinePrefixParser } from './parsers/linePrefix.js';
8
+ import { Serializable } from './internals/serializable.js';
9
+ import { ChatModel } from './backend/chat.js';
10
+ import { RetryCounter } from './internals/helpers/counter.js';
11
+
12
+ interface ReActAgentRunnerLLMInput {
13
+ meta: ReActAgentMeta;
14
+ signal: AbortSignal;
15
+ emitter: Emitter<ReActAgentCallbacks>;
16
+ }
17
+ interface ReActAgentRunnerToolInput {
18
+ state: ReActAgentIterationToolResult;
19
+ meta: ReActAgentMeta;
20
+ signal: AbortSignal;
21
+ emitter: Emitter<ReActAgentCallbacks>;
22
+ }
23
+ declare abstract class BaseRunner extends Serializable {
24
+ protected readonly input: ReActAgentInput;
25
+ protected readonly options: ReActAgentRunOptions;
26
+ protected readonly run: GetRunContext<ReActAgent>;
27
+ memory: BaseMemory;
28
+ readonly iterations: ReActAgentRunIteration[];
29
+ protected readonly failedAttemptsCounter: RetryCounter;
30
+ constructor(input: ReActAgentInput, options: ReActAgentRunOptions, run: GetRunContext<ReActAgent>);
31
+ createIteration(): Promise<{
32
+ emitter: Emitter<ReActAgentCallbacks>;
33
+ state: LinePrefixParser.infer<ReActAgentParserInput>;
34
+ meta: ReActAgentMeta;
35
+ signal: AbortSignal;
36
+ }>;
37
+ init(input: ReActAgentRunInput): Promise<void>;
38
+ abstract llm(input: ReActAgentRunnerLLMInput): Promise<ReActAgentRunIteration>;
39
+ abstract tool(input: ReActAgentRunnerToolInput): Promise<{
40
+ output: string;
41
+ success: boolean;
42
+ }>;
43
+ abstract get defaultTemplates(): ReActAgentTemplates;
44
+ get templates(): ReActAgentTemplates;
45
+ protected abstract initMemory(input: ReActAgentRunInput): Promise<BaseMemory>;
46
+ createSnapshot(): {
47
+ input: ReActAgentInput;
48
+ options: ReActAgentRunOptions;
49
+ memory: BaseMemory<unknown>;
50
+ failedAttemptsCounter: RetryCounter;
51
+ };
52
+ loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void;
53
+ }
54
+
55
+ type ReActAgentTemplateFactory<K extends keyof ReActAgentTemplates> = (template: ReActAgentTemplates[K]) => ReActAgentTemplates[K];
56
+ interface ReActAgentInput {
57
+ llm: ChatModel;
58
+ tools: AnyTool[];
59
+ memory: BaseMemory;
60
+ meta?: Omit<AgentMeta, "tools">;
61
+ templates?: Partial<{
62
+ [K in keyof ReActAgentTemplates]: ReActAgentTemplates[K] | ReActAgentTemplateFactory<K>;
63
+ }>;
64
+ execution?: ReActAgentExecutionConfig;
65
+ stream?: boolean;
66
+ }
67
+ declare class ReActAgent extends BaseAgent<ReActAgentRunInput, ReActAgentRunOutput, ReActAgentRunOptions> {
68
+ protected readonly input: ReActAgentInput;
69
+ readonly emitter: Emitter<ReActAgentCallbacks>;
70
+ protected runner: new (...args: ConstructorParameters<typeof BaseRunner>) => BaseRunner;
71
+ constructor(input: ReActAgentInput);
72
+ set memory(memory: BaseMemory);
73
+ get memory(): BaseMemory;
74
+ get meta(): AgentMeta;
75
+ protected _run(input: ReActAgentRunInput, options: ReActAgentRunOptions | undefined, run: GetRunContext<typeof this>): Promise<ReActAgentRunOutput>;
76
+ createSnapshot(): {
77
+ input: ReActAgentInput;
78
+ emitter: Emitter<ReActAgentCallbacks>;
79
+ runner: new (input: ReActAgentInput, options: ReActAgentRunOptions, run: RunContext<ReActAgent, any>) => BaseRunner;
80
+ isRunning: boolean;
81
+ };
82
+ }
83
+
84
+ export { BaseRunner as B, type ReActAgentInput as R, ReActAgent as a, type ReActAgentRunnerLLMInput as b, type ReActAgentRunnerToolInput as c, type ReActAgentTemplateFactory as d };
@@ -1,8 +1,8 @@
1
1
  import '../context.cjs';
2
2
  import '../errors.cjs';
3
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-daM6fHUP.cjs';
3
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-Csr9guq2.cjs';
4
4
  import '../internals/serializable.cjs';
5
- import '../emitter-C9EN5B0j.cjs';
5
+ import '../emitter-BWtGHYn0.cjs';
6
6
  import '../memory/base.cjs';
7
7
  import '../internals/helpers/promise.cjs';
8
8
  import '../internals/types.cjs';
@@ -1,8 +1,8 @@
1
1
  import '../context.js';
2
2
  import '../errors.js';
3
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-mmG-8Pk9.js';
3
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from '../base-DHhpWHQm.js';
4
4
  import '../internals/serializable.js';
5
- import '../emitter-BxVxGBbJ.js';
5
+ import '../emitter-l0W9gC1A.js';
6
6
  import '../memory/base.js';
7
7
  import '../internals/helpers/promise.js';
8
8
  import '../internals/types.js';
@@ -3,10 +3,11 @@
3
3
  var emitter_cjs = require('../../../emitter/emitter.cjs');
4
4
  var base_cjs = require('../../base.cjs');
5
5
  var message_cjs = require('../../../backend/message.cjs');
6
- var unconstrainedMemory_cjs = require('../../../memory/unconstrainedMemory.cjs');
6
+ var index_js = require('@i-am-bee/acp-sdk/client/index.js');
7
7
  var utils_cjs = require('../../../serializer/utils.cjs');
8
8
  var errors_cjs = require('../../../errors.cjs');
9
9
  var types_js = require('@i-am-bee/acp-sdk/types.js');
10
+ var sse_js = require('@i-am-bee/acp-sdk/client/sse.js');
10
11
 
11
12
  var __defProp = Object.defineProperty;
12
13
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -26,23 +27,19 @@ class RemoteAgent extends base_cjs.BaseAgent {
26
27
  });
27
28
  }
28
29
  async _run(input, _options, context) {
29
- if (input.prompt !== null) {
30
- await this.memory.add(new message_cjs.UserMessage(JSON.stringify(input.prompt, null, 2)));
31
- }
32
- const runner = await this.createRunner(context);
30
+ const runner = this.createRunner(context);
33
31
  const output = await runner(input);
34
- const finalMessage = new message_cjs.AssistantMessage(output);
35
- await this.memory.add(finalMessage);
32
+ const message = new message_cjs.AssistantMessage(output);
36
33
  return {
37
- message: finalMessage
34
+ message
38
35
  };
39
36
  }
40
37
  async listAgents() {
41
38
  const response = await this.input.client.listAgents();
42
39
  return response.agents;
43
40
  }
44
- async createRunner(context) {
45
- const run = /* @__PURE__ */ __name(async (input) => {
41
+ createRunner(context) {
42
+ return async (input) => {
46
43
  try {
47
44
  this.input.client.setNotificationHandler(types_js.AgentRunProgressNotificationSchema, async (notification) => {
48
45
  await context.emitter.emit("update", {
@@ -60,31 +57,31 @@ class RemoteAgent extends base_cjs.BaseAgent {
60
57
  });
61
58
  }
62
59
  const agents = await this.listAgents();
63
- const agent = agents.find((agent2) => agent2.name === this.input.agent);
60
+ const agent = agents.find((agent2) => agent2.name === this.input.agentName);
64
61
  if (!agent) {
65
- throw new base_cjs.AgentError(`Agent ${this.input.agent} is not registered in the platform`, [], {
62
+ throw new base_cjs.AgentError(`Agent ${this.input.agentName} is not registered in the platform`, [], {
66
63
  isFatal: true
67
64
  });
68
65
  }
69
66
  const response = await this.input.client.runAgent({
70
- name: this.input.agent,
71
- input: input.prompt
67
+ name: this.input.agentName,
68
+ input: typeof input.prompt === "string" ? {
69
+ text: input.prompt
70
+ } : input.prompt
72
71
  }, {
73
72
  timeout: 1e7,
74
73
  signal: context.signal,
75
74
  onprogress: /* @__PURE__ */ __name(() => null, "onprogress")
76
75
  });
77
- await this.input.client.close();
78
76
  const output = JSON.stringify(response.output, null, 2);
79
77
  await context.emitter.emit("update", {
80
78
  output
81
79
  });
82
80
  return output;
83
- }, "run");
84
- return run;
81
+ };
85
82
  }
86
83
  get memory() {
87
- return new unconstrainedMemory_cjs.UnconstrainedMemory();
84
+ throw new errors_cjs.NotImplementedError();
88
85
  }
89
86
  set memory(memory) {
90
87
  throw new errors_cjs.NotImplementedError();
@@ -96,6 +93,16 @@ class RemoteAgent extends base_cjs.BaseAgent {
96
93
  emitter: this.emitter
97
94
  };
98
95
  }
96
+ static createSSEAgent(url, agentName) {
97
+ return new RemoteAgent({
98
+ client: new index_js.Client({
99
+ name: "remote-agent",
100
+ version: "1.0.0"
101
+ }),
102
+ transport: new sse_js.SSEClientTransport(new URL(url)),
103
+ agentName
104
+ });
105
+ }
99
106
  }
100
107
 
101
108
  exports.RemoteAgent = RemoteAgent;
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","prompt","memory","add","UserMessage","JSON","stringify","runner","createRunner","output","finalMessage","AssistantMessage","message","listAgents","response","client","agents","run","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","runAgent","timeout","signal","onprogress","close","UnconstrainedMemory","NotImplementedError","createSnapshot","shallowCopy"],"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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: any;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agent: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(JSON.stringify(input.prompt, null, 2)));\n }\n\n const runner = await this.createRunner(context);\n\n const output = await runner(input);\n\n const finalMessage: Message = new AssistantMessage(output);\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const run = async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agent);\n if (!agent) {\n throw new AgentError(`Agent ${this.input.agent} is not registered in the platform`, [], {\n isFatal: true,\n });\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agent,\n input: input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null,\n },\n );\n\n await this.input.client.close();\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n\n return run;\n }\n\n get memory() {\n return new UnconstrainedMemory();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import * as zod from 'zod';
2
- import { C as Callback, E as Emitter } from '../../../emitter-C9EN5B0j.cjs';
3
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-daM6fHUP.cjs';
2
+ import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
3
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
4
4
  import { GetRunContext } from '../../../context.cjs';
5
5
  import { Message } from '../../../backend/message.cjs';
6
6
  import { BaseMemory } from '../../../memory/base.cjs';
@@ -20,7 +20,7 @@ import '../../../internals/helpers/promise.cjs';
20
20
  import 'ai';
21
21
 
22
22
  interface RemoteAgentRunInput {
23
- prompt: any;
23
+ prompt: Record<string, unknown> | string;
24
24
  }
25
25
  interface RemoteAgentRunOutput {
26
26
  message: Message;
@@ -33,7 +33,7 @@ interface RemoteAgentEvents {
33
33
  interface Input {
34
34
  client: Client;
35
35
  transport: Transport;
36
- agent: string;
36
+ agentName: string;
37
37
  }
38
38
  declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {
39
39
  protected readonly input: Input;
@@ -64,7 +64,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
64
64
  properties: zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>;
65
65
  }, zod.ZodTypeAny, "passthrough">>;
66
66
  }, zod.ZodTypeAny, "passthrough">[]>;
67
- protected createRunner(context: GetRunContext<this>): Promise<(input: RemoteAgentRunInput) => Promise<string>>;
67
+ protected createRunner(context: GetRunContext<this>): (input: RemoteAgentRunInput) => Promise<string>;
68
68
  get memory(): BaseMemory;
69
69
  set memory(memory: BaseMemory);
70
70
  createSnapshot(): {
@@ -72,6 +72,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
72
72
  emitter: Emitter<RemoteAgentEvents>;
73
73
  isRunning: boolean;
74
74
  };
75
+ static createSSEAgent(url: string, agentName: string): RemoteAgent;
75
76
  }
76
77
 
77
78
  export { RemoteAgent, type RemoteAgentEvents, type RemoteAgentRunInput, type RemoteAgentRunOutput };
@@ -1,6 +1,6 @@
1
1
  import * as zod from 'zod';
2
- import { C as Callback, E as Emitter } from '../../../emitter-BxVxGBbJ.js';
3
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-mmG-8Pk9.js';
2
+ import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
3
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
4
4
  import { GetRunContext } from '../../../context.js';
5
5
  import { Message } from '../../../backend/message.js';
6
6
  import { BaseMemory } from '../../../memory/base.js';
@@ -20,7 +20,7 @@ import '../../../internals/helpers/promise.js';
20
20
  import 'ai';
21
21
 
22
22
  interface RemoteAgentRunInput {
23
- prompt: any;
23
+ prompt: Record<string, unknown> | string;
24
24
  }
25
25
  interface RemoteAgentRunOutput {
26
26
  message: Message;
@@ -33,7 +33,7 @@ interface RemoteAgentEvents {
33
33
  interface Input {
34
34
  client: Client;
35
35
  transport: Transport;
36
- agent: string;
36
+ agentName: string;
37
37
  }
38
38
  declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {
39
39
  protected readonly input: Input;
@@ -64,7 +64,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
64
64
  properties: zod.ZodOptional<zod.ZodObject<{}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>;
65
65
  }, zod.ZodTypeAny, "passthrough">>;
66
66
  }, zod.ZodTypeAny, "passthrough">[]>;
67
- protected createRunner(context: GetRunContext<this>): Promise<(input: RemoteAgentRunInput) => Promise<string>>;
67
+ protected createRunner(context: GetRunContext<this>): (input: RemoteAgentRunInput) => Promise<string>;
68
68
  get memory(): BaseMemory;
69
69
  set memory(memory: BaseMemory);
70
70
  createSnapshot(): {
@@ -72,6 +72,7 @@ declare class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunO
72
72
  emitter: Emitter<RemoteAgentEvents>;
73
73
  isRunning: boolean;
74
74
  };
75
+ static createSSEAgent(url: string, agentName: string): RemoteAgent;
75
76
  }
76
77
 
77
78
  export { RemoteAgent, type RemoteAgentEvents, type RemoteAgentRunInput, type RemoteAgentRunOutput };
@@ -1,10 +1,11 @@
1
1
  import { Emitter } from '../../../emitter/emitter.js';
2
2
  import { BaseAgent, AgentError } from '../../base.js';
3
- import { UserMessage, AssistantMessage } from '../../../backend/message.js';
4
- import { UnconstrainedMemory } from '../../../memory/unconstrainedMemory.js';
3
+ import { AssistantMessage } from '../../../backend/message.js';
4
+ import { Client } from '@i-am-bee/acp-sdk/client/index.js';
5
5
  import { shallowCopy } from '../../../serializer/utils.js';
6
6
  import { NotImplementedError } from '../../../errors.js';
7
7
  import { AgentRunProgressNotificationSchema } from '@i-am-bee/acp-sdk/types.js';
8
+ import { SSEClientTransport } from '@i-am-bee/acp-sdk/client/sse.js';
8
9
 
9
10
  var __defProp = Object.defineProperty;
10
11
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -24,23 +25,19 @@ class RemoteAgent extends BaseAgent {
24
25
  });
25
26
  }
26
27
  async _run(input, _options, context) {
27
- if (input.prompt !== null) {
28
- await this.memory.add(new UserMessage(JSON.stringify(input.prompt, null, 2)));
29
- }
30
- const runner = await this.createRunner(context);
28
+ const runner = this.createRunner(context);
31
29
  const output = await runner(input);
32
- const finalMessage = new AssistantMessage(output);
33
- await this.memory.add(finalMessage);
30
+ const message = new AssistantMessage(output);
34
31
  return {
35
- message: finalMessage
32
+ message
36
33
  };
37
34
  }
38
35
  async listAgents() {
39
36
  const response = await this.input.client.listAgents();
40
37
  return response.agents;
41
38
  }
42
- async createRunner(context) {
43
- const run = /* @__PURE__ */ __name(async (input) => {
39
+ createRunner(context) {
40
+ return async (input) => {
44
41
  try {
45
42
  this.input.client.setNotificationHandler(AgentRunProgressNotificationSchema, async (notification) => {
46
43
  await context.emitter.emit("update", {
@@ -58,31 +55,31 @@ class RemoteAgent extends BaseAgent {
58
55
  });
59
56
  }
60
57
  const agents = await this.listAgents();
61
- const agent = agents.find((agent2) => agent2.name === this.input.agent);
58
+ const agent = agents.find((agent2) => agent2.name === this.input.agentName);
62
59
  if (!agent) {
63
- throw new AgentError(`Agent ${this.input.agent} is not registered in the platform`, [], {
60
+ throw new AgentError(`Agent ${this.input.agentName} is not registered in the platform`, [], {
64
61
  isFatal: true
65
62
  });
66
63
  }
67
64
  const response = await this.input.client.runAgent({
68
- name: this.input.agent,
69
- input: input.prompt
65
+ name: this.input.agentName,
66
+ input: typeof input.prompt === "string" ? {
67
+ text: input.prompt
68
+ } : input.prompt
70
69
  }, {
71
70
  timeout: 1e7,
72
71
  signal: context.signal,
73
72
  onprogress: /* @__PURE__ */ __name(() => null, "onprogress")
74
73
  });
75
- await this.input.client.close();
76
74
  const output = JSON.stringify(response.output, null, 2);
77
75
  await context.emitter.emit("update", {
78
76
  output
79
77
  });
80
78
  return output;
81
- }, "run");
82
- return run;
79
+ };
83
80
  }
84
81
  get memory() {
85
- return new UnconstrainedMemory();
82
+ throw new NotImplementedError();
86
83
  }
87
84
  set memory(memory) {
88
85
  throw new NotImplementedError();
@@ -94,6 +91,16 @@ class RemoteAgent extends BaseAgent {
94
91
  emitter: this.emitter
95
92
  };
96
93
  }
94
+ static createSSEAgent(url, agentName) {
95
+ return new RemoteAgent({
96
+ client: new Client({
97
+ name: "remote-agent",
98
+ version: "1.0.0"
99
+ }),
100
+ transport: new SSEClientTransport(new URL(url)),
101
+ agentName
102
+ });
103
+ }
97
104
  }
98
105
 
99
106
  export { RemoteAgent };
@@ -1 +1 @@
1
- {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","prompt","memory","add","UserMessage","JSON","stringify","runner","createRunner","output","finalMessage","AssistantMessage","message","listAgents","response","client","agents","run","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","runAgent","timeout","signal","onprogress","close","UnconstrainedMemory","NotImplementedError","createSnapshot","shallowCopy"],"mappings":"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","file":"agent.js","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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { UnconstrainedMemory } from \"@/memory/unconstrainedMemory.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: any;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agent: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n if (input.prompt !== null) {\n await this.memory.add(new UserMessage(JSON.stringify(input.prompt, null, 2)));\n }\n\n const runner = await this.createRunner(context);\n\n const output = await runner(input);\n\n const finalMessage: Message = new AssistantMessage(output);\n\n await this.memory.add(finalMessage);\n\n return {\n message: finalMessage,\n };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected async createRunner(context: GetRunContext<this>) {\n const run = async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agent);\n if (!agent) {\n throw new AgentError(`Agent ${this.input.agent} is not registered in the platform`, [], {\n isFatal: true,\n });\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agent,\n input: input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null,\n },\n );\n\n await this.input.client.close();\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n\n return run;\n }\n\n get memory() {\n return new UnconstrainedMemory();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["agent.ts"],"names":["RemoteAgent","BaseAgent","emitter","constructor","input","Emitter","root","child","namespace","creator","_run","_options","context","runner","createRunner","output","message","AssistantMessage","listAgents","response","client","agents","setNotificationHandler","AgentRunProgressNotificationSchema","notification","emit","JSON","stringify","params","delta","transport","connect","e","AgentError","isFatal","agent","find","name","agentName","runAgent","prompt","text","timeout","signal","onprogress","memory","NotImplementedError","createSnapshot","shallowCopy","createSSEAgent","url","MCPClient","version","SSEClientTransport","URL"],"mappings":"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","file":"agent.js","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 { Callback } from \"@/emitter/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport { AgentError, BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { AssistantMessage, Message } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { Client as MCPClient } from \"@i-am-bee/acp-sdk/client/index.js\";\nimport { Transport } from \"@i-am-bee/acp-sdk/shared/transport.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { NotImplementedError } from \"@/errors.js\";\nimport { AgentRunProgressNotificationSchema } from \"@i-am-bee/acp-sdk/types.js\";\nimport { SSEClientTransport } from \"@i-am-bee/acp-sdk/client/sse.js\";\n\nexport interface RemoteAgentRunInput {\n prompt: Record<string, unknown> | string;\n}\n\nexport interface RemoteAgentRunOutput {\n message: Message;\n}\n\nexport interface RemoteAgentEvents {\n update: Callback<{ output: string }>;\n}\n\ninterface Input {\n client: MCPClient;\n transport: Transport;\n agentName: string;\n}\n\nexport class RemoteAgent extends BaseAgent<RemoteAgentRunInput, RemoteAgentRunOutput> {\n public emitter = Emitter.root.child<RemoteAgentEvents>({\n namespace: [\"agent\", \"remote\"],\n creator: this,\n });\n\n constructor(protected readonly input: Input) {\n super();\n }\n\n protected async _run(\n input: RemoteAgentRunInput,\n _options: BaseAgentRunOptions,\n context: GetRunContext<this>,\n ): Promise<RemoteAgentRunOutput> {\n const runner = this.createRunner(context);\n\n const output = await runner(input);\n\n const message: Message = new AssistantMessage(output);\n\n return { message };\n }\n\n protected async listAgents() {\n const response = await this.input.client.listAgents();\n\n return response.agents;\n }\n\n protected createRunner(context: GetRunContext<this>) {\n return async (input: RemoteAgentRunInput): Promise<string> => {\n try {\n this.input.client.setNotificationHandler(\n AgentRunProgressNotificationSchema,\n async (notification) => {\n await context.emitter.emit(\"update\", {\n output: JSON.stringify(notification.params.delta, null, 2),\n });\n },\n );\n if (!this.input.client.transport) {\n await this.input.client.connect(this.input.transport);\n }\n } catch (e) {\n throw new AgentError(`Can't connect to Beeai Platform.`, [e], { isFatal: true });\n }\n\n const agents = await this.listAgents();\n const agent = agents.find((agent) => agent.name === this.input.agentName);\n if (!agent) {\n throw new AgentError(\n `Agent ${this.input.agentName} is not registered in the platform`,\n [],\n {\n isFatal: true,\n },\n );\n }\n\n const response = await this.input.client.runAgent(\n {\n name: this.input.agentName,\n input: typeof input.prompt === \"string\" ? { text: input.prompt } : input.prompt,\n },\n {\n timeout: 10_000_000,\n signal: context.signal,\n onprogress: () => null, // This has to be here in order for notifications to work.\n },\n );\n\n const output = JSON.stringify(response.output, null, 2);\n await context.emitter.emit(\"update\", { output });\n return output;\n };\n }\n\n get memory() {\n throw new NotImplementedError();\n }\n\n set memory(memory: BaseMemory) {\n throw new NotImplementedError();\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n static createSSEAgent(url: string, agentName: string) {\n return new RemoteAgent({\n client: new MCPClient({\n name: \"remote-agent\",\n version: \"1.0.0\",\n }),\n transport: new SSEClientTransport(new URL(url)),\n agentName: agentName,\n });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { C as Callback, E as Emitter } from '../../../emitter-C9EN5B0j.cjs';
2
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-daM6fHUP.cjs';
1
+ import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
2
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
3
3
  import { GetRunContext } from '../../../context.cjs';
4
4
  import { Message } from '../../../backend/message.cjs';
5
5
  import { RePlanState } from './prompts.cjs';
@@ -1,5 +1,5 @@
1
- import { C as Callback, E as Emitter } from '../../../emitter-BxVxGBbJ.js';
2
- import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-mmG-8Pk9.js';
1
+ import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
2
+ import { a as BaseAgent, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
3
3
  import { GetRunContext } from '../../../context.js';
4
4
  import { Message } from '../../../backend/message.js';
5
5
  import { RePlanState } from './prompts.js';
@@ -7,7 +7,7 @@ import '../../../internals/types.cjs';
7
7
  import '../../../internals/helpers/guards.cjs';
8
8
  import '../../../internals/serializable.cjs';
9
9
  import '../../../context.cjs';
10
- import '../../../emitter-C9EN5B0j.cjs';
10
+ import '../../../emitter-BWtGHYn0.cjs';
11
11
  import '../../../internals/helpers/promise.cjs';
12
12
  import 'promise-based-task';
13
13
  import '../../../cache/base.cjs';
@@ -7,7 +7,7 @@ import '../../../internals/types.js';
7
7
  import '../../../internals/helpers/guards.js';
8
8
  import '../../../internals/serializable.js';
9
9
  import '../../../context.js';
10
- import '../../../emitter-BxVxGBbJ.js';
10
+ import '../../../emitter-l0W9gC1A.js';
11
11
  import '../../../internals/helpers/promise.js';
12
12
  import 'promise-based-task';
13
13
  import '../../../cache/base.js';
@@ -1,6 +1,6 @@
1
- import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-daM6fHUP.cjs';
1
+ import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-Csr9guq2.cjs';
2
2
  import { GetRunContext } from '../../../context.cjs';
3
- import { C as Callback, E as Emitter } from '../../../emitter-C9EN5B0j.cjs';
3
+ import { C as Callback, E as Emitter } from '../../../emitter-BWtGHYn0.cjs';
4
4
  import { BaseMemory } from '../../../memory/base.cjs';
5
5
  import { Message, UserMessage } from '../../../backend/message.cjs';
6
6
  import { StreamlitAgentTemplates } from './prompts.cjs';
@@ -1,6 +1,6 @@
1
- import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-mmG-8Pk9.js';
1
+ import { a as BaseAgent, b as AgentMeta, B as BaseAgentRunOptions } from '../../../base-DHhpWHQm.js';
2
2
  import { GetRunContext } from '../../../context.js';
3
- import { C as Callback, E as Emitter } from '../../../emitter-BxVxGBbJ.js';
3
+ import { C as Callback, E as Emitter } from '../../../emitter-l0W9gC1A.js';
4
4
  import { BaseMemory } from '../../../memory/base.js';
5
5
  import { Message, UserMessage } from '../../../backend/message.js';
6
6
  import { StreamlitAgentTemplates } from './prompts.js';
@@ -32,9 +32,9 @@ var R__namespace = /*#__PURE__*/_interopNamespace(R);
32
32
 
33
33
  var __defProp = Object.defineProperty;
34
34
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
35
- class BeeAgent extends base_cjs.BaseAgent {
35
+ class ReActAgent extends base_cjs.BaseAgent {
36
36
  static {
37
- __name(this, "BeeAgent");
37
+ __name(this, "ReActAgent");
38
38
  }
39
39
  input;
40
40
  emitter;
@@ -43,7 +43,7 @@ class BeeAgent extends base_cjs.BaseAgent {
43
43
  super(), this.input = input, this.emitter = emitter_cjs.Emitter.root.child({
44
44
  namespace: [
45
45
  "agent",
46
- "bee"
46
+ "react"
47
47
  ],
48
48
  creator: this
49
49
  });
@@ -81,7 +81,7 @@ class BeeAgent extends base_cjs.BaseAgent {
81
81
  };
82
82
  }
83
83
  return {
84
- name: "Bee",
84
+ name: "ReAct",
85
85
  tools,
86
86
  description: "The Bee framework demonstrates its ability to auto-correct and adapt in real-time, improving the overall reliability and resilience of the system.",
87
87
  ...tools.length > 0 && {
@@ -188,6 +188,6 @@ class BeeAgent extends base_cjs.BaseAgent {
188
188
  }
189
189
  }
190
190
 
191
- exports.BeeAgent = BeeAgent;
191
+ exports.ReActAgent = ReActAgent;
192
192
  //# sourceMappingURL=agent.cjs.map
193
193
  //# sourceMappingURL=agent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["agent.ts"],"names":["ReActAgent","BaseAgent","emitter","runner","constructor","input","Emitter","root","child","namespace","creator","duplicate","tools","find","a","i","arr","b","j","name","toUpperCase","ValueError","modelId","llm","toLowerCase","tag","GraniteRunner","DeepThinkRunner","includes","DefaultRunner","register","memory","meta","slice","description","length","extraDescription","map","tool","join","_run","options","run","execution","maxRetriesPerStep","totalMaxRetries","maxIterations","init","finalMessage","state","signal","createIteration","tool_name","tool_input","output","success","add","AssistantMessage","templates","assistant","render","thought","filter","R","isTruthy","toolName","toolInput","call","JSON","stringify","toolOutput","finalAnswer","final_answer","assign","tool_output","key","emit","data","update","value","parsedValue","createdAt","Date","iterations","prompt","UserMessage","result","createSnapshot"],"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 { BaseAgent } from \"@/agents/base.js\";\nimport { AnyTool } from \"@/tools/base.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { AssistantMessage, Message, UserMessage } from \"@/backend/message.js\";\nimport { AgentMeta } from \"@/agents/types.js\";\nimport { Emitter } from \"@/emitter/emitter.js\";\nimport {\n ReActAgentExecutionConfig,\n ReActAgentTemplates,\n ReActAgentCallbacks,\n ReActAgentRunInput,\n ReActAgentRunOptions,\n ReActAgentRunOutput,\n} from \"@/agents/react/types.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { assign } from \"@/internals/helpers/object.js\";\nimport * as R from \"remeda\";\nimport { BaseRunner } from \"@/agents/react/runners/base.js\";\nimport { GraniteRunner } from \"@/agents/react/runners/granite/runner.js\";\nimport { DeepThinkRunner } from \"@/agents/react/runners/deep-think/runner.js\";\nimport { ValueError } from \"@/errors.js\";\nimport { DefaultRunner } from \"@/agents/react/runners/default/runner.js\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport type ReActAgentTemplateFactory<K extends keyof ReActAgentTemplates> = (\n template: ReActAgentTemplates[K],\n) => ReActAgentTemplates[K];\n\nexport interface ReActAgentInput {\n llm: ChatModel;\n tools: AnyTool[];\n memory: BaseMemory;\n meta?: Omit<AgentMeta, \"tools\">;\n templates?: Partial<{\n [K in keyof ReActAgentTemplates]: ReActAgentTemplates[K] | ReActAgentTemplateFactory<K>;\n }>;\n execution?: ReActAgentExecutionConfig;\n stream?: boolean;\n}\n\nexport class ReActAgent extends BaseAgent<\n ReActAgentRunInput,\n ReActAgentRunOutput,\n ReActAgentRunOptions\n> {\n public readonly emitter = Emitter.root.child<ReActAgentCallbacks>({\n namespace: [\"agent\", \"react\"],\n creator: this,\n });\n\n protected runner: new (...args: ConstructorParameters<typeof BaseRunner>) => BaseRunner;\n\n constructor(protected readonly input: ReActAgentInput) {\n super();\n\n const duplicate = input.tools.find((a, i, arr) =>\n arr.find((b, j) => i !== j && a.name.toUpperCase() === b.name.toUpperCase()),\n );\n if (duplicate) {\n throw new ValueError(\n `Agent's tools must all have different names. Conflicting tool: ${duplicate.name}.`,\n );\n }\n\n const modelId = this.input.llm.modelId.toLowerCase();\n this.runner =\n [\n { tag: \"granite\", runner: GraniteRunner },\n { tag: \"deepseek-r1\", runner: DeepThinkRunner },\n ].find(({ tag }) => modelId.includes(tag))?.runner ?? DefaultRunner;\n }\n\n static {\n this.register();\n }\n\n set memory(memory: BaseMemory) {\n this.input.memory = memory;\n }\n\n get memory() {\n return this.input.memory;\n }\n\n get meta(): AgentMeta {\n const tools = this.input.tools.slice();\n\n if (this.input.meta) {\n return { ...this.input.meta, tools };\n }\n\n return {\n name: \"ReAct\",\n tools,\n description:\n \"The Bee framework demonstrates its ability to auto-correct and adapt in real-time, improving the overall reliability and resilience of the system.\",\n ...(tools.length > 0 && {\n extraDescription: [\n `Tools that I can use to accomplish given task.`,\n ...tools.map((tool) => `Tool '${tool.name}': ${tool.description}.`),\n ].join(\"\\n\"),\n }),\n };\n }\n\n protected async _run(\n input: ReActAgentRunInput,\n options: ReActAgentRunOptions = {},\n run: GetRunContext<typeof this>,\n ): Promise<ReActAgentRunOutput> {\n const runner = new this.runner(\n this.input,\n {\n ...options,\n execution: this.input.execution ??\n options?.execution ?? {\n maxRetriesPerStep: 3,\n totalMaxRetries: 20,\n maxIterations: 10,\n },\n },\n run,\n );\n await runner.init(input);\n\n let finalMessage: Message | undefined;\n while (!finalMessage) {\n const { state, meta, emitter, signal } = await runner.createIteration();\n\n if (state.tool_name && state.tool_input) {\n const { output, success } = await runner.tool({\n state,\n emitter,\n meta,\n signal,\n });\n await runner.memory.add(\n new AssistantMessage(\n runner.templates.assistant.render({\n thought: [state.thought].filter(R.isTruthy),\n toolName: [state.tool_name].filter(R.isTruthy),\n toolInput: [state.tool_input].filter(R.isTruthy).map((call) => JSON.stringify(call)),\n toolOutput: [output],\n finalAnswer: [state.final_answer].filter(R.isTruthy),\n }),\n { success },\n ),\n );\n assign(state, { tool_output: output });\n\n for (const key of [\"partialUpdate\", \"update\"] as const) {\n await emitter.emit(key, {\n data: state,\n update: { key: \"tool_output\", value: output, parsedValue: output },\n meta: { success, ...meta },\n memory: runner.memory,\n });\n }\n }\n if (state.final_answer) {\n finalMessage = new AssistantMessage(state.final_answer, {\n createdAt: new Date(),\n });\n await runner.memory.add(finalMessage);\n await emitter.emit(\"success\", {\n data: finalMessage,\n iterations: runner.iterations,\n memory: runner.memory,\n meta,\n });\n }\n }\n\n if (input.prompt !== null) {\n await this.input.memory.add(\n new UserMessage(input.prompt, {\n createdAt: run.createdAt,\n }),\n );\n }\n\n await this.input.memory.add(finalMessage);\n return { result: finalMessage, iterations: runner.iterations, memory: runner.memory };\n }\n\n createSnapshot() {\n return {\n ...super.createSnapshot(),\n input: this.input,\n emitter: this.emitter,\n runner: this.runner,\n };\n }\n}\n"]}