beeai-framework 0.1.20 → 0.1.21

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 (365) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +4 -4
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  3. package/dist/adapters/a2a/agents/agent.d.cts +2 -2
  4. package/dist/adapters/a2a/agents/agent.d.ts +2 -2
  5. package/dist/adapters/a2a/agents/agent.js +4 -4
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  7. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  8. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  9. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  10. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  11. package/dist/adapters/a2a/agents/utils.cjs +2 -2
  12. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  13. package/dist/adapters/a2a/agents/utils.js +2 -2
  14. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  15. package/dist/adapters/a2a/serve/agent_executor.cjs +1 -3
  16. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  17. package/dist/adapters/a2a/serve/agent_executor.d.cts +4 -3
  18. package/dist/adapters/a2a/serve/agent_executor.d.ts +4 -3
  19. package/dist/adapters/a2a/serve/agent_executor.js +1 -3
  20. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  21. package/dist/adapters/a2a/serve/server.cjs +15 -0
  22. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  23. package/dist/adapters/a2a/serve/server.d.cts +4 -2
  24. package/dist/adapters/a2a/serve/server.d.ts +4 -2
  25. package/dist/adapters/a2a/serve/server.js +15 -0
  26. package/dist/adapters/a2a/serve/server.js.map +1 -1
  27. package/dist/adapters/acp/agents/agent.d.cts +2 -2
  28. package/dist/adapters/acp/agents/agent.d.ts +2 -2
  29. package/dist/adapters/acp/agents/events.d.cts +1 -1
  30. package/dist/adapters/acp/agents/events.d.ts +1 -1
  31. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.cjs +4 -4
  32. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -0
  33. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.cts +12 -12
  34. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.d.ts +12 -12
  35. package/dist/adapters/{beeai_platform → agentstack}/agents/agent.js +4 -4
  36. package/dist/adapters/agentstack/agents/agent.js.map +1 -0
  37. package/dist/adapters/agentstack/agents/events.d.cts +23 -0
  38. package/dist/adapters/agentstack/agents/events.d.ts +23 -0
  39. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.cts +4 -4
  40. package/dist/adapters/{beeai_platform → agentstack}/agents/types.d.ts +4 -4
  41. package/dist/adapters/amazon-bedrock/backend/chat.cjs +3 -2
  42. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  43. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +5 -6
  44. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +5 -6
  45. package/dist/adapters/amazon-bedrock/backend/chat.js +3 -2
  46. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  47. package/dist/adapters/amazon-bedrock/backend/embedding.cjs +2 -2
  48. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +4 -4
  50. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +4 -4
  51. package/dist/adapters/amazon-bedrock/backend/embedding.js +2 -2
  52. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  53. package/dist/adapters/anthropic/backend/chat.cjs +3 -2
  54. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  55. package/dist/adapters/anthropic/backend/chat.d.cts +5 -6
  56. package/dist/adapters/anthropic/backend/chat.d.ts +5 -6
  57. package/dist/adapters/anthropic/backend/chat.js +3 -2
  58. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  59. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  60. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  61. package/dist/adapters/azure-openai/backend/chat.cjs +3 -2
  62. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  63. package/dist/adapters/azure-openai/backend/chat.d.cts +5 -6
  64. package/dist/adapters/azure-openai/backend/chat.d.ts +5 -6
  65. package/dist/adapters/azure-openai/backend/chat.js +3 -2
  66. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  67. package/dist/adapters/azure-openai/backend/embedding.cjs +2 -2
  68. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  69. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -3
  70. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -3
  71. package/dist/adapters/azure-openai/backend/embedding.js +2 -2
  72. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  73. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  74. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  75. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  76. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  77. package/dist/adapters/google-vertex/backend/chat.cjs +3 -2
  78. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  79. package/dist/adapters/google-vertex/backend/chat.d.cts +5 -6
  80. package/dist/adapters/google-vertex/backend/chat.d.ts +5 -6
  81. package/dist/adapters/google-vertex/backend/chat.js +3 -2
  82. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  83. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  84. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  85. package/dist/adapters/groq/backend/chat.cjs +3 -2
  86. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  87. package/dist/adapters/groq/backend/chat.d.cts +5 -6
  88. package/dist/adapters/groq/backend/chat.d.ts +5 -6
  89. package/dist/adapters/groq/backend/chat.js +3 -2
  90. package/dist/adapters/groq/backend/chat.js.map +1 -1
  91. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  92. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  93. package/dist/adapters/langchain/backend/chat.cjs +6 -5
  94. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  95. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  96. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  97. package/dist/adapters/langchain/backend/chat.js +6 -5
  98. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  99. package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
  100. package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
  101. package/dist/adapters/langchain/tools.d.cts +1 -1
  102. package/dist/adapters/langchain/tools.d.ts +1 -1
  103. package/dist/adapters/ollama/backend/chat.cjs +1 -4
  104. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  105. package/dist/adapters/ollama/backend/chat.d.cts +4 -4
  106. package/dist/adapters/ollama/backend/chat.d.ts +4 -4
  107. package/dist/adapters/ollama/backend/chat.js +1 -4
  108. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  109. package/dist/adapters/ollama/backend/client.cjs +2 -2
  110. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  111. package/dist/adapters/ollama/backend/client.d.cts +1 -1
  112. package/dist/adapters/ollama/backend/client.d.ts +1 -1
  113. package/dist/adapters/ollama/backend/client.js +1 -1
  114. package/dist/adapters/ollama/backend/client.js.map +1 -1
  115. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  116. package/dist/adapters/ollama/backend/embedding.d.cts +3 -3
  117. package/dist/adapters/ollama/backend/embedding.d.ts +3 -3
  118. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  119. package/dist/adapters/openai/backend/chat.cjs +3 -2
  120. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  121. package/dist/adapters/openai/backend/chat.d.cts +5 -6
  122. package/dist/adapters/openai/backend/chat.d.ts +5 -6
  123. package/dist/adapters/openai/backend/chat.js +3 -2
  124. package/dist/adapters/openai/backend/chat.js.map +1 -1
  125. package/dist/adapters/openai/backend/client.cjs +2 -11
  126. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  127. package/dist/adapters/openai/backend/client.js +3 -12
  128. package/dist/adapters/openai/backend/client.js.map +1 -1
  129. package/dist/adapters/openai/backend/embedding.cjs +2 -2
  130. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  131. package/dist/adapters/openai/backend/embedding.d.cts +4 -4
  132. package/dist/adapters/openai/backend/embedding.d.ts +4 -4
  133. package/dist/adapters/openai/backend/embedding.js +2 -2
  134. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  135. package/dist/adapters/vercel/backend/chat.cjs +26 -21
  136. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  137. package/dist/adapters/vercel/backend/chat.d.cts +6 -4
  138. package/dist/adapters/vercel/backend/chat.d.ts +6 -4
  139. package/dist/adapters/vercel/backend/chat.js +27 -22
  140. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  141. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  142. package/dist/adapters/vercel/backend/embedding.d.cts +3 -3
  143. package/dist/adapters/vercel/backend/embedding.d.ts +3 -3
  144. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  145. package/dist/adapters/vercel/backend/utils.cjs +11 -0
  146. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  147. package/dist/adapters/vercel/backend/utils.d.cts +19 -2
  148. package/dist/adapters/vercel/backend/utils.d.ts +19 -2
  149. package/dist/adapters/vercel/backend/utils.js +11 -1
  150. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  151. package/dist/adapters/watsonx/backend/chat.cjs +10 -4
  152. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  153. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  154. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  155. package/dist/adapters/watsonx/backend/chat.js +10 -4
  156. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  157. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  158. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  159. package/dist/adapters/xai/backend/chat.cjs +3 -2
  160. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  161. package/dist/adapters/xai/backend/chat.d.cts +5 -6
  162. package/dist/adapters/xai/backend/chat.d.ts +5 -6
  163. package/dist/adapters/xai/backend/chat.js +3 -2
  164. package/dist/adapters/xai/backend/chat.js.map +1 -1
  165. package/dist/{agent-CtrCeN7o.d.ts → agent-CHebzsQB.d.ts} +3 -3
  166. package/dist/{agent-I0Saf4A1.d.cts → agent-DvvVGvLr.d.cts} +3 -3
  167. package/dist/agents/base.d.cts +2 -2
  168. package/dist/agents/base.d.ts +2 -2
  169. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  170. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  171. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  172. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  173. package/dist/agents/experimental/streamlit/agent.d.cts +3 -3
  174. package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
  175. package/dist/agents/react/agent.d.cts +5 -4
  176. package/dist/agents/react/agent.d.ts +5 -4
  177. package/dist/agents/react/runners/base.cjs.map +1 -1
  178. package/dist/agents/react/runners/base.d.cts +5 -4
  179. package/dist/agents/react/runners/base.d.ts +5 -4
  180. package/dist/agents/react/runners/base.js.map +1 -1
  181. package/dist/agents/react/runners/deep-think/runner.d.cts +5 -4
  182. package/dist/agents/react/runners/deep-think/runner.d.ts +5 -4
  183. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  184. package/dist/agents/react/runners/default/runner.d.cts +5 -4
  185. package/dist/agents/react/runners/default/runner.d.ts +5 -4
  186. package/dist/agents/react/runners/default/runner.js.map +1 -1
  187. package/dist/agents/react/runners/granite/runner.cjs +4 -2
  188. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  189. package/dist/agents/react/runners/granite/runner.d.cts +5 -4
  190. package/dist/agents/react/runners/granite/runner.d.ts +5 -4
  191. package/dist/agents/react/runners/granite/runner.js +4 -2
  192. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  193. package/dist/agents/react/types.d.cts +3 -2
  194. package/dist/agents/react/types.d.ts +3 -2
  195. package/dist/agents/toolCalling/agent.cjs +9 -5
  196. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  197. package/dist/agents/toolCalling/agent.d.cts +3 -3
  198. package/dist/agents/toolCalling/agent.d.ts +3 -3
  199. package/dist/agents/toolCalling/agent.js +9 -5
  200. package/dist/agents/toolCalling/agent.js.map +1 -1
  201. package/dist/agents/toolCalling/types.d.cts +1 -1
  202. package/dist/agents/toolCalling/types.d.ts +1 -1
  203. package/dist/agents/types.d.cts +2 -2
  204. package/dist/agents/types.d.ts +2 -2
  205. package/dist/backend/backend.d.cts +2 -2
  206. package/dist/backend/backend.d.ts +2 -2
  207. package/dist/backend/chat.cjs +1 -1
  208. package/dist/backend/chat.cjs.map +1 -1
  209. package/dist/backend/chat.d.cts +2 -2
  210. package/dist/backend/chat.d.ts +2 -2
  211. package/dist/backend/chat.js +1 -1
  212. package/dist/backend/chat.js.map +1 -1
  213. package/dist/backend/core.d.cts +2 -2
  214. package/dist/backend/core.d.ts +2 -2
  215. package/dist/backend/embedding.d.cts +2 -2
  216. package/dist/backend/embedding.d.ts +2 -2
  217. package/dist/backend/message.cjs +59 -3
  218. package/dist/backend/message.cjs.map +1 -1
  219. package/dist/backend/message.d.cts +3 -0
  220. package/dist/backend/message.d.ts +3 -0
  221. package/dist/backend/message.js +59 -3
  222. package/dist/backend/message.js.map +1 -1
  223. package/dist/backend/utils.d.cts +2 -2
  224. package/dist/backend/utils.d.ts +2 -2
  225. package/dist/{base-BsY2baWy.d.ts → base-BQgDlcGa.d.ts} +1 -1
  226. package/dist/{base-BP7v-NSL.d.cts → base-CwcxwybB.d.cts} +1 -1
  227. package/dist/cache/fileCache.cjs.map +1 -1
  228. package/dist/cache/fileCache.js.map +1 -1
  229. package/dist/{chat-W9j8T6UU.d.ts → chat-C0s-o6ll.d.ts} +4 -2
  230. package/dist/{chat-CR4yfOR9.d.cts → chat-CRb3vUVg.d.cts} +4 -2
  231. package/dist/context.d.cts +1 -1
  232. package/dist/context.d.ts +1 -1
  233. package/dist/emitter/emitter.d.cts +1 -1
  234. package/dist/emitter/emitter.d.ts +1 -1
  235. package/dist/emitter/types.d.cts +1 -1
  236. package/dist/emitter/types.d.ts +1 -1
  237. package/dist/{emitter-C9nwGLt6.d.ts → emitter-CZFbzlUi.d.ts} +3 -3
  238. package/dist/{emitter-DWEsd-ud.d.cts → emitter-DpqUYjXH.d.cts} +3 -3
  239. package/dist/index.d.cts +3 -3
  240. package/dist/index.d.ts +3 -3
  241. package/dist/internals/fetcher.d.cts +1 -1
  242. package/dist/internals/fetcher.d.ts +1 -1
  243. package/dist/internals/helpers/array.cjs +35 -0
  244. package/dist/internals/helpers/array.cjs.map +1 -1
  245. package/dist/internals/helpers/array.d.cts +6 -1
  246. package/dist/internals/helpers/array.d.ts +6 -1
  247. package/dist/internals/helpers/array.js +35 -1
  248. package/dist/internals/helpers/array.js.map +1 -1
  249. package/dist/internals/helpers/object.cjs +30 -5
  250. package/dist/internals/helpers/object.cjs.map +1 -1
  251. package/dist/internals/helpers/object.d.cts +3 -2
  252. package/dist/internals/helpers/object.d.ts +3 -2
  253. package/dist/internals/helpers/object.js +29 -5
  254. package/dist/internals/helpers/object.js.map +1 -1
  255. package/dist/logger/logger.cjs +8 -4
  256. package/dist/logger/logger.cjs.map +1 -1
  257. package/dist/logger/logger.d.cts +21 -15
  258. package/dist/logger/logger.d.ts +21 -15
  259. package/dist/logger/logger.js +6 -3
  260. package/dist/logger/logger.js.map +1 -1
  261. package/dist/logger/pretty.cjs +2 -2
  262. package/dist/logger/pretty.cjs.map +1 -1
  263. package/dist/logger/pretty.js +2 -2
  264. package/dist/logger/pretty.js.map +1 -1
  265. package/dist/memory/slidingMemory.d.cts +1 -1
  266. package/dist/memory/slidingMemory.d.ts +1 -1
  267. package/dist/memory/summarizeMemory.d.cts +2 -2
  268. package/dist/memory/summarizeMemory.d.ts +2 -2
  269. package/dist/parsers/linePrefix.cjs.map +1 -1
  270. package/dist/parsers/linePrefix.d.cts +4 -8
  271. package/dist/parsers/linePrefix.d.ts +4 -8
  272. package/dist/parsers/linePrefix.js.map +1 -1
  273. package/dist/serializer/utils.cjs.map +1 -1
  274. package/dist/serializer/utils.js.map +1 -1
  275. package/dist/tools/arxiv.cjs.map +1 -1
  276. package/dist/tools/arxiv.d.cts +1 -1
  277. package/dist/tools/arxiv.d.ts +1 -1
  278. package/dist/tools/arxiv.js.map +1 -1
  279. package/dist/tools/base.cjs.map +1 -1
  280. package/dist/tools/base.d.cts +1 -1
  281. package/dist/tools/base.d.ts +1 -1
  282. package/dist/tools/base.js.map +1 -1
  283. package/dist/tools/calculator.d.cts +1 -1
  284. package/dist/tools/calculator.d.ts +1 -1
  285. package/dist/tools/custom.d.cts +2 -2
  286. package/dist/tools/custom.d.ts +2 -2
  287. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  288. package/dist/tools/database/elasticsearch.d.cts +1 -1
  289. package/dist/tools/database/elasticsearch.d.ts +1 -1
  290. package/dist/tools/database/elasticsearch.js.map +1 -1
  291. package/dist/tools/database/milvus.cjs +3 -3
  292. package/dist/tools/database/milvus.cjs.map +1 -1
  293. package/dist/tools/database/milvus.d.cts +3 -3
  294. package/dist/tools/database/milvus.d.ts +3 -3
  295. package/dist/tools/database/milvus.js +3 -3
  296. package/dist/tools/database/milvus.js.map +1 -1
  297. package/dist/tools/database/qdrant.cjs +2 -2
  298. package/dist/tools/database/qdrant.cjs.map +1 -1
  299. package/dist/tools/database/qdrant.d.cts +1 -1
  300. package/dist/tools/database/qdrant.d.ts +1 -1
  301. package/dist/tools/database/qdrant.js +2 -2
  302. package/dist/tools/database/qdrant.js.map +1 -1
  303. package/dist/tools/database/sql.cjs.map +1 -1
  304. package/dist/tools/database/sql.d.cts +1 -1
  305. package/dist/tools/database/sql.d.ts +1 -1
  306. package/dist/tools/database/sql.js.map +1 -1
  307. package/dist/tools/llm.d.cts +2 -2
  308. package/dist/tools/llm.d.ts +2 -2
  309. package/dist/tools/mcp.d.cts +1 -1
  310. package/dist/tools/mcp.d.ts +1 -1
  311. package/dist/tools/openapi.d.cts +1 -1
  312. package/dist/tools/openapi.d.ts +1 -1
  313. package/dist/tools/python/output.d.cts +1 -1
  314. package/dist/tools/python/output.d.ts +1 -1
  315. package/dist/tools/python/python.d.cts +2 -2
  316. package/dist/tools/python/python.d.ts +2 -2
  317. package/dist/tools/search/base.cjs.map +1 -1
  318. package/dist/tools/search/base.d.cts +1 -1
  319. package/dist/tools/search/base.d.ts +1 -1
  320. package/dist/tools/search/base.js.map +1 -1
  321. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  322. package/dist/tools/search/duckDuckGoSearch.d.cts +1 -1
  323. package/dist/tools/search/duckDuckGoSearch.d.ts +1 -1
  324. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  325. package/dist/tools/search/googleSearch.cjs.map +1 -1
  326. package/dist/tools/search/googleSearch.d.cts +1 -1
  327. package/dist/tools/search/googleSearch.d.ts +1 -1
  328. package/dist/tools/search/googleSearch.js.map +1 -1
  329. package/dist/tools/search/searXNGSearch.d.cts +1 -1
  330. package/dist/tools/search/searXNGSearch.d.ts +1 -1
  331. package/dist/tools/search/wikipedia.cjs +25 -0
  332. package/dist/tools/search/wikipedia.cjs.map +1 -1
  333. package/dist/tools/search/wikipedia.d.cts +2 -3
  334. package/dist/tools/search/wikipedia.d.ts +2 -3
  335. package/dist/tools/search/wikipedia.js +23 -0
  336. package/dist/tools/search/wikipedia.js.map +1 -1
  337. package/dist/tools/similarity.d.cts +1 -1
  338. package/dist/tools/similarity.d.ts +1 -1
  339. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  340. package/dist/tools/weather/openMeteo.d.cts +1 -1
  341. package/dist/tools/weather/openMeteo.d.ts +1 -1
  342. package/dist/tools/weather/openMeteo.js.map +1 -1
  343. package/dist/tools/web/webCrawler.cjs.map +1 -1
  344. package/dist/tools/web/webCrawler.d.cts +1 -1
  345. package/dist/tools/web/webCrawler.d.ts +1 -1
  346. package/dist/tools/web/webCrawler.js.map +1 -1
  347. package/dist/version.cjs +1 -1
  348. package/dist/version.js +1 -1
  349. package/dist/workflows/agent.d.cts +3 -3
  350. package/dist/workflows/agent.d.ts +3 -3
  351. package/dist/workflows/workflow.d.cts +1 -1
  352. package/dist/workflows/workflow.d.ts +1 -1
  353. package/package.json +68 -67
  354. package/dist/adapters/beeai_platform/agents/agent.cjs.map +0 -1
  355. package/dist/adapters/beeai_platform/agents/agent.js.map +0 -1
  356. package/dist/adapters/beeai_platform/agents/events.d.cts +0 -23
  357. package/dist/adapters/beeai_platform/agents/events.d.ts +0 -23
  358. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs +0 -0
  359. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.cjs.map +0 -0
  360. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js +0 -0
  361. /package/dist/adapters/{beeai_platform → agentstack}/agents/events.js.map +0 -0
  362. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs +0 -0
  363. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.cjs.map +0 -0
  364. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js +0 -0
  365. /package/dist/adapters/{beeai_platform → agentstack}/agents/types.js.map +0 -0
