beeai-framework 0.1.16 → 0.1.18

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 (663) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs +296 -0
  2. package/dist/adapters/a2a/agents/agent.cjs.map +1 -0
  3. package/dist/adapters/a2a/agents/agent.d.cts +55 -0
  4. package/dist/adapters/a2a/agents/agent.d.ts +55 -0
  5. package/dist/adapters/a2a/agents/agent.js +294 -0
  6. package/dist/adapters/a2a/agents/agent.js.map +1 -0
  7. package/dist/adapters/a2a/agents/events.cjs +4 -0
  8. package/dist/adapters/a2a/agents/events.cjs.map +1 -0
  9. package/dist/adapters/a2a/agents/events.d.cts +23 -0
  10. package/dist/adapters/a2a/agents/events.d.ts +23 -0
  11. package/dist/adapters/a2a/agents/events.js +3 -0
  12. package/dist/adapters/a2a/agents/events.js.map +1 -0
  13. package/dist/adapters/a2a/agents/types.cjs +4 -0
  14. package/dist/adapters/a2a/agents/types.cjs.map +1 -0
  15. package/dist/adapters/a2a/agents/types.d.cts +45 -0
  16. package/dist/adapters/a2a/agents/types.d.ts +45 -0
  17. package/dist/adapters/a2a/agents/types.js +3 -0
  18. package/dist/adapters/a2a/agents/types.js.map +1 -0
  19. package/dist/adapters/a2a/agents/utils.cjs +41 -0
  20. package/dist/adapters/a2a/agents/utils.cjs.map +1 -0
  21. package/dist/adapters/a2a/agents/utils.d.cts +15 -0
  22. package/dist/adapters/a2a/agents/utils.d.ts +15 -0
  23. package/dist/adapters/a2a/agents/utils.js +39 -0
  24. package/dist/adapters/a2a/agents/utils.js.map +1 -0
  25. package/dist/adapters/a2a/serve/agent_executor.cjs +233 -0
  26. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -0
  27. package/dist/adapters/a2a/serve/agent_executor.d.cts +55 -0
  28. package/dist/adapters/a2a/serve/agent_executor.d.ts +55 -0
  29. package/dist/adapters/a2a/serve/agent_executor.js +229 -0
  30. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -0
  31. package/dist/adapters/a2a/serve/server.cjs +112 -0
  32. package/dist/adapters/a2a/serve/server.cjs.map +1 -0
  33. package/dist/adapters/a2a/serve/server.d.cts +56 -0
  34. package/dist/adapters/a2a/serve/server.d.ts +56 -0
  35. package/dist/adapters/a2a/serve/server.js +105 -0
  36. package/dist/adapters/a2a/serve/server.js.map +1 -0
  37. package/dist/adapters/acp/agents/agent.cjs.map +1 -1
  38. package/dist/adapters/acp/agents/agent.d.cts +3 -14
  39. package/dist/adapters/acp/agents/agent.d.ts +3 -14
  40. package/dist/adapters/acp/agents/agent.js.map +1 -1
  41. package/dist/adapters/acp/agents/events.d.cts +2 -13
  42. package/dist/adapters/acp/agents/events.d.ts +2 -13
  43. package/dist/adapters/acp/agents/types.d.cts +1 -12
  44. package/dist/adapters/acp/agents/types.d.ts +1 -12
  45. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  46. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +3 -14
  47. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +3 -14
  48. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  49. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  50. package/dist/adapters/amazon-bedrock/backend/client.d.cts +1 -12
  51. package/dist/adapters/amazon-bedrock/backend/client.d.ts +1 -12
  52. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  53. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  54. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +3 -14
  55. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +3 -14
  56. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  57. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  58. package/dist/adapters/anthropic/backend/chat.d.cts +3 -14
  59. package/dist/adapters/anthropic/backend/chat.d.ts +3 -14
  60. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  61. package/dist/adapters/anthropic/backend/client.cjs +1 -4
  62. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  63. package/dist/adapters/anthropic/backend/client.d.cts +1 -12
  64. package/dist/adapters/anthropic/backend/client.d.ts +1 -12
  65. package/dist/adapters/anthropic/backend/client.js +3 -6
  66. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  67. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  68. package/dist/adapters/anthropic/backend/embedding.d.cts +3 -14
  69. package/dist/adapters/anthropic/backend/embedding.d.ts +3 -14
  70. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  71. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  72. package/dist/adapters/azure-openai/backend/chat.d.cts +3 -14
  73. package/dist/adapters/azure-openai/backend/chat.d.ts +3 -14
  74. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  75. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  76. package/dist/adapters/azure-openai/backend/client.d.cts +1 -12
  77. package/dist/adapters/azure-openai/backend/client.d.ts +1 -12
  78. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  79. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  80. package/dist/adapters/azure-openai/backend/embedding.d.cts +3 -14
  81. package/dist/adapters/azure-openai/backend/embedding.d.ts +3 -14
  82. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  83. package/dist/adapters/beeai_platform/agents/agent.cjs.map +1 -1
  84. package/dist/adapters/beeai_platform/agents/agent.d.cts +2 -2
  85. package/dist/adapters/beeai_platform/agents/agent.d.ts +2 -2
  86. package/dist/adapters/beeai_platform/agents/agent.js.map +1 -1
  87. package/dist/adapters/beeai_platform/agents/events.d.cts +2 -13
  88. package/dist/adapters/beeai_platform/agents/events.d.ts +2 -13
  89. package/dist/adapters/beeai_platform/agents/types.d.cts +1 -12
  90. package/dist/adapters/beeai_platform/agents/types.d.ts +1 -12
  91. package/dist/adapters/dummy/backend/chat.cjs +9 -9
  92. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  93. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  94. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  95. package/dist/adapters/dummy/backend/chat.js +9 -9
  96. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  97. package/dist/adapters/dummy/backend/embedding.cjs +9 -9
  98. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  99. package/dist/adapters/dummy/backend/embedding.d.cts +3 -14
  100. package/dist/adapters/dummy/backend/embedding.d.ts +3 -14
  101. package/dist/adapters/dummy/backend/embedding.js +9 -9
  102. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  103. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  104. package/dist/adapters/google-vertex/backend/chat.d.cts +3 -14
  105. package/dist/adapters/google-vertex/backend/chat.d.ts +3 -14
  106. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  107. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  108. package/dist/adapters/google-vertex/backend/client.d.cts +1 -12
  109. package/dist/adapters/google-vertex/backend/client.d.ts +1 -12
  110. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  111. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  112. package/dist/adapters/google-vertex/backend/embedding.d.cts +3 -14
  113. package/dist/adapters/google-vertex/backend/embedding.d.ts +3 -14
  114. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  115. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  116. package/dist/adapters/groq/backend/chat.d.cts +3 -14
  117. package/dist/adapters/groq/backend/chat.d.ts +3 -14
  118. package/dist/adapters/groq/backend/chat.js.map +1 -1
  119. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  120. package/dist/adapters/groq/backend/client.d.cts +1 -12
  121. package/dist/adapters/groq/backend/client.d.ts +1 -12
  122. package/dist/adapters/groq/backend/client.js.map +1 -1
  123. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  124. package/dist/adapters/groq/backend/embedding.d.cts +3 -14
  125. package/dist/adapters/groq/backend/embedding.d.ts +3 -14
  126. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  127. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  128. package/dist/adapters/langchain/backend/chat.d.cts +2 -2
  129. package/dist/adapters/langchain/backend/chat.d.ts +2 -2
  130. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  131. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  132. package/dist/adapters/langchain/backend/embedding.d.cts +3 -14
  133. package/dist/adapters/langchain/backend/embedding.d.ts +3 -14
  134. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  135. package/dist/adapters/langchain/tools.cjs.map +1 -1
  136. package/dist/adapters/langchain/tools.d.cts +1 -1
  137. package/dist/adapters/langchain/tools.d.ts +1 -1
  138. package/dist/adapters/langchain/tools.js.map +1 -1
  139. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
  140. package/dist/adapters/mcp/serve/http_server.d.cts +1 -12
  141. package/dist/adapters/mcp/serve/http_server.d.ts +1 -12
  142. package/dist/adapters/mcp/serve/http_server.js.map +1 -1
  143. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
  144. package/dist/adapters/mcp/serve/in_memory_store.d.cts +1 -12
  145. package/dist/adapters/mcp/serve/in_memory_store.d.ts +1 -12
  146. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
  147. package/dist/adapters/mcp/serve/server.cjs.map +1 -1
  148. package/dist/adapters/mcp/serve/server.d.cts +3 -14
  149. package/dist/adapters/mcp/serve/server.d.ts +3 -14
  150. package/dist/adapters/mcp/serve/server.js.map +1 -1
  151. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  152. package/dist/adapters/ollama/backend/chat.d.cts +3 -14
  153. package/dist/adapters/ollama/backend/chat.d.ts +3 -14
  154. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  155. package/dist/adapters/ollama/backend/client.cjs +12 -3
  156. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  157. package/dist/adapters/ollama/backend/client.d.cts +4 -13
  158. package/dist/adapters/ollama/backend/client.d.ts +4 -13
  159. package/dist/adapters/ollama/backend/client.js +13 -4
  160. package/dist/adapters/ollama/backend/client.js.map +1 -1
  161. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  162. package/dist/adapters/ollama/backend/embedding.d.cts +3 -14
  163. package/dist/adapters/ollama/backend/embedding.d.ts +3 -14
  164. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  165. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  166. package/dist/adapters/openai/backend/chat.d.cts +3 -14
  167. package/dist/adapters/openai/backend/chat.d.ts +3 -14
  168. package/dist/adapters/openai/backend/chat.js.map +1 -1
  169. package/dist/adapters/openai/backend/client.cjs +1 -4
  170. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  171. package/dist/adapters/openai/backend/client.d.cts +1 -12
  172. package/dist/adapters/openai/backend/client.d.ts +1 -12
  173. package/dist/adapters/openai/backend/client.js +3 -6
  174. package/dist/adapters/openai/backend/client.js.map +1 -1
  175. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  176. package/dist/adapters/openai/backend/embedding.d.cts +3 -14
  177. package/dist/adapters/openai/backend/embedding.d.ts +3 -14
  178. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  179. package/dist/adapters/vercel/backend/chat.cjs +2 -2
  180. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  181. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  182. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  183. package/dist/adapters/vercel/backend/chat.js +2 -2
  184. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  185. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  186. package/dist/adapters/vercel/backend/embedding.d.cts +3 -14
  187. package/dist/adapters/vercel/backend/embedding.d.ts +3 -14
  188. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  189. package/dist/adapters/vercel/backend/utils.cjs +11 -2
  190. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  191. package/dist/adapters/vercel/backend/utils.d.cts +3 -13
  192. package/dist/adapters/vercel/backend/utils.d.ts +3 -13
  193. package/dist/adapters/vercel/backend/utils.js +11 -3
  194. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  195. package/dist/adapters/watsonx/backend/chat.cjs +13 -13
  196. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  197. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  198. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  199. package/dist/adapters/watsonx/backend/chat.js +13 -13
  200. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  201. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  202. package/dist/adapters/watsonx/backend/client.d.cts +1 -12
  203. package/dist/adapters/watsonx/backend/client.d.ts +1 -12
  204. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  205. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  206. package/dist/adapters/watsonx/backend/embedding.d.cts +3 -14
  207. package/dist/adapters/watsonx/backend/embedding.d.ts +3 -14
  208. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  209. package/dist/adapters/xai/backend/chat.cjs +24 -0
  210. package/dist/adapters/xai/backend/chat.cjs.map +1 -0
  211. package/dist/adapters/xai/backend/chat.d.cts +39 -0
  212. package/dist/adapters/xai/backend/chat.d.ts +39 -0
  213. package/dist/adapters/xai/backend/chat.js +22 -0
  214. package/dist/adapters/xai/backend/chat.js.map +1 -0
  215. package/dist/adapters/xai/backend/client.cjs +26 -0
  216. package/dist/adapters/xai/backend/client.cjs.map +1 -0
  217. package/dist/adapters/xai/backend/client.d.cts +17 -0
  218. package/dist/adapters/xai/backend/client.d.ts +17 -0
  219. package/dist/adapters/xai/backend/client.js +24 -0
  220. package/dist/adapters/xai/backend/client.js.map +1 -0
  221. package/dist/{agent-Ca5UE2P1.d.cts → agent-Bhm6xSfI.d.cts} +3 -3
  222. package/dist/{agent-CgsoqVL5.d.ts → agent-CmCmnEDX.d.ts} +3 -3
  223. package/dist/agents/base.cjs.map +1 -1
  224. package/dist/agents/base.d.cts +2 -2
  225. package/dist/agents/base.d.ts +2 -2
  226. package/dist/agents/base.js.map +1 -1
  227. package/dist/agents/experimental/replan/agent.cjs +8 -8
  228. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  229. package/dist/agents/experimental/replan/agent.d.cts +4 -15
  230. package/dist/agents/experimental/replan/agent.d.ts +4 -15
  231. package/dist/agents/experimental/replan/agent.js +8 -8
  232. package/dist/agents/experimental/replan/agent.js.map +1 -1
  233. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  234. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  235. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  236. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  237. package/dist/agents/experimental/streamlit/agent.cjs +9 -9
  238. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  239. package/dist/agents/experimental/streamlit/agent.d.cts +4 -15
  240. package/dist/agents/experimental/streamlit/agent.d.ts +4 -15
  241. package/dist/agents/experimental/streamlit/agent.js +9 -9
  242. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  243. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  244. package/dist/agents/experimental/streamlit/prompts.d.cts +1 -12
  245. package/dist/agents/experimental/streamlit/prompts.d.ts +1 -12
  246. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  247. package/dist/agents/react/agent.cjs +8 -8
  248. package/dist/agents/react/agent.cjs.map +1 -1
  249. package/dist/agents/react/agent.d.cts +4 -4
  250. package/dist/agents/react/agent.d.ts +4 -4
  251. package/dist/agents/react/agent.js +8 -8
  252. package/dist/agents/react/agent.js.map +1 -1
  253. package/dist/agents/react/prompts.cjs.map +1 -1
  254. package/dist/agents/react/prompts.d.cts +1 -12
  255. package/dist/agents/react/prompts.d.ts +1 -12
  256. package/dist/agents/react/prompts.js.map +1 -1
  257. package/dist/agents/react/runners/base.cjs +2 -2
  258. package/dist/agents/react/runners/base.cjs.map +1 -1
  259. package/dist/agents/react/runners/base.d.cts +4 -4
  260. package/dist/agents/react/runners/base.d.ts +4 -4
  261. package/dist/agents/react/runners/base.js +2 -2
  262. package/dist/agents/react/runners/base.js.map +1 -1
  263. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  264. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -12
  265. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -12
  266. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  267. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  268. package/dist/agents/react/runners/deep-think/runner.d.cts +4 -4
  269. package/dist/agents/react/runners/deep-think/runner.d.ts +4 -4
  270. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  271. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  272. package/dist/agents/react/runners/default/runner.d.cts +4 -4
  273. package/dist/agents/react/runners/default/runner.d.ts +4 -4
  274. package/dist/agents/react/runners/default/runner.js.map +1 -1
  275. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  276. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  277. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  278. package/dist/agents/react/runners/granite/prompts.d.cts +1 -12
  279. package/dist/agents/react/runners/granite/prompts.d.ts +1 -12
  280. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  281. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  282. package/dist/agents/react/runners/granite/runner.d.cts +4 -4
  283. package/dist/agents/react/runners/granite/runner.d.ts +4 -4
  284. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  285. package/dist/agents/react/types.d.cts +3 -14
  286. package/dist/agents/react/types.d.ts +3 -14
  287. package/dist/agents/toolCalling/agent.cjs +8 -8
  288. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  289. package/dist/agents/toolCalling/agent.d.cts +4 -15
  290. package/dist/agents/toolCalling/agent.d.ts +4 -15
  291. package/dist/agents/toolCalling/agent.js +8 -8
  292. package/dist/agents/toolCalling/agent.js.map +1 -1
  293. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  294. package/dist/agents/toolCalling/prompts.d.cts +1 -12
  295. package/dist/agents/toolCalling/prompts.d.ts +1 -12
  296. package/dist/agents/toolCalling/prompts.js.map +1 -1
  297. package/dist/agents/toolCalling/types.d.cts +2 -13
  298. package/dist/agents/toolCalling/types.d.ts +2 -13
  299. package/dist/agents/types.d.cts +2 -2
  300. package/dist/agents/types.d.ts +2 -2
  301. package/dist/backend/backend.cjs.map +1 -1
  302. package/dist/backend/backend.d.cts +3 -14
  303. package/dist/backend/backend.d.ts +3 -14
  304. package/dist/backend/backend.js.map +1 -1
  305. package/dist/backend/chat.cjs.map +1 -1
  306. package/dist/backend/chat.d.cts +2 -2
  307. package/dist/backend/chat.d.ts +2 -2
  308. package/dist/backend/chat.js.map +1 -1
  309. package/dist/backend/client.cjs.map +1 -1
  310. package/dist/backend/client.d.cts +1 -12
  311. package/dist/backend/client.d.ts +1 -12
  312. package/dist/backend/client.js.map +1 -1
  313. package/dist/backend/constants.cjs +8 -0
  314. package/dist/backend/constants.cjs.map +1 -1
  315. package/dist/backend/constants.d.cts +6 -12
  316. package/dist/backend/constants.d.ts +6 -12
  317. package/dist/backend/constants.js +8 -0
  318. package/dist/backend/constants.js.map +1 -1
  319. package/dist/backend/core.d.cts +2 -2
  320. package/dist/backend/core.d.ts +2 -2
  321. package/dist/backend/embedding.cjs.map +1 -1
  322. package/dist/backend/embedding.d.cts +2 -2
  323. package/dist/backend/embedding.d.ts +2 -2
  324. package/dist/backend/embedding.js.map +1 -1
  325. package/dist/backend/errors.cjs.map +1 -1
  326. package/dist/backend/errors.d.cts +1 -12
  327. package/dist/backend/errors.d.ts +1 -12
  328. package/dist/backend/errors.js.map +1 -1
  329. package/dist/backend/message.cjs.map +1 -1
  330. package/dist/backend/message.d.cts +2 -13
  331. package/dist/backend/message.d.ts +2 -13
  332. package/dist/backend/message.js.map +1 -1
  333. package/dist/backend/utils.cjs.map +1 -1
  334. package/dist/backend/utils.d.cts +2 -2
  335. package/dist/backend/utils.d.ts +2 -2
  336. package/dist/backend/utils.js.map +1 -1
  337. package/dist/{base-szR2Izbt.d.cts → base-BP7v-NSL.d.cts} +3 -14
  338. package/dist/{base-BOCDDBvG.d.ts → base-BsY2baWy.d.ts} +3 -14
  339. package/dist/cache/base.cjs.map +1 -1
  340. package/dist/cache/base.d.cts +1 -12
  341. package/dist/cache/base.d.ts +1 -12
  342. package/dist/cache/base.js.map +1 -1
  343. package/dist/cache/decoratorCache.cjs +2 -2
  344. package/dist/cache/decoratorCache.cjs.map +1 -1
  345. package/dist/cache/decoratorCache.d.cts +1 -12
  346. package/dist/cache/decoratorCache.d.ts +1 -12
  347. package/dist/cache/decoratorCache.js +2 -2
  348. package/dist/cache/decoratorCache.js.map +1 -1
  349. package/dist/cache/fileCache.cjs.map +1 -1
  350. package/dist/cache/fileCache.d.cts +1 -12
  351. package/dist/cache/fileCache.d.ts +1 -12
  352. package/dist/cache/fileCache.js.map +1 -1
  353. package/dist/cache/nullCache.cjs.map +1 -1
  354. package/dist/cache/nullCache.d.cts +1 -12
  355. package/dist/cache/nullCache.d.ts +1 -12
  356. package/dist/cache/nullCache.js.map +1 -1
  357. package/dist/cache/slidingCache.cjs.map +1 -1
  358. package/dist/cache/slidingCache.d.cts +1 -12
  359. package/dist/cache/slidingCache.d.ts +1 -12
  360. package/dist/cache/slidingCache.js.map +1 -1
  361. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  362. package/dist/cache/unconstrainedCache.d.cts +1 -12
  363. package/dist/cache/unconstrainedCache.d.ts +1 -12
  364. package/dist/cache/unconstrainedCache.js.map +1 -1
  365. package/dist/{chat-DvMzAHj6.d.cts → chat-CR4yfOR9.d.cts} +3 -14
  366. package/dist/{chat-BdN8hGWn.d.ts → chat-W9j8T6UU.d.ts} +3 -14
  367. package/dist/context.cjs +3 -4
  368. package/dist/context.cjs.map +1 -1
  369. package/dist/context.d.cts +2 -13
  370. package/dist/context.d.ts +2 -13
  371. package/dist/context.js +3 -4
  372. package/dist/context.js.map +1 -1
  373. package/dist/emitter/emitter.cjs.map +1 -1
  374. package/dist/emitter/emitter.d.cts +1 -1
  375. package/dist/emitter/emitter.d.ts +1 -1
  376. package/dist/emitter/emitter.js.map +1 -1
  377. package/dist/emitter/errors.cjs.map +1 -1
  378. package/dist/emitter/errors.d.cts +1 -12
  379. package/dist/emitter/errors.d.ts +1 -12
  380. package/dist/emitter/errors.js.map +1 -1
  381. package/dist/emitter/types.d.cts +1 -1
  382. package/dist/emitter/types.d.ts +1 -1
  383. package/dist/emitter/utils.cjs.map +1 -1
  384. package/dist/emitter/utils.d.cts +1 -12
  385. package/dist/emitter/utils.d.ts +1 -12
  386. package/dist/emitter/utils.js.map +1 -1
  387. package/dist/{emitter-C3dO-s2P.d.ts → emitter-C9nwGLt6.d.ts} +3 -25
  388. package/dist/{emitter-D5Mu0EEH.d.cts → emitter-DWEsd-ud.d.cts} +3 -25
  389. package/dist/errors.cjs.map +1 -1
  390. package/dist/errors.d.cts +1 -12
  391. package/dist/errors.d.ts +1 -12
  392. package/dist/errors.js.map +1 -1
  393. package/dist/index.d.cts +4 -4
  394. package/dist/index.d.ts +4 -4
  395. package/dist/internals/env.cjs.map +1 -1
  396. package/dist/internals/env.d.cts +1 -12
  397. package/dist/internals/env.d.ts +1 -12
  398. package/dist/internals/env.js.map +1 -1
  399. package/dist/internals/fetcher.cjs +8 -8
  400. package/dist/internals/fetcher.cjs.map +1 -1
  401. package/dist/internals/fetcher.d.cts +2 -13
  402. package/dist/internals/fetcher.d.ts +2 -13
  403. package/dist/internals/fetcher.js +8 -8
  404. package/dist/internals/fetcher.js.map +1 -1
  405. package/dist/internals/helpers/array.cjs.map +1 -1
  406. package/dist/internals/helpers/array.d.cts +1 -12
  407. package/dist/internals/helpers/array.d.ts +1 -12
  408. package/dist/internals/helpers/array.js.map +1 -1
  409. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  410. package/dist/internals/helpers/cancellation.d.cts +1 -12
  411. package/dist/internals/helpers/cancellation.d.ts +1 -12
  412. package/dist/internals/helpers/cancellation.js.map +1 -1
  413. package/dist/internals/helpers/counter.cjs.map +1 -1
  414. package/dist/internals/helpers/counter.d.cts +1 -12
  415. package/dist/internals/helpers/counter.d.ts +1 -12
  416. package/dist/internals/helpers/counter.js.map +1 -1
  417. package/dist/internals/helpers/general.cjs.map +1 -1
  418. package/dist/internals/helpers/general.d.cts +1 -12
  419. package/dist/internals/helpers/general.d.ts +1 -12
  420. package/dist/internals/helpers/general.js.map +1 -1
  421. package/dist/internals/helpers/guards.cjs.map +1 -1
  422. package/dist/internals/helpers/guards.d.cts +1 -12
  423. package/dist/internals/helpers/guards.d.ts +1 -12
  424. package/dist/internals/helpers/guards.js.map +1 -1
  425. package/dist/internals/helpers/hash.cjs.map +1 -1
  426. package/dist/internals/helpers/hash.d.cts +1 -12
  427. package/dist/internals/helpers/hash.d.ts +1 -12
  428. package/dist/internals/helpers/hash.js.map +1 -1
  429. package/dist/internals/helpers/map.cjs.map +1 -1
  430. package/dist/internals/helpers/map.d.cts +1 -12
  431. package/dist/internals/helpers/map.d.ts +1 -12
  432. package/dist/internals/helpers/map.js.map +1 -1
  433. package/dist/internals/helpers/math.cjs.map +1 -1
  434. package/dist/internals/helpers/math.d.cts +1 -12
  435. package/dist/internals/helpers/math.d.ts +1 -12
  436. package/dist/internals/helpers/math.js.map +1 -1
  437. package/dist/internals/helpers/number.cjs.map +1 -1
  438. package/dist/internals/helpers/number.d.cts +1 -12
  439. package/dist/internals/helpers/number.d.ts +1 -12
  440. package/dist/internals/helpers/number.js.map +1 -1
  441. package/dist/internals/helpers/object.cjs.map +1 -1
  442. package/dist/internals/helpers/object.d.cts +1 -12
  443. package/dist/internals/helpers/object.d.ts +1 -12
  444. package/dist/internals/helpers/object.js.map +1 -1
  445. package/dist/internals/helpers/paginate.cjs.map +1 -1
  446. package/dist/internals/helpers/paginate.d.cts +1 -12
  447. package/dist/internals/helpers/paginate.d.ts +1 -12
  448. package/dist/internals/helpers/paginate.js.map +1 -1
  449. package/dist/internals/helpers/promise.cjs +1 -3
  450. package/dist/internals/helpers/promise.cjs.map +1 -1
  451. package/dist/internals/helpers/promise.d.cts +1 -12
  452. package/dist/internals/helpers/promise.d.ts +1 -12
  453. package/dist/internals/helpers/promise.js +1 -3
  454. package/dist/internals/helpers/promise.js.map +1 -1
  455. package/dist/internals/helpers/prototype.cjs.map +1 -1
  456. package/dist/internals/helpers/prototype.d.cts +1 -12
  457. package/dist/internals/helpers/prototype.d.ts +1 -12
  458. package/dist/internals/helpers/prototype.js.map +1 -1
  459. package/dist/internals/helpers/retry.cjs.map +1 -1
  460. package/dist/internals/helpers/retry.d.cts +1 -12
  461. package/dist/internals/helpers/retry.d.ts +1 -12
  462. package/dist/internals/helpers/retry.js.map +1 -1
  463. package/dist/internals/helpers/retryable.cjs.map +1 -1
  464. package/dist/internals/helpers/retryable.d.cts +1 -12
  465. package/dist/internals/helpers/retryable.d.ts +1 -12
  466. package/dist/internals/helpers/retryable.js.map +1 -1
  467. package/dist/internals/helpers/schema.cjs.map +1 -1
  468. package/dist/internals/helpers/schema.d.cts +1 -12
  469. package/dist/internals/helpers/schema.d.ts +1 -12
  470. package/dist/internals/helpers/schema.js.map +1 -1
  471. package/dist/internals/helpers/stream.cjs.map +1 -1
  472. package/dist/internals/helpers/stream.d.cts +1 -12
  473. package/dist/internals/helpers/stream.d.ts +1 -12
  474. package/dist/internals/helpers/stream.js.map +1 -1
  475. package/dist/internals/helpers/string.cjs.map +1 -1
  476. package/dist/internals/helpers/string.d.cts +1 -12
  477. package/dist/internals/helpers/string.d.ts +1 -12
  478. package/dist/internals/helpers/string.js.map +1 -1
  479. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  480. package/dist/internals/helpers/weakRef.d.cts +1 -12
  481. package/dist/internals/helpers/weakRef.d.ts +1 -12
  482. package/dist/internals/helpers/weakRef.js.map +1 -1
  483. package/dist/internals/serializable.cjs.map +1 -1
  484. package/dist/internals/serializable.d.cts +1 -12
  485. package/dist/internals/serializable.d.ts +1 -12
  486. package/dist/internals/serializable.js.map +1 -1
  487. package/dist/internals/types.cjs.map +1 -1
  488. package/dist/internals/types.d.cts +1 -12
  489. package/dist/internals/types.d.ts +1 -12
  490. package/dist/internals/types.js.map +1 -1
  491. package/dist/logger/logger.cjs.map +1 -1
  492. package/dist/logger/logger.js.map +1 -1
  493. package/dist/logger/pretty.cjs.map +1 -1
  494. package/dist/logger/pretty.js.map +1 -1
  495. package/dist/memory/base.cjs.map +1 -1
  496. package/dist/memory/base.js.map +1 -1
  497. package/dist/memory/slidingMemory.cjs.map +1 -1
  498. package/dist/memory/slidingMemory.js.map +1 -1
  499. package/dist/memory/summarizeMemory.cjs.map +1 -1
  500. package/dist/memory/summarizeMemory.d.cts +2 -2
  501. package/dist/memory/summarizeMemory.d.ts +2 -2
  502. package/dist/memory/summarizeMemory.js.map +1 -1
  503. package/dist/memory/tokenMemory.cjs.map +1 -1
  504. package/dist/memory/tokenMemory.js.map +1 -1
  505. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  506. package/dist/memory/unconstrainedMemory.js.map +1 -1
  507. package/dist/parsers/errors.cjs.map +1 -1
  508. package/dist/parsers/errors.d.cts +1 -12
  509. package/dist/parsers/errors.d.ts +1 -12
  510. package/dist/parsers/errors.js.map +1 -1
  511. package/dist/parsers/field.cjs +2 -2
  512. package/dist/parsers/field.cjs.map +1 -1
  513. package/dist/parsers/field.js +2 -2
  514. package/dist/parsers/field.js.map +1 -1
  515. package/dist/parsers/linePrefix.cjs +15 -15
  516. package/dist/parsers/linePrefix.cjs.map +1 -1
  517. package/dist/parsers/linePrefix.d.cts +2 -13
  518. package/dist/parsers/linePrefix.d.ts +2 -13
  519. package/dist/parsers/linePrefix.js +15 -15
  520. package/dist/parsers/linePrefix.js.map +1 -1
  521. package/dist/serializer/error.cjs.map +1 -1
  522. package/dist/serializer/error.d.cts +1 -12
  523. package/dist/serializer/error.d.ts +1 -12
  524. package/dist/serializer/error.js.map +1 -1
  525. package/dist/serializer/serializer.cjs.map +1 -1
  526. package/dist/serializer/serializer.d.cts +1 -1
  527. package/dist/serializer/serializer.d.ts +1 -1
  528. package/dist/serializer/serializer.js.map +1 -1
  529. package/dist/serializer/utils.cjs +1 -2
  530. package/dist/serializer/utils.cjs.map +1 -1
  531. package/dist/serializer/utils.d.cts +1 -1
  532. package/dist/serializer/utils.d.ts +1 -1
  533. package/dist/serializer/utils.js +1 -2
  534. package/dist/serializer/utils.js.map +1 -1
  535. package/dist/{serializer-Dz4AIM2O.d.cts → serializer-BKn50Vnx.d.cts} +2 -24
  536. package/dist/{serializer-BswFRdT8.d.ts → serializer-CQxucveV.d.ts} +2 -24
  537. package/dist/serve/server.cjs +13 -7
  538. package/dist/serve/server.cjs.map +1 -1
  539. package/dist/serve/server.d.cts +5 -15
  540. package/dist/serve/server.d.ts +5 -15
  541. package/dist/serve/server.js +13 -7
  542. package/dist/serve/server.js.map +1 -1
  543. package/dist/template.cjs.map +1 -1
  544. package/dist/template.d.cts +1 -12
  545. package/dist/template.d.ts +1 -12
  546. package/dist/template.js.map +1 -1
  547. package/dist/tools/arxiv.cjs.map +1 -1
  548. package/dist/tools/arxiv.d.cts +2 -13
  549. package/dist/tools/arxiv.d.ts +2 -13
  550. package/dist/tools/arxiv.js.map +1 -1
  551. package/dist/tools/base.cjs.map +1 -1
  552. package/dist/tools/base.d.cts +1 -1
  553. package/dist/tools/base.d.ts +1 -1
  554. package/dist/tools/base.js.map +1 -1
  555. package/dist/tools/calculator.cjs.map +1 -1
  556. package/dist/tools/calculator.d.cts +2 -13
  557. package/dist/tools/calculator.d.ts +2 -13
  558. package/dist/tools/calculator.js.map +1 -1
  559. package/dist/tools/custom.cjs.map +1 -1
  560. package/dist/tools/custom.d.cts +3 -14
  561. package/dist/tools/custom.d.ts +3 -14
  562. package/dist/tools/custom.js.map +1 -1
  563. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  564. package/dist/tools/database/elasticsearch.d.cts +2 -13
  565. package/dist/tools/database/elasticsearch.d.ts +2 -13
  566. package/dist/tools/database/elasticsearch.js.map +1 -1
  567. package/dist/tools/database/metadata.cjs.map +1 -1
  568. package/dist/tools/database/metadata.d.cts +1 -12
  569. package/dist/tools/database/metadata.d.ts +1 -12
  570. package/dist/tools/database/metadata.js.map +1 -1
  571. package/dist/tools/database/milvus.cjs.map +1 -1
  572. package/dist/tools/database/milvus.d.cts +2 -13
  573. package/dist/tools/database/milvus.d.ts +2 -13
  574. package/dist/tools/database/milvus.js.map +1 -1
  575. package/dist/tools/database/qdrant.cjs.map +1 -1
  576. package/dist/tools/database/qdrant.d.cts +2 -13
  577. package/dist/tools/database/qdrant.d.ts +2 -13
  578. package/dist/tools/database/qdrant.js.map +1 -1
  579. package/dist/tools/database/sql.cjs.map +1 -1
  580. package/dist/tools/database/sql.d.cts +2 -13
  581. package/dist/tools/database/sql.d.ts +2 -13
  582. package/dist/tools/database/sql.js.map +1 -1
  583. package/dist/tools/llm.cjs +3 -3
  584. package/dist/tools/llm.cjs.map +1 -1
  585. package/dist/tools/llm.d.cts +3 -14
  586. package/dist/tools/llm.d.ts +3 -14
  587. package/dist/tools/llm.js +3 -3
  588. package/dist/tools/llm.js.map +1 -1
  589. package/dist/tools/mcp.cjs +2 -1
  590. package/dist/tools/mcp.cjs.map +1 -1
  591. package/dist/tools/mcp.d.cts +2 -13
  592. package/dist/tools/mcp.d.ts +2 -13
  593. package/dist/tools/mcp.js +2 -1
  594. package/dist/tools/mcp.js.map +1 -1
  595. package/dist/tools/openapi.cjs.map +1 -1
  596. package/dist/tools/openapi.d.cts +1 -1
  597. package/dist/tools/openapi.d.ts +1 -1
  598. package/dist/tools/openapi.js.map +1 -1
  599. package/dist/tools/python/output.cjs.map +1 -1
  600. package/dist/tools/python/output.d.cts +2 -13
  601. package/dist/tools/python/output.d.ts +2 -13
  602. package/dist/tools/python/output.js.map +1 -1
  603. package/dist/tools/python/python.cjs.map +1 -1
  604. package/dist/tools/python/python.d.cts +2 -2
  605. package/dist/tools/python/python.d.ts +2 -2
  606. package/dist/tools/python/python.js.map +1 -1
  607. package/dist/tools/python/storage.cjs.map +1 -1
  608. package/dist/tools/python/storage.d.cts +1 -12
  609. package/dist/tools/python/storage.d.ts +1 -12
  610. package/dist/tools/python/storage.js.map +1 -1
  611. package/dist/tools/search/base.cjs.map +1 -1
  612. package/dist/tools/search/base.d.cts +2 -13
  613. package/dist/tools/search/base.d.ts +2 -13
  614. package/dist/tools/search/base.js.map +1 -1
  615. package/dist/tools/search/duckDuckGoSearch.cjs +7 -1
  616. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  617. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -13
  618. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -13
  619. package/dist/tools/search/duckDuckGoSearch.js +7 -1
  620. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  621. package/dist/tools/search/googleSearch.cjs.map +1 -1
  622. package/dist/tools/search/googleSearch.d.cts +1 -1
  623. package/dist/tools/search/googleSearch.d.ts +1 -1
  624. package/dist/tools/search/googleSearch.js.map +1 -1
  625. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  626. package/dist/tools/search/searXNGSearch.d.cts +2 -13
  627. package/dist/tools/search/searXNGSearch.d.ts +2 -13
  628. package/dist/tools/search/searXNGSearch.js.map +1 -1
  629. package/dist/tools/search/wikipedia.cjs +11 -11
  630. package/dist/tools/search/wikipedia.cjs.map +1 -1
  631. package/dist/tools/search/wikipedia.d.cts +1 -1
  632. package/dist/tools/search/wikipedia.d.ts +1 -1
  633. package/dist/tools/search/wikipedia.js +11 -11
  634. package/dist/tools/search/wikipedia.js.map +1 -1
  635. package/dist/tools/similarity.cjs.map +1 -1
  636. package/dist/tools/similarity.d.cts +2 -13
  637. package/dist/tools/similarity.d.ts +2 -13
  638. package/dist/tools/similarity.js.map +1 -1
  639. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  640. package/dist/tools/weather/openMeteo.d.cts +2 -13
  641. package/dist/tools/weather/openMeteo.d.ts +2 -13
  642. package/dist/tools/weather/openMeteo.js.map +1 -1
  643. package/dist/tools/web/webCrawler.cjs.map +1 -1
  644. package/dist/tools/web/webCrawler.d.cts +1 -1
  645. package/dist/tools/web/webCrawler.d.ts +1 -1
  646. package/dist/tools/web/webCrawler.js.map +1 -1
  647. package/dist/version.cjs +1 -1
  648. package/dist/version.cjs.map +1 -1
  649. package/dist/version.d.cts +1 -12
  650. package/dist/version.d.ts +1 -12
  651. package/dist/version.js +1 -1
  652. package/dist/version.js.map +1 -1
  653. package/dist/workflows/agent.cjs.map +1 -1
  654. package/dist/workflows/agent.d.cts +40 -40
  655. package/dist/workflows/agent.d.ts +40 -40
  656. package/dist/workflows/agent.js.map +1 -1
  657. package/dist/workflows/workflow.cjs +3 -3
  658. package/dist/workflows/workflow.cjs.map +1 -1
  659. package/dist/workflows/workflow.d.cts +1 -1
  660. package/dist/workflows/workflow.d.ts +1 -1
  661. package/dist/workflows/workflow.js +3 -3
  662. package/dist/workflows/workflow.js.map +1 -1
  663. package/package.json +42 -73
