beeai-framework 0.1.28 → 0.1.30

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 (564) hide show
  1. package/dist/adapters/a2a/agents/agent.cjs.map +1 -1
  2. package/dist/adapters/a2a/agents/agent.d.cts +2 -2
  3. package/dist/adapters/a2a/agents/agent.d.ts +2 -2
  4. package/dist/adapters/a2a/agents/agent.js.map +1 -1
  5. package/dist/adapters/a2a/agents/events.d.cts +1 -1
  6. package/dist/adapters/a2a/agents/events.d.ts +1 -1
  7. package/dist/adapters/a2a/agents/types.d.cts +2 -2
  8. package/dist/adapters/a2a/agents/types.d.ts +2 -2
  9. package/dist/adapters/a2a/agents/utils.cjs +52 -11
  10. package/dist/adapters/a2a/agents/utils.cjs.map +1 -1
  11. package/dist/adapters/a2a/agents/utils.js +52 -11
  12. package/dist/adapters/a2a/agents/utils.js.map +1 -1
  13. package/dist/adapters/a2a/serve/agent_executor.cjs.map +1 -1
  14. package/dist/adapters/a2a/serve/agent_executor.d.cts +3 -3
  15. package/dist/adapters/a2a/serve/agent_executor.d.ts +3 -3
  16. package/dist/adapters/a2a/serve/agent_executor.js.map +1 -1
  17. package/dist/adapters/a2a/serve/server.cjs.map +1 -1
  18. package/dist/adapters/a2a/serve/server.d.cts +2 -2
  19. package/dist/adapters/a2a/serve/server.d.ts +2 -2
  20. package/dist/adapters/a2a/serve/server.js.map +1 -1
  21. package/dist/adapters/acp/agents/agent.cjs.map +1 -1
  22. package/dist/adapters/acp/agents/agent.d.cts +2 -2
  23. package/dist/adapters/acp/agents/agent.d.ts +2 -2
  24. package/dist/adapters/acp/agents/agent.js.map +1 -1
  25. package/dist/adapters/acp/agents/events.d.cts +1 -1
  26. package/dist/adapters/acp/agents/events.d.ts +1 -1
  27. package/dist/adapters/agentstack/agents/agent.cjs.map +1 -1
  28. package/dist/adapters/agentstack/agents/agent.d.cts +2 -2
  29. package/dist/adapters/agentstack/agents/agent.d.ts +2 -2
  30. package/dist/adapters/agentstack/agents/agent.js.map +1 -1
  31. package/dist/adapters/agentstack/agents/events.d.cts +1 -1
  32. package/dist/adapters/agentstack/agents/events.d.ts +1 -1
  33. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -1
  34. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +2 -2
  35. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +2 -2
  36. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -1
  37. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -1
  38. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -1
  39. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -1
  40. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +2 -2
  41. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +2 -2
  42. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -1
  43. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -1
  44. package/dist/adapters/anthropic/backend/chat.d.cts +3 -3
  45. package/dist/adapters/anthropic/backend/chat.d.ts +3 -3
  46. package/dist/adapters/anthropic/backend/chat.js.map +1 -1
  47. package/dist/adapters/anthropic/backend/client.cjs.map +1 -1
  48. package/dist/adapters/anthropic/backend/client.js.map +1 -1
  49. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -1
  50. package/dist/adapters/anthropic/backend/embedding.d.cts +2 -2
  51. package/dist/adapters/anthropic/backend/embedding.d.ts +2 -2
  52. package/dist/adapters/anthropic/backend/embedding.js.map +1 -1
  53. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -1
  54. package/dist/adapters/azure-openai/backend/chat.d.cts +3 -3
  55. package/dist/adapters/azure-openai/backend/chat.d.ts +3 -3
  56. package/dist/adapters/azure-openai/backend/chat.js.map +1 -1
  57. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -1
  58. package/dist/adapters/azure-openai/backend/client.js.map +1 -1
  59. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -1
  60. package/dist/adapters/azure-openai/backend/embedding.d.cts +2 -2
  61. package/dist/adapters/azure-openai/backend/embedding.d.ts +2 -2
  62. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -1
  63. package/dist/adapters/dummy/backend/chat.cjs.map +1 -1
  64. package/dist/adapters/dummy/backend/chat.d.cts +2 -2
  65. package/dist/adapters/dummy/backend/chat.d.ts +2 -2
  66. package/dist/adapters/dummy/backend/chat.js.map +1 -1
  67. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -1
  68. package/dist/adapters/dummy/backend/embedding.d.cts +2 -2
  69. package/dist/adapters/dummy/backend/embedding.d.ts +2 -2
  70. package/dist/adapters/dummy/backend/embedding.js.map +1 -1
  71. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -1
  72. package/dist/adapters/google-vertex/backend/chat.d.cts +3 -3
  73. package/dist/adapters/google-vertex/backend/chat.d.ts +3 -3
  74. package/dist/adapters/google-vertex/backend/chat.js.map +1 -1
  75. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -1
  76. package/dist/adapters/google-vertex/backend/client.js.map +1 -1
  77. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -1
  78. package/dist/adapters/google-vertex/backend/embedding.d.cts +2 -2
  79. package/dist/adapters/google-vertex/backend/embedding.d.ts +2 -2
  80. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -1
  81. package/dist/adapters/groq/backend/chat.cjs.map +1 -1
  82. package/dist/adapters/groq/backend/chat.d.cts +3 -3
  83. package/dist/adapters/groq/backend/chat.d.ts +3 -3
  84. package/dist/adapters/groq/backend/chat.js.map +1 -1
  85. package/dist/adapters/groq/backend/client.cjs.map +1 -1
  86. package/dist/adapters/groq/backend/client.js.map +1 -1
  87. package/dist/adapters/groq/backend/embedding.cjs.map +1 -1
  88. package/dist/adapters/groq/backend/embedding.d.cts +2 -2
  89. package/dist/adapters/groq/backend/embedding.d.ts +2 -2
  90. package/dist/adapters/groq/backend/embedding.js.map +1 -1
  91. package/dist/adapters/langchain/backend/chat.cjs +6 -28
  92. package/dist/adapters/langchain/backend/chat.cjs.map +1 -1
  93. package/dist/adapters/langchain/backend/chat.d.cts +6 -5
  94. package/dist/adapters/langchain/backend/chat.d.ts +6 -5
  95. package/dist/adapters/langchain/backend/chat.js +6 -28
  96. package/dist/adapters/langchain/backend/chat.js.map +1 -1
  97. package/dist/adapters/langchain/backend/embedding.cjs +3 -2
  98. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -1
  99. package/dist/adapters/langchain/backend/embedding.d.cts +3 -3
  100. package/dist/adapters/langchain/backend/embedding.d.ts +3 -3
  101. package/dist/adapters/langchain/backend/embedding.js +3 -2
  102. package/dist/adapters/langchain/backend/embedding.js.map +1 -1
  103. package/dist/adapters/langchain/backend/utils.cjs +328 -0
  104. package/dist/adapters/langchain/backend/utils.cjs.map +1 -0
  105. package/dist/adapters/langchain/backend/utils.d.cts +39 -0
  106. package/dist/adapters/langchain/backend/utils.d.ts +39 -0
  107. package/dist/adapters/langchain/backend/utils.js +324 -0
  108. package/dist/adapters/langchain/backend/utils.js.map +1 -0
  109. package/dist/adapters/langchain/tools.cjs.map +1 -1
  110. package/dist/adapters/langchain/tools.d.cts +2 -2
  111. package/dist/adapters/langchain/tools.d.ts +2 -2
  112. package/dist/adapters/langchain/tools.js.map +1 -1
  113. package/dist/adapters/mcp/serve/http_server.cjs.map +1 -1
  114. package/dist/adapters/mcp/serve/http_server.js.map +1 -1
  115. package/dist/adapters/mcp/serve/in_memory_store.cjs.map +1 -1
  116. package/dist/adapters/mcp/serve/in_memory_store.js.map +1 -1
  117. package/dist/adapters/mcp/serve/server.cjs.map +1 -1
  118. package/dist/adapters/mcp/serve/server.js.map +1 -1
  119. package/dist/adapters/minimax/backend/chat.cjs +25 -0
  120. package/dist/adapters/minimax/backend/chat.cjs.map +1 -0
  121. package/dist/adapters/minimax/backend/chat.d.cts +38 -0
  122. package/dist/adapters/minimax/backend/chat.d.ts +38 -0
  123. package/dist/adapters/minimax/backend/chat.js +23 -0
  124. package/dist/adapters/minimax/backend/chat.js.map +1 -0
  125. package/dist/adapters/minimax/backend/client.cjs +31 -0
  126. package/dist/adapters/minimax/backend/client.cjs.map +1 -0
  127. package/dist/adapters/minimax/backend/client.d.cts +17 -0
  128. package/dist/adapters/minimax/backend/client.d.ts +17 -0
  129. package/dist/adapters/minimax/backend/client.js +29 -0
  130. package/dist/adapters/minimax/backend/client.js.map +1 -0
  131. package/dist/adapters/ollama/backend/chat.cjs.map +1 -1
  132. package/dist/adapters/ollama/backend/chat.d.cts +2 -2
  133. package/dist/adapters/ollama/backend/chat.d.ts +2 -2
  134. package/dist/adapters/ollama/backend/chat.js.map +1 -1
  135. package/dist/adapters/ollama/backend/client.cjs.map +1 -1
  136. package/dist/adapters/ollama/backend/client.js.map +1 -1
  137. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -1
  138. package/dist/adapters/ollama/backend/embedding.d.cts +2 -2
  139. package/dist/adapters/ollama/backend/embedding.d.ts +2 -2
  140. package/dist/adapters/ollama/backend/embedding.js.map +1 -1
  141. package/dist/adapters/openai/backend/chat.cjs.map +1 -1
  142. package/dist/adapters/openai/backend/chat.d.cts +2 -2
  143. package/dist/adapters/openai/backend/chat.d.ts +2 -2
  144. package/dist/adapters/openai/backend/chat.js.map +1 -1
  145. package/dist/adapters/openai/backend/client.cjs.map +1 -1
  146. package/dist/adapters/openai/backend/client.js.map +1 -1
  147. package/dist/adapters/openai/backend/embedding.cjs.map +1 -1
  148. package/dist/adapters/openai/backend/embedding.d.cts +2 -2
  149. package/dist/adapters/openai/backend/embedding.d.ts +2 -2
  150. package/dist/adapters/openai/backend/embedding.js.map +1 -1
  151. package/dist/adapters/vercel/backend/chat.cjs.map +1 -1
  152. package/dist/adapters/vercel/backend/chat.d.cts +2 -2
  153. package/dist/adapters/vercel/backend/chat.d.ts +2 -2
  154. package/dist/adapters/vercel/backend/chat.js.map +1 -1
  155. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -1
  156. package/dist/adapters/vercel/backend/embedding.d.cts +2 -2
  157. package/dist/adapters/vercel/backend/embedding.d.ts +2 -2
  158. package/dist/adapters/vercel/backend/embedding.js.map +1 -1
  159. package/dist/adapters/vercel/backend/utils.cjs.map +1 -1
  160. package/dist/adapters/vercel/backend/utils.d.cts +2 -2
  161. package/dist/adapters/vercel/backend/utils.d.ts +2 -2
  162. package/dist/adapters/vercel/backend/utils.js.map +1 -1
  163. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -1
  164. package/dist/adapters/watsonx/backend/chat.d.cts +2 -2
  165. package/dist/adapters/watsonx/backend/chat.d.ts +2 -2
  166. package/dist/adapters/watsonx/backend/chat.js +1 -1
  167. package/dist/adapters/watsonx/backend/chat.js.map +1 -1
  168. package/dist/adapters/watsonx/backend/client.cjs.map +1 -1
  169. package/dist/adapters/watsonx/backend/client.js.map +1 -1
  170. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -1
  171. package/dist/adapters/watsonx/backend/embedding.d.cts +2 -2
  172. package/dist/adapters/watsonx/backend/embedding.d.ts +2 -2
  173. package/dist/adapters/watsonx/backend/embedding.js.map +1 -1
  174. package/dist/adapters/xai/backend/chat.cjs.map +1 -1
  175. package/dist/adapters/xai/backend/chat.d.cts +2 -2
  176. package/dist/adapters/xai/backend/chat.d.ts +2 -2
  177. package/dist/adapters/xai/backend/chat.js.map +1 -1
  178. package/dist/adapters/xai/backend/client.cjs.map +1 -1
  179. package/dist/adapters/xai/backend/client.js.map +1 -1
  180. package/dist/{agent-BAVf6-xf.d.ts → agent-s3uhvAba.d.ts} +5 -5
  181. package/dist/{agent-DHO-oJQf.d.cts → agent-zfT__iq9.d.cts} +5 -5
  182. package/dist/agents/base.cjs.map +1 -1
  183. package/dist/agents/base.d.cts +2 -2
  184. package/dist/agents/base.d.ts +2 -2
  185. package/dist/agents/base.js.map +1 -1
  186. package/dist/agents/experimental/replan/agent.cjs.map +1 -1
  187. package/dist/agents/experimental/replan/agent.d.cts +3 -3
  188. package/dist/agents/experimental/replan/agent.d.ts +3 -3
  189. package/dist/agents/experimental/replan/agent.js.map +1 -1
  190. package/dist/agents/experimental/replan/prompts.cjs.map +1 -1
  191. package/dist/agents/experimental/replan/prompts.d.cts +1 -1
  192. package/dist/agents/experimental/replan/prompts.d.ts +1 -1
  193. package/dist/agents/experimental/replan/prompts.js.map +1 -1
  194. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -1
  195. package/dist/agents/experimental/streamlit/agent.d.cts +3 -3
  196. package/dist/agents/experimental/streamlit/agent.d.ts +3 -3
  197. package/dist/agents/experimental/streamlit/agent.js.map +1 -1
  198. package/dist/agents/experimental/streamlit/prompts.cjs +2 -2
  199. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -1
  200. package/dist/agents/experimental/streamlit/prompts.js +2 -2
  201. package/dist/agents/experimental/streamlit/prompts.js.map +1 -1
  202. package/dist/agents/react/agent.cjs +6 -6
  203. package/dist/agents/react/agent.cjs.map +1 -1
  204. package/dist/agents/react/agent.d.cts +4 -4
  205. package/dist/agents/react/agent.d.ts +4 -4
  206. package/dist/agents/react/agent.js.map +1 -1
  207. package/dist/agents/react/prompts.cjs.map +1 -1
  208. package/dist/agents/react/prompts.d.cts +1 -1
  209. package/dist/agents/react/prompts.d.ts +1 -1
  210. package/dist/agents/react/prompts.js.map +1 -1
  211. package/dist/agents/react/runners/base.cjs.map +1 -1
  212. package/dist/agents/react/runners/base.d.cts +4 -4
  213. package/dist/agents/react/runners/base.d.ts +4 -4
  214. package/dist/agents/react/runners/base.js.map +1 -1
  215. package/dist/agents/react/runners/deep-think/prompts.cjs.map +1 -1
  216. package/dist/agents/react/runners/deep-think/prompts.d.cts +1 -1
  217. package/dist/agents/react/runners/deep-think/prompts.d.ts +1 -1
  218. package/dist/agents/react/runners/deep-think/prompts.js.map +1 -1
  219. package/dist/agents/react/runners/deep-think/runner.cjs.map +1 -1
  220. package/dist/agents/react/runners/deep-think/runner.d.cts +5 -5
  221. package/dist/agents/react/runners/deep-think/runner.d.ts +5 -5
  222. package/dist/agents/react/runners/deep-think/runner.js.map +1 -1
  223. package/dist/agents/react/runners/default/runner.cjs.map +1 -1
  224. package/dist/agents/react/runners/default/runner.d.cts +5 -5
  225. package/dist/agents/react/runners/default/runner.d.ts +5 -5
  226. package/dist/agents/react/runners/default/runner.js.map +1 -1
  227. package/dist/agents/react/runners/default/runner.spec.cjs.map +1 -1
  228. package/dist/agents/react/runners/default/runner.spec.js.map +1 -1
  229. package/dist/agents/react/runners/granite/prompts.cjs.map +1 -1
  230. package/dist/agents/react/runners/granite/prompts.d.cts +1 -1
  231. package/dist/agents/react/runners/granite/prompts.d.ts +1 -1
  232. package/dist/agents/react/runners/granite/prompts.js.map +1 -1
  233. package/dist/agents/react/runners/granite/runner.cjs.map +1 -1
  234. package/dist/agents/react/runners/granite/runner.d.cts +5 -5
  235. package/dist/agents/react/runners/granite/runner.d.ts +5 -5
  236. package/dist/agents/react/runners/granite/runner.js.map +1 -1
  237. package/dist/agents/react/types.d.cts +2 -2
  238. package/dist/agents/react/types.d.ts +2 -2
  239. package/dist/agents/requirement/agent.cjs.map +1 -1
  240. package/dist/agents/requirement/agent.d.cts +5 -5
  241. package/dist/agents/requirement/agent.d.ts +5 -5
  242. package/dist/agents/requirement/agent.js.map +1 -1
  243. package/dist/agents/requirement/prompts.d.cts +2 -2
  244. package/dist/agents/requirement/prompts.d.ts +2 -2
  245. package/dist/agents/requirement/requirements/conditional.cjs.map +1 -1
  246. package/dist/agents/requirement/requirements/conditional.d.cts +5 -5
  247. package/dist/agents/requirement/requirements/conditional.d.ts +5 -5
  248. package/dist/agents/requirement/requirements/conditional.js.map +1 -1
  249. package/dist/agents/requirement/requirements/requirement.cjs.map +1 -1
  250. package/dist/agents/requirement/requirements/requirement.d.cts +4 -4
  251. package/dist/agents/requirement/requirements/requirement.d.ts +4 -4
  252. package/dist/agents/requirement/requirements/requirement.js.map +1 -1
  253. package/dist/agents/requirement/requirements/utils.cjs.map +1 -1
  254. package/dist/agents/requirement/requirements/utils.d.cts +1 -1
  255. package/dist/agents/requirement/requirements/utils.d.ts +1 -1
  256. package/dist/agents/requirement/requirements/utils.js.map +1 -1
  257. package/dist/agents/requirement/runner.cjs.map +1 -1
  258. package/dist/agents/requirement/runner.d.cts +5 -5
  259. package/dist/agents/requirement/runner.d.ts +5 -5
  260. package/dist/agents/requirement/runner.js.map +1 -1
  261. package/dist/agents/requirement/types.d.cts +4 -4
  262. package/dist/agents/requirement/types.d.ts +4 -4
  263. package/dist/agents/requirement/utils/llm.cjs.map +1 -1
  264. package/dist/agents/requirement/utils/llm.d.cts +4 -4
  265. package/dist/agents/requirement/utils/llm.d.ts +4 -4
  266. package/dist/agents/requirement/utils/llm.js.map +1 -1
  267. package/dist/agents/requirement/utils/tool.cjs.map +1 -1
  268. package/dist/agents/requirement/utils/tool.d.cts +4 -4
  269. package/dist/agents/requirement/utils/tool.d.ts +4 -4
  270. package/dist/agents/requirement/utils/tool.js.map +1 -1
  271. package/dist/agents/requirement/utils/toolCallChecker.cjs.map +1 -1
  272. package/dist/agents/requirement/utils/toolCallChecker.js.map +1 -1
  273. package/dist/agents/toolCalling/agent.cjs.map +1 -1
  274. package/dist/agents/toolCalling/agent.d.cts +4 -4
  275. package/dist/agents/toolCalling/agent.d.ts +4 -4
  276. package/dist/agents/toolCalling/agent.js.map +1 -1
  277. package/dist/agents/toolCalling/prompts.cjs.map +1 -1
  278. package/dist/agents/toolCalling/prompts.js.map +1 -1
  279. package/dist/agents/toolCalling/types.d.cts +1 -1
  280. package/dist/agents/toolCalling/types.d.ts +1 -1
  281. package/dist/agents/types.d.cts +2 -2
  282. package/dist/agents/types.d.ts +2 -2
  283. package/dist/backend/backend.cjs.map +1 -1
  284. package/dist/backend/backend.d.cts +3 -3
  285. package/dist/backend/backend.d.ts +3 -3
  286. package/dist/backend/backend.js.map +1 -1
  287. package/dist/backend/chat.cjs.map +1 -1
  288. package/dist/backend/chat.d.cts +2 -2
  289. package/dist/backend/chat.d.ts +2 -2
  290. package/dist/backend/chat.js.map +1 -1
  291. package/dist/backend/client.cjs.map +1 -1
  292. package/dist/backend/client.js.map +1 -1
  293. package/dist/backend/constants.cjs +7 -0
  294. package/dist/backend/constants.cjs.map +1 -1
  295. package/dist/backend/constants.d.cts +5 -0
  296. package/dist/backend/constants.d.ts +5 -0
  297. package/dist/backend/constants.js +7 -0
  298. package/dist/backend/constants.js.map +1 -1
  299. package/dist/backend/core.d.cts +2 -2
  300. package/dist/backend/core.d.ts +2 -2
  301. package/dist/backend/embedding.cjs.map +1 -1
  302. package/dist/backend/embedding.d.cts +2 -2
  303. package/dist/backend/embedding.d.ts +2 -2
  304. package/dist/backend/embedding.js.map +1 -1
  305. package/dist/backend/errors.cjs.map +1 -1
  306. package/dist/backend/errors.d.cts +2 -2
  307. package/dist/backend/errors.d.ts +2 -2
  308. package/dist/backend/errors.js.map +1 -1
  309. package/dist/backend/message.cjs.map +1 -1
  310. package/dist/backend/message.js.map +1 -1
  311. package/dist/backend/utils.cjs.map +1 -1
  312. package/dist/backend/utils.d.cts +2 -2
  313. package/dist/backend/utils.d.ts +2 -2
  314. package/dist/backend/utils.js.map +1 -1
  315. package/dist/{base-BfhNzUYf.d.ts → base-BjzyQ8k6.d.ts} +2 -2
  316. package/dist/{base-BqzN2QwB.d.cts → base-s3ioVIE9.d.cts} +2 -2
  317. package/dist/cache/decoratorCache.cjs.map +1 -1
  318. package/dist/cache/decoratorCache.js.map +1 -1
  319. package/dist/cache/fileCache.cjs.map +1 -1
  320. package/dist/cache/fileCache.js.map +1 -1
  321. package/dist/cache/nullCache.cjs.map +1 -1
  322. package/dist/cache/nullCache.js.map +1 -1
  323. package/dist/cache/slidingCache.cjs.map +1 -1
  324. package/dist/cache/slidingCache.js.map +1 -1
  325. package/dist/cache/unconstrainedCache.cjs.map +1 -1
  326. package/dist/cache/unconstrainedCache.js.map +1 -1
  327. package/dist/{chat-DaqV3woF.d.cts → chat-C20nYj46.d.cts} +3 -3
  328. package/dist/{chat-DTxmaKP0.d.ts → chat-CfTNfR60.d.ts} +3 -3
  329. package/dist/context.cjs.map +1 -1
  330. package/dist/context.d.cts +1 -1
  331. package/dist/context.d.ts +1 -1
  332. package/dist/context.js.map +1 -1
  333. package/dist/emitter/emitter.cjs.map +1 -1
  334. package/dist/emitter/emitter.d.cts +1 -1
  335. package/dist/emitter/emitter.d.ts +1 -1
  336. package/dist/emitter/emitter.js.map +1 -1
  337. package/dist/emitter/types.d.cts +1 -1
  338. package/dist/emitter/types.d.ts +1 -1
  339. package/dist/emitter/utils.cjs.map +1 -1
  340. package/dist/emitter/utils.js.map +1 -1
  341. package/dist/{emitter-UkIkNrek.d.cts → emitter-D4OcelZ9.d.cts} +2 -2
  342. package/dist/{emitter-CL56qab4.d.ts → emitter-kHxkUxco.d.ts} +2 -2
  343. package/dist/errors.cjs.map +1 -1
  344. package/dist/errors.js.map +1 -1
  345. package/dist/index.d.cts +4 -4
  346. package/dist/index.d.ts +4 -4
  347. package/dist/internals/env.cjs.map +1 -1
  348. package/dist/internals/env.js.map +1 -1
  349. package/dist/internals/fetcher.cjs.map +1 -1
  350. package/dist/internals/fetcher.d.cts +1 -1
  351. package/dist/internals/fetcher.d.ts +1 -1
  352. package/dist/internals/fetcher.js.map +1 -1
  353. package/dist/internals/helpers/array.cjs.map +1 -1
  354. package/dist/internals/helpers/array.js.map +1 -1
  355. package/dist/internals/helpers/cancellation.cjs.map +1 -1
  356. package/dist/internals/helpers/cancellation.js.map +1 -1
  357. package/dist/internals/helpers/counter.cjs.map +1 -1
  358. package/dist/internals/helpers/counter.js.map +1 -1
  359. package/dist/internals/helpers/general.cjs.map +1 -1
  360. package/dist/internals/helpers/general.js.map +1 -1
  361. package/dist/internals/helpers/hash.cjs.map +1 -1
  362. package/dist/internals/helpers/hash.js.map +1 -1
  363. package/dist/internals/helpers/map.cjs.map +1 -1
  364. package/dist/internals/helpers/map.js.map +1 -1
  365. package/dist/internals/helpers/math.cjs.map +1 -1
  366. package/dist/internals/helpers/math.js.map +1 -1
  367. package/dist/internals/helpers/object.cjs +7 -1
  368. package/dist/internals/helpers/object.cjs.map +1 -1
  369. package/dist/internals/helpers/object.js +7 -1
  370. package/dist/internals/helpers/object.js.map +1 -1
  371. package/dist/internals/helpers/paginate.cjs.map +1 -1
  372. package/dist/internals/helpers/paginate.js.map +1 -1
  373. package/dist/internals/helpers/promise.cjs.map +1 -1
  374. package/dist/internals/helpers/promise.js.map +1 -1
  375. package/dist/internals/helpers/prototype.cjs.map +1 -1
  376. package/dist/internals/helpers/prototype.js.map +1 -1
  377. package/dist/internals/helpers/retry.cjs.map +1 -1
  378. package/dist/internals/helpers/retry.js.map +1 -1
  379. package/dist/internals/helpers/retryable.cjs.map +1 -1
  380. package/dist/internals/helpers/retryable.js.map +1 -1
  381. package/dist/internals/helpers/schema.cjs.map +1 -1
  382. package/dist/internals/helpers/schema.d.cts +4 -4
  383. package/dist/internals/helpers/schema.d.ts +4 -4
  384. package/dist/internals/helpers/schema.js.map +1 -1
  385. package/dist/internals/helpers/stream.cjs.map +1 -1
  386. package/dist/internals/helpers/stream.js.map +1 -1
  387. package/dist/internals/helpers/string.cjs.map +1 -1
  388. package/dist/internals/helpers/string.js.map +1 -1
  389. package/dist/internals/helpers/weakRef.cjs.map +1 -1
  390. package/dist/internals/helpers/weakRef.js.map +1 -1
  391. package/dist/internals/serializable.cjs +3 -1
  392. package/dist/internals/serializable.cjs.map +1 -1
  393. package/dist/internals/serializable.d.cts +6 -0
  394. package/dist/internals/serializable.d.ts +6 -0
  395. package/dist/internals/serializable.js +3 -1
  396. package/dist/internals/serializable.js.map +1 -1
  397. package/dist/internals/types.cjs.map +1 -1
  398. package/dist/internals/types.js.map +1 -1
  399. package/dist/logger/logger.cjs.map +1 -1
  400. package/dist/logger/logger.d.cts +2 -2
  401. package/dist/logger/logger.d.ts +2 -2
  402. package/dist/logger/logger.js +2 -2
  403. package/dist/logger/logger.js.map +1 -1
  404. package/dist/logger/pretty.cjs.map +1 -1
  405. package/dist/logger/pretty.js.map +1 -1
  406. package/dist/memory/base.cjs.map +1 -1
  407. package/dist/memory/base.js.map +1 -1
  408. package/dist/memory/slidingMemory.cjs.map +1 -1
  409. package/dist/memory/slidingMemory.js.map +1 -1
  410. package/dist/memory/summarizeMemory.cjs.map +1 -1
  411. package/dist/memory/summarizeMemory.d.cts +2 -2
  412. package/dist/memory/summarizeMemory.d.ts +2 -2
  413. package/dist/memory/summarizeMemory.js.map +1 -1
  414. package/dist/memory/tokenMemory.cjs.map +1 -1
  415. package/dist/memory/tokenMemory.js.map +1 -1
  416. package/dist/memory/unconstrainedMemory.cjs.map +1 -1
  417. package/dist/memory/unconstrainedMemory.js.map +1 -1
  418. package/dist/middleware/streamToolCall.cjs.map +1 -1
  419. package/dist/middleware/streamToolCall.d.cts +2 -2
  420. package/dist/middleware/streamToolCall.d.ts +2 -2
  421. package/dist/middleware/streamToolCall.js.map +1 -1
  422. package/dist/middleware/trajectory.cjs.map +1 -1
  423. package/dist/middleware/trajectory.d.cts +2 -2
  424. package/dist/middleware/trajectory.d.ts +2 -2
  425. package/dist/middleware/trajectory.js.map +1 -1
  426. package/dist/parsers/errors.cjs.map +1 -1
  427. package/dist/parsers/errors.js.map +1 -1
  428. package/dist/parsers/field.cjs.map +1 -1
  429. package/dist/parsers/field.js.map +1 -1
  430. package/dist/parsers/linePrefix.cjs.map +1 -1
  431. package/dist/parsers/linePrefix.d.cts +1 -1
  432. package/dist/parsers/linePrefix.d.ts +1 -1
  433. package/dist/parsers/linePrefix.js.map +1 -1
  434. package/dist/serializer/error.cjs.map +1 -1
  435. package/dist/serializer/error.js.map +1 -1
  436. package/dist/serializer/serializer.cjs +16 -3
  437. package/dist/serializer/serializer.cjs.map +1 -1
  438. package/dist/serializer/serializer.d.cts +1 -1
  439. package/dist/serializer/serializer.d.ts +1 -1
  440. package/dist/serializer/serializer.js +16 -4
  441. package/dist/serializer/serializer.js.map +1 -1
  442. package/dist/serializer/utils.cjs.map +1 -1
  443. package/dist/serializer/utils.d.cts +1 -1
  444. package/dist/serializer/utils.d.ts +1 -1
  445. package/dist/serializer/utils.js.map +1 -1
  446. package/dist/{serializer-53t8gGQa.d.ts → serializer-BafOT48s.d.ts} +10 -4
  447. package/dist/{serializer-c51B2z6d.d.cts → serializer-CFDWYUco.d.cts} +10 -4
  448. package/dist/serve/server.cjs.map +1 -1
  449. package/dist/serve/server.js.map +1 -1
  450. package/dist/template.cjs.map +1 -1
  451. package/dist/template.js.map +1 -1
  452. package/dist/tools/arxiv.cjs.map +1 -1
  453. package/dist/tools/arxiv.d.cts +2 -2
  454. package/dist/tools/arxiv.d.ts +2 -2
  455. package/dist/tools/arxiv.js.map +1 -1
  456. package/dist/tools/base.cjs.map +1 -1
  457. package/dist/tools/base.d.cts +1 -1
  458. package/dist/tools/base.d.ts +1 -1
  459. package/dist/tools/base.js.map +1 -1
  460. package/dist/tools/calculator.cjs.map +1 -1
  461. package/dist/tools/calculator.d.cts +3 -3
  462. package/dist/tools/calculator.d.ts +3 -3
  463. package/dist/tools/calculator.js.map +1 -1
  464. package/dist/tools/custom.cjs.map +1 -1
  465. package/dist/tools/custom.d.cts +3 -3
  466. package/dist/tools/custom.d.ts +3 -3
  467. package/dist/tools/custom.js.map +1 -1
  468. package/dist/tools/database/elasticsearch.cjs.map +1 -1
  469. package/dist/tools/database/elasticsearch.d.cts +3 -3
  470. package/dist/tools/database/elasticsearch.d.ts +3 -3
  471. package/dist/tools/database/elasticsearch.js.map +1 -1
  472. package/dist/tools/database/metadata.cjs.map +1 -1
  473. package/dist/tools/database/metadata.js.map +1 -1
  474. package/dist/tools/database/milvus.cjs.map +1 -1
  475. package/dist/tools/database/milvus.d.cts +3 -3
  476. package/dist/tools/database/milvus.d.ts +3 -3
  477. package/dist/tools/database/milvus.js.map +1 -1
  478. package/dist/tools/database/qdrant.cjs.map +1 -1
  479. package/dist/tools/database/qdrant.d.cts +2 -2
  480. package/dist/tools/database/qdrant.d.ts +2 -2
  481. package/dist/tools/database/qdrant.js.map +1 -1
  482. package/dist/tools/database/sql.cjs.map +1 -1
  483. package/dist/tools/database/sql.d.cts +2 -2
  484. package/dist/tools/database/sql.d.ts +2 -2
  485. package/dist/tools/database/sql.js.map +1 -1
  486. package/dist/tools/handoff.cjs.map +1 -1
  487. package/dist/tools/handoff.d.cts +2 -2
  488. package/dist/tools/handoff.d.ts +2 -2
  489. package/dist/tools/handoff.js.map +1 -1
  490. package/dist/tools/llm.cjs +1 -1
  491. package/dist/tools/llm.cjs.map +1 -1
  492. package/dist/tools/llm.d.cts +3 -3
  493. package/dist/tools/llm.d.ts +3 -3
  494. package/dist/tools/llm.js +1 -1
  495. package/dist/tools/llm.js.map +1 -1
  496. package/dist/tools/mcp.cjs.map +1 -1
  497. package/dist/tools/mcp.d.cts +2 -2
  498. package/dist/tools/mcp.d.ts +2 -2
  499. package/dist/tools/mcp.js.map +1 -1
  500. package/dist/tools/openapi.cjs.map +1 -1
  501. package/dist/tools/openapi.d.cts +2 -2
  502. package/dist/tools/openapi.d.ts +2 -2
  503. package/dist/tools/openapi.js.map +1 -1
  504. package/dist/tools/python/output.cjs.map +1 -1
  505. package/dist/tools/python/output.d.cts +1 -1
  506. package/dist/tools/python/output.d.ts +1 -1
  507. package/dist/tools/python/output.js.map +1 -1
  508. package/dist/tools/python/python.cjs +5 -2
  509. package/dist/tools/python/python.cjs.map +1 -1
  510. package/dist/tools/python/python.d.cts +3 -3
  511. package/dist/tools/python/python.d.ts +3 -3
  512. package/dist/tools/python/python.js +5 -2
  513. package/dist/tools/python/python.js.map +1 -1
  514. package/dist/tools/python/storage.cjs.map +1 -1
  515. package/dist/tools/python/storage.js.map +1 -1
  516. package/dist/tools/search/base.cjs.map +1 -1
  517. package/dist/tools/search/base.d.cts +2 -2
  518. package/dist/tools/search/base.d.ts +2 -2
  519. package/dist/tools/search/base.js.map +1 -1
  520. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -1
  521. package/dist/tools/search/duckDuckGoSearch.d.cts +2 -2
  522. package/dist/tools/search/duckDuckGoSearch.d.ts +2 -2
  523. package/dist/tools/search/duckDuckGoSearch.js.map +1 -1
  524. package/dist/tools/search/googleSearch.cjs.map +1 -1
  525. package/dist/tools/search/googleSearch.d.cts +2 -2
  526. package/dist/tools/search/googleSearch.d.ts +2 -2
  527. package/dist/tools/search/googleSearch.js.map +1 -1
  528. package/dist/tools/search/searXNGSearch.cjs.map +1 -1
  529. package/dist/tools/search/searXNGSearch.d.cts +2 -2
  530. package/dist/tools/search/searXNGSearch.d.ts +2 -2
  531. package/dist/tools/search/searXNGSearch.js.map +1 -1
  532. package/dist/tools/search/wikipedia.cjs.map +1 -1
  533. package/dist/tools/search/wikipedia.d.cts +3 -3
  534. package/dist/tools/search/wikipedia.d.ts +3 -3
  535. package/dist/tools/search/wikipedia.js.map +1 -1
  536. package/dist/tools/similarity.cjs.map +1 -1
  537. package/dist/tools/similarity.d.cts +2 -2
  538. package/dist/tools/similarity.d.ts +2 -2
  539. package/dist/tools/similarity.js.map +1 -1
  540. package/dist/tools/think.cjs.map +1 -1
  541. package/dist/tools/think.d.cts +2 -2
  542. package/dist/tools/think.d.ts +2 -2
  543. package/dist/tools/think.js.map +1 -1
  544. package/dist/tools/weather/openMeteo.cjs.map +1 -1
  545. package/dist/tools/weather/openMeteo.d.cts +2 -2
  546. package/dist/tools/weather/openMeteo.d.ts +2 -2
  547. package/dist/tools/weather/openMeteo.js.map +1 -1
  548. package/dist/tools/web/webCrawler.cjs.map +1 -1
  549. package/dist/tools/web/webCrawler.d.cts +2 -2
  550. package/dist/tools/web/webCrawler.d.ts +2 -2
  551. package/dist/tools/web/webCrawler.js.map +1 -1
  552. package/dist/{types-YoNQSxQH.d.cts → types-BNsa3W7Z.d.cts} +4 -4
  553. package/dist/{types-YT-WdK3m.d.ts → types-DYtzF6ya.d.ts} +4 -4
  554. package/dist/version.cjs +1 -1
  555. package/dist/version.js +1 -1
  556. package/dist/workflows/agent.cjs.map +1 -1
  557. package/dist/workflows/agent.d.cts +40 -40
  558. package/dist/workflows/agent.d.ts +40 -40
  559. package/dist/workflows/agent.js.map +1 -1
  560. package/dist/workflows/workflow.cjs.map +1 -1
  561. package/dist/workflows/workflow.d.cts +1 -1
  562. package/dist/workflows/workflow.d.ts +1 -1
  563. package/dist/workflows/workflow.js.map +1 -1
  564. package/package.json +38 -15