@@ -4,6 +4,10 @@ var serializable_cjs = require('../internals/serializable.cjs');
4
4
  var utils_cjs = require('../serializer/utils.cjs');
5
5
  var zod = require('zod');
6
6
  var errors_cjs = require('../errors.cjs');
7
+ var object_cjs = require('../internals/helpers/object.cjs');
8
+ var logger_cjs = require('../logger/logger.cjs');
9
+ var remeda = require('remeda');
10
+ var array_cjs = require('../internals/helpers/array.cjs');
7
11
 
8
12
  var __defProp = Object.defineProperty;
9
13
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -47,6 +51,14 @@ class Message extends serializable_cjs.Serializable {
47
51
  content
48
52
  ];
49
53
  }
54
+ for (const chunk of this.content) {
55
+ this.assertContent(chunk);
56
+ }
57
+ this.content = array_cjs.watchArray(this.content, {
58
+ onAdd: this.assertContent
59
+ });
60
+ }
61
+ assertContent(content) {
50
62
  }
51
63
  static of({ role, text, meta }) {
52
64
  if (role === "user") {
@@ -113,6 +125,20 @@ class AssistantMessage extends Message {
113
125
  text
114
126
  };
115
127
  }
128
+ assertContent(content) {
129
+ if (content.type === "tool-call") {
130
+ const key = "args";
131
+ const args = object_cjs.popProp(content, key);
132
+ if (args !== null && !object_cjs.hasProp(content, "input")) {
133
+ logger_cjs.Logger.root.warn(`The '${key}' property in the AssistantMessage class is deprecated and will be removed. Use the 'input' property for Tool Call content chunks instead.`);
134
+ content.input = args;
135
+ }
136
+ object_cjs.safeDefineProperty(content, key, () => {
137
+ logger_cjs.Logger.root.warn(`The '${key}' property in the Tool Call is deprecated and will be removed. Use the 'input' property instead.`);
138
+ return content.input;
139
+ });
140
+ }
141
+ }
116
142
  }