@@ -1 +1 @@
1
- {"version":3,"sources":["emitter.ts"],"names":["Emitter","Serializable","listeners","Set","groupId","namespace","creator","context","trace","cleanups","constructor","input","Object","prototype","assertValidNamespace","register","root","create","child","slice","cleanup","pipe","push","target","on","toBoundedFunction","args","invoke","value","name","isBlocking","once","persistent","destroy","clear","forEach","length","reset","listener","options","delete","registerCallbacks","callbacks","entries","key","event","callback","match","matcher","createMatcher","matchers","matchNested","path","createFullPath","RegExp","test","isPath","EmitterError","matchSameRun","runId","unshift","every","raw","add","emit","assertValidName","createEvent","data","executions","values","run","Promise","all","id","createRandomHash","createdAt","Date","source","assign","shallowCopy","createSnapshot","Array","from","map","pick","loadSnapshot","snapshot"],"mappings":"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","file":"emitter.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n Callback,\n CleanupFn,\n EmitterOptions,\n EventMeta,\n EventTrace,\n Matcher,\n MatcherFn,\n StringKey,\n} from \"@/emitter/types.js\";\nexport type { EventMeta, EventTrace, Callback };\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { createFullPath, isPath, assertValidName, assertValidNamespace } from \"@/emitter/utils.js\";\nimport { EmitterError } from \"@/emitter/errors.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { shallowCopy, toBoundedFunction } from \"@/serializer/utils.js\";\nimport { RequiredAll } from \"@/internals/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { pick } from \"remeda\";\n\nexport interface EmitterInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\nexport interface EmitterChildInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\n\ninterface Listener<T = any> {\n readonly match: MatcherFn;\n readonly raw: Matcher;\n readonly callback: Callback<T>;\n readonly options?: EmitterOptions;\n}\n\nexport class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {\n protected listeners = new Set<Listener>();\n protected readonly groupId?: string;\n public readonly namespace: string[];\n public readonly creator?: object;\n public readonly context: object;\n public readonly trace?: EventTrace;\n protected readonly cleanups: CleanupFn[] = [];\n\n constructor(input: EmitterInput = {}) {\n super();\n this.groupId = input?.groupId;\n this.namespace = input?.namespace ?? [];\n this.creator = input.creator ?? Object.prototype;\n this.context = input?.context ?? {};\n this.trace = input.trace;\n assertValidNamespace(this.namespace);\n }\n\n static {\n this.register();\n }\n\n @Cache()\n static get root() {\n return new Emitter<Record<string, Callback<any>>>({ creator: Object.create(null) });\n }\n\n child<R = T>(input: EmitterChildInput = {}): Emitter<R> {\n const child = new Emitter<R>({\n trace: input.trace ?? this.trace,\n groupId: input?.groupId ?? this.groupId,\n context: { ...this.context, ...input?.context },\n creator: input?.creator ?? this.creator,\n namespace: input?.namespace\n ? [...this.namespace, ...input.namespace]\n : this.namespace.slice(),\n });\n\n const cleanup = child.pipe(this);\n this.cleanups.push(cleanup);\n\n return child;\n }\n\n pipe(target: Emitter<any>): CleanupFn {\n return this.on(\n // @ts-expect-error\n \"*.*\",\n toBoundedFunction(\n // @ts-expect-error\n (...args) => target.invoke(...args),\n [{ value: target, name: \"target\" }],\n ),\n {\n isBlocking: true,\n once: false,\n persistent: true,\n },\n );\n }\n\n destroy() {\n this.listeners.clear();\n this.cleanups.forEach((child) => child());\n this.cleanups.length = 0;\n }\n\n reset() {\n for (const listener of this.listeners) {\n if (!listener.options?.persistent) {\n this.listeners.delete(listener);\n }\n }\n }\n\n registerCallbacks<K extends StringKey<RequiredAll<T>>>(\n callbacks: Partial<\n Record<K, NonNullable<T[K]> extends Callback<infer X> ? Callback<X> : never>\n >,\n options?: Partial<Record<K, EmitterOptions>>,\n ): CleanupFn {\n const listeners: CleanupFn[] = [];\n Object.entries(callbacks).forEach(([key, value]) => {\n if (value) {\n // @ts-expect-error\n listeners.push(this.on(key, value, options?.[key]));\n }\n });\n return () => listeners.forEach((cleanup) => cleanup());\n }\n\n on<K extends StringKey<RequiredAll<T>>>(\n event: K,\n callback: NonNullable<T[K]> extends Callback<any> ? T[K] : never,\n options?: EmitterOptions,\n ): CleanupFn {\n return this.match(event as Matcher, callback as Callback<any>, options);\n }\n\n match<L>(matcher: Matcher, callback: Callback<L>, options?: EmitterOptions): CleanupFn {\n const createMatcher = (): MatcherFn => {\n const matchers: MatcherFn[] = [];\n let matchNested = options?.matchNested;\n\n if (matcher === \"*\") {\n matchNested ??= false;\n matchers.push((event) => event.path === createFullPath(this.namespace, event.name));\n } else if (matcher === \"*.*\") {\n matchNested ??= true;\n matchers.push(() => true);\n } else if (matcher instanceof RegExp) {\n matchNested ??= true;\n matchers.push((event) => matcher.test(event.path));\n } else if (typeof matcher === \"function\") {\n matchNested ??= false;\n matchers.push(matcher);\n } else if (typeof matcher === \"string\") {\n if (isPath(matcher)) {\n matchNested ??= true;\n matchers.push((event) => event.path === matcher);\n } else {\n matchNested ??= false;\n matchers.push(\n (event) =>\n event.name === matcher && event.path === createFullPath(this.namespace, event.name),\n );\n }\n } else {\n throw new EmitterError(\"Invalid matcher provided!\");\n }\n\n if (!matchNested) {\n const matchSameRun = (event: EventMeta) => {\n // global observability x scoped observability\n return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;\n };\n matchers.unshift(matchSameRun);\n }\n\n return (event) => matchers.every((matcher) => matcher(event));\n };\n\n const listener: Listener = {\n options,\n callback,\n raw: matcher,\n match: createMatcher(),\n };\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n async emit<K extends StringKey<RequiredAll<T>>>(\n name: K,\n value: NonNullable<T[K]> extends Callback<infer X> ? X : unknown,\n ): Promise<void> {\n assertValidName(name);\n\n const event = this.createEvent(name);\n return await this.invoke(value, event);\n }\n\n protected async invoke(data: unknown, event: EventMeta) {\n const executions: unknown[] = [];\n for (const listener of this.listeners.values()) {\n if (!listener.match(event)) {\n continue;\n }\n\n if (listener.options?.once) {\n this.listeners.delete(listener);\n }\n\n const run = async () => listener.callback(data, event);\n executions.push(listener.options?.isBlocking ? await run() : run());\n }\n await Promise.all(executions);\n }\n\n protected createEvent(name: string): EventMeta {\n return {\n id: createRandomHash(),\n groupId: this.groupId,\n name,\n path: createFullPath(this.namespace, name),\n createdAt: new Date(),\n source: this,\n creator: this.creator!,\n context: Object.assign({}, this.context, {}),\n trace: shallowCopy(this.trace), // TODO\n };\n }\n\n createSnapshot() {\n return {\n groupId: this.groupId,\n namespace: shallowCopy(this.namespace),\n creator: this.creator,\n context: this.context,\n trace: this.trace,\n listeners: Array.from(this.listeners).map(pick([\"raw\", \"options\", \"callback\"])),\n cleanups: this.cleanups,\n };\n }\n\n loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot, { listeners: new Set() });\n listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/emitter.ts"],"names":["Emitter","Serializable","listeners","Set","groupId","namespace","creator","context","trace","cleanups","input","Object","prototype","assertValidNamespace","register","root","create","child","slice","cleanup","pipe","push","target","on","toBoundedFunction","args","invoke","value","name","isBlocking","once","persistent","destroy","clear","forEach","length","reset","listener","options","delete","registerCallbacks","callbacks","entries","key","event","callback","match","matcher","createMatcher","matchers","matchNested","path","createFullPath","RegExp","test","isPath","EmitterError","matchSameRun","runId","unshift","every","raw","add","emit","assertValidName","createEvent","data","executions","values","run","Promise","all","id","createRandomHash","createdAt","Date","source","assign","shallowCopy","createSnapshot","Array","from","map","pick","loadSnapshot","snapshot"],"mappings":"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","file":"emitter.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n Callback,\n CleanupFn,\n EmitterOptions,\n EventMeta,\n EventTrace,\n Matcher,\n MatcherFn,\n StringKey,\n} from \"@/emitter/types.js\";\nexport type { EventMeta, EventTrace, Callback };\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { createFullPath, isPath, assertValidName, assertValidNamespace } from \"@/emitter/utils.js\";\nimport { EmitterError } from \"@/emitter/errors.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { shallowCopy, toBoundedFunction } from \"@/serializer/utils.js\";\nimport { RequiredAll } from \"@/internals/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { pick } from \"remeda\";\n\nexport interface EmitterInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\nexport interface EmitterChildInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\n\ninterface Listener<T = any> {\n readonly match: MatcherFn;\n readonly raw: Matcher;\n readonly callback: Callback<T>;\n readonly options?: EmitterOptions;\n}\n\nexport class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {\n protected listeners = new Set<Listener>();\n protected readonly groupId?: string;\n public readonly namespace: string[];\n public readonly creator?: object;\n public readonly context: object;\n public readonly trace?: EventTrace;\n protected readonly cleanups: CleanupFn[] = [];\n\n constructor(input: EmitterInput = {}) {\n super();\n this.groupId = input?.groupId;\n this.namespace = input?.namespace ?? [];\n this.creator = input.creator ?? Object.prototype;\n this.context = input?.context ?? {};\n this.trace = input.trace;\n assertValidNamespace(this.namespace);\n }\n\n static {\n this.register();\n }\n\n @Cache()\n static get root() {\n return new Emitter<Record<string, Callback<any>>>({ creator: Object.create(null) });\n }\n\n child<R = T>(input: EmitterChildInput = {}): Emitter<R> {\n const child = new Emitter<R>({\n trace: input.trace ?? this.trace,\n groupId: input?.groupId ?? this.groupId,\n context: { ...this.context, ...input?.context },\n creator: input?.creator ?? this.creator,\n namespace: input?.namespace\n ? [...this.namespace, ...input.namespace]\n : this.namespace.slice(),\n });\n\n const cleanup = child.pipe(this);\n this.cleanups.push(cleanup);\n\n return child;\n }\n\n pipe(target: Emitter<any>): CleanupFn {\n return this.on(\n // @ts-expect-error\n \"*.*\",\n toBoundedFunction(\n // @ts-expect-error\n (...args) => target.invoke(...args),\n [{ value: target, name: \"target\" }],\n ),\n {\n isBlocking: true,\n once: false,\n persistent: true,\n },\n );\n }\n\n destroy() {\n this.listeners.clear();\n this.cleanups.forEach((child) => child());\n this.cleanups.length = 0;\n }\n\n reset() {\n for (const listener of this.listeners) {\n if (!listener.options?.persistent) {\n this.listeners.delete(listener);\n }\n }\n }\n\n registerCallbacks<K extends StringKey<RequiredAll<T>>>(\n callbacks: Partial<\n Record<K, NonNullable<T[K]> extends Callback<infer X> ? Callback<X> : never>\n >,\n options?: Partial<Record<K, EmitterOptions>>,\n ): CleanupFn {\n const listeners: CleanupFn[] = [];\n Object.entries(callbacks).forEach(([key, value]) => {\n if (value) {\n // @ts-expect-error\n listeners.push(this.on(key, value, options?.[key]));\n }\n });\n return () => listeners.forEach((cleanup) => cleanup());\n }\n\n on<K extends StringKey<RequiredAll<T>>>(\n event: K,\n callback: NonNullable<T[K]> extends Callback<any> ? T[K] : never,\n options?: EmitterOptions,\n ): CleanupFn {\n return this.match(event as Matcher, callback as Callback<any>, options);\n }\n\n match<L>(matcher: Matcher, callback: Callback<L>, options?: EmitterOptions): CleanupFn {\n const createMatcher = (): MatcherFn => {\n const matchers: MatcherFn[] = [];\n let matchNested = options?.matchNested;\n\n if (matcher === \"*\") {\n matchNested ??= false;\n matchers.push((event) => event.path === createFullPath(this.namespace, event.name));\n } else if (matcher === \"*.*\") {\n matchNested ??= true;\n matchers.push(() => true);\n } else if (matcher instanceof RegExp) {\n matchNested ??= true;\n matchers.push((event) => matcher.test(event.path));\n } else if (typeof matcher === \"function\") {\n matchNested ??= false;\n matchers.push(matcher);\n } else if (typeof matcher === \"string\") {\n if (isPath(matcher)) {\n matchNested ??= true;\n matchers.push((event) => event.path === matcher);\n } else {\n matchNested ??= false;\n matchers.push(\n (event) =>\n event.name === matcher && event.path === createFullPath(this.namespace, event.name),\n );\n }\n } else {\n throw new EmitterError(\"Invalid matcher provided!\");\n }\n\n if (!matchNested) {\n const matchSameRun = (event: EventMeta) => {\n // global observability x scoped observability\n return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;\n };\n matchers.unshift(matchSameRun);\n }\n\n return (event) => matchers.every((matcher) => matcher(event));\n };\n\n const listener: Listener = {\n options,\n callback,\n raw: matcher,\n match: createMatcher(),\n };\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n async emit<K extends StringKey<RequiredAll<T>>>(\n name: K,\n value: NonNullable<T[K]> extends Callback<infer X> ? X : unknown,\n ): Promise<void> {\n assertValidName(name);\n\n const event = this.createEvent(name);\n return await this.invoke(value, event);\n }\n\n protected async invoke(data: unknown, event: EventMeta) {\n const executions: unknown[] = [];\n for (const listener of this.listeners.values()) {\n if (!listener.match(event)) {\n continue;\n }\n\n if (listener.options?.once) {\n this.listeners.delete(listener);\n }\n\n const run = async () => listener.callback(data, event);\n executions.push(listener.options?.isBlocking ? await run() : run());\n }\n await Promise.all(executions);\n }\n\n protected createEvent(name: string): EventMeta {\n return {\n id: createRandomHash(),\n groupId: this.groupId,\n name,\n path: createFullPath(this.namespace, name),\n createdAt: new Date(),\n source: this,\n creator: this.creator!,\n context: Object.assign({}, this.context, {}),\n trace: shallowCopy(this.trace), // TODO\n };\n }\n\n createSnapshot() {\n return {\n groupId: this.groupId,\n namespace: shallowCopy(this.namespace),\n creator: this.creator,\n context: this.context,\n trace: this.trace,\n listeners: Array.from(this.listeners).map(pick([\"raw\", \"options\", \"callback\"])),\n cleanups: this.cleanups,\n };\n }\n\n loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot, { listeners: new Set() });\n listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));\n }\n}\n"]}
@@ -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-D5Mu0EEH.cjs';
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';
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-C3dO-s2P.js';
1
+ export { C as Callback, E as Emitter, g as EmitterChildInput, f as EmitterInput, e as EventMeta, d as EventTrace } from '../emitter-C9nwGLt6.js';
2
2
  import '../internals/types.js';
