@langchain/core 1.2.0-dev-1765937705265 → 1.2.0-dev-1775763803878

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 (1447) hide show
  1. package/CHANGELOG.md +309 -0
  2. package/README.md +1 -1
  3. package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +7 -6
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/agents.cjs +8 -8
  6. package/dist/agents.cjs.map +1 -1
  7. package/dist/agents.d.cts.map +1 -1
  8. package/dist/agents.d.ts.map +1 -1
  9. package/dist/agents.js +3 -2
  10. package/dist/agents.js.map +1 -1
  11. package/dist/caches/index.cjs +12 -13
  12. package/dist/caches/index.cjs.map +1 -1
  13. package/dist/caches/index.d.cts.map +1 -1
  14. package/dist/caches/index.d.ts.map +1 -1
  15. package/dist/caches/index.js +4 -6
  16. package/dist/caches/index.js.map +1 -1
  17. package/dist/callbacks/base.cjs +17 -25
  18. package/dist/callbacks/base.cjs.map +1 -1
  19. package/dist/callbacks/base.d.cts +80 -38
  20. package/dist/callbacks/base.d.cts.map +1 -1
  21. package/dist/callbacks/base.d.ts +80 -38
  22. package/dist/callbacks/base.d.ts.map +1 -1
  23. package/dist/callbacks/base.js +7 -17
  24. package/dist/callbacks/base.js.map +1 -1
  25. package/dist/callbacks/dispatch/index.cjs +11 -12
  26. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  27. package/dist/callbacks/dispatch/index.d.cts +0 -2
  28. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  29. package/dist/callbacks/dispatch/index.d.ts +0 -3
  30. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  31. package/dist/callbacks/dispatch/index.js +5 -7
  32. package/dist/callbacks/dispatch/index.js.map +1 -1
  33. package/dist/callbacks/dispatch/web.cjs +3 -3
  34. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  35. package/dist/callbacks/dispatch/web.d.cts +0 -2
  36. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  37. package/dist/callbacks/dispatch/web.d.ts +0 -3
  38. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  39. package/dist/callbacks/dispatch/web.js +1 -2
  40. package/dist/callbacks/dispatch/web.js.map +1 -1
  41. package/dist/callbacks/manager.cjs +68 -76
  42. package/dist/callbacks/manager.cjs.map +1 -1
  43. package/dist/callbacks/manager.d.cts +3 -2
  44. package/dist/callbacks/manager.d.cts.map +1 -1
  45. package/dist/callbacks/manager.d.ts +3 -2
  46. package/dist/callbacks/manager.d.ts.map +1 -1
  47. package/dist/callbacks/manager.js +51 -60
  48. package/dist/callbacks/manager.js.map +1 -1
  49. package/dist/callbacks/promises.cjs +10 -11
  50. package/dist/callbacks/promises.js +3 -5
  51. package/dist/chat_history.cjs +13 -14
  52. package/dist/chat_history.cjs.map +1 -1
  53. package/dist/chat_history.d.cts +0 -2
  54. package/dist/chat_history.d.cts.map +1 -1
  55. package/dist/chat_history.d.ts +0 -3
  56. package/dist/chat_history.d.ts.map +1 -1
  57. package/dist/chat_history.js +4 -6
  58. package/dist/chat_history.js.map +1 -1
  59. package/dist/context.cjs +14 -7
  60. package/dist/context.cjs.map +1 -1
  61. package/dist/context.d.cts.map +1 -1
  62. package/dist/context.d.ts.map +1 -1
  63. package/dist/context.js +8 -2
  64. package/dist/context.js.map +1 -1
  65. package/dist/document_loaders/base.cjs +8 -10
  66. package/dist/document_loaders/base.cjs.map +1 -1
  67. package/dist/document_loaders/base.d.cts +0 -1
  68. package/dist/document_loaders/base.d.cts.map +1 -1
  69. package/dist/document_loaders/base.d.ts +0 -1
  70. package/dist/document_loaders/base.d.ts.map +1 -1
  71. package/dist/document_loaders/base.js +3 -5
  72. package/dist/document_loaders/base.js.map +1 -1
  73. package/dist/document_loaders/langsmith.cjs +11 -12
  74. package/dist/document_loaders/langsmith.cjs.map +1 -1
  75. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  76. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  77. package/dist/document_loaders/langsmith.js +3 -5
  78. package/dist/document_loaders/langsmith.js.map +1 -1
  79. package/dist/documents/document.cjs +1 -2
  80. package/dist/documents/document.cjs.map +1 -1
  81. package/dist/documents/document.d.cts.map +1 -1
  82. package/dist/documents/document.d.ts.map +1 -1
  83. package/dist/documents/document.js +1 -1
  84. package/dist/documents/document.js.map +1 -1
  85. package/dist/documents/index.cjs +11 -12
  86. package/dist/documents/index.js +3 -5
  87. package/dist/documents/transformers.cjs +2 -3
  88. package/dist/documents/transformers.cjs.map +1 -1
  89. package/dist/documents/transformers.d.cts +0 -1
  90. package/dist/documents/transformers.d.cts.map +1 -1
  91. package/dist/documents/transformers.d.ts +0 -1
  92. package/dist/documents/transformers.d.ts.map +1 -1
  93. package/dist/documents/transformers.js +1 -2
  94. package/dist/documents/transformers.js.map +1 -1
  95. package/dist/embeddings.cjs +10 -11
  96. package/dist/embeddings.cjs.map +1 -1
  97. package/dist/embeddings.d.cts +0 -1
  98. package/dist/embeddings.d.cts.map +1 -1
  99. package/dist/embeddings.d.ts +0 -1
  100. package/dist/embeddings.d.ts.map +1 -1
  101. package/dist/embeddings.js +3 -5
  102. package/dist/embeddings.js.map +1 -1
  103. package/dist/errors/index.cjs +165 -2
  104. package/dist/errors/index.cjs.map +1 -1
  105. package/dist/errors/index.d.cts +150 -0
  106. package/dist/errors/index.d.cts.map +1 -0
  107. package/dist/errors/index.d.ts +150 -0
  108. package/dist/errors/index.d.ts.map +1 -0
  109. package/dist/errors/index.js +155 -2
  110. package/dist/errors/index.js.map +1 -1
  111. package/dist/example_selectors/base.cjs +2 -3
  112. package/dist/example_selectors/base.cjs.map +1 -1
  113. package/dist/example_selectors/base.d.cts +0 -1
  114. package/dist/example_selectors/base.d.cts.map +1 -1
  115. package/dist/example_selectors/base.d.ts +0 -1
  116. package/dist/example_selectors/base.d.ts.map +1 -1
  117. package/dist/example_selectors/base.js +1 -2
  118. package/dist/example_selectors/base.js.map +1 -1
  119. package/dist/example_selectors/conditional.cjs +2 -4
  120. package/dist/example_selectors/conditional.cjs.map +1 -1
  121. package/dist/example_selectors/conditional.d.cts.map +1 -1
  122. package/dist/example_selectors/conditional.d.ts.map +1 -1
  123. package/dist/example_selectors/conditional.js +2 -3
  124. package/dist/example_selectors/conditional.js.map +1 -1
  125. package/dist/example_selectors/index.cjs +13 -14
  126. package/dist/example_selectors/index.js +3 -5
  127. package/dist/example_selectors/length_based.cjs +3 -5
  128. package/dist/example_selectors/length_based.cjs.map +1 -1
  129. package/dist/example_selectors/length_based.d.cts +0 -1
  130. package/dist/example_selectors/length_based.d.cts.map +1 -1
  131. package/dist/example_selectors/length_based.d.ts +0 -1
  132. package/dist/example_selectors/length_based.d.ts.map +1 -1
  133. package/dist/example_selectors/length_based.js +2 -4
  134. package/dist/example_selectors/length_based.js.map +1 -1
  135. package/dist/example_selectors/semantic_similarity.cjs +7 -12
  136. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  137. package/dist/example_selectors/semantic_similarity.d.cts +0 -1
  138. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  139. package/dist/example_selectors/semantic_similarity.d.ts +0 -1
  140. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  141. package/dist/example_selectors/semantic_similarity.js +5 -10
  142. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  143. package/dist/index.cjs +8 -8
  144. package/dist/index.js +3 -2
  145. package/dist/indexing/base.cjs +12 -17
  146. package/dist/indexing/base.cjs.map +1 -1
  147. package/dist/indexing/base.d.cts.map +1 -1
  148. package/dist/indexing/base.d.ts.map +1 -1
  149. package/dist/indexing/base.js +6 -11
  150. package/dist/indexing/base.js.map +1 -1
  151. package/dist/indexing/index.cjs +11 -12
  152. package/dist/indexing/index.js +3 -5
  153. package/dist/indexing/record_manager.cjs +2 -3
  154. package/dist/indexing/record_manager.cjs.map +1 -1
  155. package/dist/indexing/record_manager.d.cts.map +1 -1
  156. package/dist/indexing/record_manager.d.ts.map +1 -1
  157. package/dist/indexing/record_manager.js +1 -2
  158. package/dist/indexing/record_manager.js.map +1 -1
  159. package/dist/language_models/base.cjs +32 -26
  160. package/dist/language_models/base.cjs.map +1 -1
  161. package/dist/language_models/base.d.cts +17 -14
  162. package/dist/language_models/base.d.cts.map +1 -1
  163. package/dist/language_models/base.d.ts +17 -16
  164. package/dist/language_models/base.d.ts.map +1 -1
  165. package/dist/language_models/base.js +21 -16
  166. package/dist/language_models/base.js.map +1 -1
  167. package/dist/language_models/chat_models.cjs +130 -70
  168. package/dist/language_models/chat_models.cjs.map +1 -1
  169. package/dist/language_models/chat_models.d.cts +76 -10
  170. package/dist/language_models/chat_models.d.cts.map +1 -1
  171. package/dist/language_models/chat_models.d.ts +76 -13
  172. package/dist/language_models/chat_models.d.ts.map +1 -1
  173. package/dist/language_models/chat_models.js +111 -52
  174. package/dist/language_models/chat_models.js.map +1 -1
  175. package/dist/language_models/compat.cjs +235 -0
  176. package/dist/language_models/compat.cjs.map +1 -0
  177. package/dist/language_models/compat.d.cts +34 -0
  178. package/dist/language_models/compat.d.cts.map +1 -0
  179. package/dist/language_models/compat.d.ts +34 -0
  180. package/dist/language_models/compat.d.ts.map +1 -0
  181. package/dist/language_models/compat.js +226 -0
  182. package/dist/language_models/compat.js.map +1 -0
  183. package/dist/language_models/event.cjs +12 -0
  184. package/dist/language_models/event.cjs.map +1 -0
  185. package/dist/language_models/event.d.cts +193 -0
  186. package/dist/language_models/event.d.cts.map +1 -0
  187. package/dist/language_models/event.d.ts +193 -0
  188. package/dist/language_models/event.d.ts.map +1 -0
  189. package/dist/language_models/event.js +7 -0
  190. package/dist/language_models/event.js.map +1 -0
  191. package/dist/language_models/llms.cjs +23 -27
  192. package/dist/language_models/llms.cjs.map +1 -1
  193. package/dist/language_models/llms.d.cts +4 -4
  194. package/dist/language_models/llms.d.cts.map +1 -1
  195. package/dist/language_models/llms.d.ts +4 -5
  196. package/dist/language_models/llms.d.ts.map +1 -1
  197. package/dist/language_models/llms.js +12 -17
  198. package/dist/language_models/llms.js.map +1 -1
  199. package/dist/language_models/profile.cjs +8 -8
  200. package/dist/language_models/profile.d.cts.map +1 -1
  201. package/dist/language_models/profile.d.ts.map +1 -1
  202. package/dist/language_models/profile.js +3 -2
  203. package/dist/language_models/stream.cjs +376 -0
  204. package/dist/language_models/stream.cjs.map +1 -0
  205. package/dist/language_models/stream.d.cts +129 -0
  206. package/dist/language_models/stream.d.cts.map +1 -0
  207. package/dist/language_models/stream.d.ts +129 -0
  208. package/dist/language_models/stream.d.ts.map +1 -0
  209. package/dist/language_models/stream.js +365 -0
  210. package/dist/language_models/stream.js.map +1 -0
  211. package/dist/language_models/structured_output.cjs +87 -0
  212. package/dist/language_models/structured_output.cjs.map +1 -0
  213. package/dist/language_models/structured_output.d.cts +45 -0
  214. package/dist/language_models/structured_output.d.cts.map +1 -0
  215. package/dist/language_models/structured_output.d.ts +45 -0
  216. package/dist/language_models/structured_output.d.ts.map +1 -0
  217. package/dist/language_models/structured_output.js +78 -0
  218. package/dist/language_models/structured_output.js.map +1 -0
  219. package/dist/language_models/utils.cjs +1 -2
  220. package/dist/language_models/utils.cjs.map +1 -1
  221. package/dist/language_models/utils.js +1 -1
  222. package/dist/language_models/utils.js.map +1 -1
  223. package/dist/load/import_constants.cjs +1 -2
  224. package/dist/load/import_constants.cjs.map +1 -1
  225. package/dist/load/import_constants.js +1 -1
  226. package/dist/load/import_constants.js.map +1 -1
  227. package/dist/load/import_map.cjs +82 -66
  228. package/dist/load/import_map.cjs.map +1 -1
  229. package/dist/load/import_map.js +45 -29
  230. package/dist/load/import_map.js.map +1 -1
  231. package/dist/load/import_type.d.cts.map +1 -1
  232. package/dist/load/import_type.d.ts.map +1 -1
  233. package/dist/load/index.cjs +160 -41
  234. package/dist/load/index.cjs.map +1 -1
  235. package/dist/load/index.d.cts +122 -3
  236. package/dist/load/index.d.cts.map +1 -1
  237. package/dist/load/index.d.ts +122 -3
  238. package/dist/load/index.d.ts.map +1 -1
  239. package/dist/load/index.js +149 -31
  240. package/dist/load/index.js.map +1 -1
  241. package/dist/load/map_keys.cjs +6 -5
  242. package/dist/load/map_keys.cjs.map +1 -1
  243. package/dist/load/map_keys.d.cts.map +1 -1
  244. package/dist/load/map_keys.d.ts.map +1 -1
  245. package/dist/load/map_keys.js +1 -2
  246. package/dist/load/map_keys.js.map +1 -1
  247. package/dist/load/serializable.cjs +22 -26
  248. package/dist/load/serializable.cjs.map +1 -1
  249. package/dist/load/serializable.d.cts +15 -1
  250. package/dist/load/serializable.d.cts.map +1 -1
  251. package/dist/load/serializable.d.ts +15 -1
  252. package/dist/load/serializable.d.ts.map +1 -1
  253. package/dist/load/serializable.js +15 -20
  254. package/dist/load/serializable.js.map +1 -1
  255. package/dist/load/validation.cjs +120 -0
  256. package/dist/load/validation.cjs.map +1 -0
  257. package/dist/load/validation.js +118 -0
  258. package/dist/load/validation.js.map +1 -0
  259. package/dist/memory.cjs +10 -18
  260. package/dist/memory.cjs.map +1 -1
  261. package/dist/memory.d.cts +2 -2
  262. package/dist/memory.d.cts.map +1 -1
  263. package/dist/memory.d.ts +2 -2
  264. package/dist/memory.d.ts.map +1 -1
  265. package/dist/memory.js +5 -13
  266. package/dist/memory.js.map +1 -1
  267. package/dist/messages/ai.cjs +15 -9
  268. package/dist/messages/ai.cjs.map +1 -1
  269. package/dist/messages/ai.d.cts +2 -2
  270. package/dist/messages/ai.d.cts.map +1 -1
  271. package/dist/messages/ai.d.ts +2 -2
  272. package/dist/messages/ai.d.ts.map +1 -1
  273. package/dist/messages/ai.js +10 -4
  274. package/dist/messages/ai.js.map +1 -1
  275. package/dist/messages/base.cjs +111 -44
  276. package/dist/messages/base.cjs.map +1 -1
  277. package/dist/messages/base.d.cts +49 -12
  278. package/dist/messages/base.d.cts.map +1 -1
  279. package/dist/messages/base.d.ts +49 -12
  280. package/dist/messages/base.d.ts.map +1 -1
  281. package/dist/messages/base.js +104 -38
  282. package/dist/messages/base.js.map +1 -1
  283. package/dist/messages/block_translators/anthropic.cjs +32 -38
  284. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  285. package/dist/messages/block_translators/anthropic.js +31 -37
  286. package/dist/messages/block_translators/anthropic.js.map +1 -1
  287. package/dist/messages/block_translators/bedrock_converse.cjs +40 -49
  288. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  289. package/dist/messages/block_translators/bedrock_converse.js +39 -48
  290. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  291. package/dist/messages/block_translators/data.cjs +3 -4
  292. package/dist/messages/block_translators/data.cjs.map +1 -1
  293. package/dist/messages/block_translators/data.js +1 -2
  294. package/dist/messages/block_translators/data.js.map +1 -1
  295. package/dist/messages/block_translators/deepseek.cjs +58 -0
  296. package/dist/messages/block_translators/deepseek.cjs.map +1 -0
  297. package/dist/messages/block_translators/deepseek.js +58 -0
  298. package/dist/messages/block_translators/deepseek.js.map +1 -0
  299. package/dist/messages/block_translators/google.cjs +97 -0
  300. package/dist/messages/block_translators/google.cjs.map +1 -0
  301. package/dist/messages/block_translators/google.js +97 -0
  302. package/dist/messages/block_translators/google.js.map +1 -0
  303. package/dist/messages/block_translators/google_genai.cjs +9 -3
  304. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  305. package/dist/messages/block_translators/google_genai.js +8 -2
  306. package/dist/messages/block_translators/google_genai.js.map +1 -1
  307. package/dist/messages/block_translators/google_vertexai.cjs +10 -6
  308. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  309. package/dist/messages/block_translators/google_vertexai.js +9 -5
  310. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  311. package/dist/messages/block_translators/groq.cjs +96 -0
  312. package/dist/messages/block_translators/groq.cjs.map +1 -0
  313. package/dist/messages/block_translators/groq.js +96 -0
  314. package/dist/messages/block_translators/groq.js.map +1 -0
  315. package/dist/messages/block_translators/index.cjs +17 -8
  316. package/dist/messages/block_translators/index.cjs.map +1 -1
  317. package/dist/messages/block_translators/index.js +12 -3
  318. package/dist/messages/block_translators/index.js.map +1 -1
  319. package/dist/messages/block_translators/ollama.cjs +58 -0
  320. package/dist/messages/block_translators/ollama.cjs.map +1 -0
  321. package/dist/messages/block_translators/ollama.js +58 -0
  322. package/dist/messages/block_translators/ollama.js.map +1 -0
  323. package/dist/messages/block_translators/openai.cjs +85 -26
  324. package/dist/messages/block_translators/openai.cjs.map +1 -1
  325. package/dist/messages/block_translators/openai.js +83 -24
  326. package/dist/messages/block_translators/openai.js.map +1 -1
  327. package/dist/messages/block_translators/utils.cjs +2 -3
  328. package/dist/messages/block_translators/utils.cjs.map +1 -1
  329. package/dist/messages/block_translators/utils.js +2 -2
  330. package/dist/messages/block_translators/utils.js.map +1 -1
  331. package/dist/messages/block_translators/xai.cjs +94 -0
  332. package/dist/messages/block_translators/xai.cjs.map +1 -0
  333. package/dist/messages/block_translators/xai.js +94 -0
  334. package/dist/messages/block_translators/xai.js.map +1 -0
  335. package/dist/messages/chat.cjs +2 -3
  336. package/dist/messages/chat.cjs.map +1 -1
  337. package/dist/messages/chat.d.cts.map +1 -1
  338. package/dist/messages/chat.d.ts.map +1 -1
  339. package/dist/messages/chat.js +1 -2
  340. package/dist/messages/chat.js.map +1 -1
  341. package/dist/messages/content/base.d.cts.map +1 -1
  342. package/dist/messages/content/base.d.ts.map +1 -1
  343. package/dist/messages/content/data.cjs +2 -5
  344. package/dist/messages/content/data.cjs.map +1 -1
  345. package/dist/messages/content/data.d.cts +0 -1
  346. package/dist/messages/content/data.d.cts.map +1 -1
  347. package/dist/messages/content/data.d.ts +0 -1
  348. package/dist/messages/content/data.d.ts.map +1 -1
  349. package/dist/messages/content/data.js +2 -4
  350. package/dist/messages/content/data.js.map +1 -1
  351. package/dist/messages/content/index.cjs +5 -6
  352. package/dist/messages/content/index.cjs.map +1 -1
  353. package/dist/messages/content/index.d.cts +7 -3
  354. package/dist/messages/content/index.d.cts.map +1 -1
  355. package/dist/messages/content/index.d.ts +7 -3
  356. package/dist/messages/content/index.d.ts.map +1 -1
  357. package/dist/messages/content/index.js +7 -8
  358. package/dist/messages/content/index.js.map +1 -1
  359. package/dist/messages/content/multimodal.cjs +1 -2
  360. package/dist/messages/content/multimodal.cjs.map +1 -1
  361. package/dist/messages/content/multimodal.d.cts +4 -8
  362. package/dist/messages/content/multimodal.d.cts.map +1 -1
  363. package/dist/messages/content/multimodal.d.ts +4 -8
  364. package/dist/messages/content/multimodal.d.ts.map +1 -1
  365. package/dist/messages/content/multimodal.js +1 -1
  366. package/dist/messages/content/multimodal.js.map +1 -1
  367. package/dist/messages/content/tools.cjs +1 -2
  368. package/dist/messages/content/tools.cjs.map +1 -1
  369. package/dist/messages/content/tools.d.cts +1 -1
  370. package/dist/messages/content/tools.d.cts.map +1 -1
  371. package/dist/messages/content/tools.d.ts +1 -1
  372. package/dist/messages/content/tools.d.ts.map +1 -1
  373. package/dist/messages/content/tools.js +1 -1
  374. package/dist/messages/content/tools.js.map +1 -1
  375. package/dist/messages/format.cjs +1 -2
  376. package/dist/messages/format.cjs.map +1 -1
  377. package/dist/messages/format.d.cts.map +1 -1
  378. package/dist/messages/format.d.ts.map +1 -1
  379. package/dist/messages/format.js +1 -1
  380. package/dist/messages/format.js.map +1 -1
  381. package/dist/messages/function.cjs +2 -3
  382. package/dist/messages/function.cjs.map +1 -1
  383. package/dist/messages/function.d.cts.map +1 -1
  384. package/dist/messages/function.d.ts.map +1 -1
  385. package/dist/messages/function.js +1 -2
  386. package/dist/messages/function.js.map +1 -1
  387. package/dist/messages/human.cjs +2 -3
  388. package/dist/messages/human.cjs.map +1 -1
  389. package/dist/messages/human.d.cts.map +1 -1
  390. package/dist/messages/human.d.ts.map +1 -1
  391. package/dist/messages/human.js +1 -2
  392. package/dist/messages/human.js.map +1 -1
  393. package/dist/messages/index.cjs +25 -24
  394. package/dist/messages/index.d.cts +3 -3
  395. package/dist/messages/index.d.ts +3 -3
  396. package/dist/messages/index.js +7 -8
  397. package/dist/messages/message.cjs +1 -2
  398. package/dist/messages/message.cjs.map +1 -1
  399. package/dist/messages/message.d.cts +50 -27
  400. package/dist/messages/message.d.cts.map +1 -1
  401. package/dist/messages/message.d.ts +50 -27
  402. package/dist/messages/message.d.ts.map +1 -1
  403. package/dist/messages/message.js +1 -1
  404. package/dist/messages/message.js.map +1 -1
  405. package/dist/messages/metadata.cjs +3 -5
  406. package/dist/messages/metadata.cjs.map +1 -1
  407. package/dist/messages/metadata.d.cts.map +1 -1
  408. package/dist/messages/metadata.d.ts.map +1 -1
  409. package/dist/messages/metadata.js +2 -4
  410. package/dist/messages/metadata.js.map +1 -1
  411. package/dist/messages/modifier.cjs +2 -3
  412. package/dist/messages/modifier.cjs.map +1 -1
  413. package/dist/messages/modifier.d.cts.map +1 -1
  414. package/dist/messages/modifier.d.ts.map +1 -1
  415. package/dist/messages/modifier.js +1 -2
  416. package/dist/messages/modifier.js.map +1 -1
  417. package/dist/messages/system.cjs +10 -7
  418. package/dist/messages/system.cjs.map +1 -1
  419. package/dist/messages/system.d.cts.map +1 -1
  420. package/dist/messages/system.d.ts.map +1 -1
  421. package/dist/messages/system.js +9 -6
  422. package/dist/messages/system.js.map +1 -1
  423. package/dist/messages/tool.cjs +10 -11
  424. package/dist/messages/tool.cjs.map +1 -1
  425. package/dist/messages/tool.d.cts +1 -1
  426. package/dist/messages/tool.d.cts.map +1 -1
  427. package/dist/messages/tool.d.ts +1 -1
  428. package/dist/messages/tool.d.ts.map +1 -1
  429. package/dist/messages/tool.js +3 -5
  430. package/dist/messages/tool.js.map +1 -1
  431. package/dist/messages/transformers.cjs +18 -25
  432. package/dist/messages/transformers.cjs.map +1 -1
  433. package/dist/messages/transformers.d.cts.map +1 -1
  434. package/dist/messages/transformers.d.ts.map +1 -1
  435. package/dist/messages/transformers.js +9 -16
  436. package/dist/messages/transformers.js.map +1 -1
  437. package/dist/messages/utils.cjs +71 -32
  438. package/dist/messages/utils.cjs.map +1 -1
  439. package/dist/messages/utils.d.cts +16 -7
  440. package/dist/messages/utils.d.cts.map +1 -1
  441. package/dist/messages/utils.d.ts +16 -7
  442. package/dist/messages/utils.d.ts.map +1 -1
  443. package/dist/messages/utils.js +63 -24
  444. package/dist/messages/utils.js.map +1 -1
  445. package/dist/output_parsers/base.cjs +10 -11
  446. package/dist/output_parsers/base.cjs.map +1 -1
  447. package/dist/output_parsers/base.d.cts +0 -1
  448. package/dist/output_parsers/base.d.cts.map +1 -1
  449. package/dist/output_parsers/base.d.ts +0 -4
  450. package/dist/output_parsers/base.d.ts.map +1 -1
  451. package/dist/output_parsers/base.js +6 -7
  452. package/dist/output_parsers/base.js.map +1 -1
  453. package/dist/output_parsers/bytes.cjs +2 -3
  454. package/dist/output_parsers/bytes.cjs.map +1 -1
  455. package/dist/output_parsers/bytes.d.cts +0 -1
  456. package/dist/output_parsers/bytes.d.cts.map +1 -1
  457. package/dist/output_parsers/bytes.d.ts +0 -1
  458. package/dist/output_parsers/bytes.d.ts.map +1 -1
  459. package/dist/output_parsers/bytes.js +1 -2
  460. package/dist/output_parsers/bytes.js.map +1 -1
  461. package/dist/output_parsers/index.cjs +21 -19
  462. package/dist/output_parsers/index.cjs.map +1 -1
  463. package/dist/output_parsers/index.d.cts +2 -1
  464. package/dist/output_parsers/index.d.ts +2 -1
  465. package/dist/output_parsers/index.js +7 -7
  466. package/dist/output_parsers/index.js.map +1 -1
  467. package/dist/output_parsers/json.cjs +16 -7
  468. package/dist/output_parsers/json.cjs.map +1 -1
  469. package/dist/output_parsers/json.d.cts +9 -1
  470. package/dist/output_parsers/json.d.cts.map +1 -1
  471. package/dist/output_parsers/json.d.ts +9 -1
  472. package/dist/output_parsers/json.d.ts.map +1 -1
  473. package/dist/output_parsers/json.js +13 -4
  474. package/dist/output_parsers/json.js.map +1 -1
  475. package/dist/output_parsers/list.cjs +3 -4
  476. package/dist/output_parsers/list.cjs.map +1 -1
  477. package/dist/output_parsers/list.d.cts +0 -1
  478. package/dist/output_parsers/list.d.cts.map +1 -1
  479. package/dist/output_parsers/list.d.ts +0 -2
  480. package/dist/output_parsers/list.d.ts.map +1 -1
  481. package/dist/output_parsers/list.js +1 -2
  482. package/dist/output_parsers/list.js.map +1 -1
  483. package/dist/output_parsers/openai_functions/index.cjs +10 -11
  484. package/dist/output_parsers/openai_functions/index.js +3 -5
  485. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +13 -17
  486. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  487. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -2
  488. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  489. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -2
  490. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  491. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +7 -11
  492. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  493. package/dist/output_parsers/openai_tools/index.cjs +10 -11
  494. package/dist/output_parsers/openai_tools/index.d.cts +2 -2
  495. package/dist/output_parsers/openai_tools/index.d.ts +2 -2
  496. package/dist/output_parsers/openai_tools/index.js +3 -5
  497. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +29 -30
  498. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  499. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +10 -8
  500. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  501. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +10 -8
  502. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  503. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +23 -24
  504. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  505. package/dist/output_parsers/standard_schema.cjs +39 -0
  506. package/dist/output_parsers/standard_schema.cjs.map +1 -0
  507. package/dist/output_parsers/standard_schema.d.cts +16 -0
  508. package/dist/output_parsers/standard_schema.d.cts.map +1 -0
  509. package/dist/output_parsers/standard_schema.d.ts +16 -0
  510. package/dist/output_parsers/standard_schema.d.ts.map +1 -0
  511. package/dist/output_parsers/standard_schema.js +39 -0
  512. package/dist/output_parsers/standard_schema.js.map +1 -0
  513. package/dist/output_parsers/string.cjs +5 -3
  514. package/dist/output_parsers/string.cjs.map +1 -1
  515. package/dist/output_parsers/string.d.cts +0 -1
  516. package/dist/output_parsers/string.d.cts.map +1 -1
  517. package/dist/output_parsers/string.d.ts +0 -2
  518. package/dist/output_parsers/string.d.ts.map +1 -1
  519. package/dist/output_parsers/string.js +4 -2
  520. package/dist/output_parsers/string.js.map +1 -1
  521. package/dist/output_parsers/structured.cjs +14 -18
  522. package/dist/output_parsers/structured.cjs.map +1 -1
  523. package/dist/output_parsers/structured.d.cts.map +1 -1
  524. package/dist/output_parsers/structured.d.ts.map +1 -1
  525. package/dist/output_parsers/structured.js +9 -13
  526. package/dist/output_parsers/structured.js.map +1 -1
  527. package/dist/output_parsers/transform.cjs +8 -9
  528. package/dist/output_parsers/transform.cjs.map +1 -1
  529. package/dist/output_parsers/transform.d.cts +0 -1
  530. package/dist/output_parsers/transform.d.cts.map +1 -1
  531. package/dist/output_parsers/transform.d.ts +0 -1
  532. package/dist/output_parsers/transform.d.ts.map +1 -1
  533. package/dist/output_parsers/transform.js +1 -2
  534. package/dist/output_parsers/transform.js.map +1 -1
  535. package/dist/output_parsers/xml.cjs +11 -15
  536. package/dist/output_parsers/xml.cjs.map +1 -1
  537. package/dist/output_parsers/xml.d.cts +1 -1
  538. package/dist/output_parsers/xml.d.cts.map +1 -1
  539. package/dist/output_parsers/xml.d.ts +1 -1
  540. package/dist/output_parsers/xml.d.ts.map +1 -1
  541. package/dist/output_parsers/xml.js +7 -11
  542. package/dist/output_parsers/xml.js.map +1 -1
  543. package/dist/outputs.cjs +8 -10
  544. package/dist/outputs.cjs.map +1 -1
  545. package/dist/outputs.d.cts.map +1 -1
  546. package/dist/outputs.d.ts.map +1 -1
  547. package/dist/outputs.js +3 -5
  548. package/dist/outputs.js.map +1 -1
  549. package/dist/prompt_values.cjs +12 -13
  550. package/dist/prompt_values.cjs.map +1 -1
  551. package/dist/prompt_values.d.cts +1 -3
  552. package/dist/prompt_values.d.cts.map +1 -1
  553. package/dist/prompt_values.d.ts +1 -3
  554. package/dist/prompt_values.d.ts.map +1 -1
  555. package/dist/prompt_values.js +3 -5
  556. package/dist/prompt_values.js.map +1 -1
  557. package/dist/prompts/base.cjs +4 -6
  558. package/dist/prompts/base.cjs.map +1 -1
  559. package/dist/prompts/base.d.cts +0 -1
  560. package/dist/prompts/base.d.cts.map +1 -1
  561. package/dist/prompts/base.d.ts +0 -2
  562. package/dist/prompts/base.d.ts.map +1 -1
  563. package/dist/prompts/base.js +3 -5
  564. package/dist/prompts/base.js.map +1 -1
  565. package/dist/prompts/chat.cjs +37 -53
  566. package/dist/prompts/chat.cjs.map +1 -1
  567. package/dist/prompts/chat.d.cts +1 -0
  568. package/dist/prompts/chat.d.cts.map +1 -1
  569. package/dist/prompts/chat.d.ts +1 -1
  570. package/dist/prompts/chat.d.ts.map +1 -1
  571. package/dist/prompts/chat.js +23 -39
  572. package/dist/prompts/chat.js.map +1 -1
  573. package/dist/prompts/dict.cjs +3 -4
  574. package/dist/prompts/dict.cjs.map +1 -1
  575. package/dist/prompts/dict.d.cts.map +1 -1
  576. package/dist/prompts/dict.d.ts.map +1 -1
  577. package/dist/prompts/dict.js +1 -2
  578. package/dist/prompts/dict.js.map +1 -1
  579. package/dist/prompts/few_shot.cjs +14 -20
  580. package/dist/prompts/few_shot.cjs.map +1 -1
  581. package/dist/prompts/few_shot.d.cts.map +1 -1
  582. package/dist/prompts/few_shot.d.ts +0 -1
  583. package/dist/prompts/few_shot.d.ts.map +1 -1
  584. package/dist/prompts/few_shot.js +10 -16
  585. package/dist/prompts/few_shot.js.map +1 -1
  586. package/dist/prompts/image.cjs +7 -10
  587. package/dist/prompts/image.cjs.map +1 -1
  588. package/dist/prompts/image.d.cts +0 -1
  589. package/dist/prompts/image.d.cts.map +1 -1
  590. package/dist/prompts/image.d.ts +0 -2
  591. package/dist/prompts/image.d.ts.map +1 -1
  592. package/dist/prompts/image.js +4 -7
  593. package/dist/prompts/image.js.map +1 -1
  594. package/dist/prompts/index.cjs +19 -20
  595. package/dist/prompts/index.js +3 -5
  596. package/dist/prompts/pipeline.cjs +3 -4
  597. package/dist/prompts/pipeline.cjs.map +1 -1
  598. package/dist/prompts/pipeline.d.cts +0 -1
  599. package/dist/prompts/pipeline.d.cts.map +1 -1
  600. package/dist/prompts/pipeline.d.ts +0 -1
  601. package/dist/prompts/pipeline.d.ts.map +1 -1
  602. package/dist/prompts/pipeline.js +1 -2
  603. package/dist/prompts/pipeline.js.map +1 -1
  604. package/dist/prompts/prompt.cjs +12 -16
  605. package/dist/prompts/prompt.cjs.map +1 -1
  606. package/dist/prompts/prompt.d.cts +0 -1
  607. package/dist/prompts/prompt.d.cts.map +1 -1
  608. package/dist/prompts/prompt.d.ts +0 -1
  609. package/dist/prompts/prompt.d.ts.map +1 -1
  610. package/dist/prompts/prompt.js +10 -14
  611. package/dist/prompts/prompt.js.map +1 -1
  612. package/dist/prompts/serde.d.cts +0 -1
  613. package/dist/prompts/serde.d.cts.map +1 -1
  614. package/dist/prompts/serde.d.ts +0 -2
  615. package/dist/prompts/serde.d.ts.map +1 -1
  616. package/dist/prompts/string.cjs +4 -6
  617. package/dist/prompts/string.cjs.map +1 -1
  618. package/dist/prompts/string.d.cts +0 -1
  619. package/dist/prompts/string.d.cts.map +1 -1
  620. package/dist/prompts/string.d.ts +0 -1
  621. package/dist/prompts/string.d.ts.map +1 -1
  622. package/dist/prompts/string.js +2 -4
  623. package/dist/prompts/string.js.map +1 -1
  624. package/dist/prompts/structured.cjs +3 -4
  625. package/dist/prompts/structured.cjs.map +1 -1
  626. package/dist/prompts/structured.d.cts +0 -1
  627. package/dist/prompts/structured.d.cts.map +1 -1
  628. package/dist/prompts/structured.d.ts +0 -1
  629. package/dist/prompts/structured.d.ts.map +1 -1
  630. package/dist/prompts/structured.js +1 -2
  631. package/dist/prompts/structured.js.map +1 -1
  632. package/dist/prompts/template.cjs +12 -23
  633. package/dist/prompts/template.cjs.map +1 -1
  634. package/dist/prompts/template.d.cts +0 -2
  635. package/dist/prompts/template.d.cts.map +1 -1
  636. package/dist/prompts/template.d.ts +0 -2
  637. package/dist/prompts/template.d.ts.map +1 -1
  638. package/dist/prompts/template.js +8 -20
  639. package/dist/prompts/template.js.map +1 -1
  640. package/dist/retrievers/document_compressors/index.cjs +8 -10
  641. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  642. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  643. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  644. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  645. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  646. package/dist/retrievers/document_compressors/index.js +3 -5
  647. package/dist/retrievers/document_compressors/index.js.map +1 -1
  648. package/dist/retrievers/index.cjs +13 -15
  649. package/dist/retrievers/index.cjs.map +1 -1
  650. package/dist/retrievers/index.d.cts +0 -1
  651. package/dist/retrievers/index.d.cts.map +1 -1
  652. package/dist/retrievers/index.d.ts +0 -2
  653. package/dist/retrievers/index.d.ts.map +1 -1
  654. package/dist/retrievers/index.js +4 -7
  655. package/dist/retrievers/index.js.map +1 -1
  656. package/dist/runnables/base.cjs +73 -100
  657. package/dist/runnables/base.cjs.map +1 -1
  658. package/dist/runnables/base.d.cts +3 -4
  659. package/dist/runnables/base.d.cts.map +1 -1
  660. package/dist/runnables/base.d.ts +3 -4
  661. package/dist/runnables/base.d.ts.map +1 -1
  662. package/dist/runnables/base.js +55 -82
  663. package/dist/runnables/base.js.map +1 -1
  664. package/dist/runnables/branch.cjs +8 -13
  665. package/dist/runnables/branch.cjs.map +1 -1
  666. package/dist/runnables/branch.d.cts +0 -1
  667. package/dist/runnables/branch.d.cts.map +1 -1
  668. package/dist/runnables/branch.d.ts +0 -2
  669. package/dist/runnables/branch.d.ts.map +1 -1
  670. package/dist/runnables/branch.js +5 -10
  671. package/dist/runnables/branch.js.map +1 -1
  672. package/dist/runnables/config.cjs +5 -8
  673. package/dist/runnables/config.cjs.map +1 -1
  674. package/dist/runnables/config.d.cts.map +1 -1
  675. package/dist/runnables/config.d.ts.map +1 -1
  676. package/dist/runnables/config.js +3 -5
  677. package/dist/runnables/config.js.map +1 -1
  678. package/dist/runnables/graph.cjs +15 -18
  679. package/dist/runnables/graph.cjs.map +1 -1
  680. package/dist/runnables/graph.d.cts.map +1 -1
  681. package/dist/runnables/graph.d.ts.map +1 -1
  682. package/dist/runnables/graph.js +5 -9
  683. package/dist/runnables/graph.js.map +1 -1
  684. package/dist/runnables/graph_mermaid.cjs +8 -12
  685. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  686. package/dist/runnables/graph_mermaid.js +7 -11
  687. package/dist/runnables/graph_mermaid.js.map +1 -1
  688. package/dist/runnables/history.cjs +12 -17
  689. package/dist/runnables/history.cjs.map +1 -1
  690. package/dist/runnables/history.d.cts +2 -4
  691. package/dist/runnables/history.d.cts.map +1 -1
  692. package/dist/runnables/history.d.ts +2 -6
  693. package/dist/runnables/history.d.ts.map +1 -1
  694. package/dist/runnables/history.js +7 -12
  695. package/dist/runnables/history.js.map +1 -1
  696. package/dist/runnables/index.cjs +16 -17
  697. package/dist/runnables/index.js +3 -5
  698. package/dist/runnables/iter.cjs +21 -5
  699. package/dist/runnables/iter.cjs.map +1 -1
  700. package/dist/runnables/iter.js +17 -3
  701. package/dist/runnables/iter.js.map +1 -1
  702. package/dist/runnables/passthrough.cjs +5 -6
  703. package/dist/runnables/passthrough.cjs.map +1 -1
  704. package/dist/runnables/passthrough.d.cts.map +1 -1
  705. package/dist/runnables/passthrough.d.ts +0 -1
  706. package/dist/runnables/passthrough.d.ts.map +1 -1
  707. package/dist/runnables/passthrough.js +2 -3
  708. package/dist/runnables/passthrough.js.map +1 -1
  709. package/dist/runnables/router.cjs +5 -7
  710. package/dist/runnables/router.cjs.map +1 -1
  711. package/dist/runnables/router.d.cts.map +1 -1
  712. package/dist/runnables/router.d.ts +0 -1
  713. package/dist/runnables/router.d.ts.map +1 -1
  714. package/dist/runnables/router.js +3 -5
  715. package/dist/runnables/router.js.map +1 -1
  716. package/dist/runnables/types.d.cts +1 -2
  717. package/dist/runnables/types.d.cts.map +1 -1
  718. package/dist/runnables/types.d.ts +1 -2
  719. package/dist/runnables/types.d.ts.map +1 -1
  720. package/dist/runnables/utils.cjs +2 -4
  721. package/dist/runnables/utils.cjs.map +1 -1
  722. package/dist/runnables/utils.js +2 -3
  723. package/dist/runnables/utils.js.map +1 -1
  724. package/dist/runnables/wrappers.cjs +2 -3
  725. package/dist/runnables/wrappers.cjs.map +1 -1
  726. package/dist/runnables/wrappers.js +1 -2
  727. package/dist/runnables/wrappers.js.map +1 -1
  728. package/dist/singletons/async_local_storage/context.cjs +6 -8
  729. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  730. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  731. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  732. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  733. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  734. package/dist/singletons/async_local_storage/context.js +3 -5
  735. package/dist/singletons/async_local_storage/context.js.map +1 -1
  736. package/dist/singletons/async_local_storage/globals.cjs +1 -2
  737. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  738. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  739. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  740. package/dist/singletons/async_local_storage/globals.js +1 -1
  741. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  742. package/dist/singletons/async_local_storage/index.cjs +8 -14
  743. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  744. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  745. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  746. package/dist/singletons/async_local_storage/index.js +4 -10
  747. package/dist/singletons/async_local_storage/index.js.map +1 -1
  748. package/dist/singletons/callbacks.cjs +7 -8
  749. package/dist/singletons/callbacks.cjs.map +1 -1
  750. package/dist/singletons/callbacks.d.cts +0 -1
  751. package/dist/singletons/callbacks.d.cts.map +1 -1
  752. package/dist/singletons/callbacks.d.ts +0 -1
  753. package/dist/singletons/callbacks.d.ts.map +1 -1
  754. package/dist/singletons/callbacks.js +2 -4
  755. package/dist/singletons/callbacks.js.map +1 -1
  756. package/dist/singletons/index.cjs +11 -12
  757. package/dist/singletons/index.js +3 -5
  758. package/dist/singletons/tracer.cjs +5 -9
  759. package/dist/singletons/tracer.cjs.map +1 -1
  760. package/dist/singletons/tracer.js +2 -6
  761. package/dist/singletons/tracer.js.map +1 -1
  762. package/dist/stores.cjs +10 -11
  763. package/dist/stores.cjs.map +1 -1
  764. package/dist/stores.d.cts +0 -1
  765. package/dist/stores.d.cts.map +1 -1
  766. package/dist/stores.d.ts +0 -1
  767. package/dist/stores.d.ts.map +1 -1
  768. package/dist/stores.js +3 -5
  769. package/dist/stores.js.map +1 -1
  770. package/dist/structured_query/base.cjs +6 -7
  771. package/dist/structured_query/base.cjs.map +1 -1
  772. package/dist/structured_query/base.d.cts +0 -1
  773. package/dist/structured_query/base.d.cts.map +1 -1
  774. package/dist/structured_query/base.d.ts +0 -1
  775. package/dist/structured_query/base.d.ts.map +1 -1
  776. package/dist/structured_query/base.js +4 -5
  777. package/dist/structured_query/base.js.map +1 -1
  778. package/dist/structured_query/functional.cjs +7 -8
  779. package/dist/structured_query/functional.cjs.map +1 -1
  780. package/dist/structured_query/functional.d.cts +0 -1
  781. package/dist/structured_query/functional.d.cts.map +1 -1
  782. package/dist/structured_query/functional.d.ts +0 -1
  783. package/dist/structured_query/functional.d.ts.map +1 -1
  784. package/dist/structured_query/functional.js +4 -5
  785. package/dist/structured_query/functional.js.map +1 -1
  786. package/dist/structured_query/index.cjs +13 -14
  787. package/dist/structured_query/index.js +3 -5
  788. package/dist/structured_query/ir.cjs +1 -2
  789. package/dist/structured_query/ir.cjs.map +1 -1
  790. package/dist/structured_query/ir.d.cts +0 -1
  791. package/dist/structured_query/ir.d.cts.map +1 -1
  792. package/dist/structured_query/ir.d.ts +0 -1
  793. package/dist/structured_query/ir.d.ts.map +1 -1
  794. package/dist/structured_query/ir.js +1 -1
  795. package/dist/structured_query/ir.js.map +1 -1
  796. package/dist/structured_query/utils.cjs +1 -2
  797. package/dist/structured_query/utils.cjs.map +1 -1
  798. package/dist/structured_query/utils.d.cts.map +1 -1
  799. package/dist/structured_query/utils.d.ts.map +1 -1
  800. package/dist/structured_query/utils.js +1 -1
  801. package/dist/structured_query/utils.js.map +1 -1
  802. package/dist/testing/fake_model_builder.cjs +225 -0
  803. package/dist/testing/fake_model_builder.cjs.map +1 -0
  804. package/dist/testing/fake_model_builder.d.cts +138 -0
  805. package/dist/testing/fake_model_builder.d.cts.map +1 -0
  806. package/dist/testing/fake_model_builder.d.ts +138 -0
  807. package/dist/testing/fake_model_builder.d.ts.map +1 -0
  808. package/dist/testing/fake_model_builder.js +224 -0
  809. package/dist/testing/fake_model_builder.js.map +1 -0
  810. package/dist/testing/index.cjs +42 -0
  811. package/dist/testing/index.cjs.map +1 -0
  812. package/dist/testing/index.d.cts +3 -0
  813. package/dist/testing/index.d.ts +3 -0
  814. package/dist/testing/index.js +23 -0
  815. package/dist/testing/index.js.map +1 -0
  816. package/dist/testing/matchers.cjs +212 -0
  817. package/dist/testing/matchers.cjs.map +1 -0
  818. package/dist/testing/matchers.d.cts +94 -0
  819. package/dist/testing/matchers.d.cts.map +1 -0
  820. package/dist/testing/matchers.d.ts +94 -0
  821. package/dist/testing/matchers.d.ts.map +1 -0
  822. package/dist/testing/matchers.js +202 -0
  823. package/dist/testing/matchers.js.map +1 -0
  824. package/dist/tools/index.cjs +51 -36
  825. package/dist/tools/index.cjs.map +1 -1
  826. package/dist/tools/index.d.cts +31 -24
  827. package/dist/tools/index.d.cts.map +1 -1
  828. package/dist/tools/index.d.ts +31 -26
  829. package/dist/tools/index.d.ts.map +1 -1
  830. package/dist/tools/index.js +32 -18
  831. package/dist/tools/index.js.map +1 -1
  832. package/dist/tools/types.cjs +3 -4
  833. package/dist/tools/types.cjs.map +1 -1
  834. package/dist/tools/types.d.cts +26 -11
  835. package/dist/tools/types.d.cts.map +1 -1
  836. package/dist/tools/types.d.ts +26 -13
  837. package/dist/tools/types.d.ts.map +1 -1
  838. package/dist/tools/types.js +1 -2
  839. package/dist/tools/types.js.map +1 -1
  840. package/dist/tools/utils.cjs +1 -2
  841. package/dist/tools/utils.cjs.map +1 -1
  842. package/dist/tools/utils.d.cts +0 -1
  843. package/dist/tools/utils.d.cts.map +1 -1
  844. package/dist/tools/utils.d.ts +0 -1
  845. package/dist/tools/utils.d.ts.map +1 -1
  846. package/dist/tools/utils.js +1 -1
  847. package/dist/tools/utils.js.map +1 -1
  848. package/dist/tracers/base.cjs +20 -18
  849. package/dist/tracers/base.cjs.map +1 -1
  850. package/dist/tracers/base.d.cts +92 -98
  851. package/dist/tracers/base.d.cts.map +1 -1
  852. package/dist/tracers/base.d.ts +92 -98
  853. package/dist/tracers/base.d.ts.map +1 -1
  854. package/dist/tracers/base.js +11 -10
  855. package/dist/tracers/base.js.map +1 -1
  856. package/dist/tracers/console.cjs +16 -17
  857. package/dist/tracers/console.cjs.map +1 -1
  858. package/dist/tracers/console.d.cts +0 -1
  859. package/dist/tracers/console.d.cts.map +1 -1
  860. package/dist/tracers/console.d.ts +0 -1
  861. package/dist/tracers/console.d.ts.map +1 -1
  862. package/dist/tracers/console.js +7 -10
  863. package/dist/tracers/console.js.map +1 -1
  864. package/dist/tracers/event_stream.cjs +24 -10
  865. package/dist/tracers/event_stream.cjs.map +1 -1
  866. package/dist/tracers/event_stream.d.cts +7 -6
  867. package/dist/tracers/event_stream.d.cts.map +1 -1
  868. package/dist/tracers/event_stream.d.ts +7 -7
  869. package/dist/tracers/event_stream.d.ts.map +1 -1
  870. package/dist/tracers/event_stream.js +20 -6
  871. package/dist/tracers/event_stream.js.map +1 -1
  872. package/dist/tracers/log_stream.cjs +15 -16
  873. package/dist/tracers/log_stream.cjs.map +1 -1
  874. package/dist/tracers/log_stream.d.cts +14 -31
  875. package/dist/tracers/log_stream.d.cts.map +1 -1
  876. package/dist/tracers/log_stream.d.ts +14 -31
  877. package/dist/tracers/log_stream.d.ts.map +1 -1
  878. package/dist/tracers/log_stream.js +5 -7
  879. package/dist/tracers/log_stream.js.map +1 -1
  880. package/dist/tracers/root_listener.cjs +2 -3
  881. package/dist/tracers/root_listener.cjs.map +1 -1
  882. package/dist/tracers/root_listener.js +1 -2
  883. package/dist/tracers/root_listener.js.map +1 -1
  884. package/dist/tracers/run_collector.cjs +10 -11
  885. package/dist/tracers/run_collector.cjs.map +1 -1
  886. package/dist/tracers/run_collector.d.cts +0 -1
  887. package/dist/tracers/run_collector.d.cts.map +1 -1
  888. package/dist/tracers/run_collector.d.ts +0 -1
  889. package/dist/tracers/run_collector.d.ts.map +1 -1
  890. package/dist/tracers/run_collector.js +3 -5
  891. package/dist/tracers/run_collector.js.map +1 -1
  892. package/dist/tracers/tracer_langchain.cjs +43 -19
  893. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  894. package/dist/tracers/tracer_langchain.d.cts +2 -1
  895. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  896. package/dist/tracers/tracer_langchain.d.ts +2 -1
  897. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  898. package/dist/tracers/tracer_langchain.js +33 -10
  899. package/dist/tracers/tracer_langchain.js.map +1 -1
  900. package/dist/types/_internal.d.cts.map +1 -1
  901. package/dist/types/_internal.d.ts.map +1 -1
  902. package/dist/types/stream.cjs +8 -8
  903. package/dist/types/stream.js +3 -2
  904. package/dist/types/type-utils.d.cts +2 -1
  905. package/dist/types/type-utils.d.cts.map +1 -1
  906. package/dist/types/type-utils.d.ts +2 -1
  907. package/dist/types/type-utils.d.ts.map +1 -1
  908. package/dist/utils/async_caller.cjs +29 -22
  909. package/dist/utils/async_caller.cjs.map +1 -1
  910. package/dist/utils/async_caller.d.cts.map +1 -1
  911. package/dist/utils/async_caller.d.ts.map +1 -1
  912. package/dist/utils/async_caller.js +19 -14
  913. package/dist/utils/async_caller.js.map +1 -1
  914. package/dist/utils/callbacks.cjs +4 -6
  915. package/dist/utils/callbacks.cjs.map +1 -1
  916. package/dist/utils/callbacks.js +3 -5
  917. package/dist/utils/callbacks.js.map +1 -1
  918. package/dist/utils/chunk_array.cjs +9 -12
  919. package/dist/utils/chunk_array.cjs.map +1 -1
  920. package/dist/utils/chunk_array.d.cts.map +1 -1
  921. package/dist/utils/chunk_array.d.ts.map +1 -1
  922. package/dist/utils/chunk_array.js +4 -7
  923. package/dist/utils/chunk_array.js.map +1 -1
  924. package/dist/utils/context.cjs +104 -0
  925. package/dist/utils/context.cjs.map +1 -0
  926. package/dist/utils/context.d.cts +44 -0
  927. package/dist/utils/context.d.cts.map +1 -0
  928. package/dist/utils/context.d.ts +44 -0
  929. package/dist/utils/context.d.ts.map +1 -0
  930. package/dist/utils/context.js +98 -0
  931. package/dist/utils/context.js.map +1 -0
  932. package/dist/utils/env.cjs +14 -19
  933. package/dist/utils/env.cjs.map +1 -1
  934. package/dist/utils/env.d.cts.map +1 -1
  935. package/dist/utils/env.d.ts.map +1 -1
  936. package/dist/utils/env.js +9 -14
  937. package/dist/utils/env.js.map +1 -1
  938. package/dist/utils/event_source_parse.cjs +16 -17
  939. package/dist/utils/event_source_parse.cjs.map +1 -1
  940. package/dist/utils/event_source_parse.d.cts +2 -2
  941. package/dist/utils/event_source_parse.d.cts.map +1 -1
  942. package/dist/utils/event_source_parse.d.ts +2 -2
  943. package/dist/utils/event_source_parse.d.ts.map +1 -1
  944. package/dist/utils/event_source_parse.js +9 -11
  945. package/dist/utils/event_source_parse.js.map +1 -1
  946. package/dist/utils/fast-json-patch/index.cjs +5 -13
  947. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  948. package/dist/utils/fast-json-patch/index.js +6 -13
  949. package/dist/utils/fast-json-patch/index.js.map +1 -1
  950. package/dist/utils/fast-json-patch/src/core.cjs +16 -28
  951. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  952. package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
  953. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  954. package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
  955. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  956. package/dist/utils/fast-json-patch/src/core.js +10 -22
  957. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  958. package/dist/utils/fast-json-patch/src/duplex.cjs +8 -7
  959. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  960. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
  961. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  962. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
  963. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  964. package/dist/utils/fast-json-patch/src/duplex.js +6 -5
  965. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  966. package/dist/utils/fast-json-patch/src/helpers.cjs +5 -6
  967. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  968. package/dist/utils/fast-json-patch/src/helpers.js +5 -5
  969. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  970. package/dist/utils/format.cjs +8 -8
  971. package/dist/utils/format.d.cts.map +1 -1
  972. package/dist/utils/format.d.ts.map +1 -1
  973. package/dist/utils/format.js +3 -2
  974. package/dist/utils/function_calling.cjs +11 -12
  975. package/dist/utils/function_calling.cjs.map +1 -1
  976. package/dist/utils/function_calling.d.cts +0 -1
  977. package/dist/utils/function_calling.d.cts.map +1 -1
  978. package/dist/utils/function_calling.d.ts +0 -1
  979. package/dist/utils/function_calling.d.ts.map +1 -1
  980. package/dist/utils/function_calling.js +3 -5
  981. package/dist/utils/function_calling.js.map +1 -1
  982. package/dist/utils/hash.cjs +10 -11
  983. package/dist/utils/hash.d.cts +0 -1
  984. package/dist/utils/hash.d.cts.map +1 -1
  985. package/dist/utils/hash.d.ts +0 -1
  986. package/dist/utils/hash.d.ts.map +1 -1
  987. package/dist/utils/hash.js +3 -5
  988. package/dist/utils/is-network-error/index.cjs +3 -5
  989. package/dist/utils/is-network-error/index.cjs.map +1 -1
  990. package/dist/utils/is-network-error/index.js +3 -4
  991. package/dist/utils/is-network-error/index.js.map +1 -1
  992. package/dist/utils/js-sha256/hash.cjs +42 -37
  993. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  994. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  995. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  996. package/dist/utils/js-sha256/hash.js +42 -36
  997. package/dist/utils/js-sha256/hash.js.map +1 -1
  998. package/dist/utils/json.cjs +1 -2
  999. package/dist/utils/json.cjs.map +1 -1
  1000. package/dist/utils/json.d.cts.map +1 -1
  1001. package/dist/utils/json.d.ts.map +1 -1
  1002. package/dist/utils/json.js +1 -1
  1003. package/dist/utils/json.js.map +1 -1
  1004. package/dist/utils/json_patch.cjs +12 -13
  1005. package/dist/utils/json_patch.js +3 -5
  1006. package/dist/utils/json_schema.cjs +60 -37
  1007. package/dist/utils/json_schema.cjs.map +1 -1
  1008. package/dist/utils/json_schema.d.cts +4 -2
  1009. package/dist/utils/json_schema.d.cts.map +1 -1
  1010. package/dist/utils/json_schema.d.ts +4 -3
  1011. package/dist/utils/json_schema.d.ts.map +1 -1
  1012. package/dist/utils/json_schema.js +36 -14
  1013. package/dist/utils/json_schema.js.map +1 -1
  1014. package/dist/utils/math.cjs +16 -18
  1015. package/dist/utils/math.cjs.map +1 -1
  1016. package/dist/utils/math.d.cts.map +1 -1
  1017. package/dist/utils/math.d.ts.map +1 -1
  1018. package/dist/utils/math.js +9 -12
  1019. package/dist/utils/math.js.map +1 -1
  1020. package/dist/utils/ml-distance/distances.cjs +1 -2
  1021. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  1022. package/dist/utils/ml-distance/distances.js +1 -1
  1023. package/dist/utils/ml-distance/distances.js.map +1 -1
  1024. package/dist/utils/ml-distance/similarities.cjs +1 -2
  1025. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  1026. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  1027. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  1028. package/dist/utils/ml-distance/similarities.js +1 -1
  1029. package/dist/utils/ml-distance/similarities.js.map +1 -1
  1030. package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
  1031. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1032. package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
  1033. package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
  1034. package/dist/utils/namespace.cjs +62 -0
  1035. package/dist/utils/namespace.cjs.map +1 -0
  1036. package/dist/utils/namespace.d.cts +73 -0
  1037. package/dist/utils/namespace.d.cts.map +1 -0
  1038. package/dist/utils/namespace.d.ts +73 -0
  1039. package/dist/utils/namespace.d.ts.map +1 -0
  1040. package/dist/utils/namespace.js +62 -0
  1041. package/dist/utils/namespace.js.map +1 -0
  1042. package/dist/utils/p-retry/index.cjs +4 -5
  1043. package/dist/utils/p-retry/index.cjs.map +1 -1
  1044. package/dist/utils/p-retry/index.js +3 -4
  1045. package/dist/utils/p-retry/index.js.map +1 -1
  1046. package/dist/utils/sax-js/sax.cjs +29 -36
  1047. package/dist/utils/sax-js/sax.cjs.map +1 -1
  1048. package/dist/utils/sax-js/sax.js +29 -35
  1049. package/dist/utils/sax-js/sax.js.map +1 -1
  1050. package/dist/utils/signal.cjs +3 -4
  1051. package/dist/utils/signal.cjs.map +1 -1
  1052. package/dist/utils/signal.d.cts.map +1 -1
  1053. package/dist/utils/signal.d.ts.map +1 -1
  1054. package/dist/utils/signal.js +3 -3
  1055. package/dist/utils/signal.js.map +1 -1
  1056. package/dist/utils/ssrf.cjs +267 -0
  1057. package/dist/utils/ssrf.cjs.map +1 -0
  1058. package/dist/utils/ssrf.d.cts +52 -0
  1059. package/dist/utils/ssrf.d.cts.map +1 -0
  1060. package/dist/utils/ssrf.d.ts +52 -0
  1061. package/dist/utils/ssrf.d.ts.map +1 -0
  1062. package/dist/utils/ssrf.js +256 -0
  1063. package/dist/utils/ssrf.js.map +1 -0
  1064. package/dist/utils/standard_schema.cjs +41 -0
  1065. package/dist/utils/standard_schema.cjs.map +1 -0
  1066. package/dist/utils/standard_schema.d.cts +27 -0
  1067. package/dist/utils/standard_schema.d.cts.map +1 -0
  1068. package/dist/utils/standard_schema.d.ts +27 -0
  1069. package/dist/utils/standard_schema.d.ts.map +1 -0
  1070. package/dist/utils/standard_schema.js +33 -0
  1071. package/dist/utils/standard_schema.js.map +1 -0
  1072. package/dist/utils/stream.cjs +15 -16
  1073. package/dist/utils/stream.cjs.map +1 -1
  1074. package/dist/utils/stream.d.cts +2 -2
  1075. package/dist/utils/stream.d.cts.map +1 -1
  1076. package/dist/utils/stream.d.ts +2 -2
  1077. package/dist/utils/stream.d.ts.map +1 -1
  1078. package/dist/utils/stream.js +5 -7
  1079. package/dist/utils/stream.js.map +1 -1
  1080. package/dist/utils/testing/chat_models.cjs +10 -13
  1081. package/dist/utils/testing/chat_models.cjs.map +1 -1
  1082. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  1083. package/dist/utils/testing/chat_models.d.ts +0 -1
  1084. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  1085. package/dist/utils/testing/chat_models.js +4 -7
  1086. package/dist/utils/testing/chat_models.js.map +1 -1
  1087. package/dist/utils/testing/embeddings.cjs +4 -7
  1088. package/dist/utils/testing/embeddings.cjs.map +1 -1
  1089. package/dist/utils/testing/embeddings.d.cts +0 -1
  1090. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  1091. package/dist/utils/testing/embeddings.d.ts +0 -1
  1092. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  1093. package/dist/utils/testing/embeddings.js +3 -6
  1094. package/dist/utils/testing/embeddings.js.map +1 -1
  1095. package/dist/utils/testing/index.cjs +19 -20
  1096. package/dist/utils/testing/index.js +3 -5
  1097. package/dist/utils/testing/llms.cjs +2 -3
  1098. package/dist/utils/testing/llms.cjs.map +1 -1
  1099. package/dist/utils/testing/llms.d.cts.map +1 -1
  1100. package/dist/utils/testing/llms.d.ts.map +1 -1
  1101. package/dist/utils/testing/llms.js +1 -2
  1102. package/dist/utils/testing/llms.js.map +1 -1
  1103. package/dist/utils/testing/message_history.cjs +6 -7
  1104. package/dist/utils/testing/message_history.cjs.map +1 -1
  1105. package/dist/utils/testing/message_history.d.cts.map +1 -1
  1106. package/dist/utils/testing/message_history.d.ts +0 -1
  1107. package/dist/utils/testing/message_history.d.ts.map +1 -1
  1108. package/dist/utils/testing/message_history.js +2 -3
  1109. package/dist/utils/testing/message_history.js.map +1 -1
  1110. package/dist/utils/testing/output_parsers.cjs +2 -3
  1111. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  1112. package/dist/utils/testing/output_parsers.d.cts +0 -1
  1113. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  1114. package/dist/utils/testing/output_parsers.d.ts +0 -1
  1115. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  1116. package/dist/utils/testing/output_parsers.js +1 -2
  1117. package/dist/utils/testing/output_parsers.js.map +1 -1
  1118. package/dist/utils/testing/retrievers.cjs +3 -4
  1119. package/dist/utils/testing/retrievers.cjs.map +1 -1
  1120. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  1121. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  1122. package/dist/utils/testing/retrievers.js +2 -3
  1123. package/dist/utils/testing/retrievers.js.map +1 -1
  1124. package/dist/utils/testing/runnables.cjs +2 -3
  1125. package/dist/utils/testing/runnables.cjs.map +1 -1
  1126. package/dist/utils/testing/runnables.d.cts.map +1 -1
  1127. package/dist/utils/testing/runnables.d.ts.map +1 -1
  1128. package/dist/utils/testing/runnables.js +1 -2
  1129. package/dist/utils/testing/runnables.js.map +1 -1
  1130. package/dist/utils/testing/tools.cjs +2 -3
  1131. package/dist/utils/testing/tools.cjs.map +1 -1
  1132. package/dist/utils/testing/tools.d.cts.map +1 -1
  1133. package/dist/utils/testing/tools.d.ts.map +1 -1
  1134. package/dist/utils/testing/tools.js +1 -2
  1135. package/dist/utils/testing/tools.js.map +1 -1
  1136. package/dist/utils/testing/tracers.cjs +2 -3
  1137. package/dist/utils/testing/tracers.cjs.map +1 -1
  1138. package/dist/utils/testing/tracers.d.cts.map +1 -1
  1139. package/dist/utils/testing/tracers.d.ts.map +1 -1
  1140. package/dist/utils/testing/tracers.js +1 -2
  1141. package/dist/utils/testing/tracers.js.map +1 -1
  1142. package/dist/utils/testing/vectorstores.cjs +10 -15
  1143. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  1144. package/dist/utils/testing/vectorstores.d.cts +0 -1
  1145. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  1146. package/dist/utils/testing/vectorstores.d.ts +0 -1
  1147. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  1148. package/dist/utils/testing/vectorstores.js +8 -13
  1149. package/dist/utils/testing/vectorstores.js.map +1 -1
  1150. package/dist/utils/tiktoken.cjs +11 -12
  1151. package/dist/utils/tiktoken.cjs.map +1 -1
  1152. package/dist/utils/tiktoken.d.cts.map +1 -1
  1153. package/dist/utils/tiktoken.d.ts.map +1 -1
  1154. package/dist/utils/tiktoken.js +3 -5
  1155. package/dist/utils/tiktoken.js.map +1 -1
  1156. package/dist/utils/types/index.cjs +10 -11
  1157. package/dist/utils/types/index.cjs.map +1 -1
  1158. package/dist/utils/types/index.d.cts +2 -3
  1159. package/dist/utils/types/index.d.cts.map +1 -1
  1160. package/dist/utils/types/index.d.ts +2 -3
  1161. package/dist/utils/types/index.d.ts.map +1 -1
  1162. package/dist/utils/types/index.js +3 -5
  1163. package/dist/utils/types/index.js.map +1 -1
  1164. package/dist/utils/types/zod.cjs +20 -36
  1165. package/dist/utils/types/zod.cjs.map +1 -1
  1166. package/dist/utils/types/zod.d.cts +144 -33
  1167. package/dist/utils/types/zod.d.cts.map +1 -1
  1168. package/dist/utils/types/zod.d.ts +144 -33
  1169. package/dist/utils/types/zod.d.ts.map +1 -1
  1170. package/dist/utils/types/zod.js +18 -34
  1171. package/dist/utils/types/zod.js.map +1 -1
  1172. package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
  1173. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  1174. package/dist/utils/zod-to-json-schema/Options.d.cts +1 -0
  1175. package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
  1176. package/dist/utils/zod-to-json-schema/Options.js +1 -1
  1177. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  1178. package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
  1179. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  1180. package/dist/utils/zod-to-json-schema/Refs.d.cts +1 -0
  1181. package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
  1182. package/dist/utils/zod-to-json-schema/Refs.js +1 -2
  1183. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  1184. package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
  1185. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  1186. package/dist/utils/zod-to-json-schema/errorMessages.d.cts +0 -1
  1187. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  1188. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
  1189. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  1190. package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
  1191. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
  1192. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
  1193. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  1194. package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
  1195. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
  1196. package/dist/utils/zod-to-json-schema/index.cjs +37 -37
  1197. package/dist/utils/zod-to-json-schema/index.d.cts +24 -0
  1198. package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
  1199. package/dist/utils/zod-to-json-schema/index.js +38 -37
  1200. package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
  1201. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  1202. package/dist/utils/zod-to-json-schema/parseDef.d.cts +1 -0
  1203. package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
  1204. package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
  1205. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  1206. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  1207. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  1208. package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
  1209. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  1210. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  1211. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
  1212. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  1213. package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
  1214. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  1215. package/dist/utils/zod-to-json-schema/parsers/array.cjs +5 -6
  1216. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  1217. package/dist/utils/zod-to-json-schema/parsers/array.d.cts +0 -1
  1218. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  1219. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -3
  1220. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  1221. package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
  1222. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  1223. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
  1224. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  1225. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +0 -1
  1226. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  1227. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +0 -3
  1228. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  1229. package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
  1230. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  1231. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
  1232. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  1233. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  1234. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  1235. package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -1
  1236. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
  1237. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +2 -3
  1238. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  1239. package/dist/utils/zod-to-json-schema/parsers/branded.d.cts +1 -0
  1240. package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
  1241. package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
  1242. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  1243. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
  1244. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  1245. package/dist/utils/zod-to-json-schema/parsers/catch.d.cts +1 -0
  1246. package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
  1247. package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
  1248. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  1249. package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
  1250. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  1251. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -2
  1252. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  1253. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +0 -4
  1254. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  1255. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
  1256. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  1257. package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
  1258. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  1259. package/dist/utils/zod-to-json-schema/parsers/default.d.cts +1 -0
  1260. package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
  1261. package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
  1262. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  1263. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
  1264. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  1265. package/dist/utils/zod-to-json-schema/parsers/effects.d.cts +1 -0
  1266. package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
  1267. package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
  1268. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  1269. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
  1270. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  1271. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  1272. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
  1273. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  1274. package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -1
  1275. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
  1276. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +3 -4
  1277. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  1278. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +0 -1
  1279. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  1280. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -3
  1281. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  1282. package/dist/utils/zod-to-json-schema/parsers/intersection.js +2 -3
  1283. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  1284. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
  1285. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  1286. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
  1287. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1288. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -3
  1289. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1290. package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -1
  1291. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
  1292. package/dist/utils/zod-to-json-schema/parsers/map.cjs +21 -24
  1293. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  1294. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -2
  1295. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1296. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +0 -4
  1297. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1298. package/dist/utils/zod-to-json-schema/parsers/map.js +18 -21
  1299. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  1300. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +3 -5
  1301. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  1302. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1303. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
  1304. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1305. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +3 -4
  1306. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  1307. package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
  1308. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  1309. package/dist/utils/zod-to-json-schema/parsers/never.d.cts +0 -1
  1310. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1311. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +0 -2
  1312. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1313. package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
  1314. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  1315. package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
  1316. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  1317. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1318. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
  1319. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1320. package/dist/utils/zod-to-json-schema/parsers/null.js +1 -1
  1321. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
  1322. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +8 -9
  1323. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  1324. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +0 -1
  1325. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1326. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +0 -3
  1327. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1328. package/dist/utils/zod-to-json-schema/parsers/nullable.js +6 -7
  1329. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  1330. package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
  1331. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  1332. package/dist/utils/zod-to-json-schema/parsers/number.d.cts +0 -1
  1333. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1334. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -3
  1335. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1336. package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
  1337. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  1338. package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
  1339. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  1340. package/dist/utils/zod-to-json-schema/parsers/object.d.cts +0 -1
  1341. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1342. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -3
  1343. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1344. package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
  1345. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  1346. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
  1347. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  1348. package/dist/utils/zod-to-json-schema/parsers/optional.d.cts +1 -0
  1349. package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
  1350. package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
  1351. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  1352. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +4 -6
  1353. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  1354. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +1 -0
  1355. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
  1356. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +3 -5
  1357. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  1358. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
  1359. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  1360. package/dist/utils/zod-to-json-schema/parsers/promise.d.cts +1 -0
  1361. package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
  1362. package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
  1363. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  1364. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
  1365. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  1366. package/dist/utils/zod-to-json-schema/parsers/readonly.d.cts +1 -0
  1367. package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
  1368. package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
  1369. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  1370. package/dist/utils/zod-to-json-schema/parsers/record.cjs +9 -10
  1371. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  1372. package/dist/utils/zod-to-json-schema/parsers/record.d.cts +0 -1
  1373. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1374. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +0 -3
  1375. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1376. package/dist/utils/zod-to-json-schema/parsers/record.js +3 -4
  1377. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  1378. package/dist/utils/zod-to-json-schema/parsers/set.cjs +7 -9
  1379. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  1380. package/dist/utils/zod-to-json-schema/parsers/set.d.cts +0 -1
  1381. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1382. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -3
  1383. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1384. package/dist/utils/zod-to-json-schema/parsers/set.js +5 -7
  1385. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  1386. package/dist/utils/zod-to-json-schema/parsers/string.cjs +2 -3
  1387. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  1388. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -2
  1389. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1390. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -4
  1391. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1392. package/dist/utils/zod-to-json-schema/parsers/string.js +1 -2
  1393. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  1394. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
  1395. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  1396. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +0 -1
  1397. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1398. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -3
  1399. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1400. package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
  1401. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  1402. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
  1403. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  1404. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +0 -1
  1405. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1406. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +0 -2
  1407. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1408. package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
  1409. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  1410. package/dist/utils/zod-to-json-schema/parsers/union.cjs +5 -9
  1411. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  1412. package/dist/utils/zod-to-json-schema/parsers/union.d.cts +1 -2
  1413. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1414. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +0 -3
  1415. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1416. package/dist/utils/zod-to-json-schema/parsers/union.js +4 -8
  1417. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  1418. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
  1419. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  1420. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +0 -1
  1421. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1422. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +0 -2
  1423. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1424. package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
  1425. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  1426. package/dist/utils/zod-to-json-schema/selectParser.cjs +34 -35
  1427. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  1428. package/dist/utils/zod-to-json-schema/selectParser.d.cts +1 -0
  1429. package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
  1430. package/dist/utils/zod-to-json-schema/selectParser.js +2 -3
  1431. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  1432. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +7 -8
  1433. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  1434. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +1 -0
  1435. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
  1436. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +4 -5
  1437. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  1438. package/dist/vectorstores.cjs +12 -14
  1439. package/dist/vectorstores.cjs.map +1 -1
  1440. package/dist/vectorstores.d.cts +0 -1
  1441. package/dist/vectorstores.d.cts.map +1 -1
  1442. package/dist/vectorstores.d.ts +0 -1
  1443. package/dist/vectorstores.d.ts.map +1 -1
  1444. package/dist/vectorstores.js +4 -7
  1445. package/dist/vectorstores.js.map +1 -1
  1446. package/package.json +116 -19
  1447. package/dist/_virtual/rolldown_runtime.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.cts","names":["AIMessage","AIMessageChunk","BaseMessageLike","BaseMessage","StoredMessage","ChatMessage","ChatMessageChunk","FunctionMessage","FunctionMessageChunk","HumanMessage","HumanMessageChunk","SystemMessage","SystemMessageChunk","InvalidToolCall","ToolCall","ToolCallChunk","ToolMessage","$Expand","T","U","K","$KnownKeys","$HasIndexSignature","$OnlyIndexSignatures","$MergeObjects","Record","$MergeDiscriminatedUnion","A","B","Key","PropertyKey","Extract","Constructor","iife","coerceMessageLikeToMessage","getBufferString","mapStoredMessageToChatMessage","__message_js0","MessageToolSet","MessageStructure","mapStoredMessagesToChatMessages","mapChatMessagesToStoredMessages","convertToChunk","collapseToolCallChunks"],"sources":["../../src/messages/utils.d.ts"],"sourcesContent":["import { AIMessage, AIMessageChunk } from \"./ai.js\";\nimport { BaseMessageLike, BaseMessage, StoredMessage } from \"./base.js\";\nimport { ChatMessage, ChatMessageChunk } from \"./chat.js\";\nimport { FunctionMessage, FunctionMessageChunk } from \"./function.js\";\nimport { HumanMessage, HumanMessageChunk } from \"./human.js\";\nimport { SystemMessage, SystemMessageChunk } from \"./system.js\";\nimport { InvalidToolCall, ToolCall, ToolCallChunk, ToolMessage } from \"./tool.js\";\nexport type $Expand<T> = T extends infer U ? {\n [K in keyof U]: U[K];\n} : never;\n/**\n * Extracts the explicitly declared keys from a type T.\n *\n * @template T - The type to extract keys from\n * @returns A union of keys that are not string, number, or symbol\n */\ntype $KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : symbol extends K ? never : K;\n}[keyof T];\n/**\n * Detects if T has an index signature.\n *\n * @template T - The type to check for index signatures\n * @returns True if T has an index signature, false otherwise\n */\ntype $HasIndexSignature<T> = string extends keyof T ? true : number extends keyof T ? true : symbol extends keyof T ? true : false;\n/**\n * Detects if T has an index signature and no known keys.\n *\n * @template T - The type to check for index signatures and no known keys\n * @returns True if T has an index signature and no known keys, false otherwise\n */\ntype $OnlyIndexSignatures<T> = $HasIndexSignature<T> extends true ? [$KnownKeys<T>] extends [never] ? true : false : false;\n/**\n * Recursively merges two object types T and U, with U taking precedence over T.\n *\n * This utility type performs a deep merge of two object types:\n * - For keys that exist in both T and U:\n * - If both values are objects (Record<string, unknown>), recursively merge them\n * - Otherwise, U's value takes precedence\n * - For keys that exist only in T, use T's value\n * - For keys that exist only in U, use U's value\n *\n * @template T - The first object type to merge\n * @template U - The second object type to merge (takes precedence over T)\n *\n * @example\n * ```ts\n * type ObjectA = {\n * shared: { a: string; b: number };\n * onlyInA: boolean;\n * };\n *\n * type ObjectB = {\n * shared: { b: string; c: Date };\n * onlyInB: symbol;\n * };\n *\n * type Merged = $MergeObjects<ObjectA, ObjectB>;\n * // Result: {\n * // shared: { a: string; b: string; c: Date };\n * // onlyInA: boolean;\n * // onlyInB: symbol;\n * // }\n * ```\n */\nexport type $MergeObjects<T, U> = $OnlyIndexSignatures<U> extends true ? U : $OnlyIndexSignatures<T> extends true ? U : {\n [K in keyof T | keyof U]: K extends keyof T ? K extends keyof U ? T[K] extends Record<string, unknown> ? U[K] extends Record<string, unknown> ? $MergeObjects<T[K], U[K]> : U[K] : U[K] : T[K] : K extends keyof U ? U[K] : never;\n};\n/**\n * Merges two discriminated unions A and B based on a discriminator key (defaults to \"type\").\n * For each possible value of the discriminator across both unions:\n * - If B has a member with that discriminator value, use B's member\n * - Otherwise use A's member with that discriminator value\n * This effectively merges the unions while giving B's members precedence over A's members.\n *\n * @template A - First discriminated union type that extends Record<Key, PropertyKey>\n * @template B - Second discriminated union type that extends Record<Key, PropertyKey>\n * @template Key - The discriminator key property, defaults to \"type\"\n */\nexport type $MergeDiscriminatedUnion<A extends Record<Key, PropertyKey>, B extends Record<Key, PropertyKey>, Key extends PropertyKey = \"type\"> = {\n [T in A[Key] | B[Key]]: [Extract<B, Record<Key, T>>] extends [never] ? Extract<A, Record<Key, T>> : [\n Extract<A, Record<Key, T>>\n ] extends [never] ? Extract<B, Record<Key, T>> : $MergeObjects<Extract<A, Record<Key, T>>, Extract<B, Record<Key, T>>>;\n}[A[Key] | B[Key]];\nexport type Constructor<T> = new (...args: unknown[]) => T;\n/**\n * Immediately-invoked function expression.\n *\n * @param fn - The function to execute\n * @returns The result of the function\n */\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function coerceMessageLikeToMessage(messageLike: BaseMessageLike): BaseMessage;\n/**\n * This function is used by memory classes to get a string representation\n * of the chat message history, based on the message content and role.\n */\nexport declare function getBufferString(messages: BaseMessage[], humanPrefix?: string, aiPrefix?: string): string;\nexport declare function mapStoredMessageToChatMessage(message: StoredMessage): AIMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ChatMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | FunctionMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | HumanMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | SystemMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ToolMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>>;\n/**\n * Transforms an array of `StoredMessage` instances into an array of\n * `BaseMessage` instances. It uses the `mapV1MessageToStoredMessage`\n * function to ensure all messages are in the `StoredMessage` format, then\n * creates new instances of the appropriate `BaseMessage` subclass based\n * on the type of each message. This function is used to prepare stored\n * messages for use in a chat context.\n */\nexport declare function mapStoredMessagesToChatMessages(messages: StoredMessage[]): BaseMessage[];\n/**\n * Transforms an array of `BaseMessage` instances into an array of\n * `StoredMessage` instances. It does this by calling the `toDict` method\n * on each `BaseMessage`, which returns a `StoredMessage`. This function\n * is used to prepare chat messages for storage.\n */\nexport declare function mapChatMessagesToStoredMessages(messages: BaseMessage[]): StoredMessage[];\nexport declare function convertToChunk(message: BaseMessage): AIMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ChatMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | FunctionMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | HumanMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | SystemMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>>;\n/**\n * Collapses an array of tool call chunks into complete tool calls.\n *\n * This function groups tool call chunks by their id and/or index, then attempts to\n * parse and validate the accumulated arguments for each group. Successfully parsed\n * tool calls are returned as valid `ToolCall` objects, while malformed ones are\n * returned as `InvalidToolCall` objects.\n *\n * @param chunks - An array of `ToolCallChunk` objects to collapse\n * @returns An object containing:\n * - `tool_call_chunks`: The original input chunks\n * - `tool_calls`: An array of successfully parsed and validated tool calls\n * - `invalid_tool_calls`: An array of tool calls that failed parsing or validation\n *\n * @remarks\n * Chunks are grouped using the following matching logic:\n * - If a chunk has both an id and index, it matches chunks with the same id and index\n * - If a chunk has only an id, it matches chunks with the same id\n * - If a chunk has only an index, it matches chunks with the same index\n *\n * For each group, the function:\n * 1. Concatenates all `args` strings from the chunks\n * 2. Attempts to parse the concatenated string as JSON\n * 3. Validates that the result is a non-null object with a valid id\n * 4. Creates either a `ToolCall` (if valid) or `InvalidToolCall` (if invalid)\n */\nexport declare function collapseToolCallChunks(chunks: ToolCallChunk[]): {\n tool_call_chunks: ToolCallChunk[];\n tool_calls: ToolCall[];\n invalid_tool_calls: InvalidToolCall[];\n};\nexport {};\n//# sourceMappingURL=utils.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.cts","names":[],"sources":["../../src/messages/utils.ts"],"mappings":"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"}