117
143
  class ToolMessage extends Message {
118
144
  static {
@@ -126,17 +152,47 @@ class ToolMessage extends Message {
126
152
  return this.content.filter(isToolResult);
127
153
  }
128
154
  fromString(text) {
129
- const { success, data } = zod.z.object({
155
+ const schema = zod.z.object({
130
156
  type: zod.z.literal("tool-result"),
131
- result: zod.z.any(),
132
157
  toolName: zod.z.string(),
133
158
  toolCallId: zod.z.string()
134
- }).safeParse(text);
159
+ }).and(zod.z.object({
160
+ output: zod.z.any()
161
+ }).or(zod.z.object({
162
+ result: zod.z.any()
163
+ })));
164
+ const { success, data } = schema.safeParse(text);
135
165
  if (!success) {
136
166
  throw new errors_cjs.ValueError(`ToolMessage cannot be created from '${text}'!`);
137
167
  }
138
168
  return data;
139
169
  }
170
+ assertContent(content) {
171
+ const result = object_cjs.popProp(content, "result", null);
172
+ const isError = object_cjs.popProp(content, "isError", false);
173
+ if (result !== null && !object_cjs.hasProp(content, "output")) {
174
+ logger_cjs.Logger.root.warn("The 'result' property in the ToolMessage class is deprecated and will be removed. Use the 'output' property for content chunks instead.");
175
+ if (remeda.isString(result)) {
176
+ content.output = {
177
+ type: isError ? "error-text" : "text",
178
+ value: result
179
+ };
180
+ } else {
181
+ content.output = {
182
+ type: isError ? "error-json" : "json",
183
+ value: result
184
+ };
185
+ }
186
+ }
187
+ object_cjs.safeDefineProperty(content, "result", () => {
188
+ logger_cjs.Logger.root.warn("The 'result' property of Tool Message is deprecated and will be removed. Use the 'output.value' property instead.");
189
+ return content.output.value;
190
+ });
191
+ object_cjs.safeDefineProperty(content, "isError", () => {
192
+ logger_cjs.Logger.root.warn("The 'isError' property of Tool Message is deprecated and will be removed. Use the 'output.type' property instead.");
193
+ return content.output.type.includes("error");
194
+ });
195
+ }
140
196
  }
141
197
  class SystemMessage extends Message {
142
198
  static {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/backend/message.ts"],"names":["isText","content","type","isImage","isFile","isToolCall","isToolResult","Message","Serializable","meta","createdAt","Date","fromString","Array","isArray","of","role","text","UserMessage","AssistantMessage","SystemMessage","ToolMessage","CustomMessage","getTexts","map","c","join","filter","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign","toPlain","merge","other","push","fromChunks","chunks","instance","forEach","chunk","Symbol","iterator","register","getToolCalls","getToolResults","success","data","z","object","literal","result","any","toolName","string","toolCallId","safeParse","ValueError","getImages","getFiles","Role","ASSISTANT","SYSTEM","USER","input"],"mappings":"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","file":"message.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { FilePart, ImagePart, TextPart, ToolCallPart, ToolResultPart } from \"ai\";\nimport { z } from \"zod\";\nimport { ValueError } from \"@/errors.js\";\n\nexport type MessageRole = \"user\" | \"system\" | \"tool\" | \"assistant\";\nexport type MessageContentPart = TextPart | ToolCallPart | ImagePart | FilePart | ToolResultPart;\n\nexport interface MessageMeta {\n [key: string]: any;\n createdAt?: Date;\n}\n\nexport interface MessageInput {\n role: MessageRole;\n text: string; // TODO\n meta?: MessageMeta;\n}\n\nfunction isText(content: MessageContentPart): content is TextPart {\n return content.type === \"text\";\n}\nfunction isImage(content: MessageContentPart): content is ImagePart {\n return content.type === \"image\";\n}\nfunction isFile(content: MessageContentPart): content is FilePart {\n return content.type === \"file\";\n}\nfunction isToolCall(content: MessageContentPart): content is ToolCallPart {\n return content.type === \"tool-call\";\n}\nfunction isToolResult(content: MessageContentPart): content is ToolResultPart {\n return content.type === \"tool-result\";\n}\n\nexport abstract class Message<\n T extends MessageContentPart = MessageContentPart,\n R extends string = MessageRole | string,\n> extends Serializable {\n public abstract readonly role: R;\n public readonly content: T[];\n\n constructor(\n content: T | T[] | string,\n public readonly meta: MessageMeta = {},\n ) {\n super();\n if (!meta?.createdAt) {\n meta.createdAt = new Date();\n }\n if (typeof content === \"string\") {\n this.content = [this.fromString(content)];\n } else {\n this.content = Array.isArray(content) ? content : [content];\n }\n }\n\n protected abstract fromString(input: string): T;\n\n static of({ role, text, meta }: MessageInput): Message {\n if (role === \"user\") {\n return new UserMessage(text, meta);\n } else if (role === \"assistant\") {\n return new AssistantMessage(text, meta);\n } else if (role === \"system\") {\n return new SystemMessage(text, meta);\n } else if (role === \"tool\") {\n return new ToolMessage(text, meta);\n } else {\n return new CustomMessage(role, text, meta);\n }\n }\n\n get text() {\n return this.getTexts()\n .map((c) => c.text)\n .join(\"\");\n }\n\n getTexts() {\n return this.content.filter(isText) as TextPart[];\n }\n\n createSnapshot() {\n return { content: shallowCopy(this.content), meta: shallowCopy(this.meta), role: this.role };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n\n toPlain() {\n return { role: this.role, content: shallowCopy(this.content) } as const;\n }\n\n merge(other: Message<T, R>) {\n Object.assign(this, other.meta);\n this.content.push(...other.content);\n }\n\n static fromChunks<M2 extends Message>(this: new (...args: any[]) => M2, chunks: M2[]): M2 {\n const instance = new this([]);\n chunks.forEach((chunk) => instance.merge(chunk));\n return instance;\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.content[Symbol.iterator]();\n }\n}\n\nexport class AssistantMessage extends Message<TextPart | ToolCallPart | FilePart> {\n public readonly role = \"assistant\";\n\n static {\n this.register();\n }\n\n getToolCalls() {\n return this.content.filter(isToolCall);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class ToolMessage extends Message<ToolResultPart> {\n public readonly role = \"tool\";\n\n static {\n this.register();\n }\n\n getToolResults() {\n return this.content.filter(isToolResult);\n }\n\n protected fromString(text: string): ToolResultPart {\n const { success, data } = z\n .object({\n type: z.literal(\"tool-result\"),\n result: z.any(),\n toolName: z.string(),\n toolCallId: z.string(),\n })\n .safeParse(text);\n\n if (!success) {\n throw new ValueError(`ToolMessage cannot be created from '${text}'!`);\n }\n\n return data as ToolResultPart;\n }\n}\n\nexport class SystemMessage extends Message<TextPart> {\n public readonly role: MessageRole = \"system\";\n\n static {\n this.register();\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class UserMessage extends Message<TextPart | ImagePart | FilePart> {\n public readonly role = \"user\";\n\n static {\n this.register();\n }\n\n getImages() {\n return this.content.filter(isImage);\n }\n\n getFiles() {\n return this.content.filter(isFile);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport const Role = {\n ASSISTANT: \"assistant\",\n SYSTEM: \"system\",\n USER: \"user\",\n} as const;\n\nexport class CustomMessage extends Message<MessageContentPart, string> {\n public role: string;\n\n constructor(role: string, content: MessageContentPart | string, meta: MessageMeta = {}) {\n super(content, meta);\n if (!role) {\n throw new ValueError(`Role \"${role}\" must be specified!`);\n }\n this.role = role;\n }\n\n protected fromString(input: string): MessageContentPart {\n return { type: \"text\", text: input };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/backend/message.ts"],"names":["isText","content","type","isImage","isFile","isToolCall","isToolResult","Message","Serializable","meta","createdAt","Date","fromString","Array","isArray","chunk","assertContent","watchArray","onAdd","of","role","text","UserMessage","AssistantMessage","SystemMessage","ToolMessage","CustomMessage","getTexts","map","c","join","filter","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign","toPlain","merge","other","push","fromChunks","chunks","instance","forEach","Symbol","iterator","register","getToolCalls","key","args","popProp","hasProp","Logger","root","warn","input","safeDefineProperty","getToolResults","schema","z","object","literal","toolName","string","toolCallId","and","output","any","or","result","success","data","safeParse","ValueError","isError","isString","value","includes","getImages","getFiles","Role","ASSISTANT","SYSTEM","USER"],"mappings":"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","file":"message.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { FilePart, ImagePart, TextPart, ToolCallPart, ToolResultPart } from \"ai\";\nimport { z } from \"zod\";\nimport { ValueError } from \"@/errors.js\";\nimport { hasProp, popProp, safeDefineProperty } from \"@/internals/helpers/object.js\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { isString } from \"remeda\";\nimport { watchArray } from \"@/internals/helpers/array.js\";\n\nexport type MessageRole = \"user\" | \"system\" | \"tool\" | \"assistant\";\nexport type MessageContentPart = TextPart | ToolCallPart | ImagePart | FilePart | ToolResultPart;\n\nexport interface MessageMeta {\n [key: string]: any;\n createdAt?: Date;\n}\n\nexport interface MessageInput {\n role: MessageRole;\n text: string; // TODO\n meta?: MessageMeta;\n}\n\nfunction isText(content: MessageContentPart): content is TextPart {\n return content.type === \"text\";\n}\nfunction isImage(content: MessageContentPart): content is ImagePart {\n return content.type === \"image\";\n}\nfunction isFile(content: MessageContentPart): content is FilePart {\n return content.type === \"file\";\n}\nfunction isToolCall(content: MessageContentPart): content is ToolCallPart {\n return content.type === \"tool-call\";\n}\nfunction isToolResult(content: MessageContentPart): content is ToolResultPart {\n return content.type === \"tool-result\";\n}\n\nexport abstract class Message<\n T extends MessageContentPart = MessageContentPart,\n R extends string = MessageRole | string,\n> extends Serializable {\n public abstract readonly role: R;\n public readonly content: T[];\n\n constructor(\n content: T | T[] | string,\n public readonly meta: MessageMeta = {},\n ) {\n super();\n if (!meta?.createdAt) {\n meta.createdAt = new Date();\n }\n if (typeof content === \"string\") {\n this.content = [this.fromString(content)];\n } else {\n this.content = Array.isArray(content) ? content : [content];\n }\n for (const chunk of this.content) {\n this.assertContent(chunk);\n }\n this.content = watchArray(this.content, {\n onAdd: this.assertContent,\n });\n }\n\n protected assertContent(content: T): asserts content is T {}\n\n protected abstract fromString(input: string): T;\n\n static of({ role, text, meta }: MessageInput): Message {\n if (role === \"user\") {\n return new UserMessage(text, meta);\n } else if (role === \"assistant\") {\n return new AssistantMessage(text, meta);\n } else if (role === \"system\") {\n return new SystemMessage(text, meta);\n } else if (role === \"tool\") {\n return new ToolMessage(text, meta);\n } else {\n return new CustomMessage(role, text, meta);\n }\n }\n\n get text() {\n return this.getTexts()\n .map((c) => c.text)\n .join(\"\");\n }\n\n getTexts() {\n return this.content.filter(isText) as TextPart[];\n }\n\n createSnapshot() {\n return { content: shallowCopy(this.content), meta: shallowCopy(this.meta), role: this.role };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n\n toPlain() {\n return { role: this.role, content: shallowCopy(this.content) } as const;\n }\n\n merge(other: Message<T, R>) {\n Object.assign(this, other.meta);\n this.content.push(...other.content);\n }\n\n static fromChunks<M2 extends Message>(this: new (...args: any[]) => M2, chunks: M2[]): M2 {\n const instance = new this([]);\n chunks.forEach((chunk) => instance.merge(chunk));\n return instance;\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.content[Symbol.iterator]();\n }\n}\n\nexport class AssistantMessage extends Message<TextPart | ToolCallPart | FilePart> {\n public readonly role = \"assistant\";\n\n static {\n this.register();\n }\n\n getToolCalls() {\n return this.content.filter(isToolCall);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n\n protected assertContent(\n content: TextPart | ToolCallPart | FilePart,\n ): asserts content is TextPart | ToolCallPart | FilePart {\n if (content.type === \"tool-call\") {\n const key = \"args\";\n const args = popProp(content as any, key);\n\n if (args !== null && !hasProp(content, \"input\")) {\n Logger.root.warn(\n `The '${key}' property in the AssistantMessage class is deprecated and will be removed. Use the 'input' property for Tool Call content chunks instead.`,\n );\n content.input = args;\n }\n\n safeDefineProperty(content, key as keyof typeof content, () => {\n Logger.root.warn(\n `The '${key}' property in the Tool Call is deprecated and will be removed. Use the 'input' property instead.`,\n );\n return content.input;\n });\n }\n }\n}\n\nexport class ToolMessage extends Message<ToolResultPart> {\n public readonly role = \"tool\";\n\n static {\n this.register();\n }\n\n getToolResults() {\n return this.content.filter(isToolResult);\n }\n\n protected fromString(text: string): ToolResultPart {\n const schema = z\n .object({\n type: z.literal(\"tool-result\"),\n toolName: z.string(),\n toolCallId: z.string(),\n })\n .and(z.object({ output: z.any() }).or(z.object({ result: z.any() })));\n\n const { success, data } = schema.safeParse(text);\n if (!success) {\n throw new ValueError(`ToolMessage cannot be created from '${text}'!`);\n }\n\n return data as ToolResultPart;\n }\n\n protected assertContent(content: ToolResultPart): asserts content is ToolResultPart {\n const result = popProp(content as any, \"result\", null);\n const isError = popProp(content as any, \"isError\", false);\n\n if (result !== null && !hasProp(content, \"output\")) {\n Logger.root.warn(\n \"The 'result' property in the ToolMessage class is deprecated and will be removed. Use the 'output' property for content chunks instead.\",\n );\n if (isString(result)) {\n content.output = { type: isError ? \"error-text\" : \"text\", value: result };\n } else {\n content.output = { type: isError ? \"error-json\" : \"json\", value: result };\n }\n }\n\n safeDefineProperty(content, \"result\" as any, () => {\n Logger.root.warn(\n \"The 'result' property of Tool Message is deprecated and will be removed. Use the 'output.value' property instead.\",\n );\n return content.output.value as any;\n });\n safeDefineProperty(content, \"isError\" as any, () => {\n Logger.root.warn(\n \"The 'isError' property of Tool Message is deprecated and will be removed. Use the 'output.type' property instead.\",\n );\n return content.output.type.includes(\"error\");\n });\n }\n}\n\nexport class SystemMessage extends Message<TextPart> {\n public readonly role: MessageRole = \"system\";\n\n static {\n this.register();\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class UserMessage extends Message<TextPart | ImagePart | FilePart> {\n public readonly role = \"user\";\n\n static {\n this.register();\n }\n\n getImages() {\n return this.content.filter(isImage);\n }\n\n getFiles() {\n return this.content.filter(isFile);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport const Role = {\n ASSISTANT: \"assistant\",\n SYSTEM: \"system\",\n USER: \"user\",\n} as const;\n\nexport class CustomMessage extends Message<MessageContentPart, string> {\n public role: string;\n\n constructor(role: string, content: MessageContentPart | string, meta: MessageMeta = {}) {\n super(content, meta);\n if (!role) {\n throw new ValueError(`Role \"${role}\" must be specified!`);\n }\n this.role = role;\n }\n\n protected fromString(input: string): MessageContentPart {\n return { type: \"text\", text: input };\n }\n}\n"]}
