beeai-framework 0.1.2

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 (862) hide show
  1. package/README.md +226 -0
  2. package/dist/adapters/amazon-bedrock/backend/chat.cjs +21 -0
  3. package/dist/adapters/amazon-bedrock/backend/chat.cjs.map +1 -0
  4. package/dist/adapters/amazon-bedrock/backend/chat.d.cts +49 -0
  5. package/dist/adapters/amazon-bedrock/backend/chat.d.ts +49 -0
  6. package/dist/adapters/amazon-bedrock/backend/chat.js +19 -0
  7. package/dist/adapters/amazon-bedrock/backend/chat.js.map +1 -0
  8. package/dist/adapters/amazon-bedrock/backend/client.cjs +21 -0
  9. package/dist/adapters/amazon-bedrock/backend/client.cjs.map +1 -0
  10. package/dist/adapters/amazon-bedrock/backend/client.d.cts +28 -0
  11. package/dist/adapters/amazon-bedrock/backend/client.d.ts +28 -0
  12. package/dist/adapters/amazon-bedrock/backend/client.js +19 -0
  13. package/dist/adapters/amazon-bedrock/backend/client.js.map +1 -0
  14. package/dist/adapters/amazon-bedrock/backend/embedding.cjs +21 -0
  15. package/dist/adapters/amazon-bedrock/backend/embedding.cjs.map +1 -0
  16. package/dist/adapters/amazon-bedrock/backend/embedding.d.cts +40 -0
  17. package/dist/adapters/amazon-bedrock/backend/embedding.d.ts +40 -0
  18. package/dist/adapters/amazon-bedrock/backend/embedding.js +19 -0
  19. package/dist/adapters/amazon-bedrock/backend/embedding.js.map +1 -0
  20. package/dist/adapters/anthropic/backend/chat.cjs +24 -0
  21. package/dist/adapters/anthropic/backend/chat.cjs.map +1 -0
  22. package/dist/adapters/anthropic/backend/chat.d.cts +49 -0
  23. package/dist/adapters/anthropic/backend/chat.d.ts +49 -0
  24. package/dist/adapters/anthropic/backend/chat.js +22 -0
  25. package/dist/adapters/anthropic/backend/chat.js.map +1 -0
  26. package/dist/adapters/anthropic/backend/client.cjs +32 -0
  27. package/dist/adapters/anthropic/backend/client.cjs.map +1 -0
  28. package/dist/adapters/anthropic/backend/client.d.cts +28 -0
  29. package/dist/adapters/anthropic/backend/client.d.ts +28 -0
  30. package/dist/adapters/anthropic/backend/client.js +30 -0
  31. package/dist/adapters/anthropic/backend/client.js.map +1 -0
  32. package/dist/adapters/anthropic/backend/embedding.cjs +21 -0
  33. package/dist/adapters/anthropic/backend/embedding.cjs.map +1 -0
  34. package/dist/adapters/anthropic/backend/embedding.d.cts +40 -0
  35. package/dist/adapters/anthropic/backend/embedding.d.ts +40 -0
  36. package/dist/adapters/anthropic/backend/embedding.js +19 -0
  37. package/dist/adapters/anthropic/backend/embedding.js.map +1 -0
  38. package/dist/adapters/azure-openai/backend/chat.cjs +21 -0
  39. package/dist/adapters/azure-openai/backend/chat.cjs.map +1 -0
  40. package/dist/adapters/azure-openai/backend/chat.d.cts +49 -0
  41. package/dist/adapters/azure-openai/backend/chat.d.ts +49 -0
  42. package/dist/adapters/azure-openai/backend/chat.js +19 -0
  43. package/dist/adapters/azure-openai/backend/chat.js.map +1 -0
  44. package/dist/adapters/azure-openai/backend/client.cjs +26 -0
  45. package/dist/adapters/azure-openai/backend/client.cjs.map +1 -0
  46. package/dist/adapters/azure-openai/backend/client.d.cts +28 -0
  47. package/dist/adapters/azure-openai/backend/client.d.ts +28 -0
  48. package/dist/adapters/azure-openai/backend/client.js +24 -0
  49. package/dist/adapters/azure-openai/backend/client.js.map +1 -0
  50. package/dist/adapters/azure-openai/backend/embedding.cjs +21 -0
  51. package/dist/adapters/azure-openai/backend/embedding.cjs.map +1 -0
  52. package/dist/adapters/azure-openai/backend/embedding.d.cts +40 -0
  53. package/dist/adapters/azure-openai/backend/embedding.d.ts +40 -0
  54. package/dist/adapters/azure-openai/backend/embedding.js +19 -0
  55. package/dist/adapters/azure-openai/backend/embedding.js.map +1 -0
  56. package/dist/adapters/dummy/backend/chat.cjs +51 -0
  57. package/dist/adapters/dummy/backend/chat.cjs.map +1 -0
  58. package/dist/adapters/dummy/backend/chat.d.cts +39 -0
  59. package/dist/adapters/dummy/backend/chat.d.ts +39 -0
  60. package/dist/adapters/dummy/backend/chat.js +49 -0
  61. package/dist/adapters/dummy/backend/chat.js.map +1 -0
  62. package/dist/adapters/dummy/backend/embedding.cjs +44 -0
  63. package/dist/adapters/dummy/backend/embedding.cjs.map +1 -0
  64. package/dist/adapters/dummy/backend/embedding.d.cts +41 -0
  65. package/dist/adapters/dummy/backend/embedding.d.ts +41 -0
  66. package/dist/adapters/dummy/backend/embedding.js +42 -0
  67. package/dist/adapters/dummy/backend/embedding.js.map +1 -0
  68. package/dist/adapters/google-vertex/backend/chat.cjs +21 -0
  69. package/dist/adapters/google-vertex/backend/chat.cjs.map +1 -0
  70. package/dist/adapters/google-vertex/backend/chat.d.cts +49 -0
  71. package/dist/adapters/google-vertex/backend/chat.d.ts +49 -0
  72. package/dist/adapters/google-vertex/backend/chat.js +19 -0
  73. package/dist/adapters/google-vertex/backend/chat.js.map +1 -0
  74. package/dist/adapters/google-vertex/backend/client.cjs +25 -0
  75. package/dist/adapters/google-vertex/backend/client.cjs.map +1 -0
  76. package/dist/adapters/google-vertex/backend/client.d.cts +28 -0
  77. package/dist/adapters/google-vertex/backend/client.d.ts +28 -0
  78. package/dist/adapters/google-vertex/backend/client.js +23 -0
  79. package/dist/adapters/google-vertex/backend/client.js.map +1 -0
  80. package/dist/adapters/google-vertex/backend/embedding.cjs +21 -0
  81. package/dist/adapters/google-vertex/backend/embedding.cjs.map +1 -0
  82. package/dist/adapters/google-vertex/backend/embedding.d.cts +40 -0
  83. package/dist/adapters/google-vertex/backend/embedding.d.ts +40 -0
  84. package/dist/adapters/google-vertex/backend/embedding.js +19 -0
  85. package/dist/adapters/google-vertex/backend/embedding.js.map +1 -0
  86. package/dist/adapters/groq/backend/chat.cjs +24 -0
  87. package/dist/adapters/groq/backend/chat.cjs.map +1 -0
  88. package/dist/adapters/groq/backend/chat.d.cts +49 -0
  89. package/dist/adapters/groq/backend/chat.d.ts +49 -0
  90. package/dist/adapters/groq/backend/chat.js +22 -0
  91. package/dist/adapters/groq/backend/chat.js.map +1 -0
  92. package/dist/adapters/groq/backend/client.cjs +24 -0
  93. package/dist/adapters/groq/backend/client.cjs.map +1 -0
  94. package/dist/adapters/groq/backend/client.d.cts +28 -0
  95. package/dist/adapters/groq/backend/client.d.ts +28 -0
  96. package/dist/adapters/groq/backend/client.js +22 -0
  97. package/dist/adapters/groq/backend/client.js.map +1 -0
  98. package/dist/adapters/groq/backend/embedding.cjs +25 -0
  99. package/dist/adapters/groq/backend/embedding.cjs.map +1 -0
  100. package/dist/adapters/groq/backend/embedding.d.cts +40 -0
  101. package/dist/adapters/groq/backend/embedding.d.ts +40 -0
  102. package/dist/adapters/groq/backend/embedding.js +23 -0
  103. package/dist/adapters/groq/backend/embedding.js.map +1 -0
  104. package/dist/adapters/langchain/backend/chat.cjs +117 -0
  105. package/dist/adapters/langchain/backend/chat.cjs.map +1 -0
  106. package/dist/adapters/langchain/backend/chat.d.cts +48 -0
  107. package/dist/adapters/langchain/backend/chat.d.ts +48 -0
  108. package/dist/adapters/langchain/backend/chat.js +115 -0
  109. package/dist/adapters/langchain/backend/chat.js.map +1 -0
  110. package/dist/adapters/langchain/backend/embedding.cjs +56 -0
  111. package/dist/adapters/langchain/backend/embedding.cjs.map +1 -0
  112. package/dist/adapters/langchain/backend/embedding.d.cts +43 -0
  113. package/dist/adapters/langchain/backend/embedding.d.ts +43 -0
  114. package/dist/adapters/langchain/backend/embedding.js +54 -0
  115. package/dist/adapters/langchain/backend/embedding.js.map +1 -0
  116. package/dist/adapters/langchain/tools.cjs +114 -0
  117. package/dist/adapters/langchain/tools.cjs.map +1 -0
  118. package/dist/adapters/langchain/tools.d.cts +44 -0
  119. package/dist/adapters/langchain/tools.d.ts +44 -0
  120. package/dist/adapters/langchain/tools.js +92 -0
  121. package/dist/adapters/langchain/tools.js.map +1 -0
  122. package/dist/adapters/ollama/backend/chat.cjs +28 -0
  123. package/dist/adapters/ollama/backend/chat.cjs.map +1 -0
  124. package/dist/adapters/ollama/backend/chat.d.cts +50 -0
  125. package/dist/adapters/ollama/backend/chat.d.ts +50 -0
  126. package/dist/adapters/ollama/backend/chat.js +26 -0
  127. package/dist/adapters/ollama/backend/chat.js.map +1 -0
  128. package/dist/adapters/ollama/backend/client.cjs +23 -0
  129. package/dist/adapters/ollama/backend/client.cjs.map +1 -0
  130. package/dist/adapters/ollama/backend/client.d.cts +28 -0
  131. package/dist/adapters/ollama/backend/client.d.ts +28 -0
  132. package/dist/adapters/ollama/backend/client.js +21 -0
  133. package/dist/adapters/ollama/backend/client.js.map +1 -0
  134. package/dist/adapters/ollama/backend/embedding.cjs +21 -0
  135. package/dist/adapters/ollama/backend/embedding.cjs.map +1 -0
  136. package/dist/adapters/ollama/backend/embedding.d.cts +40 -0
  137. package/dist/adapters/ollama/backend/embedding.d.ts +40 -0
  138. package/dist/adapters/ollama/backend/embedding.js +19 -0
  139. package/dist/adapters/ollama/backend/embedding.js.map +1 -0
  140. package/dist/adapters/openai/backend/chat.cjs +21 -0
  141. package/dist/adapters/openai/backend/chat.cjs.map +1 -0
  142. package/dist/adapters/openai/backend/chat.d.cts +49 -0
  143. package/dist/adapters/openai/backend/chat.d.ts +49 -0
  144. package/dist/adapters/openai/backend/chat.js +19 -0
  145. package/dist/adapters/openai/backend/chat.js.map +1 -0
  146. package/dist/adapters/openai/backend/client.cjs +33 -0
  147. package/dist/adapters/openai/backend/client.cjs.map +1 -0
  148. package/dist/adapters/openai/backend/client.d.cts +28 -0
  149. package/dist/adapters/openai/backend/client.d.ts +28 -0
  150. package/dist/adapters/openai/backend/client.js +31 -0
  151. package/dist/adapters/openai/backend/client.js.map +1 -0
  152. package/dist/adapters/openai/backend/embedding.cjs +21 -0
  153. package/dist/adapters/openai/backend/embedding.cjs.map +1 -0
  154. package/dist/adapters/openai/backend/embedding.d.cts +40 -0
  155. package/dist/adapters/openai/backend/embedding.d.ts +40 -0
  156. package/dist/adapters/openai/backend/embedding.js +19 -0
  157. package/dist/adapters/openai/backend/embedding.js.map +1 -0
  158. package/dist/adapters/vercel/backend/chat.cjs +184 -0
  159. package/dist/adapters/vercel/backend/chat.cjs.map +1 -0
  160. package/dist/adapters/vercel/backend/chat.d.cts +45 -0
  161. package/dist/adapters/vercel/backend/chat.d.ts +45 -0
  162. package/dist/adapters/vercel/backend/chat.js +182 -0
  163. package/dist/adapters/vercel/backend/chat.js.map +1 -0
  164. package/dist/adapters/vercel/backend/embedding.cjs +63 -0
  165. package/dist/adapters/vercel/backend/embedding.cjs.map +1 -0
  166. package/dist/adapters/vercel/backend/embedding.d.cts +45 -0
  167. package/dist/adapters/vercel/backend/embedding.d.ts +45 -0
  168. package/dist/adapters/vercel/backend/embedding.js +61 -0
  169. package/dist/adapters/vercel/backend/embedding.js.map +1 -0
  170. package/dist/adapters/watsonx/backend/chat.cjs +199 -0
  171. package/dist/adapters/watsonx/backend/chat.cjs.map +1 -0
  172. package/dist/adapters/watsonx/backend/chat.d.cts +56 -0
  173. package/dist/adapters/watsonx/backend/chat.d.ts +56 -0
  174. package/dist/adapters/watsonx/backend/chat.js +193 -0
  175. package/dist/adapters/watsonx/backend/chat.js.map +1 -0
  176. package/dist/adapters/watsonx/backend/client.cjs +48 -0
  177. package/dist/adapters/watsonx/backend/client.cjs.map +1 -0
  178. package/dist/adapters/watsonx/backend/client.d.cts +38 -0
  179. package/dist/adapters/watsonx/backend/client.d.ts +38 -0
  180. package/dist/adapters/watsonx/backend/client.js +46 -0
  181. package/dist/adapters/watsonx/backend/client.js.map +1 -0
  182. package/dist/adapters/watsonx/backend/embedding.cjs +70 -0
  183. package/dist/adapters/watsonx/backend/embedding.cjs.map +1 -0
  184. package/dist/adapters/watsonx/backend/embedding.d.cts +50 -0
  185. package/dist/adapters/watsonx/backend/embedding.d.ts +50 -0
  186. package/dist/adapters/watsonx/backend/embedding.js +68 -0
  187. package/dist/adapters/watsonx/backend/embedding.js.map +1 -0
  188. package/dist/agent-BbaHVlob.d.cts +84 -0
  189. package/dist/agent-Bks2fOUl.d.ts +84 -0
  190. package/dist/agents/base.cjs +73 -0
  191. package/dist/agents/base.cjs.map +1 -0
  192. package/dist/agents/base.d.cts +18 -0
  193. package/dist/agents/base.d.ts +18 -0
  194. package/dist/agents/base.js +70 -0
  195. package/dist/agents/base.js.map +1 -0
  196. package/dist/agents/bee/agent.cjs +193 -0
  197. package/dist/agents/bee/agent.cjs.map +1 -0
  198. package/dist/agents/bee/agent.d.cts +32 -0
  199. package/dist/agents/bee/agent.d.ts +32 -0
  200. package/dist/agents/bee/agent.js +171 -0
  201. package/dist/agents/bee/agent.js.map +1 -0
  202. package/dist/agents/bee/prompts.cjs +176 -0
  203. package/dist/agents/bee/prompts.cjs.map +1 -0
  204. package/dist/agents/bee/prompts.d.cts +148 -0
  205. package/dist/agents/bee/prompts.d.ts +148 -0
  206. package/dist/agents/bee/prompts.js +166 -0
  207. package/dist/agents/bee/prompts.js.map +1 -0
  208. package/dist/agents/bee/runners/base.cjs +103 -0
  209. package/dist/agents/bee/runners/base.cjs.map +1 -0
  210. package/dist/agents/bee/runners/base.d.cts +32 -0
  211. package/dist/agents/bee/runners/base.d.ts +32 -0
  212. package/dist/agents/bee/runners/base.js +101 -0
  213. package/dist/agents/bee/runners/base.js.map +1 -0
  214. package/dist/agents/bee/runners/deep-think/prompts.cjs +92 -0
  215. package/dist/agents/bee/runners/deep-think/prompts.cjs.map +1 -0
  216. package/dist/agents/bee/runners/deep-think/prompts.d.cts +145 -0
  217. package/dist/agents/bee/runners/deep-think/prompts.d.ts +145 -0
  218. package/dist/agents/bee/runners/deep-think/prompts.js +84 -0
  219. package/dist/agents/bee/runners/deep-think/prompts.js.map +1 -0
  220. package/dist/agents/bee/runners/deep-think/runner.cjs +124 -0
  221. package/dist/agents/bee/runners/deep-think/runner.cjs.map +1 -0
  222. package/dist/agents/bee/runners/deep-think/runner.d.cts +166 -0
  223. package/dist/agents/bee/runners/deep-think/runner.d.ts +166 -0
  224. package/dist/agents/bee/runners/deep-think/runner.js +122 -0
  225. package/dist/agents/bee/runners/deep-think/runner.js.map +1 -0
  226. package/dist/agents/bee/runners/default/runner.cjs +416 -0
  227. package/dist/agents/bee/runners/default/runner.cjs.map +1 -0
  228. package/dist/agents/bee/runners/default/runner.d.cts +186 -0
  229. package/dist/agents/bee/runners/default/runner.d.ts +186 -0
  230. package/dist/agents/bee/runners/default/runner.js +414 -0
  231. package/dist/agents/bee/runners/default/runner.js.map +1 -0
  232. package/dist/agents/bee/runners/default/runner.spec.cjs +113 -0
  233. package/dist/agents/bee/runners/default/runner.spec.cjs.map +1 -0
  234. package/dist/agents/bee/runners/default/runner.spec.d.cts +2 -0
  235. package/dist/agents/bee/runners/default/runner.spec.d.ts +2 -0
  236. package/dist/agents/bee/runners/default/runner.spec.js +111 -0
  237. package/dist/agents/bee/runners/default/runner.spec.js.map +1 -0
  238. package/dist/agents/bee/runners/granite/prompts.cjs +94 -0
  239. package/dist/agents/bee/runners/granite/prompts.cjs.map +1 -0
  240. package/dist/agents/bee/runners/granite/prompts.d.cts +145 -0
  241. package/dist/agents/bee/runners/granite/prompts.d.ts +145 -0
  242. package/dist/agents/bee/runners/granite/prompts.js +86 -0
  243. package/dist/agents/bee/runners/granite/prompts.js.map +1 -0
  244. package/dist/agents/bee/runners/granite/runner.cjs +102 -0
  245. package/dist/agents/bee/runners/granite/runner.cjs.map +1 -0
  246. package/dist/agents/bee/runners/granite/runner.d.cts +167 -0
  247. package/dist/agents/bee/runners/granite/runner.d.ts +167 -0
  248. package/dist/agents/bee/runners/granite/runner.js +100 -0
  249. package/dist/agents/bee/runners/granite/runner.js.map +1 -0
  250. package/dist/agents/bee/types.cjs +4 -0
  251. package/dist/agents/bee/types.cjs.map +1 -0
  252. package/dist/agents/bee/types.d.cts +164 -0
  253. package/dist/agents/bee/types.d.ts +164 -0
  254. package/dist/agents/bee/types.js +3 -0
  255. package/dist/agents/bee/types.js.map +1 -0
  256. package/dist/agents/experimental/replan/agent.cjs +119 -0
  257. package/dist/agents/experimental/replan/agent.cjs.map +1 -0
  258. package/dist/agents/experimental/replan/agent.d.cts +96 -0
  259. package/dist/agents/experimental/replan/agent.d.ts +96 -0
  260. package/dist/agents/experimental/replan/agent.js +117 -0
  261. package/dist/agents/experimental/replan/agent.js.map +1 -0
  262. package/dist/agents/experimental/replan/prompts.cjs +89 -0
  263. package/dist/agents/experimental/replan/prompts.cjs.map +1 -0
  264. package/dist/agents/experimental/replan/prompts.d.cts +153 -0
  265. package/dist/agents/experimental/replan/prompts.d.ts +153 -0
  266. package/dist/agents/experimental/replan/prompts.js +85 -0
  267. package/dist/agents/experimental/replan/prompts.js.map +1 -0
  268. package/dist/agents/experimental/streamlit/agent.cjs +161 -0
  269. package/dist/agents/experimental/streamlit/agent.cjs.map +1 -0
  270. package/dist/agents/experimental/streamlit/agent.d.cts +95 -0
  271. package/dist/agents/experimental/streamlit/agent.d.ts +95 -0
  272. package/dist/agents/experimental/streamlit/agent.js +159 -0
  273. package/dist/agents/experimental/streamlit/agent.js.map +1 -0
  274. package/dist/agents/experimental/streamlit/prompts.cjs +312 -0
  275. package/dist/agents/experimental/streamlit/prompts.cjs.map +1 -0
  276. package/dist/agents/experimental/streamlit/prompts.d.cts +30 -0
  277. package/dist/agents/experimental/streamlit/prompts.d.ts +30 -0
  278. package/dist/agents/experimental/streamlit/prompts.js +310 -0
  279. package/dist/agents/experimental/streamlit/prompts.js.map +1 -0
  280. package/dist/agents/types.cjs +4 -0
  281. package/dist/agents/types.cjs.map +1 -0
  282. package/dist/agents/types.d.cts +18 -0
  283. package/dist/agents/types.d.ts +18 -0
  284. package/dist/agents/types.js +3 -0
  285. package/dist/agents/types.js.map +1 -0
  286. package/dist/backend/backend.cjs +45 -0
  287. package/dist/backend/backend.cjs.map +1 -0
  288. package/dist/backend/backend.d.cts +56 -0
  289. package/dist/backend/backend.d.ts +56 -0
  290. package/dist/backend/backend.js +43 -0
  291. package/dist/backend/backend.js.map +1 -0
  292. package/dist/backend/chat.cjs +270 -0
  293. package/dist/backend/chat.cjs.map +1 -0
  294. package/dist/backend/chat.d.cts +141 -0
  295. package/dist/backend/chat.d.ts +141 -0
  296. package/dist/backend/chat.js +267 -0
  297. package/dist/backend/chat.js.map +1 -0
  298. package/dist/backend/client.cjs +40 -0
  299. package/dist/backend/client.cjs.map +1 -0
  300. package/dist/backend/client.d.cts +33 -0
  301. package/dist/backend/client.d.ts +33 -0
  302. package/dist/backend/client.js +38 -0
  303. package/dist/backend/client.js.map +1 -0
  304. package/dist/backend/constants.cjs +62 -0
  305. package/dist/backend/constants.cjs.map +1 -0
  306. package/dist/backend/constants.d.cts +62 -0
  307. package/dist/backend/constants.d.ts +62 -0
  308. package/dist/backend/constants.js +60 -0
  309. package/dist/backend/constants.js.map +1 -0
  310. package/dist/backend/core.cjs +42 -0
  311. package/dist/backend/core.cjs.map +1 -0
  312. package/dist/backend/core.d.cts +23 -0
  313. package/dist/backend/core.d.ts +23 -0
  314. package/dist/backend/core.js +7 -0
  315. package/dist/backend/core.js.map +1 -0
  316. package/dist/backend/embedding.cjs +70 -0
  317. package/dist/backend/embedding.cjs.map +1 -0
  318. package/dist/backend/embedding.d.cts +50 -0
  319. package/dist/backend/embedding.d.ts +50 -0
  320. package/dist/backend/embedding.js +68 -0
  321. package/dist/backend/embedding.js.map +1 -0
  322. package/dist/backend/errors.cjs +27 -0
  323. package/dist/backend/errors.cjs.map +1 -0
  324. package/dist/backend/errors.d.cts +28 -0
  325. package/dist/backend/errors.d.ts +28 -0
  326. package/dist/backend/errors.js +23 -0
  327. package/dist/backend/errors.js.map +1 -0
  328. package/dist/backend/message.cjs +201 -0
  329. package/dist/backend/message.cjs.map +1 -0
  330. package/dist/backend/message.d.cts +85 -0
  331. package/dist/backend/message.d.ts +85 -0
  332. package/dist/backend/message.js +193 -0
  333. package/dist/backend/message.js.map +1 -0
  334. package/dist/backend/utils.cjs +39 -0
  335. package/dist/backend/utils.cjs.map +1 -0
  336. package/dist/backend/utils.d.cts +29 -0
  337. package/dist/backend/utils.d.ts +29 -0
  338. package/dist/backend/utils.js +36 -0
  339. package/dist/backend/utils.js.map +1 -0
  340. package/dist/base-Csr9guq2.d.cts +66 -0
  341. package/dist/base-DHhpWHQm.d.ts +66 -0
  342. package/dist/cache/base.cjs +16 -0
  343. package/dist/cache/base.cjs.map +1 -0
  344. package/dist/cache/base.d.cts +31 -0
  345. package/dist/cache/base.d.ts +31 -0
  346. package/dist/cache/base.js +14 -0
  347. package/dist/cache/base.js.map +1 -0
  348. package/dist/cache/decoratorCache.cjs +289 -0
  349. package/dist/cache/decoratorCache.cjs.map +1 -0
  350. package/dist/cache/decoratorCache.d.cts +66 -0
  351. package/dist/cache/decoratorCache.d.ts +66 -0
  352. package/dist/cache/decoratorCache.js +259 -0
  353. package/dist/cache/decoratorCache.js.map +1 -0
  354. package/dist/cache/fileCache.cjs +121 -0
  355. package/dist/cache/fileCache.cjs.map +1 -0
  356. package/dist/cache/fileCache.d.cts +48 -0
  357. package/dist/cache/fileCache.d.ts +48 -0
  358. package/dist/cache/fileCache.js +115 -0
  359. package/dist/cache/fileCache.js.map +1 -0
  360. package/dist/cache/nullCache.cjs +40 -0
  361. package/dist/cache/nullCache.cjs.map +1 -0
  362. package/dist/cache/nullCache.d.cts +36 -0
  363. package/dist/cache/nullCache.d.ts +36 -0
  364. package/dist/cache/nullCache.js +38 -0
  365. package/dist/cache/nullCache.js.map +1 -0
  366. package/dist/cache/slidingCache.cjs +81 -0
  367. package/dist/cache/slidingCache.cjs.map +1 -0
  368. package/dist/cache/slidingCache.d.cts +53 -0
  369. package/dist/cache/slidingCache.d.ts +53 -0
  370. package/dist/cache/slidingCache.js +79 -0
  371. package/dist/cache/slidingCache.js.map +1 -0
  372. package/dist/cache/unconstrainedCache.cjs +46 -0
  373. package/dist/cache/unconstrainedCache.cjs.map +1 -0
  374. package/dist/cache/unconstrainedCache.d.cts +37 -0
  375. package/dist/cache/unconstrainedCache.d.ts +37 -0
  376. package/dist/cache/unconstrainedCache.js +44 -0
  377. package/dist/cache/unconstrainedCache.js.map +1 -0
  378. package/dist/context.cjs +162 -0
  379. package/dist/context.cjs.map +1 -0
  380. package/dist/context.d.cts +79 -0
  381. package/dist/context.d.ts +79 -0
  382. package/dist/context.js +159 -0
  383. package/dist/context.js.map +1 -0
  384. package/dist/emitter/emitter.cjs +222 -0
  385. package/dist/emitter/emitter.cjs.map +1 -0
  386. package/dist/emitter/emitter.d.cts +4 -0
  387. package/dist/emitter/emitter.d.ts +4 -0
  388. package/dist/emitter/emitter.js +220 -0
  389. package/dist/emitter/emitter.js.map +1 -0
  390. package/dist/emitter/errors.cjs +15 -0
  391. package/dist/emitter/errors.cjs.map +1 -0
  392. package/dist/emitter/errors.d.cts +24 -0
  393. package/dist/emitter/errors.d.ts +24 -0
  394. package/dist/emitter/errors.js +13 -0
  395. package/dist/emitter/errors.js.map +1 -0
  396. package/dist/emitter/types.cjs +4 -0
  397. package/dist/emitter/types.cjs.map +1 -0
  398. package/dist/emitter/types.d.cts +4 -0
  399. package/dist/emitter/types.d.ts +4 -0
  400. package/dist/emitter/types.js +3 -0
  401. package/dist/emitter/types.js.map +1 -0
  402. package/dist/emitter/utils.cjs +38 -0
  403. package/dist/emitter/utils.cjs.map +1 -0
  404. package/dist/emitter/utils.d.cts +21 -0
  405. package/dist/emitter/utils.d.ts +21 -0
  406. package/dist/emitter/utils.js +33 -0
  407. package/dist/emitter/utils.js.map +1 -0
  408. package/dist/emitter-BWtGHYn0.d.cts +121 -0
  409. package/dist/emitter-l0W9gC1A.d.ts +121 -0
  410. package/dist/errors.cjs +144 -0
  411. package/dist/errors.cjs.map +1 -0
  412. package/dist/errors.d.cts +50 -0
  413. package/dist/errors.d.ts +50 -0
  414. package/dist/errors.js +116 -0
  415. package/dist/errors.js.map +1 -0
  416. package/dist/index.cjs +49 -0
  417. package/dist/index.cjs.map +1 -0
  418. package/dist/index.d.cts +23 -0
  419. package/dist/index.d.ts +23 -0
  420. package/dist/index.js +8 -0
  421. package/dist/index.js.map +1 -0
  422. package/dist/instrumentation/config.cjs +12 -0
  423. package/dist/instrumentation/config.cjs.map +1 -0
  424. package/dist/instrumentation/config.d.cts +19 -0
  425. package/dist/instrumentation/config.d.ts +19 -0
  426. package/dist/instrumentation/config.js +9 -0
  427. package/dist/instrumentation/config.js.map +1 -0
  428. package/dist/instrumentation/create-telemetry-middleware.cjs +239 -0
  429. package/dist/instrumentation/create-telemetry-middleware.cjs.map +1 -0
  430. package/dist/instrumentation/create-telemetry-middleware.d.cts +26 -0
  431. package/dist/instrumentation/create-telemetry-middleware.d.ts +26 -0
  432. package/dist/instrumentation/create-telemetry-middleware.js +237 -0
  433. package/dist/instrumentation/create-telemetry-middleware.js.map +1 -0
  434. package/dist/instrumentation/helpers/create-span.cjs +36 -0
  435. package/dist/instrumentation/helpers/create-span.cjs.map +1 -0
  436. package/dist/instrumentation/helpers/create-span.d.cts +34 -0
  437. package/dist/instrumentation/helpers/create-span.d.ts +34 -0
  438. package/dist/instrumentation/helpers/create-span.js +34 -0
  439. package/dist/instrumentation/helpers/create-span.js.map +1 -0
  440. package/dist/instrumentation/helpers/get-error-safe.cjs +20 -0
  441. package/dist/instrumentation/helpers/get-error-safe.cjs.map +1 -0
  442. package/dist/instrumentation/helpers/get-error-safe.d.cts +18 -0
  443. package/dist/instrumentation/helpers/get-error-safe.d.ts +18 -0
  444. package/dist/instrumentation/helpers/get-error-safe.js +18 -0
  445. package/dist/instrumentation/helpers/get-error-safe.js.map +1 -0
  446. package/dist/instrumentation/helpers/get-serialized-object-safe.cjs +27 -0
  447. package/dist/instrumentation/helpers/get-serialized-object-safe.cjs.map +1 -0
  448. package/dist/instrumentation/helpers/get-serialized-object-safe.d.cts +18 -0
  449. package/dist/instrumentation/helpers/get-serialized-object-safe.d.ts +18 -0
  450. package/dist/instrumentation/helpers/get-serialized-object-safe.js +25 -0
  451. package/dist/instrumentation/helpers/get-serialized-object-safe.js.map +1 -0
  452. package/dist/instrumentation/helpers/id-name-manager.cjs +34 -0
  453. package/dist/instrumentation/helpers/id-name-manager.cjs.map +1 -0
  454. package/dist/instrumentation/helpers/id-name-manager.d.cts +31 -0
  455. package/dist/instrumentation/helpers/id-name-manager.d.ts +31 -0
  456. package/dist/instrumentation/helpers/id-name-manager.js +32 -0
  457. package/dist/instrumentation/helpers/id-name-manager.js.map +1 -0
  458. package/dist/instrumentation/helpers/trace-serializer.cjs +30 -0
  459. package/dist/instrumentation/helpers/trace-serializer.cjs.map +1 -0
  460. package/dist/instrumentation/helpers/trace-serializer.d.cts +20 -0
  461. package/dist/instrumentation/helpers/trace-serializer.d.ts +20 -0
  462. package/dist/instrumentation/helpers/trace-serializer.js +28 -0
  463. package/dist/instrumentation/helpers/trace-serializer.js.map +1 -0
  464. package/dist/instrumentation/helpers/utils.cjs +14 -0
  465. package/dist/instrumentation/helpers/utils.cjs.map +1 -0
  466. package/dist/instrumentation/helpers/utils.d.cts +40 -0
  467. package/dist/instrumentation/helpers/utils.d.ts +40 -0
  468. package/dist/instrumentation/helpers/utils.js +12 -0
  469. package/dist/instrumentation/helpers/utils.js.map +1 -0
  470. package/dist/instrumentation/logger.cjs +12 -0
  471. package/dist/instrumentation/logger.cjs.map +1 -0
  472. package/dist/instrumentation/logger.d.cts +26 -0
  473. package/dist/instrumentation/logger.d.ts +26 -0
  474. package/dist/instrumentation/logger.js +10 -0
  475. package/dist/instrumentation/logger.js.map +1 -0
  476. package/dist/instrumentation/tracer.cjs +84 -0
  477. package/dist/instrumentation/tracer.cjs.map +1 -0
  478. package/dist/instrumentation/tracer.d.cts +36 -0
  479. package/dist/instrumentation/tracer.d.ts +36 -0
  480. package/dist/instrumentation/tracer.js +76 -0
  481. package/dist/instrumentation/tracer.js.map +1 -0
  482. package/dist/instrumentation/types.cjs +4 -0
  483. package/dist/instrumentation/types.cjs.map +1 -0
  484. package/dist/instrumentation/types.d.cts +39 -0
  485. package/dist/instrumentation/types.d.ts +39 -0
  486. package/dist/instrumentation/types.js +3 -0
  487. package/dist/instrumentation/types.js.map +1 -0
  488. package/dist/internals/env.cjs +43 -0
  489. package/dist/internals/env.cjs.map +1 -0
  490. package/dist/internals/env.d.cts +27 -0
  491. package/dist/internals/env.d.ts +27 -0
  492. package/dist/internals/env.js +39 -0
  493. package/dist/internals/env.js.map +1 -0
  494. package/dist/internals/fetcher.cjs +189 -0
  495. package/dist/internals/fetcher.cjs.map +1 -0
  496. package/dist/internals/fetcher.d.cts +101 -0
  497. package/dist/internals/fetcher.d.ts +101 -0
  498. package/dist/internals/fetcher.js +185 -0
  499. package/dist/internals/fetcher.js.map +1 -0
  500. package/dist/internals/helpers/array.cjs +30 -0
  501. package/dist/internals/helpers/array.cjs.map +1 -0
  502. package/dist/internals/helpers/array.d.cts +21 -0
  503. package/dist/internals/helpers/array.d.ts +21 -0
  504. package/dist/internals/helpers/array.js +26 -0
  505. package/dist/internals/helpers/array.js.map +1 -0
  506. package/dist/internals/helpers/cancellation.cjs +29 -0
  507. package/dist/internals/helpers/cancellation.cjs.map +1 -0
  508. package/dist/internals/helpers/cancellation.d.cts +19 -0
  509. package/dist/internals/helpers/cancellation.d.ts +19 -0
  510. package/dist/internals/helpers/cancellation.js +26 -0
  511. package/dist/internals/helpers/cancellation.js.map +1 -0
  512. package/dist/internals/helpers/counter.cjs +53 -0
  513. package/dist/internals/helpers/counter.cjs.map +1 -0
  514. package/dist/internals/helpers/counter.d.cts +40 -0
  515. package/dist/internals/helpers/counter.d.ts +40 -0
  516. package/dist/internals/helpers/counter.js +51 -0
  517. package/dist/internals/helpers/counter.js.map +1 -0
  518. package/dist/internals/helpers/general.cjs +31 -0
  519. package/dist/internals/helpers/general.cjs.map +1 -0
  520. package/dist/internals/helpers/general.d.cts +25 -0
  521. package/dist/internals/helpers/general.d.ts +25 -0
  522. package/dist/internals/helpers/general.js +28 -0
  523. package/dist/internals/helpers/general.js.map +1 -0
  524. package/dist/internals/helpers/guards.cjs +34 -0
  525. package/dist/internals/helpers/guards.cjs.map +1 -0
  526. package/dist/internals/helpers/guards.d.cts +19 -0
  527. package/dist/internals/helpers/guards.d.ts +19 -0
  528. package/dist/internals/helpers/guards.js +12 -0
  529. package/dist/internals/helpers/guards.js.map +1 -0
  530. package/dist/internals/helpers/hash.cjs +21 -0
  531. package/dist/internals/helpers/hash.cjs.map +1 -0
  532. package/dist/internals/helpers/hash.d.cts +19 -0
  533. package/dist/internals/helpers/hash.d.ts +19 -0
  534. package/dist/internals/helpers/hash.js +18 -0
  535. package/dist/internals/helpers/hash.js.map +1 -0
  536. package/dist/internals/helpers/map.cjs +16 -0
  537. package/dist/internals/helpers/map.cjs.map +1 -0
  538. package/dist/internals/helpers/map.d.cts +18 -0
  539. package/dist/internals/helpers/map.d.ts +18 -0
  540. package/dist/internals/helpers/map.js +14 -0
  541. package/dist/internals/helpers/map.js.map +1 -0
  542. package/dist/internals/helpers/math.cjs +31 -0
  543. package/dist/internals/helpers/math.cjs.map +1 -0
  544. package/dist/internals/helpers/math.d.cts +19 -0
  545. package/dist/internals/helpers/math.d.ts +19 -0
  546. package/dist/internals/helpers/math.js +28 -0
  547. package/dist/internals/helpers/math.js.map +1 -0
  548. package/dist/internals/helpers/number.cjs +48 -0
  549. package/dist/internals/helpers/number.cjs.map +1 -0
  550. package/dist/internals/helpers/number.d.cts +23 -0
  551. package/dist/internals/helpers/number.d.ts +23 -0
  552. package/dist/internals/helpers/number.js +24 -0
  553. package/dist/internals/helpers/number.js.map +1 -0
  554. package/dist/internals/helpers/object.cjs +142 -0
  555. package/dist/internals/helpers/object.cjs.map +1 -0
  556. package/dist/internals/helpers/object.d.cts +35 -0
  557. package/dist/internals/helpers/object.d.ts +35 -0
  558. package/dist/internals/helpers/object.js +108 -0
  559. package/dist/internals/helpers/object.js.map +1 -0
  560. package/dist/internals/helpers/paginate.cjs +28 -0
  561. package/dist/internals/helpers/paginate.cjs.map +1 -0
  562. package/dist/internals/helpers/paginate.d.cts +28 -0
  563. package/dist/internals/helpers/paginate.d.ts +28 -0
  564. package/dist/internals/helpers/paginate.js +26 -0
  565. package/dist/internals/helpers/paginate.js.map +1 -0
  566. package/dist/internals/helpers/promise.cjs +143 -0
  567. package/dist/internals/helpers/promise.cjs.map +1 -0
  568. package/dist/internals/helpers/promise.d.cts +45 -0
  569. package/dist/internals/helpers/promise.d.ts +45 -0
  570. package/dist/internals/helpers/promise.js +132 -0
  571. package/dist/internals/helpers/promise.js.map +1 -0
  572. package/dist/internals/helpers/prototype.cjs +56 -0
  573. package/dist/internals/helpers/prototype.cjs.map +1 -0
  574. package/dist/internals/helpers/prototype.d.cts +24 -0
  575. package/dist/internals/helpers/prototype.d.ts +24 -0
  576. package/dist/internals/helpers/prototype.js +32 -0
  577. package/dist/internals/helpers/prototype.js.map +1 -0
  578. package/dist/internals/helpers/retry.cjs +44 -0
  579. package/dist/internals/helpers/retry.cjs.map +1 -0
  580. package/dist/internals/helpers/retry.d.cts +29 -0
  581. package/dist/internals/helpers/retry.d.ts +29 -0
  582. package/dist/internals/helpers/retry.js +42 -0
  583. package/dist/internals/helpers/retry.js.map +1 -0
  584. package/dist/internals/helpers/retryable.cjs +169 -0
  585. package/dist/internals/helpers/retryable.cjs.map +1 -0
  586. package/dist/internals/helpers/retryable.d.cts +71 -0
  587. package/dist/internals/helpers/retryable.d.ts +71 -0
  588. package/dist/internals/helpers/retryable.js +146 -0
  589. package/dist/internals/helpers/retryable.js.map +1 -0
  590. package/dist/internals/helpers/schema.cjs +78 -0
  591. package/dist/internals/helpers/schema.cjs.map +1 -0
  592. package/dist/internals/helpers/schema.d.cts +36 -0
  593. package/dist/internals/helpers/schema.d.ts +36 -0
  594. package/dist/internals/helpers/schema.js +69 -0
  595. package/dist/internals/helpers/schema.js.map +1 -0
  596. package/dist/internals/helpers/stream.cjs +21 -0
  597. package/dist/internals/helpers/stream.cjs.map +1 -0
  598. package/dist/internals/helpers/stream.d.cts +19 -0
  599. package/dist/internals/helpers/stream.d.ts +19 -0
  600. package/dist/internals/helpers/stream.js +18 -0
  601. package/dist/internals/helpers/stream.js.map +1 -0
  602. package/dist/internals/helpers/string.cjs +230 -0
  603. package/dist/internals/helpers/string.cjs.map +1 -0
  604. package/dist/internals/helpers/string.d.cts +57 -0
  605. package/dist/internals/helpers/string.d.ts +57 -0
  606. package/dist/internals/helpers/string.js +201 -0
  607. package/dist/internals/helpers/string.js.map +1 -0
  608. package/dist/internals/helpers/weakRef.cjs +65 -0
  609. package/dist/internals/helpers/weakRef.cjs.map +1 -0
  610. package/dist/internals/helpers/weakRef.d.cts +29 -0
  611. package/dist/internals/helpers/weakRef.d.ts +29 -0
  612. package/dist/internals/helpers/weakRef.js +61 -0
  613. package/dist/internals/helpers/weakRef.js.map +1 -0
  614. package/dist/internals/serializable.cjs +63 -0
  615. package/dist/internals/serializable.cjs.map +1 -0
  616. package/dist/internals/serializable.d.cts +36 -0
  617. package/dist/internals/serializable.d.ts +36 -0
  618. package/dist/internals/serializable.js +61 -0
  619. package/dist/internals/serializable.js.map +1 -0
  620. package/dist/internals/types.cjs +15 -0
  621. package/dist/internals/types.cjs.map +1 -0
  622. package/dist/internals/types.d.cts +92 -0
  623. package/dist/internals/types.d.ts +92 -0
  624. package/dist/internals/types.js +13 -0
  625. package/dist/internals/types.js.map +1 -0
  626. package/dist/logger/logger.cjs +210 -0
  627. package/dist/logger/logger.cjs.map +1 -0
  628. package/dist/logger/logger.d.cts +48 -0
  629. package/dist/logger/logger.d.ts +48 -0
  630. package/dist/logger/logger.js +181 -0
  631. package/dist/logger/logger.js.map +1 -0
  632. package/dist/logger/pretty.cjs +79 -0
  633. package/dist/logger/pretty.cjs.map +1 -0
  634. package/dist/logger/pretty.d.cts +5 -0
  635. package/dist/logger/pretty.d.ts +5 -0
  636. package/dist/logger/pretty.js +72 -0
  637. package/dist/logger/pretty.js.map +1 -0
  638. package/dist/memory/base.cjs +98 -0
  639. package/dist/memory/base.cjs.map +1 -0
  640. package/dist/memory/base.d.cts +44 -0
  641. package/dist/memory/base.d.ts +44 -0
  642. package/dist/memory/base.js +93 -0
  643. package/dist/memory/base.js.map +1 -0
  644. package/dist/memory/slidingMemory.cjs +79 -0
  645. package/dist/memory/slidingMemory.cjs.map +1 -0
  646. package/dist/memory/slidingMemory.d.cts +30 -0
  647. package/dist/memory/slidingMemory.d.ts +30 -0
  648. package/dist/memory/slidingMemory.js +77 -0
  649. package/dist/memory/slidingMemory.js.map +1 -0
  650. package/dist/memory/summarizeMemory.cjs +82 -0
  651. package/dist/memory/summarizeMemory.cjs.map +1 -0
  652. package/dist/memory/summarizeMemory.d.cts +65 -0
  653. package/dist/memory/summarizeMemory.d.ts +65 -0
  654. package/dist/memory/summarizeMemory.js +79 -0
  655. package/dist/memory/summarizeMemory.js.map +1 -0
  656. package/dist/memory/tokenMemory.cjs +154 -0
  657. package/dist/memory/tokenMemory.cjs.map +1 -0
  658. package/dist/memory/tokenMemory.d.cts +55 -0
  659. package/dist/memory/tokenMemory.d.ts +55 -0
  660. package/dist/memory/tokenMemory.js +133 -0
  661. package/dist/memory/tokenMemory.js.map +1 -0
  662. package/dist/memory/unconstrainedMemory.cjs +43 -0
  663. package/dist/memory/unconstrainedMemory.cjs.map +1 -0
  664. package/dist/memory/unconstrainedMemory.d.cts +20 -0
  665. package/dist/memory/unconstrainedMemory.d.ts +20 -0
  666. package/dist/memory/unconstrainedMemory.js +41 -0
  667. package/dist/memory/unconstrainedMemory.js.map +1 -0
  668. package/dist/parsers/errors.cjs +32 -0
  669. package/dist/parsers/errors.cjs.map +1 -0
  670. package/dist/parsers/errors.d.cts +46 -0
  671. package/dist/parsers/errors.d.ts +46 -0
  672. package/dist/parsers/errors.js +30 -0
  673. package/dist/parsers/errors.js.map +1 -0
  674. package/dist/parsers/field.cjs +192 -0
  675. package/dist/parsers/field.cjs.map +1 -0
  676. package/dist/parsers/field.d.cts +68 -0
  677. package/dist/parsers/field.d.ts +68 -0
  678. package/dist/parsers/field.js +188 -0
  679. package/dist/parsers/field.js.map +1 -0
  680. package/dist/parsers/linePrefix.cjs +312 -0
  681. package/dist/parsers/linePrefix.cjs.map +1 -0
  682. package/dist/parsers/linePrefix.d.cts +127 -0
  683. package/dist/parsers/linePrefix.d.ts +127 -0
  684. package/dist/parsers/linePrefix.js +305 -0
  685. package/dist/parsers/linePrefix.js.map +1 -0
  686. package/dist/serializer/error.cjs +21 -0
  687. package/dist/serializer/error.cjs.map +1 -0
  688. package/dist/serializer/error.d.cts +25 -0
  689. package/dist/serializer/error.d.ts +25 -0
  690. package/dist/serializer/error.js +19 -0
  691. package/dist/serializer/error.js.map +1 -0
  692. package/dist/serializer/serializer.cjs +543 -0
  693. package/dist/serializer/serializer.cjs.map +1 -0
  694. package/dist/serializer/serializer.d.cts +4 -0
  695. package/dist/serializer/serializer.d.ts +4 -0
  696. package/dist/serializer/serializer.js +521 -0
  697. package/dist/serializer/serializer.js.map +1 -0
  698. package/dist/serializer/utils.cjs +261 -0
  699. package/dist/serializer/utils.cjs.map +1 -0
  700. package/dist/serializer/utils.d.cts +4 -0
  701. package/dist/serializer/utils.d.ts +4 -0
  702. package/dist/serializer/utils.js +226 -0
  703. package/dist/serializer/utils.js.map +1 -0
  704. package/dist/serializer-CJx5ZpUx.d.cts +125 -0
  705. package/dist/serializer-VYDhdryk.d.ts +125 -0
  706. package/dist/template.cjs +121 -0
  707. package/dist/template.cjs.map +1 -0
  708. package/dist/template.d.cts +75 -0
  709. package/dist/template.d.ts +75 -0
  710. package/dist/template.js +113 -0
  711. package/dist/template.js.map +1 -0
  712. package/dist/tools/arxiv.cjs +212 -0
  713. package/dist/tools/arxiv.cjs.map +1 -0
  714. package/dist/tools/arxiv.d.cts +196 -0
  715. package/dist/tools/arxiv.d.ts +196 -0
  716. package/dist/tools/arxiv.js +205 -0
  717. package/dist/tools/arxiv.js.map +1 -0
  718. package/dist/tools/base.cjs +434 -0
  719. package/dist/tools/base.cjs.map +1 -0
  720. package/dist/tools/base.d.cts +156 -0
  721. package/dist/tools/base.d.ts +156 -0
  722. package/dist/tools/base.js +407 -0
  723. package/dist/tools/base.js.map +1 -0
  724. package/dist/tools/calculator.cjs +74 -0
  725. package/dist/tools/calculator.cjs.map +1 -0
  726. package/dist/tools/calculator.d.cts +63 -0
  727. package/dist/tools/calculator.d.ts +63 -0
  728. package/dist/tools/calculator.js +72 -0
  729. package/dist/tools/calculator.js.map +1 -0
  730. package/dist/tools/custom.cjs +122 -0
  731. package/dist/tools/custom.cjs.map +1 -0
  732. package/dist/tools/custom.d.cts +110 -0
  733. package/dist/tools/custom.d.ts +110 -0
  734. package/dist/tools/custom.js +118 -0
  735. package/dist/tools/custom.js.map +1 -0
  736. package/dist/tools/database/elasticsearch.cjs +157 -0
  737. package/dist/tools/database/elasticsearch.cjs.map +1 -0
  738. package/dist/tools/database/elasticsearch.d.cts +78 -0
  739. package/dist/tools/database/elasticsearch.d.ts +78 -0
  740. package/dist/tools/database/elasticsearch.js +154 -0
  741. package/dist/tools/database/elasticsearch.js.map +1 -0
  742. package/dist/tools/database/metadata.cjs +114 -0
  743. package/dist/tools/database/metadata.cjs.map +1 -0
  744. package/dist/tools/database/metadata.d.cts +27 -0
  745. package/dist/tools/database/metadata.d.ts +27 -0
  746. package/dist/tools/database/metadata.js +112 -0
  747. package/dist/tools/database/metadata.js.map +1 -0
  748. package/dist/tools/database/milvus.cjs +191 -0
  749. package/dist/tools/database/milvus.cjs.map +1 -0
  750. package/dist/tools/database/milvus.d.cts +89 -0
  751. package/dist/tools/database/milvus.d.ts +89 -0
  752. package/dist/tools/database/milvus.js +188 -0
  753. package/dist/tools/database/milvus.js.map +1 -0
  754. package/dist/tools/database/sql.cjs +174 -0
  755. package/dist/tools/database/sql.cjs.map +1 -0
  756. package/dist/tools/database/sql.d.cts +71 -0
  757. package/dist/tools/database/sql.d.ts +71 -0
  758. package/dist/tools/database/sql.js +170 -0
  759. package/dist/tools/database/sql.js.map +1 -0
  760. package/dist/tools/llm.cjs +74 -0
  761. package/dist/tools/llm.cjs.map +1 -0
  762. package/dist/tools/llm.d.cts +68 -0
  763. package/dist/tools/llm.d.ts +68 -0
  764. package/dist/tools/llm.js +72 -0
  765. package/dist/tools/llm.js.map +1 -0
  766. package/dist/tools/mcp.cjs +73 -0
  767. package/dist/tools/mcp.cjs.map +1 -0
  768. package/dist/tools/mcp.d.cts +52 -0
  769. package/dist/tools/mcp.d.ts +52 -0
  770. package/dist/tools/mcp.js +70 -0
  771. package/dist/tools/mcp.js.map +1 -0
  772. package/dist/tools/openapi.cjs +178 -0
  773. package/dist/tools/openapi.cjs.map +1 -0
  774. package/dist/tools/openapi.d.cts +59 -0
  775. package/dist/tools/openapi.d.ts +59 -0
  776. package/dist/tools/openapi.js +175 -0
  777. package/dist/tools/openapi.js.map +1 -0
  778. package/dist/tools/python/output.cjs +65 -0
  779. package/dist/tools/python/output.cjs.map +1 -0
  780. package/dist/tools/python/output.d.cts +52 -0
  781. package/dist/tools/python/output.d.ts +52 -0
  782. package/dist/tools/python/output.js +63 -0
  783. package/dist/tools/python/output.js.map +1 -0
  784. package/dist/tools/python/python.cjs +163 -0
  785. package/dist/tools/python/python.cjs.map +1 -0
  786. package/dist/tools/python/python.d.cts +91 -0
  787. package/dist/tools/python/python.d.ts +91 -0
  788. package/dist/tools/python/python.js +160 -0
  789. package/dist/tools/python/python.js.map +1 -0
  790. package/dist/tools/python/storage.cjs +170 -0
  791. package/dist/tools/python/storage.cjs.map +1 -0
  792. package/dist/tools/python/storage.d.cts +83 -0
  793. package/dist/tools/python/storage.d.ts +83 -0
  794. package/dist/tools/python/storage.js +142 -0
  795. package/dist/tools/python/storage.js.map +1 -0
  796. package/dist/tools/search/base.cjs +77 -0
  797. package/dist/tools/search/base.cjs.map +1 -0
  798. package/dist/tools/search/base.d.cts +49 -0
  799. package/dist/tools/search/base.d.ts +49 -0
  800. package/dist/tools/search/base.js +55 -0
  801. package/dist/tools/search/base.js.map +1 -0
  802. package/dist/tools/search/duckDuckGoSearch.cjs +146 -0
  803. package/dist/tools/search/duckDuckGoSearch.cjs.map +1 -0
  804. package/dist/tools/search/duckDuckGoSearch.d.cts +75 -0
  805. package/dist/tools/search/duckDuckGoSearch.d.ts +75 -0
  806. package/dist/tools/search/duckDuckGoSearch.js +136 -0
  807. package/dist/tools/search/duckDuckGoSearch.js.map +1 -0
  808. package/dist/tools/search/googleSearch.cjs +155 -0
  809. package/dist/tools/search/googleSearch.cjs.map +1 -0
  810. package/dist/tools/search/googleSearch.d.cts +62 -0
  811. package/dist/tools/search/googleSearch.d.ts +62 -0
  812. package/dist/tools/search/googleSearch.js +152 -0
  813. package/dist/tools/search/googleSearch.js.map +1 -0
  814. package/dist/tools/search/searXNGSearch.cjs +86 -0
  815. package/dist/tools/search/searXNGSearch.cjs.map +1 -0
  816. package/dist/tools/search/searXNGSearch.d.cts +61 -0
  817. package/dist/tools/search/searXNGSearch.d.ts +61 -0
  818. package/dist/tools/search/searXNGSearch.js +83 -0
  819. package/dist/tools/search/searXNGSearch.js.map +1 -0
  820. package/dist/tools/search/wikipedia.cjs +338 -0
  821. package/dist/tools/search/wikipedia.cjs.map +1 -0
  822. package/dist/tools/search/wikipedia.d.cts +108 -0
  823. package/dist/tools/search/wikipedia.d.ts +108 -0
  824. package/dist/tools/search/wikipedia.js +310 -0
  825. package/dist/tools/search/wikipedia.js.map +1 -0
  826. package/dist/tools/similarity.cjs +61 -0
  827. package/dist/tools/similarity.cjs.map +1 -0
  828. package/dist/tools/similarity.d.cts +90 -0
  829. package/dist/tools/similarity.d.ts +90 -0
  830. package/dist/tools/similarity.js +58 -0
  831. package/dist/tools/similarity.js.map +1 -0
  832. package/dist/tools/weather/openMeteo.cjs +221 -0
  833. package/dist/tools/weather/openMeteo.cjs.map +1 -0
  834. package/dist/tools/weather/openMeteo.d.cts +123 -0
  835. package/dist/tools/weather/openMeteo.d.ts +123 -0
  836. package/dist/tools/weather/openMeteo.js +218 -0
  837. package/dist/tools/weather/openMeteo.js.map +1 -0
  838. package/dist/tools/web/webCrawler.cjs +111 -0
  839. package/dist/tools/web/webCrawler.cjs.map +1 -0
  840. package/dist/tools/web/webCrawler.d.cts +66 -0
  841. package/dist/tools/web/webCrawler.d.ts +66 -0
  842. package/dist/tools/web/webCrawler.js +108 -0
  843. package/dist/tools/web/webCrawler.js.map +1 -0
  844. package/dist/version.cjs +9 -0
  845. package/dist/version.cjs.map +1 -0
  846. package/dist/version.d.cts +18 -0
  847. package/dist/version.d.ts +18 -0
  848. package/dist/version.js +9 -0
  849. package/dist/version.js.map +1 -0
  850. package/dist/workflows/agent.cjs +95 -0
  851. package/dist/workflows/agent.cjs.map +1 -0
  852. package/dist/workflows/agent.d.cts +166 -0
  853. package/dist/workflows/agent.d.ts +166 -0
  854. package/dist/workflows/agent.js +93 -0
  855. package/dist/workflows/agent.js.map +1 -0
  856. package/dist/workflows/workflow.cjs +222 -0
  857. package/dist/workflows/workflow.cjs.map +1 -0
  858. package/dist/workflows/workflow.d.cts +118 -0
  859. package/dist/workflows/workflow.d.ts +118 -0
  860. package/dist/workflows/workflow.js +219 -0
  861. package/dist/workflows/workflow.js.map +1 -0
  862. package/package.json +339 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","constructor","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":"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","file":"retryable.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