@@ -8,28 +8,28 @@ import { SystemMessage, SystemMessageChunk } from "./system.js";
8
8
  import { MessageStructure, MessageToolSet } from "./message.js";
9
9
 
10
10
  //#region src/messages/utils.d.ts
11
- type $Expand<T$1> = T$1 extends infer U ? { [K in keyof U]: U[K] } : never;
11
+ type $Expand<T> = T extends infer U ? { [K in keyof U]: U[K] } : never;
12
12
  /**
13
13
  * Extracts the explicitly declared keys from a type T.
14
14
  *
15
15
  * @template T - The type to extract keys from
16
16
  * @returns A union of keys that are not string, number, or symbol
17
17
  */
18
- type $KnownKeys<T$1> = { [K in keyof T$1]: string extends K ? never : number extends K ? never : symbol extends K ? never : K }[keyof T$1];
18
+ type $KnownKeys<T> = { [K in keyof T]: string extends K ? never : number extends K ? never : symbol extends K ? never : K }[keyof T];
19
19
  /**
20
20
  * Detects if T has an index signature.
21
21
  *
22
22
  * @template T - The type to check for index signatures
23
23
  * @returns True if T has an index signature, false otherwise
24
24
  */
25
- type $HasIndexSignature<T$1> = string extends keyof T$1 ? true : number extends keyof T$1 ? true : symbol extends keyof T$1 ? true : false;
25
+ type $HasIndexSignature<T> = string extends keyof T ? true : number extends keyof T ? true : symbol extends keyof T ? true : false;
26
26
  /**
27
27
  * Detects if T has an index signature and no known keys.
28
28
  *
29
29
  * @template T - The type to check for index signatures and no known keys
30
30
  * @returns True if T has an index signature and no known keys, false otherwise
31
31
  */