3
3
  import '../internals/serializable.js';
4
4
  import '../internals/helpers/guards.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["emitter.ts"],"names":["Emitter","Serializable","listeners","Set","groupId","namespace","creator","context","trace","cleanups","constructor","input","Object","prototype","assertValidNamespace","register","root","create","child","slice","cleanup","pipe","push","target","on","toBoundedFunction","args","invoke","value","name","isBlocking","once","persistent","destroy","clear","forEach","length","reset","listener","options","delete","registerCallbacks","callbacks","entries","key","event","callback","match","matcher","createMatcher","matchers","matchNested","path","createFullPath","RegExp","test","isPath","EmitterError","matchSameRun","runId","unshift","every","raw","add","emit","assertValidName","createEvent","data","executions","values","run","Promise","all","id","createRandomHash","createdAt","Date","source","assign","shallowCopy","createSnapshot","Array","from","map","pick","loadSnapshot","snapshot"],"mappings":"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","file":"emitter.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 {\n Callback,\n CleanupFn,\n EmitterOptions,\n EventMeta,\n EventTrace,\n Matcher,\n MatcherFn,\n StringKey,\n} from \"@/emitter/types.js\";\nexport type { EventMeta, EventTrace, Callback };\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { createFullPath, isPath, assertValidName, assertValidNamespace } from \"@/emitter/utils.js\";\nimport { EmitterError } from \"@/emitter/errors.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { shallowCopy, toBoundedFunction } from \"@/serializer/utils.js\";\nimport { RequiredAll } from \"@/internals/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { pick } from \"remeda\";\n\nexport interface EmitterInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\nexport interface EmitterChildInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\n\ninterface Listener<T = any> {\n readonly match: MatcherFn;\n readonly raw: Matcher;\n readonly callback: Callback<T>;\n readonly options?: EmitterOptions;\n}\n\nexport class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {\n protected listeners = new Set<Listener>();\n protected readonly groupId?: string;\n public readonly namespace: string[];\n public readonly creator?: object;\n public readonly context: object;\n public readonly trace?: EventTrace;\n protected readonly cleanups: CleanupFn[] = [];\n\n constructor(input: EmitterInput = {}) {\n super();\n this.groupId = input?.groupId;\n this.namespace = input?.namespace ?? [];\n this.creator = input.creator ?? Object.prototype;\n this.context = input?.context ?? {};\n this.trace = input.trace;\n assertValidNamespace(this.namespace);\n }\n\n static {\n this.register();\n }\n\n @Cache()\n static get root() {\n return new Emitter<Record<string, Callback<any>>>({ creator: Object.create(null) });\n }\n\n child<R = T>(input: EmitterChildInput = {}): Emitter<R> {\n const child = new Emitter<R>({\n trace: input.trace ?? this.trace,\n groupId: input?.groupId ?? this.groupId,\n context: { ...this.context, ...input?.context },\n creator: input?.creator ?? this.creator,\n namespace: input?.namespace\n ? [...this.namespace, ...input.namespace]\n : this.namespace.slice(),\n });\n\n const cleanup = child.pipe(this);\n this.cleanups.push(cleanup);\n\n return child;\n }\n\n pipe(target: Emitter<any>): CleanupFn {\n return this.on(\n // @ts-expect-error\n \"*.*\",\n toBoundedFunction(\n // @ts-expect-error\n (...args) => target.invoke(...args),\n [{ value: target, name: \"target\" }],\n ),\n {\n isBlocking: true,\n once: false,\n persistent: true,\n },\n );\n }\n\n destroy() {\n this.listeners.clear();\n this.cleanups.forEach((child) => child());\n this.cleanups.length = 0;\n }\n\n reset() {\n for (const listener of this.listeners) {\n if (!listener.options?.persistent) {\n this.listeners.delete(listener);\n }\n }\n }\n\n registerCallbacks<K extends StringKey<RequiredAll<T>>>(\n callbacks: Partial<\n Record<K, NonNullable<T[K]> extends Callback<infer X> ? Callback<X> : never>\n >,\n options?: Partial<Record<K, EmitterOptions>>,\n ): CleanupFn {\n const listeners: CleanupFn[] = [];\n Object.entries(callbacks).forEach(([key, value]) => {\n if (value) {\n // @ts-expect-error\n listeners.push(this.on(key, value, options?.[key]));\n }\n });\n return () => listeners.forEach((cleanup) => cleanup());\n }\n\n on<K extends StringKey<RequiredAll<T>>>(\n event: K,\n callback: NonNullable<T[K]> extends Callback<any> ? T[K] : never,\n options?: EmitterOptions,\n ): CleanupFn {\n return this.match(event as Matcher, callback as Callback<any>, options);\n }\n\n match<L>(matcher: Matcher, callback: Callback<L>, options?: EmitterOptions): CleanupFn {\n const createMatcher = (): MatcherFn => {\n const matchers: MatcherFn[] = [];\n let matchNested = options?.matchNested;\n\n if (matcher === \"*\") {\n matchNested ??= false;\n matchers.push((event) => event.path === createFullPath(this.namespace, event.name));\n } else if (matcher === \"*.*\") {\n matchNested ??= true;\n matchers.push(() => true);\n } else if (matcher instanceof RegExp) {\n matchNested ??= true;\n matchers.push((event) => matcher.test(event.path));\n } else if (typeof matcher === \"function\") {\n matchNested ??= false;\n matchers.push(matcher);\n } else if (typeof matcher === \"string\") {\n if (isPath(matcher)) {\n matchNested ??= true;\n matchers.push((event) => event.path === matcher);\n } else {\n matchNested ??= false;\n matchers.push(\n (event) =>\n event.name === matcher && event.path === createFullPath(this.namespace, event.name),\n );\n }\n } else {\n throw new EmitterError(\"Invalid matcher provided!\");\n }\n\n if (!matchNested) {\n const matchSameRun = (event: EventMeta) => {\n // global observability x scoped observability\n return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;\n };\n matchers.unshift(matchSameRun);\n }\n\n return (event) => matchers.every((matcher) => matcher(event));\n };\n\n const listener: Listener = {\n options,\n callback,\n raw: matcher,\n match: createMatcher(),\n };\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n async emit<K extends StringKey<RequiredAll<T>>>(\n name: K,\n value: NonNullable<T[K]> extends Callback<infer X> ? X : unknown,\n ): Promise<void> {\n assertValidName(name);\n\n const event = this.createEvent(name);\n return await this.invoke(value, event);\n }\n\n protected async invoke(data: unknown, event: EventMeta) {\n const executions: unknown[] = [];\n for (const listener of this.listeners.values()) {\n if (!listener.match(event)) {\n continue;\n }\n\n if (listener.options?.once) {\n this.listeners.delete(listener);\n }\n\n const run = async () => listener.callback(data, event);\n executions.push(listener.options?.isBlocking ? await run() : run());\n }\n await Promise.all(executions);\n }\n\n protected createEvent(name: string): EventMeta {\n return {\n id: createRandomHash(),\n groupId: this.groupId,\n name,\n path: createFullPath(this.namespace, name),\n createdAt: new Date(),\n source: this,\n creator: this.creator!,\n context: Object.assign({}, this.context, {}),\n trace: shallowCopy(this.trace), // TODO\n };\n }\n\n createSnapshot() {\n return {\n groupId: this.groupId,\n namespace: shallowCopy(this.namespace),\n creator: this.creator,\n context: this.context,\n trace: this.trace,\n listeners: Array.from(this.listeners).map(pick([\"raw\", \"options\", \"callback\"])),\n cleanups: this.cleanups,\n };\n }\n\n loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot, { listeners: new Set() });\n listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/emitter.ts"],"names":["Emitter","Serializable","listeners","Set","groupId","namespace","creator","context","trace","cleanups","input","Object","prototype","assertValidNamespace","register","root","create","child","slice","cleanup","pipe","push","target","on","toBoundedFunction","args","invoke","value","name","isBlocking","once","persistent","destroy","clear","forEach","length","reset","listener","options","delete","registerCallbacks","callbacks","entries","key","event","callback","match","matcher","createMatcher","matchers","matchNested","path","createFullPath","RegExp","test","isPath","EmitterError","matchSameRun","runId","unshift","every","raw","add","emit","assertValidName","createEvent","data","executions","values","run","Promise","all","id","createRandomHash","createdAt","Date","source","assign","shallowCopy","createSnapshot","Array","from","map","pick","loadSnapshot","snapshot"],"mappings":"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","file":"emitter.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n Callback,\n CleanupFn,\n EmitterOptions,\n EventMeta,\n EventTrace,\n Matcher,\n MatcherFn,\n StringKey,\n} from \"@/emitter/types.js\";\nexport type { EventMeta, EventTrace, Callback };\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { createFullPath, isPath, assertValidName, assertValidNamespace } from \"@/emitter/utils.js\";\nimport { EmitterError } from \"@/emitter/errors.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { shallowCopy, toBoundedFunction } from \"@/serializer/utils.js\";\nimport { RequiredAll } from \"@/internals/types.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { pick } from \"remeda\";\n\nexport interface EmitterInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\nexport interface EmitterChildInput<E extends object = object> {\n groupId?: string;\n namespace?: string[];\n creator?: object;\n context?: E & object;\n trace?: EventTrace;\n}\n\ninterface Listener<T = any> {\n readonly match: MatcherFn;\n readonly raw: Matcher;\n readonly callback: Callback<T>;\n readonly options?: EmitterOptions;\n}\n\nexport class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializable {\n protected listeners = new Set<Listener>();\n protected readonly groupId?: string;\n public readonly namespace: string[];\n public readonly creator?: object;\n public readonly context: object;\n public readonly trace?: EventTrace;\n protected readonly cleanups: CleanupFn[] = [];\n\n constructor(input: EmitterInput = {}) {\n super();\n this.groupId = input?.groupId;\n this.namespace = input?.namespace ?? [];\n this.creator = input.creator ?? Object.prototype;\n this.context = input?.context ?? {};\n this.trace = input.trace;\n assertValidNamespace(this.namespace);\n }\n\n static {\n this.register();\n }\n\n @Cache()\n static get root() {\n return new Emitter<Record<string, Callback<any>>>({ creator: Object.create(null) });\n }\n\n child<R = T>(input: EmitterChildInput = {}): Emitter<R> {\n const child = new Emitter<R>({\n trace: input.trace ?? this.trace,\n groupId: input?.groupId ?? this.groupId,\n context: { ...this.context, ...input?.context },\n creator: input?.creator ?? this.creator,\n namespace: input?.namespace\n ? [...this.namespace, ...input.namespace]\n : this.namespace.slice(),\n });\n\n const cleanup = child.pipe(this);\n this.cleanups.push(cleanup);\n\n return child;\n }\n\n pipe(target: Emitter<any>): CleanupFn {\n return this.on(\n // @ts-expect-error\n \"*.*\",\n toBoundedFunction(\n // @ts-expect-error\n (...args) => target.invoke(...args),\n [{ value: target, name: \"target\" }],\n ),\n {\n isBlocking: true,\n once: false,\n persistent: true,\n },\n );\n }\n\n destroy() {\n this.listeners.clear();\n this.cleanups.forEach((child) => child());\n this.cleanups.length = 0;\n }\n\n reset() {\n for (const listener of this.listeners) {\n if (!listener.options?.persistent) {\n this.listeners.delete(listener);\n }\n }\n }\n\n registerCallbacks<K extends StringKey<RequiredAll<T>>>(\n callbacks: Partial<\n Record<K, NonNullable<T[K]> extends Callback<infer X> ? Callback<X> : never>\n >,\n options?: Partial<Record<K, EmitterOptions>>,\n ): CleanupFn {\n const listeners: CleanupFn[] = [];\n Object.entries(callbacks).forEach(([key, value]) => {\n if (value) {\n // @ts-expect-error\n listeners.push(this.on(key, value, options?.[key]));\n }\n });\n return () => listeners.forEach((cleanup) => cleanup());\n }\n\n on<K extends StringKey<RequiredAll<T>>>(\n event: K,\n callback: NonNullable<T[K]> extends Callback<any> ? T[K] : never,\n options?: EmitterOptions,\n ): CleanupFn {\n return this.match(event as Matcher, callback as Callback<any>, options);\n }\n\n match<L>(matcher: Matcher, callback: Callback<L>, options?: EmitterOptions): CleanupFn {\n const createMatcher = (): MatcherFn => {\n const matchers: MatcherFn[] = [];\n let matchNested = options?.matchNested;\n\n if (matcher === \"*\") {\n matchNested ??= false;\n matchers.push((event) => event.path === createFullPath(this.namespace, event.name));\n } else if (matcher === \"*.*\") {\n matchNested ??= true;\n matchers.push(() => true);\n } else if (matcher instanceof RegExp) {\n matchNested ??= true;\n matchers.push((event) => matcher.test(event.path));\n } else if (typeof matcher === \"function\") {\n matchNested ??= false;\n matchers.push(matcher);\n } else if (typeof matcher === \"string\") {\n if (isPath(matcher)) {\n matchNested ??= true;\n matchers.push((event) => event.path === matcher);\n } else {\n matchNested ??= false;\n matchers.push(\n (event) =>\n event.name === matcher && event.path === createFullPath(this.namespace, event.name),\n );\n }\n } else {\n throw new EmitterError(\"Invalid matcher provided!\");\n }\n\n if (!matchNested) {\n const matchSameRun = (event: EventMeta) => {\n // global observability x scoped observability\n return !this.trace?.runId ? true : this.trace?.runId === event.trace?.runId;\n };\n matchers.unshift(matchSameRun);\n }\n\n return (event) => matchers.every((matcher) => matcher(event));\n };\n\n const listener: Listener = {\n options,\n callback,\n raw: matcher,\n match: createMatcher(),\n };\n this.listeners.add(listener);\n\n return () => this.listeners.delete(listener);\n }\n\n async emit<K extends StringKey<RequiredAll<T>>>(\n name: K,\n value: NonNullable<T[K]> extends Callback<infer X> ? X : unknown,\n ): Promise<void> {\n assertValidName(name);\n\n const event = this.createEvent(name);\n return await this.invoke(value, event);\n }\n\n protected async invoke(data: unknown, event: EventMeta) {\n const executions: unknown[] = [];\n for (const listener of this.listeners.values()) {\n if (!listener.match(event)) {\n continue;\n }\n\n if (listener.options?.once) {\n this.listeners.delete(listener);\n }\n\n const run = async () => listener.callback(data, event);\n executions.push(listener.options?.isBlocking ? await run() : run());\n }\n await Promise.all(executions);\n }\n\n protected createEvent(name: string): EventMeta {\n return {\n id: createRandomHash(),\n groupId: this.groupId,\n name,\n path: createFullPath(this.namespace, name),\n createdAt: new Date(),\n source: this,\n creator: this.creator!,\n context: Object.assign({}, this.context, {}),\n trace: shallowCopy(this.trace), // TODO\n };\n }\n\n createSnapshot() {\n return {\n groupId: this.groupId,\n namespace: shallowCopy(this.namespace),\n creator: this.creator,\n context: this.context,\n trace: this.trace,\n listeners: Array.from(this.listeners).map(pick([\"raw\", \"options\", \"callback\"])),\n cleanups: this.cleanups,\n };\n }\n\n loadSnapshot({ listeners, ...snapshot }: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot, { listeners: new Set() });\n listeners.forEach(({ raw, callback, options }) => this.match(raw, callback, options));\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["errors.ts"],"names":["EmitterError","FrameworkError"],"mappings":";;;;;;AAkBO,MAAMA,qBAAqBC,yBAAAA,CAAAA;EAlBlC;;;AAkBkD","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 { FrameworkError } from \"@/errors.js\";\n\nexport class EmitterError extends FrameworkError {}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/errors.ts"],"names":["EmitterError","FrameworkError"],"mappings":";;;;;;AAOO,MAAMA,qBAAqBC,yBAAAA,CAAAA;EAPlC;;;AAOkD","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\n\nexport class EmitterError extends FrameworkError {}\n"]}