@@ -0,0 +1,71 @@
1
+ import { Task } from 'promise-based-task';
2
+ import { EnumValue } from '../types.cjs';
3
+ import './guards.cjs';
4
+
5
+ /**
6
+ * Copyright 2025 IBM Corp.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+
21
+ interface RetryableConfig {
22
+ maxRetries: number;
23
+ factor?: number;
24
+ signal?: AbortSignal;
25
+ }
26
+ declare const RunStrategy: {
27
+ /**
28
+ * Once a single Retryable throws, other retry ables get cancelled immediately.
29
+ */
30
+ readonly THROW_IMMEDIATELY: "THROW_IMMEDIATELY";
31
+ /**
32
+ * Once a single Retryable throws, wait for other to completes, but prevent further retries.
33
+ */
34
+ readonly SETTLE_ROUND: "SETTLE_ROUND";
35
+ /**
36
+ * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.
37
+ */
38
+ readonly SETTLE_ALL: "SETTLE_ALL";
39
+ };
40
+ interface RetryableRunConfig {
41
+ groupSignal: AbortSignal;
42
+ }
43
+ interface RetryableContext {
44
+ executionId: string;
45
+ attempt: number;
46
+ signal?: AbortSignal;
47
+ }
48
+ type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;
49
+ type ResetHandler = () => void;
50
+ type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;
51
+ type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;
52
+ declare class Retryable<T> {
53
+ #private;
54
+ constructor(ctx: {
55
+ executor: RetryableHandler<T>;
56
+ onReset?: ResetHandler;
57
+ onError?: ErrorHandler;
58
+ onRetry?: RetryHandler;
59
+ config?: Partial<RetryableConfig>;
60
+ });
61
+ static runGroup<T>(strategy: EnumValue<typeof RunStrategy>, inputs: Retryable<T>[]): Promise<T[]>;
62
+ static runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T>;
63
+ static collect<T>(inputs: T & Record<string, Retryable<any>>): Promise<{ [K_1 in keyof { [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>; }]: Awaited<{ [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>; }[K_1]>; }>;
64
+ get isResolved(): boolean;
65
+ get isRejected(): boolean;
66
+ protected _run(config?: RetryableRunConfig): Task<T, Error>;
67
+ get(config?: RetryableRunConfig): Promise<T>;
68
+ reset(): void;
69
+ }
70
+
71
+ export { type ErrorHandler, type ResetHandler, type RetryHandler, Retryable, type RetryableConfig, type RetryableContext, type RetryableHandler, type RetryableRunConfig, RunStrategy };
@@ -0,0 +1,71 @@
1
+ import { Task } from 'promise-based-task';
2
+ import { EnumValue } from '../types.js';
3
+ import './guards.js';
4
+
5
+ /**
6
+ * Copyright 2025 IBM Corp.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ */
20
+
21
+ interface RetryableConfig {
22
+ maxRetries: number;
23
+ factor?: number;
24
+ signal?: AbortSignal;
25
+ }
26
+ declare const RunStrategy: {
27
+ /**
28
+ * Once a single Retryable throws, other retry ables get cancelled immediately.
29
+ */
30
+ readonly THROW_IMMEDIATELY: "THROW_IMMEDIATELY";
31
+ /**
32
+ * Once a single Retryable throws, wait for other to completes, but prevent further retries.
33
+ */
34
+ readonly SETTLE_ROUND: "SETTLE_ROUND";
35
+ /**
36
+ * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.
37
+ */
38
+ readonly SETTLE_ALL: "SETTLE_ALL";
39
+ };
40
+ interface RetryableRunConfig {
41
+ groupSignal: AbortSignal;
42
+ }
43
+ interface RetryableContext {
44
+ executionId: string;
45
+ attempt: number;
46
+ signal?: AbortSignal;
47
+ }
48
+ type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;
49
+ type ResetHandler = () => void;
50
+ type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;
51
+ type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;
52
+ declare class Retryable<T> {
53
+ #private;
54
+ constructor(ctx: {
55
+ executor: RetryableHandler<T>;
56
+ onReset?: ResetHandler;
57
+ onError?: ErrorHandler;
58
+ onRetry?: RetryHandler;
59
+ config?: Partial<RetryableConfig>;
60
+ });
61
+ static runGroup<T>(strategy: EnumValue<typeof RunStrategy>, inputs: Retryable<T>[]): Promise<T[]>;
62
+ static runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T>;
63
+ static collect<T>(inputs: T & Record<string, Retryable<any>>): Promise<{ [K_1 in keyof { [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>; }]: Awaited<{ [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>; }[K_1]>; }>;
64
+ get isResolved(): boolean;
65
+ get isRejected(): boolean;
66
+ protected _run(config?: RetryableRunConfig): Task<T, Error>;
67
+ get(config?: RetryableRunConfig): Promise<T>;
68
+ reset(): void;
69
+ }
70
+
71
+ export { type ErrorHandler, type ResetHandler, type RetryHandler, Retryable, type RetryableConfig, type RetryableContext, type RetryableHandler, type RetryableRunConfig, RunStrategy };
@@ -0,0 +1,146 @@
1
+ import * as R from 'remeda';
2
+ import { TaskState, Task } from 'promise-based-task';
3
+ import { FrameworkError } from '../../errors.js';
4
+ import { asyncProperties } from './promise.js';
5
+ import { createRandomHash } from './hash.js';
6
+ import { pRetry } from './retry.js';
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
+ const RunStrategy = {
11
+ /**
12
+ * Once a single Retryable throws, other retry ables get cancelled immediately.
13
+ */
14
+ THROW_IMMEDIATELY: "THROW_IMMEDIATELY",
15
+ /**
16
+ * Once a single Retryable throws, wait for other to completes, but prevent further retries.
17
+ */
18
+ SETTLE_ROUND: "SETTLE_ROUND",
19
+ /**
20
+ * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.
21
+ */
22
+ SETTLE_ALL: "SETTLE_ALL"
23
+ };
24
+ class Retryable {
25
+ static {
26
+ __name(this, "Retryable");
27
+ }
28
+ #id;
29
+ #value;
30
+ #config;
31
+ #handlers;
32
+ constructor(ctx) {
33
+ this.#value = null;
34
+ this.#id = createRandomHash();
35
+ this.#handlers = {
36
+ executor: ctx.executor,
37
+ onReset: ctx.onReset,
38
+ onError: ctx.onError,
39
+ onRetry: ctx.onRetry
40
+ };
41
+ this.#config = {
42
+ ...ctx.config,
43
+ maxRetries: Math.max(ctx.config?.maxRetries || 0, 0)
44
+ };
45
+ }
46
+ static async runGroup(strategy, inputs) {
47
+ if (strategy === RunStrategy.THROW_IMMEDIATELY) {
48
+ return await Promise.all(inputs.map((input) => input.get()));
49
+ }
50
+ const controller = new AbortController();
51
+ const results = await Promise.allSettled(inputs.map((input) => input.get(strategy === RunStrategy.SETTLE_ALL ? {
52
+ groupSignal: controller.signal
53
+ } : void 0).catch((err) => {
54
+ controller.abort(err);
55
+ throw err;
56
+ })));
57
+ controller.signal.throwIfAborted();
58
+ return results.map((result) => result.value);
59
+ }
60
+ static async *runSequence(inputs) {
61
+ for (const input of inputs) {
62
+ yield await input.get();
63
+ }
64
+ }
65
+ static async collect(inputs) {
66
+ await Promise.all(R.values(inputs).map((input) => input.get()));
67
+ return await asyncProperties(R.mapValues(inputs, (value) => value.get()));
68
+ }
69
+ #getContext(attempt) {
70
+ const ctx = {
71
+ attempt,
72
+ executionId: this.#id,
73
+ signal: this.#config.signal
74
+ };
75
+ Object.defineProperty(ctx, "signal", {
76
+ enumerable: false
77
+ });
78
+ return ctx;
79
+ }
80
+ get isResolved() {
81
+ return this.#value?.state === TaskState.RESOLVED;
82
+ }
83
+ get isRejected() {
84
+ return this.#value?.state === TaskState.REJECTED;
85
+ }
86
+ _run(config) {
87
+ const task = new Task();
88
+ const assertAborted = /* @__PURE__ */ __name(() => {
89
+ this.#config.signal?.throwIfAborted?.();
90
+ config?.groupSignal?.throwIfAborted?.();
91
+ }, "assertAborted");
92
+ let lastError = null;
93
+ pRetry(async (attempt) => {
94
+ assertAborted();
95
+ const ctx = this.#getContext(attempt);
96
+ if (attempt > 1) {
97
+ await this.#handlers.onRetry?.(ctx, lastError);
98
+ }
99
+ return await this.#handlers.executor(ctx);
100
+ }, {
101
+ retries: this.#config.maxRetries,
102
+ factor: this.#config.factor,
103
+ signal: this.#config.signal,
104
+ shouldRetry: /* @__PURE__ */ __name((e) => {
105
+ if (!FrameworkError.isRetryable(e)) {
106
+ return false;
107
+ }
108
+ return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;
109
+ }, "shouldRetry"),
110
+ onFailedAttempt: /* @__PURE__ */ __name(async (e, meta) => {
111
+ lastError = e;
112
+ await this.#handlers.onError?.(e, this.#getContext(meta.attempt));
113
+ if (!FrameworkError.isRetryable(e)) {
114
+ throw e;
115
+ }
116
+ assertAborted();
117
+ }, "onFailedAttempt")
118
+ }).then((x) => task.resolve(x)).catch((x) => task.reject(x));
119
+ return task;
120
+ }
121
+ async get(config) {
122
+ if (this.isResolved) {
123
+ return this.#value.resolvedValue();
124
+ }
125
+ if (this.isRejected) {
126
+ throw this.#value?.rejectedValue();
127
+ }
128
+ if (this.#value?.state === TaskState.PENDING && !config) {
129
+ return this.#value;
130
+ }
131
+ this.#value?.catch?.(() => {
132
+ });
133
+ this.#value = this._run(config);
134
+ return this.#value;
135
+ }
136
+ reset() {
137
+ this.#value?.catch?.(() => {
138
+ });
139
+ this.#value = null;
140
+ this.#handlers.onReset?.();
141
+ }
142
+ }
143
+
144
+ export { Retryable, RunStrategy };
145
+ //# sourceMappingURL=retryable.js.map
146
+ //# sourceMappingURL=retryable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/internals/helpers/retryable.ts"],"names":["RunStrategy","THROW_IMMEDIATELY","SETTLE_ROUND","SETTLE_ALL","Retryable","constructor","ctx","createRandomHash","executor","onReset","onError","onRetry","config","maxRetries","Math","max","runGroup","strategy","inputs","Promise","all","map","input","get","controller","AbortController","results","allSettled","groupSignal","signal","undefined","catch","err","abort","throwIfAborted","result","value","runSequence","collect","R","values","asyncProperties","mapValues","attempt","executionId","Object","defineProperty","enumerable","isResolved","state","TaskState","RESOLVED","isRejected","REJECTED","_run","task","Task","assertAborted","lastError","pRetry","retries","factor","shouldRetry","e","FrameworkError","isRetryable","aborted","onFailedAttempt","meta","then","x","resolve","reject","resolvedValue","rejectedValue","PENDING","reset"],"mappings":"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","file":"retryable.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as R from \"remeda\";\nimport { Task, TaskState } from \"promise-based-task\";\nimport { FrameworkError } from \"@/errors.js\";\nimport { EnumValue } from \"@/internals/types.js\";\nimport { asyncProperties } from \"@/internals/helpers/promise.js\";\nimport { createRandomHash } from \"@/internals/helpers/hash.js\";\nimport { pRetry } from \"@/internals/helpers/retry.js\";\n\nexport interface RetryableConfig {\n maxRetries: number;\n factor?: number;\n signal?: AbortSignal;\n}\n\nexport const RunStrategy = {\n /**\n * Once a single Retryable throws, other retry ables get cancelled immediately.\n */\n THROW_IMMEDIATELY: \"THROW_IMMEDIATELY\",\n\n /**\n * Once a single Retryable throws, wait for other to completes, but prevent further retries.\n */\n SETTLE_ROUND: \"SETTLE_ROUND\",\n\n /**\n * Once a single Retryable throws, other Retryables remains to continue. Error is thrown by the end.\n */\n SETTLE_ALL: \"SETTLE_ALL\",\n} as const;\n\nexport interface RetryableRunConfig {\n groupSignal: AbortSignal;\n}\n\nexport interface RetryableContext {\n executionId: string;\n attempt: number;\n signal?: AbortSignal;\n}\n\nexport type RetryableHandler<T> = (ctx: RetryableContext) => Promise<T>;\nexport type ResetHandler = () => void;\nexport type ErrorHandler = (error: Error, ctx: RetryableContext) => void | Promise<void>;\nexport type RetryHandler = (ctx: RetryableContext, lastError: Error) => void | Promise<void>;\n\nexport class Retryable<T> {\n readonly #id: string;\n #value: Task<T, Error> | null;\n #config: RetryableConfig;\n #handlers;\n\n constructor(ctx: {\n executor: RetryableHandler<T>;\n onReset?: ResetHandler;\n onError?: ErrorHandler;\n onRetry?: RetryHandler;\n config?: Partial<RetryableConfig>;\n }) {\n this.#value = null;\n this.#id = createRandomHash();\n this.#handlers = {\n executor: ctx.executor,\n onReset: ctx.onReset,\n onError: ctx.onError,\n onRetry: ctx.onRetry,\n } as const;\n this.#config = {\n ...ctx.config,\n maxRetries: Math.max(ctx.config?.maxRetries || 0, 0),\n };\n }\n\n static async runGroup<T>(\n strategy: EnumValue<typeof RunStrategy>,\n inputs: Retryable<T>[],\n ): Promise<T[]> {\n if (strategy === RunStrategy.THROW_IMMEDIATELY) {\n return await Promise.all(inputs.map((input) => input.get()));\n }\n\n const controller = new AbortController();\n const results = await Promise.allSettled(\n inputs.map((input) =>\n input\n .get(strategy === RunStrategy.SETTLE_ALL ? { groupSignal: controller.signal } : undefined)\n .catch((err) => {\n controller.abort(err);\n throw err;\n }),\n ),\n );\n controller.signal.throwIfAborted();\n return results.map((result) => (result as PromiseFulfilledResult<T>).value!);\n }\n\n static async *runSequence<T>(inputs: readonly Retryable<T>[]): AsyncGenerator<T> {\n for (const input of inputs) {\n yield await input.get();\n }\n }\n\n static async collect<T>(inputs: T & Record<string, Retryable<any>>) {\n // Solve everything\n await Promise.all(R.values(inputs).map((input) => input.get()));\n\n // Obtain latest values\n return await asyncProperties(\n R.mapValues(inputs, (value) => (value as Retryable<any>).get()) as {\n [K in keyof T]: Promise<T[K] extends Retryable<infer Q> ? Q : never>;\n },\n );\n }\n\n #getContext(attempt: number): RetryableContext {\n const ctx: RetryableContext = {\n attempt,\n executionId: this.#id,\n signal: this.#config.signal,\n };\n Object.defineProperty(ctx, \"signal\", {\n enumerable: false,\n });\n return ctx;\n }\n\n get isResolved(): boolean {\n return this.#value?.state === TaskState.RESOLVED;\n }\n\n get isRejected(): boolean {\n return this.#value?.state === TaskState.REJECTED;\n }\n\n protected _run(config?: RetryableRunConfig) {\n const task = new Task<T, Error>();\n\n const assertAborted = () => {\n this.#config.signal?.throwIfAborted?.();\n config?.groupSignal?.throwIfAborted?.();\n };\n\n let lastError: Error | null = null;\n pRetry(\n async (attempt) => {\n assertAborted();\n\n const ctx = this.#getContext(attempt);\n if (attempt > 1) {\n await this.#handlers.onRetry?.(ctx, lastError!);\n }\n return await this.#handlers.executor(ctx);\n },\n {\n retries: this.#config.maxRetries,\n factor: this.#config.factor,\n signal: this.#config.signal,\n shouldRetry: (e) => {\n if (!FrameworkError.isRetryable(e)) {\n return false;\n }\n return !config?.groupSignal?.aborted && !this.#config.signal?.aborted;\n },\n onFailedAttempt: async (e, meta) => {\n lastError = e;\n await this.#handlers.onError?.(e, this.#getContext(meta.attempt));\n if (!FrameworkError.isRetryable(e)) {\n throw e;\n }\n assertAborted();\n },\n },\n )\n .then((x) => task.resolve(x))\n .catch((x) => task.reject(x));\n\n return task;\n }\n\n async get(config?: RetryableRunConfig): Promise<T> {\n if (this.isResolved) {\n return this.#value!.resolvedValue()!;\n }\n if (this.isRejected) {\n throw this.#value?.rejectedValue();\n }\n\n if (this.#value?.state === TaskState.PENDING && !config) {\n return this.#value;\n }\n\n this.#value?.catch?.(() => {});\n this.#value = this._run(config);\n return this.#value;\n }\n\n reset() {\n this.#value?.catch?.(() => {});\n this.#value = null;\n this.#handlers.onReset?.();\n }\n}\n"]}
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+ var zodToJsonSchema = require('zod-to-json-schema');
5
+ var ajv = require('ajv');
6
+ var addFormats = require('ajv-formats');
7
+ var string_cjs = require('./string.cjs');
8
+ var errors_cjs = require('../../errors.cjs');
9
+ var jsonrepair = require('jsonrepair');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var addFormats__default = /*#__PURE__*/_interopDefault(addFormats);
14
+
15
+ var __defProp = Object.defineProperty;
16
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
17
+ function validateSchema(schema, errorOptions) {
18
+ if (schema && schema instanceof zod.ZodEffects) {
19
+ throw new errors_cjs.ValueError("zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!", [], errorOptions);
20
+ }
21
+ }
22
+ __name(validateSchema, "validateSchema");
23
+ function toJsonSchema(schema, options) {
24
+ validateSchema(schema);
25
+ if (schema instanceof zod.ZodType) {
26
+ return zodToJsonSchema.zodToJsonSchema(schema, options);
27
+ }
28
+ return schema;
29
+ }
30
+ __name(toJsonSchema, "toJsonSchema");
31
+ function createSchemaValidator(schema, options) {
32
+ const jsonSchema = toJsonSchema(schema);
33
+ const ajv$1 = new ajv.Ajv({
34
+ coerceTypes: "array",
35
+ useDefaults: true,
36
+ strict: false,
37
+ strictSchema: false,
38
+ strictTuples: true,
39
+ strictNumbers: true,
40
+ strictTypes: true,
41
+ strictRequired: true,
42
+ parseDate: true,
43
+ allowDate: true,
44
+ allowUnionTypes: true,
45
+ ...options
46
+ });
47
+ addFormats__default.default.default(ajv$1);
48
+ return ajv$1.compile(jsonSchema);
49
+ }
50
+ __name(createSchemaValidator, "createSchemaValidator");
51
+ function parseBrokenJson(input, options) {
52
+ input = (input ?? "")?.trim();
53
+ try {
54
+ try {
55
+ return JSON.parse(input);
56
+ } catch {
57
+ const pair = options?.pair;
58
+ if (pair) {
59
+ const { outer } = string_cjs.findFirstPair(input, pair) ?? {
60
+ outer: input
61
+ };
62
+ return JSON.parse(jsonrepair.jsonrepair(outer));
63
+ } else {
64
+ return JSON.parse(jsonrepair.jsonrepair(input));
65
+ }
66
+ }
67
+ } catch {
68
+ return null;
69
+ }
70
+ }
71
+ __name(parseBrokenJson, "parseBrokenJson");
72
+
73
+ exports.createSchemaValidator = createSchemaValidator;
74
+ exports.parseBrokenJson = parseBrokenJson;
75
+ exports.toJsonSchema = toJsonSchema;
76
+ exports.validateSchema = validateSchema;
77
+ //# sourceMappingURL=schema.cjs.map
78
+ //# sourceMappingURL=schema.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;;;;;;;AA4BO,SAASA,cAAAA,CACdC,QACAC,YAAoC,EAAA;AAEpC,EAAID,IAAAA,MAAAA,IAAUA,kBAAkBE,cAAY,EAAA;AAC1C,IAAA,MAAM,IAAIC,qBAAAA,CACR,sFACA,EAAA,IACAF,YAAAA,CAAAA;AAEJ;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAA0B,EAAA;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,WAAS,EAAA;AAC7B,IAAOC,OAAAA,+BAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC;AACA,EAAOL,OAAAA,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAoB,EAAA;AAEpB,EAAMI,MAAAA,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAMU,MAAAA,KAAAA,GAAM,IAAIC,OAAI,CAAA;IAClBC,WAAa,EAAA,OAAA;IACbC,WAAa,EAAA,IAAA;IACbC,MAAQ,EAAA,KAAA;IACRC,YAAc,EAAA,KAAA;IACdC,YAAc,EAAA,IAAA;IACdC,aAAe,EAAA,IAAA;IACfC,WAAa,EAAA,IAAA;IACbC,cAAgB,EAAA,IAAA;IAChBC,SAAW,EAAA,IAAA;IACXC,SAAW,EAAA,IAAA;IACXC,eAAiB,EAAA,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,2BAAAA,CAAWC,QAAQd,KAAAA,CAAAA;AACnB,EAAOA,OAAAA,KAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAgC,EAAA;AACzFsB,EAASA,KAAAA,GAAAA,CAAAA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAI,IAAA;AACF,IAAI,IAAA;AACF,MAAOC,OAAAA,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;KACZ,CAAA,MAAA;AACN,MAAA,MAAMI,OAAO1B,OAAS0B,EAAAA,IAAAA;AACtB,MAAA,IAAIA,IAAM,EAAA;AACR,QAAA,MAAM,EAAEC,KAAK,EAAA,GAAKC,wBAAcN,CAAAA,KAAAA,EAAOI,IAAAA,CAAS,IAAA;UAAEC,KAAOL,EAAAA;AAAM,SAAA;AAC/D,QAAA,OAAOE,IAAKC,CAAAA,KAAAA,CAAMI,qBAAWF,CAAAA,KAAAA,CAAAA,CAAAA;OACxB,MAAA;AACL,QAAA,OAAOH,IAAKC,CAAAA,KAAAA,CAAMI,qBAAWP,CAAAA,KAAAA,CAAAA,CAAAA;AAC/B;AACF;GACM,CAAA,MAAA;AACN,IAAO,OAAA,IAAA;AACT;AACF;AAlBgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"schema.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { TypeOf, ZodType, ZodEffects, ZodTypeAny, AnyZodObject, input } from \"zod\";\nimport { zodToJsonSchema, Options } from \"zod-to-json-schema\";\nimport { Ajv, SchemaObject, ValidateFunction, Options as AjvOptions } from \"ajv\";\nimport addFormats from \"ajv-formats\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { FrameworkErrorOptions, ValueError } from \"@/errors.js\";\nimport { jsonrepair } from \"jsonrepair\";\nexport type AnyToolSchemaLike = AnyZodObject | SchemaObject;\nexport type AnySchemaLike = ZodTypeAny | SchemaObject;\nexport type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;\nexport type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;\n\nexport function validateSchema<T extends AnySchemaLike>(\n schema: T | ZodEffects<any>,\n errorOptions?: FrameworkErrorOptions,\n): asserts schema is T {\n if (schema && schema instanceof ZodEffects) {\n throw new ValueError(\n \"zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!\",\n [],\n errorOptions,\n );\n }\n}\n\nexport function toJsonSchema<T extends AnySchemaLike>(\n schema: T,\n options?: Partial<Options>,\n): SchemaObject {\n validateSchema(schema);\n if (schema instanceof ZodType) {\n return zodToJsonSchema(schema, options);\n }\n return schema;\n}\n\nexport function createSchemaValidator<T extends AnySchemaLike>(\n schema: T,\n options?: AjvOptions,\n): ValidateFunction<FromSchemaLike<T>> {\n const jsonSchema = toJsonSchema(schema);\n\n const ajv = new Ajv({\n coerceTypes: \"array\",\n useDefaults: true,\n strict: false,\n strictSchema: false,\n strictTuples: true,\n strictNumbers: true,\n strictTypes: true,\n strictRequired: true,\n parseDate: true,\n allowDate: true,\n allowUnionTypes: true,\n ...options,\n });\n addFormats.default(ajv);\n return ajv.compile<FromSchemaLike<T>>(jsonSchema);\n}\n\ninterface ParseBrokenJsonOptions {\n pair?: [string, string] | null;\n}\nexport function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions) {\n input = (input ?? \"\")?.trim();\n\n try {\n try {\n return JSON.parse(input);\n } catch {\n const pair = options?.pair;\n if (pair) {\n const { outer } = findFirstPair(input, pair) ?? { outer: input };\n return JSON.parse(jsonrepair(outer));\n } else {\n return JSON.parse(jsonrepair(input));\n }\n }\n } catch {\n return null;\n }\n}\n"]}
@@ -0,0 +1,36 @@
1
+ import { AnyZodObject, ZodTypeAny, TypeOf, input, ZodEffects } from 'zod';
2
+ import { Options } from 'zod-to-json-schema';
3
+ import { SchemaObject, Options as Options$1, ValidateFunction } from 'ajv';
4
+ import { FrameworkErrorOptions } from '../../errors.cjs';
5
+ import '../types.cjs';
6
+ import './guards.cjs';
7
+
8
+ /**
9
+ * Copyright 2025 IBM Corp.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License.
22
+ */
23
+
24
+ type AnyToolSchemaLike = AnyZodObject | SchemaObject;
25
+ type AnySchemaLike = ZodTypeAny | SchemaObject;
26
+ type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;
27
+ type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;
28
+ declare function validateSchema<T extends AnySchemaLike>(schema: T | ZodEffects<any>, errorOptions?: FrameworkErrorOptions): asserts schema is T;
29
+ declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options>): SchemaObject;
30
+ declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options$1): ValidateFunction<FromSchemaLike<T>>;
31
+ interface ParseBrokenJsonOptions {
32
+ pair?: [string, string] | null;
33
+ }
34
+ declare function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions): any;
35
+
36
+ export { type AnySchemaLike, type AnyToolSchemaLike, type FromSchemaLike, type FromSchemaLikeRaw, createSchemaValidator, parseBrokenJson, toJsonSchema, validateSchema };
@@ -0,0 +1,36 @@
1
+ import { AnyZodObject, ZodTypeAny, TypeOf, input, ZodEffects } from 'zod';
2
+ import { Options } from 'zod-to-json-schema';
3
+ import { SchemaObject, Options as Options$1, ValidateFunction } from 'ajv';
4
+ import { FrameworkErrorOptions } from '../../errors.js';
5
+ import '../types.js';
6
+ import './guards.js';
7
+
8
+ /**
9
+ * Copyright 2025 IBM Corp.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License.
22
+ */
23
+
24
+ type AnyToolSchemaLike = AnyZodObject | SchemaObject;
25
+ type AnySchemaLike = ZodTypeAny | SchemaObject;
26
+ type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;
27
+ type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;
28
+ declare function validateSchema<T extends AnySchemaLike>(schema: T | ZodEffects<any>, errorOptions?: FrameworkErrorOptions): asserts schema is T;
29
+ declare function toJsonSchema<T extends AnySchemaLike>(schema: T, options?: Partial<Options>): SchemaObject;
30
+ declare function createSchemaValidator<T extends AnySchemaLike>(schema: T, options?: Options$1): ValidateFunction<FromSchemaLike<T>>;
31
+ interface ParseBrokenJsonOptions {
32
+ pair?: [string, string] | null;
33
+ }
34
+ declare function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions): any;
35
+
36
+ export { type AnySchemaLike, type AnyToolSchemaLike, type FromSchemaLike, type FromSchemaLikeRaw, createSchemaValidator, parseBrokenJson, toJsonSchema, validateSchema };
@@ -0,0 +1,69 @@
1
+ import { ZodEffects, ZodType } from 'zod';
2
+ import { zodToJsonSchema } from 'zod-to-json-schema';
3
+ import { Ajv } from 'ajv';
4
+ import addFormats from 'ajv-formats';
5
+ import { findFirstPair } from './string.js';
6
+ import { ValueError } from '../../errors.js';
7
+ import { jsonrepair } from 'jsonrepair';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
11
+ function validateSchema(schema, errorOptions) {
12
+ if (schema && schema instanceof ZodEffects) {
13
+ throw new ValueError("zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!", [], errorOptions);
14
+ }
15
+ }
16
+ __name(validateSchema, "validateSchema");
17
+ function toJsonSchema(schema, options) {
18
+ validateSchema(schema);
19
+ if (schema instanceof ZodType) {
20
+ return zodToJsonSchema(schema, options);
21
+ }
22
+ return schema;
23
+ }
24
+ __name(toJsonSchema, "toJsonSchema");
25
+ function createSchemaValidator(schema, options) {
26
+ const jsonSchema = toJsonSchema(schema);
27
+ const ajv = new Ajv({
28
+ coerceTypes: "array",
29
+ useDefaults: true,
30
+ strict: false,
31
+ strictSchema: false,
32
+ strictTuples: true,
33
+ strictNumbers: true,
34
+ strictTypes: true,
35
+ strictRequired: true,
36
+ parseDate: true,
37
+ allowDate: true,
38
+ allowUnionTypes: true,
39
+ ...options
40
+ });
41
+ addFormats.default(ajv);
42
+ return ajv.compile(jsonSchema);
43
+ }
44
+ __name(createSchemaValidator, "createSchemaValidator");
45
+ function parseBrokenJson(input, options) {
46
+ input = (input ?? "")?.trim();
47
+ try {
48
+ try {
49
+ return JSON.parse(input);
50
+ } catch {
51
+ const pair = options?.pair;
52
+ if (pair) {
53
+ const { outer } = findFirstPair(input, pair) ?? {
54
+ outer: input
55
+ };
56
+ return JSON.parse(jsonrepair(outer));
57
+ } else {
58
+ return JSON.parse(jsonrepair(input));
59
+ }
60
+ }
61
+ } catch {
62
+ return null;
63
+ }
64
+ }
65
+ __name(parseBrokenJson, "parseBrokenJson");
66
+
67
+ export { createSchemaValidator, parseBrokenJson, toJsonSchema, validateSchema };
68
+ //# sourceMappingURL=schema.js.map
69
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/internals/helpers/schema.ts"],"names":["validateSchema","schema","errorOptions","ZodEffects","ValueError","toJsonSchema","options","ZodType","zodToJsonSchema","createSchemaValidator","jsonSchema","ajv","Ajv","coerceTypes","useDefaults","strict","strictSchema","strictTuples","strictNumbers","strictTypes","strictRequired","parseDate","allowDate","allowUnionTypes","addFormats","default","compile","parseBrokenJson","input","trim","JSON","parse","pair","outer","findFirstPair","jsonrepair"],"mappings":";;;;;;;;;;AA4BO,SAASA,cAAAA,CACdC,QACAC,YAAoC,EAAA;AAEpC,EAAID,IAAAA,MAAAA,IAAUA,kBAAkBE,UAAY,EAAA;AAC1C,IAAA,MAAM,IAAIC,UAAAA,CACR,sFACA,EAAA,IACAF,YAAAA,CAAAA;AAEJ;AACF;AAXgBF,MAAAA,CAAAA,cAAAA,EAAAA,gBAAAA,CAAAA;AAaT,SAASK,YAAAA,CACdJ,QACAK,OAA0B,EAAA;AAE1BN,EAAAA,cAAAA,CAAeC,MAAAA,CAAAA;AACf,EAAA,IAAIA,kBAAkBM,OAAS,EAAA;AAC7B,IAAOC,OAAAA,eAAAA,CAAgBP,QAAQK,OAAAA,CAAAA;AACjC;AACA,EAAOL,OAAAA,MAAAA;AACT;AATgBI,MAAAA,CAAAA,YAAAA,EAAAA,cAAAA,CAAAA;AAWT,SAASI,qBAAAA,CACdR,QACAK,OAAoB,EAAA;AAEpB,EAAMI,MAAAA,UAAAA,GAAaL,aAAaJ,MAAAA,CAAAA;AAEhC,EAAMU,MAAAA,GAAAA,GAAM,IAAIC,GAAI,CAAA;IAClBC,WAAa,EAAA,OAAA;IACbC,WAAa,EAAA,IAAA;IACbC,MAAQ,EAAA,KAAA;IACRC,YAAc,EAAA,KAAA;IACdC,YAAc,EAAA,IAAA;IACdC,aAAe,EAAA,IAAA;IACfC,WAAa,EAAA,IAAA;IACbC,cAAgB,EAAA,IAAA;IAChBC,SAAW,EAAA,IAAA;IACXC,SAAW,EAAA,IAAA;IACXC,eAAiB,EAAA,IAAA;IACjB,GAAGjB;GACL,CAAA;AACAkB,EAAAA,UAAAA,CAAWC,QAAQd,GAAAA,CAAAA;AACnB,EAAOA,OAAAA,GAAAA,CAAIe,QAA2BhB,UAAAA,CAAAA;AACxC;AAtBgBD,MAAAA,CAAAA,qBAAAA,EAAAA,uBAAAA,CAAAA;AA2BT,SAASkB,eAAAA,CAAgBC,OAA2BtB,OAAgC,EAAA;AACzFsB,EAASA,KAAAA,GAAAA,CAAAA,KAAAA,IAAS,KAAKC,IAAAA,EAAAA;AAEvB,EAAI,IAAA;AACF,IAAI,IAAA;AACF,MAAOC,OAAAA,IAAAA,CAAKC,MAAMH,KAAAA,CAAAA;KACZ,CAAA,MAAA;AACN,MAAA,MAAMI,OAAO1B,OAAS0B,EAAAA,IAAAA;AACtB,MAAA,IAAIA,IAAM,EAAA;AACR,QAAA,MAAM,EAAEC,KAAK,EAAA,GAAKC,aAAcN,CAAAA,KAAAA,EAAOI,IAAAA,CAAS,IAAA;UAAEC,KAAOL,EAAAA;AAAM,SAAA;AAC/D,QAAA,OAAOE,IAAKC,CAAAA,KAAAA,CAAMI,UAAWF,CAAAA,KAAAA,CAAAA,CAAAA;OACxB,MAAA;AACL,QAAA,OAAOH,IAAKC,CAAAA,KAAAA,CAAMI,UAAWP,CAAAA,KAAAA,CAAAA,CAAAA;AAC/B;AACF;GACM,CAAA,MAAA;AACN,IAAO,OAAA,IAAA;AACT;AACF;AAlBgBD,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"schema.js","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { TypeOf, ZodType, ZodEffects, ZodTypeAny, AnyZodObject, input } from \"zod\";\nimport { zodToJsonSchema, Options } from \"zod-to-json-schema\";\nimport { Ajv, SchemaObject, ValidateFunction, Options as AjvOptions } from \"ajv\";\nimport addFormats from \"ajv-formats\";\nimport { findFirstPair } from \"@/internals/helpers/string.js\";\nimport { FrameworkErrorOptions, ValueError } from \"@/errors.js\";\nimport { jsonrepair } from \"jsonrepair\";\nexport type AnyToolSchemaLike = AnyZodObject | SchemaObject;\nexport type AnySchemaLike = ZodTypeAny | SchemaObject;\nexport type FromSchemaLike<T> = T extends ZodTypeAny ? TypeOf<T> : unknown;\nexport type FromSchemaLikeRaw<T> = T extends ZodTypeAny ? input<T> : unknown;\n\nexport function validateSchema<T extends AnySchemaLike>(\n schema: T | ZodEffects<any>,\n errorOptions?: FrameworkErrorOptions,\n): asserts schema is T {\n if (schema && schema instanceof ZodEffects) {\n throw new ValueError(\n \"zod effects (refine, superRefine, transform, ...) cannot be converted to JSONSchema!\",\n [],\n errorOptions,\n );\n }\n}\n\nexport function toJsonSchema<T extends AnySchemaLike>(\n schema: T,\n options?: Partial<Options>,\n): SchemaObject {\n validateSchema(schema);\n if (schema instanceof ZodType) {\n return zodToJsonSchema(schema, options);\n }\n return schema;\n}\n\nexport function createSchemaValidator<T extends AnySchemaLike>(\n schema: T,\n options?: AjvOptions,\n): ValidateFunction<FromSchemaLike<T>> {\n const jsonSchema = toJsonSchema(schema);\n\n const ajv = new Ajv({\n coerceTypes: \"array\",\n useDefaults: true,\n strict: false,\n strictSchema: false,\n strictTuples: true,\n strictNumbers: true,\n strictTypes: true,\n strictRequired: true,\n parseDate: true,\n allowDate: true,\n allowUnionTypes: true,\n ...options,\n });\n addFormats.default(ajv);\n return ajv.compile<FromSchemaLike<T>>(jsonSchema);\n}\n\ninterface ParseBrokenJsonOptions {\n pair?: [string, string] | null;\n}\nexport function parseBrokenJson(input: string | undefined, options?: ParseBrokenJsonOptions) {\n input = (input ?? \"\")?.trim();\n\n try {\n try {\n return JSON.parse(input);\n } catch {\n const pair = options?.pair;\n if (pair) {\n const { outer } = findFirstPair(input, pair) ?? { outer: input };\n return JSON.parse(jsonrepair(outer));\n } else {\n return JSON.parse(jsonrepair(input));\n }\n }\n } catch {\n return null;\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ async function* transformAsyncIterable(generator, transformer) {
6
+ let next;
7
+ while (!(next = await generator.next()).done) {
8
+ yield transformer(next.value);
9
+ }
10
+ return next.value;
11
+ }
12
+ __name(transformAsyncIterable, "transformAsyncIterable");
13
+ function isAsyncIterable(value) {
14
+ return Boolean(value && Symbol.asyncIterator in value);
15
+ }
16
+ __name(isAsyncIterable, "isAsyncIterable");
17
+
18
+ exports.isAsyncIterable = isAsyncIterable;
19
+ exports.transformAsyncIterable = transformAsyncIterable;
20
+ //# sourceMappingURL=stream.cjs.map
21
+ //# sourceMappingURL=stream.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/internals/helpers/stream.ts"],"names":["transformAsyncIterable","generator","transformer","next","done","value","isAsyncIterable","Boolean","Symbol","asyncIterator"],"mappings":";;;;AAgBA,gBAAuBA,sBAAAA,CACrBC,WACAC,WAA2B,EAAA;AAE3B,EAAIC,IAAAA,IAAAA;AACJ,EAAA,OAAO,EAAEA,IAAO,GAAA,MAAMF,SAAUE,CAAAA,IAAAA,IAAQC,IAAM,EAAA;AAC5C,IAAMF,MAAAA,WAAAA,CAAYC,KAAKE,KAAK,CAAA;AAC9B;AACA,EAAA,OAAOF,IAAKE,CAAAA,KAAAA;AACd;AATuBL,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA;AAWhB,SAASM,gBAAmBD,KAAU,EAAA;AAC3C,EAAA,OAAOE,OAAQF,CAAAA,KAAAA,IAASG,MAAOC,CAAAA,aAAAA,IAAiBJ,KAAAA,CAAAA;AAClD;AAFgBC,MAAAA,CAAAA,eAAAA,EAAAA,iBAAAA,CAAAA","file":"stream.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport async function* transformAsyncIterable<A, B, A2>(\n generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>,\n transformer: (old: A) => A2,\n): AsyncGenerator<A2, B> {\n let next: IteratorResult<A, B>;\n while (!(next = await generator.next()).done) {\n yield transformer(next.value);\n }\n return next.value;\n}\n\nexport function isAsyncIterable<T>(value: any): value is AsyncIterable<T> {\n return Boolean(value && Symbol.asyncIterator in value);\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright 2025 IBM Corp.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ declare function transformAsyncIterable<A, B, A2>(generator: AsyncGenerator<A, B> | AsyncIterableIterator<A>, transformer: (old: A) => A2): AsyncGenerator<A2, B>;
17
+ declare function isAsyncIterable<T>(value: any): value is AsyncIterable<T>;
18
+
19
+ export { isAsyncIterable, transformAsyncIterable };