32
- type $OnlyIndexSignatures<T$1> = $HasIndexSignature<T$1> extends true ? [$KnownKeys<T$1>] extends [never] ? true : false : false;
32
+ type $OnlyIndexSignatures<T> = $HasIndexSignature<T> extends true ? [$KnownKeys<T>] extends [never] ? true : false : false;
33
33
  /**
34
34
  * Recursively merges two object types T and U, with U taking precedence over T.
35
35
  *
@@ -63,7 +63,7 @@ type $OnlyIndexSignatures<T$1> = $HasIndexSignature<T$1> extends true ? [$KnownK
63
63
  * // }
64
64
  * ```
65
65
  */
66
- type $MergeObjects<T$1, U$1> = $OnlyIndexSignatures<U$1> extends true ? U$1 : $OnlyIndexSignatures<T$1> extends true ? U$1 : { [K in keyof T$1 | keyof U$1]: K extends keyof T$1 ? K extends keyof U$1 ? T$1[K] extends Record<string, unknown> ? U$1[K] extends Record<string, unknown> ? $MergeObjects<T$1[K], U$1[K]> : U$1[K] : U$1[K] : T$1[K] : K extends keyof U$1 ? U$1[K] : never };
66
+ type $MergeObjects<T, U> = $OnlyIndexSignatures<U> extends true ? U : $OnlyIndexSignatures<T> extends true ? U : { [K in keyof T | keyof U]: K extends keyof T ? K extends keyof U ? T[K] extends Record<string, unknown> ? U[K] extends Record<string, unknown> ? $MergeObjects<T[K], U[K]> : U[K] : U[K] : T[K] : K extends keyof U ? U[K] : never };
67
67
  /**
68
68
  * Merges two discriminated unions A and B based on a discriminator key (defaults to "type").
69
69
  * For each possible value of the discriminator across both unions:
@@ -76,18 +76,27 @@ type $MergeObjects<T$1, U$1> = $OnlyIndexSignatures<U$1> extends true ? U$1 : $O
76
76
  * @template Key - The discriminator key property, defaults to "type"
77
77
  */