@@ -2,7 +2,7 @@ import { FrameworkError } from '../errors.js';
2
2
  import { Serializable } from './serializable.js';
3
3
  import { EventSourceMessage } from '@ai-zen/node-fetch-event-source';
4
4
  import { FetchEventSourceInit } from '@ai-zen/node-fetch-event-source/lib/cjs/fetch.js';
5
- import { C as Callback, E as Emitter } from '../emitter-CL56qab4.js';
5
+ import { E as Emitter, C as Callback } from '../emitter-kHxkUxco.js';
6
6
  import './types.js';
7
7
  import './helpers/guards.js';
8
8
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/internals/fetcher.ts"],"names":["RestfulClientError","FrameworkError","createURLParams","data","urlTokenParams","URLSearchParams","key","value","Object","entries","undefined","Array","isArray","forEach","v","append","String","isPlainObject","set","toString","RestfulClient","Serializable","emitter","Emitter","root","child","namespace","creator","input","stream","path","init","groupId","url","getUrl","options","method","headers","getHeaders","emit","emitterToGenerator","fetchEventSource","onopen","response","contentType","get","ok","includes","EventStreamContentType","context","err","text","isRetryable","status","onmessage","msg","event","onclose","onerror","then","catch","error","doNothing","finally","fetch","target","searchParams","json","extra","final","override","filter","isTruthy","Headers","assign","fromEntries","URL","baseUrl","extraPath","paths","pathname","endsWith","replace","createSnapshot","shallowCopy","loadSnapshot","snapshot"],"mappings":"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","file":"fetcher.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport {\n EventSourceMessage,\n EventStreamContentType,\n fetchEventSource,\n} from \"@ai-zen/node-fetch-event-source\";\nimport { FetchEventSourceInit } from \"@ai-zen/node-fetch-event-source/lib/cjs/fetch.js\";\nimport { emitterToGenerator } from \"@/internals/helpers/promise.js\";\nimport { doNothing, isArray, isPlainObject, isTruthy } from \"remeda\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class RestfulClientError extends FrameworkError {}\n\ntype URLParamType = string | number | boolean | null | undefined;\nexport function createURLParams(\n data: Record<string, URLParamType | URLParamType[] | Record<string, any>>,\n) {\n const urlTokenParams = new URLSearchParams();\n for (const [key, value] of Object.entries(data)) {\n if (value === undefined) {\n continue;\n }\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n if (v !== undefined) {\n urlTokenParams.append(key, String(v));\n }\n });\n } else if (isPlainObject(value)) {\n urlTokenParams.set(key, createURLParams(value).toString());\n } else {\n urlTokenParams.set(key, String(value));\n }\n }\n return urlTokenParams;\n}\n\ninterface FetchInput {\n url: string;\n options: RequestInit;\n}\n\nexport interface StreamInput {\n url: string;\n options: FetchEventSourceInit;\n}\n\nexport interface RestfulClientEvents {\n fetchStart: Callback<{ input: FetchInput }>;\n fetchError: Callback<{ error: Error; input: FetchInput }>;\n fetchSuccess: Callback<{ response: Response; data: any; input: FetchInput }>;\n fetchDone: Callback<{ input: FetchInput }>;\n\n streamStart: Callback<{ input: StreamInput }>;\n streamOpen: Callback<{ input: StreamInput }>;\n streamSuccess: Callback<{ input: StreamInput }>;\n streamMessage: Callback<{ data: EventSourceMessage; input: StreamInput }>;\n streamError: Callback<{ error: Error; input: StreamInput }>;\n streamDone: Callback<{ input: StreamInput }>;\n}\n\nexport class RestfulClient<K extends Record<string, string>> extends Serializable {\n public readonly emitter = Emitter.root.child<RestfulClientEvents>({\n namespace: [\"internals\", \"restfulClient\"],\n creator: this,\n });\n\n constructor(\n protected input: {\n baseUrl: string;\n headers?: () => Promise<HeadersInit>;\n paths: K;\n },\n ) {\n super();\n }\n\n async *stream(\n path: keyof K,\n init: FetchEventSourceInit,\n ): AsyncGenerator<EventSourceMessage, void, void> {\n const emitter = this.emitter.child({\n groupId: \"stream\",\n });\n\n const input: StreamInput = {\n url: this.getUrl(path).toString(),\n options: {\n method: \"POST\",\n ...init,\n headers: await this.getHeaders(init?.headers),\n },\n };\n await emitter.emit(\"streamStart\", { input });\n\n return yield* emitterToGenerator(async ({ emit }) =>\n fetchEventSource(input.url, {\n ...input.options,\n async onopen(response) {\n const contentType = response.headers.get(\"content-type\") || \"\";\n if (response.ok && contentType.includes(EventStreamContentType)) {\n await emitter.emit(\"streamOpen\", { input });\n return;\n }\n throw new RestfulClientError(\"Failed to stream!\", [], {\n context: {\n url: response.url,\n err: await response.text(),\n response,\n },\n isRetryable: response.status >= 400 && response.status < 500 && response.status !== 429,\n });\n },\n async onmessage(msg) {\n if (msg?.event === \"error\") {\n throw new RestfulClientError(`Error during streaming has occurred.`, [], {\n context: msg,\n });\n }\n await emitter.emit(\"streamMessage\", { input, data: msg });\n emit(msg);\n },\n onclose() {},\n onerror(err) {\n throw new RestfulClientError(`Error during streaming has occurred.`, [err]);\n },\n })\n .then(() => emitter.emit(\"streamSuccess\", { input }))\n .catch(async (error) => {\n await emitter.emit(\"streamError\", { input, error }).catch(doNothing());\n throw error;\n })\n .finally(() => emitter.emit(\"streamDone\", { input })),\n );\n }\n\n async fetch(path: keyof K, init?: RequestInit & { searchParams?: URLSearchParams }) {\n const emitter = this.emitter.child({\n groupId: \"fetch\",\n });\n\n const target = this.getUrl(path);\n if (init?.searchParams) {\n for (const [key, value] of init.searchParams) {\n target.searchParams.set(key, value);\n }\n }\n\n const input: FetchInput = {\n url: target.toString(),\n options: {\n ...init,\n headers: await this.getHeaders(init?.headers),\n },\n };\n\n await emitter.emit(\"fetchStart\", { input });\n try {\n const response = await fetch(input.url, input.options);\n\n if (!response.ok) {\n throw new RestfulClientError(\"Fetch has failed\", [], {\n context: {\n url: response.url,\n error: await response.text(),\n response,\n },\n isRetryable: [408, 503].includes(response.status ?? 500),\n });\n }\n\n const data = await response.json();\n await emitter.emit(\"fetchSuccess\", { response, data, input });\n return data;\n } catch (error) {\n await emitter.emit(\"fetchError\", { error, input: input });\n throw error;\n } finally {\n await emitter.emit(\"fetchDone\", { input: input });\n }\n }\n\n protected async getHeaders(extra?: HeadersInit): Promise<Record<string, string>> {\n const final = {};\n for (const override of [await this.input.headers?.(), extra].filter(isTruthy)) {\n if (isArray(override) || override instanceof Headers) {\n Object.assign(final, Object.fromEntries(override.entries()));\n } else {\n Object.assign(final, override);\n }\n }\n return final;\n }\n\n protected getUrl(path: keyof K): URL {\n const url = new URL(this.input.baseUrl);\n const extraPath = this.input.paths[path] ?? path;\n if (url.pathname.endsWith(\"/\")) {\n url.pathname += extraPath.replace(/^\\//, \"\");\n } else {\n url.pathname += extraPath;\n }\n return url;\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/internals/fetcher.ts"],"names":["RestfulClientError","FrameworkError","createURLParams","data","urlTokenParams","URLSearchParams","key","value","Object","entries","undefined","Array","isArray","forEach","v","append","String","isPlainObject","set","toString","RestfulClient","Serializable","emitter","Emitter","root","child","namespace","creator","input","stream","path","init","groupId","url","getUrl","options","method","headers","getHeaders","emit","emitterToGenerator","fetchEventSource","onopen","response","contentType","get","ok","includes","EventStreamContentType","context","err","text","isRetryable","status","onmessage","msg","event","onclose","onerror","then","catch","error","doNothing","finally","fetch","target","searchParams","json","extra","final","override","filter","isTruthy","Headers","assign","fromEntries","URL","baseUrl","extraPath","paths","pathname","endsWith","replace","createSnapshot","shallowCopy","loadSnapshot","snapshot"],"mappings":"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","file":"fetcher.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\nimport {\n EventSourceMessage,\n EventStreamContentType,\n fetchEventSource,\n} from \"@ai-zen/node-fetch-event-source\";\nimport { FetchEventSourceInit } from \"@ai-zen/node-fetch-event-source/lib/cjs/fetch.js\";\nimport { emitterToGenerator } from \"@/internals/helpers/promise.js\";\nimport { doNothing, isArray, isPlainObject, isTruthy } from \"remeda\";\nimport { Callback, Emitter } from \"@/emitter/emitter.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\n\nexport class RestfulClientError extends FrameworkError {}\n\ntype URLParamType = string | number | boolean | null | undefined;\nexport function createURLParams(\n data: Record<string, URLParamType | URLParamType[] | Record<string, any>>,\n) {\n const urlTokenParams = new URLSearchParams();\n for (const [key, value] of Object.entries(data)) {\n if (value === undefined) {\n continue;\n }\n\n if (Array.isArray(value)) {\n value.forEach((v) => {\n if (v !== undefined) {\n urlTokenParams.append(key, String(v));\n }\n });\n } else if (isPlainObject(value)) {\n urlTokenParams.set(key, createURLParams(value).toString());\n } else {\n urlTokenParams.set(key, String(value));\n }\n }\n return urlTokenParams;\n}\n\ninterface FetchInput {\n url: string;\n options: RequestInit;\n}\n\nexport interface StreamInput {\n url: string;\n options: FetchEventSourceInit;\n}\n\nexport interface RestfulClientEvents {\n fetchStart: Callback<{ input: FetchInput }>;\n fetchError: Callback<{ error: Error; input: FetchInput }>;\n fetchSuccess: Callback<{ response: Response; data: any; input: FetchInput }>;\n fetchDone: Callback<{ input: FetchInput }>;\n\n streamStart: Callback<{ input: StreamInput }>;\n streamOpen: Callback<{ input: StreamInput }>;\n streamSuccess: Callback<{ input: StreamInput }>;\n streamMessage: Callback<{ data: EventSourceMessage; input: StreamInput }>;\n streamError: Callback<{ error: Error; input: StreamInput }>;\n streamDone: Callback<{ input: StreamInput }>;\n}\n\nexport class RestfulClient<K extends Record<string, string>> extends Serializable {\n public readonly emitter = Emitter.root.child<RestfulClientEvents>({\n namespace: [\"internals\", \"restfulClient\"],\n creator: this,\n });\n\n constructor(\n protected input: {\n baseUrl: string;\n headers?: () => Promise<HeadersInit>;\n paths: K;\n },\n ) {\n super();\n }\n\n async *stream(\n path: keyof K,\n init: FetchEventSourceInit,\n ): AsyncGenerator<EventSourceMessage, void, void> {\n const emitter = this.emitter.child({\n groupId: \"stream\",\n });\n\n const input: StreamInput = {\n url: this.getUrl(path).toString(),\n options: {\n method: \"POST\",\n ...init,\n headers: await this.getHeaders(init?.headers),\n },\n };\n await emitter.emit(\"streamStart\", { input });\n\n return yield* emitterToGenerator(async ({ emit }) =>\n fetchEventSource(input.url, {\n ...input.options,\n async onopen(response) {\n const contentType = response.headers.get(\"content-type\") || \"\";\n if (response.ok && contentType.includes(EventStreamContentType)) {\n await emitter.emit(\"streamOpen\", { input });\n return;\n }\n throw new RestfulClientError(\"Failed to stream!\", [], {\n context: {\n url: response.url,\n err: await response.text(),\n response,\n },\n isRetryable: response.status >= 400 && response.status < 500 && response.status !== 429,\n });\n },\n async onmessage(msg) {\n if (msg?.event === \"error\") {\n throw new RestfulClientError(`Error during streaming has occurred.`, [], {\n context: msg,\n });\n }\n await emitter.emit(\"streamMessage\", { input, data: msg });\n emit(msg);\n },\n onclose() {},\n onerror(err) {\n throw new RestfulClientError(`Error during streaming has occurred.`, [err]);\n },\n })\n .then(() => emitter.emit(\"streamSuccess\", { input }))\n .catch(async (error) => {\n await emitter.emit(\"streamError\", { input, error }).catch(doNothing());\n throw error;\n })\n .finally(() => emitter.emit(\"streamDone\", { input })),\n );\n }\n\n async fetch(path: keyof K, init?: RequestInit & { searchParams?: URLSearchParams }) {\n const emitter = this.emitter.child({\n groupId: \"fetch\",\n });\n\n const target = this.getUrl(path);\n if (init?.searchParams) {\n for (const [key, value] of init.searchParams) {\n target.searchParams.set(key, value);\n }\n }\n\n const input: FetchInput = {\n url: target.toString(),\n options: {\n ...init,\n headers: await this.getHeaders(init?.headers),\n },\n };\n\n await emitter.emit(\"fetchStart\", { input });\n try {\n const response = await fetch(input.url, input.options);\n\n if (!response.ok) {\n throw new RestfulClientError(\"Fetch has failed\", [], {\n context: {\n url: response.url,\n error: await response.text(),\n response,\n },\n isRetryable: [408, 503].includes(response.status ?? 500),\n });\n }\n\n const data = await response.json();\n await emitter.emit(\"fetchSuccess\", { response, data, input });\n return data;\n } catch (error) {\n await emitter.emit(\"fetchError\", { error, input: input });\n throw error;\n } finally {\n await emitter.emit(\"fetchDone\", { input: input });\n }\n }\n\n protected async getHeaders(extra?: HeadersInit): Promise<Record<string, string>> {\n const final = {};\n for (const override of [await this.input.headers?.(), extra].filter(isTruthy)) {\n if (isArray(override) || override instanceof Headers) {\n Object.assign(final, Object.fromEntries(override.entries()));\n } else {\n Object.assign(final, override);\n }\n }\n return final;\n }\n\n protected getUrl(path: keyof K): URL {\n const url = new URL(this.input.baseUrl);\n const extraPath = this.input.paths[path] ?? path;\n if (url.pathname.endsWith(\"/\")) {\n url.pathname += extraPath.replace(/^\\//, \"\");\n } else {\n url.pathname += extraPath;\n }\n return url;\n }\n\n createSnapshot() {\n return {\n input: shallowCopy(this.input),\n emitter: this.emitter,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>): void {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":";;;;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAST,SAASG,UAAAA,CAAcC,OAAYC,QAAAA,EAAgC;AAKxE,EAAA,OAAO,IAAIC,MAAMF,KAAAA,EAAO;IACtBG,GAAAA,CAAIhB,MAAAA,EAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,EAAQ;AACnC,MAAA,MAAMC,KAAAA,gCAAcC,OAAAA,CAAQJ,GAAAA,CAAIhB,QAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,CAAAA,EAA3C,OAAA,CAAA;AAEd,MAAA,MAAMjB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAGrB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOkB,KAAAA,EAAAA;AACT;AAEA,MAAA,MAAMI,KAAAA,GAAQ,EAAEN,QAAAA,IAAYjB,MAAAA,CAAAA;AAC5B,MAAA,MAAMwB,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,SAASa,KAAAA,EAAAA;AAEf,MAAA,IAAII,KAAAA,EAAO;AACTT,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB,OAAA,MAAA,IAAWqB,aAAarB,KAAAA,EAAO;AAE7BW,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACpBV,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB;AAEA,MAAA,OAAOG,MAAAA;AACT,KAAA;AAEAqB,IAAAA,cAAAA,CAAe3B,QAAQiB,QAAAA,EAAQ;AAC7B,MAAA,MAAMhB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAErB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOmB,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AACxC;AAEA,MAAA,MAAMO,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,MAAAA,GAASc,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AAE9C,MAAA,IAAIX,MAAAA,IAAUkB,aAAaI,MAAAA,EAAW;AACpCd,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACtB;AAEA,MAAA,OAAOlB,MAAAA;AACT;GACF,CAAA;AACF;AAhDgBM,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"array.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":"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","file":"array.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":";;AAKO,SAASA,eAAAA,CAAmBC,KAAUC,MAAAA,EAAS;AACpD,EAAA,MAAMC,QAAQF,GAAAA,CAAIG,SAAAA,CAAU,CAACC,KAAAA,KAAUA,UAAUH,MAAAA,CAAAA;AACjD,EAAA,IAAIC,UAAU,EAAA,EAAI;AAChB,IAAA,OAAO,KAAA;AACT;AAEAF,EAAAA,GAAAA,CAAIK,MAAAA,CAAOH,OAAO,CAAA,CAAA;AAClB,EAAA,OAAO,IAAA;AACT;AARgBH,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA;AAUT,SAASO,UAAaN,GAAAA,EAAM;AACjC,EAAA,MAAMO,MAAAA,GAASC,KAAAA,CAAMC,OAAAA,CAAQT,GAAAA,IAAOA,GAAAA,GAAM;AAACA,IAAAA;;AAC3C,EAAA,OAAOO,MAAAA;AACT;AAHgBD,MAAAA,CAAAA,SAAAA,EAAAA,WAAAA,CAAAA;AAST,SAASI,YAAAA,CAAkCV,KAAUW,CAAAA,EAAI;AAC9D,EAAA,OAAOX,IAAIY,MAAAA,IAAUD,CAAAA;AACvB;AAFgBD,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAST,SAASG,UAAAA,CAAcC,OAAYC,QAAAA,EAAgC;AAKxE,EAAA,OAAO,IAAIC,MAAMF,KAAAA,EAAO;IACtBG,GAAAA,CAAIhB,MAAAA,EAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,EAAQ;AACnC,MAAA,MAAMC,KAAAA,gCAAcC,OAAAA,CAAQJ,GAAAA,CAAIhB,QAAQiB,QAAAA,EAAUd,KAAAA,EAAOe,QAAAA,CAAAA,EAA3C,OAAA,CAAA;AAEd,MAAA,MAAMjB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAGrB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOkB,KAAAA,EAAAA;AACT;AAEA,MAAA,MAAMI,KAAAA,GAAQ,EAAEN,QAAAA,IAAYjB,MAAAA,CAAAA;AAC5B,MAAA,MAAMwB,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,SAASa,KAAAA,EAAAA;AAEf,MAAA,IAAII,KAAAA,EAAO;AACTT,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB,OAAA,MAAA,IAAWqB,aAAarB,KAAAA,EAAO;AAE7BW,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACpBV,QAAAA,QAAAA,CAASW,QAAQtB,KAAAA,CAAAA;AACnB;AAEA,MAAA,OAAOG,MAAAA;AACT,KAAA;AAEAqB,IAAAA,cAAAA,CAAe3B,QAAQiB,QAAAA,EAAQ;AAC7B,MAAA,MAAMhB,KAAAA,GAAQoB,OAAOJ,QAAAA,CAAAA;AAErB,MAAA,IAAI,CAACI,MAAAA,CAAOC,SAAAA,CAAUrB,KAAAA,CAAAA,IAAUA,QAAQ,CAAA,EAAG;AACzC,QAAA,OAAOmB,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AACxC;AAEA,MAAA,MAAMO,QAAAA,GAAWxB,OAAOC,KAAAA,CAAAA;AACxB,MAAA,MAAMK,MAAAA,GAASc,OAAAA,CAAQO,cAAAA,CAAe3B,MAAAA,EAAQiB,QAAAA,CAAAA;AAE9C,MAAA,IAAIX,MAAAA,IAAUkB,aAAaI,MAAAA,EAAW;AACpCd,QAAAA,QAAAA,CAASY,WAAWF,QAAAA,CAAAA;AACtB;AAEA,MAAA,OAAOlB,MAAAA;AACT;GACF,CAAA;AACF;AAhDgBM,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA","file":"array.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/array.ts"],"names":["removeFromArray","arr","target","index","findIndex","value","splice","castArray","result","Array","isArray","hasMinLength","n","length","watchArray","array","handlers","Proxy","set","property","receiver","apply","Reflect","Number","isInteger","isAdd","oldValue","onAdd","onRemove","deleteProperty","undefined"],"mappings":"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","file":"array.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function removeFromArray<T>(arr: T[], target: T): boolean {\n const index = arr.findIndex((value) => value === target);\n if (index === -1) {\n return false;\n }\n\n arr.splice(index, 1);\n return true;\n}\n\nexport function castArray<T>(arr: T) {\n const result = Array.isArray(arr) ? arr : [arr];\n return result as T extends unknown[] ? T : [T];\n}\n\ntype HasMinLength<T, N extends number, T2 extends any[] = []> = T2[\"length\"] extends N\n ? [...T2, ...T[]]\n : HasMinLength<T, N, [any, ...T2]>;\n\nexport function hasMinLength<T, N extends number>(arr: T[], n: N): arr is HasMinLength<T, N> {\n return arr.length >= n;\n}\n\ninterface ArrayChangeHandlers<T> {\n onAdd?: (value: T) => void;\n onRemove?: (value: T) => void;\n}\n\nexport function watchArray<T>(array: T[], handlers: ArrayChangeHandlers<T>): T[] {\n /**\n * Does not handle 'length' modification\n */\n\n return new Proxy(array, {\n set(target, property, value, receiver) {\n const apply = () => Reflect.set(target, property, value, receiver);\n\n const index = Number(property);\n\n // Ignore non-index and length changes\n if (!Number.isInteger(index) || index < 0) {\n return apply();\n }\n\n const isAdd = !(property in target);\n const oldValue = target[index];\n const result = apply();\n\n if (isAdd) {\n handlers.onAdd?.(value);\n } else if (oldValue !== value) {\n // Treat replacement as removal + add\n handlers.onRemove?.(oldValue);\n handlers.onAdd?.(value);\n }\n\n return result;\n },\n\n deleteProperty(target, property) {\n const index = Number(property);\n\n if (!Number.isInteger(index) || index < 0) {\n return Reflect.deleteProperty(target, property);\n }\n\n const oldValue = target[index];\n const result = Reflect.deleteProperty(target, property);\n\n if (result && oldValue !== undefined) {\n handlers.onRemove?.(oldValue);\n }\n\n return result;\n },\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/cancellation.ts"],"names":["createAbortController","signals","controller","AbortController","registerSignals","forEach","signal","aborted","abort","reason","addEventListener","once"],"mappings":";;;;AAKO,SAASA,yBAAyBC,OAAAA,EAAoC;AAC3E,EAAA,MAAMC,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvBC,EAAAA,eAAAA,CAAgBF,YAAYD,OAAAA,CAAAA;AAC5B,EAAA,OAAOC,UAAAA;AACT;AAJgBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAMT,SAASI,eAAAA,CAAgBF,YAA6BD,OAAAA,EAAoC;AAC/FA,EAAAA,OAAAA,CAAQI,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACf,IAAA,IAAIA,QAAQC,OAAAA,EAAS;AACnBL,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,OAAOG,MAAM,CAAA;AAChC;AAEAH,IAAAA,MAAAA,EAAQI,gBAAAA,GACN,SACA,MAAA;AACER,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,QAAQG,MAAAA,CAAAA;KAC3B,EACA;MACEE,IAAAA,EAAM,IAAA;AACNL,MAAAA,MAAAA,EAAQJ,UAAAA,CAAWI;KACrB,CAAA;GAEJ,CAAA;AACF;AAjBgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"cancellation.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function createAbortController(...signals: (AbortSignal | undefined)[]) {\n const controller = new AbortController();\n registerSignals(controller, signals);\n return controller;\n}\n\nexport function registerSignals(controller: AbortController, signals: (AbortSignal | undefined)[]) {\n signals.forEach((signal) => {\n if (signal?.aborted) {\n controller.abort(signal.reason);\n }\n\n signal?.addEventListener?.(\n \"abort\",\n () => {\n controller.abort(signal?.reason);\n },\n {\n once: true,\n signal: controller.signal,\n },\n );\n });\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/cancellation.ts"],"names":["createAbortController","signals","controller","AbortController","registerSignals","forEach","signal","aborted","abort","reason","addEventListener","once"],"mappings":";;;;AAKO,SAASA,yBAAyBC,OAAAA,EAAoC;AAC3E,EAAA,MAAMC,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvBC,EAAAA,eAAAA,CAAgBF,YAAYD,OAAAA,CAAAA;AAC5B,EAAA,OAAOC,UAAAA;AACT;AAJgBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAMT,SAASI,eAAAA,CAAgBF,YAA6BD,OAAAA,EAAoC;AAC/FA,EAAAA,OAAAA,CAAQI,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACf,IAAA,IAAIA,QAAQC,OAAAA,EAAS;AACnBL,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,OAAOG,MAAM,CAAA;AAChC,IAAA;AAEAH,IAAAA,MAAAA,EAAQI,gBAAAA,GACN,SACA,MAAA;AACER,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,QAAQG,MAAAA,CAAAA;IAC3B,CAAA,EACA;MACEE,IAAAA,EAAM,IAAA;AACNL,MAAAA,MAAAA,EAAQJ,UAAAA,CAAWI;KACrB,CAAA;EAEJ,CAAA,CAAA;AACF;AAjBgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"cancellation.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function createAbortController(...signals: (AbortSignal | undefined)[]) {\n const controller = new AbortController();\n registerSignals(controller, signals);\n return controller;\n}\n\nexport function registerSignals(controller: AbortController, signals: (AbortSignal | undefined)[]) {\n signals.forEach((signal) => {\n if (signal?.aborted) {\n controller.abort(signal.reason);\n }\n\n signal?.addEventListener?.(\n \"abort\",\n () => {\n controller.abort(signal?.reason);\n },\n {\n once: true,\n signal: controller.signal,\n },\n );\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/cancellation.ts"],"names":["createAbortController","signals","controller","AbortController","registerSignals","forEach","signal","aborted","abort","reason","addEventListener","once"],"mappings":";;AAKO,SAASA,yBAAyBC,OAAAA,EAAoC;AAC3E,EAAA,MAAMC,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvBC,EAAAA,eAAAA,CAAgBF,YAAYD,OAAAA,CAAAA;AAC5B,EAAA,OAAOC,UAAAA;AACT;AAJgBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAMT,SAASI,eAAAA,CAAgBF,YAA6BD,OAAAA,EAAoC;AAC/FA,EAAAA,OAAAA,CAAQI,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACf,IAAA,IAAIA,QAAQC,OAAAA,EAAS;AACnBL,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,OAAOG,MAAM,CAAA;AAChC;AAEAH,IAAAA,MAAAA,EAAQI,gBAAAA,GACN,SACA,MAAA;AACER,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,QAAQG,MAAAA,CAAAA;KAC3B,EACA;MACEE,IAAAA,EAAM,IAAA;AACNL,MAAAA,MAAAA,EAAQJ,UAAAA,CAAWI;KACrB,CAAA;GAEJ,CAAA;AACF;AAjBgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"cancellation.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function createAbortController(...signals: (AbortSignal | undefined)[]) {\n const controller = new AbortController();\n registerSignals(controller, signals);\n return controller;\n}\n\nexport function registerSignals(controller: AbortController, signals: (AbortSignal | undefined)[]) {\n signals.forEach((signal) => {\n if (signal?.aborted) {\n controller.abort(signal.reason);\n }\n\n signal?.addEventListener?.(\n \"abort\",\n () => {\n controller.abort(signal?.reason);\n },\n {\n once: true,\n signal: controller.signal,\n },\n );\n });\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/cancellation.ts"],"names":["createAbortController","signals","controller","AbortController","registerSignals","forEach","signal","aborted","abort","reason","addEventListener","once"],"mappings":";;AAKO,SAASA,yBAAyBC,OAAAA,EAAoC;AAC3E,EAAA,MAAMC,UAAAA,GAAa,IAAIC,eAAAA,EAAAA;AACvBC,EAAAA,eAAAA,CAAgBF,YAAYD,OAAAA,CAAAA;AAC5B,EAAA,OAAOC,UAAAA;AACT;AAJgBF,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AAMT,SAASI,eAAAA,CAAgBF,YAA6BD,OAAAA,EAAoC;AAC/FA,EAAAA,OAAAA,CAAQI,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACf,IAAA,IAAIA,QAAQC,OAAAA,EAAS;AACnBL,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,OAAOG,MAAM,CAAA;AAChC,IAAA;AAEAH,IAAAA,MAAAA,EAAQI,gBAAAA,GACN,SACA,MAAA;AACER,MAAAA,UAAAA,CAAWM,KAAAA,CAAMF,QAAQG,MAAAA,CAAAA;IAC3B,CAAA,EACA;MACEE,IAAAA,EAAM,IAAA;AACNL,MAAAA,MAAAA,EAAQJ,UAAAA,CAAWI;KACrB,CAAA;EAEJ,CAAA,CAAA;AACF;AAjBgBF,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"cancellation.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function createAbortController(...signals: (AbortSignal | undefined)[]) {\n const controller = new AbortController();\n registerSignals(controller, signals);\n return controller;\n}\n\nexport function registerSignals(controller: AbortController, signals: (AbortSignal | undefined)[]) {\n signals.forEach((signal) => {\n if (signal?.aborted) {\n controller.abort(signal.reason);\n }\n\n signal?.addEventListener?.(\n \"abort\",\n () => {\n controller.abort(signal?.reason);\n },\n {\n once: true,\n signal: controller.signal,\n },\n );\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/counter.ts"],"names":["RetryCounter","Serializable","remaining","maxRetries","lastError","finalError","ErrorClass","use","error","undefined","isFatal","isRetryable","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AAQO,MAAMA,qBAAqBC,6BAAAA,CAAAA;EARlC;;;;AASSC,EAAAA,SAAAA;AACYC,EAAAA,UAAAA;AACTC,EAAAA,SAAAA;AACAC,EAAAA,UAAAA;EAEV,WAAA,CACEF,UAAAA,GAAa,GACHG,UAAAA,EACV;AACA,IAAA,KAAA,EAAK,EAAA,KAFKA,UAAAA,GAAAA,UAAAA;AAGV,IAAA,IAAA,CAAKH,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKD,SAAAA,GAAYC,UAAAA;AACnB;AAEAI,EAAAA,GAAAA,CAAIC,KAAAA,EAAe;AACjB,IAAA,IAAI,KAAKH,UAAAA,EAAY;AACnB,MAAA,MAAM,IAAA,CAAKA,UAAAA;AACb;AAEA,IAAA,IAAA,CAAKD,SAAAA,GAAYI,SAAS,IAAA,CAAKJ,SAAAA;AAC/B,IAAA,IAAA,CAAKF,SAAAA,EAAAA;AACL,IAAA,IAAI,IAAA,CAAKA,YAAY,CAAA,EAAG;AACtB,MAAA,IAAA,CAAKG,UAAAA,GAAa,IAAI,IAAA,CAAKC,UAAAA,CACzB,qCAAqC,IAAA,CAAKH,UAAU,CAAA,mBAAA,CAAA,EACpD,IAAA,CAAKC,SAAAA,GAAY;QAAC,IAAA,CAAKA;UAAaK,MAAAA,EACpC;QAAEC,OAAAA,EAAS,IAAA;QAAMC,WAAAA,EAAa;OAAM,CAAA;AAEtC,MAAA,MAAM,IAAA,CAAKN,UAAAA;AACb;AACF;EAEAO,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLV,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA;AACnB,KAAA;AACF;AAEAO,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"counter.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class RetryCounter extends Serializable {\n public remaining: number;\n protected readonly maxRetries: number;\n protected lastError?: Error;\n protected finalError?: Error;\n\n constructor(\n maxRetries = 0,\n protected ErrorClass: typeof FrameworkError,\n ) {\n super();\n this.maxRetries = maxRetries;\n this.remaining = maxRetries;\n }\n\n use(error?: Error) {\n if (this.finalError) {\n throw this.finalError;\n }\n\n this.lastError = error ?? this.lastError;\n this.remaining--;\n if (this.remaining < 0) {\n this.finalError = new this.ErrorClass(\n `Maximal amount of global retries (${this.maxRetries}) has been reached.`,\n this.lastError ? [this.lastError] : undefined,\n { isFatal: true, isRetryable: false },\n );\n throw this.finalError;\n }\n }\n\n createSnapshot() {\n return {\n remaining: this.remaining,\n maxRetries: this.maxRetries,\n lastError: this.lastError,\n finalError: this.finalError,\n ErrorClass: this.ErrorClass,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/counter.ts"],"names":["RetryCounter","Serializable","remaining","maxRetries","lastError","finalError","ErrorClass","use","error","undefined","isFatal","isRetryable","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;;;AAQO,MAAMA,qBAAqBC,6BAAAA,CAAAA;EARlC;;;;AASSC,EAAAA,SAAAA;AACYC,EAAAA,UAAAA;AACTC,EAAAA,SAAAA;AACAC,EAAAA,UAAAA;EAEV,WAAA,CACEF,UAAAA,GAAa,GACHG,UAAAA,EACV;AACA,IAAA,KAAA,EAAK,EAAA,KAFKA,UAAAA,GAAAA,UAAAA;AAGV,IAAA,IAAA,CAAKH,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKD,SAAAA,GAAYC,UAAAA;AACnB,EAAA;AAEAI,EAAAA,GAAAA,CAAIC,KAAAA,EAAe;AACjB,IAAA,IAAI,KAAKH,UAAAA,EAAY;AACnB,MAAA,MAAM,IAAA,CAAKA,UAAAA;AACb,IAAA;AAEA,IAAA,IAAA,CAAKD,SAAAA,GAAYI,SAAS,IAAA,CAAKJ,SAAAA;AAC/B,IAAA,IAAA,CAAKF,SAAAA,EAAAA;AACL,IAAA,IAAI,IAAA,CAAKA,YAAY,CAAA,EAAG;AACtB,MAAA,IAAA,CAAKG,UAAAA,GAAa,IAAI,IAAA,CAAKC,UAAAA,CACzB,qCAAqC,IAAA,CAAKH,UAAU,CAAA,mBAAA,CAAA,EACpD,IAAA,CAAKC,SAAAA,GAAY;QAAC,IAAA,CAAKA;UAAaK,MAAAA,EACpC;QAAEC,OAAAA,EAAS,IAAA;QAAMC,WAAAA,EAAa;OAAM,CAAA;AAEtC,MAAA,MAAM,IAAA,CAAKN,UAAAA;AACb,IAAA;AACF,EAAA;EAEAO,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLV,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA;AACnB,KAAA;AACF,EAAA;AAEAO,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB,EAAA;AACF","file":"counter.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class RetryCounter extends Serializable {\n public remaining: number;\n protected readonly maxRetries: number;\n protected lastError?: Error;\n protected finalError?: Error;\n\n constructor(\n maxRetries = 0,\n protected ErrorClass: typeof FrameworkError,\n ) {\n super();\n this.maxRetries = maxRetries;\n this.remaining = maxRetries;\n }\n\n use(error?: Error) {\n if (this.finalError) {\n throw this.finalError;\n }\n\n this.lastError = error ?? this.lastError;\n this.remaining--;\n if (this.remaining < 0) {\n this.finalError = new this.ErrorClass(\n `Maximal amount of global retries (${this.maxRetries}) has been reached.`,\n this.lastError ? [this.lastError] : undefined,\n { isFatal: true, isRetryable: false },\n );\n throw this.finalError;\n }\n }\n\n createSnapshot() {\n return {\n remaining: this.remaining,\n maxRetries: this.maxRetries,\n lastError: this.lastError,\n finalError: this.finalError,\n ErrorClass: this.ErrorClass,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/counter.ts"],"names":["RetryCounter","Serializable","remaining","maxRetries","lastError","finalError","ErrorClass","use","error","undefined","isFatal","isRetryable","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;AAQO,MAAMA,qBAAqBC,YAAAA,CAAAA;EARlC;;;;AASSC,EAAAA,SAAAA;AACYC,EAAAA,UAAAA;AACTC,EAAAA,SAAAA;AACAC,EAAAA,UAAAA;EAEV,WAAA,CACEF,UAAAA,GAAa,GACHG,UAAAA,EACV;AACA,IAAA,KAAA,EAAK,EAAA,KAFKA,UAAAA,GAAAA,UAAAA;AAGV,IAAA,IAAA,CAAKH,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKD,SAAAA,GAAYC,UAAAA;AACnB;AAEAI,EAAAA,GAAAA,CAAIC,KAAAA,EAAe;AACjB,IAAA,IAAI,KAAKH,UAAAA,EAAY;AACnB,MAAA,MAAM,IAAA,CAAKA,UAAAA;AACb;AAEA,IAAA,IAAA,CAAKD,SAAAA,GAAYI,SAAS,IAAA,CAAKJ,SAAAA;AAC/B,IAAA,IAAA,CAAKF,SAAAA,EAAAA;AACL,IAAA,IAAI,IAAA,CAAKA,YAAY,CAAA,EAAG;AACtB,MAAA,IAAA,CAAKG,UAAAA,GAAa,IAAI,IAAA,CAAKC,UAAAA,CACzB,qCAAqC,IAAA,CAAKH,UAAU,CAAA,mBAAA,CAAA,EACpD,IAAA,CAAKC,SAAAA,GAAY;QAAC,IAAA,CAAKA;UAAaK,MAAAA,EACpC;QAAEC,OAAAA,EAAS,IAAA;QAAMC,WAAAA,EAAa;OAAM,CAAA;AAEtC,MAAA,MAAM,IAAA,CAAKN,UAAAA;AACb;AACF;EAEAO,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLV,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA;AACnB,KAAA;AACF;AAEAO,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;AACF","file":"counter.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class RetryCounter extends Serializable {\n public remaining: number;\n protected readonly maxRetries: number;\n protected lastError?: Error;\n protected finalError?: Error;\n\n constructor(\n maxRetries = 0,\n protected ErrorClass: typeof FrameworkError,\n ) {\n super();\n this.maxRetries = maxRetries;\n this.remaining = maxRetries;\n }\n\n use(error?: Error) {\n if (this.finalError) {\n throw this.finalError;\n }\n\n this.lastError = error ?? this.lastError;\n this.remaining--;\n if (this.remaining < 0) {\n this.finalError = new this.ErrorClass(\n `Maximal amount of global retries (${this.maxRetries}) has been reached.`,\n this.lastError ? [this.lastError] : undefined,\n { isFatal: true, isRetryable: false },\n );\n throw this.finalError;\n }\n }\n\n createSnapshot() {\n return {\n remaining: this.remaining,\n maxRetries: this.maxRetries,\n lastError: this.lastError,\n finalError: this.finalError,\n ErrorClass: this.ErrorClass,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/counter.ts"],"names":["RetryCounter","Serializable","remaining","maxRetries","lastError","finalError","ErrorClass","use","error","undefined","isFatal","isRetryable","createSnapshot","loadSnapshot","snapshot","Object","assign"],"mappings":";;;;AAQO,MAAMA,qBAAqBC,YAAAA,CAAAA;EARlC;;;;AASSC,EAAAA,SAAAA;AACYC,EAAAA,UAAAA;AACTC,EAAAA,SAAAA;AACAC,EAAAA,UAAAA;EAEV,WAAA,CACEF,UAAAA,GAAa,GACHG,UAAAA,EACV;AACA,IAAA,KAAA,EAAK,EAAA,KAFKA,UAAAA,GAAAA,UAAAA;AAGV,IAAA,IAAA,CAAKH,UAAAA,GAAaA,UAAAA;AAClB,IAAA,IAAA,CAAKD,SAAAA,GAAYC,UAAAA;AACnB,EAAA;AAEAI,EAAAA,GAAAA,CAAIC,KAAAA,EAAe;AACjB,IAAA,IAAI,KAAKH,UAAAA,EAAY;AACnB,MAAA,MAAM,IAAA,CAAKA,UAAAA;AACb,IAAA;AAEA,IAAA,IAAA,CAAKD,SAAAA,GAAYI,SAAS,IAAA,CAAKJ,SAAAA;AAC/B,IAAA,IAAA,CAAKF,SAAAA,EAAAA;AACL,IAAA,IAAI,IAAA,CAAKA,YAAY,CAAA,EAAG;AACtB,MAAA,IAAA,CAAKG,UAAAA,GAAa,IAAI,IAAA,CAAKC,UAAAA,CACzB,qCAAqC,IAAA,CAAKH,UAAU,CAAA,mBAAA,CAAA,EACpD,IAAA,CAAKC,SAAAA,GAAY;QAAC,IAAA,CAAKA;UAAaK,MAAAA,EACpC;QAAEC,OAAAA,EAAS,IAAA;QAAMC,WAAAA,EAAa;OAAM,CAAA;AAEtC,MAAA,MAAM,IAAA,CAAKN,UAAAA;AACb,IAAA;AACF,EAAA;EAEAO,cAAAA,GAAiB;AACf,IAAA,OAAO;AACLV,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,SAAAA,EAAW,IAAA,CAAKA,SAAAA;AAChBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA,UAAAA;AACjBC,MAAAA,UAAAA,EAAY,IAAA,CAAKA;AACnB,KAAA;AACF,EAAA;AAEAO,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB,EAAA;AACF","file":"counter.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { FrameworkError } from \"@/errors.js\";\nimport { Serializable } from \"@/internals/serializable.js\";\n\nexport class RetryCounter extends Serializable {\n public remaining: number;\n protected readonly maxRetries: number;\n protected lastError?: Error;\n protected finalError?: Error;\n\n constructor(\n maxRetries = 0,\n protected ErrorClass: typeof FrameworkError,\n ) {\n super();\n this.maxRetries = maxRetries;\n this.remaining = maxRetries;\n }\n\n use(error?: Error) {\n if (this.finalError) {\n throw this.finalError;\n }\n\n this.lastError = error ?? this.lastError;\n this.remaining--;\n if (this.remaining < 0) {\n this.finalError = new this.ErrorClass(\n `Maximal amount of global retries (${this.maxRetries}) has been reached.`,\n this.lastError ? [this.lastError] : undefined,\n { isFatal: true, isRetryable: false },\n );\n throw this.finalError;\n }\n }\n\n createSnapshot() {\n return {\n remaining: this.remaining,\n maxRetries: this.maxRetries,\n lastError: this.lastError,\n finalError: this.finalError,\n ErrorClass: this.ErrorClass,\n };\n }\n\n loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n Object.assign(this, snapshot);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/general.ts"],"names":["sleep","ms","signal","start","Date","now","ctx","iteration","elapsed","setTimeout","validate","value","schema","parse"],"mappings":";;;;;;AAQA,gBAAuBA,KAAAA,CAAMC,IAAYC,MAAAA,EAAoB;AAC3D,EAAA,MAAMC,KAAAA,GAAQC,KAAKC,GAAAA,EAAG;AACtB,EAAA,MAAMC,GAAAA,GAAM;IAAEC,SAAAA,EAAW,CAAA;IAAGC,OAAAA,EAAS;AAAE,GAAA;AACvC,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,MAAMC,oBAAWR,EAAAA,EAAI;AACnBC,MAAAA;KACF,CAAA;AACAI,IAAAA,GAAAA,CAAIE,OAAAA,GAAUJ,IAAAA,CAAKC,GAAAA,EAAG,GAAKF,KAAAA;AAC3BG,IAAAA,GAAAA,CAAIC,SAAAA,EAAAA;AACJ,IAAA,MAAMD,GAAAA;AACR;AACF;AAXuBN,MAAAA,CAAAA,KAAAA,EAAAA,OAAAA,CAAAA;AAahB,SAASU,QAAAA,CAAYC,OAAgBC,MAAAA,EAAkB;AAC5DA,EAAAA,MAAAA,CAAOC,MAAMF,KAAAA,CAAAA;AACf;AAFgBD,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"general.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { ZodType } from \"zod\";\n\nexport async function* sleep(ms: number, signal?: AbortSignal) {\n const start = Date.now();\n const ctx = { iteration: 0, elapsed: 0 };\n while (true) {\n await setTimeout(ms, {\n signal,\n });\n ctx.elapsed = Date.now() - start;\n ctx.iteration++;\n yield ctx;\n }\n}\n\nexport function validate<T>(value: unknown, schema: ZodType<T>): asserts value is T {\n schema.parse(value);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/general.ts"],"names":["sleep","ms","signal","start","Date","now","ctx","iteration","elapsed","setTimeout","validate","value","schema","parse"],"mappings":";;;;;;AAQA,gBAAuBA,KAAAA,CAAMC,IAAYC,MAAAA,EAAoB;AAC3D,EAAA,MAAMC,KAAAA,GAAQC,KAAKC,GAAAA,EAAG;AACtB,EAAA,MAAMC,GAAAA,GAAM;IAAEC,SAAAA,EAAW,CAAA;IAAGC,OAAAA,EAAS;AAAE,GAAA;AACvC,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,MAAMC,oBAAWR,EAAAA,EAAI;AACnBC,MAAAA;KACF,CAAA;AACAI,IAAAA,GAAAA,CAAIE,OAAAA,GAAUJ,IAAAA,CAAKC,GAAAA,EAAG,GAAKF,KAAAA;AAC3BG,IAAAA,GAAAA,CAAIC,SAAAA,EAAAA;AACJ,IAAA,MAAMD,GAAAA;AACR,EAAA;AACF;AAXuBN,MAAAA,CAAAA,KAAAA,EAAAA,OAAAA,CAAAA;AAahB,SAASU,QAAAA,CAAYC,OAAgBC,MAAAA,EAAkB;AAC5DA,EAAAA,MAAAA,CAAOC,MAAMF,KAAAA,CAAAA;AACf;AAFgBD,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"general.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { ZodType } from \"zod\";\n\nexport async function* sleep(ms: number, signal?: AbortSignal) {\n const start = Date.now();\n const ctx = { iteration: 0, elapsed: 0 };\n while (true) {\n await setTimeout(ms, {\n signal,\n });\n ctx.elapsed = Date.now() - start;\n ctx.iteration++;\n yield ctx;\n }\n}\n\nexport function validate<T>(value: unknown, schema: ZodType<T>): asserts value is T {\n schema.parse(value);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/general.ts"],"names":["sleep","ms","signal","start","Date","now","ctx","iteration","elapsed","setTimeout","validate","value","schema","parse"],"mappings":";;;;AAQA,gBAAuBA,KAAAA,CAAMC,IAAYC,MAAAA,EAAoB;AAC3D,EAAA,MAAMC,KAAAA,GAAQC,KAAKC,GAAAA,EAAG;AACtB,EAAA,MAAMC,GAAAA,GAAM;IAAEC,SAAAA,EAAW,CAAA;IAAGC,OAAAA,EAAS;AAAE,GAAA;AACvC,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,MAAMC,WAAWR,EAAAA,EAAI;AACnBC,MAAAA;KACF,CAAA;AACAI,IAAAA,GAAAA,CAAIE,OAAAA,GAAUJ,IAAAA,CAAKC,GAAAA,EAAG,GAAKF,KAAAA;AAC3BG,IAAAA,GAAAA,CAAIC,SAAAA,EAAAA;AACJ,IAAA,MAAMD,GAAAA;AACR;AACF;AAXuBN,MAAAA,CAAAA,KAAAA,EAAAA,OAAAA,CAAAA;AAahB,SAASU,QAAAA,CAAYC,OAAgBC,MAAAA,EAAkB;AAC5DA,EAAAA,MAAAA,CAAOC,MAAMF,KAAAA,CAAAA;AACf;AAFgBD,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"general.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { ZodType } from \"zod\";\n\nexport async function* sleep(ms: number, signal?: AbortSignal) {\n const start = Date.now();\n const ctx = { iteration: 0, elapsed: 0 };\n while (true) {\n await setTimeout(ms, {\n signal,\n });\n ctx.elapsed = Date.now() - start;\n ctx.iteration++;\n yield ctx;\n }\n}\n\nexport function validate<T>(value: unknown, schema: ZodType<T>): asserts value is T {\n schema.parse(value);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/general.ts"],"names":["sleep","ms","signal","start","Date","now","ctx","iteration","elapsed","setTimeout","validate","value","schema","parse"],"mappings":";;;;AAQA,gBAAuBA,KAAAA,CAAMC,IAAYC,MAAAA,EAAoB;AAC3D,EAAA,MAAMC,KAAAA,GAAQC,KAAKC,GAAAA,EAAG;AACtB,EAAA,MAAMC,GAAAA,GAAM;IAAEC,SAAAA,EAAW,CAAA;IAAGC,OAAAA,EAAS;AAAE,GAAA;AACvC,EAAA,OAAO,IAAA,EAAM;AACX,IAAA,MAAMC,WAAWR,EAAAA,EAAI;AACnBC,MAAAA;KACF,CAAA;AACAI,IAAAA,GAAAA,CAAIE,OAAAA,GAAUJ,IAAAA,CAAKC,GAAAA,EAAG,GAAKF,KAAAA;AAC3BG,IAAAA,GAAAA,CAAIC,SAAAA,EAAAA;AACJ,IAAA,MAAMD,GAAAA;AACR,EAAA;AACF;AAXuBN,MAAAA,CAAAA,KAAAA,EAAAA,OAAAA,CAAAA;AAahB,SAASU,QAAAA,CAAYC,OAAgBC,MAAAA,EAAkB;AAC5DA,EAAAA,MAAAA,CAAOC,MAAMF,KAAAA,CAAAA;AACf;AAFgBD,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"general.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { setTimeout } from \"node:timers/promises\";\nimport { ZodType } from \"zod\";\n\nexport async function* sleep(ms: number, signal?: AbortSignal) {\n const start = Date.now();\n const ctx = { iteration: 0, elapsed: 0 };\n while (true) {\n await setTimeout(ms, {\n signal,\n });\n ctx.elapsed = Date.now() - start;\n ctx.iteration++;\n yield ctx;\n }\n}\n\nexport function validate<T>(value: unknown, schema: ZodType<T>): asserts value is T {\n schema.parse(value);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/hash.ts"],"names":["createHash","input","length","NotImplementedError","_createHash","update","digest","slice","createRandomHash","randomBytes","toString"],"mappings":";;;;;;;AAQO,SAASA,UAAAA,CAAWC,KAAAA,EAAeC,MAAAA,GAAS,CAAA,EAAC;AAClD,EAAA,IAAIA,SAAS,EAAA,EAAI;AACf,IAAA,MAAM,IAAIC,+BAAoB,iCAAA,CAAA;AAChC;AAEA,EAAA,OAAOC,sBAAAA,CAAY,QAAA,CAAA,CAChBC,MAAAA,CAAOJ,KAAAA,CAAAA,CACPK,MAAAA,CAAO,KAAA,CAAA,CACPC,KAAAA,CAAM,CAAA,EAAGL,MAAAA,GAAS,CAAA,CAAA;AACvB;AATgBF,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAWT,SAASQ,gBAAAA,CAAiBN,SAAS,CAAA,EAAC;AACzC,EAAA,OAAOF,WAAWS,uBAAAA,CAAY,EAAA,EAAIC,QAAAA,CAAS,QAAA,GAAWR,MAAAA,CAAAA;AACxD;AAFgBM,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"hash.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createHash as _createHash, randomBytes } from \"node:crypto\";\nimport { NotImplementedError } from \"@/errors.js\";\n\nexport function createHash(input: string, length = 4) {\n if (length > 32) {\n throw new NotImplementedError(\"Max supported hash length is 32\");\n }\n\n return _createHash(\"sha256\")\n .update(input)\n .digest(\"hex\")\n .slice(0, length * 2);\n}\n\nexport function createRandomHash(length = 4) {\n return createHash(randomBytes(20).toString(\"base64\"), length);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/hash.ts"],"names":["createHash","input","length","NotImplementedError","_createHash","update","digest","slice","createRandomHash","randomBytes","toString"],"mappings":";;;;;;;AAQO,SAASA,UAAAA,CAAWC,KAAAA,EAAeC,MAAAA,GAAS,CAAA,EAAC;AAClD,EAAA,IAAIA,SAAS,EAAA,EAAI;AACf,IAAA,MAAM,IAAIC,+BAAoB,iCAAA,CAAA;AAChC,EAAA;AAEA,EAAA,OAAOC,sBAAAA,CAAY,QAAA,CAAA,CAChBC,MAAAA,CAAOJ,KAAAA,CAAAA,CACPK,MAAAA,CAAO,KAAA,CAAA,CACPC,KAAAA,CAAM,CAAA,EAAGL,MAAAA,GAAS,CAAA,CAAA;AACvB;AATgBF,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAWT,SAASQ,gBAAAA,CAAiBN,SAAS,CAAA,EAAC;AACzC,EAAA,OAAOF,WAAWS,uBAAAA,CAAY,EAAA,EAAIC,QAAAA,CAAS,QAAA,GAAWR,MAAAA,CAAAA;AACxD;AAFgBM,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"hash.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createHash as _createHash, randomBytes } from \"node:crypto\";\nimport { NotImplementedError } from \"@/errors.js\";\n\nexport function createHash(input: string, length = 4) {\n if (length > 32) {\n throw new NotImplementedError(\"Max supported hash length is 32\");\n }\n\n return _createHash(\"sha256\")\n .update(input)\n .digest(\"hex\")\n .slice(0, length * 2);\n}\n\nexport function createRandomHash(length = 4) {\n return createHash(randomBytes(20).toString(\"base64\"), length);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/hash.ts"],"names":["createHash","input","length","NotImplementedError","_createHash","update","digest","slice","createRandomHash","randomBytes","toString"],"mappings":";;;;;AAQO,SAASA,UAAAA,CAAWC,KAAAA,EAAeC,MAAAA,GAAS,CAAA,EAAC;AAClD,EAAA,IAAIA,SAAS,EAAA,EAAI;AACf,IAAA,MAAM,IAAIC,oBAAoB,iCAAA,CAAA;AAChC;AAEA,EAAA,OAAOC,YAAAA,CAAY,QAAA,CAAA,CAChBC,MAAAA,CAAOJ,KAAAA,CAAAA,CACPK,MAAAA,CAAO,KAAA,CAAA,CACPC,KAAAA,CAAM,CAAA,EAAGL,MAAAA,GAAS,CAAA,CAAA;AACvB;AATgBF,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAWT,SAASQ,gBAAAA,CAAiBN,SAAS,CAAA,EAAC;AACzC,EAAA,OAAOF,WAAWS,WAAAA,CAAY,EAAA,EAAIC,QAAAA,CAAS,QAAA,GAAWR,MAAAA,CAAAA;AACxD;AAFgBM,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"hash.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createHash as _createHash, randomBytes } from \"node:crypto\";\nimport { NotImplementedError } from \"@/errors.js\";\n\nexport function createHash(input: string, length = 4) {\n if (length > 32) {\n throw new NotImplementedError(\"Max supported hash length is 32\");\n }\n\n return _createHash(\"sha256\")\n .update(input)\n .digest(\"hex\")\n .slice(0, length * 2);\n}\n\nexport function createRandomHash(length = 4) {\n return createHash(randomBytes(20).toString(\"base64\"), length);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/hash.ts"],"names":["createHash","input","length","NotImplementedError","_createHash","update","digest","slice","createRandomHash","randomBytes","toString"],"mappings":";;;;;AAQO,SAASA,UAAAA,CAAWC,KAAAA,EAAeC,MAAAA,GAAS,CAAA,EAAC;AAClD,EAAA,IAAIA,SAAS,EAAA,EAAI;AACf,IAAA,MAAM,IAAIC,oBAAoB,iCAAA,CAAA;AAChC,EAAA;AAEA,EAAA,OAAOC,YAAAA,CAAY,QAAA,CAAA,CAChBC,MAAAA,CAAOJ,KAAAA,CAAAA,CACPK,MAAAA,CAAO,KAAA,CAAA,CACPC,KAAAA,CAAM,CAAA,EAAGL,MAAAA,GAAS,CAAA,CAAA;AACvB;AATgBF,MAAAA,CAAAA,UAAAA,EAAAA,YAAAA,CAAAA;AAWT,SAASQ,gBAAAA,CAAiBN,SAAS,CAAA,EAAC;AACzC,EAAA,OAAOF,WAAWS,WAAAA,CAAY,EAAA,EAAIC,QAAAA,CAAS,QAAA,GAAWR,MAAAA,CAAAA;AACxD;AAFgBM,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"hash.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { createHash as _createHash, randomBytes } from \"node:crypto\";\nimport { NotImplementedError } from \"@/errors.js\";\n\nexport function createHash(input: string, length = 4) {\n if (length > 32) {\n throw new NotImplementedError(\"Max supported hash length is 32\");\n }\n\n return _createHash(\"sha256\")\n .update(input)\n .digest(\"hex\")\n .slice(0, length * 2);\n}\n\nexport function createRandomHash(length = 4) {\n return createHash(randomBytes(20).toString(\"base64\"), length);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/map.ts"],"names":["findUniqueKey","baseKey","map","key","i","has","concat","String"],"mappings":";;;;AAKO,SAASA,aAAAA,CAAcC,SAAiBC,GAAAA,EAAyB;AACtE,EAAA,IAAIC,GAAAA,GAAMF,OAAAA;AACV,EAAA,KAAA,IAASG,IAAI,CAAA,EAAGF,GAAAA,CAAIG,GAAAA,CAAIF,GAAAA,GAAMC,CAAAA,EAAAA,EAAK;AACjCD,IAAAA,GAAAA,GAAMF,OAAAA,CAAQK,MAAAA,CAAOC,MAAAA,CAAOH,CAAAA,CAAAA,CAAAA;AAC9B;AACA,EAAA,OAAOD,GAAAA;AACT;AANgBH,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"map.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function findUniqueKey(baseKey: string, map: Map<string, unknown>) {\n let key = baseKey;\n for (let i = 1; map.has(key); i++) {\n key = baseKey.concat(String(i));\n }\n return key;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/map.ts"],"names":["findUniqueKey","baseKey","map","key","i","has","concat","String"],"mappings":";;;;AAKO,SAASA,aAAAA,CAAcC,SAAiBC,GAAAA,EAAyB;AACtE,EAAA,IAAIC,GAAAA,GAAMF,OAAAA;AACV,EAAA,KAAA,IAASG,IAAI,CAAA,EAAGF,GAAAA,CAAIG,GAAAA,CAAIF,GAAAA,GAAMC,CAAAA,EAAAA,EAAK;AACjCD,IAAAA,GAAAA,GAAMF,OAAAA,CAAQK,MAAAA,CAAOC,MAAAA,CAAOH,CAAAA,CAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,OAAOD,GAAAA;AACT;AANgBH,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"map.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function findUniqueKey(baseKey: string, map: Map<string, unknown>) {\n let key = baseKey;\n for (let i = 1; map.has(key); i++) {\n key = baseKey.concat(String(i));\n }\n return key;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/map.ts"],"names":["findUniqueKey","baseKey","map","key","i","has","concat","String"],"mappings":";;AAKO,SAASA,aAAAA,CAAcC,SAAiBC,GAAAA,EAAyB;AACtE,EAAA,IAAIC,GAAAA,GAAMF,OAAAA;AACV,EAAA,KAAA,IAASG,IAAI,CAAA,EAAGF,GAAAA,CAAIG,GAAAA,CAAIF,GAAAA,GAAMC,CAAAA,EAAAA,EAAK;AACjCD,IAAAA,GAAAA,GAAMF,OAAAA,CAAQK,MAAAA,CAAOC,MAAAA,CAAOH,CAAAA,CAAAA,CAAAA;AAC9B;AACA,EAAA,OAAOD,GAAAA;AACT;AANgBH,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"map.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function findUniqueKey(baseKey: string, map: Map<string, unknown>) {\n let key = baseKey;\n for (let i = 1; map.has(key); i++) {\n key = baseKey.concat(String(i));\n }\n return key;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/map.ts"],"names":["findUniqueKey","baseKey","map","key","i","has","concat","String"],"mappings":";;AAKO,SAASA,aAAAA,CAAcC,SAAiBC,GAAAA,EAAyB;AACtE,EAAA,IAAIC,GAAAA,GAAMF,OAAAA;AACV,EAAA,KAAA,IAASG,IAAI,CAAA,EAAGF,GAAAA,CAAIG,GAAAA,CAAIF,GAAAA,GAAMC,CAAAA,EAAAA,EAAK;AACjCD,IAAAA,GAAAA,GAAMF,OAAAA,CAAQK,MAAAA,CAAOC,MAAAA,CAAOH,CAAAA,CAAAA,CAAAA;AAC9B,EAAA;AACA,EAAA,OAAOD,GAAAA;AACT;AANgBH,MAAAA,CAAAA,aAAAA,EAAAA,eAAAA,CAAAA","file":"map.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport function findUniqueKey(baseKey: string, map: Map<string, unknown>) {\n let key = baseKey;\n for (let i = 1; map.has(key); i++) {\n key = baseKey.concat(String(i));\n }\n return key;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/math.ts"],"names":["cosineSimilarity","vecA","vecB","length","ValueError","dot","reduce","sum","value","index","magA","Math","sqrt","magB","cosineSimilarityMatrix","matrixA","matrixB","map","rowA","rowB"],"mappings":";;;;;;AAOO,SAASA,gBAAAA,CAAiBC,MAAgBC,IAAAA,EAAc;AAC7D,EAAA,IAAID,IAAAA,CAAKE,MAAAA,KAAWD,IAAAA,CAAKC,MAAAA,EAAQ;AAC/B,IAAA,MAAM,IAAIC,sBAAW,gCAAA,CAAA;AACvB;AAEA,EAAA,MAAMC,GAAAA,GAAMJ,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,EAAOC,KAAAA,KAAUF,GAAAA,GAAMC,KAAAA,GAAQN,IAAAA,CAAKO,KAAAA,CAAAA,EAAQ,CAAA,CAAA;AAC1E,EAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKC,IAAAA,CAAKX,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AACrE,EAAA,MAAMK,IAAAA,GAAOF,IAAAA,CAAKC,IAAAA,CAAKV,IAAAA,CAAKI,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AAErE,EAAA,IAAIE,IAAAA,KAAS,CAAA,IAAKG,IAAAA,KAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIT,sBAAW,wCAAA,CAAA;AACvB;AACA,EAAA,OAAOC,OAAOK,IAAAA,GAAOG,IAAAA,CAAAA;AACvB;AAbgBb,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAeT,SAASc,sBAAAA,CAAuBC,SAAqBC,OAAAA,EAAmB;AAC7E,EAAA,IAAA,CAAKD,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,QAAQY,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,CAAA,CAAA,EAAI;AAC3D,IAAA,MAAM,IAAIC,sBAAW,gDAAA,CAAA;AACvB;AAEA,EAAA,OAAOW,OAAAA,CAAQE,GAAAA,CAAI,CAACC,IAAAA,KAASF,OAAAA,CAAQC,GAAAA,CAAI,CAACE,IAAAA,KAASnB,gBAAAA,CAAiBkB,IAAAA,EAAMC,IAAAA,CAAAA,CAAAA,CAAAA;AAC5E;AANgBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"math.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\n\nexport function cosineSimilarity(vecA: number[], vecB: number[]): number {\n if (vecA.length !== vecB.length) {\n throw new ValueError(\"Vectors must have equal length\");\n }\n // (cos θ) = (A · B) / (|A| * |B|)\n const dot = vecA.reduce((sum, value, index) => sum + value * vecB[index], 0);\n const magA = Math.sqrt(vecA.reduce((sum, value) => sum + value ** 2, 0));\n const magB = Math.sqrt(vecB.reduce((sum, value) => sum + value ** 2, 0));\n\n if (magA === 0 || magB === 0) {\n throw new ValueError(\"Vectors cannot not have zero magnitude\");\n }\n return dot / (magA * magB);\n}\n\nexport function cosineSimilarityMatrix(matrixA: number[][], matrixB: number[][]): number[][] {\n if ((matrixA[0]?.length ?? 0) !== (matrixA[0]?.length ?? 0)) {\n throw new ValueError(\"Matrices must have the same number of columns.\");\n }\n\n return matrixA.map((rowA) => matrixB.map((rowB) => cosineSimilarity(rowA, rowB)));\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/math.ts"],"names":["cosineSimilarity","vecA","vecB","length","ValueError","dot","reduce","sum","value","index","magA","Math","sqrt","magB","cosineSimilarityMatrix","matrixA","matrixB","map","rowA","rowB"],"mappings":";;;;;;AAOO,SAASA,gBAAAA,CAAiBC,MAAgBC,IAAAA,EAAc;AAC7D,EAAA,IAAID,IAAAA,CAAKE,MAAAA,KAAWD,IAAAA,CAAKC,MAAAA,EAAQ;AAC/B,IAAA,MAAM,IAAIC,sBAAW,gCAAA,CAAA;AACvB,EAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMJ,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,EAAOC,KAAAA,KAAUF,GAAAA,GAAMC,KAAAA,GAAQN,IAAAA,CAAKO,KAAAA,CAAAA,EAAQ,CAAA,CAAA;AAC1E,EAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKC,IAAAA,CAAKX,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AACrE,EAAA,MAAMK,IAAAA,GAAOF,IAAAA,CAAKC,IAAAA,CAAKV,IAAAA,CAAKI,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AAErE,EAAA,IAAIE,IAAAA,KAAS,CAAA,IAAKG,IAAAA,KAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIT,sBAAW,wCAAA,CAAA;AACvB,EAAA;AACA,EAAA,OAAOC,OAAOK,IAAAA,GAAOG,IAAAA,CAAAA;AACvB;AAbgBb,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAeT,SAASc,sBAAAA,CAAuBC,SAAqBC,OAAAA,EAAmB;AAC7E,EAAA,IAAA,CAAKD,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,QAAQY,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,CAAA,CAAA,EAAI;AAC3D,IAAA,MAAM,IAAIC,sBAAW,gDAAA,CAAA;AACvB,EAAA;AAEA,EAAA,OAAOW,OAAAA,CAAQE,GAAAA,CAAI,CAACC,IAAAA,KAASF,OAAAA,CAAQC,GAAAA,CAAI,CAACE,IAAAA,KAASnB,gBAAAA,CAAiBkB,IAAAA,EAAMC,IAAAA,CAAAA,CAAAA,CAAAA;AAC5E;AANgBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"math.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\n\nexport function cosineSimilarity(vecA: number[], vecB: number[]): number {\n if (vecA.length !== vecB.length) {\n throw new ValueError(\"Vectors must have equal length\");\n }\n // (cos θ) = (A · B) / (|A| * |B|)\n const dot = vecA.reduce((sum, value, index) => sum + value * vecB[index], 0);\n const magA = Math.sqrt(vecA.reduce((sum, value) => sum + value ** 2, 0));\n const magB = Math.sqrt(vecB.reduce((sum, value) => sum + value ** 2, 0));\n\n if (magA === 0 || magB === 0) {\n throw new ValueError(\"Vectors cannot not have zero magnitude\");\n }\n return dot / (magA * magB);\n}\n\nexport function cosineSimilarityMatrix(matrixA: number[][], matrixB: number[][]): number[][] {\n if ((matrixA[0]?.length ?? 0) !== (matrixA[0]?.length ?? 0)) {\n throw new ValueError(\"Matrices must have the same number of columns.\");\n }\n\n return matrixA.map((rowA) => matrixB.map((rowB) => cosineSimilarity(rowA, rowB)));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/math.ts"],"names":["cosineSimilarity","vecA","vecB","length","ValueError","dot","reduce","sum","value","index","magA","Math","sqrt","magB","cosineSimilarityMatrix","matrixA","matrixB","map","rowA","rowB"],"mappings":";;;;AAOO,SAASA,gBAAAA,CAAiBC,MAAgBC,IAAAA,EAAc;AAC7D,EAAA,IAAID,IAAAA,CAAKE,MAAAA,KAAWD,IAAAA,CAAKC,MAAAA,EAAQ;AAC/B,IAAA,MAAM,IAAIC,WAAW,gCAAA,CAAA;AACvB;AAEA,EAAA,MAAMC,GAAAA,GAAMJ,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,EAAOC,KAAAA,KAAUF,GAAAA,GAAMC,KAAAA,GAAQN,IAAAA,CAAKO,KAAAA,CAAAA,EAAQ,CAAA,CAAA;AAC1E,EAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKC,IAAAA,CAAKX,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AACrE,EAAA,MAAMK,IAAAA,GAAOF,IAAAA,CAAKC,IAAAA,CAAKV,IAAAA,CAAKI,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AAErE,EAAA,IAAIE,IAAAA,KAAS,CAAA,IAAKG,IAAAA,KAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIT,WAAW,wCAAA,CAAA;AACvB;AACA,EAAA,OAAOC,OAAOK,IAAAA,GAAOG,IAAAA,CAAAA;AACvB;AAbgBb,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAeT,SAASc,sBAAAA,CAAuBC,SAAqBC,OAAAA,EAAmB;AAC7E,EAAA,IAAA,CAAKD,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,QAAQY,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,CAAA,CAAA,EAAI;AAC3D,IAAA,MAAM,IAAIC,WAAW,gDAAA,CAAA;AACvB;AAEA,EAAA,OAAOW,OAAAA,CAAQE,GAAAA,CAAI,CAACC,IAAAA,KAASF,OAAAA,CAAQC,GAAAA,CAAI,CAACE,IAAAA,KAASnB,gBAAAA,CAAiBkB,IAAAA,EAAMC,IAAAA,CAAAA,CAAAA,CAAAA;AAC5E;AANgBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"math.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\n\nexport function cosineSimilarity(vecA: number[], vecB: number[]): number {\n if (vecA.length !== vecB.length) {\n throw new ValueError(\"Vectors must have equal length\");\n }\n // (cos θ) = (A · B) / (|A| * |B|)\n const dot = vecA.reduce((sum, value, index) => sum + value * vecB[index], 0);\n const magA = Math.sqrt(vecA.reduce((sum, value) => sum + value ** 2, 0));\n const magB = Math.sqrt(vecB.reduce((sum, value) => sum + value ** 2, 0));\n\n if (magA === 0 || magB === 0) {\n throw new ValueError(\"Vectors cannot not have zero magnitude\");\n }\n return dot / (magA * magB);\n}\n\nexport function cosineSimilarityMatrix(matrixA: number[][], matrixB: number[][]): number[][] {\n if ((matrixA[0]?.length ?? 0) !== (matrixA[0]?.length ?? 0)) {\n throw new ValueError(\"Matrices must have the same number of columns.\");\n }\n\n return matrixA.map((rowA) => matrixB.map((rowB) => cosineSimilarity(rowA, rowB)));\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/math.ts"],"names":["cosineSimilarity","vecA","vecB","length","ValueError","dot","reduce","sum","value","index","magA","Math","sqrt","magB","cosineSimilarityMatrix","matrixA","matrixB","map","rowA","rowB"],"mappings":";;;;AAOO,SAASA,gBAAAA,CAAiBC,MAAgBC,IAAAA,EAAc;AAC7D,EAAA,IAAID,IAAAA,CAAKE,MAAAA,KAAWD,IAAAA,CAAKC,MAAAA,EAAQ;AAC/B,IAAA,MAAM,IAAIC,WAAW,gCAAA,CAAA;AACvB,EAAA;AAEA,EAAA,MAAMC,GAAAA,GAAMJ,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,EAAOC,KAAAA,KAAUF,GAAAA,GAAMC,KAAAA,GAAQN,IAAAA,CAAKO,KAAAA,CAAAA,EAAQ,CAAA,CAAA;AAC1E,EAAA,MAAMC,IAAAA,GAAOC,IAAAA,CAAKC,IAAAA,CAAKX,IAAAA,CAAKK,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AACrE,EAAA,MAAMK,IAAAA,GAAOF,IAAAA,CAAKC,IAAAA,CAAKV,IAAAA,CAAKI,MAAAA,CAAO,CAACC,GAAAA,EAAKC,KAAAA,KAAUD,GAAAA,GAAMC,KAAAA,IAAS,CAAA,EAAG,CAAA,CAAA,CAAA;AAErE,EAAA,IAAIE,IAAAA,KAAS,CAAA,IAAKG,IAAAA,KAAS,CAAA,EAAG;AAC5B,IAAA,MAAM,IAAIT,WAAW,wCAAA,CAAA;AACvB,EAAA;AACA,EAAA,OAAOC,OAAOK,IAAAA,GAAOG,IAAAA,CAAAA;AACvB;AAbgBb,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA;AAeT,SAASc,sBAAAA,CAAuBC,SAAqBC,OAAAA,EAAmB;AAC7E,EAAA,IAAA,CAAKD,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,QAAQY,OAAAA,CAAQ,CAAA,CAAA,EAAIZ,MAAAA,IAAU,CAAA,CAAA,EAAI;AAC3D,IAAA,MAAM,IAAIC,WAAW,gDAAA,CAAA;AACvB,EAAA;AAEA,EAAA,OAAOW,OAAAA,CAAQE,GAAAA,CAAI,CAACC,IAAAA,KAASF,OAAAA,CAAQC,GAAAA,CAAI,CAACE,IAAAA,KAASnB,gBAAAA,CAAiBkB,IAAAA,EAAMC,IAAAA,CAAAA,CAAAA,CAAAA;AAC5E;AANgBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"math.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ValueError } from \"@/errors.js\";\n\nexport function cosineSimilarity(vecA: number[], vecB: number[]): number {\n if (vecA.length !== vecB.length) {\n throw new ValueError(\"Vectors must have equal length\");\n }\n // (cos θ) = (A · B) / (|A| * |B|)\n const dot = vecA.reduce((sum, value, index) => sum + value * vecB[index], 0);\n const magA = Math.sqrt(vecA.reduce((sum, value) => sum + value ** 2, 0));\n const magB = Math.sqrt(vecB.reduce((sum, value) => sum + value ** 2, 0));\n\n if (magA === 0 || magB === 0) {\n throw new ValueError(\"Vectors cannot not have zero magnitude\");\n }\n return dot / (magA * magB);\n}\n\nexport function cosineSimilarityMatrix(matrixA: number[][], matrixB: number[][]): number[][] {\n if ((matrixA[0]?.length ?? 0) !== (matrixA[0]?.length ?? 0)) {\n throw new ValueError(\"Matrices must have the same number of columns.\");\n }\n\n return matrixA.map((rowA) => matrixB.map((rowB) => cosineSimilarity(rowA, rowB)));\n}\n"]}
@@ -42,14 +42,20 @@ function hasProps(keys) {
42
42
  return (target) => keys.every((key) => hasProp(target, key));
43
43
  }
44
44
  __name(hasProps, "hasProps");
45
+ const UnsafePathKeys = /* @__PURE__ */ new Set([
46
+ "__proto__"
47
+ ]);
45
48
  function setProp(target, paths, value) {
46
49
  for (const entry of paths.entries()) {
47
50
  const [idx, key] = entry;
51
+ if (UnsafePathKeys.has(key)) {
52
+ throw new TypeError(`Cannot assign unsafe object path key "${String(key)}"`);
53
+ }
48
54
  if (!R__namespace.isPlainObject(target) && !R__namespace.isArray(target)) {
49
55
  throw new TypeError("Only plain objects and arrays are supported!");
50
56
  }
51
57
  const isLast = idx === paths.length - 1;
52
- const newValue = isLast ? value : target[key] ?? {};
58
+ const newValue = isLast ? value : hasProp(target, key) ? target[key] : {};
53
59
  Object.assign(target, {
54
60
  [key]: newValue
55
61
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e","getLast","iterable","iterator","Symbol","result","done","arguments","Error","lastValue"],"mappings":"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","file":"object.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n\nexport function getLast<T>(iterable: Iterable<T>, fallback?: T): T {\n const iterator = iterable[Symbol.iterator]();\n let result = iterator.next();\n\n if (result.done) {\n if (arguments.length < 2) {\n throw new Error(`Target is empty.`);\n }\n return fallback as T;\n }\n\n let lastValue: T;\n do {\n lastValue = result.value;\n result = iterator.next();\n } while (!result.done);\n\n return lastValue;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","UnsafePathKeys","Set","setProp","paths","value","entry","entries","idx","has","TypeError","String","isPlainObject","isArray","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e","getLast","iterable","iterator","Symbol","result","done","arguments","Error","lastValue"],"mappings":"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","file":"object.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nconst UnsafePathKeys = new Set<keyof any>([\"__proto__\"]);\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (UnsafePathKeys.has(key)) {\n throw new TypeError(`Cannot assign unsafe object path key \"${String(key)}\"`);\n }\n\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : hasProp(target, key) ? target[key] : {};\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n\nexport function getLast<T>(iterable: Iterable<T>, fallback?: T): T {\n const iterator = iterable[Symbol.iterator]();\n let result = iterator.next();\n\n if (result.done) {\n if (arguments.length < 2) {\n throw new Error(`Target is empty.`);\n }\n return fallback as T;\n }\n\n let lastValue: T;\n do {\n lastValue = result.value;\n result = iterator.next();\n } while (!result.done);\n\n return lastValue;\n}\n"]}
@@ -20,14 +20,20 @@ function hasProps(keys) {
20
20
  return (target) => keys.every((key) => hasProp(target, key));
21
21
  }
22
22
  __name(hasProps, "hasProps");
23
+ const UnsafePathKeys = /* @__PURE__ */ new Set([
24
+ "__proto__"
25
+ ]);
23
26
  function setProp(target, paths, value) {
24
27
  for (const entry of paths.entries()) {
25
28
  const [idx, key] = entry;
29
+ if (UnsafePathKeys.has(key)) {
30
+ throw new TypeError(`Cannot assign unsafe object path key "${String(key)}"`);
31
+ }
26
32
  if (!R.isPlainObject(target) && !R.isArray(target)) {
27
33
  throw new TypeError("Only plain objects and arrays are supported!");
28
34
  }
29
35
  const isLast = idx === paths.length - 1;
30
- const newValue = isLast ? value : target[key] ?? {};
36
+ const newValue = isLast ? value : hasProp(target, key) ? target[key] : {};
31
37
  Object.assign(target, {
32
38
  [key]: newValue
33
39
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","setProp","paths","value","entry","entries","idx","isPlainObject","isArray","TypeError","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e","getLast","iterable","iterator","Symbol","result","done","arguments","Error","lastValue"],"mappings":"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","file":"object.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : (target[key] ?? {});\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n\nexport function getLast<T>(iterable: Iterable<T>, fallback?: T): T {\n const iterator = iterable[Symbol.iterator]();\n let result = iterator.next();\n\n if (result.done) {\n if (arguments.length < 2) {\n throw new Error(`Target is empty.`);\n }\n return fallback as T;\n }\n\n let lastValue: T;\n do {\n lastValue = result.value;\n result = iterator.next();\n } while (!result.done);\n\n return lastValue;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/object.ts"],"names":["assignFactory","target","source","Object","assign","a","b","omitEmptyValues","R","pickBy","isTruthy","omitUndefined","isDefined","hasProp","key","Boolean","prototype","hasOwnProperty","call","hasProps","keys","every","UnsafePathKeys","Set","setProp","paths","value","entry","entries","idx","has","TypeError","String","isPlainObject","isArray","isLast","length","newValue","getPropStrict","path","getProp","defaultValue","undefined","popProp","fallback","updateObject","old","update","val","existing","FrameworkError","context","customMerge","results","processors","finalResult","next","oldValue","takeFirstBy","mapObj","obj","fn","updated","pair","safeDefineProperty","get","defineProperty","enumerable","configurable","e","getLast","iterable","iterator","Symbol","result","done","arguments","Error","lastValue"],"mappings":"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","file":"object.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as R from \"remeda\";\nimport { FrameworkError } from \"@/errors.js\";\n\nexport type Override<T, T2 extends Partial<T>> = {\n [K in keyof T2]: K extends keyof T ? T2[K] : never;\n};\n\nexport function assignFactory<T extends NonNullable<unknown>, T2 extends Partial<T>>(target: T) {\n return (source: NonNullable<Override<T, T2>>) => {\n Object.assign(target, source);\n };\n}\n\nexport const assign = <T extends NonNullable<unknown>, T2 extends Partial<T>>(\n a: T,\n b: NonNullable<Override<T, T2>>,\n) => assignFactory(a)(b);\nexport const omitEmptyValues = R.pickBy(R.isTruthy);\nexport const omitUndefined = R.pickBy(R.isDefined);\n\nexport function hasProp<T>(target: T | undefined, key: keyof T): key is keyof T {\n return Boolean(target) && Object.prototype.hasOwnProperty.call(target, key);\n}\n\nexport function hasProps<T>(keys: (keyof T)[]) {\n return (target: T | undefined) => keys.every((key) => hasProp(target, key));\n}\n\nconst UnsafePathKeys = new Set<keyof any>([\"__proto__\"]);\n\nexport function setProp(target: unknown, paths: readonly (keyof any)[], value: unknown) {\n for (const entry of paths.entries()) {\n const [idx, key] = entry as [number, keyof object];\n if (UnsafePathKeys.has(key)) {\n throw new TypeError(`Cannot assign unsafe object path key \"${String(key)}\"`);\n }\n\n if (!R.isPlainObject(target) && !R.isArray(target)) {\n throw new TypeError(\"Only plain objects and arrays are supported!\");\n }\n\n const isLast = idx === paths.length - 1;\n const newValue = isLast ? value : hasProp(target, key) ? target[key] : {};\n Object.assign(target, { [key]: newValue });\n target = target[key];\n }\n}\n\nexport function getPropStrict(target: NonNullable<unknown>, path: string): any {\n if (!target || !(path in target)) {\n throw new TypeError(`Target does not contain key \"${path}\"`);\n }\n return target[path as keyof typeof target];\n}\n\nexport function getProp(\n target: unknown,\n paths: readonly (keyof any)[],\n defaultValue: any = undefined,\n) {\n let value: any = target;\n if (!value) {\n return undefined;\n }\n\n for (const key of paths) {\n if (!hasProp(value, key)) {\n return defaultValue;\n }\n value = value[key];\n }\n return value;\n}\n\nexport function popProp<T, K extends keyof T>(\n target: T,\n key: K,\n fallback: T[K] | null = null,\n): T[K] | null {\n if (!hasProp(target, key)) {\n return fallback;\n }\n const value = getProp(target, [key]);\n try {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete target[key];\n } catch {\n /* empty */\n }\n return value;\n}\n\nexport function updateObject<T extends object, L extends object>(\n old: T,\n update: L,\n): asserts old is T & L {\n for (const [key, val] of Object.entries(update)) {\n const existing = old[key as keyof T];\n if (existing !== undefined && existing !== null) {\n throw new FrameworkError(\n `Cannot update object. Key '${key}' already exists and is defined.`,\n [],\n {\n context: {\n existing,\n update: val,\n },\n },\n );\n }\n old[key as keyof T] = val;\n }\n}\n\nexport function customMerge<T extends NonNullable<unknown>>(\n results: T[],\n processors: {\n [K in keyof T]: (value: T[K], oldValue: T[K]) => T[K];\n },\n) {\n if (results.length === 0) {\n throw new TypeError(\"Cannot merge content of an empty array!\");\n }\n\n const finalResult = {} as T;\n for (const next of results) {\n for (const [key, value] of R.entries(next)) {\n const oldValue = finalResult[key as keyof T];\n // @ts-expect-error weak typing due to generated types\n finalResult[key] = (processors[key] ?? R.takeFirstBy(1))(value, oldValue);\n }\n }\n return finalResult;\n}\n\nexport function mapObj<T extends object>(obj: T) {\n return function <K extends keyof T, R = T[K]>(\n fn: (key: K, value: T[K]) => R,\n ): Record<keyof T, R> {\n const updated = {} as Record<keyof T, R>;\n for (const pair of Object.entries(obj)) {\n const [key, value] = pair as [K, T[K]];\n updated[key] = fn(key, value);\n }\n return updated;\n };\n}\n\nexport function safeDefineProperty<T, K extends keyof T>(target: T, key: K, get: () => T[K]) {\n try {\n Object.defineProperty(target, key, {\n enumerable: false,\n configurable: false,\n get() {\n return get();\n },\n });\n } catch (e) {\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n}\n\nexport function getLast<T>(iterable: Iterable<T>, fallback?: T): T {\n const iterator = iterable[Symbol.iterator]();\n let result = iterator.next();\n\n if (result.done) {\n if (arguments.length < 2) {\n throw new Error(`Target is empty.`);\n }\n return fallback as T;\n }\n\n let lastValue: T;\n do {\n lastValue = result.value;\n result = iterator.next();\n } while (!result.done);\n\n return lastValue;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/paginate.ts"],"names":["paginate","input","acc","cursor","undefined","length","size","data","nextCursor","handler","limit","push"],"mappings":";;;;AAUA,eAAsBA,SAAwBC,KAAAA,EAA0B;AACtE,EAAA,MAAMC,MAAW,EAAA;AACjB,EAAA,IAAIC,MAAAA,GAAwBC,MAAAA;AAC5B,EAAA,OAAOF,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC9B,IAAA,MAAM,EAAEC,IAAAA,EAAMC,UAAAA,EAAU,GAAK,MAAMP,MAAMQ,OAAAA,CAAQ;AAC/CN,MAAAA,MAAAA;MACAO,KAAAA,EAAOT,KAAAA,CAAMK,OAAOJ,GAAAA,CAAIG;KAC1B,CAAA;AACAH,IAAAA,GAAAA,CAAIS,IAAAA,CAAI,GAAIJ,IAAAA,CAAAA;AAEZ,IAAA,IAAIC,UAAAA,KAAeJ,MAAAA,IAAaG,IAAAA,CAAKF,MAAAA,KAAW,CAAA,EAAG;AACjD,MAAA;AACF;AACAF,IAAAA,MAAAA,GAASK,UAAAA;AACX;AAEA,EAAA,IAAIN,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC3BJ,IAAAA,GAAAA,CAAIG,SAASJ,KAAAA,CAAMK,IAAAA;AACrB;AAEA,EAAA,OAAOJ,GAAAA;AACT;AArBsBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"paginate.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface PaginateInput<T, C> {\n size: number;\n handler: (data: { cursor?: C; limit: number }) => Promise<{ data: T[]; nextCursor?: C }>;\n}\n\nexport async function paginate<T, C = number>(input: PaginateInput<T, C>): Promise<T[]> {\n const acc: T[] = [];\n let cursor: C | undefined = undefined;\n while (acc.length < input.size) {\n const { data, nextCursor } = await input.handler({\n cursor,\n limit: input.size - acc.length,\n });\n acc.push(...data);\n\n if (nextCursor === undefined || data.length === 0) {\n break;\n }\n cursor = nextCursor;\n }\n\n if (acc.length > input.size) {\n acc.length = input.size;\n }\n\n return acc;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/paginate.ts"],"names":["paginate","input","acc","cursor","undefined","length","size","data","nextCursor","handler","limit","push"],"mappings":";;;;AAUA,eAAsBA,SAAwBC,KAAAA,EAA0B;AACtE,EAAA,MAAMC,MAAW,EAAA;AACjB,EAAA,IAAIC,MAAAA,GAAwBC,MAAAA;AAC5B,EAAA,OAAOF,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC9B,IAAA,MAAM,EAAEC,IAAAA,EAAMC,UAAAA,EAAU,GAAK,MAAMP,MAAMQ,OAAAA,CAAQ;AAC/CN,MAAAA,MAAAA;MACAO,KAAAA,EAAOT,KAAAA,CAAMK,OAAOJ,GAAAA,CAAIG;KAC1B,CAAA;AACAH,IAAAA,GAAAA,CAAIS,IAAAA,CAAI,GAAIJ,IAAAA,CAAAA;AAEZ,IAAA,IAAIC,UAAAA,KAAeJ,MAAAA,IAAaG,IAAAA,CAAKF,MAAAA,KAAW,CAAA,EAAG;AACjD,MAAA;AACF,IAAA;AACAF,IAAAA,MAAAA,GAASK,UAAAA;AACX,EAAA;AAEA,EAAA,IAAIN,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC3BJ,IAAAA,GAAAA,CAAIG,SAASJ,KAAAA,CAAMK,IAAAA;AACrB,EAAA;AAEA,EAAA,OAAOJ,GAAAA;AACT;AArBsBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"paginate.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface PaginateInput<T, C> {\n size: number;\n handler: (data: { cursor?: C; limit: number }) => Promise<{ data: T[]; nextCursor?: C }>;\n}\n\nexport async function paginate<T, C = number>(input: PaginateInput<T, C>): Promise<T[]> {\n const acc: T[] = [];\n let cursor: C | undefined = undefined;\n while (acc.length < input.size) {\n const { data, nextCursor } = await input.handler({\n cursor,\n limit: input.size - acc.length,\n });\n acc.push(...data);\n\n if (nextCursor === undefined || data.length === 0) {\n break;\n }\n cursor = nextCursor;\n }\n\n if (acc.length > input.size) {\n acc.length = input.size;\n }\n\n return acc;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/paginate.ts"],"names":["paginate","input","acc","cursor","undefined","length","size","data","nextCursor","handler","limit","push"],"mappings":";;AAUA,eAAsBA,SAAwBC,KAAAA,EAA0B;AACtE,EAAA,MAAMC,MAAW,EAAA;AACjB,EAAA,IAAIC,MAAAA,GAAwBC,MAAAA;AAC5B,EAAA,OAAOF,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC9B,IAAA,MAAM,EAAEC,IAAAA,EAAMC,UAAAA,EAAU,GAAK,MAAMP,MAAMQ,OAAAA,CAAQ;AAC/CN,MAAAA,MAAAA;MACAO,KAAAA,EAAOT,KAAAA,CAAMK,OAAOJ,GAAAA,CAAIG;KAC1B,CAAA;AACAH,IAAAA,GAAAA,CAAIS,IAAAA,CAAI,GAAIJ,IAAAA,CAAAA;AAEZ,IAAA,IAAIC,UAAAA,KAAeJ,MAAAA,IAAaG,IAAAA,CAAKF,MAAAA,KAAW,CAAA,EAAG;AACjD,MAAA;AACF;AACAF,IAAAA,MAAAA,GAASK,UAAAA;AACX;AAEA,EAAA,IAAIN,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC3BJ,IAAAA,GAAAA,CAAIG,SAASJ,KAAAA,CAAMK,IAAAA;AACrB;AAEA,EAAA,OAAOJ,GAAAA;AACT;AArBsBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"paginate.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface PaginateInput<T, C> {\n size: number;\n handler: (data: { cursor?: C; limit: number }) => Promise<{ data: T[]; nextCursor?: C }>;\n}\n\nexport async function paginate<T, C = number>(input: PaginateInput<T, C>): Promise<T[]> {\n const acc: T[] = [];\n let cursor: C | undefined = undefined;\n while (acc.length < input.size) {\n const { data, nextCursor } = await input.handler({\n cursor,\n limit: input.size - acc.length,\n });\n acc.push(...data);\n\n if (nextCursor === undefined || data.length === 0) {\n break;\n }\n cursor = nextCursor;\n }\n\n if (acc.length > input.size) {\n acc.length = input.size;\n }\n\n return acc;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/paginate.ts"],"names":["paginate","input","acc","cursor","undefined","length","size","data","nextCursor","handler","limit","push"],"mappings":";;AAUA,eAAsBA,SAAwBC,KAAAA,EAA0B;AACtE,EAAA,MAAMC,MAAW,EAAA;AACjB,EAAA,IAAIC,MAAAA,GAAwBC,MAAAA;AAC5B,EAAA,OAAOF,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC9B,IAAA,MAAM,EAAEC,IAAAA,EAAMC,UAAAA,EAAU,GAAK,MAAMP,MAAMQ,OAAAA,CAAQ;AAC/CN,MAAAA,MAAAA;MACAO,KAAAA,EAAOT,KAAAA,CAAMK,OAAOJ,GAAAA,CAAIG;KAC1B,CAAA;AACAH,IAAAA,GAAAA,CAAIS,IAAAA,CAAI,GAAIJ,IAAAA,CAAAA;AAEZ,IAAA,IAAIC,UAAAA,KAAeJ,MAAAA,IAAaG,IAAAA,CAAKF,MAAAA,KAAW,CAAA,EAAG;AACjD,MAAA;AACF,IAAA;AACAF,IAAAA,MAAAA,GAASK,UAAAA;AACX,EAAA;AAEA,EAAA,IAAIN,GAAAA,CAAIG,MAAAA,GAASJ,KAAAA,CAAMK,IAAAA,EAAM;AAC3BJ,IAAAA,GAAAA,CAAIG,SAASJ,KAAAA,CAAMK,IAAAA;AACrB,EAAA;AAEA,EAAA,OAAOJ,GAAAA;AACT;AArBsBF,MAAAA,CAAAA,QAAAA,EAAAA,UAAAA,CAAAA","file":"paginate.js","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface PaginateInput<T, C> {\n size: number;\n handler: (data: { cursor?: C; limit: number }) => Promise<{ data: T[]; nextCursor?: C }>;\n}\n\nexport async function paginate<T, C = number>(input: PaginateInput<T, C>): Promise<T[]> {\n const acc: T[] = [];\n let cursor: C | undefined = undefined;\n while (acc.length < input.size) {\n const { data, nextCursor } = await input.handler({\n cursor,\n limit: input.size - acc.length,\n });\n acc.push(...data);\n\n if (nextCursor === undefined || data.length === 0) {\n break;\n }\n cursor = nextCursor;\n }\n\n if (acc.length > input.size) {\n acc.length = input.size;\n }\n\n return acc;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/internals/helpers/promise.ts"],"names":["isPromiseLike","value","isPromise","isFunction","getProp","arrayFromAsync","generator","limit","Infinity","results","chunk","length","push","emitterToGenerator","fn","queue","emit","data","then","done","catch","error","Promise","resolve","setImmediate","shift","asyncProperties","obj","Object","fromEntries","all","entries","map","key","safeExecute","handler","onError","onSuccess","result","err","e","asyncExecute","LazyPromise","Symbol","toStringTag","before","onfulfilled","onrejected","undefined","finally","onfinally","signalRace","signal","onAbort","reject","aborted","reason","signalFn","addEventListener","removeEventListener","executeSequentially","tasks","task","toAsyncGenerator","promise"],"mappings":"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","file":"promise.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isFunction, isPromise } from \"remeda\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n return isPromise(value) || isFunction(getProp(value, [\"then\"]));\n}\n\nexport async function arrayFromAsync<A, B>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A> | AsyncIterable<A>,\n limit?: number,\n) {\n limit = limit ?? Infinity;\n const results: A[] = [];\n for await (const chunk of generator) {\n if (results.length >= limit) {\n break;\n }\n results.push(chunk);\n }\n return results;\n}\n\nexport type EmitterToGeneratorFn<T, R> = (data: { emit: (data: T) => void }) => Promise<R>;\nexport async function* emitterToGenerator<T, R>(fn: EmitterToGeneratorFn<T, R>) {\n interface Data {\n data?: T;\n error?: Error;\n done?: boolean;\n }\n\n const queue: Data[] = [];\n void fn({\n emit: (data: T) => queue.push({ data }),\n })\n .then(() => queue.push({ done: true }))\n .catch((error) => queue.push({ error, done: true }));\n\n while (true) {\n while (queue.length === 0) {\n await new Promise((resolve) => setImmediate(resolve));\n }\n\n const { data, done, error } = queue.shift()!;\n if (error) {\n throw error;\n }\n if (done) {\n break;\n }\n yield data!;\n }\n}\n\nexport async function asyncProperties<T extends NonNullable<unknown>>(\n obj: T,\n): Promise<{ [K in keyof T]: Awaited<T[K]> }> {\n return Object.fromEntries(\n await Promise.all(Object.entries(obj).map(async ([key, value]) => [key, await value])),\n );\n}\n\ninterface SafeExecuteOptions<T> {\n handler: () => T;\n onSuccess?: (result: T) => void;\n onError?: (err: Error) => void;\n}\n\nexport function safeExecute<T>({ handler, onError, onSuccess }: SafeExecuteOptions<T>): void {\n try {\n const result = handler();\n if (isPromiseLike<T>(result)) {\n result.then(\n (result) => onSuccess?.(result),\n (err) => onError?.(err),\n );\n } else {\n onSuccess?.(result);\n }\n } catch (e) {\n onError?.(e);\n }\n}\n\nexport function asyncExecute<R>(handler: () => R): Promise<R> {\n return new Promise((onSuccess, onError) => {\n safeExecute({\n handler,\n onSuccess,\n onError,\n });\n });\n}\n\nexport class LazyPromise<R> implements Promise<R> {\n constructor(protected readonly handler: () => Promise<R>) {}\n\n readonly [Symbol.toStringTag] = \"Promise\";\n\n protected async before(): Promise<void> {}\n\n then<TResult1 = R, TResult2 = never>(\n onfulfilled?: ((value: R) => PromiseLike<TResult1> | TResult1) | undefined | null,\n onrejected?: ((reason: any) => PromiseLike<TResult2> | TResult2) | undefined | null,\n ): Promise<TResult1 | TResult2> {\n return this.before().then(this.handler).then(onfulfilled).catch(onrejected);\n }\n\n catch<TResult = never>(\n onrejected?: ((reason: any) => PromiseLike<TResult> | TResult) | undefined | null,\n ): Promise<R | TResult> {\n return this.before().then(this.handler).then(undefined).catch(onrejected);\n }\n\n finally(onfinally?: (() => void) | undefined | null): Promise<R> {\n return this.before().then(this.handler).finally(onfinally);\n }\n}\n\nexport async function signalRace<R>(\n fn: () => Promise<R>,\n signal?: AbortSignal,\n onAbort?: () => void,\n): Promise<R> {\n return new Promise<R>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason);\n return;\n }\n\n const signalFn = () => {\n onAbort?.();\n reject(signal?.reason);\n };\n signal?.addEventListener?.(\"abort\", signalFn);\n fn()\n .then(resolve)\n .catch(reject)\n .finally(() => signal?.removeEventListener?.(\"abort\", signalFn));\n });\n}\n\nexport async function executeSequentially(tasks: (() => Promise<any>)[]): Promise<void> {\n for (const task of tasks) {\n await task();\n }\n}\n\nexport async function* toAsyncGenerator<T>(promise: T): AsyncGenerator<Awaited<T>> {\n yield await promise;\n}\n"]}
1
+ {"version":3,"sources":["../../../src/internals/helpers/promise.ts"],"names":["isPromiseLike","value","isPromise","isFunction","getProp","arrayFromAsync","generator","limit","Infinity","results","chunk","length","push","emitterToGenerator","fn","queue","emit","data","then","done","catch","error","Promise","resolve","setImmediate","shift","asyncProperties","obj","Object","fromEntries","all","entries","map","key","safeExecute","handler","onError","onSuccess","result","err","e","asyncExecute","LazyPromise","Symbol","toStringTag","before","onfulfilled","onrejected","undefined","finally","onfinally","signalRace","signal","onAbort","reject","aborted","reason","signalFn","addEventListener","removeEventListener","executeSequentially","tasks","task","toAsyncGenerator","promise"],"mappings":"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","file":"promise.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isFunction, isPromise } from \"remeda\";\nimport { getProp } from \"@/internals/helpers/object.js\";\n\nexport function isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n return isPromise(value) || isFunction(getProp(value, [\"then\"]));\n}\n\nexport async function arrayFromAsync<A, B>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A> | AsyncIterable<A>,\n limit?: number,\n) {\n limit = limit ?? Infinity;\n const results: A[] = [];\n for await (const chunk of generator) {\n if (results.length >= limit) {\n break;\n }\n results.push(chunk);\n }\n return results;\n}\n\nexport type EmitterToGeneratorFn<T, R> = (data: { emit: (data: T) => void }) => Promise<R>;\nexport async function* emitterToGenerator<T, R>(fn: EmitterToGeneratorFn<T, R>) {\n interface Data {\n data?: T;\n error?: Error;\n done?: boolean;\n }\n\n const queue: Data[] = [];\n void fn({\n emit: (data: T) => queue.push({ data }),\n })\n .then(() => queue.push({ done: true }))\n .catch((error) => queue.push({ error, done: true }));\n\n while (true) {\n while (queue.length === 0) {\n await new Promise((resolve) => setImmediate(resolve));\n }\n\n const { data, done, error } = queue.shift()!;\n if (error) {\n throw error;\n }\n if (done) {\n break;\n }\n yield data!;\n }\n}\n\nexport async function asyncProperties<T extends NonNullable<unknown>>(\n obj: T,\n): Promise<{ [K in keyof T]: Awaited<T[K]> }> {\n return Object.fromEntries(\n await Promise.all(Object.entries(obj).map(async ([key, value]) => [key, await value])),\n );\n}\n\ninterface SafeExecuteOptions<T> {\n handler: () => T;\n onSuccess?: (result: T) => void;\n onError?: (err: Error) => void;\n}\n\nexport function safeExecute<T>({ handler, onError, onSuccess }: SafeExecuteOptions<T>): void {\n try {\n const result = handler();\n if (isPromiseLike<T>(result)) {\n result.then(\n (result) => onSuccess?.(result),\n (err) => onError?.(err),\n );\n } else {\n onSuccess?.(result);\n }\n } catch (e) {\n onError?.(e);\n }\n}\n\nexport function asyncExecute<R>(handler: () => R): Promise<R> {\n return new Promise((onSuccess, onError) => {\n safeExecute({\n handler,\n onSuccess,\n onError,\n });\n });\n}\n\nexport class LazyPromise<R> implements Promise<R> {\n constructor(protected readonly handler: () => Promise<R>) {}\n\n readonly [Symbol.toStringTag] = \"Promise\";\n\n protected async before(): Promise<void> {}\n\n then<TResult1 = R, TResult2 = never>(\n onfulfilled?: ((value: R) => PromiseLike<TResult1> | TResult1) | undefined | null,\n onrejected?: ((reason: any) => PromiseLike<TResult2> | TResult2) | undefined | null,\n ): Promise<TResult1 | TResult2> {\n return this.before().then(this.handler).then(onfulfilled).catch(onrejected);\n }\n\n catch<TResult = never>(\n onrejected?: ((reason: any) => PromiseLike<TResult> | TResult) | undefined | null,\n ): Promise<R | TResult> {\n return this.before().then(this.handler).then(undefined).catch(onrejected);\n }\n\n finally(onfinally?: (() => void) | undefined | null): Promise<R> {\n return this.before().then(this.handler).finally(onfinally);\n }\n}\n\nexport async function signalRace<R>(\n fn: () => Promise<R>,\n signal?: AbortSignal,\n onAbort?: () => void,\n): Promise<R> {\n return new Promise<R>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason);\n return;\n }\n\n const signalFn = () => {\n onAbort?.();\n reject(signal?.reason);\n };\n signal?.addEventListener?.(\"abort\", signalFn);\n fn()\n .then(resolve)\n .catch(reject)\n .finally(() => signal?.removeEventListener?.(\"abort\", signalFn));\n });\n}\n\nexport async function executeSequentially(tasks: (() => Promise<any>)[]): Promise<void> {\n for (const task of tasks) {\n await task();\n }\n}\n\nexport async function* toAsyncGenerator<T>(promise: T): AsyncGenerator<Awaited<T>> {\n yield await promise;\n}\n"]}