@@ -24,6 +24,7 @@ declare abstract class Message<T extends MessageContentPart = MessageContentPart
24
24
  abstract readonly role: R;
25
25
  readonly content: T[];
26
26
  constructor(content: T | T[] | string, meta?: MessageMeta);
27
+ protected assertContent(content: T): asserts content is T;
27
28
  protected abstract fromString(input: string): T;
28
29
  static of({ role, text, meta }: MessageInput): Message;
29
30
  get text(): string;
@@ -46,11 +47,13 @@ declare class AssistantMessage extends Message<TextPart | ToolCallPart | FilePar
46
47
  readonly role = "assistant";
47
48
  getToolCalls(): ToolCallPart[];
48
49
  protected fromString(text: string): TextPart;
50
+ protected assertContent(content: TextPart | ToolCallPart | FilePart): asserts content is TextPart | ToolCallPart | FilePart;
49
51
  }
50
52
  declare class ToolMessage extends Message<ToolResultPart> {
51
53
  readonly role = "tool";
52
54
  getToolResults(): ToolResultPart[];
53
55
  protected fromString(text: string): ToolResultPart;
56
+ protected assertContent(content: ToolResultPart): asserts content is ToolResultPart;
54
57
  }
55
58
  declare class SystemMessage extends Message<TextPart> {
56
59
  readonly role: MessageRole;
@@ -24,6 +24,7 @@ declare abstract class Message<T extends MessageContentPart = MessageContentPart
24
24
  abstract readonly role: R;
25
25
  readonly content: T[];
26
26
  constructor(content: T | T[] | string, meta?: MessageMeta);
27
+ protected assertContent(content: T): asserts content is T;
27
28
  protected abstract fromString(input: string): T;
28
29
  static of({ role, text, meta }: MessageInput): Message;
29
30
  get text(): string;
@@ -46,11 +47,13 @@ declare class AssistantMessage extends Message<TextPart | ToolCallPart | FilePar
46
47
  readonly role = "assistant";
47
48
  getToolCalls(): ToolCallPart[];
48
49
  protected fromString(text: string): TextPart;
50
+ protected assertContent(content: TextPart | ToolCallPart | FilePart): asserts content is TextPart | ToolCallPart | FilePart;
49
51
  }
50
52
  declare class ToolMessage extends Message<ToolResultPart> {
51
53
  readonly role = "tool";
52
54
  getToolResults(): ToolResultPart[];
53
55
  protected fromString(text: string): ToolResultPart;
56
+ protected assertContent(content: ToolResultPart): asserts content is ToolResultPart;
54
57
  }
55
58
  declare class SystemMessage extends Message<TextPart> {
56
59
  readonly role: MessageRole;
@@ -2,6 +2,10 @@ import { Serializable } from '../internals/serializable.js';
2
2
  import { shallowCopy } from '../serializer/utils.js';
3
3
  import { z } from 'zod';
4
4
  import { ValueError } from '../errors.js';
5
+ import { popProp, hasProp, safeDefineProperty } from '../internals/helpers/object.js';
6
+ import { Logger } from '../logger/logger.js';
7
+ import { isString } from 'remeda';
8
+ import { watchArray } from '../internals/helpers/array.js';
5
9
 
6
10
  var __defProp = Object.defineProperty;
7
11
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
@@ -45,6 +49,14 @@ class Message extends Serializable {
45
49
  content
46
50
  ];
47
51
  }
52
+ for (const chunk of this.content) {
53
+ this.assertContent(chunk);
54
+ }
55
+ this.content = watchArray(this.content, {
56
+ onAdd: this.assertContent
57
+ });
58
+ }
59
+ assertContent(content) {
48
60
  }
49
61
  static of({ role, text, meta }) {
50
62
  if (role === "user") {
@@ -111,6 +123,20 @@ class AssistantMessage extends Message {
111
123
  text
112
124
  };
113
125
  }
126
+ assertContent(content) {
127
+ if (content.type === "tool-call") {
128
+ const key = "args";
129
+ const args = popProp(content, key);
130
+ if (args !== null && !hasProp(content, "input")) {
131
+ Logger.root.warn(`The '${key}' property in the AssistantMessage class is deprecated and will be removed. Use the 'input' property for Tool Call content chunks instead.`);
132
+ content.input = args;
133
+ }
134
+ safeDefineProperty(content, key, () => {
135
+ Logger.root.warn(`The '${key}' property in the Tool Call is deprecated and will be removed. Use the 'input' property instead.`);
136
+ return content.input;
137
+ });
138
+ }
139
+ }
114
140
  }