78
78
  type $MergeDiscriminatedUnion<A extends Record<Key, PropertyKey>, B extends Record<Key, PropertyKey>, Key extends PropertyKey = "type"> = { [T in A[Key] | B[Key]]: [Extract<B, Record<Key, T>>] extends [never] ? Extract<A, Record<Key, T>> : [Extract<A, Record<Key, T>>] extends [never] ? Extract<B, Record<Key, T>> : $MergeObjects<Extract<A, Record<Key, T>>, Extract<B, Record<Key, T>>> }[A[Key] | B[Key]];
79
- type Constructor<T$1> = new (...args: unknown[]) => T$1;
79
+ type Constructor<T> = new (...args: unknown[]) => T;
80
80
  /**
81
81
  * Immediately-invoked function expression.
82
82
  *
83
83
  * @param fn - The function to execute
84
84
  * @returns The result of the function
85
85
  */
86
- declare const iife: <T$1>(fn: () => T$1) => T$1;
86
+ declare const iife: <T>(fn: () => T) => T;
87
87
  declare function coerceMessageLikeToMessage(messageLike: BaseMessageLike): BaseMessage;
88
88
  /**
89
89
  * This function is used by memory classes to get a string representation
90
90
  * of the chat message history, based on the message content and role.
91
+ *
92
+ * Produces compact output like:
93
+ * ```
94
+ * Human: What's the weather?
95
+ * AI: Let me check...[tool_calls]
96
+ * Tool: 72°F and sunny
97
+ * ```
98
+ *
99
+ * This avoids token inflation from metadata when stringifying message objects directly.
91
100
  */
92
101
  declare function getBufferString(messages: BaseMessage[], humanPrefix?: string, aiPrefix?: string): string;