@@ -4,18 +4,7 @@ import '../internals/helpers/guards.cjs';
4
4
 
5
5
  /**
6
6
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
7
+ * SPDX-License-Identifier: Apache-2.0
19
8
  */
20
9
 
21
10
  declare class EmitterError extends FrameworkError {
@@ -4,18 +4,7 @@ import '../internals/helpers/guards.js';
4
4
 
5
5
  /**
6
6
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
7
+ * SPDX-License-Identifier: Apache-2.0
19
8
  */
20
9
 
21
10
  declare class EmitterError extends FrameworkError {
@@ -1 +1 @@
1
- {"version":3,"sources":["errors.ts"],"names":["EmitterError","FrameworkError"],"mappings":";;;;AAkBO,MAAMA,qBAAqBC,cAAAA,CAAAA;EAlBlC;;;AAkBkD","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 { FrameworkError } from \"@/errors.js\";\n\nexport class EmitterError extends FrameworkError {}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/errors.ts"],"names":["EmitterError","FrameworkError"],"mappings":";;;;AAOO,MAAMA,qBAAqBC,cAAAA,CAAAA;EAPlC;;;AAOkD","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\n\nexport class EmitterError extends FrameworkError {}\n"]}
@@ -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-D5Mu0EEH.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';
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-C3dO-s2P.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';
3
3
  import '../internals/helpers/guards.js';