115
141
  class ToolMessage extends Message {
116
142
  static {
@@ -124,17 +150,47 @@ class ToolMessage extends Message {
124
150
  return this.content.filter(isToolResult);
125
151
  }
126
152
  fromString(text) {
127
- const { success, data } = z.object({
153
+ const schema = z.object({
128
154
  type: z.literal("tool-result"),
129
- result: z.any(),
130
155
  toolName: z.string(),
131
156
  toolCallId: z.string()
132
- }).safeParse(text);
157
+ }).and(z.object({
158
+ output: z.any()
159
+ }).or(z.object({
160
+ result: z.any()
161
+ })));
162
+ const { success, data } = schema.safeParse(text);
133
163
  if (!success) {
134
164
  throw new ValueError(`ToolMessage cannot be created from '${text}'!`);
135
165
  }
136
166
  return data;
137
167
  }
168
+ assertContent(content) {
169
+ const result = popProp(content, "result", null);
170
+ const isError = popProp(content, "isError", false);
171
+ if (result !== null && !hasProp(content, "output")) {
172
+ Logger.root.warn("The 'result' property in the ToolMessage class is deprecated and will be removed. Use the 'output' property for content chunks instead.");
173
+ if (isString(result)) {
174
+ content.output = {
175
+ type: isError ? "error-text" : "text",
176
+ value: result
177
+ };
178
+ } else {
179
+ content.output = {
180
+ type: isError ? "error-json" : "json",
181
+ value: result
182
+ };
183
+ }
184
+ }
185
+ safeDefineProperty(content, "result", () => {
186
+ Logger.root.warn("The 'result' property of Tool Message is deprecated and will be removed. Use the 'output.value' property instead.");
187
+ return content.output.value;
188
+ });
189
+ safeDefineProperty(content, "isError", () => {
190
+ Logger.root.warn("The 'isError' property of Tool Message is deprecated and will be removed. Use the 'output.type' property instead.");
191
+ return content.output.type.includes("error");
192
+ });
193
+ }
138
194
  }
139
195
  class SystemMessage extends Message {
140
196
  static {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/backend/message.ts"],"names":["isText","content","type","isImage","isFile","isToolCall","isToolResult","Message","Serializable","meta","createdAt","Date","fromString","Array","isArray","of","role","text","UserMessage","AssistantMessage","SystemMessage","ToolMessage","CustomMessage","getTexts","map","c","join","filter","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign","toPlain","merge","other","push","fromChunks","chunks","instance","forEach","chunk","Symbol","iterator","register","getToolCalls","getToolResults","success","data","z","object","literal","result","any","toolName","string","toolCallId","safeParse","ValueError","getImages","getFiles","Role","ASSISTANT","SYSTEM","USER","input"],"mappings":"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","file":"message.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { FilePart, ImagePart, TextPart, ToolCallPart, ToolResultPart } from \"ai\";\nimport { z } from \"zod\";\nimport { ValueError } from \"@/errors.js\";\n\nexport type MessageRole = \"user\" | \"system\" | \"tool\" | \"assistant\";\nexport type MessageContentPart = TextPart | ToolCallPart | ImagePart | FilePart | ToolResultPart;\n\nexport interface MessageMeta {\n [key: string]: any;\n createdAt?: Date;\n}\n\nexport interface MessageInput {\n role: MessageRole;\n text: string; // TODO\n meta?: MessageMeta;\n}\n\nfunction isText(content: MessageContentPart): content is TextPart {\n return content.type === \"text\";\n}\nfunction isImage(content: MessageContentPart): content is ImagePart {\n return content.type === \"image\";\n}\nfunction isFile(content: MessageContentPart): content is FilePart {\n return content.type === \"file\";\n}\nfunction isToolCall(content: MessageContentPart): content is ToolCallPart {\n return content.type === \"tool-call\";\n}\nfunction isToolResult(content: MessageContentPart): content is ToolResultPart {\n return content.type === \"tool-result\";\n}\n\nexport abstract class Message<\n T extends MessageContentPart = MessageContentPart,\n R extends string = MessageRole | string,\n> extends Serializable {\n public abstract readonly role: R;\n public readonly content: T[];\n\n constructor(\n content: T | T[] | string,\n public readonly meta: MessageMeta = {},\n ) {\n super();\n if (!meta?.createdAt) {\n meta.createdAt = new Date();\n }\n if (typeof content === \"string\") {\n this.content = [this.fromString(content)];\n } else {\n this.content = Array.isArray(content) ? content : [content];\n }\n }\n\n protected abstract fromString(input: string): T;\n\n static of({ role, text, meta }: MessageInput): Message {\n if (role === \"user\") {\n return new UserMessage(text, meta);\n } else if (role === \"assistant\") {\n return new AssistantMessage(text, meta);\n } else if (role === \"system\") {\n return new SystemMessage(text, meta);\n } else if (role === \"tool\") {\n return new ToolMessage(text, meta);\n } else {\n return new CustomMessage(role, text, meta);\n }\n }\n\n get text() {\n return this.getTexts()\n .map((c) => c.text)\n .join(\"\");\n }\n\n getTexts() {\n return this.content.filter(isText) as TextPart[];\n }\n\n createSnapshot() {\n return { content: shallowCopy(this.content), meta: shallowCopy(this.meta), role: this.role };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n\n toPlain() {\n return { role: this.role, content: shallowCopy(this.content) } as const;\n }\n\n merge(other: Message<T, R>) {\n Object.assign(this, other.meta);\n this.content.push(...other.content);\n }\n\n static fromChunks<M2 extends Message>(this: new (...args: any[]) => M2, chunks: M2[]): M2 {\n const instance = new this([]);\n chunks.forEach((chunk) => instance.merge(chunk));\n return instance;\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.content[Symbol.iterator]();\n }\n}\n\nexport class AssistantMessage extends Message<TextPart | ToolCallPart | FilePart> {\n public readonly role = \"assistant\";\n\n static {\n this.register();\n }\n\n getToolCalls() {\n return this.content.filter(isToolCall);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class ToolMessage extends Message<ToolResultPart> {\n public readonly role = \"tool\";\n\n static {\n this.register();\n }\n\n getToolResults() {\n return this.content.filter(isToolResult);\n }\n\n protected fromString(text: string): ToolResultPart {\n const { success, data } = z\n .object({\n type: z.literal(\"tool-result\"),\n result: z.any(),\n toolName: z.string(),\n toolCallId: z.string(),\n })\n .safeParse(text);\n\n if (!success) {\n throw new ValueError(`ToolMessage cannot be created from '${text}'!`);\n }\n\n return data as ToolResultPart;\n }\n}\n\nexport class SystemMessage extends Message<TextPart> {\n public readonly role: MessageRole = \"system\";\n\n static {\n this.register();\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class UserMessage extends Message<TextPart | ImagePart | FilePart> {\n public readonly role = \"user\";\n\n static {\n this.register();\n }\n\n getImages() {\n return this.content.filter(isImage);\n }\n\n getFiles() {\n return this.content.filter(isFile);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport const Role = {\n ASSISTANT: \"assistant\",\n SYSTEM: \"system\",\n USER: \"user\",\n} as const;\n\nexport class CustomMessage extends Message<MessageContentPart, string> {\n public role: string;\n\n constructor(role: string, content: MessageContentPart | string, meta: MessageMeta = {}) {\n super(content, meta);\n if (!role) {\n throw new ValueError(`Role \"${role}\" must be specified!`);\n }\n this.role = role;\n }\n\n protected fromString(input: string): MessageContentPart {\n return { type: \"text\", text: input };\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/backend/message.ts"],"names":["isText","content","type","isImage","isFile","isToolCall","isToolResult","Message","Serializable","meta","createdAt","Date","fromString","Array","isArray","chunk","assertContent","watchArray","onAdd","of","role","text","UserMessage","AssistantMessage","SystemMessage","ToolMessage","CustomMessage","getTexts","map","c","join","filter","createSnapshot","shallowCopy","loadSnapshot","snapshot","Object","assign","toPlain","merge","other","push","fromChunks","chunks","instance","forEach","Symbol","iterator","register","getToolCalls","key","args","popProp","hasProp","Logger","root","warn","input","safeDefineProperty","getToolResults","schema","z","object","literal","toolName","string","toolCallId","and","output","any","or","result","success","data","safeParse","ValueError","isError","isString","value","includes","getImages","getFiles","Role","ASSISTANT","SYSTEM","USER"],"mappings":"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","file":"message.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { FilePart, ImagePart, TextPart, ToolCallPart, ToolResultPart } from \"ai\";\nimport { z } from \"zod\";\nimport { ValueError } from \"@/errors.js\";\nimport { hasProp, popProp, safeDefineProperty } from \"@/internals/helpers/object.js\";\nimport { Logger } from \"@/logger/logger.js\";\nimport { isString } from \"remeda\";\nimport { watchArray } from \"@/internals/helpers/array.js\";\n\nexport type MessageRole = \"user\" | \"system\" | \"tool\" | \"assistant\";\nexport type MessageContentPart = TextPart | ToolCallPart | ImagePart | FilePart | ToolResultPart;\n\nexport interface MessageMeta {\n [key: string]: any;\n createdAt?: Date;\n}\n\nexport interface MessageInput {\n role: MessageRole;\n text: string; // TODO\n meta?: MessageMeta;\n}\n\nfunction isText(content: MessageContentPart): content is TextPart {\n return content.type === \"text\";\n}\nfunction isImage(content: MessageContentPart): content is ImagePart {\n return content.type === \"image\";\n}\nfunction isFile(content: MessageContentPart): content is FilePart {\n return content.type === \"file\";\n}\nfunction isToolCall(content: MessageContentPart): content is ToolCallPart {\n return content.type === \"tool-call\";\n}\nfunction isToolResult(content: MessageContentPart): content is ToolResultPart {\n return content.type === \"tool-result\";\n}\n\nexport abstract class Message<\n T extends MessageContentPart = MessageContentPart,\n R extends string = MessageRole | string,\n> extends Serializable {\n public abstract readonly role: R;\n public readonly content: T[];\n\n constructor(\n content: T | T[] | string,\n public readonly meta: MessageMeta = {},\n ) {\n super();\n if (!meta?.createdAt) {\n meta.createdAt = new Date();\n }\n if (typeof content === \"string\") {\n this.content = [this.fromString(content)];\n } else {\n this.content = Array.isArray(content) ? content : [content];\n }\n for (const chunk of this.content) {\n this.assertContent(chunk);\n }\n this.content = watchArray(this.content, {\n onAdd: this.assertContent,\n });\n }\n\n protected assertContent(content: T): asserts content is T {}\n\n protected abstract fromString(input: string): T;\n\n static of({ role, text, meta }: MessageInput): Message {\n if (role === \"user\") {\n return new UserMessage(text, meta);\n } else if (role === \"assistant\") {\n return new AssistantMessage(text, meta);\n } else if (role === \"system\") {\n return new SystemMessage(text, meta);\n } else if (role === \"tool\") {\n return new ToolMessage(text, meta);\n } else {\n return new CustomMessage(role, text, meta);\n }\n }\n\n get text() {\n return this.getTexts()\n .map((c) => c.text)\n .join(\"\");\n }\n\n getTexts() {\n return this.content.filter(isText) as TextPart[];\n }\n\n createSnapshot() {\n return { content: shallowCopy(this.content), meta: shallowCopy(this.meta), role: this.role };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n\n toPlain() {\n return { role: this.role, content: shallowCopy(this.content) } as const;\n }\n\n merge(other: Message<T, R>) {\n Object.assign(this, other.meta);\n this.content.push(...other.content);\n }\n\n static fromChunks<M2 extends Message>(this: new (...args: any[]) => M2, chunks: M2[]): M2 {\n const instance = new this([]);\n chunks.forEach((chunk) => instance.merge(chunk));\n return instance;\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.content[Symbol.iterator]();\n }\n}\n\nexport class AssistantMessage extends Message<TextPart | ToolCallPart | FilePart> {\n public readonly role = \"assistant\";\n\n static {\n this.register();\n }\n\n getToolCalls() {\n return this.content.filter(isToolCall);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n\n protected assertContent(\n content: TextPart | ToolCallPart | FilePart,\n ): asserts content is TextPart | ToolCallPart | FilePart {\n if (content.type === \"tool-call\") {\n const key = \"args\";\n const args = popProp(content as any, key);\n\n if (args !== null && !hasProp(content, \"input\")) {\n Logger.root.warn(\n `The '${key}' property in the AssistantMessage class is deprecated and will be removed. Use the 'input' property for Tool Call content chunks instead.`,\n );\n content.input = args;\n }\n\n safeDefineProperty(content, key as keyof typeof content, () => {\n Logger.root.warn(\n `The '${key}' property in the Tool Call is deprecated and will be removed. Use the 'input' property instead.`,\n );\n return content.input;\n });\n }\n }\n}\n\nexport class ToolMessage extends Message<ToolResultPart> {\n public readonly role = \"tool\";\n\n static {\n this.register();\n }\n\n getToolResults() {\n return this.content.filter(isToolResult);\n }\n\n protected fromString(text: string): ToolResultPart {\n const schema = z\n .object({\n type: z.literal(\"tool-result\"),\n toolName: z.string(),\n toolCallId: z.string(),\n })\n .and(z.object({ output: z.any() }).or(z.object({ result: z.any() })));\n\n const { success, data } = schema.safeParse(text);\n if (!success) {\n throw new ValueError(`ToolMessage cannot be created from '${text}'!`);\n }\n\n return data as ToolResultPart;\n }\n\n protected assertContent(content: ToolResultPart): asserts content is ToolResultPart {\n const result = popProp(content as any, \"result\", null);\n const isError = popProp(content as any, \"isError\", false);\n\n if (result !== null && !hasProp(content, \"output\")) {\n Logger.root.warn(\n \"The 'result' property in the ToolMessage class is deprecated and will be removed. Use the 'output' property for content chunks instead.\",\n );\n if (isString(result)) {\n content.output = { type: isError ? \"error-text\" : \"text\", value: result };\n } else {\n content.output = { type: isError ? \"error-json\" : \"json\", value: result };\n }\n }\n\n safeDefineProperty(content, \"result\" as any, () => {\n Logger.root.warn(\n \"The 'result' property of Tool Message is deprecated and will be removed. Use the 'output.value' property instead.\",\n );\n return content.output.value as any;\n });\n safeDefineProperty(content, \"isError\" as any, () => {\n Logger.root.warn(\n \"The 'isError' property of Tool Message is deprecated and will be removed. Use the 'output.type' property instead.\",\n );\n return content.output.type.includes(\"error\");\n });\n }\n}\n\nexport class SystemMessage extends Message<TextPart> {\n public readonly role: MessageRole = \"system\";\n\n static {\n this.register();\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport class UserMessage extends Message<TextPart | ImagePart | FilePart> {\n public readonly role = \"user\";\n\n static {\n this.register();\n }\n\n getImages() {\n return this.content.filter(isImage);\n }\n\n getFiles() {\n return this.content.filter(isFile);\n }\n\n protected fromString(text: string): TextPart {\n return { type: \"text\", text };\n }\n}\n\nexport const Role = {\n ASSISTANT: \"assistant\",\n SYSTEM: \"system\",\n USER: \"user\",\n} as const;\n\nexport class CustomMessage extends Message<MessageContentPart, string> {\n public role: string;\n\n constructor(role: string, content: MessageContentPart | string, meta: MessageMeta = {}) {\n super(content, meta);\n if (!role) {\n throw new ValueError(`Role \"${role}\" must be specified!`);\n }\n this.role = role;\n }\n\n protected fromString(input: string): MessageContentPart {\n return { type: \"text\", text: input };\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import '../internals/types.cjs';
2
2
  import './constants.cjs';
3
3
  import '../tools/base.cjs';
4
- export { F as FullModelName, r as filterToolsByToolChoice, q as generateToolUnionSchema, o as loadModel, p as parseModel } from '../chat-CR4yfOR9.cjs';
4
+ export { F as FullModelName, r as filterToolsByToolChoice, q as generateToolUnionSchema, o as loadModel, p as parseModel } from '../chat-CRb3vUVg.cjs';
5
5
  import 'zod';
6
6
  import '../internals/helpers/guards.cjs';
7
7
  import 'ajv';
8
8
  import '../context.cjs';
9
- import '../emitter-DWEsd-ud.cjs';
9
+ import '../emitter-DpqUYjXH.cjs';
10
10
  import '../internals/serializable.cjs';
11
11
  import '../internals/helpers/promise.cjs';
12
12
  import '../errors.cjs';
@@ -1,12 +1,12 @@
1
1
  import '../internals/types.js';
2
2
  import './constants.js';
3
3
  import '../tools/base.js';
4
- export { F as FullModelName, r as filterToolsByToolChoice, q as generateToolUnionSchema, o as loadModel, p as parseModel } from '../chat-W9j8T6UU.js';
4
+ export { F as FullModelName, r as filterToolsByToolChoice, q as generateToolUnionSchema, o as loadModel, p as parseModel } from '../chat-C0s-o6ll.js';
5
5
  import 'zod';
6
6
  import '../internals/helpers/guards.js';
7
7
  import 'ajv';
8
8
  import '../context.js';
9
- import '../emitter-C9nwGLt6.js';
9
+ import '../emitter-CZFbzlUi.js';
10
10
  import '../internals/serializable.js';
11
11
  import '../internals/helpers/promise.js';
12
12
  import '../errors.js';
@@ -1,7 +1,7 @@
1
1
  import { Run, GetRunContext } from './context.js';
2
2
  import { FrameworkError } from './errors.js';
3
3
  import { Serializable } from './internals/serializable.js';
4
- import { E as Emitter } from './emitter-C9nwGLt6.js';
4
+ import { E as Emitter } from './emitter-CZFbzlUi.js';
5
5
  import { BaseMemory } from './memory/base.js';
6
6
  import { OmitEmpty } from './internals/types.js';
7
7
  import { AnyTool } from './tools/base.js';
@@ -1,7 +1,7 @@
1
1
  import { Run, GetRunContext } from './context.cjs';
2
2
  import { FrameworkError } from './errors.cjs';
3
3
  import { Serializable } from './internals/serializable.cjs';
4
- import { E as Emitter } from './emitter-DWEsd-ud.cjs';
4
+ import { E as Emitter } from './emitter-DpqUYjXH.cjs';
5
5
  import { BaseMemory } from './memory/base.cjs';
6
6
  import { OmitEmpty } from './internals/types.cjs';
7
7
  import { AnyTool } from './tools/base.cjs';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cache/fileCache.ts"],"names":["FileCache","BaseCache","input","register","source","fullPath","fromProvider","provider","fs","promises","writeFile","serialize","getProvider","exists","stat","then","r","isFile","catch","serialized","readFile","target","snapshot","Serializer","deserialize","Target","getFactory","ref","instance","fromSnapshot","TypeError","SlidingCache","size","Infinity","ttl","reload","Cache","getInstance","clear","save","set","key","value","get","finally","has","delete","result","createSnapshot","loadSnapshot","Object","assign"],"mappings":"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","file":"fileCache.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseCache } from \"@/cache/base.js\";\nimport fs from \"node:fs\";\nimport { SlidingCache } from \"@/cache/slidingCache.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { SerializableClass } from \"@/internals/serializable.js\";\n\ninterface Input {\n fullPath: string;\n}\n\nexport class FileCache<T> extends BaseCache<T> {\n constructor(protected readonly input: Input) {\n super();\n }\n\n static {\n this.register();\n }\n\n get source() {\n return this.input.fullPath;\n }\n\n static async fromProvider<A>(provider: BaseCache<A>, input: Input) {\n await fs.promises.writeFile(input.fullPath, await provider.serialize());\n return new FileCache<A>(input);\n }\n\n @Cache()\n protected async getProvider(): Promise<BaseCache<T>> {\n const exists = await fs.promises\n .stat(this.input.fullPath)\n .then((r) => r.isFile())\n .catch(() => false);\n\n if (exists) {\n const serialized = await fs.promises.readFile(this.input.fullPath, \"utf8\");\n const { target, snapshot } = await Serializer.deserialize<any>(serialized);\n const Target = Serializer.getFactory(target).ref as SerializableClass<BaseCache<T>>;\n const instance = await Target.fromSnapshot(snapshot);\n if (!(instance instanceof BaseCache)) {\n throw new TypeError(\"Provided file does not serialize any instance of BaseCache class.\");\n }\n return instance;\n } else {\n return new SlidingCache({\n size: Infinity,\n ttl: Infinity,\n });\n }\n }\n\n async reload() {\n // @ts-expect-error protected property\n Cache.getInstance(this, \"getProvider\").clear();\n void (await this.getProvider());\n }\n\n protected async save() {\n const provider = await this.getProvider();\n return await fs.promises.writeFile(this.input.fullPath, await provider.serialize());\n }\n\n async size() {\n const provider = await this.getProvider();\n return provider.size();\n }\n\n async set(key: string, value: T) {\n const provider = await this.getProvider();\n await provider.set(key, value);\n void provider.get(key).finally(() => {\n void this.save();\n });\n }\n\n async get(key: string) {\n const provider = await this.getProvider();\n return await provider.get(key);\n }\n\n async has(key: string) {\n const provider = await this.getProvider();\n return await provider.has(key);\n }\n\n async delete(key: string) {\n const provider = await this.getProvider();\n const result = await provider.delete(key);\n await this.save();\n return result;\n }\n\n async clear() {\n const provider = await this.getProvider();\n await provider.clear();\n await this.save();\n }\n\n async createSnapshot() {\n return {\n input: { fullPath: this.input.fullPath },\n provider: await this.getProvider(),\n };\n }\n\n loadSnapshot(snapshot: Awaited<ReturnType<typeof this.createSnapshot>>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/cache/fileCache.ts"],"names":["FileCache","BaseCache","input","register","source","fullPath","fromProvider","provider","fs","promises","writeFile","serialize","getProvider","exists","stat","then","r","isFile","catch","serialized","readFile","target","snapshot","Serializer","deserialize","Target","getFactory","ref","instance","fromSnapshot","TypeError","SlidingCache","size","Infinity","ttl","reload","Cache","getInstance","clear","save","set","key","value","get","finally","has","delete","result","createSnapshot","loadSnapshot","Object","assign"],"mappings":"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","file":"fileCache.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseCache } from \"@/cache/base.js\";\nimport fs from \"node:fs\";\nimport { SlidingCache } from \"@/cache/slidingCache.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { SerializableClass } from \"@/internals/serializable.js\";\n\ninterface Input {\n fullPath: string;\n}\n\nexport class FileCache<T> extends BaseCache<T> {\n constructor(protected readonly input: Input) {\n super();\n }\n\n static {\n this.register();\n }\n\n get source() {\n return this.input.fullPath;\n }\n\n static async fromProvider<A>(provider: BaseCache<A>, input: Input) {\n await fs.promises.writeFile(input.fullPath, await provider.serialize());\n return new FileCache<A>(input);\n }\n\n @Cache()\n protected async getProvider(): Promise<BaseCache<T>> {\n const exists = await fs.promises\n .stat(this.input.fullPath)\n .then((r) => r.isFile())\n .catch(() => false);\n\n if (exists) {\n const serialized = await fs.promises.readFile(this.input.fullPath, \"utf8\");\n const { target, snapshot } = await Serializer.deserialize<any>(serialized);\n const Target = Serializer.getFactory(target).ref as SerializableClass<BaseCache<T>>;\n const instance = await Target.fromSnapshot(snapshot);\n if (!(instance instanceof BaseCache)) {\n throw new TypeError(\"Provided file does not serialize any instance of BaseCache class.\");\n }\n return instance;\n } else {\n return new SlidingCache({\n size: Infinity,\n ttl: Infinity,\n });\n }\n }\n\n async reload() {\n // @ts-expect-error protected property\n Cache.getInstance(this, \"getProvider\").clear();\n void (await this.getProvider());\n }\n\n protected async save() {\n const provider = await this.getProvider();\n return await fs.promises.writeFile(this.input.fullPath, await provider.serialize());\n }\n\n async size() {\n const provider = await this.getProvider();\n return provider.size();\n }\n\n async set(key: string, value: T) {\n const provider = await this.getProvider();\n await provider.set(key, value);\n void provider.get(key).finally(() => {\n void this.save();\n });\n }\n\n async get(key: string) {\n const provider = await this.getProvider();\n return await provider.get(key);\n }\n\n async has(key: string) {\n const provider = await this.getProvider();\n return await provider.has(key);\n }\n\n async delete(key: string) {\n const provider = await this.getProvider();\n const result = await provider.delete(key);\n await this.save();\n return result;\n }\n\n async clear() {\n const provider = await this.getProvider();\n await provider.clear();\n await this.save();\n }\n\n async createSnapshot() {\n return {\n input: { fullPath: this.input.fullPath },\n provider: await this.getProvider(),\n };\n }\n\n loadSnapshot(snapshot: Awaited<ReturnType<typeof this.createSnapshot>>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cache/fileCache.ts"],"names":["FileCache","BaseCache","input","register","source","fullPath","fromProvider","provider","fs","promises","writeFile","serialize","getProvider","exists","stat","then","r","isFile","catch","serialized","readFile","target","snapshot","Serializer","deserialize","Target","getFactory","ref","instance","fromSnapshot","TypeError","SlidingCache","size","Infinity","ttl","reload","Cache","getInstance","clear","save","set","key","value","get","finally","has","delete","result","createSnapshot","loadSnapshot","Object","assign"],"mappings":"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","file":"fileCache.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseCache } from \"@/cache/base.js\";\nimport fs from \"node:fs\";\nimport { SlidingCache } from \"@/cache/slidingCache.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { SerializableClass } from \"@/internals/serializable.js\";\n\ninterface Input {\n fullPath: string;\n}\n\nexport class FileCache<T> extends BaseCache<T> {\n constructor(protected readonly input: Input) {\n super();\n }\n\n static {\n this.register();\n }\n\n get source() {\n return this.input.fullPath;\n }\n\n static async fromProvider<A>(provider: BaseCache<A>, input: Input) {\n await fs.promises.writeFile(input.fullPath, await provider.serialize());\n return new FileCache<A>(input);\n }\n\n @Cache()\n protected async getProvider(): Promise<BaseCache<T>> {\n const exists = await fs.promises\n .stat(this.input.fullPath)\n .then((r) => r.isFile())\n .catch(() => false);\n\n if (exists) {\n const serialized = await fs.promises.readFile(this.input.fullPath, \"utf8\");\n const { target, snapshot } = await Serializer.deserialize<any>(serialized);\n const Target = Serializer.getFactory(target).ref as SerializableClass<BaseCache<T>>;\n const instance = await Target.fromSnapshot(snapshot);\n if (!(instance instanceof BaseCache)) {\n throw new TypeError(\"Provided file does not serialize any instance of BaseCache class.\");\n }\n return instance;\n } else {\n return new SlidingCache({\n size: Infinity,\n ttl: Infinity,\n });\n }\n }\n\n async reload() {\n // @ts-expect-error protected property\n Cache.getInstance(this, \"getProvider\").clear();\n void (await this.getProvider());\n }\n\n protected async save() {\n const provider = await this.getProvider();\n return await fs.promises.writeFile(this.input.fullPath, await provider.serialize());\n }\n\n async size() {\n const provider = await this.getProvider();\n return provider.size();\n }\n\n async set(key: string, value: T) {\n const provider = await this.getProvider();\n await provider.set(key, value);\n void provider.get(key).finally(() => {\n void this.save();\n });\n }\n\n async get(key: string) {\n const provider = await this.getProvider();\n return await provider.get(key);\n }\n\n async has(key: string) {\n const provider = await this.getProvider();\n return await provider.has(key);\n }\n\n async delete(key: string) {\n const provider = await this.getProvider();\n const result = await provider.delete(key);\n await this.save();\n return result;\n }\n\n async clear() {\n const provider = await this.getProvider();\n await provider.clear();\n await this.save();\n }\n\n async createSnapshot() {\n return {\n input: { fullPath: this.input.fullPath },\n provider: await this.getProvider(),\n };\n }\n\n loadSnapshot(snapshot: Awaited<ReturnType<typeof this.createSnapshot>>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/cache/fileCache.ts"],"names":["FileCache","BaseCache","input","register","source","fullPath","fromProvider","provider","fs","promises","writeFile","serialize","getProvider","exists","stat","then","r","isFile","catch","serialized","readFile","target","snapshot","Serializer","deserialize","Target","getFactory","ref","instance","fromSnapshot","TypeError","SlidingCache","size","Infinity","ttl","reload","Cache","getInstance","clear","save","set","key","value","get","finally","has","delete","result","createSnapshot","loadSnapshot","Object","assign"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,kBAAqBC,SAAAA,CAAAA;AAAAA,EAAAA;;;;AAChC,EAAA,WAAA,CAA+BC,KAAAA,EAAc;AAC3C,IAAA,KAAA,EAAK,EAAA,KADwBA,KAAAA,GAAAA,KAAAA;AAE/B;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;AAEA,EAAA,IAAIC,MAAAA,GAAS;AACX,IAAA,OAAO,KAAKF,KAAAA,CAAMG,QAAAA;AACpB;EAEA,aAAaC,YAAAA,CAAgBC,UAAwBL,KAAAA,EAAc;AACjE,IAAA,MAAMM,EAAAA,CAAGC,SAASC,SAAAA,CAAUR,KAAAA,CAAMG,UAAU,MAAME,QAAAA,CAASI,WAAS,CAAA;AACpE,IAAA,OAAO,IAAIX,UAAaE,KAAAA,CAAAA;AAC1B;AAEA,EAAA,MACgBU,WAAAA,GAAqC;AACnD,IAAA,MAAMC,SAAS,MAAML,EAAAA,CAAGC,SACrBK,IAAAA,CAAK,IAAA,CAAKZ,MAAMG,QAAQ,CAAA,CACxBU,IAAAA,CAAK,CAACC,MAAMA,CAAAA,CAAEC,MAAAA,EAAM,CAAA,CACpBC,KAAAA,CAAM,MAAM,KAAA,CAAA;AAEf,IAAA,IAAIL,MAAAA,EAAQ;AACV,MAAA,MAAMM,UAAAA,GAAa,MAAMX,EAAAA,CAAGC,QAAAA,CAASW,SAAS,IAAA,CAAKlB,KAAAA,CAAMG,UAAU,MAAA,CAAA;AACnE,MAAA,MAAM,EAAEgB,MAAAA,EAAQC,QAAAA,KAAa,MAAMC,UAAAA,CAAWC,YAAiBL,UAAAA,CAAAA;AAC/D,MAAA,MAAMM,MAAAA,GAASF,UAAAA,CAAWG,UAAAA,CAAWL,MAAAA,CAAAA,CAAQM,GAAAA;AAC7C,MAAA,MAAMC,QAAAA,GAAW,MAAMH,MAAAA,CAAOI,YAAAA,CAAaP,QAAAA,CAAAA;AAC3C,MAAA,IAAI,EAAEM,oBAAoB3B,SAAAA,CAAAA,EAAY;AACpC,QAAA,MAAM,IAAI6B,UAAU,mEAAA,CAAA;AACtB;AACA,MAAA,OAAOF,QAAAA;KACT,MAAO;AACL,MAAA,OAAO,IAAIG,YAAAA,CAAa;QACtBC,IAAAA,EAAMC,QAAAA;QACNC,GAAAA,EAAKD;OACP,CAAA;AACF;AACF;AAEA,EAAA,MAAME,MAAAA,GAAS;AAEbC,IAAAA,KAAAA,CAAMC,WAAAA,CAAY,IAAA,EAAM,aAAA,CAAA,CAAeC,KAAAA,EAAK;AAC5C,IAAA,KAAM,MAAM,KAAK1B,WAAAA,EAAW;AAC9B;AAEA,EAAA,MAAgB2B,IAAAA,GAAO;AACrB,IAAA,MAAMhC,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,OAAO,MAAMJ,EAAAA,CAAGC,QAAAA,CAASC,SAAAA,CAAU,IAAA,CAAKR,MAAMG,QAAAA,EAAU,MAAME,QAAAA,CAASI,SAAAA,EAAS,CAAA;AAClF;AAEA,EAAA,MAAMqB,IAAAA,GAAO;AACX,IAAA,MAAMzB,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,OAAOL,SAASyB,IAAAA,EAAI;AACtB;EAEA,MAAMQ,GAAAA,CAAIC,KAAaC,KAAAA,EAAU;AAC/B,IAAA,MAAMnC,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,MAAML,QAAAA,CAASiC,GAAAA,CAAIC,GAAAA,EAAKC,KAAAA,CAAAA;AACxB,IAAA,KAAKnC,QAAAA,CAASoC,GAAAA,CAAIF,GAAAA,CAAAA,CAAKG,QAAQ,MAAA;AAC7B,MAAA,KAAK,KAAKL,IAAAA,EAAI;KAChB,CAAA;AACF;AAEA,EAAA,MAAMI,IAAIF,GAAAA,EAAa;AACrB,IAAA,MAAMlC,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,OAAO,MAAML,QAAAA,CAASoC,GAAAA,CAAIF,GAAAA,CAAAA;AAC5B;AAEA,EAAA,MAAMI,IAAIJ,GAAAA,EAAa;AACrB,IAAA,MAAMlC,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,OAAO,MAAML,QAAAA,CAASsC,GAAAA,CAAIJ,GAAAA,CAAAA;AAC5B;AAEA,EAAA,MAAMK,OAAOL,GAAAA,EAAa;AACxB,IAAA,MAAMlC,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,MAAMmC,MAAAA,GAAS,MAAMxC,QAAAA,CAASuC,MAAAA,CAAOL,GAAAA,CAAAA;AACrC,IAAA,MAAM,KAAKF,IAAAA,EAAI;AACf,IAAA,OAAOQ,MAAAA;AACT;AAEA,EAAA,MAAMT,KAAAA,GAAQ;AACZ,IAAA,MAAM/B,QAAAA,GAAW,MAAM,IAAA,CAAKK,WAAAA,EAAW;AACvC,IAAA,MAAML,SAAS+B,KAAAA,EAAK;AACpB,IAAA,MAAM,KAAKC,IAAAA,EAAI;AACjB;AAEA,EAAA,MAAMS,cAAAA,GAAiB;AACrB,IAAA,OAAO;MACL9C,KAAAA,EAAO;AAAEG,QAAAA,QAAAA,EAAU,KAAKH,KAAAA,CAAMG;AAAS,OAAA;MACvCE,QAAAA,EAAU,MAAM,KAAKK,WAAAA;AACvB,KAAA;AACF;AAEAqC,EAAAA,YAAAA,CAAa3B,QAAAA,EAAiE;AAC5E4B,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAM7B,QAAAA,CAAAA;AACtB;AACF","file":"fileCache.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseCache } from \"@/cache/base.js\";\nimport fs from \"node:fs\";\nimport { SlidingCache } from \"@/cache/slidingCache.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { Serializer } from \"@/serializer/serializer.js\";\nimport { SerializableClass } from \"@/internals/serializable.js\";\n\ninterface Input {\n fullPath: string;\n}\n\nexport class FileCache<T> extends BaseCache<T> {\n constructor(protected readonly input: Input) {\n super();\n }\n\n static {\n this.register();\n }\n\n get source() {\n return this.input.fullPath;\n }\n\n static async fromProvider<A>(provider: BaseCache<A>, input: Input) {\n await fs.promises.writeFile(input.fullPath, await provider.serialize());\n return new FileCache<A>(input);\n }\n\n @Cache()\n protected async getProvider(): Promise<BaseCache<T>> {\n const exists = await fs.promises\n .stat(this.input.fullPath)\n .then((r) => r.isFile())\n .catch(() => false);\n\n if (exists) {\n const serialized = await fs.promises.readFile(this.input.fullPath, \"utf8\");\n const { target, snapshot } = await Serializer.deserialize<any>(serialized);\n const Target = Serializer.getFactory(target).ref as SerializableClass<BaseCache<T>>;\n const instance = await Target.fromSnapshot(snapshot);\n if (!(instance instanceof BaseCache)) {\n throw new TypeError(\"Provided file does not serialize any instance of BaseCache class.\");\n }\n return instance;\n } else {\n return new SlidingCache({\n size: Infinity,\n ttl: Infinity,\n });\n }\n }\n\n async reload() {\n // @ts-expect-error protected property\n Cache.getInstance(this, \"getProvider\").clear();\n void (await this.getProvider());\n }\n\n protected async save() {\n const provider = await this.getProvider();\n return await fs.promises.writeFile(this.input.fullPath, await provider.serialize());\n }\n\n async size() {\n const provider = await this.getProvider();\n return provider.size();\n }\n\n async set(key: string, value: T) {\n const provider = await this.getProvider();\n await provider.set(key, value);\n void provider.get(key).finally(() => {\n void this.save();\n });\n }\n\n async get(key: string) {\n const provider = await this.getProvider();\n return await provider.get(key);\n }\n\n async has(key: string) {\n const provider = await this.getProvider();\n return await provider.has(key);\n }\n\n async delete(key: string) {\n const provider = await this.getProvider();\n const result = await provider.delete(key);\n await this.save();\n return result;\n }\n\n async clear() {\n const provider = await this.getProvider();\n await provider.clear();\n await this.save();\n }\n\n async createSnapshot() {\n return {\n input: { fullPath: this.input.fullPath },\n provider: await this.getProvider(),\n };\n }\n\n loadSnapshot(snapshot: Awaited<ReturnType<typeof this.createSnapshot>>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { Message, AssistantMessage, MessageContentPart } from './backend/message