93
102
  declare function mapStoredMessageToChatMessage(message: StoredMessage): AIMessage<MessageStructure<MessageToolSet>> | ChatMessage<MessageStructure<MessageToolSet>> | FunctionMessage<MessageStructure<MessageToolSet>> | HumanMessage<MessageStructure<MessageToolSet>> | SystemMessage<MessageStructure<MessageToolSet>> | ToolMessage<MessageStructure<MessageToolSet>>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","names":["AIMessage","AIMessageChunk","BaseMessageLike","BaseMessage","StoredMessage","ChatMessage","ChatMessageChunk","FunctionMessage","FunctionMessageChunk","HumanMessage","HumanMessageChunk","SystemMessage","SystemMessageChunk","InvalidToolCall","ToolCall","ToolCallChunk","ToolMessage","$Expand","T","U","K","$KnownKeys","$HasIndexSignature","$OnlyIndexSignatures","$MergeObjects","Record","$MergeDiscriminatedUnion","A","B","Key","PropertyKey","Extract","Constructor","iife","coerceMessageLikeToMessage","getBufferString","mapStoredMessageToChatMessage","__message_js0","MessageToolSet","MessageStructure","mapStoredMessagesToChatMessages","mapChatMessagesToStoredMessages","convertToChunk","collapseToolCallChunks"],"sources":["../../src/messages/utils.d.ts"],"sourcesContent":["import { AIMessage, AIMessageChunk } from \"./ai.js\";\nimport { BaseMessageLike, BaseMessage, StoredMessage } from \"./base.js\";\nimport { ChatMessage, ChatMessageChunk } from \"./chat.js\";\nimport { FunctionMessage, FunctionMessageChunk } from \"./function.js\";\nimport { HumanMessage, HumanMessageChunk } from \"./human.js\";\nimport { SystemMessage, SystemMessageChunk } from \"./system.js\";\nimport { InvalidToolCall, ToolCall, ToolCallChunk, ToolMessage } from \"./tool.js\";\nexport type $Expand<T> = T extends infer U ? {\n [K in keyof U]: U[K];\n} : never;\n/**\n * Extracts the explicitly declared keys from a type T.\n *\n * @template T - The type to extract keys from\n * @returns A union of keys that are not string, number, or symbol\n */\ntype $KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : symbol extends K ? never : K;\n}[keyof T];\n/**\n * Detects if T has an index signature.\n *\n * @template T - The type to check for index signatures\n * @returns True if T has an index signature, false otherwise\n */\ntype $HasIndexSignature<T> = string extends keyof T ? true : number extends keyof T ? true : symbol extends keyof T ? true : false;\n/**\n * Detects if T has an index signature and no known keys.\n *\n * @template T - The type to check for index signatures and no known keys\n * @returns True if T has an index signature and no known keys, false otherwise\n */\ntype $OnlyIndexSignatures<T> = $HasIndexSignature<T> extends true ? [$KnownKeys<T>] extends [never] ? true : false : false;\n/**\n * Recursively merges two object types T and U, with U taking precedence over T.\n *\n * This utility type performs a deep merge of two object types:\n * - For keys that exist in both T and U:\n * - If both values are objects (Record<string, unknown>), recursively merge them\n * - Otherwise, U's value takes precedence\n * - For keys that exist only in T, use T's value\n * - For keys that exist only in U, use U's value\n *\n * @template T - The first object type to merge\n * @template U - The second object type to merge (takes precedence over T)\n *\n * @example\n * ```ts\n * type ObjectA = {\n * shared: { a: string; b: number };\n * onlyInA: boolean;\n * };\n *\n * type ObjectB = {\n * shared: { b: string; c: Date };\n * onlyInB: symbol;\n * };\n *\n * type Merged = $MergeObjects<ObjectA, ObjectB>;\n * // Result: {\n * // shared: { a: string; b: string; c: Date };\n * // onlyInA: boolean;\n * // onlyInB: symbol;\n * // }\n * ```\n */\nexport type $MergeObjects<T, U> = $OnlyIndexSignatures<U> extends true ? U : $OnlyIndexSignatures<T> extends true ? U : {\n [K in keyof T | keyof U]: K extends keyof T ? K extends keyof U ? T[K] extends Record<string, unknown> ? U[K] extends Record<string, unknown> ? $MergeObjects<T[K], U[K]> : U[K] : U[K] : T[K] : K extends keyof U ? U[K] : never;\n};\n/**\n * Merges two discriminated unions A and B based on a discriminator key (defaults to \"type\").\n * For each possible value of the discriminator across both unions:\n * - If B has a member with that discriminator value, use B's member\n * - Otherwise use A's member with that discriminator value\n * This effectively merges the unions while giving B's members precedence over A's members.\n *\n * @template A - First discriminated union type that extends Record<Key, PropertyKey>\n * @template B - Second discriminated union type that extends Record<Key, PropertyKey>\n * @template Key - The discriminator key property, defaults to \"type\"\n */\nexport type $MergeDiscriminatedUnion<A extends Record<Key, PropertyKey>, B extends Record<Key, PropertyKey>, Key extends PropertyKey = \"type\"> = {\n [T in A[Key] | B[Key]]: [Extract<B, Record<Key, T>>] extends [never] ? Extract<A, Record<Key, T>> : [\n Extract<A, Record<Key, T>>\n ] extends [never] ? Extract<B, Record<Key, T>> : $MergeObjects<Extract<A, Record<Key, T>>, Extract<B, Record<Key, T>>>;\n}[A[Key] | B[Key]];\nexport type Constructor<T> = new (...args: unknown[]) => T;\n/**\n * Immediately-invoked function expression.\n *\n * @param fn - The function to execute\n * @returns The result of the function\n */\nexport declare const iife: <T>(fn: () => T) => T;\nexport declare function coerceMessageLikeToMessage(messageLike: BaseMessageLike): BaseMessage;\n/**\n * This function is used by memory classes to get a string representation\n * of the chat message history, based on the message content and role.\n */\nexport declare function getBufferString(messages: BaseMessage[], humanPrefix?: string, aiPrefix?: string): string;\nexport declare function mapStoredMessageToChatMessage(message: StoredMessage): AIMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ChatMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | FunctionMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | HumanMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | SystemMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ToolMessage<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>>;\n/**\n * Transforms an array of `StoredMessage` instances into an array of\n * `BaseMessage` instances. It uses the `mapV1MessageToStoredMessage`\n * function to ensure all messages are in the `StoredMessage` format, then\n * creates new instances of the appropriate `BaseMessage` subclass based\n * on the type of each message. This function is used to prepare stored\n * messages for use in a chat context.\n */\nexport declare function mapStoredMessagesToChatMessages(messages: StoredMessage[]): BaseMessage[];\n/**\n * Transforms an array of `BaseMessage` instances into an array of\n * `StoredMessage` instances. It does this by calling the `toDict` method\n * on each `BaseMessage`, which returns a `StoredMessage`. This function\n * is used to prepare chat messages for storage.\n */\nexport declare function mapChatMessagesToStoredMessages(messages: BaseMessage[]): StoredMessage[];\nexport declare function convertToChunk(message: BaseMessage): AIMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | ChatMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | FunctionMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | HumanMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>> | SystemMessageChunk<import(\"./message.js\").MessageStructure<import(\"./message.js\").MessageToolSet>>;\n/**\n * Collapses an array of tool call chunks into complete tool calls.\n *\n * This function groups tool call chunks by their id and/or index, then attempts to\n * parse and validate the accumulated arguments for each group. Successfully parsed\n * tool calls are returned as valid `ToolCall` objects, while malformed ones are\n * returned as `InvalidToolCall` objects.\n *\n * @param chunks - An array of `ToolCallChunk` objects to collapse\n * @returns An object containing:\n * - `tool_call_chunks`: The original input chunks\n * - `tool_calls`: An array of successfully parsed and validated tool calls\n * - `invalid_tool_calls`: An array of tool calls that failed parsing or validation\n *\n * @remarks\n * Chunks are grouped using the following matching logic:\n * - If a chunk has both an id and index, it matches chunks with the same id and index\n * - If a chunk has only an id, it matches chunks with the same id\n * - If a chunk has only an index, it matches chunks with the same index\n *\n * For each group, the function:\n * 1. Concatenates all `args` strings from the chunks\n * 2. Attempts to parse the concatenated string as JSON\n * 3. Validates that the result is a non-null object with a valid id\n * 4. Creates either a `ToolCall` (if valid) or `InvalidToolCall` (if invalid)\n */\nexport declare function collapseToolCallChunks(chunks: ToolCallChunk[]): {\n tool_call_chunks: ToolCallChunk[];\n tool_calls: ToolCall[];\n invalid_tool_calls: InvalidToolCall[];\n};\nexport {};\n//# sourceMappingURL=utils.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/messages/utils.ts"],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- import { _isMessageFieldWithRole, isBaseMessage } from "./base.js";
2
- import { ToolMessage } from "./tool.js";
3
1
  import { addLangChainErrorFields } from "../errors/index.js";
4
2
  import { _isToolCall } from "../tools/utils.js";
5
3
  import { parsePartialJson } from "../utils/json.js";
4
+ import { _isMessageFieldWithRole, isBaseMessage } from "./base.js";
5
+ import { ToolMessage } from "./tool.js";
6
+ import { AIMessage, AIMessageChunk } from "./ai.js";
6
7
  import { ChatMessage, ChatMessageChunk } from "./chat.js";
7
8
  import { FunctionMessage, FunctionMessageChunk } from "./function.js";
8
9
  import { HumanMessage, HumanMessageChunk } from "./human.js";
9
10
  import { RemoveMessage } from "./modifier.js";
10
11
  import { SystemMessage, SystemMessageChunk } from "./system.js";
11
- import { AIMessage, AIMessageChunk } from "./ai.js";
12
-
13
12
  //#region src/messages/utils.ts
14
13
  /**
15
14
  * Immediately-invoked function expression.
@@ -44,13 +43,13 @@ function _constructMessageFromParams(params) {
44
43
  else type = "unknown";
45
44
  rest = params.kwargs;
46
45
  } else {
47
- const { type: extractedType,...otherParams } = params;
46
+ const { type: extractedType, ...otherParams } = params;
48
47
  type = extractedType;
49
48
  rest = otherParams;
50
49
  }
51
50
  if (type === "human" || type === "user") return new HumanMessage(rest);
52
51
  else if (type === "ai" || type === "assistant") {
53
- const { tool_calls: rawToolCalls,...other } = rest;
52
+ const { tool_calls: rawToolCalls, ...other } = rest;
54
53
  if (!Array.isArray(rawToolCalls)) return new AIMessage(rest);
55
54
  const tool_calls = rawToolCalls.map(_coerceToolCall);
56
55
  return new AIMessage({
@@ -75,10 +74,7 @@ function _constructMessageFromParams(params) {
75
74
  ...rest,
76
75
  id: rest.id
77
76
  });
78
- else {
79
- const error = addLangChainErrorFields(/* @__PURE__ */ new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.\n\nReceived: ${JSON.stringify(params, null, 2)}`), "MESSAGE_COERCION_FAILURE");
80
- throw error;
81
- }
77
+ else throw addLangChainErrorFields(/* @__PURE__ */ new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.\n\nReceived: ${JSON.stringify(params, null, 2)}`), "MESSAGE_COERCION_FAILURE");
82
78
  }
83
79
  function coerceMessageLikeToMessage(messageLike) {
84
80
  if (typeof messageLike === "string") return new HumanMessage(messageLike);
@@ -90,7 +86,7 @@ function coerceMessageLikeToMessage(messageLike) {
90
86
  content
91
87
  });
