@langchain/core 1.1.24 → 1.1.25

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 (1103) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/_virtual/_rolldown/runtime.cjs +43 -0
  3. package/dist/_virtual/_rolldown/runtime.js +18 -0
  4. package/dist/agents.cjs +3 -1
  5. package/dist/agents.d.cts.map +1 -1
  6. package/dist/agents.d.ts.map +1 -1
  7. package/dist/agents.js +3 -1
  8. package/dist/caches/index.cjs +4 -4
  9. package/dist/caches/index.cjs.map +1 -1
  10. package/dist/caches/index.d.cts.map +1 -1
  11. package/dist/caches/index.d.ts.map +1 -1
  12. package/dist/caches/index.js +3 -4
  13. package/dist/caches/index.js.map +1 -1
  14. package/dist/callbacks/base.cjs +9 -16
  15. package/dist/callbacks/base.cjs.map +1 -1
  16. package/dist/callbacks/base.d.cts +1 -0
  17. package/dist/callbacks/base.d.cts.map +1 -1
  18. package/dist/callbacks/base.d.ts +1 -0
  19. package/dist/callbacks/base.d.ts.map +1 -1
  20. package/dist/callbacks/base.js +6 -15
  21. package/dist/callbacks/base.js.map +1 -1
  22. package/dist/callbacks/dispatch/index.cjs +6 -6
  23. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  24. package/dist/callbacks/dispatch/index.d.cts +0 -1
  25. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  26. package/dist/callbacks/dispatch/index.d.ts +0 -1
  27. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  28. package/dist/callbacks/dispatch/index.js +4 -5
  29. package/dist/callbacks/dispatch/index.js.map +1 -1
  30. package/dist/callbacks/dispatch/web.cjs +1 -0
  31. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  32. package/dist/callbacks/dispatch/web.d.cts +0 -1
  33. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  34. package/dist/callbacks/dispatch/web.d.ts +0 -1
  35. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  36. package/dist/callbacks/dispatch/web.js.map +1 -1
  37. package/dist/callbacks/manager.cjs +30 -50
  38. package/dist/callbacks/manager.cjs.map +1 -1
  39. package/dist/callbacks/manager.d.cts.map +1 -1
  40. package/dist/callbacks/manager.d.ts.map +1 -1
  41. package/dist/callbacks/manager.js +28 -49
  42. package/dist/callbacks/manager.js.map +1 -1
  43. package/dist/callbacks/promises.cjs +3 -3
  44. package/dist/callbacks/promises.js +2 -3
  45. package/dist/chat_history.cjs +4 -4
  46. package/dist/chat_history.cjs.map +1 -1
  47. package/dist/chat_history.d.cts +0 -1
  48. package/dist/chat_history.d.cts.map +1 -1
  49. package/dist/chat_history.d.ts +0 -1
  50. package/dist/chat_history.d.ts.map +1 -1
  51. package/dist/chat_history.js +3 -4
  52. package/dist/chat_history.js.map +1 -1
  53. package/dist/context.cjs +10 -2
  54. package/dist/context.cjs.map +1 -1
  55. package/dist/context.d.cts.map +1 -1
  56. package/dist/context.d.ts.map +1 -1
  57. package/dist/context.js +7 -0
  58. package/dist/context.js.map +1 -1
  59. package/dist/document_loaders/base.cjs +3 -3
  60. package/dist/document_loaders/base.cjs.map +1 -1
  61. package/dist/document_loaders/base.d.cts +0 -1
  62. package/dist/document_loaders/base.d.cts.map +1 -1
  63. package/dist/document_loaders/base.d.ts +0 -1
  64. package/dist/document_loaders/base.d.ts.map +1 -1
  65. package/dist/document_loaders/base.js +2 -3
  66. package/dist/document_loaders/base.js.map +1 -1
  67. package/dist/document_loaders/langsmith.cjs +4 -4
  68. package/dist/document_loaders/langsmith.cjs.map +1 -1
  69. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  70. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  71. package/dist/document_loaders/langsmith.js +2 -3
  72. package/dist/document_loaders/langsmith.js.map +1 -1
  73. package/dist/documents/document.cjs.map +1 -1
  74. package/dist/documents/document.d.cts.map +1 -1
  75. package/dist/documents/document.d.ts.map +1 -1
  76. package/dist/documents/document.js.map +1 -1
  77. package/dist/documents/index.cjs +3 -3
  78. package/dist/documents/index.js +2 -3
  79. package/dist/documents/transformers.cjs.map +1 -1
  80. package/dist/documents/transformers.d.cts +0 -1
  81. package/dist/documents/transformers.d.cts.map +1 -1
  82. package/dist/documents/transformers.d.ts +0 -1
  83. package/dist/documents/transformers.d.ts.map +1 -1
  84. package/dist/documents/transformers.js.map +1 -1
  85. package/dist/embeddings.cjs +3 -3
  86. package/dist/embeddings.cjs.map +1 -1
  87. package/dist/embeddings.d.cts +0 -1
  88. package/dist/embeddings.d.cts.map +1 -1
  89. package/dist/embeddings.d.ts +0 -1
  90. package/dist/embeddings.d.ts.map +1 -1
  91. package/dist/embeddings.js +2 -3
  92. package/dist/embeddings.js.map +1 -1
  93. package/dist/errors/index.cjs +141 -15
  94. package/dist/errors/index.cjs.map +1 -1
  95. package/dist/errors/index.d.cts +134 -11
  96. package/dist/errors/index.d.cts.map +1 -1
  97. package/dist/errors/index.d.ts +134 -11
  98. package/dist/errors/index.d.ts.map +1 -1
  99. package/dist/errors/index.js +138 -16
  100. package/dist/errors/index.js.map +1 -1
  101. package/dist/example_selectors/base.cjs.map +1 -1
  102. package/dist/example_selectors/base.d.cts +0 -1
  103. package/dist/example_selectors/base.d.cts.map +1 -1
  104. package/dist/example_selectors/base.d.ts +0 -1
  105. package/dist/example_selectors/base.d.ts.map +1 -1
  106. package/dist/example_selectors/base.js.map +1 -1
  107. package/dist/example_selectors/conditional.cjs +1 -2
  108. package/dist/example_selectors/conditional.cjs.map +1 -1
  109. package/dist/example_selectors/conditional.d.cts.map +1 -1
  110. package/dist/example_selectors/conditional.d.ts.map +1 -1
  111. package/dist/example_selectors/conditional.js +1 -2
  112. package/dist/example_selectors/conditional.js.map +1 -1
  113. package/dist/example_selectors/index.cjs +3 -3
  114. package/dist/example_selectors/index.js +2 -3
  115. package/dist/example_selectors/length_based.cjs +1 -2
  116. package/dist/example_selectors/length_based.cjs.map +1 -1
  117. package/dist/example_selectors/length_based.d.cts +0 -1
  118. package/dist/example_selectors/length_based.d.cts.map +1 -1
  119. package/dist/example_selectors/length_based.d.ts +0 -1
  120. package/dist/example_selectors/length_based.d.ts.map +1 -1
  121. package/dist/example_selectors/length_based.js +1 -2
  122. package/dist/example_selectors/length_based.js.map +1 -1
  123. package/dist/example_selectors/semantic_similarity.cjs +4 -8
  124. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  125. package/dist/example_selectors/semantic_similarity.d.cts +0 -1
  126. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  127. package/dist/example_selectors/semantic_similarity.d.ts +0 -1
  128. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  129. package/dist/example_selectors/semantic_similarity.js +4 -8
  130. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  131. package/dist/index.cjs +3 -1
  132. package/dist/index.js +3 -1
  133. package/dist/indexing/base.cjs +7 -11
  134. package/dist/indexing/base.cjs.map +1 -1
  135. package/dist/indexing/base.d.cts.map +1 -1
  136. package/dist/indexing/base.d.ts.map +1 -1
  137. package/dist/indexing/base.js +5 -9
  138. package/dist/indexing/base.js.map +1 -1
  139. package/dist/indexing/index.cjs +3 -3
  140. package/dist/indexing/index.js +2 -3
  141. package/dist/indexing/record_manager.cjs.map +1 -1
  142. package/dist/indexing/record_manager.d.cts.map +1 -1
  143. package/dist/indexing/record_manager.d.ts.map +1 -1
  144. package/dist/indexing/record_manager.js.map +1 -1
  145. package/dist/language_models/base.cjs +10 -14
  146. package/dist/language_models/base.cjs.map +1 -1
  147. package/dist/language_models/base.d.cts +2 -4
  148. package/dist/language_models/base.d.cts.map +1 -1
  149. package/dist/language_models/base.d.ts +2 -4
  150. package/dist/language_models/base.d.ts.map +1 -1
  151. package/dist/language_models/base.js +9 -14
  152. package/dist/language_models/base.js.map +1 -1
  153. package/dist/language_models/chat_models.cjs +19 -25
  154. package/dist/language_models/chat_models.cjs.map +1 -1
  155. package/dist/language_models/chat_models.d.cts.map +1 -1
  156. package/dist/language_models/chat_models.d.ts.map +1 -1
  157. package/dist/language_models/chat_models.js +18 -25
  158. package/dist/language_models/chat_models.js.map +1 -1
  159. package/dist/language_models/llms.cjs +12 -15
  160. package/dist/language_models/llms.cjs.map +1 -1
  161. package/dist/language_models/llms.d.cts.map +1 -1
  162. package/dist/language_models/llms.d.ts.map +1 -1
  163. package/dist/language_models/llms.js +11 -15
  164. package/dist/language_models/llms.js.map +1 -1
  165. package/dist/language_models/profile.cjs +3 -1
  166. package/dist/language_models/profile.d.cts.map +1 -1
  167. package/dist/language_models/profile.d.ts.map +1 -1
  168. package/dist/language_models/profile.js +3 -1
  169. package/dist/language_models/utils.cjs.map +1 -1
  170. package/dist/language_models/utils.js.map +1 -1
  171. package/dist/load/import_constants.cjs.map +1 -1
  172. package/dist/load/import_constants.js.map +1 -1
  173. package/dist/load/import_map.cjs +13 -14
  174. package/dist/load/import_map.js +13 -14
  175. package/dist/load/import_type.d.cts.map +1 -1
  176. package/dist/load/import_type.d.ts.map +1 -1
  177. package/dist/load/index.cjs +74 -13
  178. package/dist/load/index.cjs.map +1 -1
  179. package/dist/load/index.d.cts +13 -4
  180. package/dist/load/index.d.cts.map +1 -1
  181. package/dist/load/index.d.ts +13 -4
  182. package/dist/load/index.d.ts.map +1 -1
  183. package/dist/load/index.js +68 -8
  184. package/dist/load/index.js.map +1 -1
  185. package/dist/load/map_keys.cjs +5 -3
  186. package/dist/load/map_keys.cjs.map +1 -1
  187. package/dist/load/map_keys.d.cts.map +1 -1
  188. package/dist/load/map_keys.d.ts.map +1 -1
  189. package/dist/load/map_keys.js.map +1 -1
  190. package/dist/load/serializable.cjs +9 -19
  191. package/dist/load/serializable.cjs.map +1 -1
  192. package/dist/load/serializable.d.cts.map +1 -1
  193. package/dist/load/serializable.d.ts.map +1 -1
  194. package/dist/load/serializable.js +8 -19
  195. package/dist/load/serializable.js.map +1 -1
  196. package/dist/load/validation.cjs.map +1 -1
  197. package/dist/load/validation.js.map +1 -1
  198. package/dist/memory.cjs +3 -3
  199. package/dist/memory.cjs.map +1 -1
  200. package/dist/memory.d.cts.map +1 -1
  201. package/dist/memory.d.ts.map +1 -1
  202. package/dist/memory.js +2 -3
  203. package/dist/memory.js.map +1 -1
  204. package/dist/messages/ai.cjs.map +1 -1
  205. package/dist/messages/ai.d.cts.map +1 -1
  206. package/dist/messages/ai.d.ts.map +1 -1
  207. package/dist/messages/ai.js.map +1 -1
  208. package/dist/messages/base.cjs +10 -12
  209. package/dist/messages/base.cjs.map +1 -1
  210. package/dist/messages/base.d.cts +6 -3
  211. package/dist/messages/base.d.cts.map +1 -1
  212. package/dist/messages/base.d.ts +6 -3
  213. package/dist/messages/base.d.ts.map +1 -1
  214. package/dist/messages/base.js +10 -12
  215. package/dist/messages/base.js.map +1 -1
  216. package/dist/messages/block_translators/anthropic.cjs +30 -35
  217. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  218. package/dist/messages/block_translators/anthropic.js +30 -35
  219. package/dist/messages/block_translators/anthropic.js.map +1 -1
  220. package/dist/messages/block_translators/bedrock_converse.cjs +38 -46
  221. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  222. package/dist/messages/block_translators/bedrock_converse.js +38 -46
  223. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  224. package/dist/messages/block_translators/data.cjs.map +1 -1
  225. package/dist/messages/block_translators/data.js.map +1 -1
  226. package/dist/messages/block_translators/deepseek.cjs.map +1 -1
  227. package/dist/messages/block_translators/deepseek.js.map +1 -1
  228. package/dist/messages/block_translators/google.cjs +6 -9
  229. package/dist/messages/block_translators/google.cjs.map +1 -1
  230. package/dist/messages/block_translators/google.js +6 -9
  231. package/dist/messages/block_translators/google.js.map +1 -1
  232. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  233. package/dist/messages/block_translators/google_genai.js.map +1 -1
  234. package/dist/messages/block_translators/google_vertexai.cjs +1 -3
  235. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  236. package/dist/messages/block_translators/google_vertexai.js +1 -3
  237. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  238. package/dist/messages/block_translators/groq.cjs.map +1 -1
  239. package/dist/messages/block_translators/groq.js.map +1 -1
  240. package/dist/messages/block_translators/index.cjs.map +1 -1
  241. package/dist/messages/block_translators/index.js.map +1 -1
  242. package/dist/messages/block_translators/ollama.cjs.map +1 -1
  243. package/dist/messages/block_translators/ollama.js.map +1 -1
  244. package/dist/messages/block_translators/openai.cjs +6 -10
  245. package/dist/messages/block_translators/openai.cjs.map +1 -1
  246. package/dist/messages/block_translators/openai.js +6 -10
  247. package/dist/messages/block_translators/openai.js.map +1 -1
  248. package/dist/messages/block_translators/utils.cjs +1 -1
  249. package/dist/messages/block_translators/utils.cjs.map +1 -1
  250. package/dist/messages/block_translators/utils.js +1 -1
  251. package/dist/messages/block_translators/utils.js.map +1 -1
  252. package/dist/messages/block_translators/xai.cjs.map +1 -1
  253. package/dist/messages/block_translators/xai.js.map +1 -1
  254. package/dist/messages/chat.cjs.map +1 -1
  255. package/dist/messages/chat.d.cts.map +1 -1
  256. package/dist/messages/chat.d.ts.map +1 -1
  257. package/dist/messages/chat.js.map +1 -1
  258. package/dist/messages/content/base.d.cts.map +1 -1
  259. package/dist/messages/content/base.d.ts.map +1 -1
  260. package/dist/messages/content/data.cjs +1 -3
  261. package/dist/messages/content/data.cjs.map +1 -1
  262. package/dist/messages/content/data.d.cts +0 -1
  263. package/dist/messages/content/data.d.cts.map +1 -1
  264. package/dist/messages/content/data.d.ts +0 -1
  265. package/dist/messages/content/data.d.ts.map +1 -1
  266. package/dist/messages/content/data.js +1 -3
  267. package/dist/messages/content/data.js.map +1 -1
  268. package/dist/messages/content/index.cjs +2 -2
  269. package/dist/messages/content/index.cjs.map +1 -1
  270. package/dist/messages/content/index.d.cts.map +1 -1
  271. package/dist/messages/content/index.d.ts.map +1 -1
  272. package/dist/messages/content/index.js +6 -6
  273. package/dist/messages/content/index.js.map +1 -1
  274. package/dist/messages/content/multimodal.cjs.map +1 -1
  275. package/dist/messages/content/multimodal.d.cts +4 -8
  276. package/dist/messages/content/multimodal.d.cts.map +1 -1
  277. package/dist/messages/content/multimodal.d.ts +4 -8
  278. package/dist/messages/content/multimodal.d.ts.map +1 -1
  279. package/dist/messages/content/multimodal.js.map +1 -1
  280. package/dist/messages/content/tools.cjs.map +1 -1
  281. package/dist/messages/content/tools.d.cts.map +1 -1
  282. package/dist/messages/content/tools.d.ts.map +1 -1
  283. package/dist/messages/content/tools.js.map +1 -1
  284. package/dist/messages/format.cjs.map +1 -1
  285. package/dist/messages/format.d.cts.map +1 -1
  286. package/dist/messages/format.d.ts.map +1 -1
  287. package/dist/messages/format.js.map +1 -1
  288. package/dist/messages/function.cjs.map +1 -1
  289. package/dist/messages/function.d.cts.map +1 -1
  290. package/dist/messages/function.d.ts.map +1 -1
  291. package/dist/messages/function.js.map +1 -1
  292. package/dist/messages/human.cjs.map +1 -1
  293. package/dist/messages/human.d.cts.map +1 -1
  294. package/dist/messages/human.d.ts.map +1 -1
  295. package/dist/messages/human.js.map +1 -1
  296. package/dist/messages/index.cjs +4 -4
  297. package/dist/messages/index.js +3 -4
  298. package/dist/messages/message.cjs.map +1 -1
  299. package/dist/messages/message.d.cts +13 -24
  300. package/dist/messages/message.d.cts.map +1 -1
  301. package/dist/messages/message.d.ts +13 -24
  302. package/dist/messages/message.d.ts.map +1 -1
  303. package/dist/messages/message.js.map +1 -1
  304. package/dist/messages/metadata.cjs +1 -2
  305. package/dist/messages/metadata.cjs.map +1 -1
  306. package/dist/messages/metadata.d.cts.map +1 -1
  307. package/dist/messages/metadata.d.ts.map +1 -1
  308. package/dist/messages/metadata.js +1 -2
  309. package/dist/messages/metadata.js.map +1 -1
  310. package/dist/messages/modifier.cjs.map +1 -1
  311. package/dist/messages/modifier.d.cts.map +1 -1
  312. package/dist/messages/modifier.d.ts.map +1 -1
  313. package/dist/messages/modifier.js.map +1 -1
  314. package/dist/messages/system.cjs.map +1 -1
  315. package/dist/messages/system.d.cts.map +1 -1
  316. package/dist/messages/system.d.ts.map +1 -1
  317. package/dist/messages/system.js.map +1 -1
  318. package/dist/messages/tool.cjs +3 -3
  319. package/dist/messages/tool.cjs.map +1 -1
  320. package/dist/messages/tool.d.cts.map +1 -1
  321. package/dist/messages/tool.d.ts.map +1 -1
  322. package/dist/messages/tool.js +2 -3
  323. package/dist/messages/tool.js.map +1 -1
  324. package/dist/messages/transformers.cjs +8 -14
  325. package/dist/messages/transformers.cjs.map +1 -1
  326. package/dist/messages/transformers.d.cts.map +1 -1
  327. package/dist/messages/transformers.d.ts.map +1 -1
  328. package/dist/messages/transformers.js +8 -14
  329. package/dist/messages/transformers.js.map +1 -1
  330. package/dist/messages/utils.cjs +11 -14
  331. package/dist/messages/utils.cjs.map +1 -1
  332. package/dist/messages/utils.d.cts +7 -7
  333. package/dist/messages/utils.d.cts.map +1 -1
  334. package/dist/messages/utils.d.ts +7 -7
  335. package/dist/messages/utils.d.ts.map +1 -1
  336. package/dist/messages/utils.js +11 -14
  337. package/dist/messages/utils.js.map +1 -1
  338. package/dist/output_parsers/base.cjs +5 -5
  339. package/dist/output_parsers/base.cjs.map +1 -1
  340. package/dist/output_parsers/base.d.cts.map +1 -1
  341. package/dist/output_parsers/base.d.ts.map +1 -1
  342. package/dist/output_parsers/base.js +5 -5
  343. package/dist/output_parsers/base.js.map +1 -1
  344. package/dist/output_parsers/bytes.cjs.map +1 -1
  345. package/dist/output_parsers/bytes.d.cts +0 -1
  346. package/dist/output_parsers/bytes.d.cts.map +1 -1
  347. package/dist/output_parsers/bytes.d.ts +0 -1
  348. package/dist/output_parsers/bytes.d.ts.map +1 -1
  349. package/dist/output_parsers/bytes.js.map +1 -1
  350. package/dist/output_parsers/index.cjs +3 -3
  351. package/dist/output_parsers/index.js +2 -3
  352. package/dist/output_parsers/json.cjs +1 -1
  353. package/dist/output_parsers/json.cjs.map +1 -1
  354. package/dist/output_parsers/json.d.cts +0 -1
  355. package/dist/output_parsers/json.d.cts.map +1 -1
  356. package/dist/output_parsers/json.d.ts.map +1 -1
  357. package/dist/output_parsers/json.js +1 -1
  358. package/dist/output_parsers/json.js.map +1 -1
  359. package/dist/output_parsers/list.cjs.map +1 -1
  360. package/dist/output_parsers/list.d.cts +0 -1
  361. package/dist/output_parsers/list.d.cts.map +1 -1
  362. package/dist/output_parsers/list.d.ts +0 -1
  363. package/dist/output_parsers/list.d.ts.map +1 -1
  364. package/dist/output_parsers/list.js.map +1 -1
  365. package/dist/output_parsers/openai_functions/index.cjs +3 -3
  366. package/dist/output_parsers/openai_functions/index.js +2 -3
  367. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +6 -9
  368. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  369. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +0 -1
  370. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  371. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  372. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +6 -9
  373. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  374. package/dist/output_parsers/openai_tools/index.cjs +3 -3
  375. package/dist/output_parsers/openai_tools/index.js +2 -3
  376. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +14 -21
  377. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  378. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +1 -2
  379. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  380. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +1 -2
  381. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  382. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +14 -21
  383. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  384. package/dist/output_parsers/string.cjs +3 -0
  385. package/dist/output_parsers/string.cjs.map +1 -1
  386. package/dist/output_parsers/string.d.cts +0 -1
  387. package/dist/output_parsers/string.d.cts.map +1 -1
  388. package/dist/output_parsers/string.d.ts +0 -1
  389. package/dist/output_parsers/string.d.ts.map +1 -1
  390. package/dist/output_parsers/string.js +3 -0
  391. package/dist/output_parsers/string.js.map +1 -1
  392. package/dist/output_parsers/structured.cjs +10 -13
  393. package/dist/output_parsers/structured.cjs.map +1 -1
  394. package/dist/output_parsers/structured.d.cts.map +1 -1
  395. package/dist/output_parsers/structured.d.ts.map +1 -1
  396. package/dist/output_parsers/structured.js +8 -11
  397. package/dist/output_parsers/structured.js.map +1 -1
  398. package/dist/output_parsers/transform.cjs +3 -3
  399. package/dist/output_parsers/transform.cjs.map +1 -1
  400. package/dist/output_parsers/transform.d.cts +0 -1
  401. package/dist/output_parsers/transform.d.cts.map +1 -1
  402. package/dist/output_parsers/transform.d.ts +0 -1
  403. package/dist/output_parsers/transform.d.ts.map +1 -1
  404. package/dist/output_parsers/transform.js.map +1 -1
  405. package/dist/output_parsers/xml.cjs +4 -7
  406. package/dist/output_parsers/xml.cjs.map +1 -1
  407. package/dist/output_parsers/xml.d.cts.map +1 -1
  408. package/dist/output_parsers/xml.d.ts.map +1 -1
  409. package/dist/output_parsers/xml.js +4 -7
  410. package/dist/output_parsers/xml.js.map +1 -1
  411. package/dist/outputs.cjs +3 -3
  412. package/dist/outputs.cjs.map +1 -1
  413. package/dist/outputs.d.cts.map +1 -1
  414. package/dist/outputs.d.ts.map +1 -1
  415. package/dist/outputs.js +2 -3
  416. package/dist/outputs.js.map +1 -1
  417. package/dist/prompt_values.cjs +3 -3
  418. package/dist/prompt_values.cjs.map +1 -1
  419. package/dist/prompt_values.d.cts +1 -3
  420. package/dist/prompt_values.d.cts.map +1 -1
  421. package/dist/prompt_values.d.ts +1 -3
  422. package/dist/prompt_values.d.ts.map +1 -1
  423. package/dist/prompt_values.js +2 -3
  424. package/dist/prompt_values.js.map +1 -1
  425. package/dist/prompts/base.cjs +2 -3
  426. package/dist/prompts/base.cjs.map +1 -1
  427. package/dist/prompts/base.d.cts.map +1 -1
  428. package/dist/prompts/base.d.ts.map +1 -1
  429. package/dist/prompts/base.js +2 -3
  430. package/dist/prompts/base.js.map +1 -1
  431. package/dist/prompts/chat.cjs +22 -37
  432. package/dist/prompts/chat.cjs.map +1 -1
  433. package/dist/prompts/chat.d.cts +1 -0
  434. package/dist/prompts/chat.d.cts.map +1 -1
  435. package/dist/prompts/chat.d.ts +1 -0
  436. package/dist/prompts/chat.d.ts.map +1 -1
  437. package/dist/prompts/chat.js +22 -37
  438. package/dist/prompts/chat.js.map +1 -1
  439. package/dist/prompts/dict.cjs.map +1 -1
  440. package/dist/prompts/dict.d.cts.map +1 -1
  441. package/dist/prompts/dict.d.ts.map +1 -1
  442. package/dist/prompts/dict.js.map +1 -1
  443. package/dist/prompts/few_shot.cjs +9 -14
  444. package/dist/prompts/few_shot.cjs.map +1 -1
  445. package/dist/prompts/few_shot.d.cts.map +1 -1
  446. package/dist/prompts/few_shot.d.ts.map +1 -1
  447. package/dist/prompts/few_shot.js +9 -14
  448. package/dist/prompts/few_shot.js.map +1 -1
  449. package/dist/prompts/image.cjs +3 -5
  450. package/dist/prompts/image.cjs.map +1 -1
  451. package/dist/prompts/image.d.cts +0 -1
  452. package/dist/prompts/image.d.cts.map +1 -1
  453. package/dist/prompts/image.d.ts +0 -1
  454. package/dist/prompts/image.d.ts.map +1 -1
  455. package/dist/prompts/image.js +3 -5
  456. package/dist/prompts/image.js.map +1 -1
  457. package/dist/prompts/index.cjs +3 -3
  458. package/dist/prompts/index.js +2 -3
  459. package/dist/prompts/pipeline.cjs.map +1 -1
  460. package/dist/prompts/pipeline.d.cts +0 -1
  461. package/dist/prompts/pipeline.d.cts.map +1 -1
  462. package/dist/prompts/pipeline.d.ts +0 -1
  463. package/dist/prompts/pipeline.d.ts.map +1 -1
  464. package/dist/prompts/pipeline.js.map +1 -1
  465. package/dist/prompts/prompt.cjs +9 -12
  466. package/dist/prompts/prompt.cjs.map +1 -1
  467. package/dist/prompts/prompt.d.cts +0 -1
  468. package/dist/prompts/prompt.d.cts.map +1 -1
  469. package/dist/prompts/prompt.d.ts.map +1 -1
  470. package/dist/prompts/prompt.js +9 -12
  471. package/dist/prompts/prompt.js.map +1 -1
  472. package/dist/prompts/serde.d.cts +0 -1
  473. package/dist/prompts/serde.d.cts.map +1 -1
  474. package/dist/prompts/serde.d.ts +0 -1
  475. package/dist/prompts/serde.d.ts.map +1 -1
  476. package/dist/prompts/string.cjs +1 -2
  477. package/dist/prompts/string.cjs.map +1 -1
  478. package/dist/prompts/string.d.cts +0 -1
  479. package/dist/prompts/string.d.cts.map +1 -1
  480. package/dist/prompts/string.d.ts +0 -1
  481. package/dist/prompts/string.d.ts.map +1 -1
  482. package/dist/prompts/string.js +1 -2
  483. package/dist/prompts/string.js.map +1 -1
  484. package/dist/prompts/structured.cjs.map +1 -1
  485. package/dist/prompts/structured.d.cts +0 -1
  486. package/dist/prompts/structured.d.cts.map +1 -1
  487. package/dist/prompts/structured.d.ts.map +1 -1
  488. package/dist/prompts/structured.js.map +1 -1
  489. package/dist/prompts/template.cjs +7 -11
  490. package/dist/prompts/template.cjs.map +1 -1
  491. package/dist/prompts/template.d.cts +0 -1
  492. package/dist/prompts/template.d.cts.map +1 -1
  493. package/dist/prompts/template.d.ts.map +1 -1
  494. package/dist/prompts/template.js +4 -9
  495. package/dist/prompts/template.js.map +1 -1
  496. package/dist/retrievers/document_compressors/index.cjs +3 -3
  497. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  498. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  499. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  500. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  501. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  502. package/dist/retrievers/document_compressors/index.js +2 -3
  503. package/dist/retrievers/document_compressors/index.js.map +1 -1
  504. package/dist/retrievers/index.cjs +4 -5
  505. package/dist/retrievers/index.cjs.map +1 -1
  506. package/dist/retrievers/index.d.cts +0 -1
  507. package/dist/retrievers/index.d.cts.map +1 -1
  508. package/dist/retrievers/index.d.ts +0 -1
  509. package/dist/retrievers/index.d.ts.map +1 -1
  510. package/dist/retrievers/index.js +3 -5
  511. package/dist/retrievers/index.js.map +1 -1
  512. package/dist/runnables/base.cjs +44 -67
  513. package/dist/runnables/base.cjs.map +1 -1
  514. package/dist/runnables/base.d.cts +1 -2
  515. package/dist/runnables/base.d.cts.map +1 -1
  516. package/dist/runnables/base.d.ts +1 -2
  517. package/dist/runnables/base.d.ts.map +1 -1
  518. package/dist/runnables/base.js +40 -63
  519. package/dist/runnables/base.js.map +1 -1
  520. package/dist/runnables/branch.cjs +4 -8
  521. package/dist/runnables/branch.cjs.map +1 -1
  522. package/dist/runnables/branch.d.cts +0 -1
  523. package/dist/runnables/branch.d.cts.map +1 -1
  524. package/dist/runnables/branch.d.ts +0 -1
  525. package/dist/runnables/branch.d.ts.map +1 -1
  526. package/dist/runnables/branch.js +4 -8
  527. package/dist/runnables/branch.js.map +1 -1
  528. package/dist/runnables/config.cjs +1 -1
  529. package/dist/runnables/config.cjs.map +1 -1
  530. package/dist/runnables/config.d.cts.map +1 -1
  531. package/dist/runnables/config.d.ts.map +1 -1
  532. package/dist/runnables/config.js +1 -1
  533. package/dist/runnables/config.js.map +1 -1
  534. package/dist/runnables/graph.cjs +6 -8
  535. package/dist/runnables/graph.cjs.map +1 -1
  536. package/dist/runnables/graph.d.cts.map +1 -1
  537. package/dist/runnables/graph.d.ts.map +1 -1
  538. package/dist/runnables/graph.js +4 -7
  539. package/dist/runnables/graph.js.map +1 -1
  540. package/dist/runnables/graph_mermaid.cjs +6 -9
  541. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  542. package/dist/runnables/graph_mermaid.js +6 -9
  543. package/dist/runnables/graph_mermaid.js.map +1 -1
  544. package/dist/runnables/history.cjs +4 -6
  545. package/dist/runnables/history.cjs.map +1 -1
  546. package/dist/runnables/history.d.cts.map +1 -1
  547. package/dist/runnables/history.d.ts.map +1 -1
  548. package/dist/runnables/history.js +4 -6
  549. package/dist/runnables/history.js.map +1 -1
  550. package/dist/runnables/index.cjs +3 -3
  551. package/dist/runnables/index.js +2 -3
  552. package/dist/runnables/iter.cjs.map +1 -1
  553. package/dist/runnables/iter.js.map +1 -1
  554. package/dist/runnables/passthrough.cjs +1 -1
  555. package/dist/runnables/passthrough.cjs.map +1 -1
  556. package/dist/runnables/passthrough.d.cts.map +1 -1
  557. package/dist/runnables/passthrough.d.ts.map +1 -1
  558. package/dist/runnables/passthrough.js +1 -1
  559. package/dist/runnables/passthrough.js.map +1 -1
  560. package/dist/runnables/router.cjs +2 -3
  561. package/dist/runnables/router.cjs.map +1 -1
  562. package/dist/runnables/router.d.cts.map +1 -1
  563. package/dist/runnables/router.d.ts.map +1 -1
  564. package/dist/runnables/router.js +2 -3
  565. package/dist/runnables/router.js.map +1 -1
  566. package/dist/runnables/types.d.cts +1 -2
  567. package/dist/runnables/types.d.cts.map +1 -1
  568. package/dist/runnables/types.d.ts +1 -2
  569. package/dist/runnables/types.d.ts.map +1 -1
  570. package/dist/runnables/utils.cjs +1 -2
  571. package/dist/runnables/utils.cjs.map +1 -1
  572. package/dist/runnables/utils.js +1 -2
  573. package/dist/runnables/utils.js.map +1 -1
  574. package/dist/runnables/wrappers.cjs.map +1 -1
  575. package/dist/runnables/wrappers.js.map +1 -1
  576. package/dist/singletons/async_local_storage/context.cjs +4 -5
  577. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  578. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  579. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  580. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  581. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  582. package/dist/singletons/async_local_storage/context.js +2 -3
  583. package/dist/singletons/async_local_storage/context.js.map +1 -1
  584. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  585. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  586. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  587. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  588. package/dist/singletons/async_local_storage/index.cjs +5 -10
  589. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  590. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  591. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  592. package/dist/singletons/async_local_storage/index.js +3 -8
  593. package/dist/singletons/async_local_storage/index.js.map +1 -1
  594. package/dist/singletons/callbacks.cjs +4 -4
  595. package/dist/singletons/callbacks.cjs.map +1 -1
  596. package/dist/singletons/callbacks.d.cts +0 -1
  597. package/dist/singletons/callbacks.d.cts.map +1 -1
  598. package/dist/singletons/callbacks.d.ts +0 -1
  599. package/dist/singletons/callbacks.d.ts.map +1 -1
  600. package/dist/singletons/callbacks.js +1 -2
  601. package/dist/singletons/callbacks.js.map +1 -1
  602. package/dist/singletons/index.cjs +3 -3
  603. package/dist/singletons/index.js +2 -3
  604. package/dist/singletons/tracer.cjs +3 -6
  605. package/dist/singletons/tracer.cjs.map +1 -1
  606. package/dist/singletons/tracer.js +1 -4
  607. package/dist/singletons/tracer.js.map +1 -1
  608. package/dist/stores.cjs +3 -3
  609. package/dist/stores.cjs.map +1 -1
  610. package/dist/stores.d.cts +0 -1
  611. package/dist/stores.d.cts.map +1 -1
  612. package/dist/stores.d.ts +0 -1
  613. package/dist/stores.d.ts.map +1 -1
  614. package/dist/stores.js +2 -3
  615. package/dist/stores.js.map +1 -1
  616. package/dist/structured_query/base.cjs +3 -3
  617. package/dist/structured_query/base.cjs.map +1 -1
  618. package/dist/structured_query/base.d.cts +0 -1
  619. package/dist/structured_query/base.d.cts.map +1 -1
  620. package/dist/structured_query/base.d.ts +0 -1
  621. package/dist/structured_query/base.d.ts.map +1 -1
  622. package/dist/structured_query/base.js +3 -3
  623. package/dist/structured_query/base.js.map +1 -1
  624. package/dist/structured_query/functional.cjs +3 -3
  625. package/dist/structured_query/functional.cjs.map +1 -1
  626. package/dist/structured_query/functional.d.cts +0 -1
  627. package/dist/structured_query/functional.d.cts.map +1 -1
  628. package/dist/structured_query/functional.d.ts +0 -1
  629. package/dist/structured_query/functional.d.ts.map +1 -1
  630. package/dist/structured_query/functional.js +3 -3
  631. package/dist/structured_query/functional.js.map +1 -1
  632. package/dist/structured_query/index.cjs +3 -3
  633. package/dist/structured_query/index.js +2 -3
  634. package/dist/structured_query/ir.cjs.map +1 -1
  635. package/dist/structured_query/ir.d.cts +0 -1
  636. package/dist/structured_query/ir.d.cts.map +1 -1
  637. package/dist/structured_query/ir.d.ts +0 -1
  638. package/dist/structured_query/ir.d.ts.map +1 -1
  639. package/dist/structured_query/ir.js.map +1 -1
  640. package/dist/structured_query/utils.cjs.map +1 -1
  641. package/dist/structured_query/utils.d.cts.map +1 -1
  642. package/dist/structured_query/utils.d.ts.map +1 -1
  643. package/dist/structured_query/utils.js.map +1 -1
  644. package/dist/tools/index.cjs +11 -12
  645. package/dist/tools/index.cjs.map +1 -1
  646. package/dist/tools/index.d.cts +2 -1
  647. package/dist/tools/index.d.cts.map +1 -1
  648. package/dist/tools/index.d.ts +2 -1
  649. package/dist/tools/index.d.ts.map +1 -1
  650. package/dist/tools/index.js +7 -9
  651. package/dist/tools/index.js.map +1 -1
  652. package/dist/tools/types.cjs.map +1 -1
  653. package/dist/tools/types.d.cts +1 -0
  654. package/dist/tools/types.d.cts.map +1 -1
  655. package/dist/tools/types.d.ts +1 -0
  656. package/dist/tools/types.d.ts.map +1 -1
  657. package/dist/tools/types.js.map +1 -1
  658. package/dist/tools/utils.cjs.map +1 -1
  659. package/dist/tools/utils.d.cts +0 -1
  660. package/dist/tools/utils.d.cts.map +1 -1
  661. package/dist/tools/utils.d.ts +0 -1
  662. package/dist/tools/utils.d.ts.map +1 -1
  663. package/dist/tools/utils.js.map +1 -1
  664. package/dist/tracers/base.cjs +7 -7
  665. package/dist/tracers/base.cjs.map +1 -1
  666. package/dist/tracers/base.d.cts +6 -12
  667. package/dist/tracers/base.d.cts.map +1 -1
  668. package/dist/tracers/base.d.ts +6 -12
  669. package/dist/tracers/base.d.ts.map +1 -1
  670. package/dist/tracers/base.js +5 -6
  671. package/dist/tracers/base.js.map +1 -1
  672. package/dist/tracers/console.cjs +9 -9
  673. package/dist/tracers/console.cjs.map +1 -1
  674. package/dist/tracers/console.d.cts +0 -1
  675. package/dist/tracers/console.d.cts.map +1 -1
  676. package/dist/tracers/console.d.ts +0 -1
  677. package/dist/tracers/console.d.ts.map +1 -1
  678. package/dist/tracers/console.js +6 -8
  679. package/dist/tracers/console.js.map +1 -1
  680. package/dist/tracers/event_stream.cjs +2 -4
  681. package/dist/tracers/event_stream.cjs.map +1 -1
  682. package/dist/tracers/event_stream.d.cts +2 -5
  683. package/dist/tracers/event_stream.d.cts.map +1 -1
  684. package/dist/tracers/event_stream.d.ts +2 -5
  685. package/dist/tracers/event_stream.d.ts.map +1 -1
  686. package/dist/tracers/event_stream.js +2 -4
  687. package/dist/tracers/event_stream.js.map +1 -1
  688. package/dist/tracers/log_stream.cjs +5 -5
  689. package/dist/tracers/log_stream.cjs.map +1 -1
  690. package/dist/tracers/log_stream.d.cts +14 -31
  691. package/dist/tracers/log_stream.d.cts.map +1 -1
  692. package/dist/tracers/log_stream.d.ts +14 -31
  693. package/dist/tracers/log_stream.d.ts.map +1 -1
  694. package/dist/tracers/log_stream.js +4 -5
  695. package/dist/tracers/log_stream.js.map +1 -1
  696. package/dist/tracers/root_listener.cjs.map +1 -1
  697. package/dist/tracers/root_listener.js.map +1 -1
  698. package/dist/tracers/run_collector.cjs +3 -3
  699. package/dist/tracers/run_collector.cjs.map +1 -1
  700. package/dist/tracers/run_collector.d.cts +0 -1
  701. package/dist/tracers/run_collector.d.cts.map +1 -1
  702. package/dist/tracers/run_collector.d.ts +0 -1
  703. package/dist/tracers/run_collector.d.ts.map +1 -1
  704. package/dist/tracers/run_collector.js +2 -3
  705. package/dist/tracers/run_collector.js.map +1 -1
  706. package/dist/tracers/tracer_langchain.cjs +8 -11
  707. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  708. package/dist/tracers/tracer_langchain.d.cts +8 -8
  709. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  710. package/dist/tracers/tracer_langchain.d.ts +8 -8
  711. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  712. package/dist/tracers/tracer_langchain.js +5 -9
  713. package/dist/tracers/tracer_langchain.js.map +1 -1
  714. package/dist/types/_internal.d.cts.map +1 -1
  715. package/dist/types/_internal.d.ts.map +1 -1
  716. package/dist/types/stream.cjs +3 -1
  717. package/dist/types/stream.js +3 -1
  718. package/dist/types/type-utils.d.cts.map +1 -1
  719. package/dist/types/type-utils.d.ts.map +1 -1
  720. package/dist/utils/async_caller.cjs +8 -9
  721. package/dist/utils/async_caller.cjs.map +1 -1
  722. package/dist/utils/async_caller.d.cts.map +1 -1
  723. package/dist/utils/async_caller.d.ts.map +1 -1
  724. package/dist/utils/async_caller.js +5 -8
  725. package/dist/utils/async_caller.js.map +1 -1
  726. package/dist/utils/callbacks.cjs +2 -3
  727. package/dist/utils/callbacks.cjs.map +1 -1
  728. package/dist/utils/callbacks.js +2 -3
  729. package/dist/utils/callbacks.js.map +1 -1
  730. package/dist/utils/chunk_array.cjs +4 -5
  731. package/dist/utils/chunk_array.cjs.map +1 -1
  732. package/dist/utils/chunk_array.d.cts.map +1 -1
  733. package/dist/utils/chunk_array.d.ts.map +1 -1
  734. package/dist/utils/chunk_array.js +3 -5
  735. package/dist/utils/chunk_array.js.map +1 -1
  736. package/dist/utils/context.cjs +4 -5
  737. package/dist/utils/context.cjs.map +1 -1
  738. package/dist/utils/context.d.cts.map +1 -1
  739. package/dist/utils/context.d.ts.map +1 -1
  740. package/dist/utils/context.js +3 -5
  741. package/dist/utils/context.js.map +1 -1
  742. package/dist/utils/env.cjs +9 -12
  743. package/dist/utils/env.cjs.map +1 -1
  744. package/dist/utils/env.d.cts.map +1 -1
  745. package/dist/utils/env.d.ts.map +1 -1
  746. package/dist/utils/env.js +8 -12
  747. package/dist/utils/env.js.map +1 -1
  748. package/dist/utils/event_source_parse.cjs +9 -9
  749. package/dist/utils/event_source_parse.cjs.map +1 -1
  750. package/dist/utils/event_source_parse.d.cts.map +1 -1
  751. package/dist/utils/event_source_parse.d.ts.map +1 -1
  752. package/dist/utils/event_source_parse.js +8 -9
  753. package/dist/utils/event_source_parse.js.map +1 -1
  754. package/dist/utils/fast-json-patch/index.cjs +3 -0
  755. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  756. package/dist/utils/fast-json-patch/index.js +4 -0
  757. package/dist/utils/fast-json-patch/index.js.map +1 -1
  758. package/dist/utils/fast-json-patch/src/core.cjs +6 -10
  759. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  760. package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
  761. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  762. package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
  763. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  764. package/dist/utils/fast-json-patch/src/core.js +6 -10
  765. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  766. package/dist/utils/fast-json-patch/src/duplex.cjs +5 -3
  767. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  768. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
  769. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  770. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
  771. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  772. package/dist/utils/fast-json-patch/src/duplex.js +5 -3
  773. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  774. package/dist/utils/fast-json-patch/src/helpers.cjs +4 -4
  775. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  776. package/dist/utils/fast-json-patch/src/helpers.js +4 -4
  777. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  778. package/dist/utils/format.cjs +3 -1
  779. package/dist/utils/format.d.cts.map +1 -1
  780. package/dist/utils/format.d.ts.map +1 -1
  781. package/dist/utils/format.js +3 -1
  782. package/dist/utils/function_calling.cjs +3 -3
  783. package/dist/utils/function_calling.cjs.map +1 -1
  784. package/dist/utils/function_calling.d.cts +0 -1
  785. package/dist/utils/function_calling.d.cts.map +1 -1
  786. package/dist/utils/function_calling.d.ts +0 -1
  787. package/dist/utils/function_calling.d.ts.map +1 -1
  788. package/dist/utils/function_calling.js +2 -3
  789. package/dist/utils/function_calling.js.map +1 -1
  790. package/dist/utils/hash.cjs +3 -3
  791. package/dist/utils/hash.d.cts +0 -1
  792. package/dist/utils/hash.d.cts.map +1 -1
  793. package/dist/utils/hash.d.ts +0 -1
  794. package/dist/utils/hash.d.ts.map +1 -1
  795. package/dist/utils/hash.js +2 -3
  796. package/dist/utils/is-network-error/index.cjs +2 -3
  797. package/dist/utils/is-network-error/index.cjs.map +1 -1
  798. package/dist/utils/is-network-error/index.js +2 -3
  799. package/dist/utils/is-network-error/index.js.map +1 -1
  800. package/dist/utils/js-sha256/hash.cjs +41 -34
  801. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  802. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  803. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  804. package/dist/utils/js-sha256/hash.js +41 -35
  805. package/dist/utils/js-sha256/hash.js.map +1 -1
  806. package/dist/utils/json.cjs.map +1 -1
  807. package/dist/utils/json.d.cts.map +1 -1
  808. package/dist/utils/json.d.ts.map +1 -1
  809. package/dist/utils/json.js.map +1 -1
  810. package/dist/utils/json_patch.cjs +3 -3
  811. package/dist/utils/json_patch.js +2 -3
  812. package/dist/utils/json_schema.cjs +12 -14
  813. package/dist/utils/json_schema.cjs.map +1 -1
  814. package/dist/utils/json_schema.d.cts.map +1 -1
  815. package/dist/utils/json_schema.d.ts.map +1 -1
  816. package/dist/utils/json_schema.js +4 -7
  817. package/dist/utils/json_schema.js.map +1 -1
  818. package/dist/utils/math.cjs +7 -8
  819. package/dist/utils/math.cjs.map +1 -1
  820. package/dist/utils/math.d.cts.map +1 -1
  821. package/dist/utils/math.d.ts.map +1 -1
  822. package/dist/utils/math.js +8 -10
  823. package/dist/utils/math.js.map +1 -1
  824. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  825. package/dist/utils/ml-distance/distances.js.map +1 -1
  826. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  827. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  828. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  829. package/dist/utils/ml-distance/similarities.js.map +1 -1
  830. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  831. package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
  832. package/dist/utils/namespace.cjs +63 -0
  833. package/dist/utils/namespace.cjs.map +1 -0
  834. package/dist/utils/namespace.d.cts +73 -0
  835. package/dist/utils/namespace.d.cts.map +1 -0
  836. package/dist/utils/namespace.d.ts +73 -0
  837. package/dist/utils/namespace.d.ts.map +1 -0
  838. package/dist/utils/namespace.js +62 -0
  839. package/dist/utils/namespace.js.map +1 -0
  840. package/dist/utils/p-retry/index.cjs +2 -2
  841. package/dist/utils/p-retry/index.cjs.map +1 -1
  842. package/dist/utils/p-retry/index.js +2 -2
  843. package/dist/utils/p-retry/index.js.map +1 -1
  844. package/dist/utils/sax-js/sax.cjs +28 -34
  845. package/dist/utils/sax-js/sax.cjs.map +1 -1
  846. package/dist/utils/sax-js/sax.js +28 -34
  847. package/dist/utils/sax-js/sax.js.map +1 -1
  848. package/dist/utils/signal.cjs +1 -1
  849. package/dist/utils/signal.cjs.map +1 -1
  850. package/dist/utils/signal.d.cts.map +1 -1
  851. package/dist/utils/signal.d.ts.map +1 -1
  852. package/dist/utils/signal.js +1 -1
  853. package/dist/utils/signal.js.map +1 -1
  854. package/dist/utils/ssrf.cjs +8 -10
  855. package/dist/utils/ssrf.cjs.map +1 -1
  856. package/dist/utils/ssrf.d.cts.map +1 -1
  857. package/dist/utils/ssrf.d.ts.map +1 -1
  858. package/dist/utils/ssrf.js +7 -10
  859. package/dist/utils/ssrf.js.map +1 -1
  860. package/dist/utils/stream.cjs +4 -4
  861. package/dist/utils/stream.cjs.map +1 -1
  862. package/dist/utils/stream.d.cts.map +1 -1
  863. package/dist/utils/stream.d.ts.map +1 -1
  864. package/dist/utils/stream.js +3 -4
  865. package/dist/utils/stream.js.map +1 -1
  866. package/dist/utils/testing/chat_models.cjs +3 -5
  867. package/dist/utils/testing/chat_models.cjs.map +1 -1
  868. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  869. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  870. package/dist/utils/testing/chat_models.js +3 -5
  871. package/dist/utils/testing/chat_models.js.map +1 -1
  872. package/dist/utils/testing/embeddings.cjs +2 -4
  873. package/dist/utils/testing/embeddings.cjs.map +1 -1
  874. package/dist/utils/testing/embeddings.d.cts +0 -1
  875. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  876. package/dist/utils/testing/embeddings.d.ts +0 -1
  877. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  878. package/dist/utils/testing/embeddings.js +2 -4
  879. package/dist/utils/testing/embeddings.js.map +1 -1
  880. package/dist/utils/testing/index.cjs +3 -3
  881. package/dist/utils/testing/index.js +2 -3
  882. package/dist/utils/testing/llms.cjs.map +1 -1
  883. package/dist/utils/testing/llms.d.cts.map +1 -1
  884. package/dist/utils/testing/llms.d.ts.map +1 -1
  885. package/dist/utils/testing/llms.js.map +1 -1
  886. package/dist/utils/testing/message_history.cjs +1 -1
  887. package/dist/utils/testing/message_history.cjs.map +1 -1
  888. package/dist/utils/testing/message_history.d.cts.map +1 -1
  889. package/dist/utils/testing/message_history.d.ts.map +1 -1
  890. package/dist/utils/testing/message_history.js +1 -1
  891. package/dist/utils/testing/message_history.js.map +1 -1
  892. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  893. package/dist/utils/testing/output_parsers.d.cts +0 -1
  894. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  895. package/dist/utils/testing/output_parsers.d.ts +0 -1
  896. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  897. package/dist/utils/testing/output_parsers.js.map +1 -1
  898. package/dist/utils/testing/retrievers.cjs +1 -1
  899. package/dist/utils/testing/retrievers.cjs.map +1 -1
  900. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  901. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  902. package/dist/utils/testing/retrievers.js +1 -1
  903. package/dist/utils/testing/retrievers.js.map +1 -1
  904. package/dist/utils/testing/runnables.cjs.map +1 -1
  905. package/dist/utils/testing/runnables.d.cts.map +1 -1
  906. package/dist/utils/testing/runnables.d.ts.map +1 -1
  907. package/dist/utils/testing/runnables.js.map +1 -1
  908. package/dist/utils/testing/tools.cjs.map +1 -1
  909. package/dist/utils/testing/tools.d.cts.map +1 -1
  910. package/dist/utils/testing/tools.d.ts.map +1 -1
  911. package/dist/utils/testing/tools.js.map +1 -1
  912. package/dist/utils/testing/tracers.cjs.map +1 -1
  913. package/dist/utils/testing/tracers.d.cts.map +1 -1
  914. package/dist/utils/testing/tracers.d.ts.map +1 -1
  915. package/dist/utils/testing/tracers.js.map +1 -1
  916. package/dist/utils/testing/vectorstores.cjs +7 -11
  917. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  918. package/dist/utils/testing/vectorstores.d.cts +0 -1
  919. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  920. package/dist/utils/testing/vectorstores.d.ts +0 -1
  921. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  922. package/dist/utils/testing/vectorstores.js +7 -11
  923. package/dist/utils/testing/vectorstores.js.map +1 -1
  924. package/dist/utils/tiktoken.cjs +4 -4
  925. package/dist/utils/tiktoken.cjs.map +1 -1
  926. package/dist/utils/tiktoken.d.cts.map +1 -1
  927. package/dist/utils/tiktoken.d.ts.map +1 -1
  928. package/dist/utils/tiktoken.js +2 -3
  929. package/dist/utils/tiktoken.js.map +1 -1
  930. package/dist/utils/types/index.cjs +3 -3
  931. package/dist/utils/types/index.d.cts +0 -1
  932. package/dist/utils/types/index.d.cts.map +1 -1
  933. package/dist/utils/types/index.d.ts +0 -1
  934. package/dist/utils/types/index.d.ts.map +1 -1
  935. package/dist/utils/types/index.js +2 -3
  936. package/dist/utils/types/zod.cjs +17 -32
  937. package/dist/utils/types/zod.cjs.map +1 -1
  938. package/dist/utils/types/zod.d.cts +1 -1
  939. package/dist/utils/types/zod.d.cts.map +1 -1
  940. package/dist/utils/types/zod.d.ts +1 -1
  941. package/dist/utils/types/zod.d.ts.map +1 -1
  942. package/dist/utils/types/zod.js +15 -30
  943. package/dist/utils/types/zod.js.map +1 -1
  944. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  945. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  946. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  947. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  948. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  949. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  950. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  951. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
  952. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  953. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
  954. package/dist/utils/zod-to-json-schema/index.js +2 -0
  955. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  956. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  957. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  958. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  959. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  960. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  961. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  962. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  963. package/dist/utils/zod-to-json-schema/parsers/array.cjs +2 -2
  964. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  965. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  966. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  967. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  968. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  969. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  970. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  971. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  972. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  973. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  974. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  975. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
  976. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  977. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  978. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  979. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  980. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  981. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -1
  982. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  983. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  984. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  985. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  986. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  987. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  988. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  989. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  990. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  991. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  992. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
  993. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +1 -1
  994. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  995. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  996. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  997. package/dist/utils/zod-to-json-schema/parsers/intersection.js +1 -1
  998. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  999. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  1000. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
  1001. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1002. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1003. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
  1004. package/dist/utils/zod-to-json-schema/parsers/map.cjs +17 -19
  1005. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  1006. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -1
  1007. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1008. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1009. package/dist/utils/zod-to-json-schema/parsers/map.js +17 -19
  1010. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  1011. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +2 -3
  1012. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  1013. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1014. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1015. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +2 -3
  1016. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  1017. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  1018. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1019. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1020. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  1021. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  1022. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1023. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1024. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
  1025. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +5 -5
  1026. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  1027. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1028. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1029. package/dist/utils/zod-to-json-schema/parsers/nullable.js +5 -5
  1030. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  1031. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  1032. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1033. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1034. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  1035. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  1036. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1037. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1038. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  1039. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  1040. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  1041. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +2 -3
  1042. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  1043. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +2 -3
  1044. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  1045. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  1046. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  1047. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  1048. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  1049. package/dist/utils/zod-to-json-schema/parsers/record.cjs +4 -4
  1050. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  1051. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1052. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1053. package/dist/utils/zod-to-json-schema/parsers/record.js +2 -2
  1054. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  1055. package/dist/utils/zod-to-json-schema/parsers/set.cjs +4 -5
  1056. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  1057. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1058. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1059. package/dist/utils/zod-to-json-schema/parsers/set.js +4 -5
  1060. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  1061. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  1062. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -1
  1063. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1064. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -1
  1065. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1066. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  1067. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  1068. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1069. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1070. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  1071. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  1072. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1073. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1074. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  1075. package/dist/utils/zod-to-json-schema/parsers/union.cjs +3 -6
  1076. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  1077. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1078. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1079. package/dist/utils/zod-to-json-schema/parsers/union.js +3 -6
  1080. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  1081. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  1082. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1083. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1084. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  1085. package/dist/utils/zod-to-json-schema/selectParser.cjs +3 -3
  1086. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  1087. package/dist/utils/zod-to-json-schema/selectParser.js +1 -1
  1088. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  1089. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +3 -3
  1090. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  1091. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +3 -3
  1092. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  1093. package/dist/vectorstores.cjs +4 -5
  1094. package/dist/vectorstores.cjs.map +1 -1
  1095. package/dist/vectorstores.d.cts +0 -1
  1096. package/dist/vectorstores.d.cts.map +1 -1
  1097. package/dist/vectorstores.d.ts +0 -1
  1098. package/dist/vectorstores.d.ts.map +1 -1
  1099. package/dist/vectorstores.js +3 -5
  1100. package/dist/vectorstores.js.map +1 -1
  1101. package/package.json +2 -2
  1102. package/dist/_virtual/rolldown_runtime.cjs +0 -32
  1103. package/dist/_virtual/rolldown_runtime.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"json_output_tools_parsers.cjs","names":["rawToolCall: Record<string, any>","options?: { returnId?: boolean; partial?: boolean }","parsePartialJson","e: any","OutputParserException","parsedToolCall: ToolCall","toolCall: ToolCall","errorMsg?: string","BaseCumulativeTransformOutputParser","fields?: JsonOutputToolsParserParams","generations: ChatGeneration[]","generations: ChatGenerationChunk[] | ChatGeneration[]","isAIMessage","rawToolCall: Record<string, unknown>","backwardsCompatibleToolCall: ParsedToolCall","params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>","result: unknown","interopSafeParseAsync","result: ParsedToolCall","returnedValues: ParsedToolCall[] | Record<string, any>[]"],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { OutputParserException } from \"../base.js\";\nimport { parsePartialJson } from \"../json.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport {\n BaseCumulativeTransformOutputParser,\n BaseCumulativeTransformOutputParserInput,\n} from \"../transform.js\";\nimport { isAIMessage } from \"../../messages/ai.js\";\nimport {\n type InteropZodType,\n interopSafeParseAsync,\n} from \"../../utils/types/zod.js\";\n\nexport type ParsedToolCall = {\n id?: string;\n\n type: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: Record<string, any>;\n};\n\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\n\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options: { returnId?: boolean; partial: true }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: false }\n): ToolCall;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined {\n if (rawToolCall.function === undefined) {\n return undefined;\n }\n let functionArgs;\n if (options?.partial) {\n try {\n functionArgs = parsePartialJson(rawToolCall.function.arguments ?? \"{}\");\n } catch {\n return undefined;\n }\n } else {\n try {\n functionArgs = JSON.parse(rawToolCall.function.arguments);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new OutputParserException(\n [\n `Function \"${rawToolCall.function.name}\" arguments:`,\n ``,\n rawToolCall.function.arguments,\n ``,\n `are not valid JSON.`,\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n\n const parsedToolCall: ToolCall = {\n name: rawToolCall.function.name,\n args: functionArgs,\n type: \"tool_call\",\n };\n\n if (options?.returnId) {\n parsedToolCall.id = rawToolCall.id;\n }\n\n return parsedToolCall;\n}\n\nexport function convertLangChainToolCallToOpenAI(toolCall: ToolCall) {\n if (toolCall.id === undefined) {\n throw new Error(`All OpenAI tool calls must have an \"id\" field.`);\n }\n return {\n id: toolCall.id,\n type: \"function\",\n function: {\n name: toolCall.name,\n arguments: JSON.stringify(toolCall.args),\n },\n };\n}\n\nexport function makeInvalidToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n errorMsg?: string\n): InvalidToolCall {\n return {\n name: rawToolCall.function?.name,\n args: rawToolCall.function?.arguments,\n id: rawToolCall.id,\n error: errorMsg,\n type: \"invalid_tool_call\",\n };\n}\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport class JsonOutputToolsParser<\n T,\n> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name() {\n return \"JsonOutputToolsParser\";\n }\n\n returnId = false;\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n constructor(fields?: JsonOutputToolsParserParams) {\n super(fields);\n this.returnId = fields?.returnId ?? this.returnId;\n }\n\n protected _diff() {\n throw new Error(\"Not supported.\");\n }\n\n async parse(): Promise<T> {\n throw new Error(\"Not implemented.\");\n }\n\n async parseResult(generations: ChatGeneration[]): Promise<T> {\n const result = await this.parsePartialResult(generations, false);\n return result;\n }\n\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n async parsePartialResult(\n generations: ChatGenerationChunk[] | ChatGeneration[],\n partial = true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n const message = generations[0].message;\n let toolCalls;\n if (isAIMessage(message) && message.tool_calls?.length) {\n toolCalls = message.tool_calls.map((toolCall) => {\n const { id, ...rest } = toolCall;\n if (!this.returnId) {\n return rest;\n }\n return {\n id,\n ...rest,\n };\n });\n } else if (message.additional_kwargs.tool_calls !== undefined) {\n const rawToolCalls = JSON.parse(\n JSON.stringify(message.additional_kwargs.tool_calls)\n );\n toolCalls = rawToolCalls.map((rawToolCall: Record<string, unknown>) => {\n return parseToolCall(rawToolCall, { returnId: this.returnId, partial });\n });\n }\n if (!toolCalls) {\n return [];\n }\n const parsedToolCalls = [];\n for (const toolCall of toolCalls) {\n if (toolCall !== undefined) {\n const backwardsCompatibleToolCall: ParsedToolCall = {\n type: toolCall.name,\n args: toolCall.args,\n id: toolCall.id,\n };\n parsedToolCalls.push(backwardsCompatibleToolCall);\n }\n }\n return parsedToolCalls;\n }\n}\n\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\n\ntype JsonOutputKeyToolsParserParamsV3<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z3.ZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\ntype JsonOutputKeyToolsParserParamsV4<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z4.$ZodType<T, T> } & JsonOutputKeyToolsParserParamsBase;\n\nexport type JsonOutputKeyToolsParserParamsInterop<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: InteropZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\n// Use Zod 3 for backwards compatibility\nexport type JsonOutputKeyToolsParserParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = JsonOutputKeyToolsParserParamsV3<T>;\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport class JsonOutputKeyToolsParser<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> extends JsonOutputToolsParser<T> {\n static lc_name() {\n return \"JsonOutputKeyToolsParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n returnId = false;\n\n /** The type of tool calls to return. */\n keyName: string;\n\n /** Whether to return only the first tool call. */\n returnSingle = false;\n\n zodSchema?: InteropZodType<T>;\n\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n\n constructor(\n params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>\n ) {\n super(params);\n this.keyName = params.keyName;\n this.returnSingle = params.returnSingle ?? this.returnSingle;\n this.zodSchema = params.zodSchema;\n }\n\n protected async _validateResult(result: unknown): Promise<T> {\n if (this.zodSchema === undefined) {\n return result as T;\n }\n const zodParsedResult = await interopSafeParseAsync(this.zodSchema, result);\n if (zodParsedResult.success) {\n return zodParsedResult.data;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${JSON.stringify(\n result,\n null,\n 2\n )}\". Error: ${JSON.stringify(zodParsedResult.error?.issues)}`,\n JSON.stringify(result, null, 2)\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parsePartialResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return returnedValues[0];\n }\n return returnedValues;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parseResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations, false);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return this._validateResult(returnedValues[0]);\n }\n const toolCallResults = await Promise.all(\n returnedValues.map((value) => this._validateResult(value))\n );\n return toolCallResults;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"json_output_tools_parsers.cjs","names":["parsePartialJson","OutputParserException","BaseCumulativeTransformOutputParser","isAIMessage","interopSafeParseAsync"],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { OutputParserException } from \"../base.js\";\nimport { parsePartialJson } from \"../json.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport {\n BaseCumulativeTransformOutputParser,\n BaseCumulativeTransformOutputParserInput,\n} from \"../transform.js\";\nimport { isAIMessage } from \"../../messages/ai.js\";\nimport {\n type InteropZodType,\n interopSafeParseAsync,\n} from \"../../utils/types/zod.js\";\n\nexport type ParsedToolCall = {\n id?: string;\n\n type: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: Record<string, any>;\n};\n\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\n\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options: { returnId?: boolean; partial: true }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: false }\n): ToolCall;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined {\n if (rawToolCall.function === undefined) {\n return undefined;\n }\n let functionArgs;\n if (options?.partial) {\n try {\n functionArgs = parsePartialJson(rawToolCall.function.arguments ?? \"{}\");\n } catch {\n return undefined;\n }\n } else {\n try {\n functionArgs = JSON.parse(rawToolCall.function.arguments);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new OutputParserException(\n [\n `Function \"${rawToolCall.function.name}\" arguments:`,\n ``,\n rawToolCall.function.arguments,\n ``,\n `are not valid JSON.`,\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n\n const parsedToolCall: ToolCall = {\n name: rawToolCall.function.name,\n args: functionArgs,\n type: \"tool_call\",\n };\n\n if (options?.returnId) {\n parsedToolCall.id = rawToolCall.id;\n }\n\n return parsedToolCall;\n}\n\nexport function convertLangChainToolCallToOpenAI(toolCall: ToolCall) {\n if (toolCall.id === undefined) {\n throw new Error(`All OpenAI tool calls must have an \"id\" field.`);\n }\n return {\n id: toolCall.id,\n type: \"function\",\n function: {\n name: toolCall.name,\n arguments: JSON.stringify(toolCall.args),\n },\n };\n}\n\nexport function makeInvalidToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n errorMsg?: string\n): InvalidToolCall {\n return {\n name: rawToolCall.function?.name,\n args: rawToolCall.function?.arguments,\n id: rawToolCall.id,\n error: errorMsg,\n type: \"invalid_tool_call\",\n };\n}\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport class JsonOutputToolsParser<\n T,\n> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name() {\n return \"JsonOutputToolsParser\";\n }\n\n returnId = false;\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n constructor(fields?: JsonOutputToolsParserParams) {\n super(fields);\n this.returnId = fields?.returnId ?? this.returnId;\n }\n\n protected _diff() {\n throw new Error(\"Not supported.\");\n }\n\n async parse(): Promise<T> {\n throw new Error(\"Not implemented.\");\n }\n\n async parseResult(generations: ChatGeneration[]): Promise<T> {\n const result = await this.parsePartialResult(generations, false);\n return result;\n }\n\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n async parsePartialResult(\n generations: ChatGenerationChunk[] | ChatGeneration[],\n partial = true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n const message = generations[0].message;\n let toolCalls;\n if (isAIMessage(message) && message.tool_calls?.length) {\n toolCalls = message.tool_calls.map((toolCall) => {\n const { id, ...rest } = toolCall;\n if (!this.returnId) {\n return rest;\n }\n return {\n id,\n ...rest,\n };\n });\n } else if (message.additional_kwargs.tool_calls !== undefined) {\n const rawToolCalls = JSON.parse(\n JSON.stringify(message.additional_kwargs.tool_calls)\n );\n toolCalls = rawToolCalls.map((rawToolCall: Record<string, unknown>) => {\n return parseToolCall(rawToolCall, { returnId: this.returnId, partial });\n });\n }\n if (!toolCalls) {\n return [];\n }\n const parsedToolCalls = [];\n for (const toolCall of toolCalls) {\n if (toolCall !== undefined) {\n const backwardsCompatibleToolCall: ParsedToolCall = {\n type: toolCall.name,\n args: toolCall.args,\n id: toolCall.id,\n };\n parsedToolCalls.push(backwardsCompatibleToolCall);\n }\n }\n return parsedToolCalls;\n }\n}\n\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\n\ntype JsonOutputKeyToolsParserParamsV3<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z3.ZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\ntype JsonOutputKeyToolsParserParamsV4<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z4.$ZodType<T, T> } & JsonOutputKeyToolsParserParamsBase;\n\nexport type JsonOutputKeyToolsParserParamsInterop<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: InteropZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\n// Use Zod 3 for backwards compatibility\nexport type JsonOutputKeyToolsParserParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = JsonOutputKeyToolsParserParamsV3<T>;\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport class JsonOutputKeyToolsParser<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> extends JsonOutputToolsParser<T> {\n static lc_name() {\n return \"JsonOutputKeyToolsParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n returnId = false;\n\n /** The type of tool calls to return. */\n keyName: string;\n\n /** Whether to return only the first tool call. */\n returnSingle = false;\n\n zodSchema?: InteropZodType<T>;\n\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n\n constructor(\n params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>\n ) {\n super(params);\n this.keyName = params.keyName;\n this.returnSingle = params.returnSingle ?? this.returnSingle;\n this.zodSchema = params.zodSchema;\n }\n\n protected async _validateResult(result: unknown): Promise<T> {\n if (this.zodSchema === undefined) {\n return result as T;\n }\n const zodParsedResult = await interopSafeParseAsync(this.zodSchema, result);\n if (zodParsedResult.success) {\n return zodParsedResult.data;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${JSON.stringify(\n result,\n null,\n 2\n )}\". Error: ${JSON.stringify(zodParsedResult.error?.issues)}`,\n JSON.stringify(result, null, 2)\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parsePartialResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return returnedValues[0];\n }\n return returnedValues;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parseResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations, false);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return this._validateResult(returnedValues[0]);\n }\n const toolCallResults = await Promise.all(\n returnedValues.map((value) => this._validateResult(value))\n );\n return toolCallResults;\n }\n}\n"],"mappings":"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"}