2
2
  import * as ai from 'ai';
3
3
  import { Run, GetRunContext } from './context.js';
4
4
  import { Serializable } from './internals/serializable.js';
5
- import { C as Callback, E as Emitter } from './emitter-C9nwGLt6.js';
5
+ import { C as Callback, E as Emitter } from './emitter-CZFbzlUi.js';
6
6
  import { FrameworkError } from './errors.js';
7
7
  import { Task } from 'promise-based-task';
8
8
  import { BaseCache } from './cache/base.js';
@@ -47,7 +47,7 @@ interface ResponseObjectJson {
47
47
  description?: string;
48
48
  }
49
49
  interface ChatModelObjectInput<T> extends ChatModelParameters {
50
- schema: z.ZodSchema<T> | ResponseObjectJson;
50
+ schema: z.ZodSchema<T, any, any> | ResponseObjectJson;
51
51
  systemPromptTemplate?: PromptTemplate<ZodType<{
52
52
  schema: string;
53
53
  }>>;
@@ -73,6 +73,8 @@ interface ChatModelUsage {
73
73
  promptTokens: number;
74
74
  completionTokens: number;
75
75
  totalTokens: number;
76
+ reasoningTokens?: number;
77
+ cachedPromptTokens?: number;
76
78
  }
77
79
  interface ChatModelEvents {
78
80
  newToken?: Callback<{
@@ -2,7 +2,7 @@ import { Message, AssistantMessage, MessageContentPart } from './backend/message
2
2
  import * as ai from 'ai';
3
3
  import { Run, GetRunContext } from './context.cjs';
4
4
  import { Serializable } from './internals/serializable.cjs';
5
- import { C as Callback, E as Emitter } from './emitter-DWEsd-ud.cjs';
5
+ import { C as Callback, E as Emitter } from './emitter-DpqUYjXH.cjs';
6
6
  import { FrameworkError } from './errors.cjs';
7
7
  import { Task } from 'promise-based-task';
8
8
  import { BaseCache } from './cache/base.cjs';
@@ -47,7 +47,7 @@ interface ResponseObjectJson {
47
47
  description?: string;
48
48
  }
49
49
  interface ChatModelObjectInput<T> extends ChatModelParameters {
50
- schema: z.ZodSchema<T> | ResponseObjectJson;
50
+ schema: z.ZodSchema<T, any, any> | ResponseObjectJson;
51
51
  systemPromptTemplate?: PromptTemplate<ZodType<{
52
52
  schema: string;
53
53
  }>>;
@@ -73,6 +73,8 @@ interface ChatModelUsage {
73
73
  promptTokens: number;
74
74
  completionTokens: number;
75
75
  totalTokens: number;
76
+ reasoningTokens?: number;
77
+ cachedPromptTokens?: number;
76
78
  }
77
79
  interface ChatModelEvents {
78
80
  newToken?: Callback<{
@@ -1,4 +1,4 @@
1
- import { E as Emitter, C as Callback } from './emitter-DWEsd-ud.cjs';
1
+ import { E as Emitter, C as Callback } from './emitter-DpqUYjXH.cjs';
2
2
  import { Serializable } from './internals/serializable.cjs';
3
3
  import { LazyPromise } from './internals/helpers/promise.cjs';
4
4
  import './internals/types.cjs';
package/dist/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { E as Emitter, C as Callback } from './emitter-C9nwGLt6.js';
1
+ import { E as Emitter, C as Callback } from './emitter-CZFbzlUi.js';
2
2
  import { Serializable } from './internals/serializable.js';
3
3
  import { LazyPromise } from './internals/helpers/promise.js';
4
4
  import './internals/types.js';
@@ -1,4 +1,4 @@
1
- export { C as Callback, E as Emitter, g as EmitterChildInput, f as EmitterInput, e as EventMeta, d as EventTrace } from '../emitter-DWEsd-ud.cjs';
1
+ export { C as Callback, E as Emitter, g as EmitterChildInput, f as EmitterInput, e as EventMeta, d as EventTrace } from '../emitter-DpqUYjXH.cjs';
2
2
  import '../internals/types.cjs';
3
3
  import '../internals/serializable.cjs';
4
4
  import '../internals/helpers/guards.cjs';
@@ -1,4 +1,4 @@
1
- export { C as Callback, E as Emitter, g as EmitterChildInput, f as EmitterInput, e as EventMeta, d as EventTrace } from '../emitter-C9nwGLt6.js';
1
+ export { C as Callback, E as Emitter, g as EmitterChildInput, f as EmitterInput, e as EventMeta, d as EventTrace } from '../emitter-CZFbzlUi.js';
2
2
  import '../internals/types.js';
3
3
  import '../internals/serializable.js';
4
4
  import '../internals/helpers/guards.js';
@@ -1,4 +1,4 @@
1
1
  import '../internals/types.cjs';
2
- export { C as Callback, b as CleanupFn, c as EmitterOptions, e as EventMeta, d as EventTrace, I as InferCallbackValue, a as Matcher, M as MatcherFn, S as StringKey } from '../emitter-DWEsd-ud.cjs';
2
+ export { C as Callback, b as CleanupFn, c as EmitterOptions, e as EventMeta, d as EventTrace, I as InferCallbackValue, a as Matcher, M as MatcherFn, S as StringKey } from '../emitter-DpqUYjXH.cjs';
3
3
  import '../internals/helpers/guards.cjs';
4
4
  import '../internals/serializable.cjs';
@@ -1,4 +1,4 @@
1
1
  import '../internals/types.js';
2
- export { C as Callback, b as CleanupFn, c as EmitterOptions, e as EventMeta, d as EventTrace, I as InferCallbackValue, a as Matcher, M as MatcherFn, S as StringKey } from '../emitter-C9nwGLt6.js';
2
+ export { C as Callback, b as CleanupFn, c as EmitterOptions, e as EventMeta, d as EventTrace, I as InferCallbackValue, a as Matcher, M as MatcherFn, S as StringKey } from '../emitter-CZFbzlUi.js';
3
3
  import '../internals/helpers/guards.js';
4
4
  import '../internals/serializable.js';
@@ -87,9 +87,9 @@ declare class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializ
87
87
  context: object;
88
88
  trace: EventTrace | undefined;
89
89
  listeners: {
90
- readonly options?: EmitterOptions | undefined;
91
- readonly raw: Matcher;
92
- readonly callback: Callback<any>;
90
+ options?: EmitterOptions | undefined;
91
+ raw: Matcher;
92
+ callback: Callback<any>;
93
93
  }[];
94
94
  cleanups: CleanupFn[];
95
95
  };