4
4
  import '../internals/serializable.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["assertValidNamespace","path","Array","isArray","EmitterError","forEach","part","assertValidName","name","test","context","value","createFullPath","concat","join","isPath","includes"],"mappings":";;;;;;AAkBO,SAASA,qBAAqBC,IAAc,EAAA;AACjD,EAAA,IAAI,CAACA,IAAQ,IAAA,CAACC,KAAMC,CAAAA,OAAAA,CAAQF,IAAAA,CAAO,EAAA;AACjC,IAAM,MAAA,IAAIG,wBAAa,6BAAA,CAAA;AACzB;AACAH,EAAAA,IAAAA,CAAKI,OAAQ,CAAA,CAACC,IAASC,KAAAA,eAAAA,CAAgBD,IAAAA,CAAAA,CAAAA;AACzC;AALgBN,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAOT,SAASO,gBAAgBC,IAAY,EAAA;AAC1C,EAAA,IAAI,CAACA,IAAQ,IAAA,CAAC,mBAAoBC,CAAAA,IAAAA,CAAKD,IAAAA,CAAO,EAAA;AAC5C,IAAA,MAAM,IAAIJ,uBAAAA,CACR,+FACA,EAAA,EACA,EAAA;MACEM,OAAS,EAAA;QAAEC,KAAOH,EAAAA;AAAK;KACzB,CAAA;AAEJ;AACF;AAVgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAYT,SAASK,cAAAA,CAAeX,MAAgBO,IAAY,EAAA;AACzD,EAAOA,OAAAA,IAAAA,GAAOP,IAAKY,CAAAA,MAAAA,CAAOL,IAAAA,CAAAA,CAAMM,KAAK,GAAA,CAAA,GAAOb,IAAKa,CAAAA,IAAAA,CAAK,GAAA,CAAA;AACxD;AAFgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASG,OAAOP,IAAY,EAAA;AACjC,EAAOA,OAAAA,IAAAA,CAAKQ,SAAS,GAAA,CAAA;AACvB;AAFgBD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"utils.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 { EmitterError } from \"@/emitter/errors.js\";\n\nexport function assertValidNamespace(path: string[]) {\n if (!path || !Array.isArray(path)) {\n throw new EmitterError(\"Event path cannot be empty!\");\n }\n path.forEach((part) => assertValidName(part));\n}\n\nexport function assertValidName(name: string) {\n if (!name || !/(^[a-zA-Z0-9_]+$)/.test(name)) {\n throw new EmitterError(\n \"Event name or a namespace part must contain only letters, letters and optionally underscores.\",\n [],\n {\n context: { value: name },\n },\n );\n }\n}\n\nexport function createFullPath(path: string[], name: string) {\n return name ? path.concat(name).join(\".\") : path.join(\".\");\n}\n\nexport function isPath(name: string) {\n return name.includes(\".\");\n}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/utils.ts"],"names":["assertValidNamespace","path","Array","isArray","EmitterError","forEach","part","assertValidName","name","test","context","value","createFullPath","concat","join","isPath","includes"],"mappings":";;;;;;AAOO,SAASA,qBAAqBC,IAAAA,EAAc;AACjD,EAAA,IAAI,CAACA,IAAAA,IAAQ,CAACC,KAAAA,CAAMC,OAAAA,CAAQF,IAAAA,CAAAA,EAAO;AACjC,IAAA,MAAM,IAAIG,wBAAa,6BAAA,CAAA;AACzB;AACAH,EAAAA,IAAAA,CAAKI,OAAAA,CAAQ,CAACC,IAAAA,KAASC,eAAAA,CAAgBD,IAAAA,CAAAA,CAAAA;AACzC;AALgBN,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAOT,SAASO,gBAAgBC,IAAAA,EAAY;AAC1C,EAAA,IAAI,CAACA,IAAAA,IAAQ,CAAC,mBAAA,CAAoBC,IAAAA,CAAKD,IAAAA,CAAAA,EAAO;AAC5C,IAAA,MAAM,IAAIJ,uBAAAA,CACR,+FAAA,EACA,EAAA,EACA;MACEM,OAAAA,EAAS;QAAEC,KAAAA,EAAOH;AAAK;KACzB,CAAA;AAEJ;AACF;AAVgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAYT,SAASK,cAAAA,CAAeX,MAAgBO,IAAAA,EAAY;AACzD,EAAA,OAAOA,IAAAA,GAAOP,IAAAA,CAAKY,MAAAA,CAAOL,IAAAA,CAAAA,CAAMM,KAAK,GAAA,CAAA,GAAOb,IAAAA,CAAKa,IAAAA,CAAK,GAAA,CAAA;AACxD;AAFgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASG,OAAOP,IAAAA,EAAY;AACjC,EAAA,OAAOA,IAAAA,CAAKQ,SAAS,GAAA,CAAA;AACvB;AAFgBD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"utils.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EmitterError } from \"@/emitter/errors.js\";\n\nexport function assertValidNamespace(path: string[]) {\n if (!path || !Array.isArray(path)) {\n throw new EmitterError(\"Event path cannot be empty!\");\n }\n path.forEach((part) => assertValidName(part));\n}\n\nexport function assertValidName(name: string) {\n if (!name || !/(^[a-zA-Z0-9_]+$)/.test(name)) {\n throw new EmitterError(\n \"Event name or a namespace part must contain only letters, letters and optionally underscores.\",\n [],\n {\n context: { value: name },\n },\n );\n }\n}\n\nexport function createFullPath(path: string[], name: string) {\n return name ? path.concat(name).join(\".\") : path.join(\".\");\n}\n\nexport function isPath(name: string) {\n return name.includes(\".\");\n}\n"]}