92
88
  } else if (_isMessageFieldWithRole(messageLike)) {
93
- const { role: type,...rest } = messageLike;
89
+ const { role: type, ...rest } = messageLike;
94
90
  return _constructMessageFromParams({
95
91
  ...rest,
96
92
  type
@@ -98,22 +94,65 @@ function coerceMessageLikeToMessage(messageLike) {
98
94
  } else return _constructMessageFromParams(messageLike);
99
95
  }
100
96
  /**
97
+ * Renders a single content block to a compact string representation.
98
+ * Text blocks are returned as-is; multimodal blocks (image, audio, video, file)
99
+ * become short placeholders like `[image]` so their existence is preserved
100
+ * without inflating token counts with base64 data or metadata.
101
+ */
102
+ function _contentBlockToString(block) {
103
+ if (typeof block === "string") return block;
104
+ switch (block.type) {
105
+ case "text": return block.text ?? "";
106
+ case "text-plain": return block.text ?? "[text-plain file]";
107
+ case "image":
108
+ case "image_url": return "[image]";
109
+ case "audio":
110
+ case "input_audio": return "[audio]";
111
+ case "video": return "[video]";
112
+ case "file": return "[file]";
113
+ case "reasoning":
114
+ case "tool_call":
115
+ case "tool_call_chunk":
116
+ case "invalid_tool_call":
117
+ case "server_tool_call":
118
+ case "server_tool_call_chunk":
119
+ case "server_tool_call_result":
120
+ case "non_standard": return "";
121
+ default: return block.type ? `[${block.type}]` : "";
122
+ }
123
+ }
124
+ /**
101
125
  * This function is used by memory classes to get a string representation
102
126
  * of the chat message history, based on the message content and role.
127
+ *
128
+ * Produces compact output like:
129
+ * ```
130
+ * Human: What's the weather?
131
+ * AI: Let me check...[tool_calls]
132
+ * Tool: 72°F and sunny
133
+ * ```
134
+ *
135
+ * This avoids token inflation from metadata when stringifying message objects directly.
103
136
  */
104
137
  function getBufferString(messages, humanPrefix = "Human", aiPrefix = "AI") {
105
138
  const string_messages = [];
106
139
  for (const m of messages) {
107
140
  let role;
108
- if (m._getType() === "human") role = humanPrefix;
109
- else if (m._getType() === "ai") role = aiPrefix;
110
- else if (m._getType() === "system") role = "System";
111
- else if (m._getType() === "tool") role = "Tool";
112
- else if (m._getType() === "generic") role = m.role;
113
- else throw new Error(`Got unsupported message type: ${m._getType()}`);
141
+ if (m.type === "human") role = humanPrefix;
142
+ else if (m.type === "ai") role = aiPrefix;
143
+ else if (m.type === "system") role = "System";
144
+ else if (m.type === "tool") role = "Tool";
145
+ else if (m.type === "generic") role = m.role;
146
+ else throw new Error(`Got unsupported message type: ${m.type}`);
114
147
  const nameStr = m.name ? `${m.name}, ` : "";
115
- const readableContent = typeof m.content === "string" ? m.content : JSON.stringify(m.content, null, 2);
116
- string_messages.push(`${role}: ${nameStr}${readableContent}`);
148
+ const readableContent = typeof m.content === "string" ? m.content : Array.isArray(m.content) ? m.content.map(_contentBlockToString).filter(Boolean).join("") : "";
149
+ let message = `${role}: ${nameStr}${readableContent}`;
150
+ if (m.type === "ai") {
151
+ const aiMessage = m;
152
+ if (aiMessage.tool_calls && aiMessage.tool_calls.length > 0) message += JSON.stringify(aiMessage.tool_calls);
153
+ else if (aiMessage.additional_kwargs && "function_call" in aiMessage.additional_kwargs) message += JSON.stringify(aiMessage.additional_kwargs.function_call);
154
+ }
155
+ string_messages.push(message);
117
156
  }
118
157
  return string_messages.join("\n");
119
158
  }
@@ -237,12 +276,12 @@ function collapseToolCallChunks(chunks) {
237
276
  }, []);
238
277
  const toolCalls = [];
239
278
  const invalidToolCalls = [];
240
- for (const chunks$1 of groupedToolCallChunks) {
279
+ for (const chunks of groupedToolCallChunks) {
241
280
  let parsedArgs = null;
242
- const name = chunks$1[0]?.name ?? "";
243
- const joinedArgs = chunks$1.map((c) => c.args || "").join("").trim();
281
+ const name = chunks[0]?.name ?? "";
282
+ const joinedArgs = chunks.map((c) => c.args || "").join("").trim();
244
283
  const argsStr = joinedArgs.length ? joinedArgs : "{}";
245
- const id = chunks$1[0]?.id;
284
+ const id = chunks[0]?.id;
246
285
  try {
247
286
  parsedArgs = parsePartialJson(argsStr);
248
287
  if (!id || parsedArgs === null || typeof parsedArgs !== "object" || Array.isArray(parsedArgs)) throw new Error("Malformed tool call chunk args.");
@@ -268,7 +307,7 @@ function collapseToolCallChunks(chunks) {
268
307
  invalid_tool_calls: invalidToolCalls
269
308
  };
270
309
  }
271
-
272
310
  //#endregion
273
311
  export { coerceMessageLikeToMessage, collapseToolCallChunks, convertToChunk, getBufferString, iife, mapChatMessagesToStoredMessages, mapStoredMessageToChatMessage, mapStoredMessagesToChatMessages };
312
+
274
313
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["fn: () => T","toolCall: ToolCall | Record<string, unknown>","x: unknown","params:\n | (BaseMessageFields & { type: string } & Record<string, unknown>)\n | SerializedConstructor","type: string","rest: BaseMessageFields & Record<string, unknown>","messageLike: BaseMessageLike","messages: BaseMessage[]","string_messages: string[]","role: string","message: StoredMessage | StoredMessageV1","message: StoredMessage","messages: StoredMessage[]","message: BaseMessage","aiChunkFields: AIMessageChunkFields","chunks: ToolCallChunk[]","toolCalls: ToolCall[]","invalidToolCalls: InvalidToolCall[]","chunks","parsedArgs: Record<string, unknown> | null"],"sources":["../../src/messages/utils.ts"],"sourcesContent":["import { addLangChainErrorFields } from \"../errors/index.js\";\nimport { SerializedConstructor } from \"../load/serializable.js\";\nimport { _isToolCall } from \"../tools/utils.js\";\nimport { parsePartialJson } from \"../utils/json.js\";\nimport { AIMessage, AIMessageChunk, AIMessageChunkFields } from \"./ai.js\";\nimport {\n BaseMessageLike,\n BaseMessage,\n isBaseMessage,\n StoredMessage,\n StoredMessageV1,\n BaseMessageFields,\n _isMessageFieldWithRole,\n} from \"./base.js\";\nimport { ChatMessage, ChatMessageFields, ChatMessageChunk } from \"./chat.js\";\nimport {\n FunctionMessage,\n FunctionMessageChunk,\n FunctionMessageFields,\n} from \"./function.js\";\nimport { HumanMessage, HumanMessageChunk } from \"./human.js\";\nimport { RemoveMessage } from \"./modifier.js\";\nimport { SystemMessage, SystemMessageChunk } from \"./system.js\";\nimport {\n InvalidToolCall,\n ToolCall,\n ToolCallChunk,\n ToolMessage,\n ToolMessageFields,\n} from \"./tool.js\";\n\nexport type $Expand<T> = T extends infer U ? { [K in keyof U]: U[K] } : never;\n\n/**\n * Extracts the explicitly declared keys from a type T.\n *\n * @template T - The type to extract keys from\n * @returns A union of keys that are not string, number, or symbol\n */\ntype $KnownKeys<T> = {\n [K in keyof T]: string extends K\n ? never\n : number extends K\n ? never\n : symbol extends K\n ? never\n : K;\n}[keyof T];\n\n/**\n * Detects if T has an index signature.\n *\n * @template T - The type to check for index signatures\n * @returns True if T has an index signature, false otherwise\n */\ntype $HasIndexSignature<T> = string extends keyof T\n ? true\n : number extends keyof T\n ? true\n : symbol extends keyof T\n ? true\n : false;\n\n/**\n * Detects if T has an index signature and no known keys.\n *\n * @template T - The type to check for index signatures and no known keys\n * @returns True if T has an index signature and no known keys, false otherwise\n */\ntype $OnlyIndexSignatures<T> = $HasIndexSignature<T> extends true\n ? [$KnownKeys<T>] extends [never]\n ? true\n : false\n : false;\n\n/**\n * Recursively merges two object types T and U, with U taking precedence over T.\n *\n * This utility type performs a deep merge of two object types:\n * - For keys that exist in both T and U:\n * - If both values are objects (Record<string, unknown>), recursively merge them\n * - Otherwise, U's value takes precedence\n * - For keys that exist only in T, use T's value\n * - For keys that exist only in U, use U's value\n *\n * @template T - The first object type to merge\n * @template U - The second object type to merge (takes precedence over T)\n *\n * @example\n * ```ts\n * type ObjectA = {\n * shared: { a: string; b: number };\n * onlyInA: boolean;\n * };\n *\n * type ObjectB = {\n * shared: { b: string; c: Date };\n * onlyInB: symbol;\n * };\n *\n * type Merged = $MergeObjects<ObjectA, ObjectB>;\n * // Result: {\n * // shared: { a: string; b: string; c: Date };\n * // onlyInA: boolean;\n * // onlyInB: symbol;\n * // }\n * ```\n */\nexport type $MergeObjects<T, U> =\n // If U is purely index-signature based, prefer U as a whole\n $OnlyIndexSignatures<U> extends true\n ? U\n : // If T is purely index-signature based, prefer U as a whole (prevents leaking broad index signatures)\n $OnlyIndexSignatures<T> extends true\n ? U\n : {\n [K in keyof T | keyof U]: K extends keyof T\n ? K extends keyof U\n ? T[K] extends Record<string, unknown>\n ? U[K] extends Record<string, unknown>\n ? $MergeObjects<T[K], U[K]>\n : U[K]\n : U[K]\n : T[K]\n : K extends keyof U\n ? U[K]\n : never;\n };\n\n/**\n * Merges two discriminated unions A and B based on a discriminator key (defaults to \"type\").\n * For each possible value of the discriminator across both unions:\n * - If B has a member with that discriminator value, use B's member\n * - Otherwise use A's member with that discriminator value\n * This effectively merges the unions while giving B's members precedence over A's members.\n *\n * @template A - First discriminated union type that extends Record<Key, PropertyKey>\n * @template B - Second discriminated union type that extends Record<Key, PropertyKey>\n * @template Key - The discriminator key property, defaults to \"type\"\n */\nexport type $MergeDiscriminatedUnion<\n A extends Record<Key, PropertyKey>,\n B extends Record<Key, PropertyKey>,\n Key extends PropertyKey = \"type\"\n> = {\n // Create a mapped type over all possible discriminator values from both A and B\n [T in A[Key] | B[Key]]: [Extract<B, Record<Key, T>>] extends [never] // Check if B has a member with this discriminator value\n ? // If B doesn't have this discriminator value, use A's member\n Extract<A, Record<Key, T>>\n : // If B does have this discriminator value, merge A's and B's members (B takes precedence)\n [Extract<A, Record<Key, T>>] extends [never]\n ? Extract<B, Record<Key, T>>\n : $MergeObjects<Extract<A, Record<Key, T>>, Extract<B, Record<Key, T>>>;\n // Index into the mapped type with all possible discriminator values\n // This converts the mapped type back into a union\n}[A[Key] | B[Key]];\n\nexport type Constructor<T> = new (...args: unknown[]) => T;\n\n/**\n * Immediately-invoked function expression.\n *\n * @param fn - The function to execute\n * @returns The result of the function\n */\nexport const iife = <T>(fn: () => T) => fn();\n\nfunction _coerceToolCall(\n toolCall: ToolCall | Record<string, unknown>\n): ToolCall {\n if (_isToolCall(toolCall)) {\n return toolCall;\n } else if (\n typeof toolCall.id === \"string\" &&\n toolCall.type === \"function\" &&\n typeof toolCall.function === \"object\" &&\n toolCall.function !== null &&\n \"arguments\" in toolCall.function &&\n typeof toolCall.function.arguments === \"string\" &&\n \"name\" in toolCall.function &&\n typeof toolCall.function.name === \"string\"\n ) {\n // Handle OpenAI tool call format\n return {\n id: toolCall.id,\n args: JSON.parse(toolCall.function.arguments),\n name: toolCall.function.name,\n type: \"tool_call\",\n };\n } else {\n // TODO: Throw an error?\n return toolCall as unknown as ToolCall;\n }\n}\n\nfunction isSerializedConstructor(x: unknown): x is SerializedConstructor {\n return (\n typeof x === \"object\" &&\n x != null &&\n (x as SerializedConstructor).lc === 1 &&\n Array.isArray((x as SerializedConstructor).id) &&\n (x as SerializedConstructor).kwargs != null &&\n typeof (x as SerializedConstructor).kwargs === \"object\"\n );\n}\n\nfunction _constructMessageFromParams(\n params:\n | (BaseMessageFields & { type: string } & Record<string, unknown>)\n | SerializedConstructor\n) {\n let type: string;\n let rest: BaseMessageFields & Record<string, unknown>;\n // Support serialized messages\n if (isSerializedConstructor(params)) {\n const className = params.id.at(-1);\n if (className === \"HumanMessage\" || className === \"HumanMessageChunk\") {\n type = \"user\";\n } else if (className === \"AIMessage\" || className === \"AIMessageChunk\") {\n type = \"assistant\";\n } else if (\n className === \"SystemMessage\" ||\n className === \"SystemMessageChunk\"\n ) {\n type = \"system\";\n } else if (\n className === \"FunctionMessage\" ||\n className === \"FunctionMessageChunk\"\n ) {\n type = \"function\";\n } else if (\n className === \"ToolMessage\" ||\n className === \"ToolMessageChunk\"\n ) {\n type = \"tool\";\n } else {\n type = \"unknown\";\n }\n rest = params.kwargs as BaseMessageFields;\n } else {\n const { type: extractedType, ...otherParams } = params;\n type = extractedType;\n rest = otherParams;\n }\n if (type === \"human\" || type === \"user\") {\n return new HumanMessage(rest);\n } else if (type === \"ai\" || type === \"assistant\") {\n const { tool_calls: rawToolCalls, ...other } = rest;\n if (!Array.isArray(rawToolCalls)) {\n return new AIMessage(rest);\n }\n const tool_calls = rawToolCalls.map(_coerceToolCall);\n return new AIMessage({ ...other, tool_calls });\n } else if (type === \"system\") {\n return new SystemMessage(rest);\n } else if (type === \"developer\") {\n return new SystemMessage({\n ...rest,\n additional_kwargs: {\n ...rest.additional_kwargs,\n __openai_role__: \"developer\",\n },\n });\n } else if (type === \"tool\" && \"tool_call_id\" in rest) {\n return new ToolMessage({\n ...rest,\n content: rest.content,\n tool_call_id: rest.tool_call_id as string,\n name: rest.name,\n });\n } else if (type === \"remove\" && \"id\" in rest && typeof rest.id === \"string\") {\n return new RemoveMessage({ ...rest, id: rest.id });\n } else {\n const error = addLangChainErrorFields(\n new Error(\n `Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.\\n\\nReceived: ${JSON.stringify(\n params,\n null,\n 2\n )}`\n ),\n \"MESSAGE_COERCION_FAILURE\"\n );\n throw error;\n }\n}\n\nexport function coerceMessageLikeToMessage(\n messageLike: BaseMessageLike\n): BaseMessage {\n if (typeof messageLike === \"string\") {\n return new HumanMessage(messageLike);\n } else if (isBaseMessage(messageLike)) {\n return messageLike;\n }\n if (Array.isArray(messageLike)) {\n const [type, content] = messageLike;\n return _constructMessageFromParams({ type, content });\n } else if (_isMessageFieldWithRole(messageLike)) {\n const { role: type, ...rest } = messageLike;\n return _constructMessageFromParams({ ...rest, type });\n } else {\n return _constructMessageFromParams(messageLike);\n }\n}\n\n/**\n * This function is used by memory classes to get a string representation\n * of the chat message history, based on the message content and role.\n */\nexport function getBufferString(\n messages: BaseMessage[],\n humanPrefix = \"Human\",\n aiPrefix = \"AI\"\n): string {\n const string_messages: string[] = [];\n for (const m of messages) {\n let role: string;\n if (m._getType() === \"human\") {\n role = humanPrefix;\n } else if (m._getType() === \"ai\") {\n role = aiPrefix;\n } else if (m._getType() === \"system\") {\n role = \"System\";\n } else if (m._getType() === \"tool\") {\n role = \"Tool\";\n } else if (m._getType() === \"generic\") {\n role = (m as ChatMessage).role;\n } else {\n throw new Error(`Got unsupported message type: ${m._getType()}`);\n }\n const nameStr = m.name ? `${m.name}, ` : \"\";\n const readableContent =\n typeof m.content === \"string\"\n ? m.content\n : JSON.stringify(m.content, null, 2);\n string_messages.push(`${role}: ${nameStr}${readableContent}`);\n }\n return string_messages.join(\"\\n\");\n}\n\n/**\n * Maps messages from an older format (V1) to the current `StoredMessage`\n * format. If the message is already in the `StoredMessage` format, it is\n * returned as is. Otherwise, it transforms the V1 message into a\n * `StoredMessage`. This function is important for maintaining\n * compatibility with older message formats.\n */\nfunction mapV1MessageToStoredMessage(\n message: StoredMessage | StoredMessageV1\n): StoredMessage {\n // TODO: Remove this mapper when we deprecate the old message format.\n if ((message as StoredMessage).data !== undefined) {\n return message as StoredMessage;\n } else {\n const v1Message = message as StoredMessageV1;\n return {\n type: v1Message.type,\n data: {\n content: v1Message.text,\n role: v1Message.role,\n name: undefined,\n tool_call_id: undefined,\n },\n };\n }\n}\n\nexport function mapStoredMessageToChatMessage(message: StoredMessage) {\n const storedMessage = mapV1MessageToStoredMessage(message);\n switch (storedMessage.type) {\n case \"human\":\n return new HumanMessage(storedMessage.data);\n case \"ai\":\n return new AIMessage(storedMessage.data);\n case \"system\":\n return new SystemMessage(storedMessage.data);\n case \"function\":\n if (storedMessage.data.name === undefined) {\n throw new Error(\"Name must be defined for function messages\");\n }\n return new FunctionMessage(storedMessage.data as FunctionMessageFields);\n case \"tool\":\n if (storedMessage.data.tool_call_id === undefined) {\n throw new Error(\"Tool call ID must be defined for tool messages\");\n }\n return new ToolMessage(storedMessage.data as ToolMessageFields);\n case \"generic\": {\n if (storedMessage.data.role === undefined) {\n throw new Error(\"Role must be defined for chat messages\");\n }\n return new ChatMessage(storedMessage.data as ChatMessageFields);\n }\n default:\n throw new Error(`Got unexpected type: ${storedMessage.type}`);\n }\n}\n\n/**\n * Transforms an array of `StoredMessage` instances into an array of\n * `BaseMessage` instances. It uses the `mapV1MessageToStoredMessage`\n * function to ensure all messages are in the `StoredMessage` format, then\n * creates new instances of the appropriate `BaseMessage` subclass based\n * on the type of each message. This function is used to prepare stored\n * messages for use in a chat context.\n */\nexport function mapStoredMessagesToChatMessages(\n messages: StoredMessage[]\n): BaseMessage[] {\n return messages.map(mapStoredMessageToChatMessage);\n}\n\n/**\n * Transforms an array of `BaseMessage` instances into an array of\n * `StoredMessage` instances. It does this by calling the `toDict` method\n * on each `BaseMessage`, which returns a `StoredMessage`. This function\n * is used to prepare chat messages for storage.\n */\nexport function mapChatMessagesToStoredMessages(\n messages: BaseMessage[]\n): StoredMessage[] {\n return messages.map((message) => message.toDict());\n}\n\nexport function convertToChunk(message: BaseMessage) {\n const type = message._getType();\n if (type === \"human\") {\n return new HumanMessageChunk({ ...message });\n } else if (type === \"ai\") {\n let aiChunkFields: AIMessageChunkFields = {\n ...message,\n };\n if (\"tool_calls\" in aiChunkFields) {\n aiChunkFields = {\n ...aiChunkFields,\n tool_call_chunks: aiChunkFields.tool_calls?.map((tc) => ({\n ...tc,\n type: \"tool_call_chunk\",\n index: undefined,\n args: JSON.stringify(tc.args),\n })),\n };\n }\n return new AIMessageChunk({ ...aiChunkFields });\n } else if (type === \"system\") {\n return new SystemMessageChunk({ ...message });\n } else if (type === \"function\") {\n return new FunctionMessageChunk({ ...message });\n } else if (ChatMessage.isInstance(message)) {\n return new ChatMessageChunk({ ...message });\n } else {\n throw new Error(\"Unknown message type.\");\n }\n}\n\n/**\n * Collapses an array of tool call chunks into complete tool calls.\n *\n * This function groups tool call chunks by their id and/or index, then attempts to\n * parse and validate the accumulated arguments for each group. Successfully parsed\n * tool calls are returned as valid `ToolCall` objects, while malformed ones are\n * returned as `InvalidToolCall` objects.\n *\n * @param chunks - An array of `ToolCallChunk` objects to collapse\n * @returns An object containing:\n * - `tool_call_chunks`: The original input chunks\n * - `tool_calls`: An array of successfully parsed and validated tool calls\n * - `invalid_tool_calls`: An array of tool calls that failed parsing or validation\n *\n * @remarks\n * Chunks are grouped using the following matching logic:\n * - If a chunk has both an id and index, it matches chunks with the same id and index\n * - If a chunk has only an id, it matches chunks with the same id\n * - If a chunk has only an index, it matches chunks with the same index\n *\n * For each group, the function:\n * 1. Concatenates all `args` strings from the chunks\n * 2. Attempts to parse the concatenated string as JSON\n * 3. Validates that the result is a non-null object with a valid id\n * 4. Creates either a `ToolCall` (if valid) or `InvalidToolCall` (if invalid)\n */\nexport function collapseToolCallChunks(chunks: ToolCallChunk[]): {\n tool_call_chunks: ToolCallChunk[];\n tool_calls: ToolCall[];\n invalid_tool_calls: InvalidToolCall[];\n} {\n const groupedToolCallChunks = chunks.reduce((acc, chunk) => {\n const matchedChunkIndex = acc.findIndex(([match]) => {\n // If chunk has an id and index, match if both are present\n if (\n \"id\" in chunk &&\n chunk.id &&\n \"index\" in chunk &&\n chunk.index !== undefined\n ) {\n return chunk.id === match.id && chunk.index === match.index;\n }\n // If chunk has an id, we match on id\n if (\"id\" in chunk && chunk.id) {\n return chunk.id === match.id;\n }\n // If chunk has an index, we match on index\n if (\"index\" in chunk && chunk.index !== undefined) {\n return chunk.index === match.index;\n }\n return false;\n });\n if (matchedChunkIndex !== -1) {\n acc[matchedChunkIndex].push(chunk);\n } else {\n acc.push([chunk]);\n }\n return acc;\n }, [] as ToolCallChunk[][]);\n\n const toolCalls: ToolCall[] = [];\n const invalidToolCalls: InvalidToolCall[] = [];\n for (const chunks of groupedToolCallChunks) {\n let parsedArgs: Record<string, unknown> | null = null;\n const name = chunks[0]?.name ?? \"\";\n const joinedArgs = chunks\n .map((c) => c.args || \"\")\n .join(\"\")\n .trim();\n const argsStr = joinedArgs.length ? joinedArgs : \"{}\";\n const id = chunks[0]?.id;\n try {\n parsedArgs = parsePartialJson(argsStr);\n if (\n !id ||\n parsedArgs === null ||\n typeof parsedArgs !== \"object\" ||\n Array.isArray(parsedArgs)\n ) {\n throw new Error(\"Malformed tool call chunk args.\");\n }\n toolCalls.push({\n name,\n args: parsedArgs,\n id,\n type: \"tool_call\",\n });\n } catch {\n invalidToolCalls.push({\n name,\n args: argsStr,\n id,\n error: \"Malformed args.\",\n type: \"invalid_tool_call\",\n });\n }\n }\n return {\n tool_call_chunks: chunks,\n tool_calls: toolCalls,\n invalid_tool_calls: invalidToolCalls,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/messages/utils.ts"],"sourcesContent":["import { addLangChainErrorFields } from \"../errors/index.js\";\nimport { SerializedConstructor } from \"../load/serializable.js\";\nimport { _isToolCall } from \"../tools/utils.js\";\nimport { parsePartialJson } from \"../utils/json.js\";\nimport { AIMessage, AIMessageChunk, AIMessageChunkFields } from \"./ai.js\";\nimport {\n BaseMessageLike,\n BaseMessage,\n isBaseMessage,\n StoredMessage,\n StoredMessageV1,\n BaseMessageFields,\n _isMessageFieldWithRole,\n} from \"./base.js\";\nimport { ChatMessage, ChatMessageFields, ChatMessageChunk } from \"./chat.js\";\nimport {\n FunctionMessage,\n FunctionMessageChunk,\n FunctionMessageFields,\n} from \"./function.js\";\nimport { HumanMessage, HumanMessageChunk } from \"./human.js\";\nimport { RemoveMessage } from \"./modifier.js\";\nimport { SystemMessage, SystemMessageChunk } from \"./system.js\";\nimport {\n InvalidToolCall,\n ToolCall,\n ToolCallChunk,\n ToolMessage,\n ToolMessageFields,\n} from \"./tool.js\";\n\nexport type $Expand<T> = T extends infer U ? { [K in keyof U]: U[K] } : never;\n\n/**\n * Extracts the explicitly declared keys from a type T.\n *\n * @template T - The type to extract keys from\n * @returns A union of keys that are not string, number, or symbol\n */\ntype $KnownKeys<T> = {\n [K in keyof T]: string extends K\n ? never\n : number extends K\n ? never\n : symbol extends K\n ? never\n : K;\n}[keyof T];\n\n/**\n * Detects if T has an index signature.\n *\n * @template T - The type to check for index signatures\n * @returns True if T has an index signature, false otherwise\n */\ntype $HasIndexSignature<T> = string extends keyof T\n ? true\n : number extends keyof T\n ? true\n : symbol extends keyof T\n ? true\n : false;\n\n/**\n * Detects if T has an index signature and no known keys.\n *\n * @template T - The type to check for index signatures and no known keys\n * @returns True if T has an index signature and no known keys, false otherwise\n */\ntype $OnlyIndexSignatures<T> =\n $HasIndexSignature<T> extends true\n ? [$KnownKeys<T>] extends [never]\n ? true\n : false\n : false;\n\n/**\n * Recursively merges two object types T and U, with U taking precedence over T.\n *\n * This utility type performs a deep merge of two object types:\n * - For keys that exist in both T and U:\n * - If both values are objects (Record<string, unknown>), recursively merge them\n * - Otherwise, U's value takes precedence\n * - For keys that exist only in T, use T's value\n * - For keys that exist only in U, use U's value\n *\n * @template T - The first object type to merge\n * @template U - The second object type to merge (takes precedence over T)\n *\n * @example\n * ```ts\n * type ObjectA = {\n * shared: { a: string; b: number };\n * onlyInA: boolean;\n * };\n *\n * type ObjectB = {\n * shared: { b: string; c: Date };\n * onlyInB: symbol;\n * };\n *\n * type Merged = $MergeObjects<ObjectA, ObjectB>;\n * // Result: {\n * // shared: { a: string; b: string; c: Date };\n * // onlyInA: boolean;\n * // onlyInB: symbol;\n * // }\n * ```\n */\nexport type $MergeObjects<T, U> =\n // If U is purely index-signature based, prefer U as a whole\n $OnlyIndexSignatures<U> extends true\n ? U\n : // If T is purely index-signature based, prefer U as a whole (prevents leaking broad index signatures)\n $OnlyIndexSignatures<T> extends true\n ? U\n : {\n [K in keyof T | keyof U]: K extends keyof T\n ? K extends keyof U\n ? T[K] extends Record<string, unknown>\n ? U[K] extends Record<string, unknown>\n ? $MergeObjects<T[K], U[K]>\n : U[K]\n : U[K]\n : T[K]\n : K extends keyof U\n ? U[K]\n : never;\n };\n\n/**\n * Merges two discriminated unions A and B based on a discriminator key (defaults to \"type\").\n * For each possible value of the discriminator across both unions:\n * - If B has a member with that discriminator value, use B's member\n * - Otherwise use A's member with that discriminator value\n * This effectively merges the unions while giving B's members precedence over A's members.\n *\n * @template A - First discriminated union type that extends Record<Key, PropertyKey>\n * @template B - Second discriminated union type that extends Record<Key, PropertyKey>\n * @template Key - The discriminator key property, defaults to \"type\"\n */\nexport type $MergeDiscriminatedUnion<\n A extends Record<Key, PropertyKey>,\n B extends Record<Key, PropertyKey>,\n Key extends PropertyKey = \"type\",\n> = {\n // Create a mapped type over all possible discriminator values from both A and B\n [T in A[Key] | B[Key]]: [Extract<B, Record<Key, T>>] extends [never] // Check if B has a member with this discriminator value\n ? // If B doesn't have this discriminator value, use A's member\n Extract<A, Record<Key, T>>\n : // If B does have this discriminator value, merge A's and B's members (B takes precedence)\n [Extract<A, Record<Key, T>>] extends [never]\n ? Extract<B, Record<Key, T>>\n : $MergeObjects<Extract<A, Record<Key, T>>, Extract<B, Record<Key, T>>>;\n // Index into the mapped type with all possible discriminator values\n // This converts the mapped type back into a union\n}[A[Key] | B[Key]];\n\nexport type Constructor<T> = new (...args: unknown[]) => T;\n\n/**\n * Immediately-invoked function expression.\n *\n * @param fn - The function to execute\n * @returns The result of the function\n */\nexport const iife = <T>(fn: () => T) => fn();\n\nfunction _coerceToolCall(\n toolCall: ToolCall | Record<string, unknown>\n): ToolCall {\n if (_isToolCall(toolCall)) {\n return toolCall;\n } else if (\n typeof toolCall.id === \"string\" &&\n toolCall.type === \"function\" &&\n typeof toolCall.function === \"object\" &&\n toolCall.function !== null &&\n \"arguments\" in toolCall.function &&\n typeof toolCall.function.arguments === \"string\" &&\n \"name\" in toolCall.function &&\n typeof toolCall.function.name === \"string\"\n ) {\n // Handle OpenAI tool call format\n return {\n id: toolCall.id,\n args: JSON.parse(toolCall.function.arguments),\n name: toolCall.function.name,\n type: \"tool_call\",\n };\n } else {\n // TODO: Throw an error?\n return toolCall as unknown as ToolCall;\n }\n}\n\nfunction isSerializedConstructor(x: unknown): x is SerializedConstructor {\n return (\n typeof x === \"object\" &&\n x != null &&\n (x as SerializedConstructor).lc === 1 &&\n Array.isArray((x as SerializedConstructor).id) &&\n (x as SerializedConstructor).kwargs != null &&\n typeof (x as SerializedConstructor).kwargs === \"object\"\n );\n}\n\nfunction _constructMessageFromParams(\n params:\n | (BaseMessageFields & { type: string } & Record<string, unknown>)\n | SerializedConstructor\n) {\n let type: string;\n let rest: BaseMessageFields & Record<string, unknown>;\n // Support serialized messages\n if (isSerializedConstructor(params)) {\n const className = params.id.at(-1);\n if (className === \"HumanMessage\" || className === \"HumanMessageChunk\") {\n type = \"user\";\n } else if (className === \"AIMessage\" || className === \"AIMessageChunk\") {\n type = \"assistant\";\n } else if (\n className === \"SystemMessage\" ||\n className === \"SystemMessageChunk\"\n ) {\n type = \"system\";\n } else if (\n className === \"FunctionMessage\" ||\n className === \"FunctionMessageChunk\"\n ) {\n type = \"function\";\n } else if (\n className === \"ToolMessage\" ||\n className === \"ToolMessageChunk\"\n ) {\n type = \"tool\";\n } else {\n type = \"unknown\";\n }\n rest = params.kwargs as BaseMessageFields;\n } else {\n const { type: extractedType, ...otherParams } = params;\n type = extractedType;\n rest = otherParams;\n }\n if (type === \"human\" || type === \"user\") {\n return new HumanMessage(rest);\n } else if (type === \"ai\" || type === \"assistant\") {\n const { tool_calls: rawToolCalls, ...other } = rest;\n if (!Array.isArray(rawToolCalls)) {\n return new AIMessage(rest);\n }\n const tool_calls = rawToolCalls.map(_coerceToolCall);\n return new AIMessage({ ...other, tool_calls });\n } else if (type === \"system\") {\n return new SystemMessage(rest);\n } else if (type === \"developer\") {\n return new SystemMessage({\n ...rest,\n additional_kwargs: {\n ...rest.additional_kwargs,\n __openai_role__: \"developer\",\n },\n });\n } else if (type === \"tool\" && \"tool_call_id\" in rest) {\n return new ToolMessage({\n ...rest,\n content: rest.content,\n tool_call_id: rest.tool_call_id as string,\n name: rest.name,\n });\n } else if (type === \"remove\" && \"id\" in rest && typeof rest.id === \"string\") {\n return new RemoveMessage({ ...rest, id: rest.id });\n } else {\n const error = addLangChainErrorFields(\n new Error(\n `Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.\\n\\nReceived: ${JSON.stringify(\n params,\n null,\n 2\n )}`\n ),\n \"MESSAGE_COERCION_FAILURE\"\n );\n throw error;\n }\n}\n\nexport function coerceMessageLikeToMessage(\n messageLike: BaseMessageLike\n): BaseMessage {\n if (typeof messageLike === \"string\") {\n return new HumanMessage(messageLike);\n } else if (isBaseMessage(messageLike)) {\n return messageLike;\n }\n if (Array.isArray(messageLike)) {\n const [type, content] = messageLike;\n return _constructMessageFromParams({ type, content });\n } else if (_isMessageFieldWithRole(messageLike)) {\n const { role: type, ...rest } = messageLike;\n return _constructMessageFromParams({ ...rest, type });\n } else {\n return _constructMessageFromParams(messageLike);\n }\n}\n\n/**\n * Renders a single content block to a compact string representation.\n * Text blocks are returned as-is; multimodal blocks (image, audio, video, file)\n * become short placeholders like `[image]` so their existence is preserved\n * without inflating token counts with base64 data or metadata.\n */\nfunction _contentBlockToString(\n block: string | { type?: string; [key: string]: unknown }\n): string {\n if (typeof block === \"string\") return block;\n switch (block.type) {\n case \"text\":\n return (block as { text: string }).text ?? \"\";\n case \"text-plain\":\n return (block as { text?: string }).text ?? \"[text-plain file]\";\n case \"image\":\n case \"image_url\":\n return \"[image]\";\n case \"audio\":\n case \"input_audio\":\n return \"[audio]\";\n case \"video\":\n return \"[video]\";\n case \"file\":\n return \"[file]\";\n case \"reasoning\":\n case \"tool_call\":\n case \"tool_call_chunk\":\n case \"invalid_tool_call\":\n case \"server_tool_call\":\n case \"server_tool_call_chunk\":\n case \"server_tool_call_result\":\n case \"non_standard\":\n return \"\";\n default:\n return block.type ? `[${block.type}]` : \"\";\n }\n}\n\n/**\n * This function is used by memory classes to get a string representation\n * of the chat message history, based on the message content and role.\n *\n * Produces compact output like:\n * ```\n * Human: What's the weather?\n * AI: Let me check...[tool_calls]\n * Tool: 72°F and sunny\n * ```\n *\n * This avoids token inflation from metadata when stringifying message objects directly.\n */\nexport function getBufferString(\n messages: BaseMessage[],\n humanPrefix = \"Human\",\n aiPrefix = \"AI\"\n): string {\n const string_messages: string[] = [];\n for (const m of messages) {\n let role: string;\n if (m.type === \"human\") {\n role = humanPrefix;\n } else if (m.type === \"ai\") {\n role = aiPrefix;\n } else if (m.type === \"system\") {\n role = \"System\";\n } else if (m.type === \"tool\") {\n role = \"Tool\";\n } else if (m.type === \"generic\") {\n role = (m as ChatMessage).role;\n } else {\n throw new Error(`Got unsupported message type: ${m.type}`);\n }\n const nameStr = m.name ? `${m.name}, ` : \"\";\n\n // Render content compactly: text as-is, multimodal blocks as placeholders\n const readableContent =\n typeof m.content === \"string\"\n ? m.content\n : Array.isArray(m.content)\n ? m.content.map(_contentBlockToString).filter(Boolean).join(\"\")\n : \"\";\n\n let message = `${role}: ${nameStr}${readableContent}`;\n\n // Include tool calls for AI messages (matching Python's get_buffer_string behavior)\n if (m.type === \"ai\") {\n const aiMessage = m as AIMessage;\n if (aiMessage.tool_calls && aiMessage.tool_calls.length > 0) {\n message += JSON.stringify(aiMessage.tool_calls);\n } else if (\n aiMessage.additional_kwargs &&\n \"function_call\" in aiMessage.additional_kwargs\n ) {\n // Legacy behavior assumes only one function call per message\n message += JSON.stringify(aiMessage.additional_kwargs.function_call);\n }\n }\n\n string_messages.push(message);\n }\n return string_messages.join(\"\\n\");\n}\n\n/**\n * Maps messages from an older format (V1) to the current `StoredMessage`\n * format. If the message is already in the `StoredMessage` format, it is\n * returned as is. Otherwise, it transforms the V1 message into a\n * `StoredMessage`. This function is important for maintaining\n * compatibility with older message formats.\n */\nfunction mapV1MessageToStoredMessage(\n message: StoredMessage | StoredMessageV1\n): StoredMessage {\n // TODO: Remove this mapper when we deprecate the old message format.\n if ((message as StoredMessage).data !== undefined) {\n return message as StoredMessage;\n } else {\n const v1Message = message as StoredMessageV1;\n return {\n type: v1Message.type,\n data: {\n content: v1Message.text,\n role: v1Message.role,\n name: undefined,\n tool_call_id: undefined,\n },\n };\n }\n}\n\nexport function mapStoredMessageToChatMessage(message: StoredMessage) {\n const storedMessage = mapV1MessageToStoredMessage(message);\n switch (storedMessage.type) {\n case \"human\":\n return new HumanMessage(storedMessage.data);\n case \"ai\":\n return new AIMessage(storedMessage.data);\n case \"system\":\n return new SystemMessage(storedMessage.data);\n case \"function\":\n if (storedMessage.data.name === undefined) {\n throw new Error(\"Name must be defined for function messages\");\n }\n return new FunctionMessage(storedMessage.data as FunctionMessageFields);\n case \"tool\":\n if (storedMessage.data.tool_call_id === undefined) {\n throw new Error(\"Tool call ID must be defined for tool messages\");\n }\n return new ToolMessage(storedMessage.data as ToolMessageFields);\n case \"generic\": {\n if (storedMessage.data.role === undefined) {\n throw new Error(\"Role must be defined for chat messages\");\n }\n return new ChatMessage(storedMessage.data as ChatMessageFields);\n }\n default:\n throw new Error(`Got unexpected type: ${storedMessage.type}`);\n }\n}\n\n/**\n * Transforms an array of `StoredMessage` instances into an array of\n * `BaseMessage` instances. It uses the `mapV1MessageToStoredMessage`\n * function to ensure all messages are in the `StoredMessage` format, then\n * creates new instances of the appropriate `BaseMessage` subclass based\n * on the type of each message. This function is used to prepare stored\n * messages for use in a chat context.\n */\nexport function mapStoredMessagesToChatMessages(\n messages: StoredMessage[]\n): BaseMessage[] {\n return messages.map(mapStoredMessageToChatMessage);\n}\n\n/**\n * Transforms an array of `BaseMessage` instances into an array of\n * `StoredMessage` instances. It does this by calling the `toDict` method\n * on each `BaseMessage`, which returns a `StoredMessage`. This function\n * is used to prepare chat messages for storage.\n */\nexport function mapChatMessagesToStoredMessages(\n messages: BaseMessage[]\n): StoredMessage[] {\n return messages.map((message) => message.toDict());\n}\n\nexport function convertToChunk(message: BaseMessage) {\n const type = message._getType();\n if (type === \"human\") {\n return new HumanMessageChunk({ ...message });\n } else if (type === \"ai\") {\n let aiChunkFields: AIMessageChunkFields = {\n ...message,\n };\n if (\"tool_calls\" in aiChunkFields) {\n aiChunkFields = {\n ...aiChunkFields,\n tool_call_chunks: aiChunkFields.tool_calls?.map((tc) => ({\n ...tc,\n type: \"tool_call_chunk\",\n index: undefined,\n args: JSON.stringify(tc.args),\n })),\n };\n }\n return new AIMessageChunk({ ...aiChunkFields });\n } else if (type === \"system\") {\n return new SystemMessageChunk({ ...message });\n } else if (type === \"function\") {\n return new FunctionMessageChunk({ ...message });\n } else if (ChatMessage.isInstance(message)) {\n return new ChatMessageChunk({ ...message });\n } else {\n throw new Error(\"Unknown message type.\");\n }\n}\n\n/**\n * Collapses an array of tool call chunks into complete tool calls.\n *\n * This function groups tool call chunks by their id and/or index, then attempts to\n * parse and validate the accumulated arguments for each group. Successfully parsed\n * tool calls are returned as valid `ToolCall` objects, while malformed ones are\n * returned as `InvalidToolCall` objects.\n *\n * @param chunks - An array of `ToolCallChunk` objects to collapse\n * @returns An object containing:\n * - `tool_call_chunks`: The original input chunks\n * - `tool_calls`: An array of successfully parsed and validated tool calls\n * - `invalid_tool_calls`: An array of tool calls that failed parsing or validation\n *\n * @remarks\n * Chunks are grouped using the following matching logic:\n * - If a chunk has both an id and index, it matches chunks with the same id and index\n * - If a chunk has only an id, it matches chunks with the same id\n * - If a chunk has only an index, it matches chunks with the same index\n *\n * For each group, the function:\n * 1. Concatenates all `args` strings from the chunks\n * 2. Attempts to parse the concatenated string as JSON\n * 3. Validates that the result is a non-null object with a valid id\n * 4. Creates either a `ToolCall` (if valid) or `InvalidToolCall` (if invalid)\n */\nexport function collapseToolCallChunks(chunks: ToolCallChunk[]): {\n tool_call_chunks: ToolCallChunk[];\n tool_calls: ToolCall[];\n invalid_tool_calls: InvalidToolCall[];\n} {\n const groupedToolCallChunks = chunks.reduce((acc, chunk) => {\n const matchedChunkIndex = acc.findIndex(([match]) => {\n // If chunk has an id and index, match if both are present\n if (\n \"id\" in chunk &&\n chunk.id &&\n \"index\" in chunk &&\n chunk.index !== undefined\n ) {\n return chunk.id === match.id && chunk.index === match.index;\n }\n // If chunk has an id, we match on id\n if (\"id\" in chunk && chunk.id) {\n return chunk.id === match.id;\n }\n // If chunk has an index, we match on index\n if (\"index\" in chunk && chunk.index !== undefined) {\n return chunk.index === match.index;\n }\n return false;\n });\n if (matchedChunkIndex !== -1) {\n acc[matchedChunkIndex].push(chunk);\n } else {\n acc.push([chunk]);\n }\n return acc;\n }, [] as ToolCallChunk[][]);\n\n const toolCalls: ToolCall[] = [];\n const invalidToolCalls: InvalidToolCall[] = [];\n for (const chunks of groupedToolCallChunks) {\n let parsedArgs: Record<string, unknown> | null = null;\n const name = chunks[0]?.name ?? \"\";\n const joinedArgs = chunks\n .map((c) => c.args || \"\")\n .join(\"\")\n .trim();\n const argsStr = joinedArgs.length ? joinedArgs : \"{}\";\n const id = chunks[0]?.id;\n try {\n parsedArgs = parsePartialJson(argsStr);\n if (\n !id ||\n parsedArgs === null ||\n typeof parsedArgs !== \"object\" ||\n Array.isArray(parsedArgs)\n ) {\n throw new Error(\"Malformed tool call chunk args.\");\n }\n toolCalls.push({\n name,\n args: parsedArgs,\n id,\n type: \"tool_call\",\n });\n } catch {\n invalidToolCalls.push({\n name,\n args: argsStr,\n id,\n error: \"Malformed args.\",\n type: \"invalid_tool_call\",\n });\n }\n }\n return {\n tool_call_chunks: chunks,\n tool_calls: toolCalls,\n invalid_tool_calls: invalidToolCalls,\n };\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- const require_index = require('../errors/index.cjs');
2
- const require_base = require('../runnables/base.cjs');
3
- require('../runnables/index.cjs');
4
-
1
+ const require_errors_index = require("../errors/index.cjs");
2
+ const require_base = require("../runnables/base.cjs");
3
+ require("../runnables/index.cjs");
5
4
  //#region src/output_parsers/base.ts
6
5
  /**
7
6
  * Abstract base class for parsing the output of a Large Language Model
@@ -37,14 +36,14 @@ var BaseLLMOutputParser = class extends require_base.Runnable {
37
36
  * @returns A promise of the parsed output.
38
37
  */
39
38
  async invoke(input, options) {
40
- if (typeof input === "string") return this._callWithConfig(async (input$1, options$1) => this.parseResult([{ text: input$1 }], options$1?.callbacks), input, {
39
+ if (typeof input === "string") return this._callWithConfig(async (input, options) => this.parseResult([{ text: input }], options?.callbacks), input, {
41
40
  ...options,
42
41
  runType: "parser"
43
42
  });
44
- else return this._callWithConfig(async (input$1, options$1) => this.parseResult([{
45
- message: input$1,
46
- text: this._baseMessageToString(input$1)
47
- }], options$1?.callbacks), input, {
43
+ else return this._callWithConfig(async (input, options) => this.parseResult([{
44
+ message: input,
45
+ text: this._baseMessageToString(input)
46
+ }], options?.callbacks), input, {
48
47
  ...options,
49
48
  runType: "parser"
50
49
  });
@@ -97,12 +96,12 @@ var OutputParserException = class extends Error {
97
96
  if (sendToLLM) {
98
97
  if (observation === void 0 || llmOutput === void 0) throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");
99
98
  }
100
- require_index.addLangChainErrorFields(this, "OUTPUT_PARSING_FAILURE");
99
+ require_errors_index.addLangChainErrorFields(this, "OUTPUT_PARSING_FAILURE");
101
100
  }
102
101
  };
103
-
104
102
  //#endregion
105
103
  exports.BaseLLMOutputParser = BaseLLMOutputParser;
106
104
  exports.BaseOutputParser = BaseOutputParser;
107
105
  exports.OutputParserException = OutputParserException;
106
+
108
107
  //# sourceMappingURL=base.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.cjs","names":["Runnable","generations: Generation[] | ChatGeneration[]","_prompt: BasePromptValueInterface","callbacks?: Callbacks","message: BaseMessage","content: ContentBlock[]","input: string | BaseMessage","options?: RunnableConfig","input: string","options","input","input: BaseMessage","text: string","message: string","llmOutput?: string","observation?: string","addLangChainErrorFields"],"sources":["../../src/output_parsers/base.ts"],"sourcesContent":["import { Runnable } from \"../runnables/index.js\";\nimport type { RunnableConfig } from \"../runnables/config.js\";\nimport type { BasePromptValueInterface } from \"../prompt_values.js\";\nimport type { BaseMessage, ContentBlock } from \"../messages/index.js\";\nimport type { Callbacks } from \"../callbacks/manager.js\";\nimport type { Generation, ChatGeneration } from \"../outputs.js\";\nimport { addLangChainErrorFields } from \"../errors/index.js\";\n\n/**\n * Options for formatting instructions.\n */\nexport interface FormatInstructionsOptions {}\n\n/**\n * Abstract base class for parsing the output of a Large Language Model\n * (LLM) call. It provides methods for parsing the result of an LLM call\n * and invoking the parser with a given input.\n */\nexport abstract class BaseLLMOutputParser<T = unknown> extends Runnable<\n string | BaseMessage,\n T\n> {\n /**\n * Parses the result of an LLM call. This method is meant to be\n * implemented by subclasses to define how the output from the LLM should\n * be parsed.\n * @param generations The generations from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n abstract parseResult(\n generations: Generation[] | ChatGeneration[],\n callbacks?: Callbacks\n ): Promise<T>;\n\n /**\n * Parses the result of an LLM call with a given prompt. By default, it\n * simply calls `parseResult`.\n * @param generations The generations from an LLM call.\n * @param _prompt The prompt used in the LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parseResultWithPrompt(\n generations: Generation[] | ChatGeneration[],\n _prompt: BasePromptValueInterface,\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parseResult(generations, callbacks);\n }\n\n protected _baseMessageToString(message: BaseMessage): string {\n return typeof message.content === \"string\"\n ? message.content\n : this._baseMessageContentToString(message.content);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return JSON.stringify(content);\n }\n\n /**\n * Calls the parser with a given input and optional configuration options.\n * If the input is a string, it creates a generation with the input as\n * text and calls `parseResult`. If the input is a `BaseMessage`, it\n * creates a generation with the input as a message and the content of the\n * input as text, and then calls `parseResult`.\n * @param input The input to the parser, which can be a string or a `BaseMessage`.\n * @param options Optional configuration options.\n * @returns A promise of the parsed output.\n */\n async invoke(\n input: string | BaseMessage,\n options?: RunnableConfig\n ): Promise<T> {\n if (typeof input === \"string\") {\n return this._callWithConfig(\n async (input: string, options): Promise<T> =>\n this.parseResult([{ text: input }], options?.callbacks),\n input,\n { ...options, runType: \"parser\" }\n );\n } else {\n return this._callWithConfig(\n async (input: BaseMessage, options): Promise<T> =>\n this.parseResult(\n [\n {\n message: input,\n text: this._baseMessageToString(input),\n },\n ],\n options?.callbacks\n ),\n input,\n { ...options, runType: \"parser\" }\n );\n }\n }\n}\n\n/**\n * Class to parse the output of an LLM call.\n */\nexport abstract class BaseOutputParser<\n T = unknown\n> extends BaseLLMOutputParser<T> {\n parseResult(\n generations: Generation[] | ChatGeneration[],\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parse(generations[0].text, callbacks);\n }\n\n /**\n * Parse the output of an LLM call.\n *\n * @param text - LLM output to parse.\n * @returns Parsed output.\n */\n abstract parse(text: string, callbacks?: Callbacks): Promise<T>;\n\n async parseWithPrompt(\n text: string,\n _prompt: BasePromptValueInterface,\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parse(text, callbacks);\n }\n\n /**\n * Return a string describing the format of the output.\n * @returns Format instructions.\n * @param options - Options for formatting instructions.\n * @example\n * ```json\n * {\n * \"foo\": \"bar\"\n * }\n * ```\n */\n abstract getFormatInstructions(options?: FormatInstructionsOptions): string;\n\n /**\n * Return the string type key uniquely identifying this class of parser\n */\n _type(): string {\n throw new Error(\"_type not implemented\");\n }\n}\n\n/**\n * Exception that output parsers should raise to signify a parsing error.\n *\n * This exists to differentiate parsing errors from other code or execution errors\n * that also may arise inside the output parser. OutputParserExceptions will be\n * available to catch and handle in ways to fix the parsing error, while other\n * errors will be raised.\n *\n * @param message - The error that's being re-raised or an error message.\n * @param llmOutput - String model output which is error-ing.\n * @param observation - String explanation of error which can be passed to a\n * model to try and remediate the issue.\n * @param sendToLLM - Whether to send the observation and llm_output back to an Agent\n * after an OutputParserException has been raised. This gives the underlying\n * model driving the agent the context that the previous output was improperly\n * structured, in the hopes that it will update the output to the correct\n * format.\n */\nexport class OutputParserException extends Error {\n llmOutput?: string;\n\n observation?: string;\n\n sendToLLM: boolean;\n\n constructor(\n message: string,\n llmOutput?: string,\n observation?: string,\n sendToLLM = false\n ) {\n super(message);\n this.llmOutput = llmOutput;\n this.observation = observation;\n this.sendToLLM = sendToLLM;\n\n if (sendToLLM) {\n if (observation === undefined || llmOutput === undefined) {\n throw new Error(\n \"Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true\"\n );\n }\n }\n\n addLangChainErrorFields(this, \"OUTPUT_PARSING_FAILURE\");\n }\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAsB,sBAAtB,cAA+DA,sBAG7D;;;;;;;;;CAsBA,sBACEC,aACAC,SACAC,WACY;AACZ,SAAO,KAAK,YAAY,aAAa,UAAU;CAChD;CAED,AAAU,qBAAqBC,SAA8B;AAC3D,SAAO,OAAO,QAAQ,YAAY,WAC9B,QAAQ,UACR,KAAK,4BAA4B,QAAQ,QAAQ;CACtD;CAED,AAAU,4BAA4BC,SAAiC;AACrE,SAAO,KAAK,UAAU,QAAQ;CAC/B;;;;;;;;;;;CAYD,MAAM,OACJC,OACAC,SACY;AACZ,MAAI,OAAO,UAAU,SACnB,QAAO,KAAK,gBACV,OAAOC,SAAeC,cACpB,KAAK,YAAY,CAAC,EAAE,MAAMC,QAAO,CAAC,GAAED,WAAS,UAAU,EACzD,OACA;GAAE,GAAG;GAAS,SAAS;EAAU,EAClC;MAED,QAAO,KAAK,gBACV,OAAOE,SAAoBF,cACzB,KAAK,YACH,CACE;GACE,SAASC;GACT,MAAM,KAAK,qBAAqBA,QAAM;EACvC,CACF,GACDD,WAAS,UACV,EACH,OACA;GAAE,GAAG;GAAS,SAAS;EAAU,EAClC;CAEJ;AACF;;;;AAKD,IAAsB,mBAAtB,cAEU,oBAAuB;CAC/B,YACER,aACAE,WACY;AACZ,SAAO,KAAK,MAAM,YAAY,GAAG,MAAM,UAAU;CAClD;CAUD,MAAM,gBACJS,MACAV,SACAC,WACY;AACZ,SAAO,KAAK,MAAM,MAAM,UAAU;CACnC;;;;CAkBD,QAAgB;AACd,QAAM,IAAI,MAAM;CACjB;AACF;;;;;;;;;;;;;;;;;;;AAoBD,IAAa,wBAAb,cAA2C,MAAM;CAC/C;CAEA;CAEA;CAEA,YACEU,SACAC,WACAC,aACA,YAAY,OACZ;EACA,MAAM,QAAQ;EACd,KAAK,YAAY;EACjB,KAAK,cAAc;EACnB,KAAK,YAAY;AAEjB,MAAI,WACF;OAAI,gBAAgB,UAAa,cAAc,OAC7C,OAAM,IAAI,MACR;EAEH;EAGHC,sCAAwB,MAAM,yBAAyB;CACxD;AACF"}
1
+ {"version":3,"file":"base.cjs","names":["Runnable"],"sources":["../../src/output_parsers/base.ts"],"sourcesContent":["import { Runnable } from \"../runnables/index.js\";\nimport type { RunnableConfig } from \"../runnables/config.js\";\nimport type { BasePromptValueInterface } from \"../prompt_values.js\";\nimport type { BaseMessage, ContentBlock } from \"../messages/index.js\";\nimport type { Callbacks } from \"../callbacks/manager.js\";\nimport type { Generation, ChatGeneration } from \"../outputs.js\";\nimport { addLangChainErrorFields } from \"../errors/index.js\";\n\n/**\n * Options for formatting instructions.\n */\nexport interface FormatInstructionsOptions {}\n\n/**\n * Abstract base class for parsing the output of a Large Language Model\n * (LLM) call. It provides methods for parsing the result of an LLM call\n * and invoking the parser with a given input.\n */\nexport abstract class BaseLLMOutputParser<T = unknown> extends Runnable<\n string | BaseMessage,\n T\n> {\n /**\n * Parses the result of an LLM call. This method is meant to be\n * implemented by subclasses to define how the output from the LLM should\n * be parsed.\n * @param generations The generations from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n abstract parseResult(\n generations: Generation[] | ChatGeneration[],\n callbacks?: Callbacks\n ): Promise<T>;\n\n /**\n * Parses the result of an LLM call with a given prompt. By default, it\n * simply calls `parseResult`.\n * @param generations The generations from an LLM call.\n * @param _prompt The prompt used in the LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parseResultWithPrompt(\n generations: Generation[] | ChatGeneration[],\n _prompt: BasePromptValueInterface,\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parseResult(generations, callbacks);\n }\n\n protected _baseMessageToString(message: BaseMessage): string {\n return typeof message.content === \"string\"\n ? message.content\n : this._baseMessageContentToString(message.content);\n }\n\n protected _baseMessageContentToString(content: ContentBlock[]): string {\n return JSON.stringify(content);\n }\n\n /**\n * Calls the parser with a given input and optional configuration options.\n * If the input is a string, it creates a generation with the input as\n * text and calls `parseResult`. If the input is a `BaseMessage`, it\n * creates a generation with the input as a message and the content of the\n * input as text, and then calls `parseResult`.\n * @param input The input to the parser, which can be a string or a `BaseMessage`.\n * @param options Optional configuration options.\n * @returns A promise of the parsed output.\n */\n async invoke(\n input: string | BaseMessage,\n options?: RunnableConfig\n ): Promise<T> {\n if (typeof input === \"string\") {\n return this._callWithConfig(\n async (input: string, options): Promise<T> =>\n this.parseResult([{ text: input }], options?.callbacks),\n input,\n { ...options, runType: \"parser\" }\n );\n } else {\n return this._callWithConfig(\n async (input: BaseMessage, options): Promise<T> =>\n this.parseResult(\n [\n {\n message: input,\n text: this._baseMessageToString(input),\n },\n ],\n options?.callbacks\n ),\n input,\n { ...options, runType: \"parser\" }\n );\n }\n }\n}\n\n/**\n * Class to parse the output of an LLM call.\n */\nexport abstract class BaseOutputParser<\n T = unknown,\n> extends BaseLLMOutputParser<T> {\n parseResult(\n generations: Generation[] | ChatGeneration[],\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parse(generations[0].text, callbacks);\n }\n\n /**\n * Parse the output of an LLM call.\n *\n * @param text - LLM output to parse.\n * @returns Parsed output.\n */\n abstract parse(text: string, callbacks?: Callbacks): Promise<T>;\n\n async parseWithPrompt(\n text: string,\n _prompt: BasePromptValueInterface,\n callbacks?: Callbacks\n ): Promise<T> {\n return this.parse(text, callbacks);\n }\n\n /**\n * Return a string describing the format of the output.\n * @returns Format instructions.\n * @param options - Options for formatting instructions.\n * @example\n * ```json\n * {\n * \"foo\": \"bar\"\n * }\n * ```\n */\n abstract getFormatInstructions(options?: FormatInstructionsOptions): string;\n\n /**\n * Return the string type key uniquely identifying this class of parser\n */\n _type(): string {\n throw new Error(\"_type not implemented\");\n }\n}\n\n/**\n * Exception that output parsers should raise to signify a parsing error.\n *\n * This exists to differentiate parsing errors from other code or execution errors\n * that also may arise inside the output parser. OutputParserExceptions will be\n * available to catch and handle in ways to fix the parsing error, while other\n * errors will be raised.\n *\n * @param message - The error that's being re-raised or an error message.\n * @param llmOutput - String model output which is error-ing.\n * @param observation - String explanation of error which can be passed to a\n * model to try and remediate the issue.\n * @param sendToLLM - Whether to send the observation and llm_output back to an Agent\n * after an OutputParserException has been raised. This gives the underlying\n * model driving the agent the context that the previous output was improperly\n * structured, in the hopes that it will update the output to the correct\n * format.\n */\nexport class OutputParserException extends Error {\n llmOutput?: string;\n\n observation?: string;\n\n sendToLLM: boolean;\n\n constructor(\n message: string,\n llmOutput?: string,\n observation?: string,\n sendToLLM = false\n ) {\n super(message);\n this.llmOutput = llmOutput;\n this.observation = observation;\n this.sendToLLM = sendToLLM;\n\n if (sendToLLM) {\n if (observation === undefined || llmOutput === undefined) {\n throw new Error(\n \"Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true\"\n );\n }\n }\n\n addLangChainErrorFields(this, \"OUTPUT_PARSING_FAILURE\");\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,IAAsB,sBAAtB,cAA+DA,aAAAA,SAG7D;;;;;;;;;CAsBA,sBACE,aACA,SACA,WACY;AACZ,SAAO,KAAK,YAAY,aAAa,UAAU;;CAGjD,qBAA+B,SAA8B;AAC3D,SAAO,OAAO,QAAQ,YAAY,WAC9B,QAAQ,UACR,KAAK,4BAA4B,QAAQ,QAAQ;;CAGvD,4BAAsC,SAAiC;AACrE,SAAO,KAAK,UAAU,QAAQ;;;;;;;;;;;;CAahC,MAAM,OACJ,OACA,SACY;AACZ,MAAI,OAAO,UAAU,SACnB,QAAO,KAAK,gBACV,OAAO,OAAe,YACpB,KAAK,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,EAAE,SAAS,UAAU,EACzD,OACA;GAAE,GAAG;GAAS,SAAS;GAAU,CAClC;MAED,QAAO,KAAK,gBACV,OAAO,OAAoB,YACzB,KAAK,YACH,CACE;GACE,SAAS;GACT,MAAM,KAAK,qBAAqB,MAAM;GACvC,CACF,EACD,SAAS,UACV,EACH,OACA;GAAE,GAAG;GAAS,SAAS;GAAU,CAClC;;;;;;AAQP,IAAsB,mBAAtB,cAEU,oBAAuB;CAC/B,YACE,aACA,WACY;AACZ,SAAO,KAAK,MAAM,YAAY,GAAG,MAAM,UAAU;;CAWnD,MAAM,gBACJ,MACA,SACA,WACY;AACZ,SAAO,KAAK,MAAM,MAAM,UAAU;;;;;CAmBpC,QAAgB;AACd,QAAM,IAAI,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;AAsB5C,IAAa,wBAAb,cAA2C,MAAM;CAC/C;CAEA;CAEA;CAEA,YACE,SACA,WACA,aACA,YAAY,OACZ;AACA,QAAM,QAAQ;AACd,OAAK,YAAY;AACjB,OAAK,cAAc;AACnB,OAAK,YAAY;AAEjB,MAAI;OACE,gBAAgB,KAAA,KAAa,cAAc,KAAA,EAC7C,OAAM,IAAI,MACR,4EACD;;AAIL,uBAAA,wBAAwB,MAAM,yBAAyB"}
@@ -5,7 +5,6 @@ import { Callbacks } from "../callbacks/manager.cjs";
5
5
  import { RunnableConfig } from "../runnables/types.cjs";
6
6
  import { Runnable } from "../runnables/base.cjs";
7
7
  import { BasePromptValueInterface } from "../prompt_values.cjs";
8
-
9
8
  //#region src/output_parsers/base.d.ts
10
9
  /**
11
10
  * Options for formatting instructions.
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.cts","names":["Runnable","RunnableConfig","BasePromptValueInterface","BaseMessage","ContentBlock","Callbacks","Generation","ChatGeneration","FormatInstructionsOptions","BaseLLMOutputParser","T","Promise","BaseOutputParser","OutputParserException","Error"],"sources":["../../src/output_parsers/base.d.ts"],"sourcesContent":["import { Runnable } from \"../runnables/index.js\";\nimport type { RunnableConfig } from \"../runnables/config.js\";\nimport type { BasePromptValueInterface } from \"../prompt_values.js\";\nimport type { BaseMessage, ContentBlock } from \"../messages/index.js\";\nimport type { Callbacks } from \"../callbacks/manager.js\";\nimport type { Generation, ChatGeneration } from \"../outputs.js\";\n/**\n * Options for formatting instructions.\n */\nexport interface FormatInstructionsOptions {\n}\n/**\n * Abstract base class for parsing the output of a Large Language Model\n * (LLM) call. It provides methods for parsing the result of an LLM call\n * and invoking the parser with a given input.\n */\nexport declare abstract class BaseLLMOutputParser<T = unknown> extends Runnable<string | BaseMessage, T> {\n /**\n * Parses the result of an LLM call. This method is meant to be\n * implemented by subclasses to define how the output from the LLM should\n * be parsed.\n * @param generations The generations from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n abstract parseResult(generations: Generation[] | ChatGeneration[], callbacks?: Callbacks): Promise<T>;\n /**\n * Parses the result of an LLM call with a given prompt. By default, it\n * simply calls `parseResult`.\n * @param generations The generations from an LLM call.\n * @param _prompt The prompt used in the LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parseResultWithPrompt(generations: Generation[] | ChatGeneration[], _prompt: BasePromptValueInterface, callbacks?: Callbacks): Promise<T>;\n protected _baseMessageToString(message: BaseMessage): string;\n protected _baseMessageContentToString(content: ContentBlock[]): string;\n /**\n * Calls the parser with a given input and optional configuration options.\n * If the input is a string, it creates a generation with the input as\n * text and calls `parseResult`. If the input is a `BaseMessage`, it\n * creates a generation with the input as a message and the content of the\n * input as text, and then calls `parseResult`.\n * @param input The input to the parser, which can be a string or a `BaseMessage`.\n * @param options Optional configuration options.\n * @returns A promise of the parsed output.\n */\n invoke(input: string | BaseMessage, options?: RunnableConfig): Promise<T>;\n}\n/**\n * Class to parse the output of an LLM call.\n */\nexport declare abstract class BaseOutputParser<T = unknown> extends BaseLLMOutputParser<T> {\n parseResult(generations: Generation[] | ChatGeneration[], callbacks?: Callbacks): Promise<T>;\n /**\n * Parse the output of an LLM call.\n *\n * @param text - LLM output to parse.\n * @returns Parsed output.\n */\n abstract parse(text: string, callbacks?: Callbacks): Promise<T>;\n parseWithPrompt(text: string, _prompt: BasePromptValueInterface, callbacks?: Callbacks): Promise<T>;\n /**\n * Return a string describing the format of the output.\n * @returns Format instructions.\n * @param options - Options for formatting instructions.\n * @example\n * ```json\n * {\n * \"foo\": \"bar\"\n * }\n * ```\n */\n abstract getFormatInstructions(options?: FormatInstructionsOptions): string;\n /**\n * Return the string type key uniquely identifying this class of parser\n */\n _type(): string;\n}\n/**\n * Exception that output parsers should raise to signify a parsing error.\n *\n * This exists to differentiate parsing errors from other code or execution errors\n * that also may arise inside the output parser. OutputParserExceptions will be\n * available to catch and handle in ways to fix the parsing error, while other\n * errors will be raised.\n *\n * @param message - The error that's being re-raised or an error message.\n * @param llmOutput - String model output which is error-ing.\n * @param observation - String explanation of error which can be passed to a\n * model to try and remediate the issue.\n * @param sendToLLM - Whether to send the observation and llm_output back to an Agent\n * after an OutputParserException has been raised. This gives the underlying\n * model driving the agent the context that the previous output was improperly\n * structured, in the hopes that it will update the output to the correct\n * format.\n */\nexport declare class OutputParserException extends Error {\n llmOutput?: string;\n observation?: string;\n sendToLLM: boolean;\n constructor(message: string, llmOutput?: string, observation?: string, sendToLLM?: boolean);\n}\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;;;;;;AASiBQ,UAAAA,yBAAAA,CAAyB,CAO1C;;;;;;AASuGE,uBATzED,mBASyEC,CAAAA,IAAAA,OAAAA,CAAAA,SAThCV,QASgCU,CAAAA,MAAAA,GATdP,WAScO,EATDA,CASCA,CAAAA,CAAAA;EAARC;;;;;;;;EAW5CP,SAAAA,WAAAA,CAAAA,WAAAA,EAXbE,UAWaF,EAAAA,GAXEG,cAWFH,EAAAA,EAAAA,SAAAA,CAAAA,EAXgCC,SAWhCD,CAAAA,EAX4CO,OAW5CP,CAXoDM,CAWpDN,CAAAA;EAWxBD;;;;;AA/BoD;AAoC/E;;EAC6BG,qBAAAA,CAAAA,WAAAA,EAnBUA,UAmBVA,EAAAA,GAnByBC,cAmBzBD,EAAAA,EAAAA,OAAAA,EAnBoDJ,wBAmBpDI,EAAAA,SAAAA,CAAAA,EAnB0FD,SAmB1FC,CAAAA,EAnBsGK,OAmBtGL,CAnB8GI,CAmB9GJ,CAAAA;EAAeC,UAAAA,oBAAAA,CAAAA,OAAAA,EAlBAJ,WAkBAI,CAAAA,EAAAA,MAAAA;EAA8BF,UAAAA,2BAAAA,CAAAA,OAAAA,EAjBvBD,YAiBuBC,EAAAA,CAAAA,EAAAA,MAAAA;EAAoBK;;;;;;;;;;EAD1BD,MAAAA,CAAAA,KAAAA,EAAAA,MAAAA,GALzCN,WAKyCM,EAAAA,OAAAA,CAAAA,EALlBR,cAKkBQ,CAAAA,EALDE,OAKCF,CALOC,CAKPD,CAAAA;AAAmB;AA6CvF;;;uBA7C8BG,sCAAsCH,oBAAoBC;2BAC3DJ,eAAeC,8BAA8BF,YAAYM,QAAQD;;;;;;;2CAOjDL,YAAYM,QAAQD;yCACtBR,sCAAsCG,YAAYM,QAAQD;;;;;;;;;;;;2CAYxDF;;;;;;;;;;;;;;;;;;;;;;;;cAwBxBK,qBAAAA,SAA8BC,KAAK"}
1
+ {"version":3,"file":"base.d.cts","names":[],"sources":["../../src/output_parsers/base.ts"],"mappings":";;;;;;;;;;;UAWiB,yBAAA;;AAAjB;;;;uBAOsB,mBAAA,sBAAyC,QAAA,UACpD,WAAA,EACT,CAAA;EAFoB;;;;;;;;EAAA,SAYX,WAAA,CACP,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAAR;;;;;;;;EAUH,qBAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,OAAA,EAAS,wBAAA,EACT,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAAA,UAID,oBAAA,CAAqB,OAAA,EAAS,WAAA;EAAA,UAM9B,2BAAA,CAA4B,OAAA,EAAS,YAAA;EAiBpC;;;;;;;;;;EAHL,MAAA,CACJ,KAAA,WAAgB,WAAA,EAChB,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,CAAA;AAAA;;;;uBA8BS,gBAAA,sBAEZ,mBAAA,CAAoB,CAAA;EAC5B,WAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAnEX;;;;;;EAAA,SA6ES,KAAA,CAAM,IAAA,UAAc,SAAA,GAAY,SAAA,GAAY,OAAA,CAAQ,CAAA;EAEvD,eAAA,CACJ,IAAA,UACA,OAAA,EAAS,wBAAA,EACT,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EA/ER;;;;;;;;;;;EAAA,SA8FM,qBAAA,CAAsB,OAAA,GAAU,yBAAA;EApEvC;;;EAyEF,KAAA,CAAA;AAAA;AA1CF;;;;;;;;;;;;;;;;;;AAAA,cAiEa,qBAAA,SAA8B,KAAA;EACzC,SAAA;EAEA,WAAA;EAEA,SAAA;EAEA,WAAA,CACE,OAAA,UACA,SAAA,WACA,WAAA,WACA,SAAA;AAAA"}
@@ -3,12 +3,8 @@ import { BaseMessage } from "../messages/base.js";
3
3
  import { ChatGeneration, Generation } from "../outputs.js";
4
4
  import { Callbacks } from "../callbacks/manager.js";
5
5
  import { RunnableConfig } from "../runnables/types.js";
6
- import "../runnables/config.js";
7
6
  import { Runnable } from "../runnables/base.js";
8
7
  import { BasePromptValueInterface } from "../prompt_values.js";
9
- import "../messages/index.js";
10
- import "../runnables/index.js";
11
-
12
8
  //#region src/output_parsers/base.d.ts
13
9
  /**
14
10
  * Options for formatting instructions.
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","names":["Runnable","RunnableConfig","BasePromptValueInterface","BaseMessage","ContentBlock","Callbacks","Generation","ChatGeneration","FormatInstructionsOptions","BaseLLMOutputParser","T","Promise","BaseOutputParser","OutputParserException","Error"],"sources":["../../src/output_parsers/base.d.ts"],"sourcesContent":["import { Runnable } from \"../runnables/index.js\";\nimport type { RunnableConfig } from \"../runnables/config.js\";\nimport type { BasePromptValueInterface } from \"../prompt_values.js\";\nimport type { BaseMessage, ContentBlock } from \"../messages/index.js\";\nimport type { Callbacks } from \"../callbacks/manager.js\";\nimport type { Generation, ChatGeneration } from \"../outputs.js\";\n/**\n * Options for formatting instructions.\n */\nexport interface FormatInstructionsOptions {\n}\n/**\n * Abstract base class for parsing the output of a Large Language Model\n * (LLM) call. It provides methods for parsing the result of an LLM call\n * and invoking the parser with a given input.\n */\nexport declare abstract class BaseLLMOutputParser<T = unknown> extends Runnable<string | BaseMessage, T> {\n /**\n * Parses the result of an LLM call. This method is meant to be\n * implemented by subclasses to define how the output from the LLM should\n * be parsed.\n * @param generations The generations from an LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n abstract parseResult(generations: Generation[] | ChatGeneration[], callbacks?: Callbacks): Promise<T>;\n /**\n * Parses the result of an LLM call with a given prompt. By default, it\n * simply calls `parseResult`.\n * @param generations The generations from an LLM call.\n * @param _prompt The prompt used in the LLM call.\n * @param callbacks Optional callbacks.\n * @returns A promise of the parsed output.\n */\n parseResultWithPrompt(generations: Generation[] | ChatGeneration[], _prompt: BasePromptValueInterface, callbacks?: Callbacks): Promise<T>;\n protected _baseMessageToString(message: BaseMessage): string;\n protected _baseMessageContentToString(content: ContentBlock[]): string;\n /**\n * Calls the parser with a given input and optional configuration options.\n * If the input is a string, it creates a generation with the input as\n * text and calls `parseResult`. If the input is a `BaseMessage`, it\n * creates a generation with the input as a message and the content of the\n * input as text, and then calls `parseResult`.\n * @param input The input to the parser, which can be a string or a `BaseMessage`.\n * @param options Optional configuration options.\n * @returns A promise of the parsed output.\n */\n invoke(input: string | BaseMessage, options?: RunnableConfig): Promise<T>;\n}\n/**\n * Class to parse the output of an LLM call.\n */\nexport declare abstract class BaseOutputParser<T = unknown> extends BaseLLMOutputParser<T> {\n parseResult(generations: Generation[] | ChatGeneration[], callbacks?: Callbacks): Promise<T>;\n /**\n * Parse the output of an LLM call.\n *\n * @param text - LLM output to parse.\n * @returns Parsed output.\n */\n abstract parse(text: string, callbacks?: Callbacks): Promise<T>;\n parseWithPrompt(text: string, _prompt: BasePromptValueInterface, callbacks?: Callbacks): Promise<T>;\n /**\n * Return a string describing the format of the output.\n * @returns Format instructions.\n * @param options - Options for formatting instructions.\n * @example\n * ```json\n * {\n * \"foo\": \"bar\"\n * }\n * ```\n */\n abstract getFormatInstructions(options?: FormatInstructionsOptions): string;\n /**\n * Return the string type key uniquely identifying this class of parser\n */\n _type(): string;\n}\n/**\n * Exception that output parsers should raise to signify a parsing error.\n *\n * This exists to differentiate parsing errors from other code or execution errors\n * that also may arise inside the output parser. OutputParserExceptions will be\n * available to catch and handle in ways to fix the parsing error, while other\n * errors will be raised.\n *\n * @param message - The error that's being re-raised or an error message.\n * @param llmOutput - String model output which is error-ing.\n * @param observation - String explanation of error which can be passed to a\n * model to try and remediate the issue.\n * @param sendToLLM - Whether to send the observation and llm_output back to an Agent\n * after an OutputParserException has been raised. This gives the underlying\n * model driving the agent the context that the previous output was improperly\n * structured, in the hopes that it will update the output to the correct\n * format.\n */\nexport declare class OutputParserException extends Error {\n llmOutput?: string;\n observation?: string;\n sendToLLM: boolean;\n constructor(message: string, llmOutput?: string, observation?: string, sendToLLM?: boolean);\n}\n//# sourceMappingURL=base.d.ts.map"],"mappings":";;;;;;;;;;;;;;;UASiBQ,yBAAAA;;AAAjB;AAOA;;;AASsCF,uBATRG,mBASQH,CAAAA,IAAAA,OAAAA,CAAAA,SATiCN,QASjCM,CAAAA,MAAAA,GATmDH,WASnDG,EATgEI,CAShEJ,CAAAA,CAAAA;EAAeC;;;;;;;;EASsFG,SAAAA,WAAAA,CAAAA,WAAAA,EATrGJ,UASqGI,EAAAA,GATtFH,cASsFG,EAAAA,EAAAA,SAAAA,CAAAA,EATxDL,SASwDK,CAAAA,EAT5CC,OAS4CD,CATpCA,CASoCA,CAAAA;EAARC;;;;;;;;EAlBpD,qBAAA,CAAA,WAAA,EAkBxCL,UAlBwC,EAAA,GAkBzBC,cAlByB,EAAA,EAAA,OAAA,EAkBEL,wBAlBF,EAAA,SAAA,CAAA,EAkBwCG,SAlBxC,CAAA,EAkBoDM,OAlBpD,CAkB4DD,CAlB5D,CAAA;EAoCjDE,UAAAA,oBAAgBF,CAAAA,OAAA,EAjBFP,WAiBE,CAAA,EAAA,MAAA;EAA0CO,UAAAA,2BAAAA,CAAAA,OAAAA,EAhBrCN,YAgBqCM,EAAAA,CAAAA,EAAAA,MAAAA;EAC3DJ;;;;;;;;;;EAQwEI,MAAAA,CAAAA,KAAAA,EAAAA,MAAAA,GAd1EP,WAc0EO,EAAAA,OAAAA,CAAAA,EAdnDT,cAcmDS,CAAAA,EAdlCC,OAckCD,CAd1BA,CAc0BA,CAAAA;;;;AATd;AA6ClEG,uBA7CSD,gBA6C0B,CAAA,IAAA,OAAA,CAAA,SA7CYH,mBA6CZ,CA7CgCC,CA6ChC,CAAA,CAAA;2BA5C3BJ,eAAeC,8BAA8BF,YAAYM,QAAQD;;;;;;;2CAOjDL,YAAYM,QAAQD;yCACtBR,sCAAsCG,YAAYM,QAAQD;;;;;;;;;;;;2CAYxDF;;;;;;;;;;;;;;;;;;;;;;;;cAwBxBK,qBAAAA,SAA8BC,KAAK"}
1
+ {"version":3,"file":"base.d.ts","names":[],"sources":["../../src/output_parsers/base.ts"],"mappings":";;;;;;;;;;;UAWiB,yBAAA;;AAAjB;;;;uBAOsB,mBAAA,sBAAyC,QAAA,UACpD,WAAA,EACT,CAAA;EAFoB;;;;;;;;EAAA,SAYX,WAAA,CACP,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAAR;;;;;;;;EAUH,qBAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,OAAA,EAAS,wBAAA,EACT,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAAA,UAID,oBAAA,CAAqB,OAAA,EAAS,WAAA;EAAA,UAM9B,2BAAA,CAA4B,OAAA,EAAS,YAAA;EAiBpC;;;;;;;;;;EAHL,MAAA,CACJ,KAAA,WAAgB,WAAA,EAChB,OAAA,GAAU,cAAA,GACT,OAAA,CAAQ,CAAA;AAAA;;;;uBA8BS,gBAAA,sBAEZ,mBAAA,CAAoB,CAAA;EAC5B,WAAA,CACE,WAAA,EAAa,UAAA,KAAe,cAAA,IAC5B,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EAnEX;;;;;;EAAA,SA6ES,KAAA,CAAM,IAAA,UAAc,SAAA,GAAY,SAAA,GAAY,OAAA,CAAQ,CAAA;EAEvD,eAAA,CACJ,IAAA,UACA,OAAA,EAAS,wBAAA,EACT,SAAA,GAAY,SAAA,GACX,OAAA,CAAQ,CAAA;EA/ER;;;;;;;;;;;EAAA,SA8FM,qBAAA,CAAsB,OAAA,GAAU,yBAAA;EApEvC;;;EAyEF,KAAA,CAAA;AAAA;AA1CF;;;;;;;;;;;;;;;;;;AAAA,cAiEa,qBAAA,SAA8B,KAAA;EACzC,SAAA;EAEA,WAAA;EAEA,SAAA;EAEA,WAAA,CACE,OAAA,UACA,SAAA,WACA,WAAA,WACA,SAAA;AAAA"}