@@ -12,8 +12,7 @@ type ParsedToolCall = {
12
12
  args: Record<string, any>;
13
13
  };
14
14
  type JsonOutputToolsParserParams = {
15
- /** Whether to return the tool call id. */
16
- returnId?: boolean;
15
+ /** Whether to return the tool call id. */returnId?: boolean;
17
16
  } & BaseCumulativeTransformOutputParserInput;
18
17
  declare function parseToolCall(rawToolCall: Record<string, any>, options: {
19
18
  returnId?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"json_output_tools_parsers.d.cts","names":["z3","z4","ChatGeneration","ChatGenerationChunk","InvalidToolCall","ToolCall","BaseCumulativeTransformOutputParser","BaseCumulativeTransformOutputParserInput","InteropZodType","ParsedToolCall","Record","JsonOutputToolsParserParams","parseToolCall","convertLangChainToolCallToOpenAI","makeInvalidToolCall","JsonOutputToolsParser","T","Promise","JsonOutputKeyToolsParserParamsBase","JsonOutputKeyToolsParserParamsV3","ZodType","JsonOutputKeyToolsParserParamsV4","$ZodType","JsonOutputKeyToolsParserParamsInterop","JsonOutputKeyToolsParserParams","JsonOutputKeyToolsParser"],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.d.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport { BaseCumulativeTransformOutputParser, BaseCumulativeTransformOutputParserInput } from \"../transform.js\";\nimport { type InteropZodType } from \"../../utils/types/zod.js\";\nexport type ParsedToolCall = {\n id?: string;\n type: string;\n args: Record<string, any>;\n};\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options: {\n returnId?: boolean;\n partial: true;\n}): ToolCall | undefined;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options?: {\n returnId?: boolean;\n partial?: false;\n}): ToolCall;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options?: {\n returnId?: boolean;\n partial?: boolean;\n}): ToolCall | undefined;\nexport declare function convertLangChainToolCallToOpenAI(toolCall: ToolCall): {\n id: string;\n type: string;\n function: {\n name: string;\n arguments: string;\n };\n};\nexport declare function makeInvalidToolCall(rawToolCall: Record<string, any>, errorMsg?: string): InvalidToolCall;\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport declare class JsonOutputToolsParser<T> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name(): string;\n returnId: boolean;\n lc_namespace: string[];\n lc_serializable: boolean;\n constructor(fields?: JsonOutputToolsParserParams);\n protected _diff(): void;\n parse(): Promise<T>;\n parseResult(generations: ChatGeneration[]): Promise<T>;\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n parsePartialResult(generations: ChatGenerationChunk[] | ChatGeneration[], partial?: boolean): Promise<any>;\n}\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\ntype JsonOutputKeyToolsParserParamsV3<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: z3.ZodType<T>;\n} & JsonOutputKeyToolsParserParamsBase;\ntype JsonOutputKeyToolsParserParamsV4<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: z4.$ZodType<T, T>;\n} & JsonOutputKeyToolsParserParamsBase;\nexport type JsonOutputKeyToolsParserParamsInterop<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: InteropZodType<T>;\n} & JsonOutputKeyToolsParserParamsBase;\nexport type JsonOutputKeyToolsParserParams<T extends Record<string, any> = Record<string, any>> = JsonOutputKeyToolsParserParamsV3<T>;\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport declare class JsonOutputKeyToolsParser<T extends Record<string, any> = Record<string, any>> extends JsonOutputToolsParser<T> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n returnId: boolean;\n /** The type of tool calls to return. */\n keyName: string;\n /** Whether to return only the first tool call. */\n returnSingle: boolean;\n zodSchema?: InteropZodType<T>;\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n protected _validateResult(result: unknown): Promise<T>;\n parsePartialResult(generations: ChatGeneration[]): Promise<any>;\n parseResult(generations: ChatGeneration[]): Promise<any>;\n}\nexport {};\n//# sourceMappingURL=json_output_tools_parsers.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"json_output_tools_parsers.d.cts","names":[],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"mappings":";;;;;;;;KAgBY,cAAA;EACV,EAAA;EAEA,IAAA;EAGA,IAAA,EAAM,MAAA;AAAA;AAAA,KAGI,2BAAA;EARV,0CAUA,QAAA;AAAA,IACE,wCAAA;AAAA,iBAEY,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAW,QAAA;EAAoB,OAAA;AAAA,IAC9B,QAAA;AAAA,iBACa,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAY,QAAA;EAAoB,OAAA;AAAA,IAC/B,QAAA;AAAA,iBACa,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAY,QAAA;EAAoB,OAAA;AAAA,IAC/B,QAAA;AAAA,iBA+Ca,gCAAA,CAAiC,QAAA,EAAU,QAAA;;;;;;;;iBAc3C,mBAAA,CAEd,WAAA,EAAa,MAAA,eACb,QAAA,YACC,eAAA;;;;cAaU,qBAAA,YAEH,mCAAA,CAAoC,CAAA;EAAA,OACrC,OAAA,CAAA;EAIP,QAAA;EAEA,YAAA;EAEA,eAAA;EAEA,WAAA,CAAY,MAAA,GAAS,2BAAA;EAAA,UAKX,KAAA,CAAA;EAIJ,KAAA,CAAA,GAAS,OAAA,CAAQ,CAAA;EAIjB,WAAA,CAAY,WAAA,EAAa,cAAA,KAAmB,OAAA,CAAQ,CAAA;EA5G/B;;;;;;EAuHrB,kBAAA,CACJ,WAAA,EAAa,mBAAA,KAAwB,cAAA,IACrC,OAAA,aAEC,OAAA;AAAA;AAAA,KAwCA,kCAAA;EACH,OAAA;EACA,YAAA;AAAA,IACE,2BAAA;AAAA,KAEC,gCAAA,WAEO,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,EAAA,CAAG,OAAA,CAAQ,CAAA;AAAA,IAAO,kCAAA;AAAA,KAE/B,gCAAA,WAEO,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,EAAA,CAAG,QAAA,CAAS,CAAA,EAAG,CAAA;AAAA,IAAO,kCAAA;AAAA,KAE5B,qCAAA,WAEA,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,cAAA,CAAe,CAAA;AAAA,IAAO,kCAAA;AAAA,KAG5B,8BAAA,WAEA,MAAA,gBAAsB,MAAA,iBAC9B,gCAAA,CAAiC,CAAA;;;AA1HrC;;cAgIa,wBAAA,WAED,MAAA,gBAAsB,MAAA,uBACxB,qBAAA,CAAsB,CAAA;EAAA,OACvB,OAAA,CAAA;EAIP,YAAA;EAEA,eAAA;EAEA,QAAA;EAxIC;EA2ID,OAAA;EA3IgB;EA8IhB,YAAA;EAEA,SAAA,GAAY,cAAA,CAAe,CAAA;EAE3B,WAAA,CAAY,MAAA,EAAQ,gCAAA,CAAiC,CAAA;EAErD,WAAA,CAAY,MAAA,EAAQ,gCAAA,CAAiC,CAAA;EAErD,WAAA,CAAY,MAAA,EAAQ,qCAAA,CAAsC,CAAA;EAAA,UAc1C,eAAA,CAAgB,MAAA,YAAkB,OAAA,CAAQ,CAAA;EAoBpD,kBAAA,CAAmB,WAAA,EAAa,cAAA,KAAmB,OAAA;EAuBnD,WAAA,CAAY,WAAA,EAAa,cAAA,KAAmB,OAAA;AAAA"}
@@ -12,8 +12,7 @@ type ParsedToolCall = {
12
12
  args: Record<string, any>;
13
13
  };
14
14
  type JsonOutputToolsParserParams = {
15
- /** Whether to return the tool call id. */
16
- returnId?: boolean;
15
+ /** Whether to return the tool call id. */returnId?: boolean;
17
16
  } & BaseCumulativeTransformOutputParserInput;
18
17
  declare function parseToolCall(rawToolCall: Record<string, any>, options: {
19
18
  returnId?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"json_output_tools_parsers.d.ts","names":["z3","z4","ChatGeneration","ChatGenerationChunk","InvalidToolCall","ToolCall","BaseCumulativeTransformOutputParser","BaseCumulativeTransformOutputParserInput","InteropZodType","ParsedToolCall","Record","JsonOutputToolsParserParams","parseToolCall","convertLangChainToolCallToOpenAI","makeInvalidToolCall","JsonOutputToolsParser","T","Promise","JsonOutputKeyToolsParserParamsBase","JsonOutputKeyToolsParserParamsV3","ZodType","JsonOutputKeyToolsParserParamsV4","$ZodType","JsonOutputKeyToolsParserParamsInterop","JsonOutputKeyToolsParserParams","JsonOutputKeyToolsParser"],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.d.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport { BaseCumulativeTransformOutputParser, BaseCumulativeTransformOutputParserInput } from \"../transform.js\";\nimport { type InteropZodType } from \"../../utils/types/zod.js\";\nexport type ParsedToolCall = {\n id?: string;\n type: string;\n args: Record<string, any>;\n};\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options: {\n returnId?: boolean;\n partial: true;\n}): ToolCall | undefined;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options?: {\n returnId?: boolean;\n partial?: false;\n}): ToolCall;\nexport declare function parseToolCall(rawToolCall: Record<string, any>, options?: {\n returnId?: boolean;\n partial?: boolean;\n}): ToolCall | undefined;\nexport declare function convertLangChainToolCallToOpenAI(toolCall: ToolCall): {\n id: string;\n type: string;\n function: {\n name: string;\n arguments: string;\n };\n};\nexport declare function makeInvalidToolCall(rawToolCall: Record<string, any>, errorMsg?: string): InvalidToolCall;\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport declare class JsonOutputToolsParser<T> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name(): string;\n returnId: boolean;\n lc_namespace: string[];\n lc_serializable: boolean;\n constructor(fields?: JsonOutputToolsParserParams);\n protected _diff(): void;\n parse(): Promise<T>;\n parseResult(generations: ChatGeneration[]): Promise<T>;\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n parsePartialResult(generations: ChatGenerationChunk[] | ChatGeneration[], partial?: boolean): Promise<any>;\n}\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\ntype JsonOutputKeyToolsParserParamsV3<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: z3.ZodType<T>;\n} & JsonOutputKeyToolsParserParamsBase;\ntype JsonOutputKeyToolsParserParamsV4<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: z4.$ZodType<T, T>;\n} & JsonOutputKeyToolsParserParamsBase;\nexport type JsonOutputKeyToolsParserParamsInterop<T extends Record<string, any> = Record<string, any>> = {\n zodSchema?: InteropZodType<T>;\n} & JsonOutputKeyToolsParserParamsBase;\nexport type JsonOutputKeyToolsParserParams<T extends Record<string, any> = Record<string, any>> = JsonOutputKeyToolsParserParamsV3<T>;\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport declare class JsonOutputKeyToolsParser<T extends Record<string, any> = Record<string, any>> extends JsonOutputToolsParser<T> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n returnId: boolean;\n /** The type of tool calls to return. */\n keyName: string;\n /** Whether to return only the first tool call. */\n returnSingle: boolean;\n zodSchema?: InteropZodType<T>;\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n protected _validateResult(result: unknown): Promise<T>;\n parsePartialResult(generations: ChatGeneration[]): Promise<any>;\n parseResult(generations: ChatGeneration[]): Promise<any>;\n}\nexport {};\n//# sourceMappingURL=json_output_tools_parsers.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"json_output_tools_parsers.d.ts","names":[],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"mappings":";;;;;;;;KAgBY,cAAA;EACV,EAAA;EAEA,IAAA;EAGA,IAAA,EAAM,MAAA;AAAA;AAAA,KAGI,2BAAA;EARV,0CAUA,QAAA;AAAA,IACE,wCAAA;AAAA,iBAEY,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAW,QAAA;EAAoB,OAAA;AAAA,IAC9B,QAAA;AAAA,iBACa,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAY,QAAA;EAAoB,OAAA;AAAA,IAC/B,QAAA;AAAA,iBACa,aAAA,CAEd,WAAA,EAAa,MAAA,eACb,OAAA;EAAY,QAAA;EAAoB,OAAA;AAAA,IAC/B,QAAA;AAAA,iBA+Ca,gCAAA,CAAiC,QAAA,EAAU,QAAA;;;;;;;;iBAc3C,mBAAA,CAEd,WAAA,EAAa,MAAA,eACb,QAAA,YACC,eAAA;;;;cAaU,qBAAA,YAEH,mCAAA,CAAoC,CAAA;EAAA,OACrC,OAAA,CAAA;EAIP,QAAA;EAEA,YAAA;EAEA,eAAA;EAEA,WAAA,CAAY,MAAA,GAAS,2BAAA;EAAA,UAKX,KAAA,CAAA;EAIJ,KAAA,CAAA,GAAS,OAAA,CAAQ,CAAA;EAIjB,WAAA,CAAY,WAAA,EAAa,cAAA,KAAmB,OAAA,CAAQ,CAAA;EA5G/B;;;;;;EAuHrB,kBAAA,CACJ,WAAA,EAAa,mBAAA,KAAwB,cAAA,IACrC,OAAA,aAEC,OAAA;AAAA;AAAA,KAwCA,kCAAA;EACH,OAAA;EACA,YAAA;AAAA,IACE,2BAAA;AAAA,KAEC,gCAAA,WAEO,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,EAAA,CAAG,OAAA,CAAQ,CAAA;AAAA,IAAO,kCAAA;AAAA,KAE/B,gCAAA,WAEO,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,EAAA,CAAG,QAAA,CAAS,CAAA,EAAG,CAAA;AAAA,IAAO,kCAAA;AAAA,KAE5B,qCAAA,WAEA,MAAA,gBAAsB,MAAA;EAC5B,SAAA,GAAY,cAAA,CAAe,CAAA;AAAA,IAAO,kCAAA;AAAA,KAG5B,8BAAA,WAEA,MAAA,gBAAsB,MAAA,iBAC9B,gCAAA,CAAiC,CAAA;;;AA1HrC;;cAgIa,wBAAA,WAED,MAAA,gBAAsB,MAAA,uBACxB,qBAAA,CAAsB,CAAA;EAAA,OACvB,OAAA,CAAA;EAIP,YAAA;EAEA,eAAA;EAEA,QAAA;EAxIC;EA2ID,OAAA;EA3IgB;EA8IhB,YAAA;EAEA,SAAA,GAAY,cAAA,CAAe,CAAA;EAE3B,WAAA,CAAY,MAAA,EAAQ,gCAAA,CAAiC,CAAA;EAErD,WAAA,CAAY,MAAA,EAAQ,gCAAA,CAAiC,CAAA;EAErD,WAAA,CAAY,MAAA,EAAQ,qCAAA,CAAsC,CAAA;EAAA,UAc1C,eAAA,CAAgB,MAAA,YAAkB,OAAA,CAAQ,CAAA;EAoBpD,kBAAA,CAAmB,WAAA,EAAa,cAAA,KAAmB,OAAA;EAuBnD,WAAA,CAAY,WAAA,EAAa,cAAA,KAAmB,OAAA;AAAA"}
@@ -7,12 +7,12 @@ import "../json.js";
7
7
 
8
8
  //#region src/output_parsers/openai_tools/json_output_tools_parsers.ts
9
9
  function parseToolCall(rawToolCall, options) {
10
- if (rawToolCall.function === void 0) return void 0;
10
+ if (rawToolCall.function === void 0) return;
11
11
  let functionArgs;
12
12
  if (options?.partial) try {
13
13
  functionArgs = parsePartialJson(rawToolCall.function.arguments ?? "{}");
14
14
  } catch {
15
- return void 0;
15
+ return;
16
16
  }
17
17
  else try {
18
18
  functionArgs = JSON.parse(rawToolCall.function.arguments);
@@ -79,8 +79,7 @@ var JsonOutputToolsParser = class extends BaseCumulativeTransformOutputParser {
79
79
  throw new Error("Not implemented.");
80
80
  }
81
81
  async parseResult(generations) {
82
- const result = await this.parsePartialResult(generations, false);
83
- return result;
82
+ return await this.parsePartialResult(generations, false);
84
83
  }
85
84
  /**
86
85
  * Parses the output and returns a JSON object. If `argsOnly` is true,
@@ -92,22 +91,19 @@ var JsonOutputToolsParser = class extends BaseCumulativeTransformOutputParser {
92
91
  const message = generations[0].message;
93
92
  let toolCalls;
94
93
  if (isAIMessage(message) && message.tool_calls?.length) toolCalls = message.tool_calls.map((toolCall) => {
95
- const { id,...rest } = toolCall;
94
+ const { id, ...rest } = toolCall;
96
95
  if (!this.returnId) return rest;
97
96
  return {
98
97
  id,
99
98
  ...rest
100
99
  };
101
100
  });
102
- else if (message.additional_kwargs.tool_calls !== void 0) {
103
- const rawToolCalls = JSON.parse(JSON.stringify(message.additional_kwargs.tool_calls));
104
- toolCalls = rawToolCalls.map((rawToolCall) => {
105
- return parseToolCall(rawToolCall, {
106
- returnId: this.returnId,
107
- partial
108
- });
101
+ else if (message.additional_kwargs.tool_calls !== void 0) toolCalls = JSON.parse(JSON.stringify(message.additional_kwargs.tool_calls)).map((rawToolCall) => {
102
+ return parseToolCall(rawToolCall, {
103
+ returnId: this.returnId,
104
+ partial
109
105
  });
110
- }
106
+ });
111
107
  if (!toolCalls) return [];
112
108
  const parsedToolCalls = [];
113
109
  for (const toolCall of toolCalls) if (toolCall !== void 0) {
@@ -154,23 +150,20 @@ var JsonOutputKeyToolsParser = class extends JsonOutputToolsParser {
154
150
  else throw new OutputParserException(`Failed to parse. Text: "${JSON.stringify(result, null, 2)}". Error: ${JSON.stringify(zodParsedResult.error?.issues)}`, JSON.stringify(result, null, 2));
155
151
  }
156
152
  async parsePartialResult(generations) {
157
- const results = await super.parsePartialResult(generations);
158
- const matchingResults = results.filter((result) => result.type === this.keyName);
153
+ const matchingResults = (await super.parsePartialResult(generations)).filter((result) => result.type === this.keyName);
159
154
  let returnedValues = matchingResults;
160
- if (!matchingResults.length) return void 0;
155
+ if (!matchingResults.length) return;
161
156
  if (!this.returnId) returnedValues = matchingResults.map((result) => result.args);
162
157
  if (this.returnSingle) return returnedValues[0];
163
158
  return returnedValues;
164
159
  }
165
160
  async parseResult(generations) {
166
- const results = await super.parsePartialResult(generations, false);
167
- const matchingResults = results.filter((result) => result.type === this.keyName);
161
+ const matchingResults = (await super.parsePartialResult(generations, false)).filter((result) => result.type === this.keyName);
168
162
  let returnedValues = matchingResults;
169
- if (!matchingResults.length) return void 0;
163
+ if (!matchingResults.length) return;
170
164
  if (!this.returnId) returnedValues = matchingResults.map((result) => result.args);
171
165
  if (this.returnSingle) return this._validateResult(returnedValues[0]);
172
- const toolCallResults = await Promise.all(returnedValues.map((value) => this._validateResult(value)));
173
- return toolCallResults;
166
+ return await Promise.all(returnedValues.map((value) => this._validateResult(value)));
174
167
  }
175
168
  };
176
169
 
@@ -1 +1 @@
1
- {"version":3,"file":"json_output_tools_parsers.js","names":["rawToolCall: Record<string, any>","options?: { returnId?: boolean; partial?: boolean }","e: any","parsedToolCall: ToolCall","toolCall: ToolCall","errorMsg?: string","fields?: JsonOutputToolsParserParams","generations: ChatGeneration[]","generations: ChatGenerationChunk[] | ChatGeneration[]","rawToolCall: Record<string, unknown>","backwardsCompatibleToolCall: ParsedToolCall","params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>","result: unknown","result: ParsedToolCall","returnedValues: ParsedToolCall[] | Record<string, any>[]"],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { OutputParserException } from \"../base.js\";\nimport { parsePartialJson } from \"../json.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport {\n BaseCumulativeTransformOutputParser,\n BaseCumulativeTransformOutputParserInput,\n} from \"../transform.js\";\nimport { isAIMessage } from \"../../messages/ai.js\";\nimport {\n type InteropZodType,\n interopSafeParseAsync,\n} from \"../../utils/types/zod.js\";\n\nexport type ParsedToolCall = {\n id?: string;\n\n type: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: Record<string, any>;\n};\n\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\n\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options: { returnId?: boolean; partial: true }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: false }\n): ToolCall;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined {\n if (rawToolCall.function === undefined) {\n return undefined;\n }\n let functionArgs;\n if (options?.partial) {\n try {\n functionArgs = parsePartialJson(rawToolCall.function.arguments ?? \"{}\");\n } catch {\n return undefined;\n }\n } else {\n try {\n functionArgs = JSON.parse(rawToolCall.function.arguments);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new OutputParserException(\n [\n `Function \"${rawToolCall.function.name}\" arguments:`,\n ``,\n rawToolCall.function.arguments,\n ``,\n `are not valid JSON.`,\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n\n const parsedToolCall: ToolCall = {\n name: rawToolCall.function.name,\n args: functionArgs,\n type: \"tool_call\",\n };\n\n if (options?.returnId) {\n parsedToolCall.id = rawToolCall.id;\n }\n\n return parsedToolCall;\n}\n\nexport function convertLangChainToolCallToOpenAI(toolCall: ToolCall) {\n if (toolCall.id === undefined) {\n throw new Error(`All OpenAI tool calls must have an \"id\" field.`);\n }\n return {\n id: toolCall.id,\n type: \"function\",\n function: {\n name: toolCall.name,\n arguments: JSON.stringify(toolCall.args),\n },\n };\n}\n\nexport function makeInvalidToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n errorMsg?: string\n): InvalidToolCall {\n return {\n name: rawToolCall.function?.name,\n args: rawToolCall.function?.arguments,\n id: rawToolCall.id,\n error: errorMsg,\n type: \"invalid_tool_call\",\n };\n}\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport class JsonOutputToolsParser<\n T,\n> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name() {\n return \"JsonOutputToolsParser\";\n }\n\n returnId = false;\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n constructor(fields?: JsonOutputToolsParserParams) {\n super(fields);\n this.returnId = fields?.returnId ?? this.returnId;\n }\n\n protected _diff() {\n throw new Error(\"Not supported.\");\n }\n\n async parse(): Promise<T> {\n throw new Error(\"Not implemented.\");\n }\n\n async parseResult(generations: ChatGeneration[]): Promise<T> {\n const result = await this.parsePartialResult(generations, false);\n return result;\n }\n\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n async parsePartialResult(\n generations: ChatGenerationChunk[] | ChatGeneration[],\n partial = true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n const message = generations[0].message;\n let toolCalls;\n if (isAIMessage(message) && message.tool_calls?.length) {\n toolCalls = message.tool_calls.map((toolCall) => {\n const { id, ...rest } = toolCall;\n if (!this.returnId) {\n return rest;\n }\n return {\n id,\n ...rest,\n };\n });\n } else if (message.additional_kwargs.tool_calls !== undefined) {\n const rawToolCalls = JSON.parse(\n JSON.stringify(message.additional_kwargs.tool_calls)\n );\n toolCalls = rawToolCalls.map((rawToolCall: Record<string, unknown>) => {\n return parseToolCall(rawToolCall, { returnId: this.returnId, partial });\n });\n }\n if (!toolCalls) {\n return [];\n }\n const parsedToolCalls = [];\n for (const toolCall of toolCalls) {\n if (toolCall !== undefined) {\n const backwardsCompatibleToolCall: ParsedToolCall = {\n type: toolCall.name,\n args: toolCall.args,\n id: toolCall.id,\n };\n parsedToolCalls.push(backwardsCompatibleToolCall);\n }\n }\n return parsedToolCalls;\n }\n}\n\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\n\ntype JsonOutputKeyToolsParserParamsV3<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z3.ZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\ntype JsonOutputKeyToolsParserParamsV4<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z4.$ZodType<T, T> } & JsonOutputKeyToolsParserParamsBase;\n\nexport type JsonOutputKeyToolsParserParamsInterop<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: InteropZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\n// Use Zod 3 for backwards compatibility\nexport type JsonOutputKeyToolsParserParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = JsonOutputKeyToolsParserParamsV3<T>;\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport class JsonOutputKeyToolsParser<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> extends JsonOutputToolsParser<T> {\n static lc_name() {\n return \"JsonOutputKeyToolsParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n returnId = false;\n\n /** The type of tool calls to return. */\n keyName: string;\n\n /** Whether to return only the first tool call. */\n returnSingle = false;\n\n zodSchema?: InteropZodType<T>;\n\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n\n constructor(\n params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>\n ) {\n super(params);\n this.keyName = params.keyName;\n this.returnSingle = params.returnSingle ?? this.returnSingle;\n this.zodSchema = params.zodSchema;\n }\n\n protected async _validateResult(result: unknown): Promise<T> {\n if (this.zodSchema === undefined) {\n return result as T;\n }\n const zodParsedResult = await interopSafeParseAsync(this.zodSchema, result);\n if (zodParsedResult.success) {\n return zodParsedResult.data;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${JSON.stringify(\n result,\n null,\n 2\n )}\". Error: ${JSON.stringify(zodParsedResult.error?.issues)}`,\n JSON.stringify(result, null, 2)\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parsePartialResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return returnedValues[0];\n }\n return returnedValues;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parseResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations, false);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return this._validateResult(returnedValues[0]);\n }\n const toolCallResults = await Promise.all(\n returnedValues.map((value) => this._validateResult(value))\n );\n return toolCallResults;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"json_output_tools_parsers.js","names":[],"sources":["../../../src/output_parsers/openai_tools/json_output_tools_parsers.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\nimport { ChatGeneration, ChatGenerationChunk } from \"../../outputs.js\";\nimport { OutputParserException } from \"../base.js\";\nimport { parsePartialJson } from \"../json.js\";\nimport { InvalidToolCall, ToolCall } from \"../../messages/tool.js\";\nimport {\n BaseCumulativeTransformOutputParser,\n BaseCumulativeTransformOutputParserInput,\n} from \"../transform.js\";\nimport { isAIMessage } from \"../../messages/ai.js\";\nimport {\n type InteropZodType,\n interopSafeParseAsync,\n} from \"../../utils/types/zod.js\";\n\nexport type ParsedToolCall = {\n id?: string;\n\n type: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n args: Record<string, any>;\n};\n\nexport type JsonOutputToolsParserParams = {\n /** Whether to return the tool call id. */\n returnId?: boolean;\n} & BaseCumulativeTransformOutputParserInput;\n\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options: { returnId?: boolean; partial: true }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: false }\n): ToolCall;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined;\nexport function parseToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n options?: { returnId?: boolean; partial?: boolean }\n): ToolCall | undefined {\n if (rawToolCall.function === undefined) {\n return undefined;\n }\n let functionArgs;\n if (options?.partial) {\n try {\n functionArgs = parsePartialJson(rawToolCall.function.arguments ?? \"{}\");\n } catch {\n return undefined;\n }\n } else {\n try {\n functionArgs = JSON.parse(rawToolCall.function.arguments);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n throw new OutputParserException(\n [\n `Function \"${rawToolCall.function.name}\" arguments:`,\n ``,\n rawToolCall.function.arguments,\n ``,\n `are not valid JSON.`,\n `Error: ${e.message}`,\n ].join(\"\\n\")\n );\n }\n }\n\n const parsedToolCall: ToolCall = {\n name: rawToolCall.function.name,\n args: functionArgs,\n type: \"tool_call\",\n };\n\n if (options?.returnId) {\n parsedToolCall.id = rawToolCall.id;\n }\n\n return parsedToolCall;\n}\n\nexport function convertLangChainToolCallToOpenAI(toolCall: ToolCall) {\n if (toolCall.id === undefined) {\n throw new Error(`All OpenAI tool calls must have an \"id\" field.`);\n }\n return {\n id: toolCall.id,\n type: \"function\",\n function: {\n name: toolCall.name,\n arguments: JSON.stringify(toolCall.args),\n },\n };\n}\n\nexport function makeInvalidToolCall(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rawToolCall: Record<string, any>,\n errorMsg?: string\n): InvalidToolCall {\n return {\n name: rawToolCall.function?.name,\n args: rawToolCall.function?.arguments,\n id: rawToolCall.id,\n error: errorMsg,\n type: \"invalid_tool_call\",\n };\n}\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object.\n */\nexport class JsonOutputToolsParser<\n T,\n> extends BaseCumulativeTransformOutputParser<T> {\n static lc_name() {\n return \"JsonOutputToolsParser\";\n }\n\n returnId = false;\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n constructor(fields?: JsonOutputToolsParserParams) {\n super(fields);\n this.returnId = fields?.returnId ?? this.returnId;\n }\n\n protected _diff() {\n throw new Error(\"Not supported.\");\n }\n\n async parse(): Promise<T> {\n throw new Error(\"Not implemented.\");\n }\n\n async parseResult(generations: ChatGeneration[]): Promise<T> {\n const result = await this.parsePartialResult(generations, false);\n return result;\n }\n\n /**\n * Parses the output and returns a JSON object. If `argsOnly` is true,\n * only the arguments of the function call are returned.\n * @param generations The output of the LLM to parse.\n * @returns A JSON object representation of the function call or its arguments.\n */\n async parsePartialResult(\n generations: ChatGenerationChunk[] | ChatGeneration[],\n partial = true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<any> {\n const message = generations[0].message;\n let toolCalls;\n if (isAIMessage(message) && message.tool_calls?.length) {\n toolCalls = message.tool_calls.map((toolCall) => {\n const { id, ...rest } = toolCall;\n if (!this.returnId) {\n return rest;\n }\n return {\n id,\n ...rest,\n };\n });\n } else if (message.additional_kwargs.tool_calls !== undefined) {\n const rawToolCalls = JSON.parse(\n JSON.stringify(message.additional_kwargs.tool_calls)\n );\n toolCalls = rawToolCalls.map((rawToolCall: Record<string, unknown>) => {\n return parseToolCall(rawToolCall, { returnId: this.returnId, partial });\n });\n }\n if (!toolCalls) {\n return [];\n }\n const parsedToolCalls = [];\n for (const toolCall of toolCalls) {\n if (toolCall !== undefined) {\n const backwardsCompatibleToolCall: ParsedToolCall = {\n type: toolCall.name,\n args: toolCall.args,\n id: toolCall.id,\n };\n parsedToolCalls.push(backwardsCompatibleToolCall);\n }\n }\n return parsedToolCalls;\n }\n}\n\ntype JsonOutputKeyToolsParserParamsBase = {\n keyName: string;\n returnSingle?: boolean;\n} & JsonOutputToolsParserParams;\n\ntype JsonOutputKeyToolsParserParamsV3<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z3.ZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\ntype JsonOutputKeyToolsParserParamsV4<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: z4.$ZodType<T, T> } & JsonOutputKeyToolsParserParamsBase;\n\nexport type JsonOutputKeyToolsParserParamsInterop<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = { zodSchema?: InteropZodType<T> } & JsonOutputKeyToolsParserParamsBase;\n\n// Use Zod 3 for backwards compatibility\nexport type JsonOutputKeyToolsParserParams<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> = JsonOutputKeyToolsParserParamsV3<T>;\n\n/**\n * Class for parsing the output of a tool-calling LLM into a JSON object if you are\n * expecting only a single tool to be called.\n */\nexport class JsonOutputKeyToolsParser<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, any> = Record<string, any>,\n> extends JsonOutputToolsParser<T> {\n static lc_name() {\n return \"JsonOutputKeyToolsParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"openai_tools\"];\n\n lc_serializable = true;\n\n returnId = false;\n\n /** The type of tool calls to return. */\n keyName: string;\n\n /** Whether to return only the first tool call. */\n returnSingle = false;\n\n zodSchema?: InteropZodType<T>;\n\n constructor(params: JsonOutputKeyToolsParserParamsV3<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsV4<T>);\n\n constructor(params: JsonOutputKeyToolsParserParamsInterop<T>);\n\n constructor(\n params:\n | JsonOutputKeyToolsParserParamsV3<T>\n | JsonOutputKeyToolsParserParamsV4<T>\n | JsonOutputKeyToolsParserParamsInterop<T>\n ) {\n super(params);\n this.keyName = params.keyName;\n this.returnSingle = params.returnSingle ?? this.returnSingle;\n this.zodSchema = params.zodSchema;\n }\n\n protected async _validateResult(result: unknown): Promise<T> {\n if (this.zodSchema === undefined) {\n return result as T;\n }\n const zodParsedResult = await interopSafeParseAsync(this.zodSchema, result);\n if (zodParsedResult.success) {\n return zodParsedResult.data;\n } else {\n throw new OutputParserException(\n `Failed to parse. Text: \"${JSON.stringify(\n result,\n null,\n 2\n )}\". Error: ${JSON.stringify(zodParsedResult.error?.issues)}`,\n JSON.stringify(result, null, 2)\n );\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parsePartialResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return returnedValues[0];\n }\n return returnedValues;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async parseResult(generations: ChatGeneration[]): Promise<any> {\n const results = await super.parsePartialResult(generations, false);\n const matchingResults = results.filter(\n (result: ParsedToolCall) => result.type === this.keyName\n );\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnedValues: ParsedToolCall[] | Record<string, any>[] =\n matchingResults;\n if (!matchingResults.length) {\n return undefined;\n }\n if (!this.returnId) {\n returnedValues = matchingResults.map(\n (result: ParsedToolCall) => result.args\n );\n }\n if (this.returnSingle) {\n return this._validateResult(returnedValues[0]);\n }\n const toolCallResults = await Promise.all(\n returnedValues.map((value) => this._validateResult(value))\n );\n return toolCallResults;\n }\n}\n"],"mappings":";;;;;;;;AA6CA,SAAgB,cAEd,aACA,SACsB;AACtB,KAAI,YAAY,aAAa,OAC3B;CAEF,IAAI;AACJ,KAAI,SAAS,QACX,KAAI;AACF,iBAAe,iBAAiB,YAAY,SAAS,aAAa,KAAK;SACjE;AACN;;KAGF,KAAI;AACF,iBAAe,KAAK,MAAM,YAAY,SAAS,UAAU;UAElD,GAAQ;AACf,QAAM,IAAI,sBACR;GACE,aAAa,YAAY,SAAS,KAAK;GACvC;GACA,YAAY,SAAS;GACrB;GACA;GACA,UAAU,EAAE;GACb,CAAC,KAAK,KAAK,CACb;;CAIL,MAAM,iBAA2B;EAC/B,MAAM,YAAY,SAAS;EAC3B,MAAM;EACN,MAAM;EACP;AAED,KAAI,SAAS,SACX,gBAAe,KAAK,YAAY;AAGlC,QAAO;;AAGT,SAAgB,iCAAiC,UAAoB;AACnE,KAAI,SAAS,OAAO,OAClB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,QAAO;EACL,IAAI,SAAS;EACb,MAAM;EACN,UAAU;GACR,MAAM,SAAS;GACf,WAAW,KAAK,UAAU,SAAS,KAAK;GACzC;EACF;;AAGH,SAAgB,oBAEd,aACA,UACiB;AACjB,QAAO;EACL,MAAM,YAAY,UAAU;EAC5B,MAAM,YAAY,UAAU;EAC5B,IAAI,YAAY;EAChB,OAAO;EACP,MAAM;EACP;;;;;AAMH,IAAa,wBAAb,cAEU,oCAAuC;CAC/C,OAAO,UAAU;AACf,SAAO;;CAGT,WAAW;CAEX,eAAe;EAAC;EAAa;EAAkB;EAAe;CAE9D,kBAAkB;CAElB,YAAY,QAAsC;AAChD,QAAM,OAAO;AACb,OAAK,WAAW,QAAQ,YAAY,KAAK;;CAG3C,AAAU,QAAQ;AAChB,QAAM,IAAI,MAAM,iBAAiB;;CAGnC,MAAM,QAAoB;AACxB,QAAM,IAAI,MAAM,mBAAmB;;CAGrC,MAAM,YAAY,aAA2C;AAE3D,SADe,MAAM,KAAK,mBAAmB,aAAa,MAAM;;;;;;;;CAUlE,MAAM,mBACJ,aACA,UAAU,MAEI;EACd,MAAM,UAAU,YAAY,GAAG;EAC/B,IAAI;AACJ,MAAI,YAAY,QAAQ,IAAI,QAAQ,YAAY,OAC9C,aAAY,QAAQ,WAAW,KAAK,aAAa;GAC/C,MAAM,EAAE,IAAI,GAAG,SAAS;AACxB,OAAI,CAAC,KAAK,SACR,QAAO;AAET,UAAO;IACL;IACA,GAAG;IACJ;IACD;WACO,QAAQ,kBAAkB,eAAe,OAIlD,aAHqB,KAAK,MACxB,KAAK,UAAU,QAAQ,kBAAkB,WAAW,CACrD,CACwB,KAAK,gBAAyC;AACrE,UAAO,cAAc,aAAa;IAAE,UAAU,KAAK;IAAU;IAAS,CAAC;IACvE;AAEJ,MAAI,CAAC,UACH,QAAO,EAAE;EAEX,MAAM,kBAAkB,EAAE;AAC1B,OAAK,MAAM,YAAY,UACrB,KAAI,aAAa,QAAW;GAC1B,MAAM,8BAA8C;IAClD,MAAM,SAAS;IACf,MAAM,SAAS;IACf,IAAI,SAAS;IACd;AACD,mBAAgB,KAAK,4BAA4B;;AAGrD,SAAO;;;;;;;AAkCX,IAAa,2BAAb,cAGU,sBAAyB;CACjC,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAa;EAAkB;EAAe;CAE9D,kBAAkB;CAElB,WAAW;;CAGX;;CAGA,eAAe;CAEf;CAQA,YACE,QAIA;AACA,QAAM,OAAO;AACb,OAAK,UAAU,OAAO;AACtB,OAAK,eAAe,OAAO,gBAAgB,KAAK;AAChD,OAAK,YAAY,OAAO;;CAG1B,MAAgB,gBAAgB,QAA6B;AAC3D,MAAI,KAAK,cAAc,OACrB,QAAO;EAET,MAAM,kBAAkB,MAAM,sBAAsB,KAAK,WAAW,OAAO;AAC3E,MAAI,gBAAgB,QAClB,QAAO,gBAAgB;MAEvB,OAAM,IAAI,sBACR,2BAA2B,KAAK,UAC9B,QACA,MACA,EACD,CAAC,YAAY,KAAK,UAAU,gBAAgB,OAAO,OAAO,IAC3D,KAAK,UAAU,QAAQ,MAAM,EAAE,CAChC;;CAKL,MAAM,mBAAmB,aAA6C;EAEpE,MAAM,mBADU,MAAM,MAAM,mBAAmB,YAAY,EAC3B,QAC7B,WAA2B,OAAO,SAAS,KAAK,QAClD;EAED,IAAI,iBACF;AACF,MAAI,CAAC,gBAAgB,OACnB;AAEF,MAAI,CAAC,KAAK,SACR,kBAAiB,gBAAgB,KAC9B,WAA2B,OAAO,KACpC;AAEH,MAAI,KAAK,aACP,QAAO,eAAe;AAExB,SAAO;;CAIT,MAAM,YAAY,aAA6C;EAE7D,MAAM,mBADU,MAAM,MAAM,mBAAmB,aAAa,MAAM,EAClC,QAC7B,WAA2B,OAAO,SAAS,KAAK,QAClD;EAED,IAAI,iBACF;AACF,MAAI,CAAC,gBAAgB,OACnB;AAEF,MAAI,CAAC,KAAK,SACR,kBAAiB,gBAAgB,KAC9B,WAA2B,OAAO,KACpC;AAEH,MAAI,KAAK,aACP,QAAO,KAAK,gBAAgB,eAAe,GAAG;AAKhD,SAHwB,MAAM,QAAQ,IACpC,eAAe,KAAK,UAAU,KAAK,gBAAgB,MAAM,CAAC,CAC3D"}
@@ -58,6 +58,9 @@ var StringOutputParser = class extends require_transform.BaseTransformOutputPars
58
58
  case "image_url":
59
59
  if ("image_url" in content) return this._imageUrlContentToString(content);
60
60
  break;
61
+ case "reasoning":
62
+ case "thinking":
63
+ case "redacted_thinking": return "";
61
64
  default: throw new Error(`Cannot coerce "${content.type}" message part into a string.`);
62
65
  }
63
66
  throw new Error(`Invalid content type: ${content.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"string.cjs","names":["BaseTransformOutputParser","text: string","content: ContentBlock.Text","_content: ContentBlock.Data.URLContentBlock","content: ContentBlock","content: ContentBlock[]","acc: string","item: ContentBlock"],"sources":["../../src/output_parsers/string.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name() {\n return \"StrOutputParser\";\n }\n\n lc_namespace = [\"langchain_core\", \"output_parsers\", \"string\"];\n\n lc_serializable = true;\n\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string> {\n return Promise.resolve(text);\n }\n\n getFormatInstructions(): string {\n return \"\";\n }\n\n protected _textContentToString(content: ContentBlock.Text): string {\n return content.text;\n }\n\n protected _imageUrlContentToString(\n _content: ContentBlock.Data.URLContentBlock\n ): string {\n throw new Error(\n `Cannot coerce a multimodal \"image_url\" message part into a string.`\n );\n }\n\n protected _messageContentToString(content: ContentBlock): string {\n switch (content.type) {\n case \"text\":\n case \"text_delta\":\n if (\"text\" in content) {\n // Type guard for MessageContentText\n return this._textContentToString(content as ContentBlock.Text);\n }\n break;\n case \"image_url\":\n if (\"image_url\" in content) {\n // Type guard for MessageContentImageUrl\n return this._imageUrlContentToString(\n content as ContentBlock.Data.URLContentBlock\n );\n }\n break;\n default:\n throw new Error(\n `Cannot coerce \"${content.type}\" message part into a string.`\n );\n }\n throw new Error(`Invalid content type: ${content.type}`);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return content.reduce(\n (acc: string, item: ContentBlock) =>\n acc + this._messageContentToString(item),\n \"\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,qBAAb,cAAwCA,4CAAkC;CACxE,OAAO,UAAU;AACf,SAAO;CACR;CAED,eAAe;EAAC;EAAkB;EAAkB;CAAS;CAE7D,kBAAkB;;;;;;;;;CAUlB,MAAMC,MAA+B;AACnC,SAAO,QAAQ,QAAQ,KAAK;CAC7B;CAED,wBAAgC;AAC9B,SAAO;CACR;CAED,AAAU,qBAAqBC,SAAoC;AACjE,SAAO,QAAQ;CAChB;CAED,AAAU,yBACRC,UACQ;AACR,QAAM,IAAI,MACR,CAAC,kEAAkE,CAAC;CAEvE;CAED,AAAU,wBAAwBC,SAA+B;AAC/D,UAAQ,QAAQ,MAAhB;GACE,KAAK;GACL,KAAK;AACH,QAAI,UAAU,QAEZ,QAAO,KAAK,qBAAqB,QAA6B;AAEhE;GACF,KAAK;AACH,QAAI,eAAe,QAEjB,QAAO,KAAK,yBACV,QACD;AAEH;GACF,QACE,OAAM,IAAI,MACR,CAAC,eAAe,EAAE,QAAQ,KAAK,6BAA6B,CAAC;EAElE;AACD,QAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,QAAQ,MAAM;CACxD;CAED,AAAU,4BAA4BC,SAAiC;AACrE,SAAO,QAAQ,OACb,CAACC,KAAaC,SACZ,MAAM,KAAK,wBAAwB,KAAK,EAC1C,GACD;CACF;AACF"}
1
+ {"version":3,"file":"string.cjs","names":["BaseTransformOutputParser"],"sources":["../../src/output_parsers/string.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name() {\n return \"StrOutputParser\";\n }\n\n lc_namespace = [\"langchain_core\", \"output_parsers\", \"string\"];\n\n lc_serializable = true;\n\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string> {\n return Promise.resolve(text);\n }\n\n getFormatInstructions(): string {\n return \"\";\n }\n\n protected _textContentToString(content: ContentBlock.Text): string {\n return content.text;\n }\n\n protected _imageUrlContentToString(\n _content: ContentBlock.Data.URLContentBlock\n ): string {\n throw new Error(\n `Cannot coerce a multimodal \"image_url\" message part into a string.`\n );\n }\n\n protected _messageContentToString(content: ContentBlock): string {\n switch (content.type) {\n case \"text\":\n case \"text_delta\":\n if (\"text\" in content) {\n // Type guard for MessageContentText\n return this._textContentToString(content as ContentBlock.Text);\n }\n break;\n case \"image_url\":\n if (\"image_url\" in content) {\n // Type guard for MessageContentImageUrl\n return this._imageUrlContentToString(\n content as ContentBlock.Data.URLContentBlock\n );\n }\n break;\n case \"reasoning\":\n case \"thinking\":\n case \"redacted_thinking\":\n return \"\";\n default:\n throw new Error(\n `Cannot coerce \"${content.type}\" message part into a string.`\n );\n }\n throw new Error(`Invalid content type: ${content.type}`);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return content.reduce(\n (acc: string, item: ContentBlock) =>\n acc + this._messageContentToString(item),\n \"\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,qBAAb,cAAwCA,4CAAkC;CACxE,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAkB;EAAkB;EAAS;CAE7D,kBAAkB;;;;;;;;;CAUlB,MAAM,MAA+B;AACnC,SAAO,QAAQ,QAAQ,KAAK;;CAG9B,wBAAgC;AAC9B,SAAO;;CAGT,AAAU,qBAAqB,SAAoC;AACjE,SAAO,QAAQ;;CAGjB,AAAU,yBACR,UACQ;AACR,QAAM,IAAI,MACR,qEACD;;CAGH,AAAU,wBAAwB,SAA+B;AAC/D,UAAQ,QAAQ,MAAhB;GACE,KAAK;GACL,KAAK;AACH,QAAI,UAAU,QAEZ,QAAO,KAAK,qBAAqB,QAA6B;AAEhE;GACF,KAAK;AACH,QAAI,eAAe,QAEjB,QAAO,KAAK,yBACV,QACD;AAEH;GACF,KAAK;GACL,KAAK;GACL,KAAK,oBACH,QAAO;GACT,QACE,OAAM,IAAI,MACR,kBAAkB,QAAQ,KAAK,+BAChC;;AAEL,QAAM,IAAI,MAAM,yBAAyB,QAAQ,OAAO;;CAG1D,AAAU,4BAA4B,SAAiC;AACrE,SAAO,QAAQ,QACZ,KAAa,SACZ,MAAM,KAAK,wBAAwB,KAAK,EAC1C,GACD"}
@@ -2,7 +2,6 @@ import { ContentBlock } from "../messages/content/index.cjs";
2
2
  import { BaseTransformOutputParser } from "./transform.cjs";
3
3
 
4
4
  //#region src/output_parsers/string.d.ts
5
-
6
5
  /**
7
6
  * OutputParser that parses LLMResult into the top likely string.
8
7
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.cts","names":["BaseTransformOutputParser","ContentBlock","StringOutputParser","Promise","Text","Data","URLContentBlock"],"sources":["../../src/output_parsers/string.d.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport declare class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string>;\n getFormatInstructions(): string;\n protected _textContentToString(content: ContentBlock.Text): string;\n protected _imageUrlContentToString(_content: ContentBlock.Data.URLContentBlock): string;\n protected _messageContentToString(content: ContentBlock): string;\n protected _baseMessageContentToString(content: ContentBlock[]): string;\n}\n//# sourceMappingURL=string.d.ts.map"],"mappings":";;;;;;;AAoBA;;;;;;;AAAyE;;;;;;;;;cAApDE,kBAAAA,SAA2BF;;;;;;;;;;;;uBAYvBG;;0CAEmBF,YAAAA,CAAaG;+CACRH,YAAAA,CAAaI,IAAAA,CAAKC;6CACpBL;iDACIA"}
1
+ {"version":3,"file":"string.d.cts","names":[],"sources":["../../src/output_parsers/string.ts"],"mappings":";;;;;;AAqBA;;;;;;;;;;;;;;;;cAAa,kBAAA,SAA2B,yBAAA;EAAA,OAC/B,OAAA,CAAA;EAIP,YAAA;EAEA,eAAA;EAkBwC;;;;;;;;EARxC,KAAA,CAAM,IAAA,WAAe,OAAA;EAIrB,qBAAA,CAAA;EAAA,UAIU,oBAAA,CAAqB,OAAA,EAAS,YAAA,CAAa,IAAA;EAAA,UAI3C,wBAAA,CACR,QAAA,EAAU,YAAA,CAAa,IAAA,CAAK,eAAA;EAAA,UAOpB,uBAAA,CAAwB,OAAA,EAAS,YAAA;EAAA,UA6BjC,2BAAA,CAA4B,OAAA,EAAS,YAAA;AAAA"}
@@ -3,7 +3,6 @@ import "../messages/index.js";
3
3
  import { BaseTransformOutputParser } from "./transform.js";
4
4
 
5
5
  //#region src/output_parsers/string.d.ts
6
-
7
6
  /**
8
7
  * OutputParser that parses LLMResult into the top likely string.
9
8
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","names":["BaseTransformOutputParser","ContentBlock","StringOutputParser","Promise","Text","Data","URLContentBlock"],"sources":["../../src/output_parsers/string.d.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport declare class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name(): string;\n lc_namespace: string[];\n lc_serializable: boolean;\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string>;\n getFormatInstructions(): string;\n protected _textContentToString(content: ContentBlock.Text): string;\n protected _imageUrlContentToString(_content: ContentBlock.Data.URLContentBlock): string;\n protected _messageContentToString(content: ContentBlock): string;\n protected _baseMessageContentToString(content: ContentBlock[]): string;\n}\n//# sourceMappingURL=string.d.ts.map"],"mappings":";;;;;;;;;AAoBA;;;;;;;AAAyE;;;;;;;;cAApDE,kBAAAA,SAA2BF;;;;;;;;;;;;uBAYvBG;;0CAEmBF,YAAAA,CAAaG;+CACRH,YAAAA,CAAaI,IAAAA,CAAKC;6CACpBL;iDACIA"}
1
+ {"version":3,"file":"string.d.ts","names":[],"sources":["../../src/output_parsers/string.ts"],"mappings":";;;;;;;;AAqBA;;;;;;;;;;;;;;;cAAa,kBAAA,SAA2B,yBAAA;EAAA,OAC/B,OAAA,CAAA;EAIP,YAAA;EAEA,eAAA;EAkBU;;;;;;;;EARV,KAAA,CAAM,IAAA,WAAe,OAAA;EAIrB,qBAAA,CAAA;EAAA,UAIU,oBAAA,CAAqB,OAAA,EAAS,YAAA,CAAa,IAAA;EAAA,UAI3C,wBAAA,CACR,QAAA,EAAU,YAAA,CAAa,IAAA,CAAK,eAAA;EAAA,UAOpB,uBAAA,CAAwB,OAAA,EAAS,YAAA;EAAA,UA6BjC,2BAAA,CAA4B,OAAA,EAAS,YAAA;AAAA"}
@@ -58,6 +58,9 @@ var StringOutputParser = class extends BaseTransformOutputParser {
58
58
  case "image_url":
59
59
  if ("image_url" in content) return this._imageUrlContentToString(content);
60
60
  break;
61
+ case "reasoning":
62
+ case "thinking":
63
+ case "redacted_thinking": return "";
61
64
  default: throw new Error(`Cannot coerce "${content.type}" message part into a string.`);
62
65
  }
63
66
  throw new Error(`Invalid content type: ${content.type}`);
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","names":["text: string","content: ContentBlock.Text","_content: ContentBlock.Data.URLContentBlock","content: ContentBlock","content: ContentBlock[]","acc: string","item: ContentBlock"],"sources":["../../src/output_parsers/string.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name() {\n return \"StrOutputParser\";\n }\n\n lc_namespace = [\"langchain_core\", \"output_parsers\", \"string\"];\n\n lc_serializable = true;\n\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string> {\n return Promise.resolve(text);\n }\n\n getFormatInstructions(): string {\n return \"\";\n }\n\n protected _textContentToString(content: ContentBlock.Text): string {\n return content.text;\n }\n\n protected _imageUrlContentToString(\n _content: ContentBlock.Data.URLContentBlock\n ): string {\n throw new Error(\n `Cannot coerce a multimodal \"image_url\" message part into a string.`\n );\n }\n\n protected _messageContentToString(content: ContentBlock): string {\n switch (content.type) {\n case \"text\":\n case \"text_delta\":\n if (\"text\" in content) {\n // Type guard for MessageContentText\n return this._textContentToString(content as ContentBlock.Text);\n }\n break;\n case \"image_url\":\n if (\"image_url\" in content) {\n // Type guard for MessageContentImageUrl\n return this._imageUrlContentToString(\n content as ContentBlock.Data.URLContentBlock\n );\n }\n break;\n default:\n throw new Error(\n `Cannot coerce \"${content.type}\" message part into a string.`\n );\n }\n throw new Error(`Invalid content type: ${content.type}`);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return content.reduce(\n (acc: string, item: ContentBlock) =>\n acc + this._messageContentToString(item),\n \"\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,qBAAb,cAAwC,0BAAkC;CACxE,OAAO,UAAU;AACf,SAAO;CACR;CAED,eAAe;EAAC;EAAkB;EAAkB;CAAS;CAE7D,kBAAkB;;;;;;;;;CAUlB,MAAMA,MAA+B;AACnC,SAAO,QAAQ,QAAQ,KAAK;CAC7B;CAED,wBAAgC;AAC9B,SAAO;CACR;CAED,AAAU,qBAAqBC,SAAoC;AACjE,SAAO,QAAQ;CAChB;CAED,AAAU,yBACRC,UACQ;AACR,QAAM,IAAI,MACR,CAAC,kEAAkE,CAAC;CAEvE;CAED,AAAU,wBAAwBC,SAA+B;AAC/D,UAAQ,QAAQ,MAAhB;GACE,KAAK;GACL,KAAK;AACH,QAAI,UAAU,QAEZ,QAAO,KAAK,qBAAqB,QAA6B;AAEhE;GACF,KAAK;AACH,QAAI,eAAe,QAEjB,QAAO,KAAK,yBACV,QACD;AAEH;GACF,QACE,OAAM,IAAI,MACR,CAAC,eAAe,EAAE,QAAQ,KAAK,6BAA6B,CAAC;EAElE;AACD,QAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,QAAQ,MAAM;CACxD;CAED,AAAU,4BAA4BC,SAAiC;AACrE,SAAO,QAAQ,OACb,CAACC,KAAaC,SACZ,MAAM,KAAK,wBAAwB,KAAK,EAC1C,GACD;CACF;AACF"}
1
+ {"version":3,"file":"string.js","names":[],"sources":["../../src/output_parsers/string.ts"],"sourcesContent":["import { BaseTransformOutputParser } from \"./transform.js\";\nimport { ContentBlock } from \"../messages/index.js\";\n\n/**\n * OutputParser that parses LLMResult into the top likely string.\n * @example\n * ```typescript\n * const promptTemplate = PromptTemplate.fromTemplate(\n * \"Tell me a joke about {topic}\",\n * );\n *\n * const chain = RunnableSequence.from([\n * promptTemplate,\n * new ChatOpenAI({ model: \"gpt-4o-mini\" }),\n * new StringOutputParser(),\n * ]);\n *\n * const result = await chain.invoke({ topic: \"bears\" });\n * console.log(\"What do you call a bear with no teeth? A gummy bear!\");\n * ```\n */\nexport class StringOutputParser extends BaseTransformOutputParser<string> {\n static lc_name() {\n return \"StrOutputParser\";\n }\n\n lc_namespace = [\"langchain_core\", \"output_parsers\", \"string\"];\n\n lc_serializable = true;\n\n /**\n * Parses a string output from an LLM call. This method is meant to be\n * implemented by subclasses to define how a string output from an LLM\n * should be parsed.\n * @param text The string output from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parse(text: string): Promise<string> {\n return Promise.resolve(text);\n }\n\n getFormatInstructions(): string {\n return \"\";\n }\n\n protected _textContentToString(content: ContentBlock.Text): string {\n return content.text;\n }\n\n protected _imageUrlContentToString(\n _content: ContentBlock.Data.URLContentBlock\n ): string {\n throw new Error(\n `Cannot coerce a multimodal \"image_url\" message part into a string.`\n );\n }\n\n protected _messageContentToString(content: ContentBlock): string {\n switch (content.type) {\n case \"text\":\n case \"text_delta\":\n if (\"text\" in content) {\n // Type guard for MessageContentText\n return this._textContentToString(content as ContentBlock.Text);\n }\n break;\n case \"image_url\":\n if (\"image_url\" in content) {\n // Type guard for MessageContentImageUrl\n return this._imageUrlContentToString(\n content as ContentBlock.Data.URLContentBlock\n );\n }\n break;\n case \"reasoning\":\n case \"thinking\":\n case \"redacted_thinking\":\n return \"\";\n default:\n throw new Error(\n `Cannot coerce \"${content.type}\" message part into a string.`\n );\n }\n throw new Error(`Invalid content type: ${content.type}`);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return content.reduce(\n (acc: string, item: ContentBlock) =>\n acc + this._messageContentToString(item),\n \"\"\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,qBAAb,cAAwC,0BAAkC;CACxE,OAAO,UAAU;AACf,SAAO;;CAGT,eAAe;EAAC;EAAkB;EAAkB;EAAS;CAE7D,kBAAkB;;;;;;;;;CAUlB,MAAM,MAA+B;AACnC,SAAO,QAAQ,QAAQ,KAAK;;CAG9B,wBAAgC;AAC9B,SAAO;;CAGT,AAAU,qBAAqB,SAAoC;AACjE,SAAO,QAAQ;;CAGjB,AAAU,yBACR,UACQ;AACR,QAAM,IAAI,MACR,qEACD;;CAGH,AAAU,wBAAwB,SAA+B;AAC/D,UAAQ,QAAQ,MAAhB;GACE,KAAK;GACL,KAAK;AACH,QAAI,UAAU,QAEZ,QAAO,KAAK,qBAAqB,QAA6B;AAEhE;GACF,KAAK;AACH,QAAI,eAAe,QAEjB,QAAO,KAAK,yBACV,QACD;AAEH;GACF,KAAK;GACL,KAAK;GACL,KAAK,oBACH,QAAO;GACT,QACE,OAAM,IAAI,MACR,kBAAkB,QAAQ,KAAK,+BAChC;;AAEL,QAAM,IAAI,MAAM,yBAAyB,QAAQ,OAAO;;CAG1D,AAAU,4BAA4B,SAAiC;AACrE,SAAO,QAAQ,QACZ,KAAa,SACZ,MAAM,KAAK,wBAAwB,KAAK,EAC1C,GACD"}
@@ -1,8 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
2
  const require_zod = require('../utils/types/zod.cjs');
3
3
  const require_utils_json_schema = require('../utils/json_schema.cjs');
4
4
  const require_base = require('./base.cjs');
5
- const zod_v3 = require_rolldown_runtime.__toESM(require("zod/v3"));
5
+ let zod_v3 = require("zod/v3");
6
6
 
7
7
  //#region src/output_parsers/structured.ts
8
8
  var StructuredOutputParser = class extends require_base.BaseOutputParser {
@@ -70,10 +70,8 @@ ${JSON.stringify(require_utils_json_schema.toJsonSchema(this.schema))}
70
70
  async parse(text) {
71
71
  try {
72
72
  const trimmedText = text.trim();
73
- const json = trimmedText.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1] || trimmedText.match(/```json\s*([\s\S]*?)```/)?.[1] || trimmedText;
74
- const escapedJson = json.replace(/"([^"\\]*(\\.[^"\\]*)*)"/g, (_match, capturedGroup) => {
75
- const escapedInsideQuotes = capturedGroup.replace(/\n/g, "\\n");
76
- return `"${escapedInsideQuotes}"`;
73
+ const escapedJson = (trimmedText.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1] || trimmedText.match(/```json\s*([\s\S]*?)```/)?.[1] || trimmedText).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g, (_match, capturedGroup) => {
74
+ return `"${capturedGroup.replace(/\n/g, "\\n")}"`;
77
75
  }).replace(/\n/g, "");
78
76
  return await require_zod.interopParseAsync(this.schema, JSON.parse(escapedJson));
79
77
  } catch (e) {
@@ -100,7 +98,7 @@ var JsonMarkdownStructuredOutputParser = class extends StructuredOutputParser {
100
98
  let nullable = false;
101
99
  let type;
102
100
  if (Array.isArray(schema.type)) {
103
- const nullIdx = schema.type.findIndex((type$1) => type$1 === "null");
101
+ const nullIdx = schema.type.findIndex((type) => type === "null");
104
102
  if (nullIdx !== -1) {
105
103
  nullable = true;
106
104
  schema.type.splice(nullIdx, 1);
@@ -108,16 +106,15 @@ var JsonMarkdownStructuredOutputParser = class extends StructuredOutputParser {
108
106
  type = schema.type.join(" | ");
109
107
  } else type = schema.type;
110
108
  if (schema.type === "object" && schema.properties) {
111
- const description$1 = schema.description ? ` // ${schema.description}` : "";
112
- const properties = Object.entries(schema.properties).map(([key, value]) => {
109
+ const description = schema.description ? ` // ${schema.description}` : "";
110
+ return `{\n${Object.entries(schema.properties).map(([key, value]) => {
113
111
  const isOptional = schema.required?.includes(key) ? "" : " (optional)";
114
112
  return `${" ".repeat(indent)}"${key}": ${this._schemaToInstruction(value, indent + 2)}${isOptional}`;
115
- }).join("\n");
116
- return `{\n${properties}\n${" ".repeat(indent - 2)}}${description$1}`;
113
+ }).join("\n")}\n${" ".repeat(indent - 2)}}${description}`;
117
114
  }
118
115
  if (schema.type === "array" && schema.items) {
119
- const description$1 = schema.description ? ` // ${schema.description}` : "";
120
- return `array[\n${" ".repeat(indent)}${this._schemaToInstruction(schema.items, indent + 2)}\n${" ".repeat(indent - 2)}] ${description$1}`;
116
+ const description = schema.description ? ` // ${schema.description}` : "";
117
+ return `array[\n${" ".repeat(indent)}${this._schemaToInstruction(schema.items, indent + 2)}\n${" ".repeat(indent - 2)}] ${description}`;
121
118
  }
122
119
  const isNullable = nullable ? " (nullable)" : "";
123
120
  const description = schema.description ? ` // ${schema.description}` : "";
@@ -1 +1 @@
1
- {"version":3,"file":"structured.cjs","names":["BaseOutputParser","schema: T","schemas: S","z","toJsonSchema","text: string","interopParseAsync","OutputParserException","options?: JsonMarkdownFormatInstructionsOptions","schemaInput: JsonSchema7Type","type: string","type","description"],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"./base.js\";\nimport {\n type InteropZodType,\n type InferInteropZodOutput,\n interopParseAsync,\n} from \"../utils/types/zod.js\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"../utils/json_schema.js\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const trimmedText = text.trim();\n\n const json =\n // first case: if back ticks appear at the start of the text\n trimmedText.match(/^```(?:json)?\\s*([\\s\\S]*?)```/)?.[1] ||\n // second case: if back ticks with `json` appear anywhere in the text\n trimmedText.match(/```json\\s*([\\s\\S]*?)```/)?.[1] ||\n // otherwise, return the trimmed text\n trimmedText;\n\n const escapedJson = json\n .replace(/\"([^\"\\\\]*(\\\\.[^\"\\\\]*)*)\"/g, (_match, capturedGroup) => {\n const escapedInsideQuotes = capturedGroup.replace(/\\n/g, \"\\\\n\");\n return `\"${escapedInsideQuotes}\"`;\n })\n .replace(/\\n/g, \"\");\n\n return await interopParseAsync(this.schema, JSON.parse(escapedJson));\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"structured.cjs","names":["BaseOutputParser","z","toJsonSchema","interopParseAsync","OutputParserException"],"sources":["../../src/output_parsers/structured.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport {\n BaseOutputParser,\n FormatInstructionsOptions,\n OutputParserException,\n} from \"./base.js\";\nimport {\n type InteropZodType,\n type InferInteropZodOutput,\n interopParseAsync,\n} from \"../utils/types/zod.js\";\nimport {\n toJsonSchema,\n type JsonSchema7Type,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"../utils/json_schema.js\";\n\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\n\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\n\nexport class StructuredOutputParser<\n T extends InteropZodType,\n> extends BaseOutputParser<InferInteropZodOutput<T>> {\n static lc_name() {\n return \"StructuredOutputParser\";\n }\n\n lc_namespace = [\"langchain\", \"output_parsers\", \"structured\"];\n\n toJSON() {\n return this.toJSONNotImplemented();\n }\n\n constructor(public schema: T) {\n super(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this(schema);\n }\n\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this(zodSchema);\n }\n\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string {\n return `You must format your output as a JSON value that adheres to a given \"JSON Schema\" instance.\n\n\"JSON Schema\" is a declarative language that allows you to annotate and validate JSON documents.\n\nFor example, the example \"JSON Schema\" instance {{\"properties\": {{\"foo\": {{\"description\": \"a list of test words\", \"type\": \"array\", \"items\": {{\"type\": \"string\"}}}}}}, \"required\": [\"foo\"]}}\nwould match an object with one required property, \"foo\". The \"type\" property specifies \"foo\" must be an \"array\", and the \"description\" property semantically describes it as \"a list of test words\". The items within \"foo\" must be strings.\nThus, the object {{\"foo\": [\"bar\", \"baz\"]}} is a well-formatted instance of this example \"JSON Schema\". The object {{\"properties\": {{\"foo\": [\"bar\", \"baz\"]}}}} is not well-formatted.\n\nYour output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!\n\nHere is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:\n\\`\\`\\`json\n${JSON.stringify(toJsonSchema(this.schema))}\n\\`\\`\\`\n`;\n }\n\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n async parse(text: string): Promise<InferInteropZodOutput<T>> {\n try {\n const trimmedText = text.trim();\n\n const json =\n // first case: if back ticks appear at the start of the text\n trimmedText.match(/^```(?:json)?\\s*([\\s\\S]*?)```/)?.[1] ||\n // second case: if back ticks with `json` appear anywhere in the text\n trimmedText.match(/```json\\s*([\\s\\S]*?)```/)?.[1] ||\n // otherwise, return the trimmed text\n trimmedText;\n\n const escapedJson = json\n .replace(/\"([^\"\\\\]*(\\\\.[^\"\\\\]*)*)\"/g, (_match, capturedGroup) => {\n const escapedInsideQuotes = capturedGroup.replace(/\\n/g, \"\\\\n\");\n return `\"${escapedInsideQuotes}\"`;\n })\n .replace(/\\n/g, \"\");\n\n return await interopParseAsync(this.schema, JSON.parse(escapedJson));\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n }\n}\n\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport class JsonMarkdownStructuredOutputParser<\n T extends InteropZodType,\n> extends StructuredOutputParser<T> {\n static lc_name() {\n return \"JsonMarkdownStructuredOutputParser\";\n }\n\n getFormatInstructions(\n options?: JsonMarkdownFormatInstructionsOptions\n ): string {\n const interpolationDepth = options?.interpolationDepth ?? 1;\n if (interpolationDepth < 1) {\n throw new Error(\"f string interpolation depth must be at least 1\");\n }\n\n return `Return a markdown code snippet with a JSON object formatted to look like:\\n\\`\\`\\`json\\n${this._schemaToInstruction(\n toJsonSchema(this.schema)\n )\n .replaceAll(\"{\", \"{\".repeat(interpolationDepth))\n .replaceAll(\"}\", \"}\".repeat(interpolationDepth))}\\n\\`\\`\\``;\n }\n\n private _schemaToInstruction(\n schemaInput: JsonSchema7Type,\n indent = 2\n ): string {\n const schema = schemaInput as Extract<\n JsonSchema7Type,\n | JsonSchema7ObjectType\n | JsonSchema7ArrayType\n | JsonSchema7StringType\n | JsonSchema7NumberType\n | JsonSchema7NullableType\n >;\n\n if (\"type\" in schema) {\n let nullable = false;\n let type: string;\n if (Array.isArray(schema.type)) {\n const nullIdx = schema.type.findIndex((type) => type === \"null\");\n if (nullIdx !== -1) {\n nullable = true;\n schema.type.splice(nullIdx, 1);\n }\n type = schema.type.join(\" | \") as string;\n } else {\n type = schema.type;\n }\n\n if (schema.type === \"object\" && schema.properties) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n const properties = Object.entries(schema.properties)\n .map(([key, value]) => {\n const isOptional = schema.required?.includes(key)\n ? \"\"\n : \" (optional)\";\n return `${\" \".repeat(indent)}\"${key}\": ${this._schemaToInstruction(\n value,\n indent + 2\n )}${isOptional}`;\n })\n .join(\"\\n\");\n return `{\\n${properties}\\n${\" \".repeat(indent - 2)}}${description}`;\n }\n if (schema.type === \"array\" && schema.items) {\n const description = schema.description\n ? ` // ${schema.description}`\n : \"\";\n return `array[\\n${\" \".repeat(indent)}${this._schemaToInstruction(\n schema.items,\n indent + 2\n )}\\n${\" \".repeat(indent - 2)}] ${description}`;\n }\n const isNullable = nullable ? \" (nullable)\" : \"\";\n const description = schema.description ? ` // ${schema.description}` : \"\";\n return `${type}${description}${isNullable}`;\n }\n\n if (\"anyOf\" in schema) {\n return schema.anyOf\n .map((s) => this._schemaToInstruction(s, indent))\n .join(`\\n${\" \".repeat(indent - 2)}`);\n }\n\n throw new Error(\"unsupported schema type\");\n }\n\n static fromZodSchema<T extends InteropZodType>(schema: T) {\n return new this<T>(schema);\n }\n\n static fromNamesAndDescriptions<S extends { [key: string]: string }>(\n schemas: S\n ) {\n const zodSchema = z.object(\n Object.fromEntries(\n Object.entries(schemas).map(\n ([name, description]) =>\n [name, z.string().describe(description)] as const\n )\n )\n );\n\n return new this<typeof zodSchema>(zodSchema);\n }\n}\n\nexport interface AsymmetricStructuredOutputParserFields<\n T extends InteropZodType,\n> {\n inputSchema: T;\n}\n\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport abstract class AsymmetricStructuredOutputParser<\n T extends InteropZodType,\n Y = unknown,\n> extends BaseOutputParser<Y> {\n private structuredInputParser: JsonMarkdownStructuredOutputParser<T>;\n\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>) {\n super(...arguments);\n this.structuredInputParser = new JsonMarkdownStructuredOutputParser(\n inputSchema\n );\n }\n\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n\n async parse(text: string): Promise<Y> {\n let parsedInput;\n try {\n parsedInput = await this.structuredInputParser.parse(text);\n } catch (e) {\n throw new OutputParserException(\n `Failed to parse. Text: \"${text}\". Error: ${e}`,\n text\n );\n }\n\n return this.outputProcessor(parsedInput);\n }\n\n getFormatInstructions(): string {\n return this.structuredInputParser.getFormatInstructions();\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"structured.d.cts","names":["z","BaseOutputParser","FormatInstructionsOptions","InteropZodType","InferInteropZodOutput","JsonMarkdownStructuredOutputParserInput","JsonMarkdownFormatInstructionsOptions","StructuredOutputParser","T","S","___load_serializable_js0","SerializedNotImplemented","ZodString","ZodTypeAny","ZodObject","Promise","JsonMarkdownStructuredOutputParser","AsymmetricStructuredOutputParserFields","AsymmetricStructuredOutputParser","Y","inputSchema"],"sources":["../../src/output_parsers/structured.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseOutputParser, FormatInstructionsOptions } from \"./base.js\";\nimport { type InteropZodType, type InferInteropZodOutput } from \"../utils/types/zod.js\";\nexport type JsonMarkdownStructuredOutputParserInput = {\n interpolationDepth?: number;\n};\nexport interface JsonMarkdownFormatInstructionsOptions extends FormatInstructionsOptions {\n interpolationDepth?: number;\n}\nexport declare class StructuredOutputParser<T extends InteropZodType> extends BaseOutputParser<InferInteropZodOutput<T>> {\n schema: T;\n static lc_name(): string;\n lc_namespace: string[];\n toJSON(): import(\"../load/serializable.js\").SerializedNotImplemented;\n constructor(schema: T);\n /**\n * Creates a new StructuredOutputParser from a Zod schema.\n * @param schema The Zod schema which the output should match\n * @returns A new instance of StructuredOutputParser.\n */\n static fromZodSchema<T extends InteropZodType>(schema: T): StructuredOutputParser<T>;\n /**\n * Creates a new StructuredOutputParser from a set of names and\n * descriptions.\n * @param schemas An object where each key is a name and each value is a description\n * @returns A new instance of StructuredOutputParser.\n */\n static fromNamesAndDescriptions<S extends {\n [key: string]: string;\n }>(schemas: S): StructuredOutputParser<z.ZodObject<{\n [k: string]: z.ZodString;\n }, \"strip\", z.ZodTypeAny, {\n [x: string]: string;\n }, {\n [x: string]: string;\n }>>;\n /**\n * Returns a markdown code snippet with a JSON object formatted according\n * to the schema.\n * @param options Optional. The options for formatting the instructions\n * @returns A markdown code snippet with a JSON object formatted according to the schema.\n */\n getFormatInstructions(): string;\n /**\n * Parses the given text according to the schema.\n * @param text The text to parse\n * @returns The parsed output.\n */\n parse(text: string): Promise<InferInteropZodOutput<T>>;\n}\n/**\n * A specific type of `StructuredOutputParser` that parses JSON data\n * formatted as a markdown code snippet.\n */\nexport declare class JsonMarkdownStructuredOutputParser<T extends InteropZodType> extends StructuredOutputParser<T> {\n static lc_name(): string;\n getFormatInstructions(options?: JsonMarkdownFormatInstructionsOptions): string;\n private _schemaToInstruction;\n static fromZodSchema<T extends InteropZodType>(schema: T): JsonMarkdownStructuredOutputParser<T>;\n static fromNamesAndDescriptions<S extends {\n [key: string]: string;\n }>(schemas: S): JsonMarkdownStructuredOutputParser<z.ZodObject<{\n [k: string]: z.ZodString;\n }, \"strip\", z.ZodTypeAny, {\n [x: string]: string;\n }, {\n [x: string]: string;\n }>>;\n}\nexport interface AsymmetricStructuredOutputParserFields<T extends InteropZodType> {\n inputSchema: T;\n}\n/**\n * A type of `StructuredOutputParser` that handles asymmetric input and\n * output schemas.\n */\nexport declare abstract class AsymmetricStructuredOutputParser<T extends InteropZodType, Y = unknown> extends BaseOutputParser<Y> {\n private structuredInputParser;\n constructor({ inputSchema }: AsymmetricStructuredOutputParserFields<T>);\n /**\n * Processes the parsed input into the desired output format. Must be\n * implemented by subclasses.\n * @param input The parsed input\n * @returns The processed output.\n */\n abstract outputProcessor(input: InferInteropZodOutput<T>): Promise<Y>;\n parse(text: string): Promise<Y>;\n getFormatInstructions(): string;\n}\n//# sourceMappingURL=structured.d.ts.map"],"mappings":";;;;;;KAGYK,uCAAAA;;;AAAAA,UAGKC,qCAAAA,SAA8CJ,yBAHZ,CAAA;EAGlCI,kBAAAA,CAAAA,EAAAA,MAAAA;AAGjB;AAAsDH,cAAjCI,sBAAiCJ,CAAAA,UAAAA,cAAAA,CAAAA,SAAwBF,gBAAxBE,CAAyCC,qBAAzCD,CAA+DK,CAA/DL,CAAAA,CAAAA,CAAAA;EAA+DK,MAAAA,EACzGA,CADyGA;EAAtBJ,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EACnFI,YAAAA,EAAAA,MAAAA,EAAAA;;EAIYA,WAAAA,CAAAA,MAAAA,EAAAA,CAAAA;EAMWL;;;;;EAUZS,OAAAA,aAAAA,CAAAA,UAVYT,cAUZS,CAAAA,CAAAA,MAAAA,EAVoCJ,CAUpCI,CAAAA,EAVwCL,sBAUxCK,CAV+DJ,CAU/DI,CAAAA;EACLC;;;;;;EAtB4DZ,OAAAA,wBAAAA,CAAAA,UAAAA;IAAgB,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,MAAA;EA6CzEe,CAAAA,CAAAA,CAAAA,OAAAA,EAzBLP,CAyBKO,CAAAA,EAzBDT,sBAyBmC,CAzBZP,CAAAA,CAAEc,SAyBUL,CAAAA;IAAWN,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAxB7CH,CAAAA,CAAEY,SAwB2CT;EAA+CK,CAAAA,EAAAA,OAAAA,EAvBjGR,CAAAA,CAAEa,UAuB+FL,EAAAA;IAE7EF,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAEDH,CAAAA,EAAAA;IAAwBK,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,EAAAA,MAAAA;EAAuCA,CAAAA,CAAAA,CAAAA;EAAnCQ;;;;;;EAJ2BT,qBAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAAsB;AAehH;AAOA;;;EAEkBa,KAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA,EA9BOL,OA8BPK,CA9BehB,qBA8BfgB,CA9BqCZ,CA8BrCY,CAAAA,CAAAA;;;;;;AAO6CL,cA/B1CC,kCA+B0CD,CAAAA,UA/BGZ,cA+BHY,CAAAA,SA/B2BR,sBA+B3BQ,CA/BkDP,CA+BlDO,CAAAA,CAAAA;EAC9BI,OAAAA,OAAAA,CAAAA,CAAAA,EAAAA,MAAAA;EAARJ,qBAAAA,CAAAA,OAAAA,CAAAA,EA9BWT,qCA8BXS,CAAAA,EAAAA,MAAAA;EAVqFd,QAAAA,oBAAAA;EAAgB,OAAA,aAAA,CAAA,UAlB3FE,cAkB2F,CAAA,CAAA,MAAA,EAlBnEK,CAkBmE,CAAA,EAlB/DQ,kCAkB+D,CAlB5BR,CAkB4B,CAAA;;;cAf9GC,IAAIO,mCAAmChB,CAAAA,CAAEc;iBACpCd,CAAAA,CAAEY;cACPZ,CAAAA,CAAEa;;;;;;UAMDI,iDAAiDd;eACjDK;;;;;;uBAMaU,2CAA2Cf,qCAAqCF,iBAAiBkB;;;;KAE9FF,uCAAuCT;;;;;;;kCAOpCJ,sBAAsBI,KAAKO,QAAQI;uBAC9CJ,QAAQI"}
1
+ {"version":3,"file":"structured.d.cts","names":[],"sources":["../../src/output_parsers/structured.ts"],"mappings":";;;;;;KAqBY,uCAAA;EACV,kBAAA;AAAA;AAAA,UAGe,qCAAA,SAA8C,yBAAA;EAC7D,kBAAA;AAAA;AAAA,cAGW,sBAAA,WACD,cAAA,UACF,gBAAA,CAAiB,qBAAA,CAAsB,CAAA;EAW5B,MAAA,EAAQ,CAAA;EAAA,OAVpB,OAAA,CAAA;EAIP,YAAA;EAEA,MAAA,CAAA,GAI4B,wBAAA;EAA5B,WAAA,CAAmB,MAAA,EAAQ,CAAA;EAhBT;AAGpB;;;;EAHoB,OAyBX,aAAA,WAAwB,cAAA,CAAA,CAAgB,MAAA,EAAQ,CAAA,GAAC,sBAAA,CAAA,CAAA;EApB/B;;;;;;EAAA,OA8BlB,wBAAA;IAAA,CAAsC,GAAA;EAAA,EAAA,CAC3C,OAAA,EAAS,CAAA,GAAC,sBAAA,CAAA,CAAA,CAAA,SAAA;IAAA;;;;;;EA2Ce;;;;;;EAvB3B,qBAAA,CAAA;EAnDyB;;;;;EA0EnB,KAAA,CAAM,IAAA,WAAe,OAAA,CAAQ,qBAAA,CAAsB,CAAA;AAAA;;;;;cAiC9C,kCAAA,WACD,cAAA,UACF,sBAAA,CAAuB,CAAA;EAAA,OACxB,OAAA,CAAA;EAIP,qBAAA,CACE,OAAA,GAAU,qCAAA;EAAA,QAcJ,oBAAA;EAAA,OAmED,aAAA,WAAwB,cAAA,CAAA,CAAgB,MAAA,EAAQ,CAAA,GAAC,kCAAA,CAAA,CAAA;EAAA,OAIjD,wBAAA;IAAA,CAAsC,GAAA;EAAA,EAAA,CAC3C,OAAA,EAAS,CAAA,GAAC,kCAAA,CAAA,CAAA,CAAA,SAAA;IAAA;;;;;;;UAeG,sCAAA,WACL,cAAA;EAEV,WAAA,EAAa,CAAA;AAAA;;;;;uBAOO,gCAAA,WACV,cAAA,uBAEF,gBAAA,CAAiB,CAAA;EAAA,QACjB,qBAAA;EAER,WAAA,CAAA;IAAc;EAAA,GAAe,sCAAA,CAAuC,CAAA;EA9JzC;;;;;AAiC7B;EAjC6B,SA2KlB,eAAA,CAAgB,KAAA,EAAO,qBAAA,CAAsB,CAAA,IAAK,OAAA,CAAQ,CAAA;EAE7D,KAAA,CAAM,IAAA,WAAe,OAAA,CAAQ,CAAA;EAcnC,qBAAA,CAAA;AAAA"}