@@ -1,17 +1,6 @@
1
1
  /**
2
2
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
3
+ * SPDX-License-Identifier: Apache-2.0
15
4
  */
16
5
  declare function assertValidNamespace(path: string[]): void;
17
6
  declare function assertValidName(name: string): void;
@@ -1,17 +1,6 @@
1
1
  /**
2
2
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
3
+ * SPDX-License-Identifier: Apache-2.0
15
4
  */
16
5
  declare function assertValidNamespace(path: string[]): void;
17
6
  declare function assertValidName(name: string): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["assertValidNamespace","path","Array","isArray","EmitterError","forEach","part","assertValidName","name","test","context","value","createFullPath","concat","join","isPath","includes"],"mappings":";;;;AAkBO,SAASA,qBAAqBC,IAAc,EAAA;AACjD,EAAA,IAAI,CAACA,IAAQ,IAAA,CAACC,KAAMC,CAAAA,OAAAA,CAAQF,IAAAA,CAAO,EAAA;AACjC,IAAM,MAAA,IAAIG,aAAa,6BAAA,CAAA;AACzB;AACAH,EAAAA,IAAAA,CAAKI,OAAQ,CAAA,CAACC,IAASC,KAAAA,eAAAA,CAAgBD,IAAAA,CAAAA,CAAAA;AACzC;AALgBN,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAOT,SAASO,gBAAgBC,IAAY,EAAA;AAC1C,EAAA,IAAI,CAACA,IAAQ,IAAA,CAAC,mBAAoBC,CAAAA,IAAAA,CAAKD,IAAAA,CAAO,EAAA;AAC5C,IAAA,MAAM,IAAIJ,YAAAA,CACR,+FACA,EAAA,EACA,EAAA;MACEM,OAAS,EAAA;QAAEC,KAAOH,EAAAA;AAAK;KACzB,CAAA;AAEJ;AACF;AAVgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAYT,SAASK,cAAAA,CAAeX,MAAgBO,IAAY,EAAA;AACzD,EAAOA,OAAAA,IAAAA,GAAOP,IAAKY,CAAAA,MAAAA,CAAOL,IAAAA,CAAAA,CAAMM,KAAK,GAAA,CAAA,GAAOb,IAAKa,CAAAA,IAAAA,CAAK,GAAA,CAAA;AACxD;AAFgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASG,OAAOP,IAAY,EAAA;AACjC,EAAOA,OAAAA,IAAAA,CAAKQ,SAAS,GAAA,CAAA;AACvB;AAFgBD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"utils.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 { EmitterError } from \"@/emitter/errors.js\";\n\nexport function assertValidNamespace(path: string[]) {\n if (!path || !Array.isArray(path)) {\n throw new EmitterError(\"Event path cannot be empty!\");\n }\n path.forEach((part) => assertValidName(part));\n}\n\nexport function assertValidName(name: string) {\n if (!name || !/(^[a-zA-Z0-9_]+$)/.test(name)) {\n throw new EmitterError(\n \"Event name or a namespace part must contain only letters, letters and optionally underscores.\",\n [],\n {\n context: { value: name },\n },\n );\n }\n}\n\nexport function createFullPath(path: string[], name: string) {\n return name ? path.concat(name).join(\".\") : path.join(\".\");\n}\n\nexport function isPath(name: string) {\n return name.includes(\".\");\n}\n"]}
