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":["types.ts"],"names":["narrowTo","value","fn"],"mappings":";;AAmGO,SAASA,QAAAA,CAAYC,OAAgBC,EAAqC,EAAA;AAC/E,EAAI,IAAA,OAAOA,OAAO,UAAY,EAAA;AAC5B,IAAA,OAAOA,GAAGD,KAAAA,CAAAA;AACZ;AACA,EAAOC,OAAAA,EAAAA;AACT;AALgBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"types.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 type { Primitive } from \"@/internals/helpers/guards.js\";\ntype ExcludeArrayLike<T> = object & Exclude<T, any[]>;\nexport type ObjectLike<K extends keyof any = string, V = any> = Record<K, V>;\nexport type PlainObject<K extends string = string, V = Primitive> = Exclude<\n ExcludeArrayLike<Record<K & string, any extends V ? never : V>>,\n any[]\n>;\n\nexport type ExcludeNonStringIndex<T> = {\n [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];\n};\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type Enum<T> = Readonly<{\n [K in keyof T]: K;\n}>;\nexport type EnumFromUnion<T extends string> = Readonly<{\n [K in T as Uppercase<K>]: K;\n}>;\nexport type EnumValue<T> = T extends Enum<infer P> ? P[keyof P] : never;\nexport type EnumLowerCaseValue<T> = Readonly<{\n [K in keyof T]: K extends string ? Lowercase<K> : never;\n}>[keyof T];\nexport type EmptyObject = Record<string, never>;\n\nexport type OmitType<T, O = never> = { [K in keyof T as T[K] extends O ? never : K]: T[K] };\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\ntype TupleUnion<U extends string, R extends any[] = []> = {\n [S in U]: Exclude<U, S> extends never ? [...R, S] : TupleUnion<Exclude<U, S>, [...R, S]>;\n}[U];\nexport type ArrayKeys<T> = TupleUnion<Extract<keyof T, string>>;\nexport type Common<A, B> = {\n [P in keyof A & keyof B]: A[P] | B[P];\n};\nexport type ValueOf<T extends NonNullable<unknown>> = T[keyof T];\n\nexport type Head<T> = T extends [infer A, ...any] ? A : never;\nexport type Tail<T> = T extends [any, ...infer B] ? B : never;\nexport type RequiredExcept<T, K extends keyof T> = Omit<Required<T>, K> & Pick<Partial<T>, K>;\nexport type OptionalExcept<T, K extends keyof T> = Pick<Required<T>, K> & Omit<Partial<T>, K>;\nexport type NonUndefined<T, K extends keyof T = keyof T> = Pick<Required<T>, K> & Omit<T, K>;\n\nexport type RequiredAll<T> = {\n [P in keyof T]-?: NonNullable<T[P]>;\n};\n\nexport type RequiredNested<T> = {\n [P in keyof T]-?: Required<T[P]>;\n};\n\nexport type OmitEmpty<T> = OmitType<T, never | void>;\nexport type NonEmptyArray<T> = [T, ...T[]];\nexport type Unwrap<T> = T extends (infer X)[] ? X : T;\nexport type Constructable<T> = new (...args: any[]) => T;\nexport type AbstractConstructable = abstract new (...args: any[]) => any;\nexport type AnyConstructable = Constructable<any>;\n\nexport type Constructor<T extends new (...args: any) => any> = T extends new (\n ...args: infer A\n) => infer R\n ? new (...args: A) => R\n : never;\n\nexport interface ClassConstructor<T = any> {\n name: string;\n new (...args: any[]): T;\n}\nexport type AbstractClassConstructor<T = any> = abstract new (...args: any[]) => T;\nexport interface NamedFunction<T = any> {\n name: string;\n (...args: any[]): T;\n}\n\nexport type PromiseOrPlain<T, Decider extends AnyFn> =\n ReturnType<Decider> extends Promise<unknown> ? Promise<T> : T;\n\nexport type NoPromise<T> = T extends Promise<unknown> ? never : T;\n\nexport type TypedFn<P extends any[], R> = (...args: P) => R;\n\nexport function narrowTo<T>(value: unknown, fn: boolean | ((value: T) => boolean)): value is T {\n if (typeof fn === \"function\") {\n return fn(value as T);\n }\n return fn;\n}\n\ntype Without<T, U> = Partial<Record<Exclude<keyof T, keyof U>, never>>;\nexport type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\nexport type OneOf<T extends any[]> = T extends [infer Only]\n ? Only\n : T extends [infer A, infer B, ...infer Rest]\n ? OneOf<[XOR<A, B>, ...Rest]>\n : never;\n\nexport type AnyVoid = Promise<unknown> | unknown;\n\nexport type OmitPrivateKeys<T> = {\n [K in keyof T as K extends `_${string}` ? never : K]: T[K];\n};\n\ntype MergeElements<A, B> = A extends never ? B : B extends never ? A : A | B;\nexport type MergeArrays<A extends any[], B extends any[]> = A extends []\n ? B\n : B extends []\n ? A\n : [MergeElements<Head<A>, Head<B>>, ...MergeArrays<Tail<A>, Tail<B>>];\n\nexport type MergeFunctions<A extends AnyFn, B extends AnyFn> = (\n ...args: MergeArrays<Parameters<A>, Parameters<B>>\n) => MergeElements<ReturnType<B>, ReturnType<A>>;\n\nexport type WithoutLast<T> = T extends [...infer A, any] ? A : [];\n"]}
1
+ {"version":3,"sources":["../../src/internals/types.ts"],"names":["narrowTo","value","fn"],"mappings":";;AAwFO,SAASA,QAAAA,CAAYC,OAAgBC,EAAAA,EAAqC;AAC/E,EAAA,IAAI,OAAOA,OAAO,UAAA,EAAY;AAC5B,IAAA,OAAOA,GAAGD,KAAAA,CAAAA;AACZ;AACA,EAAA,OAAOC,EAAAA;AACT;AALgBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"types.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Primitive } from \"@/internals/helpers/guards.js\";\ntype ExcludeArrayLike<T> = object & Exclude<T, any[]>;\nexport type ObjectLike<K extends keyof any = string, V = any> = Record<K, V>;\nexport type PlainObject<K extends string = string, V = Primitive> = Exclude<\n ExcludeArrayLike<Record<K & string, any extends V ? never : V>>,\n any[]\n>;\n\nexport type ExcludeNonStringIndex<T> = {\n [K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];\n};\n\nexport type AnyFn = (...args: any[]) => any;\n\nexport type Enum<T> = Readonly<{\n [K in keyof T]: K;\n}>;\nexport type EnumFromUnion<T extends string> = Readonly<{\n [K in T as Uppercase<K>]: K;\n}>;\nexport type EnumValue<T> = T extends Enum<infer P> ? P[keyof P] : never;\nexport type EnumLowerCaseValue<T> = Readonly<{\n [K in keyof T]: K extends string ? Lowercase<K> : never;\n}>[keyof T];\nexport type EmptyObject = Record<string, never>;\n\nexport type OmitType<T, O = never> = { [K in keyof T as T[K] extends O ? never : K]: T[K] };\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\ntype TupleUnion<U extends string, R extends any[] = []> = {\n [S in U]: Exclude<U, S> extends never ? [...R, S] : TupleUnion<Exclude<U, S>, [...R, S]>;\n}[U];\nexport type ArrayKeys<T> = TupleUnion<Extract<keyof T, string>>;\nexport type Common<A, B> = {\n [P in keyof A & keyof B]: A[P] | B[P];\n};\nexport type ValueOf<T extends NonNullable<unknown>> = T[keyof T];\n\nexport type Head<T> = T extends [infer A, ...any] ? A : never;\nexport type Tail<T> = T extends [any, ...infer B] ? B : never;\nexport type RequiredExcept<T, K extends keyof T> = Omit<Required<T>, K> & Pick<Partial<T>, K>;\nexport type OptionalExcept<T, K extends keyof T> = Pick<Required<T>, K> & Omit<Partial<T>, K>;\nexport type NonUndefined<T, K extends keyof T = keyof T> = Pick<Required<T>, K> & Omit<T, K>;\n\nexport type RequiredAll<T> = {\n [P in keyof T]-?: NonNullable<T[P]>;\n};\n\nexport type RequiredNested<T> = {\n [P in keyof T]-?: Required<T[P]>;\n};\n\nexport type OmitEmpty<T> = OmitType<T, never | void>;\nexport type NonEmptyArray<T> = [T, ...T[]];\nexport type Unwrap<T> = T extends (infer X)[] ? X : T;\nexport type Constructable<T> = new (...args: any[]) => T;\nexport type AbstractConstructable = abstract new (...args: any[]) => any;\nexport type AnyConstructable = Constructable<any>;\n\nexport type Constructor<T extends new (...args: any) => any> = T extends new (\n ...args: infer A\n) => infer R\n ? new (...args: A) => R\n : never;\n\nexport interface ClassConstructor<T = any> {\n name: string;\n new (...args: any[]): T;\n}\nexport type AbstractClassConstructor<T = any> = abstract new (...args: any[]) => T;\nexport interface NamedFunction<T = any> {\n name: string;\n (...args: any[]): T;\n}\n\nexport type PromiseOrPlain<T, Decider extends AnyFn> =\n ReturnType<Decider> extends Promise<unknown> ? Promise<T> : T;\n\nexport type NoPromise<T> = T extends Promise<unknown> ? never : T;\n\nexport type TypedFn<P extends any[], R> = (...args: P) => R;\n\nexport function narrowTo<T>(value: unknown, fn: boolean | ((value: T) => boolean)): value is T {\n if (typeof fn === \"function\") {\n return fn(value as T);\n }\n return fn;\n}\n\ntype Without<T, U> = Partial<Record<Exclude<keyof T, keyof U>, never>>;\nexport type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\nexport type OneOf<T extends any[]> = T extends [infer Only]\n ? Only\n : T extends [infer A, infer B, ...infer Rest]\n ? OneOf<[XOR<A, B>, ...Rest]>\n : never;\n\nexport type AnyVoid = Promise<unknown> | unknown;\n\nexport type OmitPrivateKeys<T> = {\n [K in keyof T as K extends `_${string}` ? never : K]: T[K];\n};\n\ntype MergeElements<A, B> = A extends never ? B : B extends never ? A : A | B;\nexport type MergeArrays<A extends any[], B extends any[]> = A extends []\n ? B\n : B extends []\n ? A\n : [MergeElements<Head<A>, Head<B>>, ...MergeArrays<Tail<A>, Tail<B>>];\n\nexport type MergeFunctions<A extends AnyFn, B extends AnyFn> = (\n ...args: MergeArrays<Parameters<A>, Parameters<B>>\n) => MergeElements<ReturnType<B>, ReturnType<A>>;\n\nexport type WithoutLast<T> = T extends [...infer A, any] ? A : [];\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["cjs_shims.js","logger.ts"],"names":["getImportMetaUrl","document","URL","__filename","href","currentScript","src","baseURI","importMetaUrl","__dirname","path","dirname","url","fileURLToPath","LoggerError","FrameworkError","LoggerLevel","DEBUG","ERROR","FATAL","INFO","TRACE","WARN","SILENT","Logger","Serializable","raw","info","warn","fatal","error","debug","trace","silent","register","level","value","constructor","input","init","of","parent","root","instance","child","bindings","name","bind","defaults","createRaw","undefined","pretty","parseEnv","asBoolean","z","nativeEnum","default","filter","isTruthy","join","createSnapshot","shallowCopy","loadSnapshot","extra","Object","assign","options","stream","isPretty","targetStream","pinoLogger","destination","stdout","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label","toUpperCase"],"mappings":"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","file":"logger.cjs","sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","/**\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 { pino as pinoLogger, ChildLoggerOptions, LoggerOptions, DestinationStream } from \"pino\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { EnumFromUnion, ValueOf } from \"@/internals/types.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { isTruthy } from \"remeda\";\nimport { PrettyOptions } from \"pino-pretty\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { stdout } from \"node:process\";\nimport * as url from \"node:url\";\nimport path from \"node:path\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport interface LoggerBindings extends Record<string, any> {}\n\nexport class LoggerError extends FrameworkError {}\n\nexport const LoggerLevel: EnumFromUnion<pinoLogger.LevelWithSilent> = {\n DEBUG: \"debug\",\n ERROR: \"error\",\n FATAL: \"fatal\",\n INFO: \"info\",\n TRACE: \"trace\",\n WARN: \"warn\",\n SILENT: \"silent\",\n} as const;\nexport type LoggerLevelType = ValueOf<typeof LoggerLevel>;\n\nexport interface LoggerInput {\n name?: string;\n bindings?: LoggerBindings;\n level?: LoggerLevelType;\n raw?: ChildLoggerOptions;\n}\n\nexport class Logger extends Serializable implements pinoLogger.BaseLogger {\n protected raw!: pinoLogger.Logger;\n\n info!: pinoLogger.LogFn;\n warn!: pinoLogger.LogFn;\n fatal!: pinoLogger.LogFn;\n error!: pinoLogger.LogFn;\n debug!: pinoLogger.LogFn;\n trace!: pinoLogger.LogFn;\n silent!: pinoLogger.LogFn;\n\n static {\n this.register();\n }\n\n get level(): LoggerLevelType {\n return this.raw.level as LoggerLevelType;\n }\n\n set level(value: LoggerLevelType) {\n this.raw.level = value;\n }\n\n constructor(\n public readonly input: LoggerInput,\n raw?: pinoLogger.Logger,\n ) {\n super();\n this.raw = raw!;\n this.init();\n }\n\n static of(input: LoggerInput) {\n return new Logger(input);\n }\n\n private init() {\n const parent = this.raw || Logger.root.raw;\n const instance = parent.child(\n {\n ...this.input.bindings,\n name: this.input.name ?? this.input.bindings?.name,\n },\n {\n ...this.input.raw,\n level: this.input.level ?? this.input.raw?.level,\n },\n );\n\n this.raw = instance;\n this.info = instance.info.bind(instance);\n this.warn = instance.warn.bind(instance);\n this.fatal = instance.fatal.bind(instance);\n this.error = instance.error.bind(instance);\n this.debug = instance.debug.bind(instance);\n this.trace = instance.trace.bind(instance);\n this.silent = instance.silent.bind(instance);\n }\n\n @Cache()\n static get root() {\n return new Logger(Logger.defaults, Logger.createRaw(Logger.defaults));\n }\n\n @Cache()\n static get defaults(): Omit<LoggerInput, \"raw\"> & { pretty: boolean } {\n return {\n name: undefined,\n pretty: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_PRETTY\", false),\n bindings: {},\n level: parseEnv(\n \"BEE_FRAMEWORK_LOG_LEVEL\",\n z.nativeEnum(LoggerLevel).default(LoggerLevel.INFO),\n ),\n };\n }\n\n child(input?: LoggerInput) {\n const name = [this.input.name, input?.name].filter(isTruthy).join(\".\");\n\n return new Logger(\n {\n ...this.input,\n level: this.level,\n ...input,\n name,\n bindings: {\n name,\n },\n },\n this.raw,\n );\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n level: this.raw.level,\n };\n }\n\n loadSnapshot({ level, ...extra }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, extra);\n this.init();\n this.raw.level = level;\n }\n\n public static createRaw(options?: LoggerOptions, stream?: DestinationStream | undefined) {\n const defaults = Logger.defaults;\n const isPretty = defaults.pretty;\n\n const targetStream = stream ?? (isPretty ? pinoLogger.destination(stdout) : undefined);\n\n return pinoLogger(\n {\n ...(isPretty && {\n transport: {\n target: path.join(__dirname, \"pretty.js\"),\n options: {\n messageKey: \"message\",\n nestedKey: undefined,\n errorKey: \"error\",\n colorize: true,\n sync: true,\n singleLine: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_SINGLE_LINE\", false),\n } as PrettyOptions,\n },\n }),\n messageKey: \"message\",\n nestedKey: defaults.pretty ? undefined : \"payload\",\n errorKey: \"error\",\n timestamp: true,\n name: defaults.name,\n level: defaults.level,\n ...options,\n formatters: {\n bindings: ({ pid: _, hostname: __, ...others }) => {\n return others;\n },\n log: (record) => {\n return record;\n },\n level: (label) => {\n return { level: label.toUpperCase() };\n },\n ...options?.formatters,\n },\n },\n targetStream,\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../../node_modules/tsup/assets/cjs_shims.js","../../src/logger/logger.ts"],"names":["getImportMetaUrl","document","URL","__filename","href","currentScript","src","baseURI","importMetaUrl","__dirname","path","dirname","url","fileURLToPath","LoggerError","FrameworkError","LoggerLevel","DEBUG","ERROR","FATAL","INFO","TRACE","WARN","SILENT","Logger","Serializable","raw","info","warn","fatal","error","debug","trace","silent","register","level","value","input","init","of","parent","root","instance","child","bindings","name","bind","defaults","createRaw","undefined","pretty","parseEnv","asBoolean","z","nativeEnum","default","filter","isTruthy","join","createSnapshot","shallowCopy","loadSnapshot","extra","Object","assign","options","stream","isPretty","targetStream","pinoLogger","destination","stdout","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label","toUpperCase"],"mappings":"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","file":"logger.cjs","sourcesContent":["// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () =>\n typeof document === 'undefined'\n ? new URL(`file:${__filename}`).href\n : (document.currentScript && document.currentScript.src) ||\n new URL('main.js', document.baseURI).href\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { pino as pinoLogger, ChildLoggerOptions, LoggerOptions, DestinationStream } from \"pino\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { EnumFromUnion, ValueOf } from \"@/internals/types.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { isTruthy } from \"remeda\";\nimport { PrettyOptions } from \"pino-pretty\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { stdout } from \"node:process\";\nimport * as url from \"node:url\";\nimport path from \"node:path\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport interface LoggerBindings extends Record<string, any> {}\n\nexport class LoggerError extends FrameworkError {}\n\nexport const LoggerLevel: EnumFromUnion<pinoLogger.LevelWithSilent> = {\n DEBUG: \"debug\",\n ERROR: \"error\",\n FATAL: \"fatal\",\n INFO: \"info\",\n TRACE: \"trace\",\n WARN: \"warn\",\n SILENT: \"silent\",\n} as const;\nexport type LoggerLevelType = ValueOf<typeof LoggerLevel>;\n\nexport interface LoggerInput {\n name?: string;\n bindings?: LoggerBindings;\n level?: LoggerLevelType;\n raw?: ChildLoggerOptions;\n}\n\nexport class Logger extends Serializable implements pinoLogger.BaseLogger {\n protected raw!: pinoLogger.Logger;\n\n info!: pinoLogger.LogFn;\n warn!: pinoLogger.LogFn;\n fatal!: pinoLogger.LogFn;\n error!: pinoLogger.LogFn;\n debug!: pinoLogger.LogFn;\n trace!: pinoLogger.LogFn;\n silent!: pinoLogger.LogFn;\n\n static {\n this.register();\n }\n\n get level(): LoggerLevelType {\n return this.raw.level as LoggerLevelType;\n }\n\n set level(value: LoggerLevelType) {\n this.raw.level = value;\n }\n\n constructor(\n public readonly input: LoggerInput,\n raw?: pinoLogger.Logger,\n ) {\n super();\n this.raw = raw!;\n this.init();\n }\n\n static of(input: LoggerInput) {\n return new Logger(input);\n }\n\n private init() {\n const parent = this.raw || Logger.root.raw;\n const instance = parent.child(\n {\n ...this.input.bindings,\n name: this.input.name ?? this.input.bindings?.name,\n },\n {\n ...this.input.raw,\n level: this.input.level ?? this.input.raw?.level,\n },\n );\n\n this.raw = instance;\n this.info = instance.info.bind(instance);\n this.warn = instance.warn.bind(instance);\n this.fatal = instance.fatal.bind(instance);\n this.error = instance.error.bind(instance);\n this.debug = instance.debug.bind(instance);\n this.trace = instance.trace.bind(instance);\n this.silent = instance.silent.bind(instance);\n }\n\n @Cache()\n static get root() {\n return new Logger(Logger.defaults, Logger.createRaw(Logger.defaults));\n }\n\n @Cache()\n static get defaults(): Omit<LoggerInput, \"raw\"> & { pretty: boolean } {\n return {\n name: undefined,\n pretty: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_PRETTY\", false),\n bindings: {},\n level: parseEnv(\n \"BEE_FRAMEWORK_LOG_LEVEL\",\n z.nativeEnum(LoggerLevel).default(LoggerLevel.INFO),\n ),\n };\n }\n\n child(input?: LoggerInput) {\n const name = [this.input.name, input?.name].filter(isTruthy).join(\".\");\n\n return new Logger(\n {\n ...this.input,\n level: this.level,\n ...input,\n name,\n bindings: {\n name,\n },\n },\n this.raw,\n );\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n level: this.raw.level,\n };\n }\n\n loadSnapshot({ level, ...extra }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, extra);\n this.init();\n this.raw.level = level;\n }\n\n public static createRaw(options?: LoggerOptions, stream?: DestinationStream | undefined) {\n const defaults = Logger.defaults;\n const isPretty = defaults.pretty;\n\n const targetStream = stream ?? (isPretty ? pinoLogger.destination(stdout) : undefined);\n\n return pinoLogger(\n {\n ...(isPretty && {\n transport: {\n target: path.join(__dirname, \"pretty.js\"),\n options: {\n messageKey: \"message\",\n nestedKey: undefined,\n errorKey: \"error\",\n colorize: true,\n sync: true,\n singleLine: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_SINGLE_LINE\", false),\n } as PrettyOptions,\n },\n }),\n messageKey: \"message\",\n nestedKey: defaults.pretty ? undefined : \"payload\",\n errorKey: \"error\",\n timestamp: true,\n name: defaults.name,\n level: defaults.level,\n ...options,\n formatters: {\n bindings: ({ pid: _, hostname: __, ...others }) => {\n return others;\n },\n log: (record) => {\n return record;\n },\n level: (label) => {\n return { level: label.toUpperCase() };\n },\n ...options?.formatters,\n },\n },\n targetStream,\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["logger.ts"],"names":["__dirname","path","dirname","url","fileURLToPath","LoggerError","FrameworkError","LoggerLevel","DEBUG","ERROR","FATAL","INFO","TRACE","WARN","SILENT","Logger","Serializable","raw","info","warn","fatal","error","debug","trace","silent","register","level","value","constructor","input","init","of","parent","root","instance","child","bindings","name","bind","defaults","createRaw","undefined","pretty","parseEnv","asBoolean","z","nativeEnum","default","filter","isTruthy","join","createSnapshot","shallowCopy","loadSnapshot","extra","Object","assign","options","stream","isPretty","targetStream","pinoLogger","destination","stdout","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label","toUpperCase"],"mappings":"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","file":"logger.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 { pino as pinoLogger, ChildLoggerOptions, LoggerOptions, DestinationStream } from \"pino\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { EnumFromUnion, ValueOf } from \"@/internals/types.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { isTruthy } from \"remeda\";\nimport { PrettyOptions } from \"pino-pretty\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { stdout } from \"node:process\";\nimport * as url from \"node:url\";\nimport path from \"node:path\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport interface LoggerBindings extends Record<string, any> {}\n\nexport class LoggerError extends FrameworkError {}\n\nexport const LoggerLevel: EnumFromUnion<pinoLogger.LevelWithSilent> = {\n DEBUG: \"debug\",\n ERROR: \"error\",\n FATAL: \"fatal\",\n INFO: \"info\",\n TRACE: \"trace\",\n WARN: \"warn\",\n SILENT: \"silent\",\n} as const;\nexport type LoggerLevelType = ValueOf<typeof LoggerLevel>;\n\nexport interface LoggerInput {\n name?: string;\n bindings?: LoggerBindings;\n level?: LoggerLevelType;\n raw?: ChildLoggerOptions;\n}\n\nexport class Logger extends Serializable implements pinoLogger.BaseLogger {\n protected raw!: pinoLogger.Logger;\n\n info!: pinoLogger.LogFn;\n warn!: pinoLogger.LogFn;\n fatal!: pinoLogger.LogFn;\n error!: pinoLogger.LogFn;\n debug!: pinoLogger.LogFn;\n trace!: pinoLogger.LogFn;\n silent!: pinoLogger.LogFn;\n\n static {\n this.register();\n }\n\n get level(): LoggerLevelType {\n return this.raw.level as LoggerLevelType;\n }\n\n set level(value: LoggerLevelType) {\n this.raw.level = value;\n }\n\n constructor(\n public readonly input: LoggerInput,\n raw?: pinoLogger.Logger,\n ) {\n super();\n this.raw = raw!;\n this.init();\n }\n\n static of(input: LoggerInput) {\n return new Logger(input);\n }\n\n private init() {\n const parent = this.raw || Logger.root.raw;\n const instance = parent.child(\n {\n ...this.input.bindings,\n name: this.input.name ?? this.input.bindings?.name,\n },\n {\n ...this.input.raw,\n level: this.input.level ?? this.input.raw?.level,\n },\n );\n\n this.raw = instance;\n this.info = instance.info.bind(instance);\n this.warn = instance.warn.bind(instance);\n this.fatal = instance.fatal.bind(instance);\n this.error = instance.error.bind(instance);\n this.debug = instance.debug.bind(instance);\n this.trace = instance.trace.bind(instance);\n this.silent = instance.silent.bind(instance);\n }\n\n @Cache()\n static get root() {\n return new Logger(Logger.defaults, Logger.createRaw(Logger.defaults));\n }\n\n @Cache()\n static get defaults(): Omit<LoggerInput, \"raw\"> & { pretty: boolean } {\n return {\n name: undefined,\n pretty: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_PRETTY\", false),\n bindings: {},\n level: parseEnv(\n \"BEE_FRAMEWORK_LOG_LEVEL\",\n z.nativeEnum(LoggerLevel).default(LoggerLevel.INFO),\n ),\n };\n }\n\n child(input?: LoggerInput) {\n const name = [this.input.name, input?.name].filter(isTruthy).join(\".\");\n\n return new Logger(\n {\n ...this.input,\n level: this.level,\n ...input,\n name,\n bindings: {\n name,\n },\n },\n this.raw,\n );\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n level: this.raw.level,\n };\n }\n\n loadSnapshot({ level, ...extra }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, extra);\n this.init();\n this.raw.level = level;\n }\n\n public static createRaw(options?: LoggerOptions, stream?: DestinationStream | undefined) {\n const defaults = Logger.defaults;\n const isPretty = defaults.pretty;\n\n const targetStream = stream ?? (isPretty ? pinoLogger.destination(stdout) : undefined);\n\n return pinoLogger(\n {\n ...(isPretty && {\n transport: {\n target: path.join(__dirname, \"pretty.js\"),\n options: {\n messageKey: \"message\",\n nestedKey: undefined,\n errorKey: \"error\",\n colorize: true,\n sync: true,\n singleLine: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_SINGLE_LINE\", false),\n } as PrettyOptions,\n },\n }),\n messageKey: \"message\",\n nestedKey: defaults.pretty ? undefined : \"payload\",\n errorKey: \"error\",\n timestamp: true,\n name: defaults.name,\n level: defaults.level,\n ...options,\n formatters: {\n bindings: ({ pid: _, hostname: __, ...others }) => {\n return others;\n },\n log: (record) => {\n return record;\n },\n level: (label) => {\n return { level: label.toUpperCase() };\n },\n ...options?.formatters,\n },\n },\n targetStream,\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/logger/logger.ts"],"names":["__dirname","path","dirname","url","fileURLToPath","LoggerError","FrameworkError","LoggerLevel","DEBUG","ERROR","FATAL","INFO","TRACE","WARN","SILENT","Logger","Serializable","raw","info","warn","fatal","error","debug","trace","silent","register","level","value","input","init","of","parent","root","instance","child","bindings","name","bind","defaults","createRaw","undefined","pretty","parseEnv","asBoolean","z","nativeEnum","default","filter","isTruthy","join","createSnapshot","shallowCopy","loadSnapshot","extra","Object","assign","options","stream","isPretty","targetStream","pinoLogger","destination","stdout","transport","target","messageKey","nestedKey","errorKey","colorize","sync","singleLine","timestamp","formatters","pid","_","hostname","__","others","log","record","label","toUpperCase"],"mappings":"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","file":"logger.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { pino as pinoLogger, ChildLoggerOptions, LoggerOptions, DestinationStream } from \"pino\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport { Cache } from \"@/cache/decoratorCache.js\";\nimport { EnumFromUnion, ValueOf } from \"@/internals/types.js\";\nimport { parseEnv } from \"@/internals/env.js\";\nimport { z } from \"zod\";\nimport { isTruthy } from \"remeda\";\nimport { PrettyOptions } from \"pino-pretty\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { stdout } from \"node:process\";\nimport * as url from \"node:url\";\nimport path from \"node:path\";\n\nconst __dirname = path.dirname(url.fileURLToPath(import.meta.url));\n\nexport interface LoggerBindings extends Record<string, any> {}\n\nexport class LoggerError extends FrameworkError {}\n\nexport const LoggerLevel: EnumFromUnion<pinoLogger.LevelWithSilent> = {\n DEBUG: \"debug\",\n ERROR: \"error\",\n FATAL: \"fatal\",\n INFO: \"info\",\n TRACE: \"trace\",\n WARN: \"warn\",\n SILENT: \"silent\",\n} as const;\nexport type LoggerLevelType = ValueOf<typeof LoggerLevel>;\n\nexport interface LoggerInput {\n name?: string;\n bindings?: LoggerBindings;\n level?: LoggerLevelType;\n raw?: ChildLoggerOptions;\n}\n\nexport class Logger extends Serializable implements pinoLogger.BaseLogger {\n protected raw!: pinoLogger.Logger;\n\n info!: pinoLogger.LogFn;\n warn!: pinoLogger.LogFn;\n fatal!: pinoLogger.LogFn;\n error!: pinoLogger.LogFn;\n debug!: pinoLogger.LogFn;\n trace!: pinoLogger.LogFn;\n silent!: pinoLogger.LogFn;\n\n static {\n this.register();\n }\n\n get level(): LoggerLevelType {\n return this.raw.level as LoggerLevelType;\n }\n\n set level(value: LoggerLevelType) {\n this.raw.level = value;\n }\n\n constructor(\n public readonly input: LoggerInput,\n raw?: pinoLogger.Logger,\n ) {\n super();\n this.raw = raw!;\n this.init();\n }\n\n static of(input: LoggerInput) {\n return new Logger(input);\n }\n\n private init() {\n const parent = this.raw || Logger.root.raw;\n const instance = parent.child(\n {\n ...this.input.bindings,\n name: this.input.name ?? this.input.bindings?.name,\n },\n {\n ...this.input.raw,\n level: this.input.level ?? this.input.raw?.level,\n },\n );\n\n this.raw = instance;\n this.info = instance.info.bind(instance);\n this.warn = instance.warn.bind(instance);\n this.fatal = instance.fatal.bind(instance);\n this.error = instance.error.bind(instance);\n this.debug = instance.debug.bind(instance);\n this.trace = instance.trace.bind(instance);\n this.silent = instance.silent.bind(instance);\n }\n\n @Cache()\n static get root() {\n return new Logger(Logger.defaults, Logger.createRaw(Logger.defaults));\n }\n\n @Cache()\n static get defaults(): Omit<LoggerInput, \"raw\"> & { pretty: boolean } {\n return {\n name: undefined,\n pretty: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_PRETTY\", false),\n bindings: {},\n level: parseEnv(\n \"BEE_FRAMEWORK_LOG_LEVEL\",\n z.nativeEnum(LoggerLevel).default(LoggerLevel.INFO),\n ),\n };\n }\n\n child(input?: LoggerInput) {\n const name = [this.input.name, input?.name].filter(isTruthy).join(\".\");\n\n return new Logger(\n {\n ...this.input,\n level: this.level,\n ...input,\n name,\n bindings: {\n name,\n },\n },\n this.raw,\n );\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n level: this.raw.level,\n };\n }\n\n loadSnapshot({ level, ...extra }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, extra);\n this.init();\n this.raw.level = level;\n }\n\n public static createRaw(options?: LoggerOptions, stream?: DestinationStream | undefined) {\n const defaults = Logger.defaults;\n const isPretty = defaults.pretty;\n\n const targetStream = stream ?? (isPretty ? pinoLogger.destination(stdout) : undefined);\n\n return pinoLogger(\n {\n ...(isPretty && {\n transport: {\n target: path.join(__dirname, \"pretty.js\"),\n options: {\n messageKey: \"message\",\n nestedKey: undefined,\n errorKey: \"error\",\n colorize: true,\n sync: true,\n singleLine: parseEnv.asBoolean(\"BEE_FRAMEWORK_LOG_SINGLE_LINE\", false),\n } as PrettyOptions,\n },\n }),\n messageKey: \"message\",\n nestedKey: defaults.pretty ? undefined : \"payload\",\n errorKey: \"error\",\n timestamp: true,\n name: defaults.name,\n level: defaults.level,\n ...options,\n formatters: {\n bindings: ({ pid: _, hostname: __, ...others }) => {\n return others;\n },\n log: (record) => {\n return record;\n },\n level: (label) => {\n return { level: label.toUpperCase() };\n },\n ...options?.formatters,\n },\n },\n targetStream,\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["pretty.js"],"names":["compose","fns","value","reduce","res","f","opts","pinoPretty","colorize","colorizeObjects","singleLine","hideObject","sync","levelFirst","translateTime","customPrettifiers","level","levels","TRACE","letters","icon","formatter","picocolors","gray","DEBUG","yellow","INFO","green","WARN","ERROR","red","FATAL","black","bgRed","fallback","logLevel","target","time","timestamp","dim","caller","key","log","colors","greenBright","messageFormat","messageKey"],"mappings":";;;;;;;;;;;;AAmBA,MAAMA,OACJ,mBAAA,MAAA,CAAA,CAAA,GAAIC,GACJ,KAAA,CAACC,UACCD,GAAIE,CAAAA,MAAAA,CAAO,CAACC,GAAAA,EAAKC,CAAMA,KAAAA,CAAAA,CAAED,GAAAA,CAAAA,EAAMF,KAAAA,CAFjC,EAAA,SAAA,CAAA;AAIF,IAAA,cAAA,2BAAgBI,IAAAA,KAAAA;AACd,EAAA,OAAOC,2BAAW,CAAA;IAChBC,QAAU,EAAA,IAAA;IACVC,eAAiB,EAAA,IAAA;IACjBC,UAAY,EAAA,IAAA;IACZC,UAAY,EAAA,KAAA;IACZC,IAAM,EAAA,IAAA;IACNC,UAAY,EAAA,IAAA;IACZ,GAAGP,IAAAA;IACHQ,aAAe,EAAA,UAAA;IACfC,iBAAmB,EAAA;AACjBC,MAAAA,KAAAA,EAAAA,CAAQ,MAAA;AACN,QAAA,MAAMC,MAAS,GAAA;UACbC,KAAO,EAAA;YAAEC,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,2BAAWC,CAAAA;AAAK,WAAA;UAChEC,KAAO,EAAA;YAAEL,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,2BAAWG,CAAAA;AAAO,WAAA;UAClEC,IAAM,EAAA;YAAEP,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,2BAAWK,CAAAA;AAAM,WAAA;UAChEC,IAAM,EAAA;YAAET,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,2BAAWG,CAAAA;AAAO,WAAA;UACjEI,KAAO,EAAA;YAAEV,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,2BAAWQ,CAAAA;AAAI,WAAA;UAC/DC,KAAO,EAAA;YACLZ,OAAS,EAAA,KAAA;YACTC,IAAM,EAAA,WAAA;AACNC,YAAAA,SAAAA,EAAWrB,OAAQsB,CAAAA,2BAAAA,CAAWU,KAAOV,EAAAA,2BAAAA,CAAWW,KAAK;AACvD;AACF,SAAA;AACA,QAAA,MAAMC,QAAW,GAAA;UAAEf,OAAS,EAAA,KAAA;UAAOC,IAAM,EAAA,iBAAA;AAAOC,UAAAA,SAAAA,EAAWC,2BAAWC,CAAAA;AAAK,SAAA;AAE3E,QAAA,OAAO,CAACY,QAAAA,KAAAA;AACN,UAAMC,MAAAA,MAAAA,GAASnB,MAAOkB,CAAAA,QAAAA,CAAaD,IAAAA,QAAAA;AACnC,UAAO,OAAA,CAAA,EAAGE,OAAOf,SAAUe,CAAAA,MAAAA,CAAOjB,OAAO,CAAA,CAAA,EAAA,EAAMiB,OAAOhB,IAAI,CAAA,CAAA,CAAA;AAC5D,SAAA;OACF,GAAA;AACAiB,MAAAA,IAAAA,kBAAOC,MAAAA,CAAAA,CAAAA,SAAAA,KAAchB,2BAAWiB,CAAAA,GAAAA,CAAID,SAAAA,CAA9B,EAAA,MAAA,CAAA;AACNE,MAAAA,MAAAA,kBAASA,MAAAA,CAAAA,CAAAA,MAAAA,EAAQC,GAAKC,EAAAA,GAAAA,EAAK,EAAEC,MAAAA,EAAa,KAAA,CAAA,EAAGA,MAAOC,CAAAA,WAAAA,CAAYJ,MAAAA,CAAAA,CAAxD,CAAA,EAAA,QAAA;AACV,KAAA;IACAK,aAAe,kBAAA,MAAA,CAAA,CAACH,KAAKI,UAAAA,KAAAA;AACnB,MAAO,OAAA,CAAA,EAAGJ,GAAII,CAAAA,UAAAA,CAAW,CAAA,CAAA;KADZ,EAAA,eAAA;GAGjB,CAAA;AACF,CAtCe,EAAA,SAAA","file":"pretty.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 pinoPretty from \"pino-pretty\";\nimport picocolors from \"picocolors\";\n\nconst compose =\n (...fns) =>\n (value) =>\n fns.reduce((res, f) => f(res), value);\n\nexport default (opts) => {\n return pinoPretty({\n colorize: true,\n colorizeObjects: true,\n singleLine: true,\n hideObject: false,\n sync: true,\n levelFirst: true,\n ...opts,\n translateTime: \"HH:MM:ss\",\n customPrettifiers: {\n level: (() => {\n const levels = {\n TRACE: { letters: \"TRC\", icon: \"🔎\", formatter: picocolors.gray },\n DEBUG: { letters: \"DBG\", icon: \"🪲\", formatter: picocolors.yellow },\n INFO: { letters: \"INF\", icon: \"ℹ️\", formatter: picocolors.green },\n WARN: { letters: \"WRN\", icon: \"⚠️\", formatter: picocolors.yellow },\n ERROR: { letters: \"ERR\", icon: \"🔥\", formatter: picocolors.red },\n FATAL: {\n letters: \"FTL\",\n icon: \"💣\",\n formatter: compose(picocolors.black, picocolors.bgRed),\n },\n };\n const fallback = { letters: \"???\", icon: \"🤷‍\", formatter: picocolors.gray };\n\n return (logLevel) => {\n const target = levels[logLevel] || fallback;\n return `${target.formatter(target.letters)} ${target.icon} `;\n };\n })(),\n time: (timestamp) => picocolors.dim(timestamp),\n caller: (caller, key, log, { colors }) => `${colors.greenBright(caller)}`,\n },\n messageFormat: (log, messageKey) => {\n return `${log[messageKey]}`;\n },\n });\n};\n"]}
1
+ {"version":3,"sources":["../../src/logger/pretty.js"],"names":["compose","fns","value","reduce","res","f","opts","pinoPretty","colorize","colorizeObjects","singleLine","hideObject","sync","levelFirst","translateTime","customPrettifiers","level","levels","TRACE","letters","icon","formatter","picocolors","gray","DEBUG","yellow","INFO","green","WARN","ERROR","red","FATAL","black","bgRed","fallback","logLevel","target","time","timestamp","dim","caller","key","log","colors","greenBright","messageFormat","messageKey"],"mappings":"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","file":"pretty.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport pinoPretty from \"pino-pretty\";\nimport picocolors from \"picocolors\";\n\nconst compose =\n (...fns) =>\n (value) =>\n fns.reduce((res, f) => f(res), value);\n\nexport default (opts) => {\n return pinoPretty({\n colorize: true,\n colorizeObjects: true,\n singleLine: true,\n hideObject: false,\n sync: true,\n levelFirst: true,\n ...opts,\n translateTime: \"HH:MM:ss\",\n customPrettifiers: {\n level: (() => {\n const levels = {\n TRACE: { letters: \"TRC\", icon: \"🔎\", formatter: picocolors.gray },\n DEBUG: { letters: \"DBG\", icon: \"🪲\", formatter: picocolors.yellow },\n INFO: { letters: \"INF\", icon: \"ℹ️\", formatter: picocolors.green },\n WARN: { letters: \"WRN\", icon: \"⚠️\", formatter: picocolors.yellow },\n ERROR: { letters: \"ERR\", icon: \"🔥\", formatter: picocolors.red },\n FATAL: {\n letters: \"FTL\",\n icon: \"💣\",\n formatter: compose(picocolors.black, picocolors.bgRed),\n },\n };\n const fallback = { letters: \"???\", icon: \"🤷‍\", formatter: picocolors.gray };\n\n return (logLevel) => {\n const target = levels[logLevel] || fallback;\n return `${target.formatter(target.letters)} ${target.icon} `;\n };\n })(),\n time: (timestamp) => picocolors.dim(timestamp),\n caller: (caller, key, log, { colors }) => `${colors.greenBright(caller)}`,\n },\n messageFormat: (log, messageKey) => {\n return `${log[messageKey]}`;\n },\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["pretty.js"],"names":["compose","fns","value","reduce","res","f","opts","pinoPretty","colorize","colorizeObjects","singleLine","hideObject","sync","levelFirst","translateTime","customPrettifiers","level","levels","TRACE","letters","icon","formatter","picocolors","gray","DEBUG","yellow","INFO","green","WARN","ERROR","red","FATAL","black","bgRed","fallback","logLevel","target","time","timestamp","dim","caller","key","log","colors","greenBright","messageFormat","messageKey"],"mappings":";;;;;AAmBA,MAAMA,OACJ,mBAAA,MAAA,CAAA,CAAA,GAAIC,GACJ,KAAA,CAACC,UACCD,GAAIE,CAAAA,MAAAA,CAAO,CAACC,GAAAA,EAAKC,CAAMA,KAAAA,CAAAA,CAAED,GAAAA,CAAAA,EAAMF,KAAAA,CAFjC,EAAA,SAAA,CAAA;AAIF,IAAA,cAAA,2BAAgBI,IAAAA,KAAAA;AACd,EAAA,OAAOC,UAAW,CAAA;IAChBC,QAAU,EAAA,IAAA;IACVC,eAAiB,EAAA,IAAA;IACjBC,UAAY,EAAA,IAAA;IACZC,UAAY,EAAA,KAAA;IACZC,IAAM,EAAA,IAAA;IACNC,UAAY,EAAA,IAAA;IACZ,GAAGP,IAAAA;IACHQ,aAAe,EAAA,UAAA;IACfC,iBAAmB,EAAA;AACjBC,MAAAA,KAAAA,EAAAA,CAAQ,MAAA;AACN,QAAA,MAAMC,MAAS,GAAA;UACbC,KAAO,EAAA;YAAEC,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAWC,CAAAA;AAAK,WAAA;UAChEC,KAAO,EAAA;YAAEL,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAWG,CAAAA;AAAO,WAAA;UAClEC,IAAM,EAAA;YAAEP,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAWK,CAAAA;AAAM,WAAA;UAChEC,IAAM,EAAA;YAAET,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAWG,CAAAA;AAAO,WAAA;UACjEI,KAAO,EAAA;YAAEV,OAAS,EAAA,KAAA;YAAOC,IAAM,EAAA,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAWQ,CAAAA;AAAI,WAAA;UAC/DC,KAAO,EAAA;YACLZ,OAAS,EAAA,KAAA;YACTC,IAAM,EAAA,WAAA;AACNC,YAAAA,SAAAA,EAAWrB,OAAQsB,CAAAA,UAAAA,CAAWU,KAAOV,EAAAA,UAAAA,CAAWW,KAAK;AACvD;AACF,SAAA;AACA,QAAA,MAAMC,QAAW,GAAA;UAAEf,OAAS,EAAA,KAAA;UAAOC,IAAM,EAAA,iBAAA;AAAOC,UAAAA,SAAAA,EAAWC,UAAWC,CAAAA;AAAK,SAAA;AAE3E,QAAA,OAAO,CAACY,QAAAA,KAAAA;AACN,UAAMC,MAAAA,MAAAA,GAASnB,MAAOkB,CAAAA,QAAAA,CAAaD,IAAAA,QAAAA;AACnC,UAAO,OAAA,CAAA,EAAGE,OAAOf,SAAUe,CAAAA,MAAAA,CAAOjB,OAAO,CAAA,CAAA,EAAA,EAAMiB,OAAOhB,IAAI,CAAA,CAAA,CAAA;AAC5D,SAAA;OACF,GAAA;AACAiB,MAAAA,IAAAA,kBAAOC,MAAAA,CAAAA,CAAAA,SAAAA,KAAchB,UAAWiB,CAAAA,GAAAA,CAAID,SAAAA,CAA9B,EAAA,MAAA,CAAA;AACNE,MAAAA,MAAAA,kBAASA,MAAAA,CAAAA,CAAAA,MAAAA,EAAQC,GAAKC,EAAAA,GAAAA,EAAK,EAAEC,MAAAA,EAAa,KAAA,CAAA,EAAGA,MAAOC,CAAAA,WAAAA,CAAYJ,MAAAA,CAAAA,CAAxD,CAAA,EAAA,QAAA;AACV,KAAA;IACAK,aAAe,kBAAA,MAAA,CAAA,CAACH,KAAKI,UAAAA,KAAAA;AACnB,MAAO,OAAA,CAAA,EAAGJ,GAAII,CAAAA,UAAAA,CAAW,CAAA,CAAA;KADZ,EAAA,eAAA;GAGjB,CAAA;AACF,CAtCe,EAAA,SAAA","file":"pretty.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 pinoPretty from \"pino-pretty\";\nimport picocolors from \"picocolors\";\n\nconst compose =\n (...fns) =>\n (value) =>\n fns.reduce((res, f) => f(res), value);\n\nexport default (opts) => {\n return pinoPretty({\n colorize: true,\n colorizeObjects: true,\n singleLine: true,\n hideObject: false,\n sync: true,\n levelFirst: true,\n ...opts,\n translateTime: \"HH:MM:ss\",\n customPrettifiers: {\n level: (() => {\n const levels = {\n TRACE: { letters: \"TRC\", icon: \"🔎\", formatter: picocolors.gray },\n DEBUG: { letters: \"DBG\", icon: \"🪲\", formatter: picocolors.yellow },\n INFO: { letters: \"INF\", icon: \"ℹ️\", formatter: picocolors.green },\n WARN: { letters: \"WRN\", icon: \"⚠️\", formatter: picocolors.yellow },\n ERROR: { letters: \"ERR\", icon: \"🔥\", formatter: picocolors.red },\n FATAL: {\n letters: \"FTL\",\n icon: \"💣\",\n formatter: compose(picocolors.black, picocolors.bgRed),\n },\n };\n const fallback = { letters: \"???\", icon: \"🤷‍\", formatter: picocolors.gray };\n\n return (logLevel) => {\n const target = levels[logLevel] || fallback;\n return `${target.formatter(target.letters)} ${target.icon} `;\n };\n })(),\n time: (timestamp) => picocolors.dim(timestamp),\n caller: (caller, key, log, { colors }) => `${colors.greenBright(caller)}`,\n },\n messageFormat: (log, messageKey) => {\n return `${log[messageKey]}`;\n },\n });\n};\n"]}
1
+ {"version":3,"sources":["../../src/logger/pretty.js"],"names":["compose","fns","value","reduce","res","f","opts","pinoPretty","colorize","colorizeObjects","singleLine","hideObject","sync","levelFirst","translateTime","customPrettifiers","level","levels","TRACE","letters","icon","formatter","picocolors","gray","DEBUG","yellow","INFO","green","WARN","ERROR","red","FATAL","black","bgRed","fallback","logLevel","target","time","timestamp","dim","caller","key","log","colors","greenBright","messageFormat","messageKey"],"mappings":";;;;;AAQA,MAAMA,OAAAA,mBACJ,MAAA,CAAA,CAAA,GAAIC,GAAAA,KACJ,CAACC,UACCD,GAAAA,CAAIE,MAAAA,CAAO,CAACC,GAAAA,EAAKC,CAAAA,KAAMA,CAAAA,CAAED,GAAAA,CAAAA,EAAMF,KAAAA,CAAAA,EAFjC,SAAA,CAAA;AAIF,IAAA,cAAA,2BAAgBI,IAAAA,KAAAA;AACd,EAAA,OAAOC,UAAAA,CAAW;IAChBC,QAAAA,EAAU,IAAA;IACVC,eAAAA,EAAiB,IAAA;IACjBC,UAAAA,EAAY,IAAA;IACZC,UAAAA,EAAY,KAAA;IACZC,IAAAA,EAAM,IAAA;IACNC,UAAAA,EAAY,IAAA;IACZ,GAAGP,IAAAA;IACHQ,aAAAA,EAAe,UAAA;IACfC,iBAAAA,EAAmB;AACjBC,MAAAA,KAAAA,EAAAA,CAAQ,MAAA;AACN,QAAA,MAAMC,MAAAA,GAAS;UACbC,KAAAA,EAAO;YAAEC,OAAAA,EAAS,KAAA;YAAOC,IAAAA,EAAM,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAAA,CAAWC;AAAK,WAAA;UAChEC,KAAAA,EAAO;YAAEL,OAAAA,EAAS,KAAA;YAAOC,IAAAA,EAAM,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAAA,CAAWG;AAAO,WAAA;UAClEC,IAAAA,EAAM;YAAEP,OAAAA,EAAS,KAAA;YAAOC,IAAAA,EAAM,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAAA,CAAWK;AAAM,WAAA;UAChEC,IAAAA,EAAM;YAAET,OAAAA,EAAS,KAAA;YAAOC,IAAAA,EAAM,cAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAAA,CAAWG;AAAO,WAAA;UACjEI,KAAAA,EAAO;YAAEV,OAAAA,EAAS,KAAA;YAAOC,IAAAA,EAAM,WAAA;AAAMC,YAAAA,SAAAA,EAAWC,UAAAA,CAAWQ;AAAI,WAAA;UAC/DC,KAAAA,EAAO;YACLZ,OAAAA,EAAS,KAAA;YACTC,IAAAA,EAAM,WAAA;AACNC,YAAAA,SAAAA,EAAWrB,OAAAA,CAAQsB,UAAAA,CAAWU,KAAAA,EAAOV,UAAAA,CAAWW,KAAK;AACvD;AACF,SAAA;AACA,QAAA,MAAMC,QAAAA,GAAW;UAAEf,OAAAA,EAAS,KAAA;UAAOC,IAAAA,EAAM,iBAAA;AAAOC,UAAAA,SAAAA,EAAWC,UAAAA,CAAWC;AAAK,SAAA;AAE3E,QAAA,OAAO,CAACY,QAAAA,KAAAA;AACN,UAAA,MAAMC,MAAAA,GAASnB,MAAAA,CAAOkB,QAAAA,CAAAA,IAAaD,QAAAA;AACnC,UAAA,OAAO,CAAA,EAAGE,OAAOf,SAAAA,CAAUe,MAAAA,CAAOjB,OAAO,CAAA,CAAA,EAAA,EAAMiB,OAAOhB,IAAI,CAAA,CAAA,CAAA;AAC5D,SAAA;OACF,GAAA;AACAiB,MAAAA,IAAAA,kBAAM,MAAA,CAAA,CAACC,SAAAA,KAAchB,UAAAA,CAAWiB,GAAAA,CAAID,SAAAA,CAAAA,EAA9B,MAAA,CAAA;AACNE,MAAAA,MAAAA,kBAAQ,MAAA,CAAA,CAACA,MAAAA,EAAQC,GAAAA,EAAKC,GAAAA,EAAK,EAAEC,MAAAA,EAAM,KAAO,CAAA,EAAGA,MAAAA,CAAOC,WAAAA,CAAYJ,MAAAA,CAAAA,CAAAA,CAAAA,EAAxD,QAAA;AACV,KAAA;IACAK,aAAAA,kBAAe,MAAA,CAAA,CAACH,KAAKI,UAAAA,KAAAA;AACnB,MAAA,OAAO,CAAA,EAAGJ,GAAAA,CAAII,UAAAA,CAAW,CAAA,CAAA;KAC3B,EAFe,eAAA;GAGjB,CAAA;AACF,CAAA,EAtCe,SAAA","file":"pretty.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport pinoPretty from \"pino-pretty\";\nimport picocolors from \"picocolors\";\n\nconst compose =\n (...fns) =>\n (value) =>\n fns.reduce((res, f) => f(res), value);\n\nexport default (opts) => {\n return pinoPretty({\n colorize: true,\n colorizeObjects: true,\n singleLine: true,\n hideObject: false,\n sync: true,\n levelFirst: true,\n ...opts,\n translateTime: \"HH:MM:ss\",\n customPrettifiers: {\n level: (() => {\n const levels = {\n TRACE: { letters: \"TRC\", icon: \"🔎\", formatter: picocolors.gray },\n DEBUG: { letters: \"DBG\", icon: \"🪲\", formatter: picocolors.yellow },\n INFO: { letters: \"INF\", icon: \"ℹ️\", formatter: picocolors.green },\n WARN: { letters: \"WRN\", icon: \"⚠️\", formatter: picocolors.yellow },\n ERROR: { letters: \"ERR\", icon: \"🔥\", formatter: picocolors.red },\n FATAL: {\n letters: \"FTL\",\n icon: \"💣\",\n formatter: compose(picocolors.black, picocolors.bgRed),\n },\n };\n const fallback = { letters: \"???\", icon: \"🤷‍\", formatter: picocolors.gray };\n\n return (logLevel) => {\n const target = levels[logLevel] || fallback;\n return `${target.formatter(target.letters)} ${target.icon} `;\n };\n })(),\n time: (timestamp) => picocolors.dim(timestamp),\n caller: (caller, key, log, { colors }) => `${colors.greenBright(caller)}`,\n },\n messageFormat: (log, messageKey) => {\n return `${log[messageKey]}`;\n },\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["base.ts"],"names":["MemoryError","FrameworkError","MemoryFatalError","constructor","message","errors","options","isFatal","isRetryable","BaseMemory","Serializable","addMany","messages","start","counter","msg","add","undefined","deleteMany","delete","splice","deleteCount","items","total","length","Math","max","min","deletedItems","slice","isEmpty","asReadOnly","ReadOnlyMemory","Symbol","iterator","source","register","index","reset","createSnapshot","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;AAoBO,MAAMA,oBAAoBC,yBAAAA,CAAAA;EApBjC;;;AAoBiD;AAC1C,MAAMC,yBAAyBF,WAAAA,CAAAA;EArBtC;;;EAsBEG,WAAYC,CAAAA,OAAAA,EAAiBC,QAAkBC,OAAiC,EAAA;AAC9E,IAAA,KAAA,CAAMF,SAASC,MAAQ,EAAA;MACrBE,OAAS,EAAA,IAAA;MACTC,WAAa,EAAA,KAAA;MACb,GAAGF;KACL,CAAA;AACF;AACF;AAEO,MAAeG,mBAAqCC,6BAAAA,CAAAA;EA/B3D;;;EAuCE,MAAMC,OAAAA,CAAQC,UAAsDC,KAAgB,EAAA;AAClF,IAAA,IAAIC,OAAU,GAAA,CAAA;AACd,IAAA,WAAA,MAAiBC,OAAOH,QAAU,EAAA;AAChC,MAAA,MAAM,KAAKI,GAAID,CAAAA,GAAAA,EAAKF,UAAUI,MAAYA,GAAAA,MAAAA,GAAYJ,QAAQC,OAAAA,CAAAA;AAC9DA,MAAW,OAAA,IAAA,CAAA;AACb;AACF;AAEA,EAAA,MAAMI,WAAWN,QAAsD,EAAA;AACrE,IAAA,WAAA,MAAiBG,OAAOH,QAAU,EAAA;AAChC,MAAM,MAAA,IAAA,CAAKO,OAAOJ,GAAAA,CAAAA;AACpB;AACF;EAEA,MAAMK,MAAAA,CAAOP,KAAeQ,EAAAA,WAAAA,EAAAA,GAAwBC,KAAkB,EAAA;AACpE,IAAMC,MAAAA,KAAAA,GAAQ,KAAKX,QAASY,CAAAA,MAAAA;AAE5BX,IAAAA,KAAAA,GAAQA,QAAQ,CAAIY,GAAAA,IAAAA,CAAKC,IAAIH,KAAQV,GAAAA,KAAAA,EAAO,CAAA,CAAKA,GAAAA,KAAAA;AACjDQ,IAAAA,WAAAA,GAAcI,IAAKE,CAAAA,GAAAA,CAAIN,WAAaE,EAAAA,KAAAA,GAAQV,KAAAA,CAAAA;AAE5C,IAAA,MAAMe,eAAe,IAAKhB,CAAAA,QAAAA,CAASiB,KAAMhB,CAAAA,KAAAA,EAAOA,QAAQQ,WAAAA,CAAAA;AACxD,IAAM,MAAA,IAAA,CAAKH,WAAWU,YAAAA,CAAAA;AACtB,IAAM,MAAA,IAAA,CAAKjB,OAAQW,CAAAA,KAAAA,EAAOT,KAAAA,CAAAA;AAE1B,IAAOe,OAAAA,YAAAA;AACT;EAEAE,OAAU,GAAA;AACR,IAAO,OAAA,IAAA,CAAKlB,SAASY,MAAW,KAAA,CAAA;AAClC;EAEAO,UAAa,GAAA;AACX,IAAO,OAAA,IAAIC,eAAe,IAAI,CAAA;AAChC;EAEA,CAACC,MAAAA,CAAOC,QAAQ,CAAI,GAAA;AAClB,IAAA,OAAO,IAAKtB,CAAAA,QAAAA,CAASqB,MAAOC,CAAAA,QAAQ,CAAC,EAAA;AACvC;AAIF;AAEO,MAAMF,uBAA0DvB,UAAAA,CAAAA;EAlFvE;;;;AAmFEN,EAAAA,WAAAA,CAA4BgC,MAAW,EAAA;AACrC,IAAK,KAAA,EAAA,EAAA,KADqBA,MAAAA,GAAAA,MAAAA;AAE5B;EAEA;AACE,IAAA,IAAA,CAAKC,QAAQ,EAAA;AACf;;EAGA,MAAMpB,GAAAA,CAAIZ,SAAkBiC,KAAgB,EAAA;AAAC;;AAG7C,EAAA,MAAMlB,OAAOf,OAAkB,EAAA;AAC7B,IAAO,OAAA,KAAA;AACT;AAEA,EAAA,IAAIQ,QAA+B,GAAA;AACjC,IAAA,OAAO,KAAKuB,MAAOvB,CAAAA,QAAAA;AACrB;EAEA0B,KAAc,GAAA;AAAC;EAEfC,cAAiB,GAAA;AACf,IAAO,OAAA;AAAEJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AAAO,KAAA;AAC/B;AAEAK,EAAAA,YAAAA,CAAaC,KAAsB,EAAA;AACjCC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"base.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 { Message } from \"@/backend/message.js\";\nimport { FrameworkError, FrameworkErrorOptions } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class MemoryError extends FrameworkError {}\nexport class MemoryFatalError extends MemoryError {\n constructor(message: string, errors?: Error[], options?: FrameworkErrorOptions) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n ...options,\n });\n }\n}\n\nexport abstract class BaseMemory<TState = unknown> extends Serializable<TState> {\n abstract get messages(): readonly Message[];\n\n abstract add(message: Message, index?: number): Promise<void>;\n\n abstract delete(message: Message): Promise<boolean>;\n abstract reset(): void;\n\n async addMany(messages: Iterable<Message> | AsyncIterable<Message>, start?: number) {\n let counter = 0;\n for await (const msg of messages) {\n await this.add(msg, start === undefined ? undefined : start + counter);\n counter += 1;\n }\n }\n\n async deleteMany(messages: Iterable<Message> | AsyncIterable<Message>) {\n for await (const msg of messages) {\n await this.delete(msg);\n }\n }\n\n async splice(start: number, deleteCount: number, ...items: Message[]) {\n const total = this.messages.length;\n\n start = start < 0 ? Math.max(total + start, 0) : start;\n deleteCount = Math.min(deleteCount, total - start);\n\n const deletedItems = this.messages.slice(start, start + deleteCount);\n await this.deleteMany(deletedItems);\n await this.addMany(items, start);\n\n return deletedItems;\n }\n\n isEmpty() {\n return this.messages.length === 0;\n }\n\n asReadOnly() {\n return new ReadOnlyMemory(this);\n }\n\n [Symbol.iterator]() {\n return this.messages[Symbol.iterator]();\n }\n\n abstract loadSnapshot(state: TState): void;\n abstract createSnapshot(): TState;\n}\n\nexport class ReadOnlyMemory<T extends BaseMemory = BaseMemory> extends BaseMemory<{ source: T }> {\n constructor(public readonly source: T) {\n super();\n }\n\n static {\n this.register();\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async add(message: Message, index?: number) {}\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n get messages(): readonly Message[] {\n return this.source.messages;\n }\n\n reset(): void {}\n\n createSnapshot() {\n return { source: this.source };\n }\n\n loadSnapshot(state: { source: T }) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/base.ts"],"names":["MemoryError","FrameworkError","MemoryFatalError","message","errors","options","isFatal","isRetryable","BaseMemory","Serializable","addMany","messages","start","counter","msg","add","undefined","deleteMany","delete","splice","deleteCount","items","total","length","Math","max","min","deletedItems","slice","isEmpty","asReadOnly","ReadOnlyMemory","Symbol","iterator","source","register","index","reset","createSnapshot","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;AASO,MAAMA,oBAAoBC,yBAAAA,CAAAA;EATjC;;;AASiD;AAC1C,MAAMC,yBAAyBF,WAAAA,CAAAA;EAVtC;;;EAWE,WAAA,CAAYG,OAAAA,EAAiBC,QAAkBC,OAAAA,EAAiC;AAC9E,IAAA,KAAA,CAAMF,SAASC,MAAAA,EAAQ;MACrBE,OAAAA,EAAS,IAAA;MACTC,WAAAA,EAAa,KAAA;MACb,GAAGF;KACL,CAAA;AACF;AACF;AAEO,MAAeG,mBAAqCC,6BAAAA,CAAAA;EApB3D;;;EA4BE,MAAMC,OAAAA,CAAQC,UAAsDC,KAAAA,EAAgB;AAClF,IAAA,IAAIC,OAAAA,GAAU,CAAA;AACd,IAAA,WAAA,MAAiBC,OAAOH,QAAAA,EAAU;AAChC,MAAA,MAAM,KAAKI,GAAAA,CAAID,GAAAA,EAAKF,UAAUI,MAAAA,GAAYA,MAAAA,GAAYJ,QAAQC,OAAAA,CAAAA;AAC9DA,MAAAA,OAAAA,IAAW,CAAA;AACb;AACF;AAEA,EAAA,MAAMI,WAAWN,QAAAA,EAAsD;AACrE,IAAA,WAAA,MAAiBG,OAAOH,QAAAA,EAAU;AAChC,MAAA,MAAM,IAAA,CAAKO,OAAOJ,GAAAA,CAAAA;AACpB;AACF;EAEA,MAAMK,MAAAA,CAAOP,KAAAA,EAAeQ,WAAAA,EAAAA,GAAwBC,KAAAA,EAAkB;AACpE,IAAA,MAAMC,KAAAA,GAAQ,KAAKX,QAAAA,CAASY,MAAAA;AAE5BX,IAAAA,KAAAA,GAAQA,QAAQ,CAAA,GAAIY,IAAAA,CAAKC,IAAIH,KAAAA,GAAQV,KAAAA,EAAO,CAAA,CAAA,GAAKA,KAAAA;AACjDQ,IAAAA,WAAAA,GAAcI,IAAAA,CAAKE,GAAAA,CAAIN,WAAAA,EAAaE,KAAAA,GAAQV,KAAAA,CAAAA;AAE5C,IAAA,MAAMe,eAAe,IAAA,CAAKhB,QAAAA,CAASiB,KAAAA,CAAMhB,KAAAA,EAAOA,QAAQQ,WAAAA,CAAAA;AACxD,IAAA,MAAM,IAAA,CAAKH,WAAWU,YAAAA,CAAAA;AACtB,IAAA,MAAM,IAAA,CAAKjB,OAAAA,CAAQW,KAAAA,EAAOT,KAAAA,CAAAA;AAE1B,IAAA,OAAOe,YAAAA;AACT;EAEAE,OAAAA,GAAU;AACR,IAAA,OAAO,IAAA,CAAKlB,SAASY,MAAAA,KAAW,CAAA;AAClC;EAEAO,UAAAA,GAAa;AACX,IAAA,OAAO,IAAIC,eAAe,IAAI,CAAA;AAChC;EAEA,CAACC,MAAAA,CAAOC,QAAQ,CAAA,GAAI;AAClB,IAAA,OAAO,IAAA,CAAKtB,QAAAA,CAASqB,MAAAA,CAAOC,QAAQ,CAAA,EAAC;AACvC;AAIF;AAEO,MAAMF,uBAA0DvB,UAAAA,CAAAA;EAvEvE;;;;AAwEE,EAAA,WAAA,CAA4B0B,MAAAA,EAAW;AACrC,IAAA,KAAA,EAAK,EAAA,KADqBA,MAAAA,GAAAA,MAAAA;AAE5B;EAEA;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;;EAGA,MAAMpB,GAAAA,CAAIZ,SAAkBiC,KAAAA,EAAgB;AAAC;;AAG7C,EAAA,MAAMlB,OAAOf,OAAAA,EAAkB;AAC7B,IAAA,OAAO,KAAA;AACT;AAEA,EAAA,IAAIQ,QAAAA,GAA+B;AACjC,IAAA,OAAO,KAAKuB,MAAAA,CAAOvB,QAAAA;AACrB;EAEA0B,KAAAA,GAAc;AAAC;EAEfC,cAAAA,GAAiB;AACf,IAAA,OAAO;AAAEJ,MAAAA,MAAAA,EAAQ,IAAA,CAAKA;AAAO,KAAA;AAC/B;AAEAK,EAAAA,YAAAA,CAAaC,KAAAA,EAAsB;AACjCC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"base.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Message } from \"@/backend/message.js\";\nimport { FrameworkError, FrameworkErrorOptions } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class MemoryError extends FrameworkError {}\nexport class MemoryFatalError extends MemoryError {\n constructor(message: string, errors?: Error[], options?: FrameworkErrorOptions) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n ...options,\n });\n }\n}\n\nexport abstract class BaseMemory<TState = unknown> extends Serializable<TState> {\n abstract get messages(): readonly Message[];\n\n abstract add(message: Message, index?: number): Promise<void>;\n\n abstract delete(message: Message): Promise<boolean>;\n abstract reset(): void;\n\n async addMany(messages: Iterable<Message> | AsyncIterable<Message>, start?: number) {\n let counter = 0;\n for await (const msg of messages) {\n await this.add(msg, start === undefined ? undefined : start + counter);\n counter += 1;\n }\n }\n\n async deleteMany(messages: Iterable<Message> | AsyncIterable<Message>) {\n for await (const msg of messages) {\n await this.delete(msg);\n }\n }\n\n async splice(start: number, deleteCount: number, ...items: Message[]) {\n const total = this.messages.length;\n\n start = start < 0 ? Math.max(total + start, 0) : start;\n deleteCount = Math.min(deleteCount, total - start);\n\n const deletedItems = this.messages.slice(start, start + deleteCount);\n await this.deleteMany(deletedItems);\n await this.addMany(items, start);\n\n return deletedItems;\n }\n\n isEmpty() {\n return this.messages.length === 0;\n }\n\n asReadOnly() {\n return new ReadOnlyMemory(this);\n }\n\n [Symbol.iterator]() {\n return this.messages[Symbol.iterator]();\n }\n\n abstract loadSnapshot(state: TState): void;\n abstract createSnapshot(): TState;\n}\n\nexport class ReadOnlyMemory<T extends BaseMemory = BaseMemory> extends BaseMemory<{ source: T }> {\n constructor(public readonly source: T) {\n super();\n }\n\n static {\n this.register();\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async add(message: Message, index?: number) {}\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n get messages(): readonly Message[] {\n return this.source.messages;\n }\n\n reset(): void {}\n\n createSnapshot() {\n return { source: this.source };\n }\n\n loadSnapshot(state: { source: T }) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["base.ts"],"names":["MemoryError","FrameworkError","MemoryFatalError","constructor","message","errors","options","isFatal","isRetryable","BaseMemory","Serializable","addMany","messages","start","counter","msg","add","undefined","deleteMany","delete","splice","deleteCount","items","total","length","Math","max","min","deletedItems","slice","isEmpty","asReadOnly","ReadOnlyMemory","Symbol","iterator","source","register","index","reset","createSnapshot","loadSnapshot","state","Object","assign"],"mappings":";;;;;AAoBO,MAAMA,oBAAoBC,cAAAA,CAAAA;EApBjC;;;AAoBiD;AAC1C,MAAMC,yBAAyBF,WAAAA,CAAAA;EArBtC;;;EAsBEG,WAAYC,CAAAA,OAAAA,EAAiBC,QAAkBC,OAAiC,EAAA;AAC9E,IAAA,KAAA,CAAMF,SAASC,MAAQ,EAAA;MACrBE,OAAS,EAAA,IAAA;MACTC,WAAa,EAAA,KAAA;MACb,GAAGF;KACL,CAAA;AACF;AACF;AAEO,MAAeG,mBAAqCC,YAAAA,CAAAA;EA/B3D;;;EAuCE,MAAMC,OAAAA,CAAQC,UAAsDC,KAAgB,EAAA;AAClF,IAAA,IAAIC,OAAU,GAAA,CAAA;AACd,IAAA,WAAA,MAAiBC,OAAOH,QAAU,EAAA;AAChC,MAAA,MAAM,KAAKI,GAAID,CAAAA,GAAAA,EAAKF,UAAUI,MAAYA,GAAAA,MAAAA,GAAYJ,QAAQC,OAAAA,CAAAA;AAC9DA,MAAW,OAAA,IAAA,CAAA;AACb;AACF;AAEA,EAAA,MAAMI,WAAWN,QAAsD,EAAA;AACrE,IAAA,WAAA,MAAiBG,OAAOH,QAAU,EAAA;AAChC,MAAM,MAAA,IAAA,CAAKO,OAAOJ,GAAAA,CAAAA;AACpB;AACF;EAEA,MAAMK,MAAAA,CAAOP,KAAeQ,EAAAA,WAAAA,EAAAA,GAAwBC,KAAkB,EAAA;AACpE,IAAMC,MAAAA,KAAAA,GAAQ,KAAKX,QAASY,CAAAA,MAAAA;AAE5BX,IAAAA,KAAAA,GAAQA,QAAQ,CAAIY,GAAAA,IAAAA,CAAKC,IAAIH,KAAQV,GAAAA,KAAAA,EAAO,CAAA,CAAKA,GAAAA,KAAAA;AACjDQ,IAAAA,WAAAA,GAAcI,IAAKE,CAAAA,GAAAA,CAAIN,WAAaE,EAAAA,KAAAA,GAAQV,KAAAA,CAAAA;AAE5C,IAAA,MAAMe,eAAe,IAAKhB,CAAAA,QAAAA,CAASiB,KAAMhB,CAAAA,KAAAA,EAAOA,QAAQQ,WAAAA,CAAAA;AACxD,IAAM,MAAA,IAAA,CAAKH,WAAWU,YAAAA,CAAAA;AACtB,IAAM,MAAA,IAAA,CAAKjB,OAAQW,CAAAA,KAAAA,EAAOT,KAAAA,CAAAA;AAE1B,IAAOe,OAAAA,YAAAA;AACT;EAEAE,OAAU,GAAA;AACR,IAAO,OAAA,IAAA,CAAKlB,SAASY,MAAW,KAAA,CAAA;AAClC;EAEAO,UAAa,GAAA;AACX,IAAO,OAAA,IAAIC,eAAe,IAAI,CAAA;AAChC;EAEA,CAACC,MAAAA,CAAOC,QAAQ,CAAI,GAAA;AAClB,IAAA,OAAO,IAAKtB,CAAAA,QAAAA,CAASqB,MAAOC,CAAAA,QAAQ,CAAC,EAAA;AACvC;AAIF;AAEO,MAAMF,uBAA0DvB,UAAAA,CAAAA;EAlFvE;;;;AAmFEN,EAAAA,WAAAA,CAA4BgC,MAAW,EAAA;AACrC,IAAK,KAAA,EAAA,EAAA,KADqBA,MAAAA,GAAAA,MAAAA;AAE5B;EAEA;AACE,IAAA,IAAA,CAAKC,QAAQ,EAAA;AACf;;EAGA,MAAMpB,GAAAA,CAAIZ,SAAkBiC,KAAgB,EAAA;AAAC;;AAG7C,EAAA,MAAMlB,OAAOf,OAAkB,EAAA;AAC7B,IAAO,OAAA,KAAA;AACT;AAEA,EAAA,IAAIQ,QAA+B,GAAA;AACjC,IAAA,OAAO,KAAKuB,MAAOvB,CAAAA,QAAAA;AACrB;EAEA0B,KAAc,GAAA;AAAC;EAEfC,cAAiB,GAAA;AACf,IAAO,OAAA;AAAEJ,MAAAA,MAAAA,EAAQ,IAAKA,CAAAA;AAAO,KAAA;AAC/B;AAEAK,EAAAA,YAAAA,CAAaC,KAAsB,EAAA;AACjCC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"base.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 { Message } from \"@/backend/message.js\";\nimport { FrameworkError, FrameworkErrorOptions } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class MemoryError extends FrameworkError {}\nexport class MemoryFatalError extends MemoryError {\n constructor(message: string, errors?: Error[], options?: FrameworkErrorOptions) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n ...options,\n });\n }\n}\n\nexport abstract class BaseMemory<TState = unknown> extends Serializable<TState> {\n abstract get messages(): readonly Message[];\n\n abstract add(message: Message, index?: number): Promise<void>;\n\n abstract delete(message: Message): Promise<boolean>;\n abstract reset(): void;\n\n async addMany(messages: Iterable<Message> | AsyncIterable<Message>, start?: number) {\n let counter = 0;\n for await (const msg of messages) {\n await this.add(msg, start === undefined ? undefined : start + counter);\n counter += 1;\n }\n }\n\n async deleteMany(messages: Iterable<Message> | AsyncIterable<Message>) {\n for await (const msg of messages) {\n await this.delete(msg);\n }\n }\n\n async splice(start: number, deleteCount: number, ...items: Message[]) {\n const total = this.messages.length;\n\n start = start < 0 ? Math.max(total + start, 0) : start;\n deleteCount = Math.min(deleteCount, total - start);\n\n const deletedItems = this.messages.slice(start, start + deleteCount);\n await this.deleteMany(deletedItems);\n await this.addMany(items, start);\n\n return deletedItems;\n }\n\n isEmpty() {\n return this.messages.length === 0;\n }\n\n asReadOnly() {\n return new ReadOnlyMemory(this);\n }\n\n [Symbol.iterator]() {\n return this.messages[Symbol.iterator]();\n }\n\n abstract loadSnapshot(state: TState): void;\n abstract createSnapshot(): TState;\n}\n\nexport class ReadOnlyMemory<T extends BaseMemory = BaseMemory> extends BaseMemory<{ source: T }> {\n constructor(public readonly source: T) {\n super();\n }\n\n static {\n this.register();\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async add(message: Message, index?: number) {}\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n get messages(): readonly Message[] {\n return this.source.messages;\n }\n\n reset(): void {}\n\n createSnapshot() {\n return { source: this.source };\n }\n\n loadSnapshot(state: { source: T }) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/base.ts"],"names":["MemoryError","FrameworkError","MemoryFatalError","message","errors","options","isFatal","isRetryable","BaseMemory","Serializable","addMany","messages","start","counter","msg","add","undefined","deleteMany","delete","splice","deleteCount","items","total","length","Math","max","min","deletedItems","slice","isEmpty","asReadOnly","ReadOnlyMemory","Symbol","iterator","source","register","index","reset","createSnapshot","loadSnapshot","state","Object","assign"],"mappings":"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","file":"base.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Message } from \"@/backend/message.js\";\nimport { FrameworkError, FrameworkErrorOptions } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class MemoryError extends FrameworkError {}\nexport class MemoryFatalError extends MemoryError {\n constructor(message: string, errors?: Error[], options?: FrameworkErrorOptions) {\n super(message, errors, {\n isFatal: true,\n isRetryable: false,\n ...options,\n });\n }\n}\n\nexport abstract class BaseMemory<TState = unknown> extends Serializable<TState> {\n abstract get messages(): readonly Message[];\n\n abstract add(message: Message, index?: number): Promise<void>;\n\n abstract delete(message: Message): Promise<boolean>;\n abstract reset(): void;\n\n async addMany(messages: Iterable<Message> | AsyncIterable<Message>, start?: number) {\n let counter = 0;\n for await (const msg of messages) {\n await this.add(msg, start === undefined ? undefined : start + counter);\n counter += 1;\n }\n }\n\n async deleteMany(messages: Iterable<Message> | AsyncIterable<Message>) {\n for await (const msg of messages) {\n await this.delete(msg);\n }\n }\n\n async splice(start: number, deleteCount: number, ...items: Message[]) {\n const total = this.messages.length;\n\n start = start < 0 ? Math.max(total + start, 0) : start;\n deleteCount = Math.min(deleteCount, total - start);\n\n const deletedItems = this.messages.slice(start, start + deleteCount);\n await this.deleteMany(deletedItems);\n await this.addMany(items, start);\n\n return deletedItems;\n }\n\n isEmpty() {\n return this.messages.length === 0;\n }\n\n asReadOnly() {\n return new ReadOnlyMemory(this);\n }\n\n [Symbol.iterator]() {\n return this.messages[Symbol.iterator]();\n }\n\n abstract loadSnapshot(state: TState): void;\n abstract createSnapshot(): TState;\n}\n\nexport class ReadOnlyMemory<T extends BaseMemory = BaseMemory> extends BaseMemory<{ source: T }> {\n constructor(public readonly source: T) {\n super();\n }\n\n static {\n this.register();\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async add(message: Message, index?: number) {}\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n get messages(): readonly Message[] {\n return this.source.messages;\n }\n\n reset(): void {}\n\n createSnapshot() {\n return { source: this.source };\n }\n\n loadSnapshot(state: { source: T }) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["slidingMemory.ts"],"names":["SlidingMemory","BaseMemory","messages","config","constructor","handlers","removalSelector","aliases","register","add","message","index","size","isOverflow","length","pipe","castArray","filter","isTruthy","forEach","indexOf","MemoryFatalError","context","splice","ensureRange","min","max","delete","removeFromArray","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;;;AAiCO,MAAMA,sBAAsBC,mBAAAA,CAAAA;EAjCnC;;;AAkCkBC,EAAAA,QAAAA,GAAsB,EAAA;AACtBC,EAAAA,MAAAA;AAEhBC,EAAAA,WAAAA,CAAYD,MAAkC,EAAA;AAC5C,IAAK,KAAA,EAAA;AACL,IAAA,IAAA,CAAKA,MAAS,GAAA;MACZ,GAAGA,MAAAA;MACHE,QAAU,EAAA;AACRC,QAAAA,eAAAA,EACEH,MAAOE,CAAAA,QAAAA,EAAUC,eAAoB,KAAA,CAACJ,QAAwB,KAAA;AAACA,UAAAA,QAAAA,CAAS,CAAA;;AAC5E;AACF,KAAA;AACF;EAEA;AACE,IAAA,MAAMK,OAAU,GAAA;AAAC,MAAA;;AACjB,IAAA,IAAA,CAAKC,SAASD,OAAAA,CAAAA;AAChB;EAEA,MAAME,GAAAA,CAAIC,SAAkBC,KAAgB,EAAA;AAC1C,IAAA,MAAM,EAAEC,IAAAA,EAAMP,QAAQ,EAAA,GAAK,IAAKF,CAAAA,MAAAA;AAChC,IAAA,MAAMU,6BAAmB,MAAA,CAAA,MAAA,IAAA,CAAKX,QAASY,CAAAA,MAAAA,GAAS,IAAIF,IAAjC,EAAA,YAAA,CAAA;AAEnB,IAAA,IAAIC,YAAc,EAAA;AAChBE,MACEA,WAAA,CAAA,IAAA,CAAKb,QACLG,EAAAA,QAAAA,CAASC,eACTU,EAAAA,mBAAAA,EACAC,cAAOC,eAAAA,CAAAA,EACPC,cAAQ,CAAA,CAACT,QAAAA,KAAAA;AACP,QAAA,MAAMC,MAAQ,GAAA,IAAA,CAAKT,QAASkB,CAAAA,OAAAA,CAAQV,QAAAA,CAAAA;AACpC,QAAA,IAAIC,WAAU,EAAI,EAAA;AAChB,UAAA,MAAM,IAAIU,yBAAAA,CAAiB,CAAuC,mCAAA,CAAA,EAAA,EAAI,EAAA;YACpEC,OAAS,EAAA;cAAEZ,OAAAA,EAAAA,QAAAA;AAASR,cAAAA,QAAAA,EAAU,IAAKA,CAAAA;AAAS;WAC9C,CAAA;AACF;AACA,QAAKA,IAAAA,CAAAA,QAAAA,CAASqB,MAAOZ,CAAAA,MAAAA,EAAO,CAAA,CAAA;AAC9B,OAAA,CAAA,CAAA;AAGF,MAAA,IAAIE,YAAc,EAAA;AAChB,QAAM,MAAA,IAAIQ,0BACR,CAAyF,uFAAA,CAAA,CAAA;AAE7F;AACF;AAEAV,IAAAA,KAAAA,GAAQa,sBAAYb,CAAAA,KAAAA,IAAS,IAAKT,CAAAA,QAAAA,CAASY,MAAQ,EAAA;MAAEW,GAAK,EAAA,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKxB,QAASY,CAAAA;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKZ,QAASqB,CAAAA,MAAAA,CAAOZ,KAAO,EAAA,CAAA,EAAGD,OAAAA,CAAAA;AACjC;AAEA,EAAA,MAAMiB,OAAOjB,OAAkB,EAAA;AAC7B,IAAOkB,OAAAA,yBAAAA,CAAgB,IAAK1B,CAAAA,QAAAA,EAAUQ,OAAAA,CAAAA;AACxC;EAEAmB,KAAQ,GAAA;AACN,IAAA,IAAA,CAAK3B,SAASY,MAAS,GAAA,CAAA;AACzB;EAEAgB,cAAiB,GAAA;AACf,IAAO,OAAA;MAAE3B,MAAQ4B,EAAAA,qBAAAA,CAAY,KAAK5B,MAAM,CAAA;MAAGD,QAAU6B,EAAAA,qBAAAA,CAAY,KAAK7B,QAAQ;AAAE,KAAA;AAClF;AAEA8B,EAAAA,YAAAA,CAAaC,KAA+C,EAAA;AAC1DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"slidingMemory.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 { Message } from \"@/backend/message.js\";\nimport { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { filter, forEach, isTruthy, pipe } from \"remeda\";\nimport { castArray, removeFromArray } from \"@/internals/helpers/array.js\";\nimport { RequiredNested } from \"@/internals/types.js\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\n\nexport interface Handlers {\n removalSelector: (messages: Message[]) => Message | Message[];\n}\n\nexport interface SlidingWindowMemoryInput {\n size: number;\n handlers?: Partial<Handlers>;\n}\n\nexport class SlidingMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n public readonly config: RequiredNested<SlidingWindowMemoryInput>;\n\n constructor(config: SlidingWindowMemoryInput) {\n super();\n this.config = {\n ...config,\n handlers: {\n removalSelector:\n config.handlers?.removalSelector ?? ((messages: Message[]) => [messages[0]]),\n },\n };\n }\n\n static {\n const aliases = [\"SlidingWindowMemory\"];\n this.register(aliases);\n }\n\n async add(message: Message, index?: number) {\n const { size, handlers } = this.config;\n const isOverflow = () => this.messages.length + 1 > size;\n\n if (isOverflow()) {\n pipe(\n this.messages,\n handlers.removalSelector,\n castArray,\n filter(isTruthy),\n forEach((message) => {\n const index = this.messages.indexOf(message);\n if (index === -1) {\n throw new MemoryFatalError(`Cannot delete non existing message.`, [], {\n context: { message, messages: this.messages },\n });\n }\n this.messages.splice(index, 1);\n }),\n );\n\n if (isOverflow()) {\n throw new MemoryFatalError(\n `Custom memory removalSelector did not return any message. Memory overflow has occurred.`,\n );\n }\n }\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n reset() {\n this.messages.length = 0;\n }\n\n createSnapshot() {\n return { config: shallowCopy(this.config), messages: shallowCopy(this.messages) };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/slidingMemory.ts"],"names":["SlidingMemory","BaseMemory","messages","config","handlers","removalSelector","aliases","register","add","message","index","size","isOverflow","length","pipe","castArray","filter","isTruthy","forEach","indexOf","MemoryFatalError","context","splice","ensureRange","min","max","delete","removeFromArray","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;;;AAsBO,MAAMA,sBAAsBC,mBAAAA,CAAAA;EAtBnC;;;AAuBkBC,EAAAA,QAAAA,GAAsB,EAAA;AACtBC,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAYA,MAAAA,EAAkC;AAC5C,IAAA,KAAA,EAAK;AACL,IAAA,IAAA,CAAKA,MAAAA,GAAS;MACZ,GAAGA,MAAAA;MACHC,QAAAA,EAAU;AACRC,QAAAA,eAAAA,EACEF,MAAAA,CAAOC,QAAAA,EAAUC,eAAAA,KAAoB,CAACH,QAAAA,KAAwB;AAACA,UAAAA,QAAAA,CAAS,CAAA;;AAC5E;AACF,KAAA;AACF;EAEA;AACE,IAAA,MAAMI,OAAAA,GAAU;AAAC,MAAA;;AACjB,IAAA,IAAA,CAAKC,SAASD,OAAAA,CAAAA;AAChB;EAEA,MAAME,GAAAA,CAAIC,SAAkBC,KAAAA,EAAgB;AAC1C,IAAA,MAAM,EAAEC,IAAAA,EAAMP,QAAAA,EAAQ,GAAK,IAAA,CAAKD,MAAAA;AAChC,IAAA,MAAMS,6BAAa,MAAA,CAAA,MAAM,IAAA,CAAKV,QAAAA,CAASW,MAAAA,GAAS,IAAIF,IAAAA,EAAjC,YAAA,CAAA;AAEnB,IAAA,IAAIC,YAAAA,EAAc;AAChBE,MAAAA,WAAAA,CACE,IAAA,CAAKZ,QAAAA,EACLE,QAAAA,CAASC,eAAAA,EACTU,mBAAAA,EACAC,cAAOC,eAAAA,CAAAA,EACPC,cAAAA,CAAQ,CAACT,QAAAA,KAAAA;AACP,QAAA,MAAMC,MAAAA,GAAQ,IAAA,CAAKR,QAAAA,CAASiB,OAAAA,CAAQV,QAAAA,CAAAA;AACpC,QAAA,IAAIC,WAAU,EAAA,EAAI;AAChB,UAAA,MAAM,IAAIU,yBAAAA,CAAiB,CAAA,mCAAA,CAAA,EAAuC,EAAA,EAAI;YACpEC,OAAAA,EAAS;cAAEZ,OAAAA,EAAAA,QAAAA;AAASP,cAAAA,QAAAA,EAAU,IAAA,CAAKA;AAAS;WAC9C,CAAA;AACF;AACA,QAAA,IAAA,CAAKA,QAAAA,CAASoB,MAAAA,CAAOZ,MAAAA,EAAO,CAAA,CAAA;AAC9B,OAAA,CAAA,CAAA;AAGF,MAAA,IAAIE,YAAAA,EAAc;AAChB,QAAA,MAAM,IAAIQ,0BACR,CAAA,uFAAA,CAAyF,CAAA;AAE7F;AACF;AAEAV,IAAAA,KAAAA,GAAQa,sBAAAA,CAAYb,KAAAA,IAAS,IAAA,CAAKR,QAAAA,CAASW,MAAAA,EAAQ;MAAEW,GAAAA,EAAK,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKvB,QAAAA,CAASW;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKX,QAAAA,CAASoB,MAAAA,CAAOZ,KAAAA,EAAO,CAAA,EAAGD,OAAAA,CAAAA;AACjC;AAEA,EAAA,MAAMiB,OAAOjB,OAAAA,EAAkB;AAC7B,IAAA,OAAOkB,yBAAAA,CAAgB,IAAA,CAAKzB,QAAAA,EAAUO,OAAAA,CAAAA;AACxC;EAEAmB,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAK1B,SAASW,MAAAA,GAAS,CAAA;AACzB;EAEAgB,cAAAA,GAAiB;AACf,IAAA,OAAO;MAAE1B,MAAAA,EAAQ2B,qBAAAA,CAAY,KAAK3B,MAAM,CAAA;MAAGD,QAAAA,EAAU4B,qBAAAA,CAAY,KAAK5B,QAAQ;AAAE,KAAA;AAClF;AAEA6B,EAAAA,YAAAA,CAAaC,KAAAA,EAA+C;AAC1DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"slidingMemory.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Message } from \"@/backend/message.js\";\nimport { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { filter, forEach, isTruthy, pipe } from \"remeda\";\nimport { castArray, removeFromArray } from \"@/internals/helpers/array.js\";\nimport { RequiredNested } from \"@/internals/types.js\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\n\nexport interface Handlers {\n removalSelector: (messages: Message[]) => Message | Message[];\n}\n\nexport interface SlidingWindowMemoryInput {\n size: number;\n handlers?: Partial<Handlers>;\n}\n\nexport class SlidingMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n public readonly config: RequiredNested<SlidingWindowMemoryInput>;\n\n constructor(config: SlidingWindowMemoryInput) {\n super();\n this.config = {\n ...config,\n handlers: {\n removalSelector:\n config.handlers?.removalSelector ?? ((messages: Message[]) => [messages[0]]),\n },\n };\n }\n\n static {\n const aliases = [\"SlidingWindowMemory\"];\n this.register(aliases);\n }\n\n async add(message: Message, index?: number) {\n const { size, handlers } = this.config;\n const isOverflow = () => this.messages.length + 1 > size;\n\n if (isOverflow()) {\n pipe(\n this.messages,\n handlers.removalSelector,\n castArray,\n filter(isTruthy),\n forEach((message) => {\n const index = this.messages.indexOf(message);\n if (index === -1) {\n throw new MemoryFatalError(`Cannot delete non existing message.`, [], {\n context: { message, messages: this.messages },\n });\n }\n this.messages.splice(index, 1);\n }),\n );\n\n if (isOverflow()) {\n throw new MemoryFatalError(\n `Custom memory removalSelector did not return any message. Memory overflow has occurred.`,\n );\n }\n }\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n reset() {\n this.messages.length = 0;\n }\n\n createSnapshot() {\n return { config: shallowCopy(this.config), messages: shallowCopy(this.messages) };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["slidingMemory.ts"],"names":["SlidingMemory","BaseMemory","messages","config","constructor","handlers","removalSelector","aliases","register","add","message","index","size","isOverflow","length","pipe","castArray","filter","isTruthy","forEach","indexOf","MemoryFatalError","context","splice","ensureRange","min","max","delete","removeFromArray","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;AAiCO,MAAMA,sBAAsBC,UAAAA,CAAAA;EAjCnC;;;AAkCkBC,EAAAA,QAAAA,GAAsB,EAAA;AACtBC,EAAAA,MAAAA;AAEhBC,EAAAA,WAAAA,CAAYD,MAAkC,EAAA;AAC5C,IAAK,KAAA,EAAA;AACL,IAAA,IAAA,CAAKA,MAAS,GAAA;MACZ,GAAGA,MAAAA;MACHE,QAAU,EAAA;AACRC,QAAAA,eAAAA,EACEH,MAAOE,CAAAA,QAAAA,EAAUC,eAAoB,KAAA,CAACJ,QAAwB,KAAA;AAACA,UAAAA,QAAAA,CAAS,CAAA;;AAC5E;AACF,KAAA;AACF;EAEA;AACE,IAAA,MAAMK,OAAU,GAAA;AAAC,MAAA;;AACjB,IAAA,IAAA,CAAKC,SAASD,OAAAA,CAAAA;AAChB;EAEA,MAAME,GAAAA,CAAIC,SAAkBC,KAAgB,EAAA;AAC1C,IAAA,MAAM,EAAEC,IAAAA,EAAMP,QAAQ,EAAA,GAAK,IAAKF,CAAAA,MAAAA;AAChC,IAAA,MAAMU,6BAAmB,MAAA,CAAA,MAAA,IAAA,CAAKX,QAASY,CAAAA,MAAAA,GAAS,IAAIF,IAAjC,EAAA,YAAA,CAAA;AAEnB,IAAA,IAAIC,YAAc,EAAA;AAChBE,MACE,IAAA,CAAA,IAAA,CAAKb,QACLG,EAAAA,QAAAA,CAASC,eACTU,EAAAA,SAAAA,EACAC,OAAOC,QAAAA,CAAAA,EACPC,OAAQ,CAAA,CAACT,QAAAA,KAAAA;AACP,QAAA,MAAMC,MAAQ,GAAA,IAAA,CAAKT,QAASkB,CAAAA,OAAAA,CAAQV,QAAAA,CAAAA;AACpC,QAAA,IAAIC,WAAU,EAAI,EAAA;AAChB,UAAA,MAAM,IAAIU,gBAAAA,CAAiB,CAAuC,mCAAA,CAAA,EAAA,EAAI,EAAA;YACpEC,OAAS,EAAA;cAAEZ,OAAAA,EAAAA,QAAAA;AAASR,cAAAA,QAAAA,EAAU,IAAKA,CAAAA;AAAS;WAC9C,CAAA;AACF;AACA,QAAKA,IAAAA,CAAAA,QAAAA,CAASqB,MAAOZ,CAAAA,MAAAA,EAAO,CAAA,CAAA;AAC9B,OAAA,CAAA,CAAA;AAGF,MAAA,IAAIE,YAAc,EAAA;AAChB,QAAM,MAAA,IAAIQ,iBACR,CAAyF,uFAAA,CAAA,CAAA;AAE7F;AACF;AAEAV,IAAAA,KAAAA,GAAQa,WAAYb,CAAAA,KAAAA,IAAS,IAAKT,CAAAA,QAAAA,CAASY,MAAQ,EAAA;MAAEW,GAAK,EAAA,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKxB,QAASY,CAAAA;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKZ,QAASqB,CAAAA,MAAAA,CAAOZ,KAAO,EAAA,CAAA,EAAGD,OAAAA,CAAAA;AACjC;AAEA,EAAA,MAAMiB,OAAOjB,OAAkB,EAAA;AAC7B,IAAOkB,OAAAA,eAAAA,CAAgB,IAAK1B,CAAAA,QAAAA,EAAUQ,OAAAA,CAAAA;AACxC;EAEAmB,KAAQ,GAAA;AACN,IAAA,IAAA,CAAK3B,SAASY,MAAS,GAAA,CAAA;AACzB;EAEAgB,cAAiB,GAAA;AACf,IAAO,OAAA;MAAE3B,MAAQ4B,EAAAA,WAAAA,CAAY,KAAK5B,MAAM,CAAA;MAAGD,QAAU6B,EAAAA,WAAAA,CAAY,KAAK7B,QAAQ;AAAE,KAAA;AAClF;AAEA8B,EAAAA,YAAAA,CAAaC,KAA+C,EAAA;AAC1DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"slidingMemory.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 { Message } from \"@/backend/message.js\";\nimport { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { filter, forEach, isTruthy, pipe } from \"remeda\";\nimport { castArray, removeFromArray } from \"@/internals/helpers/array.js\";\nimport { RequiredNested } from \"@/internals/types.js\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\n\nexport interface Handlers {\n removalSelector: (messages: Message[]) => Message | Message[];\n}\n\nexport interface SlidingWindowMemoryInput {\n size: number;\n handlers?: Partial<Handlers>;\n}\n\nexport class SlidingMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n public readonly config: RequiredNested<SlidingWindowMemoryInput>;\n\n constructor(config: SlidingWindowMemoryInput) {\n super();\n this.config = {\n ...config,\n handlers: {\n removalSelector:\n config.handlers?.removalSelector ?? ((messages: Message[]) => [messages[0]]),\n },\n };\n }\n\n static {\n const aliases = [\"SlidingWindowMemory\"];\n this.register(aliases);\n }\n\n async add(message: Message, index?: number) {\n const { size, handlers } = this.config;\n const isOverflow = () => this.messages.length + 1 > size;\n\n if (isOverflow()) {\n pipe(\n this.messages,\n handlers.removalSelector,\n castArray,\n filter(isTruthy),\n forEach((message) => {\n const index = this.messages.indexOf(message);\n if (index === -1) {\n throw new MemoryFatalError(`Cannot delete non existing message.`, [], {\n context: { message, messages: this.messages },\n });\n }\n this.messages.splice(index, 1);\n }),\n );\n\n if (isOverflow()) {\n throw new MemoryFatalError(\n `Custom memory removalSelector did not return any message. Memory overflow has occurred.`,\n );\n }\n }\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n reset() {\n this.messages.length = 0;\n }\n\n createSnapshot() {\n return { config: shallowCopy(this.config), messages: shallowCopy(this.messages) };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/slidingMemory.ts"],"names":["SlidingMemory","BaseMemory","messages","config","handlers","removalSelector","aliases","register","add","message","index","size","isOverflow","length","pipe","castArray","filter","isTruthy","forEach","indexOf","MemoryFatalError","context","splice","ensureRange","min","max","delete","removeFromArray","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;AAsBO,MAAMA,sBAAsBC,UAAAA,CAAAA;EAtBnC;;;AAuBkBC,EAAAA,QAAAA,GAAsB,EAAA;AACtBC,EAAAA,MAAAA;AAEhB,EAAA,WAAA,CAAYA,MAAAA,EAAkC;AAC5C,IAAA,KAAA,EAAK;AACL,IAAA,IAAA,CAAKA,MAAAA,GAAS;MACZ,GAAGA,MAAAA;MACHC,QAAAA,EAAU;AACRC,QAAAA,eAAAA,EACEF,MAAAA,CAAOC,QAAAA,EAAUC,eAAAA,KAAoB,CAACH,QAAAA,KAAwB;AAACA,UAAAA,QAAAA,CAAS,CAAA;;AAC5E;AACF,KAAA;AACF;EAEA;AACE,IAAA,MAAMI,OAAAA,GAAU;AAAC,MAAA;;AACjB,IAAA,IAAA,CAAKC,SAASD,OAAAA,CAAAA;AAChB;EAEA,MAAME,GAAAA,CAAIC,SAAkBC,KAAAA,EAAgB;AAC1C,IAAA,MAAM,EAAEC,IAAAA,EAAMP,QAAAA,EAAQ,GAAK,IAAA,CAAKD,MAAAA;AAChC,IAAA,MAAMS,6BAAa,MAAA,CAAA,MAAM,IAAA,CAAKV,QAAAA,CAASW,MAAAA,GAAS,IAAIF,IAAAA,EAAjC,YAAA,CAAA;AAEnB,IAAA,IAAIC,YAAAA,EAAc;AAChBE,MAAAA,IAAAA,CACE,IAAA,CAAKZ,QAAAA,EACLE,QAAAA,CAASC,eAAAA,EACTU,SAAAA,EACAC,OAAOC,QAAAA,CAAAA,EACPC,OAAAA,CAAQ,CAACT,QAAAA,KAAAA;AACP,QAAA,MAAMC,MAAAA,GAAQ,IAAA,CAAKR,QAAAA,CAASiB,OAAAA,CAAQV,QAAAA,CAAAA;AACpC,QAAA,IAAIC,WAAU,EAAA,EAAI;AAChB,UAAA,MAAM,IAAIU,gBAAAA,CAAiB,CAAA,mCAAA,CAAA,EAAuC,EAAA,EAAI;YACpEC,OAAAA,EAAS;cAAEZ,OAAAA,EAAAA,QAAAA;AAASP,cAAAA,QAAAA,EAAU,IAAA,CAAKA;AAAS;WAC9C,CAAA;AACF;AACA,QAAA,IAAA,CAAKA,QAAAA,CAASoB,MAAAA,CAAOZ,MAAAA,EAAO,CAAA,CAAA;AAC9B,OAAA,CAAA,CAAA;AAGF,MAAA,IAAIE,YAAAA,EAAc;AAChB,QAAA,MAAM,IAAIQ,iBACR,CAAA,uFAAA,CAAyF,CAAA;AAE7F;AACF;AAEAV,IAAAA,KAAAA,GAAQa,WAAAA,CAAYb,KAAAA,IAAS,IAAA,CAAKR,QAAAA,CAASW,MAAAA,EAAQ;MAAEW,GAAAA,EAAK,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKvB,QAAAA,CAASW;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKX,QAAAA,CAASoB,MAAAA,CAAOZ,KAAAA,EAAO,CAAA,EAAGD,OAAAA,CAAAA;AACjC;AAEA,EAAA,MAAMiB,OAAOjB,OAAAA,EAAkB;AAC7B,IAAA,OAAOkB,eAAAA,CAAgB,IAAA,CAAKzB,QAAAA,EAAUO,OAAAA,CAAAA;AACxC;EAEAmB,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAK1B,SAASW,MAAAA,GAAS,CAAA;AACzB;EAEAgB,cAAAA,GAAiB;AACf,IAAA,OAAO;MAAE1B,MAAAA,EAAQ2B,WAAAA,CAAY,KAAK3B,MAAM,CAAA;MAAGD,QAAAA,EAAU4B,WAAAA,CAAY,KAAK5B,QAAQ;AAAE,KAAA;AAClF;AAEA6B,EAAAA,YAAAA,CAAaC,KAAAA,EAA+C;AAC1DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"slidingMemory.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Message } from \"@/backend/message.js\";\nimport { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { filter, forEach, isTruthy, pipe } from \"remeda\";\nimport { castArray, removeFromArray } from \"@/internals/helpers/array.js\";\nimport { RequiredNested } from \"@/internals/types.js\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\n\nexport interface Handlers {\n removalSelector: (messages: Message[]) => Message | Message[];\n}\n\nexport interface SlidingWindowMemoryInput {\n size: number;\n handlers?: Partial<Handlers>;\n}\n\nexport class SlidingMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n public readonly config: RequiredNested<SlidingWindowMemoryInput>;\n\n constructor(config: SlidingWindowMemoryInput) {\n super();\n this.config = {\n ...config,\n handlers: {\n removalSelector:\n config.handlers?.removalSelector ?? ((messages: Message[]) => [messages[0]]),\n },\n };\n }\n\n static {\n const aliases = [\"SlidingWindowMemory\"];\n this.register(aliases);\n }\n\n async add(message: Message, index?: number) {\n const { size, handlers } = this.config;\n const isOverflow = () => this.messages.length + 1 > size;\n\n if (isOverflow()) {\n pipe(\n this.messages,\n handlers.removalSelector,\n castArray,\n filter(isTruthy),\n forEach((message) => {\n const index = this.messages.indexOf(message);\n if (index === -1) {\n throw new MemoryFatalError(`Cannot delete non existing message.`, [], {\n context: { message, messages: this.messages },\n });\n }\n this.messages.splice(index, 1);\n }),\n );\n\n if (isOverflow()) {\n throw new MemoryFatalError(\n `Custom memory removalSelector did not return any message. Memory overflow has occurred.`,\n );\n }\n }\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n reset() {\n this.messages.length = 0;\n }\n\n createSnapshot() {\n return { config: shallowCopy(this.config), messages: shallowCopy(this.messages) };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["summarizeMemory.ts"],"names":["SummarizeMemoryTemplate","PromptTemplate","schema","z","object","summary","string","template","SummarizeMemory","BaseMemory","llm","constructor","config","register","messages","currentSummary","AssistantMessage","delete","message","add","_index","response","create","SystemMessage","render","role","text","getTextContent","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;;;AA4BaA,MAAAA,uBAAAA,GAA0B,IAAIC,2BAAe,CAAA;AACxDC,EAAAA,MAAAA,EAAQC,MAAEC,MAAO,CAAA;AACfC,IAAAA,OAAAA,EAASF,MAAEG,MAAM;GACnB,CAAA;EACAC,QAAU,EAAA,CAAA;;;;AAIZ,CAAA;AAEO,MAAMC,wBAAwBC,mBAAAA,CAAAA;EAtCrC;;;EAuCYJ,OAAU,GAAA,EAAA;AACVE,EAAAA,QAAAA;AACAG,EAAAA,GAAAA;AAEVC,EAAAA,WAAAA,CAAYC,MAA8B,EAAA;AACxC,IAAK,KAAA,EAAA;AACL,IAAKL,IAAAA,CAAAA,QAAAA,GAAWK,OAAOL,QAAYP,IAAAA,uBAAAA;AACnC,IAAA,IAAA,CAAKU,MAAME,MAAOF,CAAAA,GAAAA;AACpB;EAEA;AACE,IAAA,IAAA,CAAKG,QAAQ,EAAA;AACf;AAEA,EAAA,IAAIC,QAAsB,GAAA;AACxB,IAAA,MAAMC,iBAAiB,IAAKV,CAAAA,OAAAA;AAC5B,IAAA,IAAI,CAACU,cAAgB,EAAA;AACnB,MAAA,OAAO,EAAA;AACT;AAEA,IAAO,OAAA;AAAC,MAAA,IAAIC,6BAAiBD,cAAAA;;AAC/B;;AAGA,EAAA,MAAME,OAAOC,OAAkB,EAAA;AAC7B,IAAO,OAAA,KAAA;AACT;EAEA,MAAMC,GAAAA,CAAID,SAAkBE,MAAiB,EAAA;AAC3C,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKX,CAAAA,GAAAA,CAAIY,MAAO,CAAA;MACrCR,QAAU,EAAA;QACR,IAAIS,yBAAAA,CACF,IAAKhB,CAAAA,QAAAA,CAASiB,MAAO,CAAA;AACnBnB,UAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAChB,SAAA,CAAA,CAAA;AAEF,QAAA,IAAIW,4BAAiB,CAAA,CAAA;EAC3BE,OAAQO,CAAAA,IAAI,CAAKP,EAAAA,EAAAA,OAAAA,CAAQQ,IAAI;;;AAG9B,CAAA;;KAEG,CAAA;AACA,IAAKrB,IAAAA,CAAAA,OAAAA,GAAUgB,SAASM,cAAc,EAAA;AACxC;EAEAC,KAAQ,GAAA;AACN,IAAA,IAAA,CAAKvB,OAAU,GAAA,EAAA;AACjB;EAEAwB,cAAiB,GAAA;AACf,IAAO,OAAA;AACLxB,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdE,MAAAA,QAAAA,EAAU,IAAKA,CAAAA,QAAAA;AACfG,MAAAA,GAAAA,EAAK,IAAKA,CAAAA,GAAAA;MACVI,QAAUgB,EAAAA,qBAAAA,CAAY,KAAKhB,QAAQ;AACrC,KAAA;AACF;AAEAiB,EAAAA,YAAAA,CAAaC,KAA+C,EAAA;AAC1DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"summarizeMemory.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 { AssistantMessage, Message, SystemMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { z } from \"zod\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface SummarizeMemoryInput {\n llm: ChatModel;\n template?: typeof SummarizeMemoryTemplate;\n}\n\nexport const SummarizeMemoryTemplate = new PromptTemplate({\n schema: z.object({\n summary: z.string(),\n }),\n template: `Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nCurrent summary:\n{{summary}}`,\n});\n\nexport class SummarizeMemory extends BaseMemory {\n protected summary = \"\";\n protected template;\n protected llm;\n\n constructor(config: SummarizeMemoryInput) {\n super();\n this.template = config.template ?? SummarizeMemoryTemplate;\n this.llm = config.llm;\n }\n\n static {\n this.register();\n }\n\n get messages(): Message[] {\n const currentSummary = this.summary;\n if (!currentSummary) {\n return [];\n }\n\n return [new AssistantMessage(currentSummary)];\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n async add(message: Message, _index?: number) {\n const response = await this.llm.create({\n messages: [\n new SystemMessage(\n this.template.render({\n summary: this.summary,\n }),\n ),\n new AssistantMessage(`New lines of conversation:\n${message.role}: ${message.text}\n\nNew summary:\n`),\n ],\n });\n this.summary = response.getTextContent();\n }\n\n reset() {\n this.summary = \"\";\n }\n\n createSnapshot() {\n return {\n summary: this.summary,\n template: this.template,\n llm: this.llm,\n messages: shallowCopy(this.messages),\n };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/summarizeMemory.ts"],"names":["SummarizeMemoryTemplate","PromptTemplate","schema","z","object","summary","string","template","SummarizeMemory","BaseMemory","llm","config","register","messages","currentSummary","AssistantMessage","delete","message","add","_index","response","create","SystemMessage","render","role","text","getTextContent","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;;;AAiBO,MAAMA,uBAAAA,GAA0B,IAAIC,2BAAAA,CAAe;AACxDC,EAAAA,MAAAA,EAAQC,MAAEC,MAAAA,CAAO;AACfC,IAAAA,OAAAA,EAASF,MAAEG,MAAAA;GACb,CAAA;EACAC,QAAAA,EAAU,CAAA;;;;AAIZ,CAAA;AAEO,MAAMC,wBAAwBC,mBAAAA,CAAAA;EA3BrC;;;EA4BYJ,OAAAA,GAAU,EAAA;AACVE,EAAAA,QAAAA;AACAG,EAAAA,GAAAA;AAEV,EAAA,WAAA,CAAYC,MAAAA,EAA8B;AACxC,IAAA,KAAA,EAAK;AACL,IAAA,IAAA,CAAKJ,QAAAA,GAAWI,OAAOJ,QAAAA,IAAYP,uBAAAA;AACnC,IAAA,IAAA,CAAKU,MAAMC,MAAAA,CAAOD,GAAAA;AACpB;EAEA;AACE,IAAA,IAAA,CAAKE,QAAAA,EAAQ;AACf;AAEA,EAAA,IAAIC,QAAAA,GAAsB;AACxB,IAAA,MAAMC,iBAAiB,IAAA,CAAKT,OAAAA;AAC5B,IAAA,IAAI,CAACS,cAAAA,EAAgB;AACnB,MAAA,OAAO,EAAA;AACT;AAEA,IAAA,OAAO;AAAC,MAAA,IAAIC,6BAAiBD,cAAAA;;AAC/B;;AAGA,EAAA,MAAME,OAAOC,OAAAA,EAAkB;AAC7B,IAAA,OAAO,KAAA;AACT;EAEA,MAAMC,GAAAA,CAAID,SAAkBE,MAAAA,EAAiB;AAC3C,IAAA,MAAMC,QAAAA,GAAW,MAAM,IAAA,CAAKV,GAAAA,CAAIW,MAAAA,CAAO;MACrCR,QAAAA,EAAU;QACR,IAAIS,yBAAAA,CACF,IAAA,CAAKf,QAAAA,CAASgB,MAAAA,CAAO;AACnBlB,UAAAA,OAAAA,EAAS,IAAA,CAAKA;AAChB,SAAA,CAAA,CAAA;AAEF,QAAA,IAAIU,4BAAAA,CAAiB,CAAA;EAC3BE,OAAAA,CAAQO,IAAI,CAAA,EAAA,EAAKP,OAAAA,CAAQQ,IAAI;;;AAG9B,CAAA;;KAEG,CAAA;AACA,IAAA,IAAA,CAAKpB,OAAAA,GAAUe,SAASM,cAAAA,EAAc;AACxC;EAEAC,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAKtB,OAAAA,GAAU,EAAA;AACjB;EAEAuB,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLvB,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;AACdE,MAAAA,QAAAA,EAAU,IAAA,CAAKA,QAAAA;AACfG,MAAAA,GAAAA,EAAK,IAAA,CAAKA,GAAAA;MACVG,QAAAA,EAAUgB,qBAAAA,CAAY,KAAKhB,QAAQ;AACrC,KAAA;AACF;AAEAiB,EAAAA,YAAAA,CAAaC,KAAAA,EAA+C;AAC1DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"summarizeMemory.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, SystemMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { z } from \"zod\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface SummarizeMemoryInput {\n llm: ChatModel;\n template?: typeof SummarizeMemoryTemplate;\n}\n\nexport const SummarizeMemoryTemplate = new PromptTemplate({\n schema: z.object({\n summary: z.string(),\n }),\n template: `Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nCurrent summary:\n{{summary}}`,\n});\n\nexport class SummarizeMemory extends BaseMemory {\n protected summary = \"\";\n protected template;\n protected llm;\n\n constructor(config: SummarizeMemoryInput) {\n super();\n this.template = config.template ?? SummarizeMemoryTemplate;\n this.llm = config.llm;\n }\n\n static {\n this.register();\n }\n\n get messages(): Message[] {\n const currentSummary = this.summary;\n if (!currentSummary) {\n return [];\n }\n\n return [new AssistantMessage(currentSummary)];\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n async add(message: Message, _index?: number) {\n const response = await this.llm.create({\n messages: [\n new SystemMessage(\n this.template.render({\n summary: this.summary,\n }),\n ),\n new AssistantMessage(`New lines of conversation:\n${message.role}: ${message.text}\n\nNew summary:\n`),\n ],\n });\n this.summary = response.getTextContent();\n }\n\n reset() {\n this.summary = \"\";\n }\n\n createSnapshot() {\n return {\n summary: this.summary,\n template: this.template,\n llm: this.llm,\n messages: shallowCopy(this.messages),\n };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { Message, MessageContentPart } from '../backend/message.cjs';
2
2
  import { BaseMemory } from './base.cjs';
3
3
  import { PromptTemplate } from '../template.cjs';
4
4
  import { z } from 'zod';
5
- import { m as ChatModel } from '../chat-DvMzAHj6.cjs';
5
+ import { m as ChatModel } from '../chat-CR4yfOR9.cjs';
6
6
  import '../internals/serializable.cjs';
7
7
  import '../internals/types.cjs';
8
8
  import '../internals/helpers/guards.cjs';
@@ -10,7 +10,7 @@ import 'ai';
10
10
  import '../errors.cjs';
11
11
  import 'ajv';
12
12
  import '../context.cjs';
13
- import '../emitter-D5Mu0EEH.cjs';
13
+ import '../emitter-DWEsd-ud.cjs';
14
14
  import '../internals/helpers/promise.cjs';
15
15
  import 'promise-based-task';
16
16
  import '../cache/base.cjs';
@@ -2,7 +2,7 @@ import { Message, MessageContentPart } from '../backend/message.js';
2
2
  import { BaseMemory } from './base.js';
3
3
  import { PromptTemplate } from '../template.js';
4
4
  import { z } from 'zod';
5
- import { m as ChatModel } from '../chat-BdN8hGWn.js';
5
+ import { m as ChatModel } from '../chat-W9j8T6UU.js';
6
6
  import '../internals/serializable.js';
7
7
  import '../internals/types.js';
8
8
  import '../internals/helpers/guards.js';
@@ -10,7 +10,7 @@ import 'ai';
10
10
  import '../errors.js';
11
11
  import 'ajv';
12
12
  import '../context.js';
13
- import '../emitter-C3dO-s2P.js';
13
+ import '../emitter-C9nwGLt6.js';
14
14
  import '../internals/helpers/promise.js';
15
15
  import 'promise-based-task';
16
16
  import '../cache/base.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["summarizeMemory.ts"],"names":["SummarizeMemoryTemplate","PromptTemplate","schema","z","object","summary","string","template","SummarizeMemory","BaseMemory","llm","constructor","config","register","messages","currentSummary","AssistantMessage","delete","message","add","_index","response","create","SystemMessage","render","role","text","getTextContent","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;AA4BaA,MAAAA,uBAAAA,GAA0B,IAAIC,cAAe,CAAA;AACxDC,EAAAA,MAAAA,EAAQC,EAAEC,MAAO,CAAA;AACfC,IAAAA,OAAAA,EAASF,EAAEG,MAAM;GACnB,CAAA;EACAC,QAAU,EAAA,CAAA;;;;AAIZ,CAAA;AAEO,MAAMC,wBAAwBC,UAAAA,CAAAA;EAtCrC;;;EAuCYJ,OAAU,GAAA,EAAA;AACVE,EAAAA,QAAAA;AACAG,EAAAA,GAAAA;AAEVC,EAAAA,WAAAA,CAAYC,MAA8B,EAAA;AACxC,IAAK,KAAA,EAAA;AACL,IAAKL,IAAAA,CAAAA,QAAAA,GAAWK,OAAOL,QAAYP,IAAAA,uBAAAA;AACnC,IAAA,IAAA,CAAKU,MAAME,MAAOF,CAAAA,GAAAA;AACpB;EAEA;AACE,IAAA,IAAA,CAAKG,QAAQ,EAAA;AACf;AAEA,EAAA,IAAIC,QAAsB,GAAA;AACxB,IAAA,MAAMC,iBAAiB,IAAKV,CAAAA,OAAAA;AAC5B,IAAA,IAAI,CAACU,cAAgB,EAAA;AACnB,MAAA,OAAO,EAAA;AACT;AAEA,IAAO,OAAA;AAAC,MAAA,IAAIC,iBAAiBD,cAAAA;;AAC/B;;AAGA,EAAA,MAAME,OAAOC,OAAkB,EAAA;AAC7B,IAAO,OAAA,KAAA;AACT;EAEA,MAAMC,GAAAA,CAAID,SAAkBE,MAAiB,EAAA;AAC3C,IAAA,MAAMC,QAAW,GAAA,MAAM,IAAKX,CAAAA,GAAAA,CAAIY,MAAO,CAAA;MACrCR,QAAU,EAAA;QACR,IAAIS,aAAAA,CACF,IAAKhB,CAAAA,QAAAA,CAASiB,MAAO,CAAA;AACnBnB,UAAAA,OAAAA,EAAS,IAAKA,CAAAA;AAChB,SAAA,CAAA,CAAA;AAEF,QAAA,IAAIW,gBAAiB,CAAA,CAAA;EAC3BE,OAAQO,CAAAA,IAAI,CAAKP,EAAAA,EAAAA,OAAAA,CAAQQ,IAAI;;;AAG9B,CAAA;;KAEG,CAAA;AACA,IAAKrB,IAAAA,CAAAA,OAAAA,GAAUgB,SAASM,cAAc,EAAA;AACxC;EAEAC,KAAQ,GAAA;AACN,IAAA,IAAA,CAAKvB,OAAU,GAAA,EAAA;AACjB;EAEAwB,cAAiB,GAAA;AACf,IAAO,OAAA;AACLxB,MAAAA,OAAAA,EAAS,IAAKA,CAAAA,OAAAA;AACdE,MAAAA,QAAAA,EAAU,IAAKA,CAAAA,QAAAA;AACfG,MAAAA,GAAAA,EAAK,IAAKA,CAAAA,GAAAA;MACVI,QAAUgB,EAAAA,WAAAA,CAAY,KAAKhB,QAAQ;AACrC,KAAA;AACF;AAEAiB,EAAAA,YAAAA,CAAaC,KAA+C,EAAA;AAC1DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"summarizeMemory.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 { AssistantMessage, Message, SystemMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { z } from \"zod\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface SummarizeMemoryInput {\n llm: ChatModel;\n template?: typeof SummarizeMemoryTemplate;\n}\n\nexport const SummarizeMemoryTemplate = new PromptTemplate({\n schema: z.object({\n summary: z.string(),\n }),\n template: `Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nCurrent summary:\n{{summary}}`,\n});\n\nexport class SummarizeMemory extends BaseMemory {\n protected summary = \"\";\n protected template;\n protected llm;\n\n constructor(config: SummarizeMemoryInput) {\n super();\n this.template = config.template ?? SummarizeMemoryTemplate;\n this.llm = config.llm;\n }\n\n static {\n this.register();\n }\n\n get messages(): Message[] {\n const currentSummary = this.summary;\n if (!currentSummary) {\n return [];\n }\n\n return [new AssistantMessage(currentSummary)];\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n async add(message: Message, _index?: number) {\n const response = await this.llm.create({\n messages: [\n new SystemMessage(\n this.template.render({\n summary: this.summary,\n }),\n ),\n new AssistantMessage(`New lines of conversation:\n${message.role}: ${message.text}\n\nNew summary:\n`),\n ],\n });\n this.summary = response.getTextContent();\n }\n\n reset() {\n this.summary = \"\";\n }\n\n createSnapshot() {\n return {\n summary: this.summary,\n template: this.template,\n llm: this.llm,\n messages: shallowCopy(this.messages),\n };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/summarizeMemory.ts"],"names":["SummarizeMemoryTemplate","PromptTemplate","schema","z","object","summary","string","template","SummarizeMemory","BaseMemory","llm","config","register","messages","currentSummary","AssistantMessage","delete","message","add","_index","response","create","SystemMessage","render","role","text","getTextContent","reset","createSnapshot","shallowCopy","loadSnapshot","state","Object","assign"],"mappings":";;;;;;;;AAiBO,MAAMA,uBAAAA,GAA0B,IAAIC,cAAAA,CAAe;AACxDC,EAAAA,MAAAA,EAAQC,EAAEC,MAAAA,CAAO;AACfC,IAAAA,OAAAA,EAASF,EAAEG,MAAAA;GACb,CAAA;EACAC,QAAAA,EAAU,CAAA;;;;AAIZ,CAAA;AAEO,MAAMC,wBAAwBC,UAAAA,CAAAA;EA3BrC;;;EA4BYJ,OAAAA,GAAU,EAAA;AACVE,EAAAA,QAAAA;AACAG,EAAAA,GAAAA;AAEV,EAAA,WAAA,CAAYC,MAAAA,EAA8B;AACxC,IAAA,KAAA,EAAK;AACL,IAAA,IAAA,CAAKJ,QAAAA,GAAWI,OAAOJ,QAAAA,IAAYP,uBAAAA;AACnC,IAAA,IAAA,CAAKU,MAAMC,MAAAA,CAAOD,GAAAA;AACpB;EAEA;AACE,IAAA,IAAA,CAAKE,QAAAA,EAAQ;AACf;AAEA,EAAA,IAAIC,QAAAA,GAAsB;AACxB,IAAA,MAAMC,iBAAiB,IAAA,CAAKT,OAAAA;AAC5B,IAAA,IAAI,CAACS,cAAAA,EAAgB;AACnB,MAAA,OAAO,EAAA;AACT;AAEA,IAAA,OAAO;AAAC,MAAA,IAAIC,iBAAiBD,cAAAA;;AAC/B;;AAGA,EAAA,MAAME,OAAOC,OAAAA,EAAkB;AAC7B,IAAA,OAAO,KAAA;AACT;EAEA,MAAMC,GAAAA,CAAID,SAAkBE,MAAAA,EAAiB;AAC3C,IAAA,MAAMC,QAAAA,GAAW,MAAM,IAAA,CAAKV,GAAAA,CAAIW,MAAAA,CAAO;MACrCR,QAAAA,EAAU;QACR,IAAIS,aAAAA,CACF,IAAA,CAAKf,QAAAA,CAASgB,MAAAA,CAAO;AACnBlB,UAAAA,OAAAA,EAAS,IAAA,CAAKA;AAChB,SAAA,CAAA,CAAA;AAEF,QAAA,IAAIU,gBAAAA,CAAiB,CAAA;EAC3BE,OAAAA,CAAQO,IAAI,CAAA,EAAA,EAAKP,OAAAA,CAAQQ,IAAI;;;AAG9B,CAAA;;KAEG,CAAA;AACA,IAAA,IAAA,CAAKpB,OAAAA,GAAUe,SAASM,cAAAA,EAAc;AACxC;EAEAC,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAKtB,OAAAA,GAAU,EAAA;AACjB;EAEAuB,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLvB,MAAAA,OAAAA,EAAS,IAAA,CAAKA,OAAAA;AACdE,MAAAA,QAAAA,EAAU,IAAA,CAAKA,QAAAA;AACfG,MAAAA,GAAAA,EAAK,IAAA,CAAKA,GAAAA;MACVG,QAAAA,EAAUgB,WAAAA,CAAY,KAAKhB,QAAQ;AACrC,KAAA;AACF;AAEAiB,EAAAA,YAAAA,CAAaC,KAAAA,EAA+C;AAC1DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,KAAAA,CAAAA;AACtB;AACF","file":"summarizeMemory.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AssistantMessage, Message, SystemMessage } from \"@/backend/message.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { PromptTemplate } from \"@/template.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { z } from \"zod\";\nimport { ChatModel } from \"@/backend/chat.js\";\n\nexport interface SummarizeMemoryInput {\n llm: ChatModel;\n template?: typeof SummarizeMemoryTemplate;\n}\n\nexport const SummarizeMemoryTemplate = new PromptTemplate({\n schema: z.object({\n summary: z.string(),\n }),\n template: `Progressively summarize the lines of conversation provided, adding onto the previous summary returning a new summary.\n\nCurrent summary:\n{{summary}}`,\n});\n\nexport class SummarizeMemory extends BaseMemory {\n protected summary = \"\";\n protected template;\n protected llm;\n\n constructor(config: SummarizeMemoryInput) {\n super();\n this.template = config.template ?? SummarizeMemoryTemplate;\n this.llm = config.llm;\n }\n\n static {\n this.register();\n }\n\n get messages(): Message[] {\n const currentSummary = this.summary;\n if (!currentSummary) {\n return [];\n }\n\n return [new AssistantMessage(currentSummary)];\n }\n\n // eslint-disable-next-line unused-imports/no-unused-vars\n async delete(message: Message) {\n return false;\n }\n\n async add(message: Message, _index?: number) {\n const response = await this.llm.create({\n messages: [\n new SystemMessage(\n this.template.render({\n summary: this.summary,\n }),\n ),\n new AssistantMessage(`New lines of conversation:\n${message.role}: ${message.text}\n\nNew summary:\n`),\n ],\n });\n this.summary = response.getTextContent();\n }\n\n reset() {\n this.summary = \"\";\n }\n\n createSnapshot() {\n return {\n summary: this.summary,\n template: this.template,\n llm: this.llm,\n messages: shallowCopy(this.messages),\n };\n }\n\n loadSnapshot(state: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["tokenMemory.ts"],"names":["simpleEstimate","msg","Math","ceil","text","length","simpleTokenize","msgs","sum","map","TokenMemory","BaseMemory","messages","threshold","syncThreshold","maxTokens","tokensByMessage","WeakMap","handlers","constructor","config","capacityThreshold","estimate","role","tokenize","removalSelector","R","clamp","min","max","TypeError","register","tokensUsed","get","tokensCount","isDirty","some","dirty","add","message","index","meta","has","MemoryFatalError","messageToDelete","exists","delete","set","ensureRange","splice","sync","removeFromArray","Promise","all","cache","addMany","reset","stats","messagesCount","createSnapshot","shallowCopy","filter","_","value","undefined","loadSnapshot","state","Object","assign"],"mappings":"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","file":"tokenMemory.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 { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport * as R from \"remeda\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { removeFromArray } from \"@/internals/helpers/array.js\";\nimport { map, sum } from \"remeda\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\nimport { Message } from \"@/backend/message.js\";\n\nexport interface Handlers {\n estimate: (messages: Message) => number;\n tokenize: (messages: Message[]) => Promise<number>;\n removalSelector: (messages: Message[]) => Message;\n}\n\nconst simpleEstimate: Handlers[\"estimate\"] = (msg: Message) => Math.ceil(msg.text.length / 4);\nconst simpleTokenize: Handlers[\"tokenize\"] = async (msgs: Message[]) =>\n sum(map(msgs, simpleEstimate)); // TODO\n\nexport interface TokenMemoryInput {\n maxTokens?: number;\n syncThreshold?: number;\n capacityThreshold?: number;\n handlers?: Partial<Handlers>;\n}\n\ninterface TokenByMessage {\n tokensCount: number;\n dirty: boolean;\n}\n\nexport class TokenMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n\n protected threshold;\n protected syncThreshold;\n protected maxTokens: number | null = null;\n protected tokensByMessage = new WeakMap<Message, TokenByMessage>();\n public readonly handlers: Handlers;\n\n constructor(config: TokenMemoryInput = {}) {\n super();\n this.maxTokens = config.maxTokens ?? null;\n this.threshold = config.capacityThreshold ?? 0.75;\n this.syncThreshold = config.syncThreshold ?? 0.25;\n this.handlers = {\n ...config?.handlers,\n estimate:\n config?.handlers?.estimate || ((msg) => Math.ceil((msg.role.length + msg.text.length) / 4)),\n tokenize: config?.handlers?.tokenize || simpleTokenize,\n removalSelector: config.handlers?.removalSelector || ((messages) => messages[0]),\n };\n if (!R.clamp({ min: 0, max: 1 })(this.threshold)) {\n throw new TypeError('\"capacityThreshold\" must be a number in range (0, 1>');\n }\n }\n\n static {\n this.register();\n }\n\n get tokensUsed(): number {\n return sum(this.messages.map((msg) => this.tokensByMessage.get(msg)!.tokensCount!));\n }\n\n get isDirty(): boolean {\n return this.messages.some((msg) => this.tokensByMessage.get(msg)?.dirty !== false);\n }\n\n async add(message: Message, index?: number) {\n if (this.maxTokens === null) {\n // TODO: improve\n this.maxTokens = 128_000;\n }\n\n const meta = this.tokensByMessage.has(message)\n ? this.tokensByMessage.get(message)!\n : { tokensCount: this.handlers.estimate(message), dirty: true };\n\n if (meta.tokensCount > this.maxTokens) {\n throw new MemoryFatalError(\n `Retrieved message (${meta.tokensCount} tokens) cannot fit inside current memory (${this.maxTokens} tokens)`,\n );\n }\n\n while (this.tokensUsed > this.maxTokens - meta.tokensCount) {\n const messageToDelete = this.handlers.removalSelector(this.messages);\n const exists = await this.delete(messageToDelete);\n\n if (!messageToDelete || !exists) {\n throw new MemoryFatalError('The \"removalSelector\" handler must return a valid message!');\n }\n }\n\n this.tokensByMessage.set(message, meta);\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n\n if (this.isDirty && this.tokensUsed / this.maxTokens >= this.syncThreshold) {\n await this.sync();\n }\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n async sync() {\n const messages = await Promise.all(\n this.messages.map(async (msg) => {\n const cache = this.tokensByMessage.get(msg);\n if (cache?.dirty !== false) {\n const tokensCount = await this.handlers.tokenize([msg]);\n this.tokensByMessage.set(msg, { tokensCount, dirty: false });\n }\n return msg;\n }),\n );\n\n this.messages.length = 0;\n await this.addMany(messages);\n }\n\n reset() {\n for (const msg of this.messages) {\n this.tokensByMessage.delete(msg);\n }\n this.messages.length = 0;\n }\n\n stats() {\n return {\n tokensUsed: this.tokensUsed,\n maxTokens: this.maxTokens,\n messagesCount: this.messages.length,\n isDirty: this.isDirty,\n };\n }\n\n createSnapshot() {\n return {\n threshold: this.threshold,\n syncThreshold: this.syncThreshold,\n messages: shallowCopy(this.messages),\n handlers: shallowCopy(this.handlers),\n maxTokens: this.maxTokens,\n tokensByMessage: this.messages\n .map((message) => [message, this.tokensByMessage.get(message)])\n .filter(([_, value]) => value !== undefined) as [Message, number][],\n };\n }\n\n loadSnapshot({ tokensByMessage, ...state }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state, {\n tokensByMessage: new WeakMap(tokensByMessage),\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/memory/tokenMemory.ts"],"names":["simpleEstimate","msg","Math","ceil","text","length","simpleTokenize","msgs","sum","map","TokenMemory","BaseMemory","messages","threshold","syncThreshold","maxTokens","tokensByMessage","WeakMap","handlers","config","capacityThreshold","estimate","role","tokenize","removalSelector","R","clamp","min","max","TypeError","register","tokensUsed","get","tokensCount","isDirty","some","dirty","add","message","index","meta","has","MemoryFatalError","messageToDelete","exists","delete","set","ensureRange","splice","sync","removeFromArray","Promise","all","cache","addMany","reset","stats","messagesCount","createSnapshot","shallowCopy","filter","_","value","undefined","loadSnapshot","state","Object","assign"],"mappings":"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","file":"tokenMemory.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseMemory, MemoryFatalError } from \"@/memory/base.js\";\nimport * as R from \"remeda\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { removeFromArray } from \"@/internals/helpers/array.js\";\nimport { map, sum } from \"remeda\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\nimport { Message } from \"@/backend/message.js\";\n\nexport interface Handlers {\n estimate: (messages: Message) => number;\n tokenize: (messages: Message[]) => Promise<number>;\n removalSelector: (messages: Message[]) => Message;\n}\n\nconst simpleEstimate: Handlers[\"estimate\"] = (msg: Message) => Math.ceil(msg.text.length / 4);\nconst simpleTokenize: Handlers[\"tokenize\"] = async (msgs: Message[]) =>\n sum(map(msgs, simpleEstimate)); // TODO\n\nexport interface TokenMemoryInput {\n maxTokens?: number;\n syncThreshold?: number;\n capacityThreshold?: number;\n handlers?: Partial<Handlers>;\n}\n\ninterface TokenByMessage {\n tokensCount: number;\n dirty: boolean;\n}\n\nexport class TokenMemory extends BaseMemory {\n public readonly messages: Message[] = [];\n\n protected threshold;\n protected syncThreshold;\n protected maxTokens: number | null = null;\n protected tokensByMessage = new WeakMap<Message, TokenByMessage>();\n public readonly handlers: Handlers;\n\n constructor(config: TokenMemoryInput = {}) {\n super();\n this.maxTokens = config.maxTokens ?? null;\n this.threshold = config.capacityThreshold ?? 0.75;\n this.syncThreshold = config.syncThreshold ?? 0.25;\n this.handlers = {\n ...config?.handlers,\n estimate:\n config?.handlers?.estimate || ((msg) => Math.ceil((msg.role.length + msg.text.length) / 4)),\n tokenize: config?.handlers?.tokenize || simpleTokenize,\n removalSelector: config.handlers?.removalSelector || ((messages) => messages[0]),\n };\n if (!R.clamp({ min: 0, max: 1 })(this.threshold)) {\n throw new TypeError('\"capacityThreshold\" must be a number in range (0, 1>');\n }\n }\n\n static {\n this.register();\n }\n\n get tokensUsed(): number {\n return sum(this.messages.map((msg) => this.tokensByMessage.get(msg)!.tokensCount!));\n }\n\n get isDirty(): boolean {\n return this.messages.some((msg) => this.tokensByMessage.get(msg)?.dirty !== false);\n }\n\n async add(message: Message, index?: number) {\n if (this.maxTokens === null) {\n // TODO: improve\n this.maxTokens = 128_000;\n }\n\n const meta = this.tokensByMessage.has(message)\n ? this.tokensByMessage.get(message)!\n : { tokensCount: this.handlers.estimate(message), dirty: true };\n\n if (meta.tokensCount > this.maxTokens) {\n throw new MemoryFatalError(\n `Retrieved message (${meta.tokensCount} tokens) cannot fit inside current memory (${this.maxTokens} tokens)`,\n );\n }\n\n while (this.tokensUsed > this.maxTokens - meta.tokensCount) {\n const messageToDelete = this.handlers.removalSelector(this.messages);\n const exists = await this.delete(messageToDelete);\n\n if (!messageToDelete || !exists) {\n throw new MemoryFatalError('The \"removalSelector\" handler must return a valid message!');\n }\n }\n\n this.tokensByMessage.set(message, meta);\n\n index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n this.messages.splice(index, 0, message);\n\n if (this.isDirty && this.tokensUsed / this.maxTokens >= this.syncThreshold) {\n await this.sync();\n }\n }\n\n async delete(message: Message) {\n return removeFromArray(this.messages, message);\n }\n\n async sync() {\n const messages = await Promise.all(\n this.messages.map(async (msg) => {\n const cache = this.tokensByMessage.get(msg);\n if (cache?.dirty !== false) {\n const tokensCount = await this.handlers.tokenize([msg]);\n this.tokensByMessage.set(msg, { tokensCount, dirty: false });\n }\n return msg;\n }),\n );\n\n this.messages.length = 0;\n await this.addMany(messages);\n }\n\n reset() {\n for (const msg of this.messages) {\n this.tokensByMessage.delete(msg);\n }\n this.messages.length = 0;\n }\n\n stats() {\n return {\n tokensUsed: this.tokensUsed,\n maxTokens: this.maxTokens,\n messagesCount: this.messages.length,\n isDirty: this.isDirty,\n };\n }\n\n createSnapshot() {\n return {\n threshold: this.threshold,\n syncThreshold: this.syncThreshold,\n messages: shallowCopy(this.messages),\n handlers: shallowCopy(this.handlers),\n maxTokens: this.maxTokens,\n tokensByMessage: this.messages\n .map((message) => [message, this.tokensByMessage.get(message)])\n .filter(([_, value]) => value !== undefined) as [Message, number][],\n };\n }\n\n loadSnapshot({ tokensByMessage, ...state }: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, state, {\n tokensByMessage: new WeakMap(tokensByMessage),\n });\n }\n}\n"]}