1
+ {"version":3,"sources":["../../src/emitter/utils.ts"],"names":["assertValidNamespace","path","Array","isArray","EmitterError","forEach","part","assertValidName","name","test","context","value","createFullPath","concat","join","isPath","includes"],"mappings":";;;;AAOO,SAASA,qBAAqBC,IAAAA,EAAc;AACjD,EAAA,IAAI,CAACA,IAAAA,IAAQ,CAACC,KAAAA,CAAMC,OAAAA,CAAQF,IAAAA,CAAAA,EAAO;AACjC,IAAA,MAAM,IAAIG,aAAa,6BAAA,CAAA;AACzB;AACAH,EAAAA,IAAAA,CAAKI,OAAAA,CAAQ,CAACC,IAAAA,KAASC,eAAAA,CAAgBD,IAAAA,CAAAA,CAAAA;AACzC;AALgBN,MAAAA,CAAAA,oBAAAA,EAAAA,sBAAAA,CAAAA;AAOT,SAASO,gBAAgBC,IAAAA,EAAY;AAC1C,EAAA,IAAI,CAACA,IAAAA,IAAQ,CAAC,mBAAA,CAAoBC,IAAAA,CAAKD,IAAAA,CAAAA,EAAO;AAC5C,IAAA,MAAM,IAAIJ,YAAAA,CACR,+FAAA,EACA,EAAA,EACA;MACEM,OAAAA,EAAS;QAAEC,KAAAA,EAAOH;AAAK;KACzB,CAAA;AAEJ;AACF;AAVgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAYT,SAASK,cAAAA,CAAeX,MAAgBO,IAAAA,EAAY;AACzD,EAAA,OAAOA,IAAAA,GAAOP,IAAAA,CAAKY,MAAAA,CAAOL,IAAAA,CAAAA,CAAMM,KAAK,GAAA,CAAA,GAAOb,IAAAA,CAAKa,IAAAA,CAAK,GAAA,CAAA;AACxD;AAFgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAIT,SAASG,OAAOP,IAAAA,EAAY;AACjC,EAAA,OAAOA,IAAAA,CAAKQ,SAAS,GAAA,CAAA;AACvB;AAFgBD,MAAAA,CAAAA,MAAAA,EAAAA,QAAAA,CAAAA","file":"utils.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EmitterError } from \"@/emitter/errors.js\";\n\nexport function assertValidNamespace(path: string[]) {\n if (!path || !Array.isArray(path)) {\n throw new EmitterError(\"Event path cannot be empty!\");\n }\n path.forEach((part) => assertValidName(part));\n}\n\nexport function assertValidName(name: string) {\n if (!name || !/(^[a-zA-Z0-9_]+$)/.test(name)) {\n throw new EmitterError(\n \"Event name or a namespace part must contain only letters, letters and optionally underscores.\",\n [],\n {\n context: { value: name },\n },\n );\n }\n}\n\nexport function createFullPath(path: string[], name: string) {\n return name ? path.concat(name).join(\".\") : path.join(\".\");\n}\n\nexport function isPath(name: string) {\n return name.includes(\".\");\n}\n"]}
@@ -3,18 +3,7 @@ import { Serializable } from './internals/serializable.js';
3
3
 
4
4
  /**
5
5
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
6
+ * SPDX-License-Identifier: Apache-2.0
18
7
  */
19
8
 
20
9
  type MatcherFn = (event: EventMeta) => boolean;
@@ -48,18 +37,7 @@ interface EventMeta<C = unknown> {
48
37
 
49
38
  /**
50
39
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
51
- *
52
- * Licensed under the Apache License, Version 2.0 (the "License");
53
- * you may not use this file except in compliance with the License.
54
- * You may obtain a copy of the License at
55
- *
56
- * http://www.apache.org/licenses/LICENSE-2.0
57
- *
58
- * Unless required by applicable law or agreed to in writing, software
59
- * distributed under the License is distributed on an "AS IS" BASIS,
60
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
61
- * See the License for the specific language governing permissions and
62
- * limitations under the License.
40
+ * SPDX-License-Identifier: Apache-2.0
63
41
  */
64
42
 
65
43
  interface EmitterInput<E extends object = object> {
@@ -109,8 +87,8 @@ declare class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializ
109
87
  context: object;
110
88
  trace: EventTrace | undefined;
111
89
  listeners: {
112
- readonly raw: Matcher;
113
90
  readonly options?: EmitterOptions | undefined;
91
+ readonly raw: Matcher;
114
92
  readonly callback: Callback<any>;
115
93
  }[];
116
94
  cleanups: CleanupFn[];
@@ -3,18 +3,7 @@ import { Serializable } from './internals/serializable.cjs';
3
3
 
4
4
  /**
5
5
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
6
+ * SPDX-License-Identifier: Apache-2.0
18
7
  */
19
8
 
20
9
  type MatcherFn = (event: EventMeta) => boolean;
@@ -48,18 +37,7 @@ interface EventMeta<C = unknown> {
48
37
 
49
38
  /**
50
39
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
51
- *
52
- * Licensed under the Apache License, Version 2.0 (the "License");
53
- * you may not use this file except in compliance with the License.
54
- * You may obtain a copy of the License at
55
- *
56
- * http://www.apache.org/licenses/LICENSE-2.0
57
- *
58
- * Unless required by applicable law or agreed to in writing, software
59
- * distributed under the License is distributed on an "AS IS" BASIS,
60
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
61
- * See the License for the specific language governing permissions and
62
- * limitations under the License.
40
+ * SPDX-License-Identifier: Apache-2.0
63
41
  */
64
42
 
65
43
  interface EmitterInput<E extends object = object> {
@@ -109,8 +87,8 @@ declare class Emitter<T = Record<keyof any, Callback<unknown>>> extends Serializ
109
87
  context: object;
110
88
  trace: EventTrace | undefined;
111
89
  listeners: {
112
- readonly raw: Matcher;
113
90
  readonly options?: EmitterOptions | undefined;
91
+ readonly raw: Matcher;
114
92
  readonly callback: Callback<any>;
115
93
  }[];
116
94
  cleanups: CleanupFn[];
@@ -1 +1 @@
1
- {"version":3,"sources":["errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
package/dist/errors.d.cts CHANGED
@@ -3,18 +3,7 @@ import './internals/helpers/guards.cjs';
3
3
 
4
4
  /**
5
5
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
6
+ * SPDX-License-Identifier: Apache-2.0
18
7
  */
19
8
 
20
9
  interface FrameworkErrorOptions {
package/dist/errors.d.ts CHANGED
@@ -3,18 +3,7 @@ import './internals/helpers/guards.js';
3
3
 
4
4
  /**
5
5
  * Copyright 2025 © BeeAI a Series of LF Projects, LLC
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
6
+ * SPDX-License-Identifier: Apache-2.0
18
7
  */
19
8
 
20
9
  interface FrameworkErrorOptions {
@@ -1 +1 @@
1
- {"version":3,"sources":["errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","constructor","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\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 util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/errors.ts"],"names":["FrameworkError","AggregateError","isFatal","isRetryable","context","message","errors","options","name","Error","captureStackTrace","R","isBoolean","hasFatalError","err","traverseErrors","error","getCause","Array","from","at","explain","output","index","entries","offset","repeat","push","toString","cause","join","dump","util","inspect","compact","depth","Infinity","ensure","undefined","isInstanceOf","isAbortError","AbortError","NotImplementedError","ValueError"],"mappings":"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","file":"errors.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport util from \"util\";\nimport * as R from \"remeda\";\nimport type { ObjectLike } from \"@/internals/types.js\";\n\nexport interface FrameworkErrorOptions {\n isFatal?: boolean;\n isRetryable?: boolean;\n context?: ObjectLike;\n}\n\nexport class FrameworkError extends AggregateError {\n isFatal = false;\n isRetryable = true;\n context: Record<string, any>;\n\n constructor(\n message = \"The BeeAI Framework has encountered an error.\",\n errors: Error[] = [],\n options: FrameworkErrorOptions = {},\n ) {\n super(errors || [], message);\n this.name = this.constructor.name;\n Error.captureStackTrace(this, AggregateError);\n\n if (R.isBoolean(options?.isFatal)) {\n this.isFatal = options?.isFatal;\n }\n if (R.isBoolean(options?.isRetryable)) {\n this.isRetryable = options.isRetryable;\n }\n this.context = options?.context ?? {};\n }\n\n hasFatalError() {\n if (this.isFatal) {\n return true;\n }\n for (const err of this.traverseErrors()) {\n if (err instanceof FrameworkError && err.isFatal) {\n return true;\n }\n }\n return false;\n }\n\n *traverseErrors(): Generator<Error> {\n for (const error of this.errors) {\n yield error;\n if (error instanceof FrameworkError) {\n yield* error.traverseErrors();\n }\n }\n }\n\n getCause(): Error {\n const errors = Array.from(this.traverseErrors());\n return errors.at(-1) ?? this;\n }\n\n explain(): string {\n const output = [];\n for (const [index, error] of [this, ...this.traverseErrors()].entries()) {\n const offset = ` `.repeat(2 * index);\n output.push(`${offset}${error.toString()}`);\n if (error.cause) {\n output.push(`${offset}Cause: ${error.cause.toString()}`);\n }\n }\n return output.join(\"\\n\");\n }\n\n dump() {\n return util.inspect(this, {\n compact: false,\n depth: Infinity,\n });\n }\n\n static ensure(error: Error): FrameworkError {\n return error instanceof FrameworkError ? error : new FrameworkError(undefined, [error]);\n }\n\n static isInstanceOf(error: unknown): error is FrameworkError {\n return error instanceof FrameworkError;\n }\n\n static isAbortError(error: unknown) {\n return error instanceof AbortError || (error instanceof Error && error?.name === \"AbortError\");\n }\n\n static isRetryable(error: unknown) {\n if (error instanceof FrameworkError) {\n return error.isRetryable;\n }\n return !FrameworkError.isAbortError(error);\n }\n}\n\nexport class NotImplementedError extends FrameworkError {\n constructor(message = \"Not implemented!\", errors?: Error[]) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n });\n }\n}\n\nexport class ValueError extends FrameworkError {\n constructor(\n message = \"The provided value is not supported!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n\nexport class AbortError extends FrameworkError {\n constructor(\n message = \"The operation has been aborted!\",\n errors: Error[] = [],\n options?: FrameworkErrorOptions,\n ) {\n super(message, errors, options);\n }\n}\n"]}
package/dist/index.d.cts CHANGED
@@ -2,9 +2,9 @@ export { Logger, LoggerBindings, LoggerError, LoggerInput, LoggerLevel, LoggerLe
2
2
  export { PromptTemplate, PromptTemplateError, PromptTemplateInput, PromptTemplateRenderFn, PromptTemplateRenderInput, ValidationPromptTemplateError } from './template.cjs';
3
3
  export { AbortError, FrameworkError, FrameworkErrorOptions, NotImplementedError, ValueError } from './errors.cjs';
4
4
  export { Version } from './version.cjs';
5
- export { S as SerializeFactory, a as Serializer } from './serializer-Dz4AIM2O.cjs';
6
- export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-szR2Izbt.cjs';
7
- export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-DvMzAHj6.cjs';
5
+ export { S as SerializeFactory, a as Serializer } from './serializer-BKn50Vnx.cjs';
6
+ export { A as AgentError, a as BaseAgent, B as BaseAgentRunOptions } from './base-BP7v-NSL.cjs';
7
+ export { k as ChatConfig, m as ChatModel, i as ChatModelCache, h as ChatModelEmitter, g as ChatModelEvents, e as ChatModelFinishReason, d as ChatModelInput, a as ChatModelObjectInput, b as ChatModelObjectOutput, n as ChatModelOutput, C as ChatModelParameters, c as ChatModelToolChoice, l as ChatModelToolChoiceSupport, f as ChatModelUsage, j as ConfigFn } from './chat-CR4yfOR9.cjs';
8
8
  export { EmbeddingModel, EmbeddingModelEmitter, EmbeddingModelEvents, EmbeddingModelInput, EmbeddingModelOutput } from './backend/embedding.cjs';
9
9
  export { AnyTool, BaseToolOptions, BaseToolRunOptions, DynamicTool, InferToolOutput, JSONToolOutput, RetryOptions, StringToolOutput, Tool, ToolEmitter, ToolError, ToolEvents, ToolInput, ToolInputRaw, ToolInputValidationError, ToolOutput, ToolSnapshot } from './tools/base.cjs';
10
10
  import 'pino';
@@ -14,7 +14,7 @@ import './internals/helpers/guards.cjs';
14
14
  import 'zod';
15
15
  import 'ajv';
16
16
  import './context.cjs';
17
- import './emitter-D5Mu0EEH.cjs';
17
+ import './emitter-DWEsd-ud.cjs';
18
18
  import './internals/helpers/promise.cjs';
19
19
  import './memory/base.cjs';
20
20
  import './backend/message.cjs';