@langchain/core 1.1.24 → 1.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1103) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/_virtual/_rolldown/runtime.cjs +43 -0
  3. package/dist/_virtual/_rolldown/runtime.js +18 -0
  4. package/dist/agents.cjs +3 -1
  5. package/dist/agents.d.cts.map +1 -1
  6. package/dist/agents.d.ts.map +1 -1
  7. package/dist/agents.js +3 -1
  8. package/dist/caches/index.cjs +4 -4
  9. package/dist/caches/index.cjs.map +1 -1
  10. package/dist/caches/index.d.cts.map +1 -1
  11. package/dist/caches/index.d.ts.map +1 -1
  12. package/dist/caches/index.js +3 -4
  13. package/dist/caches/index.js.map +1 -1
  14. package/dist/callbacks/base.cjs +9 -16
  15. package/dist/callbacks/base.cjs.map +1 -1
  16. package/dist/callbacks/base.d.cts +1 -0
  17. package/dist/callbacks/base.d.cts.map +1 -1
  18. package/dist/callbacks/base.d.ts +1 -0
  19. package/dist/callbacks/base.d.ts.map +1 -1
  20. package/dist/callbacks/base.js +6 -15
  21. package/dist/callbacks/base.js.map +1 -1
  22. package/dist/callbacks/dispatch/index.cjs +6 -6
  23. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  24. package/dist/callbacks/dispatch/index.d.cts +0 -1
  25. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  26. package/dist/callbacks/dispatch/index.d.ts +0 -1
  27. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  28. package/dist/callbacks/dispatch/index.js +4 -5
  29. package/dist/callbacks/dispatch/index.js.map +1 -1
  30. package/dist/callbacks/dispatch/web.cjs +1 -0
  31. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  32. package/dist/callbacks/dispatch/web.d.cts +0 -1
  33. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  34. package/dist/callbacks/dispatch/web.d.ts +0 -1
  35. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  36. package/dist/callbacks/dispatch/web.js.map +1 -1
  37. package/dist/callbacks/manager.cjs +30 -50
  38. package/dist/callbacks/manager.cjs.map +1 -1
  39. package/dist/callbacks/manager.d.cts.map +1 -1
  40. package/dist/callbacks/manager.d.ts.map +1 -1
  41. package/dist/callbacks/manager.js +28 -49
  42. package/dist/callbacks/manager.js.map +1 -1
  43. package/dist/callbacks/promises.cjs +3 -3
  44. package/dist/callbacks/promises.js +2 -3
  45. package/dist/chat_history.cjs +4 -4
  46. package/dist/chat_history.cjs.map +1 -1
  47. package/dist/chat_history.d.cts +0 -1
  48. package/dist/chat_history.d.cts.map +1 -1
  49. package/dist/chat_history.d.ts +0 -1
  50. package/dist/chat_history.d.ts.map +1 -1
  51. package/dist/chat_history.js +3 -4
  52. package/dist/chat_history.js.map +1 -1
  53. package/dist/context.cjs +10 -2
  54. package/dist/context.cjs.map +1 -1
  55. package/dist/context.d.cts.map +1 -1
  56. package/dist/context.d.ts.map +1 -1
  57. package/dist/context.js +7 -0
  58. package/dist/context.js.map +1 -1
  59. package/dist/document_loaders/base.cjs +3 -3
  60. package/dist/document_loaders/base.cjs.map +1 -1
  61. package/dist/document_loaders/base.d.cts +0 -1
  62. package/dist/document_loaders/base.d.cts.map +1 -1
  63. package/dist/document_loaders/base.d.ts +0 -1
  64. package/dist/document_loaders/base.d.ts.map +1 -1
  65. package/dist/document_loaders/base.js +2 -3
  66. package/dist/document_loaders/base.js.map +1 -1
  67. package/dist/document_loaders/langsmith.cjs +4 -4
  68. package/dist/document_loaders/langsmith.cjs.map +1 -1
  69. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  70. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  71. package/dist/document_loaders/langsmith.js +2 -3
  72. package/dist/document_loaders/langsmith.js.map +1 -1
  73. package/dist/documents/document.cjs.map +1 -1
  74. package/dist/documents/document.d.cts.map +1 -1
  75. package/dist/documents/document.d.ts.map +1 -1
  76. package/dist/documents/document.js.map +1 -1
  77. package/dist/documents/index.cjs +3 -3
  78. package/dist/documents/index.js +2 -3
  79. package/dist/documents/transformers.cjs.map +1 -1
  80. package/dist/documents/transformers.d.cts +0 -1
  81. package/dist/documents/transformers.d.cts.map +1 -1
  82. package/dist/documents/transformers.d.ts +0 -1
  83. package/dist/documents/transformers.d.ts.map +1 -1
  84. package/dist/documents/transformers.js.map +1 -1
  85. package/dist/embeddings.cjs +3 -3
  86. package/dist/embeddings.cjs.map +1 -1
  87. package/dist/embeddings.d.cts +0 -1
  88. package/dist/embeddings.d.cts.map +1 -1
  89. package/dist/embeddings.d.ts +0 -1
  90. package/dist/embeddings.d.ts.map +1 -1
  91. package/dist/embeddings.js +2 -3
  92. package/dist/embeddings.js.map +1 -1
  93. package/dist/errors/index.cjs +141 -15
  94. package/dist/errors/index.cjs.map +1 -1
  95. package/dist/errors/index.d.cts +134 -11
  96. package/dist/errors/index.d.cts.map +1 -1
  97. package/dist/errors/index.d.ts +134 -11
  98. package/dist/errors/index.d.ts.map +1 -1
  99. package/dist/errors/index.js +138 -16
  100. package/dist/errors/index.js.map +1 -1
  101. package/dist/example_selectors/base.cjs.map +1 -1
  102. package/dist/example_selectors/base.d.cts +0 -1
  103. package/dist/example_selectors/base.d.cts.map +1 -1
  104. package/dist/example_selectors/base.d.ts +0 -1
  105. package/dist/example_selectors/base.d.ts.map +1 -1
  106. package/dist/example_selectors/base.js.map +1 -1
  107. package/dist/example_selectors/conditional.cjs +1 -2
  108. package/dist/example_selectors/conditional.cjs.map +1 -1
  109. package/dist/example_selectors/conditional.d.cts.map +1 -1
  110. package/dist/example_selectors/conditional.d.ts.map +1 -1
  111. package/dist/example_selectors/conditional.js +1 -2
  112. package/dist/example_selectors/conditional.js.map +1 -1
  113. package/dist/example_selectors/index.cjs +3 -3
  114. package/dist/example_selectors/index.js +2 -3
  115. package/dist/example_selectors/length_based.cjs +1 -2
  116. package/dist/example_selectors/length_based.cjs.map +1 -1
  117. package/dist/example_selectors/length_based.d.cts +0 -1
  118. package/dist/example_selectors/length_based.d.cts.map +1 -1
  119. package/dist/example_selectors/length_based.d.ts +0 -1
  120. package/dist/example_selectors/length_based.d.ts.map +1 -1
  121. package/dist/example_selectors/length_based.js +1 -2
  122. package/dist/example_selectors/length_based.js.map +1 -1
  123. package/dist/example_selectors/semantic_similarity.cjs +4 -8
  124. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  125. package/dist/example_selectors/semantic_similarity.d.cts +0 -1
  126. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  127. package/dist/example_selectors/semantic_similarity.d.ts +0 -1
  128. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  129. package/dist/example_selectors/semantic_similarity.js +4 -8
  130. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  131. package/dist/index.cjs +3 -1
  132. package/dist/index.js +3 -1
  133. package/dist/indexing/base.cjs +7 -11
  134. package/dist/indexing/base.cjs.map +1 -1
  135. package/dist/indexing/base.d.cts.map +1 -1
  136. package/dist/indexing/base.d.ts.map +1 -1
  137. package/dist/indexing/base.js +5 -9
  138. package/dist/indexing/base.js.map +1 -1
  139. package/dist/indexing/index.cjs +3 -3
  140. package/dist/indexing/index.js +2 -3
  141. package/dist/indexing/record_manager.cjs.map +1 -1
  142. package/dist/indexing/record_manager.d.cts.map +1 -1
  143. package/dist/indexing/record_manager.d.ts.map +1 -1
  144. package/dist/indexing/record_manager.js.map +1 -1
  145. package/dist/language_models/base.cjs +10 -14
  146. package/dist/language_models/base.cjs.map +1 -1
  147. package/dist/language_models/base.d.cts +2 -4
  148. package/dist/language_models/base.d.cts.map +1 -1
  149. package/dist/language_models/base.d.ts +2 -4
  150. package/dist/language_models/base.d.ts.map +1 -1
  151. package/dist/language_models/base.js +9 -14
  152. package/dist/language_models/base.js.map +1 -1
  153. package/dist/language_models/chat_models.cjs +19 -25
  154. package/dist/language_models/chat_models.cjs.map +1 -1
  155. package/dist/language_models/chat_models.d.cts.map +1 -1
  156. package/dist/language_models/chat_models.d.ts.map +1 -1
  157. package/dist/language_models/chat_models.js +18 -25
  158. package/dist/language_models/chat_models.js.map +1 -1
  159. package/dist/language_models/llms.cjs +12 -15
  160. package/dist/language_models/llms.cjs.map +1 -1
  161. package/dist/language_models/llms.d.cts.map +1 -1
  162. package/dist/language_models/llms.d.ts.map +1 -1
  163. package/dist/language_models/llms.js +11 -15
  164. package/dist/language_models/llms.js.map +1 -1
  165. package/dist/language_models/profile.cjs +3 -1
  166. package/dist/language_models/profile.d.cts.map +1 -1
  167. package/dist/language_models/profile.d.ts.map +1 -1
  168. package/dist/language_models/profile.js +3 -1
  169. package/dist/language_models/utils.cjs.map +1 -1
  170. package/dist/language_models/utils.js.map +1 -1
  171. package/dist/load/import_constants.cjs.map +1 -1
  172. package/dist/load/import_constants.js.map +1 -1
  173. package/dist/load/import_map.cjs +13 -14
  174. package/dist/load/import_map.js +13 -14
  175. package/dist/load/import_type.d.cts.map +1 -1
  176. package/dist/load/import_type.d.ts.map +1 -1
  177. package/dist/load/index.cjs +74 -13
  178. package/dist/load/index.cjs.map +1 -1
  179. package/dist/load/index.d.cts +13 -4
  180. package/dist/load/index.d.cts.map +1 -1
  181. package/dist/load/index.d.ts +13 -4
  182. package/dist/load/index.d.ts.map +1 -1
  183. package/dist/load/index.js +68 -8
  184. package/dist/load/index.js.map +1 -1
  185. package/dist/load/map_keys.cjs +5 -3
  186. package/dist/load/map_keys.cjs.map +1 -1
  187. package/dist/load/map_keys.d.cts.map +1 -1
  188. package/dist/load/map_keys.d.ts.map +1 -1
  189. package/dist/load/map_keys.js.map +1 -1
  190. package/dist/load/serializable.cjs +9 -19
  191. package/dist/load/serializable.cjs.map +1 -1
  192. package/dist/load/serializable.d.cts.map +1 -1
  193. package/dist/load/serializable.d.ts.map +1 -1
  194. package/dist/load/serializable.js +8 -19
  195. package/dist/load/serializable.js.map +1 -1
  196. package/dist/load/validation.cjs.map +1 -1
  197. package/dist/load/validation.js.map +1 -1
  198. package/dist/memory.cjs +3 -3
  199. package/dist/memory.cjs.map +1 -1
  200. package/dist/memory.d.cts.map +1 -1
  201. package/dist/memory.d.ts.map +1 -1
  202. package/dist/memory.js +2 -3
  203. package/dist/memory.js.map +1 -1
  204. package/dist/messages/ai.cjs.map +1 -1
  205. package/dist/messages/ai.d.cts.map +1 -1
  206. package/dist/messages/ai.d.ts.map +1 -1
  207. package/dist/messages/ai.js.map +1 -1
  208. package/dist/messages/base.cjs +10 -12
  209. package/dist/messages/base.cjs.map +1 -1
  210. package/dist/messages/base.d.cts +6 -3
  211. package/dist/messages/base.d.cts.map +1 -1
  212. package/dist/messages/base.d.ts +6 -3
  213. package/dist/messages/base.d.ts.map +1 -1
  214. package/dist/messages/base.js +10 -12
  215. package/dist/messages/base.js.map +1 -1
  216. package/dist/messages/block_translators/anthropic.cjs +30 -35
  217. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  218. package/dist/messages/block_translators/anthropic.js +30 -35
  219. package/dist/messages/block_translators/anthropic.js.map +1 -1
  220. package/dist/messages/block_translators/bedrock_converse.cjs +38 -46
  221. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  222. package/dist/messages/block_translators/bedrock_converse.js +38 -46
  223. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  224. package/dist/messages/block_translators/data.cjs.map +1 -1
  225. package/dist/messages/block_translators/data.js.map +1 -1
  226. package/dist/messages/block_translators/deepseek.cjs.map +1 -1
  227. package/dist/messages/block_translators/deepseek.js.map +1 -1
  228. package/dist/messages/block_translators/google.cjs +6 -9
  229. package/dist/messages/block_translators/google.cjs.map +1 -1
  230. package/dist/messages/block_translators/google.js +6 -9
  231. package/dist/messages/block_translators/google.js.map +1 -1
  232. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  233. package/dist/messages/block_translators/google_genai.js.map +1 -1
  234. package/dist/messages/block_translators/google_vertexai.cjs +1 -3
  235. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  236. package/dist/messages/block_translators/google_vertexai.js +1 -3
  237. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  238. package/dist/messages/block_translators/groq.cjs.map +1 -1
  239. package/dist/messages/block_translators/groq.js.map +1 -1
  240. package/dist/messages/block_translators/index.cjs.map +1 -1
  241. package/dist/messages/block_translators/index.js.map +1 -1
  242. package/dist/messages/block_translators/ollama.cjs.map +1 -1
  243. package/dist/messages/block_translators/ollama.js.map +1 -1
  244. package/dist/messages/block_translators/openai.cjs +6 -10
  245. package/dist/messages/block_translators/openai.cjs.map +1 -1
  246. package/dist/messages/block_translators/openai.js +6 -10
  247. package/dist/messages/block_translators/openai.js.map +1 -1
  248. package/dist/messages/block_translators/utils.cjs +1 -1
  249. package/dist/messages/block_translators/utils.cjs.map +1 -1
  250. package/dist/messages/block_translators/utils.js +1 -1
  251. package/dist/messages/block_translators/utils.js.map +1 -1
  252. package/dist/messages/block_translators/xai.cjs.map +1 -1
  253. package/dist/messages/block_translators/xai.js.map +1 -1
  254. package/dist/messages/chat.cjs.map +1 -1
  255. package/dist/messages/chat.d.cts.map +1 -1
  256. package/dist/messages/chat.d.ts.map +1 -1
  257. package/dist/messages/chat.js.map +1 -1
  258. package/dist/messages/content/base.d.cts.map +1 -1
  259. package/dist/messages/content/base.d.ts.map +1 -1
  260. package/dist/messages/content/data.cjs +1 -3
  261. package/dist/messages/content/data.cjs.map +1 -1
  262. package/dist/messages/content/data.d.cts +0 -1
  263. package/dist/messages/content/data.d.cts.map +1 -1
  264. package/dist/messages/content/data.d.ts +0 -1
  265. package/dist/messages/content/data.d.ts.map +1 -1
  266. package/dist/messages/content/data.js +1 -3
  267. package/dist/messages/content/data.js.map +1 -1
  268. package/dist/messages/content/index.cjs +2 -2
  269. package/dist/messages/content/index.cjs.map +1 -1
  270. package/dist/messages/content/index.d.cts.map +1 -1
  271. package/dist/messages/content/index.d.ts.map +1 -1
  272. package/dist/messages/content/index.js +6 -6
  273. package/dist/messages/content/index.js.map +1 -1
  274. package/dist/messages/content/multimodal.cjs.map +1 -1
  275. package/dist/messages/content/multimodal.d.cts +4 -8
  276. package/dist/messages/content/multimodal.d.cts.map +1 -1
  277. package/dist/messages/content/multimodal.d.ts +4 -8
  278. package/dist/messages/content/multimodal.d.ts.map +1 -1
  279. package/dist/messages/content/multimodal.js.map +1 -1
  280. package/dist/messages/content/tools.cjs.map +1 -1
  281. package/dist/messages/content/tools.d.cts.map +1 -1
  282. package/dist/messages/content/tools.d.ts.map +1 -1
  283. package/dist/messages/content/tools.js.map +1 -1
  284. package/dist/messages/format.cjs.map +1 -1
  285. package/dist/messages/format.d.cts.map +1 -1
  286. package/dist/messages/format.d.ts.map +1 -1
  287. package/dist/messages/format.js.map +1 -1
  288. package/dist/messages/function.cjs.map +1 -1
  289. package/dist/messages/function.d.cts.map +1 -1
  290. package/dist/messages/function.d.ts.map +1 -1
  291. package/dist/messages/function.js.map +1 -1
  292. package/dist/messages/human.cjs.map +1 -1
  293. package/dist/messages/human.d.cts.map +1 -1
  294. package/dist/messages/human.d.ts.map +1 -1
  295. package/dist/messages/human.js.map +1 -1
  296. package/dist/messages/index.cjs +4 -4
  297. package/dist/messages/index.js +3 -4
  298. package/dist/messages/message.cjs.map +1 -1
  299. package/dist/messages/message.d.cts +13 -24
  300. package/dist/messages/message.d.cts.map +1 -1
  301. package/dist/messages/message.d.ts +13 -24
  302. package/dist/messages/message.d.ts.map +1 -1
  303. package/dist/messages/message.js.map +1 -1
  304. package/dist/messages/metadata.cjs +1 -2
  305. package/dist/messages/metadata.cjs.map +1 -1
  306. package/dist/messages/metadata.d.cts.map +1 -1
  307. package/dist/messages/metadata.d.ts.map +1 -1
  308. package/dist/messages/metadata.js +1 -2
  309. package/dist/messages/metadata.js.map +1 -1
  310. package/dist/messages/modifier.cjs.map +1 -1
  311. package/dist/messages/modifier.d.cts.map +1 -1
  312. package/dist/messages/modifier.d.ts.map +1 -1
  313. package/dist/messages/modifier.js.map +1 -1
  314. package/dist/messages/system.cjs.map +1 -1
  315. package/dist/messages/system.d.cts.map +1 -1
  316. package/dist/messages/system.d.ts.map +1 -1
  317. package/dist/messages/system.js.map +1 -1
  318. package/dist/messages/tool.cjs +3 -3
  319. package/dist/messages/tool.cjs.map +1 -1
  320. package/dist/messages/tool.d.cts.map +1 -1
  321. package/dist/messages/tool.d.ts.map +1 -1
  322. package/dist/messages/tool.js +2 -3
  323. package/dist/messages/tool.js.map +1 -1
  324. package/dist/messages/transformers.cjs +8 -14
  325. package/dist/messages/transformers.cjs.map +1 -1
  326. package/dist/messages/transformers.d.cts.map +1 -1
  327. package/dist/messages/transformers.d.ts.map +1 -1
  328. package/dist/messages/transformers.js +8 -14
  329. package/dist/messages/transformers.js.map +1 -1
  330. package/dist/messages/utils.cjs +11 -14
  331. package/dist/messages/utils.cjs.map +1 -1
  332. package/dist/messages/utils.d.cts +7 -7
  333. package/dist/messages/utils.d.cts.map +1 -1
  334. package/dist/messages/utils.d.ts +7 -7
  335. package/dist/messages/utils.d.ts.map +1 -1
  336. package/dist/messages/utils.js +11 -14
  337. package/dist/messages/utils.js.map +1 -1
  338. package/dist/output_parsers/base.cjs +5 -5
  339. package/dist/output_parsers/base.cjs.map +1 -1
  340. package/dist/output_parsers/base.d.cts.map +1 -1
  341. package/dist/output_parsers/base.d.ts.map +1 -1
  342. package/dist/output_parsers/base.js +5 -5
  343. package/dist/output_parsers/base.js.map +1 -1
  344. package/dist/output_parsers/bytes.cjs.map +1 -1
  345. package/dist/output_parsers/bytes.d.cts +0 -1
  346. package/dist/output_parsers/bytes.d.cts.map +1 -1
  347. package/dist/output_parsers/bytes.d.ts +0 -1
  348. package/dist/output_parsers/bytes.d.ts.map +1 -1
  349. package/dist/output_parsers/bytes.js.map +1 -1
  350. package/dist/output_parsers/index.cjs +3 -3
  351. package/dist/output_parsers/index.js +2 -3
  352. package/dist/output_parsers/json.cjs +1 -1
  353. package/dist/output_parsers/json.cjs.map +1 -1
  354. package/dist/output_parsers/json.d.cts +0 -1
  355. package/dist/output_parsers/json.d.cts.map +1 -1
  356. package/dist/output_parsers/json.d.ts.map +1 -1
  357. package/dist/output_parsers/json.js +1 -1
  358. package/dist/output_parsers/json.js.map +1 -1
  359. package/dist/output_parsers/list.cjs.map +1 -1
  360. package/dist/output_parsers/list.d.cts +0 -1
  361. package/dist/output_parsers/list.d.cts.map +1 -1
  362. package/dist/output_parsers/list.d.ts +0 -1
  363. package/dist/output_parsers/list.d.ts.map +1 -1
  364. package/dist/output_parsers/list.js.map +1 -1
  365. package/dist/output_parsers/openai_functions/index.cjs +3 -3
  366. package/dist/output_parsers/openai_functions/index.js +2 -3
  367. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +6 -9
  368. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  369. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +0 -1
  370. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  371. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  372. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +6 -9
  373. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  374. package/dist/output_parsers/openai_tools/index.cjs +3 -3
  375. package/dist/output_parsers/openai_tools/index.js +2 -3
  376. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +14 -21
  377. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  378. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +1 -2
  379. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  380. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +1 -2
  381. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  382. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +14 -21
  383. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  384. package/dist/output_parsers/string.cjs +3 -0
  385. package/dist/output_parsers/string.cjs.map +1 -1
  386. package/dist/output_parsers/string.d.cts +0 -1
  387. package/dist/output_parsers/string.d.cts.map +1 -1
  388. package/dist/output_parsers/string.d.ts +0 -1
  389. package/dist/output_parsers/string.d.ts.map +1 -1
  390. package/dist/output_parsers/string.js +3 -0
  391. package/dist/output_parsers/string.js.map +1 -1
  392. package/dist/output_parsers/structured.cjs +10 -13
  393. package/dist/output_parsers/structured.cjs.map +1 -1
  394. package/dist/output_parsers/structured.d.cts.map +1 -1
  395. package/dist/output_parsers/structured.d.ts.map +1 -1
  396. package/dist/output_parsers/structured.js +8 -11
  397. package/dist/output_parsers/structured.js.map +1 -1
  398. package/dist/output_parsers/transform.cjs +3 -3
  399. package/dist/output_parsers/transform.cjs.map +1 -1
  400. package/dist/output_parsers/transform.d.cts +0 -1
  401. package/dist/output_parsers/transform.d.cts.map +1 -1
  402. package/dist/output_parsers/transform.d.ts +0 -1
  403. package/dist/output_parsers/transform.d.ts.map +1 -1
  404. package/dist/output_parsers/transform.js.map +1 -1
  405. package/dist/output_parsers/xml.cjs +4 -7
  406. package/dist/output_parsers/xml.cjs.map +1 -1
  407. package/dist/output_parsers/xml.d.cts.map +1 -1
  408. package/dist/output_parsers/xml.d.ts.map +1 -1
  409. package/dist/output_parsers/xml.js +4 -7
  410. package/dist/output_parsers/xml.js.map +1 -1
  411. package/dist/outputs.cjs +3 -3
  412. package/dist/outputs.cjs.map +1 -1
  413. package/dist/outputs.d.cts.map +1 -1
  414. package/dist/outputs.d.ts.map +1 -1
  415. package/dist/outputs.js +2 -3
  416. package/dist/outputs.js.map +1 -1
  417. package/dist/prompt_values.cjs +3 -3
  418. package/dist/prompt_values.cjs.map +1 -1
  419. package/dist/prompt_values.d.cts +1 -3
  420. package/dist/prompt_values.d.cts.map +1 -1
  421. package/dist/prompt_values.d.ts +1 -3
  422. package/dist/prompt_values.d.ts.map +1 -1
  423. package/dist/prompt_values.js +2 -3
  424. package/dist/prompt_values.js.map +1 -1
  425. package/dist/prompts/base.cjs +2 -3
  426. package/dist/prompts/base.cjs.map +1 -1
  427. package/dist/prompts/base.d.cts.map +1 -1
  428. package/dist/prompts/base.d.ts.map +1 -1
  429. package/dist/prompts/base.js +2 -3
  430. package/dist/prompts/base.js.map +1 -1
  431. package/dist/prompts/chat.cjs +22 -37
  432. package/dist/prompts/chat.cjs.map +1 -1
  433. package/dist/prompts/chat.d.cts +1 -0
  434. package/dist/prompts/chat.d.cts.map +1 -1
  435. package/dist/prompts/chat.d.ts +1 -0
  436. package/dist/prompts/chat.d.ts.map +1 -1
  437. package/dist/prompts/chat.js +22 -37
  438. package/dist/prompts/chat.js.map +1 -1
  439. package/dist/prompts/dict.cjs.map +1 -1
  440. package/dist/prompts/dict.d.cts.map +1 -1
  441. package/dist/prompts/dict.d.ts.map +1 -1
  442. package/dist/prompts/dict.js.map +1 -1
  443. package/dist/prompts/few_shot.cjs +9 -14
  444. package/dist/prompts/few_shot.cjs.map +1 -1
  445. package/dist/prompts/few_shot.d.cts.map +1 -1
  446. package/dist/prompts/few_shot.d.ts.map +1 -1
  447. package/dist/prompts/few_shot.js +9 -14
  448. package/dist/prompts/few_shot.js.map +1 -1
  449. package/dist/prompts/image.cjs +3 -5
  450. package/dist/prompts/image.cjs.map +1 -1
  451. package/dist/prompts/image.d.cts +0 -1
  452. package/dist/prompts/image.d.cts.map +1 -1
  453. package/dist/prompts/image.d.ts +0 -1
  454. package/dist/prompts/image.d.ts.map +1 -1
  455. package/dist/prompts/image.js +3 -5
  456. package/dist/prompts/image.js.map +1 -1
  457. package/dist/prompts/index.cjs +3 -3
  458. package/dist/prompts/index.js +2 -3
  459. package/dist/prompts/pipeline.cjs.map +1 -1
  460. package/dist/prompts/pipeline.d.cts +0 -1
  461. package/dist/prompts/pipeline.d.cts.map +1 -1
  462. package/dist/prompts/pipeline.d.ts +0 -1
  463. package/dist/prompts/pipeline.d.ts.map +1 -1
  464. package/dist/prompts/pipeline.js.map +1 -1
  465. package/dist/prompts/prompt.cjs +9 -12
  466. package/dist/prompts/prompt.cjs.map +1 -1
  467. package/dist/prompts/prompt.d.cts +0 -1
  468. package/dist/prompts/prompt.d.cts.map +1 -1
  469. package/dist/prompts/prompt.d.ts.map +1 -1
  470. package/dist/prompts/prompt.js +9 -12
  471. package/dist/prompts/prompt.js.map +1 -1
  472. package/dist/prompts/serde.d.cts +0 -1
  473. package/dist/prompts/serde.d.cts.map +1 -1
  474. package/dist/prompts/serde.d.ts +0 -1
  475. package/dist/prompts/serde.d.ts.map +1 -1
  476. package/dist/prompts/string.cjs +1 -2
  477. package/dist/prompts/string.cjs.map +1 -1
  478. package/dist/prompts/string.d.cts +0 -1
  479. package/dist/prompts/string.d.cts.map +1 -1
  480. package/dist/prompts/string.d.ts +0 -1
  481. package/dist/prompts/string.d.ts.map +1 -1
  482. package/dist/prompts/string.js +1 -2
  483. package/dist/prompts/string.js.map +1 -1
  484. package/dist/prompts/structured.cjs.map +1 -1
  485. package/dist/prompts/structured.d.cts +0 -1
  486. package/dist/prompts/structured.d.cts.map +1 -1
  487. package/dist/prompts/structured.d.ts.map +1 -1
  488. package/dist/prompts/structured.js.map +1 -1
  489. package/dist/prompts/template.cjs +7 -11
  490. package/dist/prompts/template.cjs.map +1 -1
  491. package/dist/prompts/template.d.cts +0 -1
  492. package/dist/prompts/template.d.cts.map +1 -1
  493. package/dist/prompts/template.d.ts.map +1 -1
  494. package/dist/prompts/template.js +4 -9
  495. package/dist/prompts/template.js.map +1 -1
  496. package/dist/retrievers/document_compressors/index.cjs +3 -3
  497. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  498. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  499. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  500. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  501. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  502. package/dist/retrievers/document_compressors/index.js +2 -3
  503. package/dist/retrievers/document_compressors/index.js.map +1 -1
  504. package/dist/retrievers/index.cjs +4 -5
  505. package/dist/retrievers/index.cjs.map +1 -1
  506. package/dist/retrievers/index.d.cts +0 -1
  507. package/dist/retrievers/index.d.cts.map +1 -1
  508. package/dist/retrievers/index.d.ts +0 -1
  509. package/dist/retrievers/index.d.ts.map +1 -1
  510. package/dist/retrievers/index.js +3 -5
  511. package/dist/retrievers/index.js.map +1 -1
  512. package/dist/runnables/base.cjs +44 -67
  513. package/dist/runnables/base.cjs.map +1 -1
  514. package/dist/runnables/base.d.cts +1 -2
  515. package/dist/runnables/base.d.cts.map +1 -1
  516. package/dist/runnables/base.d.ts +1 -2
  517. package/dist/runnables/base.d.ts.map +1 -1
  518. package/dist/runnables/base.js +40 -63
  519. package/dist/runnables/base.js.map +1 -1
  520. package/dist/runnables/branch.cjs +4 -8
  521. package/dist/runnables/branch.cjs.map +1 -1
  522. package/dist/runnables/branch.d.cts +0 -1
  523. package/dist/runnables/branch.d.cts.map +1 -1
  524. package/dist/runnables/branch.d.ts +0 -1
  525. package/dist/runnables/branch.d.ts.map +1 -1
  526. package/dist/runnables/branch.js +4 -8
  527. package/dist/runnables/branch.js.map +1 -1
  528. package/dist/runnables/config.cjs +1 -1
  529. package/dist/runnables/config.cjs.map +1 -1
  530. package/dist/runnables/config.d.cts.map +1 -1
  531. package/dist/runnables/config.d.ts.map +1 -1
  532. package/dist/runnables/config.js +1 -1
  533. package/dist/runnables/config.js.map +1 -1
  534. package/dist/runnables/graph.cjs +6 -8
  535. package/dist/runnables/graph.cjs.map +1 -1
  536. package/dist/runnables/graph.d.cts.map +1 -1
  537. package/dist/runnables/graph.d.ts.map +1 -1
  538. package/dist/runnables/graph.js +4 -7
  539. package/dist/runnables/graph.js.map +1 -1
  540. package/dist/runnables/graph_mermaid.cjs +6 -9
  541. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  542. package/dist/runnables/graph_mermaid.js +6 -9
  543. package/dist/runnables/graph_mermaid.js.map +1 -1
  544. package/dist/runnables/history.cjs +4 -6
  545. package/dist/runnables/history.cjs.map +1 -1
  546. package/dist/runnables/history.d.cts.map +1 -1
  547. package/dist/runnables/history.d.ts.map +1 -1
  548. package/dist/runnables/history.js +4 -6
  549. package/dist/runnables/history.js.map +1 -1
  550. package/dist/runnables/index.cjs +3 -3
  551. package/dist/runnables/index.js +2 -3
  552. package/dist/runnables/iter.cjs.map +1 -1
  553. package/dist/runnables/iter.js.map +1 -1
  554. package/dist/runnables/passthrough.cjs +1 -1
  555. package/dist/runnables/passthrough.cjs.map +1 -1
  556. package/dist/runnables/passthrough.d.cts.map +1 -1
  557. package/dist/runnables/passthrough.d.ts.map +1 -1
  558. package/dist/runnables/passthrough.js +1 -1
  559. package/dist/runnables/passthrough.js.map +1 -1
  560. package/dist/runnables/router.cjs +2 -3
  561. package/dist/runnables/router.cjs.map +1 -1
  562. package/dist/runnables/router.d.cts.map +1 -1
  563. package/dist/runnables/router.d.ts.map +1 -1
  564. package/dist/runnables/router.js +2 -3
  565. package/dist/runnables/router.js.map +1 -1
  566. package/dist/runnables/types.d.cts +1 -2
  567. package/dist/runnables/types.d.cts.map +1 -1
  568. package/dist/runnables/types.d.ts +1 -2
  569. package/dist/runnables/types.d.ts.map +1 -1
  570. package/dist/runnables/utils.cjs +1 -2
  571. package/dist/runnables/utils.cjs.map +1 -1
  572. package/dist/runnables/utils.js +1 -2
  573. package/dist/runnables/utils.js.map +1 -1
  574. package/dist/runnables/wrappers.cjs.map +1 -1
  575. package/dist/runnables/wrappers.js.map +1 -1
  576. package/dist/singletons/async_local_storage/context.cjs +4 -5
  577. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  578. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  579. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  580. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  581. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  582. package/dist/singletons/async_local_storage/context.js +2 -3
  583. package/dist/singletons/async_local_storage/context.js.map +1 -1
  584. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  585. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  586. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  587. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  588. package/dist/singletons/async_local_storage/index.cjs +5 -10
  589. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  590. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  591. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  592. package/dist/singletons/async_local_storage/index.js +3 -8
  593. package/dist/singletons/async_local_storage/index.js.map +1 -1
  594. package/dist/singletons/callbacks.cjs +4 -4
  595. package/dist/singletons/callbacks.cjs.map +1 -1
  596. package/dist/singletons/callbacks.d.cts +0 -1
  597. package/dist/singletons/callbacks.d.cts.map +1 -1
  598. package/dist/singletons/callbacks.d.ts +0 -1
  599. package/dist/singletons/callbacks.d.ts.map +1 -1
  600. package/dist/singletons/callbacks.js +1 -2
  601. package/dist/singletons/callbacks.js.map +1 -1
  602. package/dist/singletons/index.cjs +3 -3
  603. package/dist/singletons/index.js +2 -3
  604. package/dist/singletons/tracer.cjs +3 -6
  605. package/dist/singletons/tracer.cjs.map +1 -1
  606. package/dist/singletons/tracer.js +1 -4
  607. package/dist/singletons/tracer.js.map +1 -1
  608. package/dist/stores.cjs +3 -3
  609. package/dist/stores.cjs.map +1 -1
  610. package/dist/stores.d.cts +0 -1
  611. package/dist/stores.d.cts.map +1 -1
  612. package/dist/stores.d.ts +0 -1
  613. package/dist/stores.d.ts.map +1 -1
  614. package/dist/stores.js +2 -3
  615. package/dist/stores.js.map +1 -1
  616. package/dist/structured_query/base.cjs +3 -3
  617. package/dist/structured_query/base.cjs.map +1 -1
  618. package/dist/structured_query/base.d.cts +0 -1
  619. package/dist/structured_query/base.d.cts.map +1 -1
  620. package/dist/structured_query/base.d.ts +0 -1
  621. package/dist/structured_query/base.d.ts.map +1 -1
  622. package/dist/structured_query/base.js +3 -3
  623. package/dist/structured_query/base.js.map +1 -1
  624. package/dist/structured_query/functional.cjs +3 -3
  625. package/dist/structured_query/functional.cjs.map +1 -1
  626. package/dist/structured_query/functional.d.cts +0 -1
  627. package/dist/structured_query/functional.d.cts.map +1 -1
  628. package/dist/structured_query/functional.d.ts +0 -1
  629. package/dist/structured_query/functional.d.ts.map +1 -1
  630. package/dist/structured_query/functional.js +3 -3
  631. package/dist/structured_query/functional.js.map +1 -1
  632. package/dist/structured_query/index.cjs +3 -3
  633. package/dist/structured_query/index.js +2 -3
  634. package/dist/structured_query/ir.cjs.map +1 -1
  635. package/dist/structured_query/ir.d.cts +0 -1
  636. package/dist/structured_query/ir.d.cts.map +1 -1
  637. package/dist/structured_query/ir.d.ts +0 -1
  638. package/dist/structured_query/ir.d.ts.map +1 -1
  639. package/dist/structured_query/ir.js.map +1 -1
  640. package/dist/structured_query/utils.cjs.map +1 -1
  641. package/dist/structured_query/utils.d.cts.map +1 -1
  642. package/dist/structured_query/utils.d.ts.map +1 -1
  643. package/dist/structured_query/utils.js.map +1 -1
  644. package/dist/tools/index.cjs +11 -12
  645. package/dist/tools/index.cjs.map +1 -1
  646. package/dist/tools/index.d.cts +2 -1
  647. package/dist/tools/index.d.cts.map +1 -1
  648. package/dist/tools/index.d.ts +2 -1
  649. package/dist/tools/index.d.ts.map +1 -1
  650. package/dist/tools/index.js +7 -9
  651. package/dist/tools/index.js.map +1 -1
  652. package/dist/tools/types.cjs.map +1 -1
  653. package/dist/tools/types.d.cts +1 -0
  654. package/dist/tools/types.d.cts.map +1 -1
  655. package/dist/tools/types.d.ts +1 -0
  656. package/dist/tools/types.d.ts.map +1 -1
  657. package/dist/tools/types.js.map +1 -1
  658. package/dist/tools/utils.cjs.map +1 -1
  659. package/dist/tools/utils.d.cts +0 -1
  660. package/dist/tools/utils.d.cts.map +1 -1
  661. package/dist/tools/utils.d.ts +0 -1
  662. package/dist/tools/utils.d.ts.map +1 -1
  663. package/dist/tools/utils.js.map +1 -1
  664. package/dist/tracers/base.cjs +7 -7
  665. package/dist/tracers/base.cjs.map +1 -1
  666. package/dist/tracers/base.d.cts +6 -12
  667. package/dist/tracers/base.d.cts.map +1 -1
  668. package/dist/tracers/base.d.ts +6 -12
  669. package/dist/tracers/base.d.ts.map +1 -1
  670. package/dist/tracers/base.js +5 -6
  671. package/dist/tracers/base.js.map +1 -1
  672. package/dist/tracers/console.cjs +9 -9
  673. package/dist/tracers/console.cjs.map +1 -1
  674. package/dist/tracers/console.d.cts +0 -1
  675. package/dist/tracers/console.d.cts.map +1 -1
  676. package/dist/tracers/console.d.ts +0 -1
  677. package/dist/tracers/console.d.ts.map +1 -1
  678. package/dist/tracers/console.js +6 -8
  679. package/dist/tracers/console.js.map +1 -1
  680. package/dist/tracers/event_stream.cjs +2 -4
  681. package/dist/tracers/event_stream.cjs.map +1 -1
  682. package/dist/tracers/event_stream.d.cts +2 -5
  683. package/dist/tracers/event_stream.d.cts.map +1 -1
  684. package/dist/tracers/event_stream.d.ts +2 -5
  685. package/dist/tracers/event_stream.d.ts.map +1 -1
  686. package/dist/tracers/event_stream.js +2 -4
  687. package/dist/tracers/event_stream.js.map +1 -1
  688. package/dist/tracers/log_stream.cjs +5 -5
  689. package/dist/tracers/log_stream.cjs.map +1 -1
  690. package/dist/tracers/log_stream.d.cts +14 -31
  691. package/dist/tracers/log_stream.d.cts.map +1 -1
  692. package/dist/tracers/log_stream.d.ts +14 -31
  693. package/dist/tracers/log_stream.d.ts.map +1 -1
  694. package/dist/tracers/log_stream.js +4 -5
  695. package/dist/tracers/log_stream.js.map +1 -1
  696. package/dist/tracers/root_listener.cjs.map +1 -1
  697. package/dist/tracers/root_listener.js.map +1 -1
  698. package/dist/tracers/run_collector.cjs +3 -3
  699. package/dist/tracers/run_collector.cjs.map +1 -1
  700. package/dist/tracers/run_collector.d.cts +0 -1
  701. package/dist/tracers/run_collector.d.cts.map +1 -1
  702. package/dist/tracers/run_collector.d.ts +0 -1
  703. package/dist/tracers/run_collector.d.ts.map +1 -1
  704. package/dist/tracers/run_collector.js +2 -3
  705. package/dist/tracers/run_collector.js.map +1 -1
  706. package/dist/tracers/tracer_langchain.cjs +8 -11
  707. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  708. package/dist/tracers/tracer_langchain.d.cts +8 -8
  709. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  710. package/dist/tracers/tracer_langchain.d.ts +8 -8
  711. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  712. package/dist/tracers/tracer_langchain.js +5 -9
  713. package/dist/tracers/tracer_langchain.js.map +1 -1
  714. package/dist/types/_internal.d.cts.map +1 -1
  715. package/dist/types/_internal.d.ts.map +1 -1
  716. package/dist/types/stream.cjs +3 -1
  717. package/dist/types/stream.js +3 -1
  718. package/dist/types/type-utils.d.cts.map +1 -1
  719. package/dist/types/type-utils.d.ts.map +1 -1
  720. package/dist/utils/async_caller.cjs +8 -9
  721. package/dist/utils/async_caller.cjs.map +1 -1
  722. package/dist/utils/async_caller.d.cts.map +1 -1
  723. package/dist/utils/async_caller.d.ts.map +1 -1
  724. package/dist/utils/async_caller.js +5 -8
  725. package/dist/utils/async_caller.js.map +1 -1
  726. package/dist/utils/callbacks.cjs +2 -3
  727. package/dist/utils/callbacks.cjs.map +1 -1
  728. package/dist/utils/callbacks.js +2 -3
  729. package/dist/utils/callbacks.js.map +1 -1
  730. package/dist/utils/chunk_array.cjs +4 -5
  731. package/dist/utils/chunk_array.cjs.map +1 -1
  732. package/dist/utils/chunk_array.d.cts.map +1 -1
  733. package/dist/utils/chunk_array.d.ts.map +1 -1
  734. package/dist/utils/chunk_array.js +3 -5
  735. package/dist/utils/chunk_array.js.map +1 -1
  736. package/dist/utils/context.cjs +4 -5
  737. package/dist/utils/context.cjs.map +1 -1
  738. package/dist/utils/context.d.cts.map +1 -1
  739. package/dist/utils/context.d.ts.map +1 -1
  740. package/dist/utils/context.js +3 -5
  741. package/dist/utils/context.js.map +1 -1
  742. package/dist/utils/env.cjs +9 -12
  743. package/dist/utils/env.cjs.map +1 -1
  744. package/dist/utils/env.d.cts.map +1 -1
  745. package/dist/utils/env.d.ts.map +1 -1
  746. package/dist/utils/env.js +8 -12
  747. package/dist/utils/env.js.map +1 -1
  748. package/dist/utils/event_source_parse.cjs +9 -9
  749. package/dist/utils/event_source_parse.cjs.map +1 -1
  750. package/dist/utils/event_source_parse.d.cts.map +1 -1
  751. package/dist/utils/event_source_parse.d.ts.map +1 -1
  752. package/dist/utils/event_source_parse.js +8 -9
  753. package/dist/utils/event_source_parse.js.map +1 -1
  754. package/dist/utils/fast-json-patch/index.cjs +3 -0
  755. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  756. package/dist/utils/fast-json-patch/index.js +4 -0
  757. package/dist/utils/fast-json-patch/index.js.map +1 -1
  758. package/dist/utils/fast-json-patch/src/core.cjs +6 -10
  759. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  760. package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
  761. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  762. package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
  763. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  764. package/dist/utils/fast-json-patch/src/core.js +6 -10
  765. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  766. package/dist/utils/fast-json-patch/src/duplex.cjs +5 -3
  767. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  768. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
  769. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  770. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
  771. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  772. package/dist/utils/fast-json-patch/src/duplex.js +5 -3
  773. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  774. package/dist/utils/fast-json-patch/src/helpers.cjs +4 -4
  775. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  776. package/dist/utils/fast-json-patch/src/helpers.js +4 -4
  777. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  778. package/dist/utils/format.cjs +3 -1
  779. package/dist/utils/format.d.cts.map +1 -1
  780. package/dist/utils/format.d.ts.map +1 -1
  781. package/dist/utils/format.js +3 -1
  782. package/dist/utils/function_calling.cjs +3 -3
  783. package/dist/utils/function_calling.cjs.map +1 -1
  784. package/dist/utils/function_calling.d.cts +0 -1
  785. package/dist/utils/function_calling.d.cts.map +1 -1
  786. package/dist/utils/function_calling.d.ts +0 -1
  787. package/dist/utils/function_calling.d.ts.map +1 -1
  788. package/dist/utils/function_calling.js +2 -3
  789. package/dist/utils/function_calling.js.map +1 -1
  790. package/dist/utils/hash.cjs +3 -3
  791. package/dist/utils/hash.d.cts +0 -1
  792. package/dist/utils/hash.d.cts.map +1 -1
  793. package/dist/utils/hash.d.ts +0 -1
  794. package/dist/utils/hash.d.ts.map +1 -1
  795. package/dist/utils/hash.js +2 -3
  796. package/dist/utils/is-network-error/index.cjs +2 -3
  797. package/dist/utils/is-network-error/index.cjs.map +1 -1
  798. package/dist/utils/is-network-error/index.js +2 -3
  799. package/dist/utils/is-network-error/index.js.map +1 -1
  800. package/dist/utils/js-sha256/hash.cjs +41 -34
  801. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  802. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  803. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  804. package/dist/utils/js-sha256/hash.js +41 -35
  805. package/dist/utils/js-sha256/hash.js.map +1 -1
  806. package/dist/utils/json.cjs.map +1 -1
  807. package/dist/utils/json.d.cts.map +1 -1
  808. package/dist/utils/json.d.ts.map +1 -1
  809. package/dist/utils/json.js.map +1 -1
  810. package/dist/utils/json_patch.cjs +3 -3
  811. package/dist/utils/json_patch.js +2 -3
  812. package/dist/utils/json_schema.cjs +12 -14
  813. package/dist/utils/json_schema.cjs.map +1 -1
  814. package/dist/utils/json_schema.d.cts.map +1 -1
  815. package/dist/utils/json_schema.d.ts.map +1 -1
  816. package/dist/utils/json_schema.js +4 -7
  817. package/dist/utils/json_schema.js.map +1 -1
  818. package/dist/utils/math.cjs +7 -8
  819. package/dist/utils/math.cjs.map +1 -1
  820. package/dist/utils/math.d.cts.map +1 -1
  821. package/dist/utils/math.d.ts.map +1 -1
  822. package/dist/utils/math.js +8 -10
  823. package/dist/utils/math.js.map +1 -1
  824. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  825. package/dist/utils/ml-distance/distances.js.map +1 -1
  826. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  827. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  828. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  829. package/dist/utils/ml-distance/similarities.js.map +1 -1
  830. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  831. package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
  832. package/dist/utils/namespace.cjs +63 -0
  833. package/dist/utils/namespace.cjs.map +1 -0
  834. package/dist/utils/namespace.d.cts +73 -0
  835. package/dist/utils/namespace.d.cts.map +1 -0
  836. package/dist/utils/namespace.d.ts +73 -0
  837. package/dist/utils/namespace.d.ts.map +1 -0
  838. package/dist/utils/namespace.js +62 -0
  839. package/dist/utils/namespace.js.map +1 -0
  840. package/dist/utils/p-retry/index.cjs +2 -2
  841. package/dist/utils/p-retry/index.cjs.map +1 -1
  842. package/dist/utils/p-retry/index.js +2 -2
  843. package/dist/utils/p-retry/index.js.map +1 -1
  844. package/dist/utils/sax-js/sax.cjs +28 -34
  845. package/dist/utils/sax-js/sax.cjs.map +1 -1
  846. package/dist/utils/sax-js/sax.js +28 -34
  847. package/dist/utils/sax-js/sax.js.map +1 -1
  848. package/dist/utils/signal.cjs +1 -1
  849. package/dist/utils/signal.cjs.map +1 -1
  850. package/dist/utils/signal.d.cts.map +1 -1
  851. package/dist/utils/signal.d.ts.map +1 -1
  852. package/dist/utils/signal.js +1 -1
  853. package/dist/utils/signal.js.map +1 -1
  854. package/dist/utils/ssrf.cjs +8 -10
  855. package/dist/utils/ssrf.cjs.map +1 -1
  856. package/dist/utils/ssrf.d.cts.map +1 -1
  857. package/dist/utils/ssrf.d.ts.map +1 -1
  858. package/dist/utils/ssrf.js +7 -10
  859. package/dist/utils/ssrf.js.map +1 -1
  860. package/dist/utils/stream.cjs +4 -4
  861. package/dist/utils/stream.cjs.map +1 -1
  862. package/dist/utils/stream.d.cts.map +1 -1
  863. package/dist/utils/stream.d.ts.map +1 -1
  864. package/dist/utils/stream.js +3 -4
  865. package/dist/utils/stream.js.map +1 -1
  866. package/dist/utils/testing/chat_models.cjs +3 -5
  867. package/dist/utils/testing/chat_models.cjs.map +1 -1
  868. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  869. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  870. package/dist/utils/testing/chat_models.js +3 -5
  871. package/dist/utils/testing/chat_models.js.map +1 -1
  872. package/dist/utils/testing/embeddings.cjs +2 -4
  873. package/dist/utils/testing/embeddings.cjs.map +1 -1
  874. package/dist/utils/testing/embeddings.d.cts +0 -1
  875. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  876. package/dist/utils/testing/embeddings.d.ts +0 -1
  877. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  878. package/dist/utils/testing/embeddings.js +2 -4
  879. package/dist/utils/testing/embeddings.js.map +1 -1
  880. package/dist/utils/testing/index.cjs +3 -3
  881. package/dist/utils/testing/index.js +2 -3
  882. package/dist/utils/testing/llms.cjs.map +1 -1
  883. package/dist/utils/testing/llms.d.cts.map +1 -1
  884. package/dist/utils/testing/llms.d.ts.map +1 -1
  885. package/dist/utils/testing/llms.js.map +1 -1
  886. package/dist/utils/testing/message_history.cjs +1 -1
  887. package/dist/utils/testing/message_history.cjs.map +1 -1
  888. package/dist/utils/testing/message_history.d.cts.map +1 -1
  889. package/dist/utils/testing/message_history.d.ts.map +1 -1
  890. package/dist/utils/testing/message_history.js +1 -1
  891. package/dist/utils/testing/message_history.js.map +1 -1
  892. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  893. package/dist/utils/testing/output_parsers.d.cts +0 -1
  894. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  895. package/dist/utils/testing/output_parsers.d.ts +0 -1
  896. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  897. package/dist/utils/testing/output_parsers.js.map +1 -1
  898. package/dist/utils/testing/retrievers.cjs +1 -1
  899. package/dist/utils/testing/retrievers.cjs.map +1 -1
  900. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  901. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  902. package/dist/utils/testing/retrievers.js +1 -1
  903. package/dist/utils/testing/retrievers.js.map +1 -1
  904. package/dist/utils/testing/runnables.cjs.map +1 -1
  905. package/dist/utils/testing/runnables.d.cts.map +1 -1
  906. package/dist/utils/testing/runnables.d.ts.map +1 -1
  907. package/dist/utils/testing/runnables.js.map +1 -1
  908. package/dist/utils/testing/tools.cjs.map +1 -1
  909. package/dist/utils/testing/tools.d.cts.map +1 -1
  910. package/dist/utils/testing/tools.d.ts.map +1 -1
  911. package/dist/utils/testing/tools.js.map +1 -1
  912. package/dist/utils/testing/tracers.cjs.map +1 -1
  913. package/dist/utils/testing/tracers.d.cts.map +1 -1
  914. package/dist/utils/testing/tracers.d.ts.map +1 -1
  915. package/dist/utils/testing/tracers.js.map +1 -1
  916. package/dist/utils/testing/vectorstores.cjs +7 -11
  917. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  918. package/dist/utils/testing/vectorstores.d.cts +0 -1
  919. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  920. package/dist/utils/testing/vectorstores.d.ts +0 -1
  921. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  922. package/dist/utils/testing/vectorstores.js +7 -11
  923. package/dist/utils/testing/vectorstores.js.map +1 -1
  924. package/dist/utils/tiktoken.cjs +4 -4
  925. package/dist/utils/tiktoken.cjs.map +1 -1
  926. package/dist/utils/tiktoken.d.cts.map +1 -1
  927. package/dist/utils/tiktoken.d.ts.map +1 -1
  928. package/dist/utils/tiktoken.js +2 -3
  929. package/dist/utils/tiktoken.js.map +1 -1
  930. package/dist/utils/types/index.cjs +3 -3
  931. package/dist/utils/types/index.d.cts +0 -1
  932. package/dist/utils/types/index.d.cts.map +1 -1
  933. package/dist/utils/types/index.d.ts +0 -1
  934. package/dist/utils/types/index.d.ts.map +1 -1
  935. package/dist/utils/types/index.js +2 -3
  936. package/dist/utils/types/zod.cjs +17 -32
  937. package/dist/utils/types/zod.cjs.map +1 -1
  938. package/dist/utils/types/zod.d.cts +1 -1
  939. package/dist/utils/types/zod.d.cts.map +1 -1
  940. package/dist/utils/types/zod.d.ts +1 -1
  941. package/dist/utils/types/zod.d.ts.map +1 -1
  942. package/dist/utils/types/zod.js +15 -30
  943. package/dist/utils/types/zod.js.map +1 -1
  944. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  945. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  946. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  947. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  948. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  949. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  950. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  951. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
  952. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  953. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
  954. package/dist/utils/zod-to-json-schema/index.js +2 -0
  955. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  956. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  957. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  958. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  959. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  960. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  961. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  962. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  963. package/dist/utils/zod-to-json-schema/parsers/array.cjs +2 -2
  964. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  965. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  966. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  967. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  968. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  969. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  970. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  971. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  972. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  973. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  974. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  975. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
  976. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  977. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  978. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  979. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  980. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  981. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -1
  982. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  983. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  984. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  985. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  986. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  987. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  988. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  989. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  990. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  991. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  992. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
  993. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +1 -1
  994. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  995. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  996. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  997. package/dist/utils/zod-to-json-schema/parsers/intersection.js +1 -1
  998. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  999. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  1000. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
  1001. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1002. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1003. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
  1004. package/dist/utils/zod-to-json-schema/parsers/map.cjs +17 -19
  1005. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  1006. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -1
  1007. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1008. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1009. package/dist/utils/zod-to-json-schema/parsers/map.js +17 -19
  1010. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  1011. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +2 -3
  1012. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  1013. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1014. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1015. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +2 -3
  1016. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  1017. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  1018. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1019. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1020. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  1021. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  1022. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1023. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1024. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
  1025. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +5 -5
  1026. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  1027. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1028. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1029. package/dist/utils/zod-to-json-schema/parsers/nullable.js +5 -5
  1030. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  1031. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  1032. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1033. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1034. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  1035. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  1036. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1037. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1038. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  1039. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  1040. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  1041. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +2 -3
  1042. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  1043. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +2 -3
  1044. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  1045. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  1046. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  1047. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  1048. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  1049. package/dist/utils/zod-to-json-schema/parsers/record.cjs +4 -4
  1050. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  1051. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1052. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1053. package/dist/utils/zod-to-json-schema/parsers/record.js +2 -2
  1054. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  1055. package/dist/utils/zod-to-json-schema/parsers/set.cjs +4 -5
  1056. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  1057. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1058. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1059. package/dist/utils/zod-to-json-schema/parsers/set.js +4 -5
  1060. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  1061. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  1062. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -1
  1063. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1064. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -1
  1065. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1066. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  1067. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  1068. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1069. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1070. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  1071. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  1072. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1073. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1074. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  1075. package/dist/utils/zod-to-json-schema/parsers/union.cjs +3 -6
  1076. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  1077. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1078. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1079. package/dist/utils/zod-to-json-schema/parsers/union.js +3 -6
  1080. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  1081. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  1082. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1083. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1084. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  1085. package/dist/utils/zod-to-json-schema/selectParser.cjs +3 -3
  1086. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  1087. package/dist/utils/zod-to-json-schema/selectParser.js +1 -1
  1088. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  1089. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +3 -3
  1090. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  1091. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +3 -3
  1092. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  1093. package/dist/vectorstores.cjs +4 -5
  1094. package/dist/vectorstores.cjs.map +1 -1
  1095. package/dist/vectorstores.d.cts +0 -1
  1096. package/dist/vectorstores.d.cts.map +1 -1
  1097. package/dist/vectorstores.d.ts +0 -1
  1098. package/dist/vectorstores.d.ts.map +1 -1
  1099. package/dist/vectorstores.js +3 -5
  1100. package/dist/vectorstores.js.map +1 -1
  1101. package/package.json +2 -2
  1102. package/dist/_virtual/rolldown_runtime.cjs +0 -32
  1103. package/dist/_virtual/rolldown_runtime.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"chat.cjs","names":["Runnable","input: RunInput","options?: BaseCallbackConfig","input","fields:\n | Extract<keyof RunInput, string>\n | MessagesPlaceholderFields<Extract<keyof RunInput, string>>","values: TypedPromptInputValues<RunInput>","coerceMessageLikeToMessage","e: any","fields:\n | MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >","BasePromptTemplate","input: BasePromptTemplateInput<RunInput, PartialVariableName>","ChatPromptValue","fields:\n | ChatMessagePromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>","role?: string","values: RunInput","ChatMessage","template: T","role: string","options?: { templateFormat?: TemplateFormat }","PromptTemplate","param: unknown","fields: any","additionalOptions?: _StringImageMessagePromptTemplateOptions","inputVariables: Extract<keyof RunInput, string>[]","content: MessageContent","name: string","template:\n | string\n | Array<\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n | Record<string, unknown>\n >","prompt: Array<\n | PromptTemplate<InputValues>\n | ImagePromptTemplate<InputValues>\n | DictPromptTemplate\n >","imgTemplateObject: ImagePromptTemplate<InputValues>","inputVariables: string[]","parsedTemplate: ParsedTemplateNode[]","parseMustache","parseFString","item","ImagePromptTemplate","DictPromptTemplate","input: TypedPromptInputValues<RunInput>","BaseStringPromptTemplate","inputs: Record<string, any>","additionalContentFields: ContentBlock | undefined","HumanMessage","AIMessage","SystemMessage","baseMessagePromptTemplateLike: BaseMessagePromptTemplateLike","messagePromptTemplateLike: BaseMessagePromptTemplateLike","extra?: Extra","isBaseMessage","templateData:\n | string\n | (\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>\n )[]","x: BaseMessagePromptTemplate | BaseMessage","input: ChatPromptTemplateInput<RunInput, PartialVariableName>","BaseMessage","message: BaseMessage","inputValues: InputValues<\n PartialVariableName | Extract<keyof RunInput, string>\n >","resultMessages: BaseMessage[]","inputValues: InputValues","addLangChainErrorFields","values: PartialValues<NewPartialVariableName>","options?: Omit<\n PromptTemplateInput<RunInput, string, TemplateFormat>,\n \"template\" | \"inputVariables\"\n >","promptMessages: (\n | ChatPromptTemplate<InputValues, string>\n | BaseMessagePromptTemplateLike\n )[]","extra?: Omit<\n Extra,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >","acc: Array<BaseMessagePromptTemplate | BaseMessage>"],"sources":["../../src/prompts/chat.ts"],"sourcesContent":["// Default generic \"any\" values are for backwards compatibility.\n// Replace with \"string\" when we are comfortable with a breaking change.\n\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport {\n AIMessage,\n HumanMessage,\n SystemMessage,\n BaseMessage,\n ChatMessage,\n type BaseMessageLike,\n coerceMessageLikeToMessage,\n isBaseMessage,\n MessageContent,\n ContentBlock,\n} from \"../messages/index.js\";\nimport {\n type ChatPromptValueInterface,\n ChatPromptValue,\n} from \"../prompt_values.js\";\nimport type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport { Runnable } from \"../runnables/base.js\";\nimport { BaseStringPromptTemplate } from \"./string.js\";\nimport {\n BasePromptTemplate,\n type BasePromptTemplateInput,\n type TypedPromptInputValues,\n} from \"./base.js\";\nimport {\n PromptTemplate,\n type ParamsFromFString,\n PromptTemplateInput,\n ExtractedFStringParams,\n} from \"./prompt.js\";\nimport { ImagePromptTemplate } from \"./image.js\";\nimport {\n ParsedTemplateNode,\n TemplateFormat,\n parseFString,\n parseMustache,\n} from \"./template.js\";\nimport { addLangChainErrorFields } from \"../errors/index.js\";\nimport { DictPromptTemplate } from \"./dict.js\";\n\n/**\n * Abstract class that serves as a base for creating message prompt\n * templates. It defines how to format messages for different roles in a\n * conversation.\n */\nexport abstract class BaseMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n RunOutput extends BaseMessage[] = BaseMessage[],\n> extends Runnable<RunInput, RunOutput> {\n lc_namespace = [\"langchain_core\", \"prompts\", \"chat\"];\n\n lc_serializable = true;\n\n abstract inputVariables: Array<Extract<keyof RunInput, string>>;\n\n /**\n * Method that takes an object of TypedPromptInputValues and returns a\n * promise that resolves to an array of BaseMessage instances.\n * @param values Object of TypedPromptInputValues\n * @returns Formatted array of BaseMessages\n */\n abstract formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<RunOutput>;\n\n /**\n * Calls the formatMessages method with the provided input and options.\n * @param input Input for the formatMessages method\n * @param options Optional BaseCallbackConfig\n * @returns Formatted output messages\n */\n async invoke(\n input: RunInput,\n options?: BaseCallbackConfig\n ): Promise<RunOutput> {\n return this._callWithConfig(\n (input: RunInput) => this.formatMessages(input),\n input,\n { ...options, runType: \"prompt\" }\n );\n }\n}\n\n/**\n * Interface for the fields of a MessagePlaceholder.\n */\nexport interface MessagesPlaceholderFields<T extends string> {\n variableName: T;\n optional?: boolean;\n}\n\n/**\n * Class that represents a placeholder for messages in a chat prompt. It\n * extends the BaseMessagePromptTemplate.\n */\nexport class MessagesPlaceholder<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n>\n extends BaseMessagePromptTemplate<RunInput>\n implements MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n{\n static lc_name() {\n return \"MessagesPlaceholder\";\n }\n\n variableName: Extract<keyof RunInput, string>;\n\n optional: boolean;\n\n constructor(variableName: Extract<keyof RunInput, string>);\n\n constructor(\n fields: MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n );\n\n constructor(\n fields:\n | Extract<keyof RunInput, string>\n | MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n ) {\n if (typeof fields === \"string\") {\n // eslint-disable-next-line no-param-reassign\n fields = { variableName: fields };\n }\n super(fields);\n this.variableName = fields.variableName;\n this.optional = fields.optional ?? false;\n }\n\n get inputVariables() {\n return [this.variableName];\n }\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n const input = values[this.variableName];\n if (this.optional && !input) {\n return [];\n } else if (!input) {\n const error = new Error(\n `Field \"${this.variableName}\" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`\n );\n error.name = \"InputFormatError\";\n throw error;\n }\n\n let formattedMessages;\n try {\n if (Array.isArray(input)) {\n formattedMessages = input.map(coerceMessageLikeToMessage);\n } else {\n formattedMessages = [coerceMessageLikeToMessage(input)];\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n const readableInput =\n typeof input === \"string\" ? input : JSON.stringify(input, null, 2);\n const error = new Error(\n [\n `Field \"${this.variableName}\" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,\n `Received value: ${readableInput}`,\n `Additional message: ${e.message}`,\n ].join(\"\\n\\n\")\n );\n error.name = \"InputFormatError\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (error as any).lc_error_code = e.lc_error_code;\n throw error;\n }\n\n return formattedMessages;\n }\n}\n\n/**\n * Interface for the fields of a MessageStringPromptTemplate.\n */\nexport interface MessageStringPromptTemplateFields<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends InputValues = any,\n> {\n prompt: BaseStringPromptTemplate<T, string>;\n}\n\n/**\n * Abstract class that serves as a base for creating message string prompt\n * templates. It extends the BaseMessagePromptTemplate.\n */\nexport abstract class BaseMessageStringPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends BaseMessagePromptTemplate<RunInput> {\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >;\n\n constructor(\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields: MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields:\n | MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields };\n }\n super(fields);\n this.prompt = fields.prompt;\n }\n\n get inputVariables() {\n return this.prompt.inputVariables;\n }\n\n abstract format(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage>;\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n return [await this.format(values)];\n }\n}\n\n/**\n * Abstract class that serves as a base for creating chat prompt\n * templates. It extends the BasePromptTemplate.\n */\nexport abstract class BaseChatPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n> extends BasePromptTemplate<\n RunInput,\n ChatPromptValueInterface,\n PartialVariableName\n> {\n constructor(input: BasePromptTemplateInput<RunInput, PartialVariableName>) {\n super(input);\n }\n\n abstract formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]>;\n\n async format(values: TypedPromptInputValues<RunInput>): Promise<string> {\n return (await this.formatPromptValue(values)).toString();\n }\n\n async formatPromptValue(\n values: TypedPromptInputValues<RunInput>\n ): Promise<ChatPromptValueInterface> {\n const resultMessages = await this.formatMessages(values);\n return new ChatPromptValue(resultMessages);\n }\n}\n\n/**\n * Interface for the fields of a ChatMessagePromptTemplate.\n */\nexport interface ChatMessagePromptTemplateFields<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends InputValues = any,\n> extends MessageStringPromptTemplateFields<T> {\n role: string;\n}\n\n/**\n * Class that represents a chat message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport class ChatMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends BaseMessageStringPromptTemplate<RunInput> {\n static lc_name() {\n return \"ChatMessagePromptTemplate\";\n }\n\n role: string;\n\n constructor(\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>\n >,\n role: string\n );\n\n constructor(\n fields: ChatMessagePromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields:\n | ChatMessagePromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>,\n role?: string\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields, role: role! };\n }\n super(fields);\n this.role = fields.role;\n }\n\n async format(values: RunInput): Promise<BaseMessage> {\n return new ChatMessage(await this.prompt.format(values), this.role);\n }\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(template: T, role: string, options?: { templateFormat?: TemplateFormat }) {\n return new this(\n PromptTemplate.fromTemplate<RunInput, T>(template, {\n templateFormat: options?.templateFormat,\n }),\n role\n );\n }\n}\n\ninterface _TextTemplateParam {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n text?: string | Record<string, any>;\n}\n\nfunction isTextTemplateParam(param: unknown): param is _TextTemplateParam {\n if (param === null || typeof param !== \"object\" || Array.isArray(param)) {\n return false;\n }\n return (\n Object.keys(param).length === 1 &&\n \"text\" in param &&\n typeof param.text === \"string\"\n );\n}\n\ninterface _ImageTemplateParam {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n image_url?: string | Record<string, any>;\n}\n\nfunction isImageTemplateParam(param: unknown): param is _ImageTemplateParam {\n if (param === null || typeof param !== \"object\" || Array.isArray(param)) {\n return false;\n }\n return (\n \"image_url\" in param &&\n (typeof param.image_url === \"string\" ||\n (typeof param.image_url === \"object\" &&\n param.image_url !== null &&\n \"url\" in param.image_url &&\n typeof param.image_url.url === \"string\"))\n );\n}\n\ntype MessageClass =\n | typeof HumanMessage\n | typeof AIMessage\n | typeof SystemMessage;\n\ntype ChatMessageClass = typeof ChatMessage;\n\ninterface _StringImageMessagePromptTemplateOptions<\n Format extends TemplateFormat = TemplateFormat,\n> extends Record<string, unknown> {\n templateFormat?: Format;\n}\n\nclass _StringImageMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n RunOutput extends BaseMessage[] = BaseMessage[],\n> extends BaseMessagePromptTemplate<RunInput, RunOutput> {\n lc_namespace = [\"langchain_core\", \"prompts\", \"chat\"];\n\n lc_serializable = true;\n\n inputVariables: Array<Extract<keyof RunInput, string>> = [];\n\n additionalOptions: _StringImageMessagePromptTemplateOptions = {};\n\n prompt:\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | Array<\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | ImagePromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | DictPromptTemplate<InputValues<Extract<keyof RunInput, string>>>\n >;\n\n protected messageClass?: MessageClass;\n\n static _messageClass(): MessageClass {\n throw new Error(\n \"Can not invoke _messageClass from inside _StringImageMessagePromptTemplate\"\n );\n }\n\n // ChatMessage contains role field, others don't.\n // Because of this, we have a separate class property for ChatMessage.\n protected chatMessageClass?: ChatMessageClass;\n\n constructor(\n /** @TODO When we come up with a better way to type prompt templates, fix this */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fields: any,\n additionalOptions?: _StringImageMessagePromptTemplateOptions\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields };\n }\n super(fields);\n this.prompt = fields.prompt;\n if (Array.isArray(this.prompt)) {\n let inputVariables: Extract<keyof RunInput, string>[] = [];\n this.prompt.forEach((prompt) => {\n if (\"inputVariables\" in prompt) {\n inputVariables = inputVariables.concat(prompt.inputVariables);\n }\n });\n this.inputVariables = inputVariables;\n } else {\n this.inputVariables = this.prompt.inputVariables;\n }\n this.additionalOptions = additionalOptions ?? this.additionalOptions;\n }\n\n createMessage(content: MessageContent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const constructor = this.constructor as any;\n if (constructor._messageClass()) {\n const MsgClass = constructor._messageClass();\n return new MsgClass({ content });\n } else if (constructor.chatMessageClass) {\n const MsgClass = constructor.chatMessageClass();\n // Assuming ChatMessage constructor also takes a content argument\n return new MsgClass({\n content,\n role: this.getRoleFromMessageClass(MsgClass.lc_name()),\n });\n } else {\n throw new Error(\"No message class defined\");\n }\n }\n\n getRoleFromMessageClass(name: string) {\n switch (name) {\n case \"HumanMessage\":\n return \"human\";\n case \"AIMessage\":\n return \"ai\";\n case \"SystemMessage\":\n return \"system\";\n case \"ChatMessage\":\n return \"chat\";\n default:\n throw new Error(\"Invalid message class name\");\n }\n }\n\n static fromTemplate(\n template:\n | string\n | Array<\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n | Record<string, unknown>\n >,\n additionalOptions?: _StringImageMessagePromptTemplateOptions\n ) {\n if (typeof template === \"string\") {\n return new this(PromptTemplate.fromTemplate(template, additionalOptions));\n }\n const prompt: Array<\n | PromptTemplate<InputValues>\n | ImagePromptTemplate<InputValues>\n | DictPromptTemplate\n > = [];\n for (const item of template) {\n // handle string cases\n if (typeof item === \"string\") {\n prompt.push(PromptTemplate.fromTemplate(item, additionalOptions));\n } else if (item === null) {\n // pass\n } else if (isTextTemplateParam(item)) {\n let text = \"\";\n if (typeof item.text === \"string\") {\n text = item.text ?? \"\";\n }\n\n const options = {\n ...additionalOptions,\n additionalContentFields: item as ContentBlock,\n };\n prompt.push(PromptTemplate.fromTemplate(text, options));\n } else if (isImageTemplateParam(item)) {\n let imgTemplate = item.image_url ?? \"\";\n let imgTemplateObject: ImagePromptTemplate<InputValues>;\n let inputVariables: string[] = [];\n if (typeof imgTemplate === \"string\") {\n let parsedTemplate: ParsedTemplateNode[];\n if (additionalOptions?.templateFormat === \"mustache\") {\n parsedTemplate = parseMustache(imgTemplate);\n } else {\n parsedTemplate = parseFString(imgTemplate);\n }\n\n const variables = parsedTemplate.flatMap((item) =>\n item.type === \"variable\" ? [item.name] : []\n );\n\n if ((variables?.length ?? 0) > 0) {\n if (variables.length > 1) {\n throw new Error(\n `Only one format variable allowed per image template.\\nGot: ${variables}\\nFrom: ${imgTemplate}`\n );\n }\n inputVariables = [variables[0]];\n } else {\n inputVariables = [];\n }\n\n imgTemplate = { url: imgTemplate };\n imgTemplateObject = new ImagePromptTemplate<InputValues>({\n template: imgTemplate,\n inputVariables,\n templateFormat: additionalOptions?.templateFormat,\n additionalContentFields: item as ContentBlock,\n });\n } else if (typeof imgTemplate === \"object\") {\n if (\"url\" in imgTemplate) {\n let parsedTemplate: ParsedTemplateNode[];\n if (additionalOptions?.templateFormat === \"mustache\") {\n parsedTemplate = parseMustache(imgTemplate.url);\n } else {\n parsedTemplate = parseFString(imgTemplate.url);\n }\n\n inputVariables = parsedTemplate.flatMap((item) =>\n item.type === \"variable\" ? [item.name] : []\n );\n } else {\n inputVariables = [];\n }\n imgTemplateObject = new ImagePromptTemplate<InputValues>({\n template: imgTemplate,\n inputVariables,\n templateFormat: additionalOptions?.templateFormat,\n additionalContentFields: item as ContentBlock,\n });\n } else {\n throw new Error(\"Invalid image template\");\n }\n prompt.push(imgTemplateObject);\n } else if (typeof item === \"object\") {\n prompt.push(\n new DictPromptTemplate({\n template: item,\n templateFormat: additionalOptions?.templateFormat,\n })\n );\n }\n }\n return new this({ prompt, additionalOptions });\n }\n\n async format(input: TypedPromptInputValues<RunInput>): Promise<BaseMessage> {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (this.prompt instanceof BaseStringPromptTemplate) {\n const text = await this.prompt.format(input);\n\n return this.createMessage(text);\n } else {\n const content: MessageContent = [];\n for (const prompt of this.prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let inputs: Record<string, any> = {};\n if (!(\"inputVariables\" in prompt)) {\n throw new Error(\n `Prompt ${prompt} does not have inputVariables defined.`\n );\n }\n for (const item of prompt.inputVariables) {\n if (!inputs) {\n inputs = { [item]: input[item] };\n }\n inputs = { ...inputs, [item]: input[item] };\n }\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (prompt instanceof BaseStringPromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n if (formatted !== \"\") {\n content.push({\n ...additionalContentFields,\n type: \"text\",\n text: formatted,\n });\n }\n /** @TODO replace this */\n // eslint-disable-next-line no-instanceof/no-instanceof\n } else if (prompt instanceof ImagePromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n content.push({\n ...additionalContentFields,\n type: \"image_url\",\n image_url: formatted,\n });\n // eslint-disable-next-line no-instanceof/no-instanceof\n } else if (prompt instanceof DictPromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n content.push({\n ...additionalContentFields,\n ...formatted,\n } as ContentBlock);\n }\n }\n return this.createMessage(content);\n }\n }\n\n async formatMessages(values: RunInput): Promise<RunOutput> {\n return [await this.format(values)] as BaseMessage[] as RunOutput;\n }\n}\n\n/**\n * Class that represents a human message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = HumanMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class HumanMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof HumanMessage {\n return HumanMessage;\n }\n\n static lc_name() {\n return \"HumanMessagePromptTemplate\";\n }\n}\n\n/**\n * Class that represents an AI message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport class AIMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof AIMessage {\n return AIMessage;\n }\n\n static lc_name() {\n return \"AIMessagePromptTemplate\";\n }\n}\n\n/**\n * Class that represents a system message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class SystemMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof SystemMessage {\n return SystemMessage;\n }\n\n static lc_name() {\n return \"SystemMessagePromptTemplate\";\n }\n}\n\n/**\n * Interface for the input of a ChatPromptTemplate.\n */\nexport interface ChatPromptTemplateInput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n> extends BasePromptTemplateInput<RunInput, PartialVariableName> {\n /**\n * The prompt messages\n */\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n\n /**\n * Whether to try validating the template on initialization\n *\n * @defaultValue `true`\n */\n validateTemplate?: boolean;\n\n /**\n * The formatting method to use on the prompt.\n * @default \"f-string\"\n */\n templateFormat?: TemplateFormat;\n}\n\nexport type BaseMessagePromptTemplateLike =\n | BaseMessagePromptTemplate\n | BaseMessageLike;\n\nfunction _isBaseMessagePromptTemplate(\n baseMessagePromptTemplateLike: BaseMessagePromptTemplateLike\n): baseMessagePromptTemplateLike is BaseMessagePromptTemplate {\n return (\n typeof (baseMessagePromptTemplateLike as BaseMessagePromptTemplate)\n .formatMessages === \"function\"\n );\n}\n\nfunction _coerceMessagePromptTemplateLike<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n Extra extends Omit<\n ChatPromptTemplateInput<RunInput>,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n > = Omit<\n ChatPromptTemplateInput<RunInput>,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >,\n>(\n messagePromptTemplateLike: BaseMessagePromptTemplateLike,\n extra?: Extra\n): BaseMessagePromptTemplate | BaseMessage {\n if (\n _isBaseMessagePromptTemplate(messagePromptTemplateLike) ||\n isBaseMessage(messagePromptTemplateLike)\n ) {\n return messagePromptTemplateLike;\n }\n if (\n Array.isArray(messagePromptTemplateLike) &&\n messagePromptTemplateLike[0] === \"placeholder\"\n ) {\n const messageContent = messagePromptTemplateLike[1];\n if (\n extra?.templateFormat === \"mustache\" &&\n typeof messageContent === \"string\" &&\n messageContent.slice(0, 2) === \"{{\" &&\n messageContent.slice(-2) === \"}}\"\n ) {\n const variableName = messageContent.slice(2, -2);\n return new MessagesPlaceholder({ variableName, optional: true });\n } else if (\n typeof messageContent === \"string\" &&\n messageContent[0] === \"{\" &&\n messageContent[messageContent.length - 1] === \"}\"\n ) {\n const variableName = messageContent.slice(1, -1);\n return new MessagesPlaceholder({ variableName, optional: true });\n }\n throw new Error(\n `Invalid placeholder template for format ${\n extra?.templateFormat ?? `\"f-string\"`\n }: \"${\n messagePromptTemplateLike[1]\n }\". Expected a variable name surrounded by ${\n extra?.templateFormat === \"mustache\" ? \"double\" : \"single\"\n } curly braces.`\n );\n }\n const message = coerceMessageLikeToMessage(messagePromptTemplateLike);\n let templateData:\n | string\n | (\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>\n )[];\n\n if (typeof message.content === \"string\") {\n templateData = message.content;\n } else {\n // Assuming message.content is an array of complex objects, transform it.\n templateData = message.content.map((item) => {\n if (\"text\" in item) {\n return { ...item, text: item.text };\n } else if (\"image_url\" in item) {\n return { ...item, image_url: item.image_url };\n } else {\n return item;\n }\n });\n }\n\n if (message._getType() === \"human\") {\n return HumanMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (message._getType() === \"ai\") {\n return AIMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (message._getType() === \"system\") {\n return SystemMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (ChatMessage.isInstance(message)) {\n return ChatMessagePromptTemplate.fromTemplate(\n message.content as string,\n message.role,\n extra\n );\n } else {\n throw new Error(\n `Could not coerce message prompt template from input. Received message type: \"${message._getType()}\".`\n );\n }\n}\n\nfunction isMessagesPlaceholder(\n x: BaseMessagePromptTemplate | BaseMessage\n): x is MessagesPlaceholder {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (x.constructor as any).lc_name() === \"MessagesPlaceholder\";\n}\n\n/**\n * Class that represents a chat prompt. It extends the\n * BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate\n * instances to format a series of messages for a conversation.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const chatPrompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant.\"],\n * message,\n * ]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class ChatPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n>\n extends BaseChatPromptTemplate<RunInput, PartialVariableName>\n implements ChatPromptTemplateInput<RunInput, PartialVariableName>\n{\n static lc_name() {\n return \"ChatPromptTemplate\";\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n promptMessages: \"messages\",\n };\n }\n\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n\n validateTemplate = true;\n\n templateFormat: TemplateFormat = \"f-string\";\n\n constructor(input: ChatPromptTemplateInput<RunInput, PartialVariableName>) {\n super(input);\n // If input is mustache and validateTemplate is not defined, set it to false\n if (\n input.templateFormat === \"mustache\" &&\n input.validateTemplate === undefined\n ) {\n this.validateTemplate = false;\n }\n Object.assign(this, input);\n\n if (this.validateTemplate) {\n const inputVariablesMessages = new Set<string>();\n for (const promptMessage of this.promptMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) continue;\n for (const inputVariable of promptMessage.inputVariables) {\n inputVariablesMessages.add(inputVariable);\n }\n }\n\n const totalInputVariables = this.inputVariables as string[];\n const inputVariablesInstance = new Set(\n this.partialVariables\n ? totalInputVariables.concat(Object.keys(this.partialVariables))\n : totalInputVariables\n );\n const difference = new Set(\n [...inputVariablesInstance].filter(\n (x) => !inputVariablesMessages.has(x)\n )\n );\n if (difference.size > 0) {\n throw new Error(\n `Input variables \\`${[\n ...difference,\n ]}\\` are not used in any of the prompt messages.`\n );\n }\n const otherDifference = new Set(\n [...inputVariablesMessages].filter(\n (x) => !inputVariablesInstance.has(x)\n )\n );\n if (otherDifference.size > 0) {\n throw new Error(\n `Input variables \\`${[\n ...otherDifference,\n ]}\\` are used in prompt messages but not in the prompt template.`\n );\n }\n }\n }\n\n _getPromptType(): \"chat\" {\n return \"chat\";\n }\n\n private async _parseImagePrompts(\n message: BaseMessage,\n inputValues: InputValues<\n PartialVariableName | Extract<keyof RunInput, string>\n >\n ): Promise<BaseMessage> {\n if (typeof message.content === \"string\") {\n return message;\n }\n const formattedMessageContent = await Promise.all(\n message.content.map(async (item) => {\n if (item.type !== \"image_url\") {\n return item;\n }\n\n let imageUrl = \"\";\n if (typeof item.image_url === \"string\") {\n imageUrl = item.image_url;\n } else if (\n typeof item.image_url === \"object\" &&\n item.image_url !== null &&\n \"url\" in item.image_url &&\n typeof item.image_url.url === \"string\"\n ) {\n imageUrl = item.image_url.url;\n }\n\n const promptTemplatePlaceholder = PromptTemplate.fromTemplate(\n imageUrl,\n {\n templateFormat: this.templateFormat,\n }\n );\n const formattedUrl =\n await promptTemplatePlaceholder.format(inputValues);\n\n if (\n typeof item.image_url === \"object\" &&\n item.image_url !== null &&\n \"url\" in item.image_url\n ) {\n // eslint-disable-next-line no-param-reassign\n item.image_url.url = formattedUrl;\n } else {\n item.image_url = formattedUrl;\n }\n return item;\n })\n );\n message.content = formattedMessageContent;\n return message;\n }\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n const allValues = await this.mergePartialAndUserVariables(values);\n let resultMessages: BaseMessage[] = [];\n\n for (const promptMessage of this.promptMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) {\n resultMessages.push(\n await this._parseImagePrompts(promptMessage, allValues)\n );\n } else {\n let inputValues: InputValues;\n\n if (this.templateFormat === \"mustache\") {\n inputValues = { ...allValues };\n } else {\n inputValues = promptMessage.inputVariables.reduce(\n (acc, inputVariable) => {\n if (\n !(inputVariable in allValues) &&\n !(\n isMessagesPlaceholder(promptMessage) && promptMessage.optional\n )\n ) {\n const error = addLangChainErrorFields(\n new Error(\n `Missing value for input variable \\`${inputVariable.toString()}\\``\n ),\n \"INVALID_PROMPT_INPUT\"\n );\n throw error;\n }\n acc[inputVariable] = allValues[inputVariable];\n return acc;\n },\n {} as InputValues\n );\n }\n const message = await promptMessage.formatMessages(inputValues);\n resultMessages = resultMessages.concat(message);\n }\n }\n return resultMessages;\n }\n\n async partial<NewPartialVariableName extends string>(\n values: PartialValues<NewPartialVariableName>\n ) {\n // This is implemented in a way it doesn't require making\n // BaseMessagePromptTemplate aware of .partial()\n const newInputVariables = this.inputVariables.filter(\n (iv) => !(iv in values)\n ) as Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>[];\n const newPartialVariables = {\n ...(this.partialVariables ?? {}),\n ...values,\n } as PartialValues<PartialVariableName | NewPartialVariableName>;\n const promptDict = {\n ...this,\n inputVariables: newInputVariables,\n partialVariables: newPartialVariables,\n };\n return new ChatPromptTemplate<\n InputValues<\n Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>\n >\n >(promptDict);\n }\n\n /**\n * Load prompt template from a template f-string\n */\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, \"f-string\">,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string>,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, \"mustache\">,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<InputValues>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, TemplateFormat>,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput> | InputValues> {\n const prompt = PromptTemplate.fromTemplate(template, options);\n const humanTemplate = new HumanMessagePromptTemplate({ prompt });\n return this.fromMessages<\n RunInput extends Symbol ? ParamsFromFString<T> : RunInput\n >([humanTemplate]);\n }\n\n /**\n * Create a chat model-specific prompt from individual chat messages\n * or message-like tuples.\n * @param promptMessages Messages to be passed to the chat model\n * @returns A new ChatPromptTemplate\n */\n static fromMessages<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n Extra extends ChatPromptTemplateInput<RunInput> =\n ChatPromptTemplateInput<RunInput>,\n >(\n promptMessages: (\n | ChatPromptTemplate<InputValues, string>\n | BaseMessagePromptTemplateLike\n )[],\n extra?: Omit<\n Extra,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >\n ): ChatPromptTemplate<RunInput> {\n const flattenedMessages = promptMessages.reduce(\n (acc: Array<BaseMessagePromptTemplate | BaseMessage>, promptMessage) =>\n acc.concat(\n // eslint-disable-next-line no-instanceof/no-instanceof\n promptMessage instanceof ChatPromptTemplate\n ? promptMessage.promptMessages\n : [\n _coerceMessagePromptTemplateLike<\n RunInput,\n Omit<\n Extra,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >\n >(promptMessage, extra),\n ]\n ),\n []\n );\n const flattenedPartialVariables = promptMessages.reduce(\n (acc, promptMessage) =>\n // eslint-disable-next-line no-instanceof/no-instanceof\n promptMessage instanceof ChatPromptTemplate\n ? Object.assign(acc, promptMessage.partialVariables)\n : acc,\n Object.create(null) as PartialValues\n );\n const inputVariables = new Set<string>();\n for (const promptMessage of flattenedMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) continue;\n for (const inputVariable of promptMessage.inputVariables) {\n if (inputVariable in flattenedPartialVariables) {\n continue;\n }\n inputVariables.add(inputVariable);\n }\n }\n return new this<RunInput>({\n ...extra,\n inputVariables: [...inputVariables] as Extract<keyof RunInput, string>[],\n promptMessages: flattenedMessages,\n partialVariables: flattenedPartialVariables,\n templateFormat: extra?.templateFormat,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAsB,4BAAtB,cAIUA,wBAA8B;CACtC,eAAe;EAAC;EAAkB;EAAW;CAAO;CAEpD,kBAAkB;;;;;;;CAoBlB,MAAM,OACJC,OACAC,SACoB;AACpB,SAAO,KAAK,gBACV,CAACD,YAAoB,KAAK,eAAeE,QAAM,EAC/C,OACA;GAAE,GAAG;GAAS,SAAS;EAAU,EAClC;CACF;AACF;;;;;AAcD,IAAa,sBAAb,cAIU,0BAEV;CACE,OAAO,UAAU;AACf,SAAO;CACR;CAED;CAEA;CAQA,YACEC,QAGA;AACA,MAAI,OAAO,WAAW,UAEpB,SAAS,EAAE,cAAc,OAAQ;EAEnC,MAAM,OAAO;EACb,KAAK,eAAe,OAAO;EAC3B,KAAK,WAAW,OAAO,YAAY;CACpC;CAED,IAAI,iBAAiB;AACnB,SAAO,CAAC,KAAK,YAAa;CAC3B;CAED,MAAM,eACJC,QACwB;EACxB,MAAM,QAAQ,OAAO,KAAK;AAC1B,MAAI,KAAK,YAAY,CAAC,MACpB,QAAO,CAAE;WACA,CAAC,OAAO;GACjB,MAAM,wBAAQ,IAAI,MAChB,CAAC,OAAO,EAAE,KAAK,aAAa,qHAAqH,CAAC;GAEpJ,MAAM,OAAO;AACb,SAAM;EACP;EAED,IAAI;AACJ,MAAI;AACF,OAAI,MAAM,QAAQ,MAAM,EACtB,oBAAoB,MAAM,IAAIC,yCAA2B;QAEzD,oBAAoB,CAACA,yCAA2B,MAAM,AAAC;EAG1D,SAAQC,GAAQ;GACf,MAAM,gBACJ,OAAO,UAAU,WAAW,QAAQ,KAAK,UAAU,OAAO,MAAM,EAAE;GACpE,MAAM,QAAQ,IAAI,MAChB;IACE,CAAC,OAAO,EAAE,KAAK,aAAa,6GAA6G,CAAC;IAC1I,CAAC,gBAAgB,EAAE,eAAe;IAClC,CAAC,oBAAoB,EAAE,EAAE,SAAS;GACnC,EAAC,KAAK,OAAO;GAEhB,MAAM,OAAO;GAEZ,MAAc,gBAAgB,EAAE;AACjC,SAAM;EACP;AAED,SAAO;CACR;AACF;;;;;AAgBD,IAAsB,kCAAtB,cAGU,0BAAoC;CAC5C;CAiBA,YACEC,QAQA;AACA,MAAI,EAAE,YAAY,SAEhB,SAAS,EAAE,QAAQ,OAAQ;EAE7B,MAAM,OAAO;EACb,KAAK,SAAS,OAAO;CACtB;CAED,IAAI,iBAAiB;AACnB,SAAO,KAAK,OAAO;CACpB;CAMD,MAAM,eACJH,QACwB;AACxB,SAAO,CAAC,MAAM,KAAK,OAAO,OAAO,AAAC;CACnC;AACF;;;;;AAMD,IAAsB,yBAAtB,cAKUI,kCAIR;CACA,YAAYC,OAA+D;EACzE,MAAM,MAAM;CACb;CAMD,MAAM,OAAOL,QAA2D;AACtE,UAAQ,MAAM,KAAK,kBAAkB,OAAO,EAAE,UAAU;CACzD;CAED,MAAM,kBACJA,QACmC;EACnC,MAAM,iBAAiB,MAAM,KAAK,eAAe,OAAO;AACxD,SAAO,IAAIM,sCAAgB;CAC5B;AACF;;;;;AAgBD,IAAa,4BAAb,cAGU,gCAA0C;CAClD,OAAO,UAAU;AACf,SAAO;CACR;CAED;CAeA,YACEC,QAKAC,MACA;AACA,MAAI,EAAE,YAAY,SAEhB,SAAS;GAAE,QAAQ;GAAc;EAAO;EAE1C,MAAM,OAAO;EACb,KAAK,OAAO,OAAO;CACpB;CAED,MAAM,OAAOC,QAAwC;AACnD,SAAO,IAAIC,yBAAY,MAAM,KAAK,OAAO,OAAO,OAAO,EAAE,KAAK;CAC/D;CAED,OAAO,aAGLC,UAAaC,MAAcC,SAA+C;AAC1E,SAAO,IAAI,KACTC,8BAAe,aAA0B,UAAU,EACjD,gBAAgB,SAAS,eAC1B,EAAC,EACF;CAEH;AACF;AAOD,SAAS,oBAAoBC,OAA6C;AACxE,KAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CACrE,QAAO;AAET,QACE,OAAO,KAAK,MAAM,CAAC,WAAW,KAC9B,UAAU,SACV,OAAO,MAAM,SAAS;AAEzB;AAOD,SAAS,qBAAqBA,OAA8C;AAC1E,KAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,MAAM,CACrE,QAAO;AAET,QACE,eAAe,UACd,OAAO,MAAM,cAAc,YACzB,OAAO,MAAM,cAAc,YAC1B,MAAM,cAAc,QACpB,SAAS,MAAM,aACf,OAAO,MAAM,UAAU,QAAQ;AAEtC;AAeD,IAAM,oCAAN,cAIU,0BAA+C;CACvD,eAAe;EAAC;EAAkB;EAAW;CAAO;CAEpD,kBAAkB;CAElB,iBAAyD,CAAE;CAE3D,oBAA8D,CAAE;CAEhE;CAoBA,AAAU;CAEV,OAAO,gBAA8B;AACnC,QAAM,IAAI,MACR;CAEH;CAID,AAAU;CAEV,YAGEC,QACAC,mBACA;AACA,MAAI,EAAE,YAAY,SAEhB,SAAS,EAAE,QAAQ,OAAQ;EAE7B,MAAM,OAAO;EACb,KAAK,SAAS,OAAO;AACrB,MAAI,MAAM,QAAQ,KAAK,OAAO,EAAE;GAC9B,IAAIC,iBAAoD,CAAE;GAC1D,KAAK,OAAO,QAAQ,CAAC,WAAW;AAC9B,QAAI,oBAAoB,QACtB,iBAAiB,eAAe,OAAO,OAAO,eAAe;GAEhE,EAAC;GACF,KAAK,iBAAiB;EACvB,OACC,KAAK,iBAAiB,KAAK,OAAO;EAEpC,KAAK,oBAAoB,qBAAqB,KAAK;CACpD;CAED,cAAcC,SAAyB;EAErC,MAAM,cAAc,KAAK;AACzB,MAAI,YAAY,eAAe,EAAE;GAC/B,MAAM,WAAW,YAAY,eAAe;AAC5C,UAAO,IAAI,SAAS,EAAE,QAAS;EAChC,WAAU,YAAY,kBAAkB;GACvC,MAAM,WAAW,YAAY,kBAAkB;AAE/C,UAAO,IAAI,SAAS;IAClB;IACA,MAAM,KAAK,wBAAwB,SAAS,SAAS,CAAC;GACvD;EACF,MACC,OAAM,IAAI,MAAM;CAEnB;CAED,wBAAwBC,MAAc;AACpC,UAAQ,MAAR;GACE,KAAK,eACH,QAAO;GACT,KAAK,YACH,QAAO;GACT,KAAK,gBACH,QAAO;GACT,KAAK,cACH,QAAO;GACT,QACE,OAAM,IAAI,MAAM;EACnB;CACF;CAED,OAAO,aACLC,UAQAJ,mBACA;AACA,MAAI,OAAO,aAAa,SACtB,QAAO,IAAI,KAAKH,8BAAe,aAAa,UAAU,kBAAkB;EAE1E,MAAMQ,SAIF,CAAE;AACN,OAAK,MAAM,QAAQ,SAEjB,KAAI,OAAO,SAAS,UAClB,OAAO,KAAKR,8BAAe,aAAa,MAAM,kBAAkB,CAAC;WACxD,SAAS,MAAM,CAEzB,WAAU,oBAAoB,KAAK,EAAE;GACpC,IAAI,OAAO;AACX,OAAI,OAAO,KAAK,SAAS,UACvB,OAAO,KAAK,QAAQ;GAGtB,MAAM,UAAU;IACd,GAAG;IACH,yBAAyB;GAC1B;GACD,OAAO,KAAKA,8BAAe,aAAa,MAAM,QAAQ,CAAC;EACxD,WAAU,qBAAqB,KAAK,EAAE;GACrC,IAAI,cAAc,KAAK,aAAa;GACpC,IAAIS;GACJ,IAAIC,iBAA2B,CAAE;AACjC,OAAI,OAAO,gBAAgB,UAAU;IACnC,IAAIC;AACJ,QAAI,mBAAmB,mBAAmB,YACxC,iBAAiBC,+BAAc,YAAY;SAE3C,iBAAiBC,8BAAa,YAAY;IAG5C,MAAM,YAAY,eAAe,QAAQ,CAACC,WACxCA,OAAK,SAAS,aAAa,CAACA,OAAK,IAAK,IAAG,CAAE,EAC5C;AAED,SAAK,WAAW,UAAU,KAAK,GAAG;AAChC,SAAI,UAAU,SAAS,EACrB,OAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,UAAU,QAAQ,EAAE,aAAa;KAGnG,iBAAiB,CAAC,UAAU,EAAG;IAChC,OACC,iBAAiB,CAAE;IAGrB,cAAc,EAAE,KAAK,YAAa;IAClC,oBAAoB,IAAIC,kCAAiC;KACvD,UAAU;KACV;KACA,gBAAgB,mBAAmB;KACnC,yBAAyB;IAC1B;GACF,WAAU,OAAO,gBAAgB,UAAU;AAC1C,QAAI,SAAS,aAAa;KACxB,IAAIJ;AACJ,SAAI,mBAAmB,mBAAmB,YACxC,iBAAiBC,+BAAc,YAAY,IAAI;UAE/C,iBAAiBC,8BAAa,YAAY,IAAI;KAGhD,iBAAiB,eAAe,QAAQ,CAACC,WACvCA,OAAK,SAAS,aAAa,CAACA,OAAK,IAAK,IAAG,CAAE,EAC5C;IACF,OACC,iBAAiB,CAAE;IAErB,oBAAoB,IAAIC,kCAAiC;KACvD,UAAU;KACV;KACA,gBAAgB,mBAAmB;KACnC,yBAAyB;IAC1B;GACF,MACC,OAAM,IAAI,MAAM;GAElB,OAAO,KAAK,kBAAkB;EAC/B,WAAU,OAAO,SAAS,UACzB,OAAO,KACL,IAAIC,gCAAmB;GACrB,UAAU;GACV,gBAAgB,mBAAmB;EACpC,GACF;AAGL,SAAO,IAAI,KAAK;GAAE;GAAQ;EAAmB;CAC9C;CAED,MAAM,OAAOC,OAA+D;AAE1E,MAAI,KAAK,kBAAkBC,yCAA0B;GACnD,MAAM,OAAO,MAAM,KAAK,OAAO,OAAO,MAAM;AAE5C,UAAO,KAAK,cAAc,KAAK;EAChC,OAAM;GACL,MAAMb,UAA0B,CAAE;AAClC,QAAK,MAAM,UAAU,KAAK,QAAQ;IAEhC,IAAIc,SAA8B,CAAE;AACpC,QAAI,EAAE,oBAAoB,QACxB,OAAM,IAAI,MACR,CAAC,OAAO,EAAE,OAAO,sCAAsC,CAAC;AAG5D,SAAK,MAAM,QAAQ,OAAO,gBAAgB;AACxC,SAAI,CAAC,QACH,SAAS,GAAG,OAAO,MAAM,MAAO;KAElC,SAAS;MAAE,GAAG;OAAS,OAAO,MAAM;KAAO;IAC5C;AAED,QAAI,kBAAkBD,yCAA0B;KAC9C,MAAM,YAAY,MAAM,OAAO,OAC7B,OACD;KACD,IAAIE;AACJ,SAAI,6BAA6B,QAE/B,0BAA0B,OAAO;AAEnC,SAAI,cAAc,IAChB,QAAQ,KAAK;MACX,GAAG;MACH,MAAM;MACN,MAAM;KACP,EAAC;IAIL,WAAU,kBAAkBL,mCAAqB;KAChD,MAAM,YAAY,MAAM,OAAO,OAC7B,OACD;KACD,IAAIK;AACJ,SAAI,6BAA6B,QAE/B,0BAA0B,OAAO;KAEnC,QAAQ,KAAK;MACX,GAAG;MACH,MAAM;MACN,WAAW;KACZ,EAAC;IAEH,WAAU,kBAAkBJ,iCAAoB;KAC/C,MAAM,YAAY,MAAM,OAAO,OAC7B,OACD;KACD,IAAII;AACJ,SAAI,6BAA6B,QAE/B,0BAA0B,OAAO;KAEnC,QAAQ,KAAK;MACX,GAAG;MACH,GAAG;KACJ,EAAiB;IACnB;GACF;AACD,UAAO,KAAK,cAAc,QAAQ;EACnC;CACF;CAED,MAAM,eAAezB,QAAsC;AACzD,SAAO,CAAC,MAAM,KAAK,OAAO,OAAO,AAAC;CACnC;AACF;;;;;;;;;;;;;;;AAgBD,IAAa,6BAAb,cAGU,kCAA4C;CACpD,OAAO,gBAAqC;AAC1C,SAAO0B;CACR;CAED,OAAO,UAAU;AACf,SAAO;CACR;AACF;;;;;AAMD,IAAa,0BAAb,cAGU,kCAA4C;CACpD,OAAO,gBAAkC;AACvC,SAAOC;CACR;CAED,OAAO,UAAU;AACf,SAAO;CACR;AACF;;;;;;;;;;;;;;;AAgBD,IAAa,8BAAb,cAGU,kCAA4C;CACpD,OAAO,gBAAsC;AAC3C,SAAOC;CACR;CAED,OAAO,UAAU;AACf,SAAO;CACR;AACF;AAkCD,SAAS,6BACPC,+BAC4D;AAC5D,QACE,OAAQ,8BACL,mBAAmB;AAEzB;AAED,SAAS,iCAWPC,2BACAC,OACyC;AACzC,KACE,6BAA6B,0BAA0B,IACvDC,2BAAc,0BAA0B,CAExC,QAAO;AAET,KACE,MAAM,QAAQ,0BAA0B,IACxC,0BAA0B,OAAO,eACjC;EACA,MAAM,iBAAiB,0BAA0B;AACjD,MACE,OAAO,mBAAmB,cAC1B,OAAO,mBAAmB,YAC1B,eAAe,MAAM,GAAG,EAAE,KAAK,QAC/B,eAAe,MAAM,GAAG,KAAK,MAC7B;GACA,MAAM,eAAe,eAAe,MAAM,GAAG,GAAG;AAChD,UAAO,IAAI,oBAAoB;IAAE;IAAc,UAAU;GAAM;EAChE,WACC,OAAO,mBAAmB,YAC1B,eAAe,OAAO,OACtB,eAAe,eAAe,SAAS,OAAO,KAC9C;GACA,MAAM,eAAe,eAAe,MAAM,GAAG,GAAG;AAChD,UAAO,IAAI,oBAAoB;IAAE;IAAc,UAAU;GAAM;EAChE;AACD,QAAM,IAAI,MACR,CAAC,wCAAwC,EACvC,OAAO,kBAAkB,CAAC,UAAU,CAAC,CACtC,GAAG,EACF,0BAA0B,GAC3B,0CAA0C,EACzC,OAAO,mBAAmB,aAAa,WAAW,SACnD,cAAc,CAAC;CAEnB;CACD,MAAM,UAAUxC,yCAA2B,0BAA0B;CACrE,IAAIyC;AAUJ,KAAI,OAAO,QAAQ,YAAY,UAC7B,eAAe,QAAQ;MAGvB,eAAe,QAAQ,QAAQ,IAAI,CAAC,SAAS;AAC3C,MAAI,UAAU,KACZ,QAAO;GAAE,GAAG;GAAM,MAAM,KAAK;EAAM;WAC1B,eAAe,KACxB,QAAO;GAAE,GAAG;GAAM,WAAW,KAAK;EAAW;MAE7C,QAAO;CAEV,EAAC;AAGJ,KAAI,QAAQ,UAAU,KAAK,QACzB,QAAO,2BAA2B,aAAa,cAAc,MAAM;UAC1D,QAAQ,UAAU,KAAK,KAChC,QAAO,wBAAwB,aAAa,cAAc,MAAM;UACvD,QAAQ,UAAU,KAAK,SAChC,QAAO,4BAA4B,aAAa,cAAc,MAAM;UAC3DhC,yBAAY,WAAW,QAAQ,CACxC,QAAO,0BAA0B,aAC/B,QAAQ,SACR,QAAQ,MACR,MACD;KAED,OAAM,IAAI,MACR,CAAC,6EAA6E,EAAE,QAAQ,UAAU,CAAC,EAAE,CAAC;AAG3G;AAED,SAAS,sBACPiC,GAC0B;AAE1B,QAAQ,EAAE,YAAoB,SAAS,KAAK;AAC7C;;;;;;;;;;;;;;;;;AAkBD,IAAa,qBAAb,MAAa,2BAMH,uBAEV;CACE,OAAO,UAAU;AACf,SAAO;CACR;CAED,IAAI,aAAqC;AACvC,SAAO,EACL,gBAAgB,WACjB;CACF;CAED;CAEA,mBAAmB;CAEnB,iBAAiC;CAEjC,YAAYC,OAA+D;EACzE,MAAM,MAAM;AAEZ,MACE,MAAM,mBAAmB,cACzB,MAAM,qBAAqB,QAE3B,KAAK,mBAAmB;EAE1B,OAAO,OAAO,MAAM,MAAM;AAE1B,MAAI,KAAK,kBAAkB;GACzB,MAAM,yCAAyB,IAAI;AACnC,QAAK,MAAM,iBAAiB,KAAK,gBAAgB;AAE/C,QAAI,yBAAyBC,yBAAa;AAC1C,SAAK,MAAM,iBAAiB,cAAc,gBACxC,uBAAuB,IAAI,cAAc;GAE5C;GAED,MAAM,sBAAsB,KAAK;GACjC,MAAM,yBAAyB,IAAI,IACjC,KAAK,mBACD,oBAAoB,OAAO,OAAO,KAAK,KAAK,iBAAiB,CAAC,GAC9D;GAEN,MAAM,aAAa,IAAI,IACrB,CAAC,GAAG,sBAAuB,EAAC,OAC1B,CAAC,MAAM,CAAC,uBAAuB,IAAI,EAAE,CACtC;AAEH,OAAI,WAAW,OAAO,EACpB,OAAM,IAAI,MACR,CAAC,kBAAkB,EAAE,CACnB,GAAG,UACJ,EAAC,8CAA8C,CAAC;GAGrD,MAAM,kBAAkB,IAAI,IAC1B,CAAC,GAAG,sBAAuB,EAAC,OAC1B,CAAC,MAAM,CAAC,uBAAuB,IAAI,EAAE,CACtC;AAEH,OAAI,gBAAgB,OAAO,EACzB,OAAM,IAAI,MACR,CAAC,kBAAkB,EAAE,CACnB,GAAG,eACJ,EAAC,8DAA8D,CAAC;EAGtE;CACF;CAED,iBAAyB;AACvB,SAAO;CACR;CAED,MAAc,mBACZC,SACAC,aAGsB;AACtB,MAAI,OAAO,QAAQ,YAAY,SAC7B,QAAO;EAET,MAAM,0BAA0B,MAAM,QAAQ,IAC5C,QAAQ,QAAQ,IAAI,OAAO,SAAS;AAClC,OAAI,KAAK,SAAS,YAChB,QAAO;GAGT,IAAI,WAAW;AACf,OAAI,OAAO,KAAK,cAAc,UAC5B,WAAW,KAAK;YAEhB,OAAO,KAAK,cAAc,YAC1B,KAAK,cAAc,QACnB,SAAS,KAAK,aACd,OAAO,KAAK,UAAU,QAAQ,UAE9B,WAAW,KAAK,UAAU;GAG5B,MAAM,4BAA4BjC,8BAAe,aAC/C,UACA,EACE,gBAAgB,KAAK,eACtB,EACF;GACD,MAAM,eACJ,MAAM,0BAA0B,OAAO,YAAY;AAErD,OACE,OAAO,KAAK,cAAc,YAC1B,KAAK,cAAc,QACnB,SAAS,KAAK,WAGd,KAAK,UAAU,MAAM;QAErB,KAAK,YAAY;AAEnB,UAAO;EACR,EAAC,CACH;EACD,QAAQ,UAAU;AAClB,SAAO;CACR;CAED,MAAM,eACJd,QACwB;EACxB,MAAM,YAAY,MAAM,KAAK,6BAA6B,OAAO;EACjE,IAAIgD,iBAAgC,CAAE;AAEtC,OAAK,MAAM,iBAAiB,KAAK,eAE/B,KAAI,yBAAyBH,0BAC3B,eAAe,KACb,MAAM,KAAK,mBAAmB,eAAe,UAAU,CACxD;OACI;GACL,IAAII;AAEJ,OAAI,KAAK,mBAAmB,YAC1B,cAAc,EAAE,GAAG,UAAW;QAE9B,cAAc,cAAc,eAAe,OACzC,CAAC,KAAK,kBAAkB;AACtB,QACE,EAAE,iBAAiB,cACnB,EACE,sBAAsB,cAAc,IAAI,cAAc,WAExD;KACA,MAAM,QAAQC,6DACZ,IAAI,MACF,CAAC,mCAAmC,EAAE,cAAc,UAAU,CAAC,EAAE,CAAC,GAEpE,uBACD;AACD,WAAM;IACP;IACD,IAAI,iBAAiB,UAAU;AAC/B,WAAO;GACR,GACD,CAAE,EACH;GAEH,MAAM,UAAU,MAAM,cAAc,eAAe,YAAY;GAC/D,iBAAiB,eAAe,OAAO,QAAQ;EAChD;AAEH,SAAO;CACR;CAED,MAAM,QACJC,QACA;EAGA,MAAM,oBAAoB,KAAK,eAAe,OAC5C,CAAC,OAAO,EAAE,MAAM,QACjB;EACD,MAAM,sBAAsB;GAC1B,GAAI,KAAK,oBAAoB,CAAE;GAC/B,GAAG;EACJ;EACD,MAAM,aAAa;GACjB,GAAG;GACH,gBAAgB;GAChB,kBAAkB;EACnB;AACD,SAAO,IAAI,mBAIT;CACH;CAsCD,OAAO,aAILxC,UACAyC,SAIuE;EACvE,MAAM,SAAStC,8BAAe,aAAa,UAAU,QAAQ;EAC7D,MAAM,gBAAgB,IAAI,2BAA2B,EAAE,OAAQ;AAC/D,SAAO,KAAK,aAEV,CAAC,aAAc,EAAC;CACnB;;;;;;;CAQD,OAAO,aAMLuC,gBAIAC,OAI8B;EAC9B,MAAM,oBAAoB,eAAe,OACvC,CAACC,KAAqD,kBACpD,IAAI,OAEF,yBAAyB,qBACrB,cAAc,iBACd,CACE,iCAME,eAAe,MAAM,AACxB,EACN,EACH,CAAE,EACH;EACD,MAAM,4BAA4B,eAAe,OAC/C,CAAC,KAAK,kBAEJ,yBAAyB,qBACrB,OAAO,OAAO,KAAK,cAAc,iBAAiB,GAClD,KACN,OAAO,OAAO,KAAK,CACpB;EACD,MAAM,iCAAiB,IAAI;AAC3B,OAAK,MAAM,iBAAiB,mBAAmB;AAE7C,OAAI,yBAAyBV,yBAAa;AAC1C,QAAK,MAAM,iBAAiB,cAAc,gBAAgB;AACxD,QAAI,iBAAiB,0BACnB;IAEF,eAAe,IAAI,cAAc;GAClC;EACF;AACD,SAAO,IAAI,KAAe;GACxB,GAAG;GACH,gBAAgB,CAAC,GAAG,cAAe;GACnC,gBAAgB;GAChB,kBAAkB;GAClB,gBAAgB,OAAO;EACxB;CACF;AACF"}
1
+ {"version":3,"file":"chat.cjs","names":["Runnable","coerceMessageLikeToMessage","BasePromptTemplate","ChatPromptValue","ChatMessage","PromptTemplate","parseMustache","parseFString","ImagePromptTemplate","DictPromptTemplate","BaseStringPromptTemplate","HumanMessage","AIMessage","SystemMessage","isBaseMessage","BaseMessage","addLangChainErrorFields"],"sources":["../../src/prompts/chat.ts"],"sourcesContent":["// Default generic \"any\" values are for backwards compatibility.\n// Replace with \"string\" when we are comfortable with a breaking change.\n\nimport type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport {\n AIMessage,\n HumanMessage,\n SystemMessage,\n BaseMessage,\n ChatMessage,\n type BaseMessageLike,\n coerceMessageLikeToMessage,\n isBaseMessage,\n MessageContent,\n ContentBlock,\n} from \"../messages/index.js\";\nimport {\n type ChatPromptValueInterface,\n ChatPromptValue,\n} from \"../prompt_values.js\";\nimport type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport { Runnable } from \"../runnables/base.js\";\nimport { BaseStringPromptTemplate } from \"./string.js\";\nimport {\n BasePromptTemplate,\n type BasePromptTemplateInput,\n type TypedPromptInputValues,\n} from \"./base.js\";\nimport {\n PromptTemplate,\n type ParamsFromFString,\n PromptTemplateInput,\n ExtractedFStringParams,\n} from \"./prompt.js\";\nimport { ImagePromptTemplate } from \"./image.js\";\nimport {\n ParsedTemplateNode,\n TemplateFormat,\n parseFString,\n parseMustache,\n} from \"./template.js\";\nimport { addLangChainErrorFields } from \"../errors/index.js\";\nimport { DictPromptTemplate } from \"./dict.js\";\n\n/**\n * Abstract class that serves as a base for creating message prompt\n * templates. It defines how to format messages for different roles in a\n * conversation.\n */\nexport abstract class BaseMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n RunOutput extends BaseMessage[] = BaseMessage[],\n> extends Runnable<RunInput, RunOutput> {\n lc_namespace = [\"langchain_core\", \"prompts\", \"chat\"];\n\n lc_serializable = true;\n\n abstract inputVariables: Array<Extract<keyof RunInput, string>>;\n\n /**\n * Method that takes an object of TypedPromptInputValues and returns a\n * promise that resolves to an array of BaseMessage instances.\n * @param values Object of TypedPromptInputValues\n * @returns Formatted array of BaseMessages\n */\n abstract formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<RunOutput>;\n\n /**\n * Calls the formatMessages method with the provided input and options.\n * @param input Input for the formatMessages method\n * @param options Optional BaseCallbackConfig\n * @returns Formatted output messages\n */\n async invoke(\n input: RunInput,\n options?: BaseCallbackConfig\n ): Promise<RunOutput> {\n return this._callWithConfig(\n (input: RunInput) => this.formatMessages(input),\n input,\n { ...options, runType: \"prompt\" }\n );\n }\n}\n\n/**\n * Interface for the fields of a MessagePlaceholder.\n */\nexport interface MessagesPlaceholderFields<T extends string> {\n variableName: T;\n optional?: boolean;\n}\n\n/**\n * Class that represents a placeholder for messages in a chat prompt. It\n * extends the BaseMessagePromptTemplate.\n */\nexport class MessagesPlaceholder<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n>\n extends BaseMessagePromptTemplate<RunInput>\n implements MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n{\n static lc_name() {\n return \"MessagesPlaceholder\";\n }\n\n variableName: Extract<keyof RunInput, string>;\n\n optional: boolean;\n\n constructor(variableName: Extract<keyof RunInput, string>);\n\n constructor(\n fields: MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n );\n\n constructor(\n fields:\n | Extract<keyof RunInput, string>\n | MessagesPlaceholderFields<Extract<keyof RunInput, string>>\n ) {\n if (typeof fields === \"string\") {\n // eslint-disable-next-line no-param-reassign\n fields = { variableName: fields };\n }\n super(fields);\n this.variableName = fields.variableName;\n this.optional = fields.optional ?? false;\n }\n\n get inputVariables() {\n return [this.variableName];\n }\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n const input = values[this.variableName];\n if (this.optional && !input) {\n return [];\n } else if (!input) {\n const error = new Error(\n `Field \"${this.variableName}\" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`\n );\n error.name = \"InputFormatError\";\n throw error;\n }\n\n let formattedMessages;\n try {\n if (Array.isArray(input)) {\n formattedMessages = input.map(coerceMessageLikeToMessage);\n } else {\n formattedMessages = [coerceMessageLikeToMessage(input)];\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n const readableInput =\n typeof input === \"string\" ? input : JSON.stringify(input, null, 2);\n const error = new Error(\n [\n `Field \"${this.variableName}\" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,\n `Received value: ${readableInput}`,\n `Additional message: ${e.message}`,\n ].join(\"\\n\\n\")\n );\n error.name = \"InputFormatError\";\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (error as any).lc_error_code = e.lc_error_code;\n throw error;\n }\n\n return formattedMessages;\n }\n}\n\n/**\n * Interface for the fields of a MessageStringPromptTemplate.\n */\nexport interface MessageStringPromptTemplateFields<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends InputValues = any,\n> {\n prompt: BaseStringPromptTemplate<T, string>;\n}\n\n/**\n * Abstract class that serves as a base for creating message string prompt\n * templates. It extends the BaseMessagePromptTemplate.\n */\nexport abstract class BaseMessageStringPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends BaseMessagePromptTemplate<RunInput> {\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >;\n\n constructor(\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields: MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields:\n | MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields };\n }\n super(fields);\n this.prompt = fields.prompt;\n }\n\n get inputVariables() {\n return this.prompt.inputVariables;\n }\n\n abstract format(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage>;\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n return [await this.format(values)];\n }\n}\n\n/**\n * Abstract class that serves as a base for creating chat prompt\n * templates. It extends the BasePromptTemplate.\n */\nexport abstract class BaseChatPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n> extends BasePromptTemplate<\n RunInput,\n ChatPromptValueInterface,\n PartialVariableName\n> {\n constructor(input: BasePromptTemplateInput<RunInput, PartialVariableName>) {\n super(input);\n }\n\n abstract formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]>;\n\n async format(values: TypedPromptInputValues<RunInput>): Promise<string> {\n return (await this.formatPromptValue(values)).toString();\n }\n\n async formatPromptValue(\n values: TypedPromptInputValues<RunInput>\n ): Promise<ChatPromptValueInterface> {\n const resultMessages = await this.formatMessages(values);\n return new ChatPromptValue(resultMessages);\n }\n}\n\n/**\n * Interface for the fields of a ChatMessagePromptTemplate.\n */\nexport interface ChatMessagePromptTemplateFields<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends InputValues = any,\n> extends MessageStringPromptTemplateFields<T> {\n role: string;\n}\n\n/**\n * Class that represents a chat message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport class ChatMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends BaseMessageStringPromptTemplate<RunInput> {\n static lc_name() {\n return \"ChatMessagePromptTemplate\";\n }\n\n role: string;\n\n constructor(\n prompt: BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>\n >,\n role: string\n );\n\n constructor(\n fields: ChatMessagePromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n );\n\n constructor(\n fields:\n | ChatMessagePromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>,\n role?: string\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields, role: role! };\n }\n super(fields);\n this.role = fields.role;\n }\n\n async format(values: RunInput): Promise<BaseMessage> {\n return new ChatMessage(await this.prompt.format(values), this.role);\n }\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(template: T, role: string, options?: { templateFormat?: TemplateFormat }) {\n return new this(\n PromptTemplate.fromTemplate<RunInput, T>(template, {\n templateFormat: options?.templateFormat,\n }),\n role\n );\n }\n}\n\ninterface _TextTemplateParam {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n text?: string | Record<string, any>;\n}\n\nfunction isTextTemplateParam(param: unknown): param is _TextTemplateParam {\n if (param === null || typeof param !== \"object\" || Array.isArray(param)) {\n return false;\n }\n return (\n Object.keys(param).length === 1 &&\n \"text\" in param &&\n typeof param.text === \"string\"\n );\n}\n\ninterface _ImageTemplateParam {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n image_url?: string | Record<string, any>;\n}\n\nfunction isImageTemplateParam(param: unknown): param is _ImageTemplateParam {\n if (param === null || typeof param !== \"object\" || Array.isArray(param)) {\n return false;\n }\n return (\n \"image_url\" in param &&\n (typeof param.image_url === \"string\" ||\n (typeof param.image_url === \"object\" &&\n param.image_url !== null &&\n \"url\" in param.image_url &&\n typeof param.image_url.url === \"string\"))\n );\n}\n\ntype MessageClass =\n | typeof HumanMessage\n | typeof AIMessage\n | typeof SystemMessage;\n\ntype ChatMessageClass = typeof ChatMessage;\n\ninterface _StringImageMessagePromptTemplateOptions<\n Format extends TemplateFormat = TemplateFormat,\n> extends Record<string, unknown> {\n templateFormat?: Format;\n}\n\nclass _StringImageMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n RunOutput extends BaseMessage[] = BaseMessage[],\n> extends BaseMessagePromptTemplate<RunInput, RunOutput> {\n lc_namespace = [\"langchain_core\", \"prompts\", \"chat\"];\n\n lc_serializable = true;\n\n inputVariables: Array<Extract<keyof RunInput, string>> = [];\n\n additionalOptions: _StringImageMessagePromptTemplateOptions = {};\n\n prompt:\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | Array<\n | BaseStringPromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | ImagePromptTemplate<\n InputValues<Extract<keyof RunInput, string>>,\n string\n >\n | MessageStringPromptTemplateFields<\n InputValues<Extract<keyof RunInput, string>>\n >\n | DictPromptTemplate<InputValues<Extract<keyof RunInput, string>>>\n >;\n\n protected messageClass?: MessageClass;\n\n static _messageClass(): MessageClass {\n throw new Error(\n \"Can not invoke _messageClass from inside _StringImageMessagePromptTemplate\"\n );\n }\n\n // ChatMessage contains role field, others don't.\n // Because of this, we have a separate class property for ChatMessage.\n protected chatMessageClass?: ChatMessageClass;\n\n constructor(\n /** @TODO When we come up with a better way to type prompt templates, fix this */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fields: any,\n additionalOptions?: _StringImageMessagePromptTemplateOptions\n ) {\n if (!(\"prompt\" in fields)) {\n // eslint-disable-next-line no-param-reassign\n fields = { prompt: fields };\n }\n super(fields);\n this.prompt = fields.prompt;\n if (Array.isArray(this.prompt)) {\n let inputVariables: Extract<keyof RunInput, string>[] = [];\n this.prompt.forEach((prompt) => {\n if (\"inputVariables\" in prompt) {\n inputVariables = inputVariables.concat(prompt.inputVariables);\n }\n });\n this.inputVariables = inputVariables;\n } else {\n this.inputVariables = this.prompt.inputVariables;\n }\n this.additionalOptions = additionalOptions ?? this.additionalOptions;\n }\n\n createMessage(content: MessageContent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const constructor = this.constructor as any;\n if (constructor._messageClass()) {\n const MsgClass = constructor._messageClass();\n return new MsgClass({ content });\n } else if (constructor.chatMessageClass) {\n const MsgClass = constructor.chatMessageClass();\n // Assuming ChatMessage constructor also takes a content argument\n return new MsgClass({\n content,\n role: this.getRoleFromMessageClass(MsgClass.lc_name()),\n });\n } else {\n throw new Error(\"No message class defined\");\n }\n }\n\n getRoleFromMessageClass(name: string) {\n switch (name) {\n case \"HumanMessage\":\n return \"human\";\n case \"AIMessage\":\n return \"ai\";\n case \"SystemMessage\":\n return \"system\";\n case \"ChatMessage\":\n return \"chat\";\n default:\n throw new Error(\"Invalid message class name\");\n }\n }\n\n static fromTemplate(\n template:\n | string\n | Array<\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n | Record<string, unknown>\n >,\n additionalOptions?: _StringImageMessagePromptTemplateOptions\n ) {\n if (typeof template === \"string\") {\n return new this(PromptTemplate.fromTemplate(template, additionalOptions));\n }\n const prompt: Array<\n | PromptTemplate<InputValues>\n | ImagePromptTemplate<InputValues>\n | DictPromptTemplate\n > = [];\n for (const item of template) {\n // handle string cases\n if (typeof item === \"string\") {\n prompt.push(PromptTemplate.fromTemplate(item, additionalOptions));\n } else if (item === null) {\n // pass\n } else if (isTextTemplateParam(item)) {\n let text = \"\";\n if (typeof item.text === \"string\") {\n text = item.text ?? \"\";\n }\n\n const options = {\n ...additionalOptions,\n additionalContentFields: item as ContentBlock,\n };\n prompt.push(PromptTemplate.fromTemplate(text, options));\n } else if (isImageTemplateParam(item)) {\n let imgTemplate = item.image_url ?? \"\";\n let imgTemplateObject: ImagePromptTemplate<InputValues>;\n let inputVariables: string[] = [];\n if (typeof imgTemplate === \"string\") {\n let parsedTemplate: ParsedTemplateNode[];\n if (additionalOptions?.templateFormat === \"mustache\") {\n parsedTemplate = parseMustache(imgTemplate);\n } else {\n parsedTemplate = parseFString(imgTemplate);\n }\n\n const variables = parsedTemplate.flatMap((item) =>\n item.type === \"variable\" ? [item.name] : []\n );\n\n if ((variables?.length ?? 0) > 0) {\n if (variables.length > 1) {\n throw new Error(\n `Only one format variable allowed per image template.\\nGot: ${variables}\\nFrom: ${imgTemplate}`\n );\n }\n inputVariables = [variables[0]];\n } else {\n inputVariables = [];\n }\n\n imgTemplate = { url: imgTemplate };\n imgTemplateObject = new ImagePromptTemplate<InputValues>({\n template: imgTemplate,\n inputVariables,\n templateFormat: additionalOptions?.templateFormat,\n additionalContentFields: item as ContentBlock,\n });\n } else if (typeof imgTemplate === \"object\") {\n if (\"url\" in imgTemplate) {\n let parsedTemplate: ParsedTemplateNode[];\n if (additionalOptions?.templateFormat === \"mustache\") {\n parsedTemplate = parseMustache(imgTemplate.url);\n } else {\n parsedTemplate = parseFString(imgTemplate.url);\n }\n\n inputVariables = parsedTemplate.flatMap((item) =>\n item.type === \"variable\" ? [item.name] : []\n );\n } else {\n inputVariables = [];\n }\n imgTemplateObject = new ImagePromptTemplate<InputValues>({\n template: imgTemplate,\n inputVariables,\n templateFormat: additionalOptions?.templateFormat,\n additionalContentFields: item as ContentBlock,\n });\n } else {\n throw new Error(\"Invalid image template\");\n }\n prompt.push(imgTemplateObject);\n } else if (typeof item === \"object\") {\n prompt.push(\n new DictPromptTemplate({\n template: item,\n templateFormat: additionalOptions?.templateFormat,\n })\n );\n }\n }\n return new this({ prompt, additionalOptions });\n }\n\n async format(input: TypedPromptInputValues<RunInput>): Promise<BaseMessage> {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (this.prompt instanceof BaseStringPromptTemplate) {\n const text = await this.prompt.format(input);\n\n return this.createMessage(text);\n } else {\n const content: MessageContent = [];\n for (const prompt of this.prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let inputs: Record<string, any> = {};\n if (!(\"inputVariables\" in prompt)) {\n throw new Error(\n `Prompt ${prompt} does not have inputVariables defined.`\n );\n }\n for (const item of prompt.inputVariables) {\n if (!inputs) {\n inputs = { [item]: input[item] };\n }\n inputs = { ...inputs, [item]: input[item] };\n }\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (prompt instanceof BaseStringPromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n if (formatted !== \"\") {\n content.push({\n ...additionalContentFields,\n type: \"text\",\n text: formatted,\n });\n }\n /** @TODO replace this */\n // eslint-disable-next-line no-instanceof/no-instanceof\n } else if (prompt instanceof ImagePromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n content.push({\n ...additionalContentFields,\n type: \"image_url\",\n image_url: formatted,\n });\n // eslint-disable-next-line no-instanceof/no-instanceof\n } else if (prompt instanceof DictPromptTemplate) {\n const formatted = await prompt.format(\n inputs as TypedPromptInputValues<RunInput>\n );\n let additionalContentFields: ContentBlock | undefined;\n if (\"additionalContentFields\" in prompt) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalContentFields = prompt.additionalContentFields as any;\n }\n content.push({\n ...additionalContentFields,\n ...formatted,\n } as ContentBlock);\n }\n }\n return this.createMessage(content);\n }\n }\n\n async formatMessages(values: RunInput): Promise<RunOutput> {\n return [await this.format(values)] as BaseMessage[] as RunOutput;\n }\n}\n\n/**\n * Class that represents a human message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = HumanMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class HumanMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof HumanMessage {\n return HumanMessage;\n }\n\n static lc_name() {\n return \"HumanMessagePromptTemplate\";\n }\n}\n\n/**\n * Class that represents an AI message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport class AIMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof AIMessage {\n return AIMessage;\n }\n\n static lc_name() {\n return \"AIMessagePromptTemplate\";\n }\n}\n\n/**\n * Class that represents a system message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class SystemMessagePromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof SystemMessage {\n return SystemMessage;\n }\n\n static lc_name() {\n return \"SystemMessagePromptTemplate\";\n }\n}\n\n/**\n * Interface for the input of a ChatPromptTemplate.\n */\nexport interface ChatPromptTemplateInput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n> extends BasePromptTemplateInput<RunInput, PartialVariableName> {\n /**\n * The prompt messages\n */\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n\n /**\n * Whether to try validating the template on initialization\n *\n * @defaultValue `true`\n */\n validateTemplate?: boolean;\n\n /**\n * The formatting method to use on the prompt.\n * @default \"f-string\"\n */\n templateFormat?: TemplateFormat;\n}\n\nexport type BaseMessagePromptTemplateLike =\n | BaseMessagePromptTemplate\n | BaseMessageLike;\n\nfunction _isBaseMessagePromptTemplate(\n baseMessagePromptTemplateLike: BaseMessagePromptTemplateLike\n): baseMessagePromptTemplateLike is BaseMessagePromptTemplate {\n return (\n typeof (baseMessagePromptTemplateLike as BaseMessagePromptTemplate)\n .formatMessages === \"function\"\n );\n}\n\nfunction _coerceMessagePromptTemplateLike<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n Extra extends Omit<\n ChatPromptTemplateInput<RunInput>,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n > = Omit<\n ChatPromptTemplateInput<RunInput>,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >,\n>(\n messagePromptTemplateLike: BaseMessagePromptTemplateLike,\n extra?: Extra\n): BaseMessagePromptTemplate | BaseMessage {\n if (\n _isBaseMessagePromptTemplate(messagePromptTemplateLike) ||\n isBaseMessage(messagePromptTemplateLike)\n ) {\n return messagePromptTemplateLike;\n }\n if (\n Array.isArray(messagePromptTemplateLike) &&\n messagePromptTemplateLike[0] === \"placeholder\"\n ) {\n const messageContent = messagePromptTemplateLike[1];\n if (\n extra?.templateFormat === \"mustache\" &&\n typeof messageContent === \"string\" &&\n messageContent.slice(0, 2) === \"{{\" &&\n messageContent.slice(-2) === \"}}\"\n ) {\n const variableName = messageContent.slice(2, -2);\n return new MessagesPlaceholder({ variableName, optional: true });\n } else if (\n typeof messageContent === \"string\" &&\n messageContent[0] === \"{\" &&\n messageContent[messageContent.length - 1] === \"}\"\n ) {\n const variableName = messageContent.slice(1, -1);\n return new MessagesPlaceholder({ variableName, optional: true });\n }\n throw new Error(\n `Invalid placeholder template for format ${\n extra?.templateFormat ?? `\"f-string\"`\n }: \"${\n messagePromptTemplateLike[1]\n }\". Expected a variable name surrounded by ${\n extra?.templateFormat === \"mustache\" ? \"double\" : \"single\"\n } curly braces.`\n );\n }\n const message = coerceMessageLikeToMessage(messagePromptTemplateLike);\n let templateData:\n | string\n | (\n | string\n | _TextTemplateParam\n | _ImageTemplateParam\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>\n )[];\n\n if (typeof message.content === \"string\") {\n templateData = message.content;\n } else {\n // Assuming message.content is an array of complex objects, transform it.\n templateData = message.content.map((item) => {\n if (\"text\" in item) {\n return { ...item, text: item.text };\n } else if (\"image_url\" in item) {\n return { ...item, image_url: item.image_url };\n } else {\n return item;\n }\n });\n }\n\n if (message._getType() === \"human\") {\n return HumanMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (message._getType() === \"ai\") {\n return AIMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (message._getType() === \"system\") {\n return SystemMessagePromptTemplate.fromTemplate(templateData, extra);\n } else if (ChatMessage.isInstance(message)) {\n return ChatMessagePromptTemplate.fromTemplate(\n message.content as string,\n message.role,\n extra\n );\n } else {\n throw new Error(\n `Could not coerce message prompt template from input. Received message type: \"${message._getType()}\".`\n );\n }\n}\n\nfunction isMessagesPlaceholder(\n x: BaseMessagePromptTemplate | BaseMessage\n): x is MessagesPlaceholder {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (x.constructor as any).lc_name() === \"MessagesPlaceholder\";\n}\n\n/**\n * Class that represents a chat prompt. It extends the\n * BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate\n * instances to format a series of messages for a conversation.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const chatPrompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant.\"],\n * message,\n * ]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport class ChatPromptTemplate<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n PartialVariableName extends string = any,\n>\n extends BaseChatPromptTemplate<RunInput, PartialVariableName>\n implements ChatPromptTemplateInput<RunInput, PartialVariableName>\n{\n static lc_name() {\n return \"ChatPromptTemplate\";\n }\n\n get lc_aliases(): Record<string, string> {\n return {\n promptMessages: \"messages\",\n };\n }\n\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n\n validateTemplate = true;\n\n templateFormat: TemplateFormat = \"f-string\";\n\n constructor(input: ChatPromptTemplateInput<RunInput, PartialVariableName>) {\n super(input);\n // If input is mustache and validateTemplate is not defined, set it to false\n if (\n input.templateFormat === \"mustache\" &&\n input.validateTemplate === undefined\n ) {\n this.validateTemplate = false;\n }\n Object.assign(this, input);\n\n if (this.validateTemplate) {\n const inputVariablesMessages = new Set<string>();\n for (const promptMessage of this.promptMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) continue;\n for (const inputVariable of promptMessage.inputVariables) {\n inputVariablesMessages.add(inputVariable);\n }\n }\n\n const totalInputVariables = this.inputVariables as string[];\n const inputVariablesInstance = new Set(\n this.partialVariables\n ? totalInputVariables.concat(Object.keys(this.partialVariables))\n : totalInputVariables\n );\n const difference = new Set(\n [...inputVariablesInstance].filter(\n (x) => !inputVariablesMessages.has(x)\n )\n );\n if (difference.size > 0) {\n throw new Error(\n `Input variables \\`${[\n ...difference,\n ]}\\` are not used in any of the prompt messages.`\n );\n }\n const otherDifference = new Set(\n [...inputVariablesMessages].filter(\n (x) => !inputVariablesInstance.has(x)\n )\n );\n if (otherDifference.size > 0) {\n throw new Error(\n `Input variables \\`${[\n ...otherDifference,\n ]}\\` are used in prompt messages but not in the prompt template.`\n );\n }\n }\n }\n\n _getPromptType(): \"chat\" {\n return \"chat\";\n }\n\n private async _parseImagePrompts(\n message: BaseMessage,\n inputValues: InputValues<\n PartialVariableName | Extract<keyof RunInput, string>\n >\n ): Promise<BaseMessage> {\n if (typeof message.content === \"string\") {\n return message;\n }\n const formattedMessageContent = await Promise.all(\n message.content.map(async (item) => {\n if (item.type !== \"image_url\") {\n return item;\n }\n\n let imageUrl = \"\";\n if (typeof item.image_url === \"string\") {\n imageUrl = item.image_url;\n } else if (\n typeof item.image_url === \"object\" &&\n item.image_url !== null &&\n \"url\" in item.image_url &&\n typeof item.image_url.url === \"string\"\n ) {\n imageUrl = item.image_url.url;\n }\n\n const promptTemplatePlaceholder = PromptTemplate.fromTemplate(\n imageUrl,\n {\n templateFormat: this.templateFormat,\n }\n );\n const formattedUrl =\n await promptTemplatePlaceholder.format(inputValues);\n\n if (\n typeof item.image_url === \"object\" &&\n item.image_url !== null &&\n \"url\" in item.image_url\n ) {\n // eslint-disable-next-line no-param-reassign\n item.image_url.url = formattedUrl;\n } else {\n item.image_url = formattedUrl;\n }\n return item;\n })\n );\n message.content = formattedMessageContent;\n return message;\n }\n\n async formatMessages(\n values: TypedPromptInputValues<RunInput>\n ): Promise<BaseMessage[]> {\n const allValues = await this.mergePartialAndUserVariables(values);\n let resultMessages: BaseMessage[] = [];\n\n for (const promptMessage of this.promptMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) {\n resultMessages.push(\n await this._parseImagePrompts(promptMessage, allValues)\n );\n } else {\n let inputValues: InputValues;\n\n if (this.templateFormat === \"mustache\") {\n inputValues = { ...allValues };\n } else {\n inputValues = promptMessage.inputVariables.reduce(\n (acc, inputVariable) => {\n if (\n !(inputVariable in allValues) &&\n !(\n isMessagesPlaceholder(promptMessage) && promptMessage.optional\n )\n ) {\n const error = addLangChainErrorFields(\n new Error(\n `Missing value for input variable \\`${inputVariable.toString()}\\``\n ),\n \"INVALID_PROMPT_INPUT\"\n );\n throw error;\n }\n acc[inputVariable] = allValues[inputVariable];\n return acc;\n },\n {} as InputValues\n );\n }\n const message = await promptMessage.formatMessages(inputValues);\n resultMessages = resultMessages.concat(message);\n }\n }\n return resultMessages;\n }\n\n async partial<NewPartialVariableName extends string>(\n values: PartialValues<NewPartialVariableName>\n ) {\n // This is implemented in a way it doesn't require making\n // BaseMessagePromptTemplate aware of .partial()\n const newInputVariables = this.inputVariables.filter(\n (iv) => !(iv in values)\n ) as Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>[];\n const newPartialVariables = {\n ...(this.partialVariables ?? {}),\n ...values,\n } as PartialValues<PartialVariableName | NewPartialVariableName>;\n const promptDict = {\n ...this,\n inputVariables: newInputVariables,\n partialVariables: newPartialVariables,\n };\n return new ChatPromptTemplate<\n InputValues<\n Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>\n >\n >(promptDict);\n }\n\n /**\n * Load prompt template from a template f-string\n */\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, \"f-string\">,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string>,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, \"mustache\">,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<InputValues>;\n\n static fromTemplate<\n RunInput extends InputValues = Symbol,\n T extends string = string,\n >(\n template: T,\n options?: Omit<\n PromptTemplateInput<RunInput, string, TemplateFormat>,\n \"template\" | \"inputVariables\"\n >\n ): ChatPromptTemplate<ExtractedFStringParams<T, RunInput> | InputValues> {\n const prompt = PromptTemplate.fromTemplate(template, options);\n const humanTemplate = new HumanMessagePromptTemplate({ prompt });\n return this.fromMessages<\n RunInput extends Symbol ? ParamsFromFString<T> : RunInput\n >([humanTemplate]);\n }\n\n /**\n * Create a chat model-specific prompt from individual chat messages\n * or message-like tuples.\n * @param promptMessages Messages to be passed to the chat model\n * @returns A new ChatPromptTemplate\n */\n static fromMessages<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput extends InputValues = any,\n Extra extends ChatPromptTemplateInput<RunInput> =\n ChatPromptTemplateInput<RunInput>,\n >(\n promptMessages: (\n | ChatPromptTemplate<InputValues, string>\n | BaseMessagePromptTemplateLike\n )[],\n extra?: Omit<\n Extra,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >\n ): ChatPromptTemplate<RunInput> {\n const flattenedMessages = promptMessages.reduce(\n (acc: Array<BaseMessagePromptTemplate | BaseMessage>, promptMessage) =>\n acc.concat(\n // eslint-disable-next-line no-instanceof/no-instanceof\n promptMessage instanceof ChatPromptTemplate\n ? promptMessage.promptMessages\n : [\n _coerceMessagePromptTemplateLike<\n RunInput,\n Omit<\n Extra,\n \"inputVariables\" | \"promptMessages\" | \"partialVariables\"\n >\n >(promptMessage, extra),\n ]\n ),\n []\n );\n const flattenedPartialVariables = promptMessages.reduce(\n (acc, promptMessage) =>\n // eslint-disable-next-line no-instanceof/no-instanceof\n promptMessage instanceof ChatPromptTemplate\n ? Object.assign(acc, promptMessage.partialVariables)\n : acc,\n Object.create(null) as PartialValues\n );\n const inputVariables = new Set<string>();\n for (const promptMessage of flattenedMessages) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (promptMessage instanceof BaseMessage) continue;\n for (const inputVariable of promptMessage.inputVariables) {\n if (inputVariable in flattenedPartialVariables) {\n continue;\n }\n inputVariables.add(inputVariable);\n }\n }\n return new this<RunInput>({\n ...extra,\n inputVariables: [...inputVariables] as Extract<keyof RunInput, string>[],\n promptMessages: flattenedMessages,\n partialVariables: flattenedPartialVariables,\n templateFormat: extra?.templateFormat,\n });\n }\n}\n"],"mappings":"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"}
@@ -129,6 +129,7 @@ declare class _StringImageMessagePromptTemplate<RunInput extends InputValues = a
129
129
  static _messageClass(): MessageClass;
130
130
  protected chatMessageClass?: ChatMessageClass;
131
131
  constructor(/** @TODO When we come up with a better way to type prompt templates, fix this */
132
+
132
133
  fields: any, additionalOptions?: _StringImageMessagePromptTemplateOptions);
133
134
  createMessage(content: MessageContent): any;
134
135
  getRoleFromMessageClass(name: string): "ai" | "chat" | "human" | "system";
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.cts","names":["BaseCallbackConfig","AIMessage","HumanMessage","SystemMessage","BaseMessage","ChatMessage","BaseMessageLike","MessageContent","ChatPromptValueInterface","InputValues","PartialValues","Runnable","BaseStringPromptTemplate","BasePromptTemplate","BasePromptTemplateInput","TypedPromptInputValues","PromptTemplateInput","ExtractedFStringParams","ImagePromptTemplate","TemplateFormat","DictPromptTemplate","BaseMessagePromptTemplate","RunInput","RunOutput","Extract","Array","Promise","MessagesPlaceholderFields","T","MessagesPlaceholder","MessageStringPromptTemplateFields","BaseMessageStringPromptTemplate","BaseChatPromptTemplate","PartialVariableName","ChatMessagePromptTemplateFields","ChatMessagePromptTemplate","Symbol","_TextTemplateParam","Record","_ImageTemplateParam","MessageClass","ChatMessageClass","_StringImageMessagePromptTemplateOptions","Format","_StringImageMessagePromptTemplate","___messages_message_js14","MessageToolSet","MessageStructure","MessageType","HumanMessagePromptTemplate","AIMessagePromptTemplate","SystemMessagePromptTemplate","ChatPromptTemplateInput","BaseMessagePromptTemplateLike","ChatPromptTemplate","NewPartialVariableName","Extra","Exclude","Omit"],"sources":["../../src/prompts/chat.d.ts"],"sourcesContent":["import type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport { AIMessage, HumanMessage, SystemMessage, BaseMessage, ChatMessage, type BaseMessageLike, MessageContent } from \"../messages/index.js\";\nimport { type ChatPromptValueInterface } from \"../prompt_values.js\";\nimport type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport { Runnable } from \"../runnables/base.js\";\nimport { BaseStringPromptTemplate } from \"./string.js\";\nimport { BasePromptTemplate, type BasePromptTemplateInput, type TypedPromptInputValues } from \"./base.js\";\nimport { PromptTemplateInput, ExtractedFStringParams } from \"./prompt.js\";\nimport { ImagePromptTemplate } from \"./image.js\";\nimport { TemplateFormat } from \"./template.js\";\nimport { DictPromptTemplate } from \"./dict.js\";\n/**\n * Abstract class that serves as a base for creating message prompt\n * templates. It defines how to format messages for different roles in a\n * conversation.\n */\nexport declare abstract class BaseMessagePromptTemplate<RunInput extends InputValues = any, RunOutput extends BaseMessage[] = BaseMessage[]> extends Runnable<RunInput, RunOutput> {\n lc_namespace: string[];\n lc_serializable: boolean;\n abstract inputVariables: Array<Extract<keyof RunInput, string>>;\n /**\n * Method that takes an object of TypedPromptInputValues and returns a\n * promise that resolves to an array of BaseMessage instances.\n * @param values Object of TypedPromptInputValues\n * @returns Formatted array of BaseMessages\n */\n abstract formatMessages(values: TypedPromptInputValues<RunInput>): Promise<RunOutput>;\n /**\n * Calls the formatMessages method with the provided input and options.\n * @param input Input for the formatMessages method\n * @param options Optional BaseCallbackConfig\n * @returns Formatted output messages\n */\n invoke(input: RunInput, options?: BaseCallbackConfig): Promise<RunOutput>;\n}\n/**\n * Interface for the fields of a MessagePlaceholder.\n */\nexport interface MessagesPlaceholderFields<T extends string> {\n variableName: T;\n optional?: boolean;\n}\n/**\n * Class that represents a placeholder for messages in a chat prompt. It\n * extends the BaseMessagePromptTemplate.\n */\nexport declare class MessagesPlaceholder<RunInput extends InputValues = any> extends BaseMessagePromptTemplate<RunInput> implements MessagesPlaceholderFields<Extract<keyof RunInput, string>> {\n static lc_name(): string;\n variableName: Extract<keyof RunInput, string>;\n optional: boolean;\n constructor(variableName: Extract<keyof RunInput, string>);\n constructor(fields: MessagesPlaceholderFields<Extract<keyof RunInput, string>>);\n get inputVariables(): Extract<keyof RunInput, string>[];\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n}\n/**\n * Interface for the fields of a MessageStringPromptTemplate.\n */\nexport interface MessageStringPromptTemplateFields<T extends InputValues = any> {\n prompt: BaseStringPromptTemplate<T, string>;\n}\n/**\n * Abstract class that serves as a base for creating message string prompt\n * templates. It extends the BaseMessagePromptTemplate.\n */\nexport declare abstract class BaseMessageStringPromptTemplate<RunInput extends InputValues = any> extends BaseMessagePromptTemplate<RunInput> {\n prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string>;\n constructor(prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>);\n constructor(fields: MessageStringPromptTemplateFields<InputValues<Extract<keyof RunInput, string>>>);\n get inputVariables(): Extract<Extract<keyof RunInput, string>, string>[];\n abstract format(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage>;\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n}\n/**\n * Abstract class that serves as a base for creating chat prompt\n * templates. It extends the BasePromptTemplate.\n */\nexport declare abstract class BaseChatPromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BasePromptTemplate<RunInput, ChatPromptValueInterface, PartialVariableName> {\n constructor(input: BasePromptTemplateInput<RunInput, PartialVariableName>);\n abstract formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n format(values: TypedPromptInputValues<RunInput>): Promise<string>;\n formatPromptValue(values: TypedPromptInputValues<RunInput>): Promise<ChatPromptValueInterface>;\n}\n/**\n * Interface for the fields of a ChatMessagePromptTemplate.\n */\nexport interface ChatMessagePromptTemplateFields<T extends InputValues = any> extends MessageStringPromptTemplateFields<T> {\n role: string;\n}\n/**\n * Class that represents a chat message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport declare class ChatMessagePromptTemplate<RunInput extends InputValues = any> extends BaseMessageStringPromptTemplate<RunInput> {\n static lc_name(): string;\n role: string;\n constructor(prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>, role: string);\n constructor(fields: ChatMessagePromptTemplateFields<InputValues<Extract<keyof RunInput, string>>>);\n format(values: RunInput): Promise<BaseMessage>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, role: string, options?: {\n templateFormat?: TemplateFormat;\n }): ChatMessagePromptTemplate<ExtractedFStringParams<T, RunInput>>;\n}\ninterface _TextTemplateParam {\n text?: string | Record<string, any>;\n}\ninterface _ImageTemplateParam {\n image_url?: string | Record<string, any>;\n}\ntype MessageClass = typeof HumanMessage | typeof AIMessage | typeof SystemMessage;\ntype ChatMessageClass = typeof ChatMessage;\ninterface _StringImageMessagePromptTemplateOptions<Format extends TemplateFormat = TemplateFormat> extends Record<string, unknown> {\n templateFormat?: Format;\n}\ndeclare class _StringImageMessagePromptTemplate<RunInput extends InputValues = any, RunOutput extends BaseMessage[] = BaseMessage[]> extends BaseMessagePromptTemplate<RunInput, RunOutput> {\n lc_namespace: string[];\n lc_serializable: boolean;\n inputVariables: Array<Extract<keyof RunInput, string>>;\n additionalOptions: _StringImageMessagePromptTemplateOptions;\n prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | Array<BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | ImagePromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | MessageStringPromptTemplateFields<InputValues<Extract<keyof RunInput, string>>> | DictPromptTemplate<InputValues<Extract<keyof RunInput, string>>>>;\n protected messageClass?: MessageClass;\n static _messageClass(): MessageClass;\n protected chatMessageClass?: ChatMessageClass;\n constructor(\n /** @TODO When we come up with a better way to type prompt templates, fix this */\n fields: any, additionalOptions?: _StringImageMessagePromptTemplateOptions);\n createMessage(content: MessageContent): any;\n getRoleFromMessageClass(name: string): \"ai\" | \"chat\" | \"human\" | \"system\";\n static fromTemplate(template: string | Array<string | _TextTemplateParam | _ImageTemplateParam | Record<string, unknown>>, additionalOptions?: _StringImageMessagePromptTemplateOptions): _StringImageMessagePromptTemplate<any, BaseMessage<import(\"../messages/message.js\").MessageStructure<import(\"../messages/message.js\").MessageToolSet>, import(\"../messages/message.js\").MessageType>[]>;\n format(input: TypedPromptInputValues<RunInput>): Promise<BaseMessage>;\n formatMessages(values: RunInput): Promise<RunOutput>;\n}\n/**\n * Class that represents a human message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = HumanMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class HumanMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof HumanMessage;\n static lc_name(): string;\n}\n/**\n * Class that represents an AI message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport declare class AIMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof AIMessage;\n static lc_name(): string;\n}\n/**\n * Class that represents a system message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class SystemMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof SystemMessage;\n static lc_name(): string;\n}\n/**\n * Interface for the input of a ChatPromptTemplate.\n */\nexport interface ChatPromptTemplateInput<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BasePromptTemplateInput<RunInput, PartialVariableName> {\n /**\n * The prompt messages\n */\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n /**\n * Whether to try validating the template on initialization\n *\n * @defaultValue `true`\n */\n validateTemplate?: boolean;\n /**\n * The formatting method to use on the prompt.\n * @default \"f-string\"\n */\n templateFormat?: TemplateFormat;\n}\nexport type BaseMessagePromptTemplateLike = BaseMessagePromptTemplate | BaseMessageLike;\n/**\n * Class that represents a chat prompt. It extends the\n * BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate\n * instances to format a series of messages for a conversation.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const chatPrompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant.\"],\n * message,\n * ]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class ChatPromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BaseChatPromptTemplate<RunInput, PartialVariableName> implements ChatPromptTemplateInput<RunInput, PartialVariableName> {\n static lc_name(): string;\n get lc_aliases(): Record<string, string>;\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n validateTemplate: boolean;\n templateFormat: TemplateFormat;\n constructor(input: ChatPromptTemplateInput<RunInput, PartialVariableName>);\n _getPromptType(): \"chat\";\n private _parseImagePrompts;\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n partial<NewPartialVariableName extends string>(values: PartialValues<NewPartialVariableName>): Promise<ChatPromptTemplate<InputValues<Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>>, any>>;\n /**\n * Load prompt template from a template f-string\n */\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"f-string\">, \"template\" | \"inputVariables\">): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string>, \"template\" | \"inputVariables\">): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"mustache\">, \"template\" | \"inputVariables\">): ChatPromptTemplate<InputValues>;\n /**\n * Create a chat model-specific prompt from individual chat messages\n * or message-like tuples.\n * @param promptMessages Messages to be passed to the chat model\n * @returns A new ChatPromptTemplate\n */\n static fromMessages<RunInput extends InputValues = any, Extra extends ChatPromptTemplateInput<RunInput> = ChatPromptTemplateInput<RunInput>>(promptMessages: (ChatPromptTemplate<InputValues, string> | BaseMessagePromptTemplateLike)[], extra?: Omit<Extra, \"inputVariables\" | \"promptMessages\" | \"partialVariables\">): ChatPromptTemplate<RunInput>;\n}\nexport {};\n//# sourceMappingURL=chat.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.cts","names":[],"sources":["../../src/prompts/chat.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;uBAiDsB,yBAAA,kBAEH,WAAA,0BACC,WAAA,KAAgB,WAAA,YAC1B,QAAA,CAAS,QAAA,EAAU,SAAA;EAC3B,YAAA;EAEA,eAAA;EAAA,SAES,cAAA,EAAgB,KAAA,CAAM,OAAA,OAAc,QAAA;EATA;;;;;;EAAA,SAiBpC,cAAA,CACP,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,SAAA;EAVoB;;;;;;EAkBzB,MAAA,CACJ,KAAA,EAAO,QAAA,EACP,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,SAAA;AAAA;;;;UAYI,yBAAA;EACf,YAAA,EAAc,CAAA;EACd,QAAA;AAAA;;;;;cAOW,mBAAA,kBAEM,WAAA,gBAET,yBAAA,CAA0B,QAAA,aACvB,yBAAA,CAA0B,OAAA,OAAc,QAAA;EAAA,OAE5C,OAAA,CAAA;EAIP,YAAA,EAAc,OAAA,OAAc,QAAA;EAE5B,QAAA;EAEA,WAAA,CAAY,YAAA,EAAc,OAAA,OAAc,QAAA;EAExC,WAAA,CACE,MAAA,EAAQ,yBAAA,CAA0B,OAAA,OAAc,QAAA;EAAA,IAiB9C,cAAA,CAAA,GAAc,OAAA,OAAA,QAAA;EAIZ,cAAA,CACJ,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,WAAA;AAAA;;;;UA2CI,iCAAA,WAEL,WAAA;EAEV,MAAA,EAAQ,wBAAA,CAAyB,CAAA;AAAA;;;;;uBAOb,+BAAA,kBAEH,WAAA,gBACT,yBAAA,CAA0B,QAAA;EAClC,MAAA,EAAQ,wBAAA,CACN,WAAA,CAAY,OAAA,OAAc,QAAA;EAI5B,WAAA,CACE,MAAA,EAAQ,wBAAA,CACN,WAAA,CAAY,OAAA,OAAc,QAAA;EAI9B,WAAA,CACE,MAAA,EAAQ,iCAAA,CACN,WAAA,CAAY,OAAA,OAAc,QAAA;EAAA,IAsB1B,cAAA,CAAA,GAAc,OAAA,CAAA,OAAA,OAAA,QAAA;EAAA,SAIT,MAAA,CACP,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,WAAA;EAEL,cAAA,CACJ,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,WAAA;AAAA;;;;;uBASS,sBAAA,kBAEH,WAAA,0DAGT,kBAAA,CACR,QAAA,EACA,wBAAA,EACA,mBAAA;EAEA,WAAA,CAAY,KAAA,EAAO,uBAAA,CAAwB,QAAA,EAAU,mBAAA;EAAA,SAI5C,cAAA,CACP,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,WAAA;EAEL,MAAA,CAAO,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAAY,OAAA;EAIlD,iBAAA,CACJ,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,wBAAA;AAAA;;;;UASI,+BAAA,WAEL,WAAA,gBACF,iCAAA,CAAkC,CAAA;EAC1C,IAAA;AAAA;;;;;cAOW,yBAAA,kBAEM,WAAA,gBACT,+BAAA,CAAgC,QAAA;EAAA,OACjC,OAAA,CAAA;EAIP,IAAA;EAEA,WAAA,CACE,MAAA,EAAQ,wBAAA,CACN,WAAA,CAAY,OAAA,OAAc,QAAA,aAE5B,IAAA;EAGF,WAAA,CACE,MAAA,EAAQ,+BAAA,CACN,WAAA,CAAY,OAAA,OAAc,QAAA;EAoBxB,MAAA,CAAO,MAAA,EAAQ,QAAA,GAAW,OAAA,CAAQ,WAAA;EAAA,OAIjC,YAAA,kBACY,WAAA,GAAc,MAAA,4BAAA,CAE/B,QAAA,EAAU,CAAA,EAAG,IAAA,UAAc,OAAA;IAAY,cAAA,GAAiB,cAAA;EAAA,IAAgB,yBAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,QAAA;AAAA;AAAA,UAUlE,kBAAA;EAER,IAAA,YAAgB,MAAA;AAAA;AAAA,UAcR,mBAAA;EAER,SAAA,YAAqB,MAAA;AAAA;AAAA,KAiBlB,YAAA,UACM,YAAA,UACA,SAAA,UACA,aAAA;AAAA,KAEN,gBAAA,UAA0B,WAAA;AAAA,UAErB,wCAAA,gBACO,cAAA,GAAiB,cAAA,UACxB,MAAA;EACR,cAAA,GAAiB,MAAA;AAAA;AAAA,cAGb,iCAAA,kBAEa,WAAA,0BACC,WAAA,KAAgB,WAAA,YAC1B,yBAAA,CAA0B,QAAA,EAAU,SAAA;EAC5C,YAAA;EAEA,eAAA;EAEA,cAAA,EAAgB,KAAA,CAAM,OAAA,OAAc,QAAA;EAEpC,iBAAA,EAAmB,wCAAA;EAEnB,MAAA,EACI,wBAAA,CACE,WAAA,CAAY,OAAA,OAAc,QAAA,sBAG5B,KAAA,CACI,wBAAA,CACE,WAAA,CAAY,OAAA,OAAc,QAAA,sBAG5B,mBAAA,CACE,WAAA,CAAY,OAAA,OAAc,QAAA,sBAG5B,iCAAA,CACE,WAAA,CAAY,OAAA,OAAc,QAAA,cAE5B,kBAAA,CAAmB,WAAA,CAAY,OAAA,OAAc,QAAA;EAAA,UAG3C,YAAA,GAAe,YAAA;EAAA,OAElB,aAAA,CAAA,GAAiB,YAAA;EAAA,UAQd,gBAAA,GAAmB,gBAAA;EAE7B,WAAA,CAvTI;;EA0TF,MAAA,OACA,iBAAA,GAAoB,wCAAA;EAsBtB,aAAA,CAAc,OAAA,EAAS,cAAA;EAkBvB,uBAAA,CAAwB,IAAA;EAAA,OAejB,YAAA,CACL,QAAA,WAEI,KAAA,UAEI,kBAAA,GACA,mBAAA,GACA,MAAA,oBAER,iBAAA,GAAoB,wCAAA,GAAwC,iCAAA,MAAA,WAAA,CAAA,gBAAA,CAAA,cAAA,GAAA,WAAA;EAkGxD,MAAA,CAAO,KAAA,EAAO,sBAAA,CAAuB,QAAA,IAAY,OAAA,CAAQ,WAAA;EA2EzD,cAAA,CAAe,MAAA,EAAQ,QAAA,GAAW,OAAA,CAAQ,SAAA;AAAA;;;;AAvflD;;;;;;;;;;;cA0gBa,0BAAA,kBAEM,WAAA,gBACT,iCAAA,CAAkC,QAAA;EAAA,OACnC,aAAA,CAAA,UAAwB,YAAA;EAAA,OAIxB,OAAA,CAAA;AAAA;AAvgBT;;;;AAAA,cAghBa,uBAAA,kBAEM,WAAA,gBACT,iCAAA,CAAkC,QAAA;EAAA,OACnC,aAAA,CAAA,UAAwB,SAAA;EAAA,OAIxB,OAAA,CAAA;AAAA;;;;;;;;;;;;;;;cAmBI,2BAAA,kBAEM,WAAA,gBACT,iCAAA,CAAkC,QAAA;EAAA,OACnC,aAAA,CAAA,UAAwB,aAAA;EAAA,OAIxB,OAAA,CAAA;AAAA;;;;UAQQ,uBAAA,kBAEE,WAAA,0DAGT,uBAAA,CAAwB,QAAA,EAAU,mBAAA;EA7jBT;;;EAikBjC,cAAA,EAAgB,KAAA,CAAM,yBAAA,GAA4B,WAAA;EAjkBhB;;;;;EAwkBlC,gBAAA;EAlkBA;;;;EAwkBA,cAAA,GAAiB,cAAA;AAAA;AAAA,KAGP,6BAAA,GACR,yBAAA,GACA,eAAA;;;;;;;;;;;;;;;;;cAkIS,kBAAA,kBAEM,WAAA,0DAIT,sBAAA,CAAuB,QAAA,EAAU,mBAAA,aAC9B,uBAAA,CAAwB,QAAA,EAAU,mBAAA;EAAA,OAEtC,OAAA,CAAA;EAAA,IAIH,UAAA,CAAA,GAAc,MAAA;EAMlB,cAAA,EAAgB,KAAA,CAAM,yBAAA,GAA4B,WAAA;EAElD,gBAAA;EAEA,cAAA,EAAgB,cAAA;EAEhB,WAAA,CAAY,KAAA,EAAO,uBAAA,CAAwB,QAAA,EAAU,mBAAA;EAsDrD,cAAA,CAAA;EAAA,QAIc,kBAAA;EAqDR,cAAA,CACJ,MAAA,EAAQ,sBAAA,CAAuB,QAAA,IAC9B,OAAA,CAAQ,WAAA;EA6CL,OAAA,uCAAA,CACJ,MAAA,EAAQ,aAAA,CAAc,sBAAA,IAAuB,OAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,OAAA,CAAA,OAAA,OAAA,QAAA,WAAA,sBAAA;EAh1B/C;;;EAAA,OA02BO,YAAA,kBACY,WAAA,GAAc,MAAA,4BAAA,CAG/B,QAAA,EAAU,CAAA,EACV,OAAA,GAAU,IAAA,CACR,mBAAA,CAAoB,QAAA,wDAGrB,kBAAA,CAAmB,sBAAA,CAAuB,CAAA,EAAG,QAAA;EAAA,OAEzC,YAAA,kBACY,WAAA,GAAc,MAAA,4BAAA,CAG/B,QAAA,EAAU,CAAA,EACV,OAAA,GAAU,IAAA,CACR,mBAAA,CAAoB,QAAA,4CAGrB,kBAAA,CAAmB,sBAAA,CAAuB,CAAA,EAAG,QAAA;EAAA,OAEzC,YAAA,kBACY,WAAA,GAAc,MAAA,4BAAA,CAG/B,QAAA,EAAU,CAAA,EACV,OAAA,GAAU,IAAA,CACR,mBAAA,CAAoB,QAAA,wDAGrB,kBAAA,CAAmB,WAAA;EAh4BW;;;;;;EAAA,OAy5B1B,YAAA,kBAEY,WAAA,sBACH,uBAAA,CAAwB,QAAA,IACpC,uBAAA,CAAwB,QAAA,EAAA,CAE1B,cAAA,GACI,kBAAA,CAAmB,WAAA,YACnB,6BAAA,KAEJ,KAAA,GAAQ,IAAA,CACN,KAAA,8DAGD,kBAAA,CAAmB,QAAA;AAAA"}
@@ -130,6 +130,7 @@ declare class _StringImageMessagePromptTemplate<RunInput extends InputValues = a
130
130
  static _messageClass(): MessageClass;
131
131
  protected chatMessageClass?: ChatMessageClass;
132
132
  constructor(/** @TODO When we come up with a better way to type prompt templates, fix this */
133
+
133
134
  fields: any, additionalOptions?: _StringImageMessagePromptTemplateOptions);
134
135
  createMessage(content: MessageContent): any;
135
136
  getRoleFromMessageClass(name: string): "ai" | "chat" | "human" | "system";
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","names":["BaseCallbackConfig","AIMessage","HumanMessage","SystemMessage","BaseMessage","ChatMessage","BaseMessageLike","MessageContent","ChatPromptValueInterface","InputValues","PartialValues","Runnable","BaseStringPromptTemplate","BasePromptTemplate","BasePromptTemplateInput","TypedPromptInputValues","PromptTemplateInput","ExtractedFStringParams","ImagePromptTemplate","TemplateFormat","DictPromptTemplate","BaseMessagePromptTemplate","RunInput","RunOutput","Extract","Array","Promise","MessagesPlaceholderFields","T","MessagesPlaceholder","MessageStringPromptTemplateFields","BaseMessageStringPromptTemplate","BaseChatPromptTemplate","PartialVariableName","ChatMessagePromptTemplateFields","ChatMessagePromptTemplate","Symbol","_TextTemplateParam","Record","_ImageTemplateParam","MessageClass","ChatMessageClass","_StringImageMessagePromptTemplateOptions","Format","_StringImageMessagePromptTemplate","___messages_message_js14","MessageToolSet","MessageStructure","MessageType","HumanMessagePromptTemplate","AIMessagePromptTemplate","SystemMessagePromptTemplate","ChatPromptTemplateInput","BaseMessagePromptTemplateLike","ChatPromptTemplate","NewPartialVariableName","Extra","Exclude","Omit"],"sources":["../../src/prompts/chat.d.ts"],"sourcesContent":["import type { BaseCallbackConfig } from \"../callbacks/manager.js\";\nimport { AIMessage, HumanMessage, SystemMessage, BaseMessage, ChatMessage, type BaseMessageLike, MessageContent } from \"../messages/index.js\";\nimport { type ChatPromptValueInterface } from \"../prompt_values.js\";\nimport type { InputValues, PartialValues } from \"../utils/types/index.js\";\nimport { Runnable } from \"../runnables/base.js\";\nimport { BaseStringPromptTemplate } from \"./string.js\";\nimport { BasePromptTemplate, type BasePromptTemplateInput, type TypedPromptInputValues } from \"./base.js\";\nimport { PromptTemplateInput, ExtractedFStringParams } from \"./prompt.js\";\nimport { ImagePromptTemplate } from \"./image.js\";\nimport { TemplateFormat } from \"./template.js\";\nimport { DictPromptTemplate } from \"./dict.js\";\n/**\n * Abstract class that serves as a base for creating message prompt\n * templates. It defines how to format messages for different roles in a\n * conversation.\n */\nexport declare abstract class BaseMessagePromptTemplate<RunInput extends InputValues = any, RunOutput extends BaseMessage[] = BaseMessage[]> extends Runnable<RunInput, RunOutput> {\n lc_namespace: string[];\n lc_serializable: boolean;\n abstract inputVariables: Array<Extract<keyof RunInput, string>>;\n /**\n * Method that takes an object of TypedPromptInputValues and returns a\n * promise that resolves to an array of BaseMessage instances.\n * @param values Object of TypedPromptInputValues\n * @returns Formatted array of BaseMessages\n */\n abstract formatMessages(values: TypedPromptInputValues<RunInput>): Promise<RunOutput>;\n /**\n * Calls the formatMessages method with the provided input and options.\n * @param input Input for the formatMessages method\n * @param options Optional BaseCallbackConfig\n * @returns Formatted output messages\n */\n invoke(input: RunInput, options?: BaseCallbackConfig): Promise<RunOutput>;\n}\n/**\n * Interface for the fields of a MessagePlaceholder.\n */\nexport interface MessagesPlaceholderFields<T extends string> {\n variableName: T;\n optional?: boolean;\n}\n/**\n * Class that represents a placeholder for messages in a chat prompt. It\n * extends the BaseMessagePromptTemplate.\n */\nexport declare class MessagesPlaceholder<RunInput extends InputValues = any> extends BaseMessagePromptTemplate<RunInput> implements MessagesPlaceholderFields<Extract<keyof RunInput, string>> {\n static lc_name(): string;\n variableName: Extract<keyof RunInput, string>;\n optional: boolean;\n constructor(variableName: Extract<keyof RunInput, string>);\n constructor(fields: MessagesPlaceholderFields<Extract<keyof RunInput, string>>);\n get inputVariables(): Extract<keyof RunInput, string>[];\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n}\n/**\n * Interface for the fields of a MessageStringPromptTemplate.\n */\nexport interface MessageStringPromptTemplateFields<T extends InputValues = any> {\n prompt: BaseStringPromptTemplate<T, string>;\n}\n/**\n * Abstract class that serves as a base for creating message string prompt\n * templates. It extends the BaseMessagePromptTemplate.\n */\nexport declare abstract class BaseMessageStringPromptTemplate<RunInput extends InputValues = any> extends BaseMessagePromptTemplate<RunInput> {\n prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string>;\n constructor(prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>);\n constructor(fields: MessageStringPromptTemplateFields<InputValues<Extract<keyof RunInput, string>>>);\n get inputVariables(): Extract<Extract<keyof RunInput, string>, string>[];\n abstract format(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage>;\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n}\n/**\n * Abstract class that serves as a base for creating chat prompt\n * templates. It extends the BasePromptTemplate.\n */\nexport declare abstract class BaseChatPromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BasePromptTemplate<RunInput, ChatPromptValueInterface, PartialVariableName> {\n constructor(input: BasePromptTemplateInput<RunInput, PartialVariableName>);\n abstract formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n format(values: TypedPromptInputValues<RunInput>): Promise<string>;\n formatPromptValue(values: TypedPromptInputValues<RunInput>): Promise<ChatPromptValueInterface>;\n}\n/**\n * Interface for the fields of a ChatMessagePromptTemplate.\n */\nexport interface ChatMessagePromptTemplateFields<T extends InputValues = any> extends MessageStringPromptTemplateFields<T> {\n role: string;\n}\n/**\n * Class that represents a chat message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport declare class ChatMessagePromptTemplate<RunInput extends InputValues = any> extends BaseMessageStringPromptTemplate<RunInput> {\n static lc_name(): string;\n role: string;\n constructor(prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>>, role: string);\n constructor(fields: ChatMessagePromptTemplateFields<InputValues<Extract<keyof RunInput, string>>>);\n format(values: RunInput): Promise<BaseMessage>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, role: string, options?: {\n templateFormat?: TemplateFormat;\n }): ChatMessagePromptTemplate<ExtractedFStringParams<T, RunInput>>;\n}\ninterface _TextTemplateParam {\n text?: string | Record<string, any>;\n}\ninterface _ImageTemplateParam {\n image_url?: string | Record<string, any>;\n}\ntype MessageClass = typeof HumanMessage | typeof AIMessage | typeof SystemMessage;\ntype ChatMessageClass = typeof ChatMessage;\ninterface _StringImageMessagePromptTemplateOptions<Format extends TemplateFormat = TemplateFormat> extends Record<string, unknown> {\n templateFormat?: Format;\n}\ndeclare class _StringImageMessagePromptTemplate<RunInput extends InputValues = any, RunOutput extends BaseMessage[] = BaseMessage[]> extends BaseMessagePromptTemplate<RunInput, RunOutput> {\n lc_namespace: string[];\n lc_serializable: boolean;\n inputVariables: Array<Extract<keyof RunInput, string>>;\n additionalOptions: _StringImageMessagePromptTemplateOptions;\n prompt: BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | Array<BaseStringPromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | ImagePromptTemplate<InputValues<Extract<keyof RunInput, string>>, string> | MessageStringPromptTemplateFields<InputValues<Extract<keyof RunInput, string>>> | DictPromptTemplate<InputValues<Extract<keyof RunInput, string>>>>;\n protected messageClass?: MessageClass;\n static _messageClass(): MessageClass;\n protected chatMessageClass?: ChatMessageClass;\n constructor(\n /** @TODO When we come up with a better way to type prompt templates, fix this */\n fields: any, additionalOptions?: _StringImageMessagePromptTemplateOptions);\n createMessage(content: MessageContent): any;\n getRoleFromMessageClass(name: string): \"ai\" | \"chat\" | \"human\" | \"system\";\n static fromTemplate(template: string | Array<string | _TextTemplateParam | _ImageTemplateParam | Record<string, unknown>>, additionalOptions?: _StringImageMessagePromptTemplateOptions): _StringImageMessagePromptTemplate<any, BaseMessage<import(\"../messages/message.js\").MessageStructure<import(\"../messages/message.js\").MessageToolSet>, import(\"../messages/message.js\").MessageType>[]>;\n format(input: TypedPromptInputValues<RunInput>): Promise<BaseMessage>;\n formatMessages(values: RunInput): Promise<RunOutput>;\n}\n/**\n * Class that represents a human message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = HumanMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class HumanMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof HumanMessage;\n static lc_name(): string;\n}\n/**\n * Class that represents an AI message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n */\nexport declare class AIMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof AIMessage;\n static lc_name(): string;\n}\n/**\n * Class that represents a system message prompt template. It extends the\n * BaseMessageStringPromptTemplate.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const formatted = await message.format({ text: \"Hello world!\" });\n *\n * const chatPrompt = ChatPromptTemplate.fromMessages([message]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class SystemMessagePromptTemplate<RunInput extends InputValues = any> extends _StringImageMessagePromptTemplate<RunInput> {\n static _messageClass(): typeof SystemMessage;\n static lc_name(): string;\n}\n/**\n * Interface for the input of a ChatPromptTemplate.\n */\nexport interface ChatPromptTemplateInput<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BasePromptTemplateInput<RunInput, PartialVariableName> {\n /**\n * The prompt messages\n */\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n /**\n * Whether to try validating the template on initialization\n *\n * @defaultValue `true`\n */\n validateTemplate?: boolean;\n /**\n * The formatting method to use on the prompt.\n * @default \"f-string\"\n */\n templateFormat?: TemplateFormat;\n}\nexport type BaseMessagePromptTemplateLike = BaseMessagePromptTemplate | BaseMessageLike;\n/**\n * Class that represents a chat prompt. It extends the\n * BaseChatPromptTemplate and uses an array of BaseMessagePromptTemplate\n * instances to format a series of messages for a conversation.\n * @example\n * ```typescript\n * const message = SystemMessagePromptTemplate.fromTemplate(\"{text}\");\n * const chatPrompt = ChatPromptTemplate.fromMessages([\n * [\"ai\", \"You are a helpful assistant.\"],\n * message,\n * ]);\n * const formattedChatPrompt = await chatPrompt.invoke({\n * text: \"Hello world!\",\n * });\n * ```\n */\nexport declare class ChatPromptTemplate<RunInput extends InputValues = any, PartialVariableName extends string = any> extends BaseChatPromptTemplate<RunInput, PartialVariableName> implements ChatPromptTemplateInput<RunInput, PartialVariableName> {\n static lc_name(): string;\n get lc_aliases(): Record<string, string>;\n promptMessages: Array<BaseMessagePromptTemplate | BaseMessage>;\n validateTemplate: boolean;\n templateFormat: TemplateFormat;\n constructor(input: ChatPromptTemplateInput<RunInput, PartialVariableName>);\n _getPromptType(): \"chat\";\n private _parseImagePrompts;\n formatMessages(values: TypedPromptInputValues<RunInput>): Promise<BaseMessage[]>;\n partial<NewPartialVariableName extends string>(values: PartialValues<NewPartialVariableName>): Promise<ChatPromptTemplate<InputValues<Exclude<Extract<keyof RunInput, string>, NewPartialVariableName>>, any>>;\n /**\n * Load prompt template from a template f-string\n */\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"f-string\">, \"template\" | \"inputVariables\">): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string>, \"template\" | \"inputVariables\">): ChatPromptTemplate<ExtractedFStringParams<T, RunInput>>;\n static fromTemplate<RunInput extends InputValues = Symbol, T extends string = string>(template: T, options?: Omit<PromptTemplateInput<RunInput, string, \"mustache\">, \"template\" | \"inputVariables\">): ChatPromptTemplate<InputValues>;\n /**\n * Create a chat model-specific prompt from individual chat messages\n * or message-like tuples.\n * @param promptMessages Messages to be passed to the chat model\n * @returns A new ChatPromptTemplate\n */\n static fromMessages<RunInput extends InputValues = any, Extra extends ChatPromptTemplateInput<RunInput> = ChatPromptTemplateInput<RunInput>>(promptMessages: (ChatPromptTemplate<InputValues, string> | BaseMessagePromptTemplateLike)[], extra?: Omit<Extra, \"inputVariables\" | \"promptMessages\" | \"partialVariables\">): ChatPromptTemplate<RunInput>;\n}\nexport {};\n//# sourceMappingURL=chat.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.ts","names":[],"sources":["../../src/prompts/chat.ts"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { BaseMessage, isBaseMessage } from "../messages/base.js";
2
1
  import { addLangChainErrorFields } from "../errors/index.js";
2
+ import { BaseMessage, isBaseMessage } from "../messages/base.js";
3
+ import { AIMessage } from "../messages/ai.js";
3
4
  import { ChatMessage } from "../messages/chat.js";
4
5
  import { HumanMessage } from "../messages/human.js";
5
6
  import { SystemMessage } from "../messages/system.js";
6
7
  import { coerceMessageLikeToMessage } from "../messages/utils.js";
7
- import { AIMessage } from "../messages/ai.js";
8
8
  import { Runnable } from "../runnables/base.js";
9
9
  import "../messages/index.js";
10
10
  import { ChatPromptValue } from "../prompt_values.js";
@@ -35,7 +35,7 @@ var BaseMessagePromptTemplate = class extends Runnable {
35
35
  * @returns Formatted output messages
36
36
  */
37
37
  async invoke(input, options) {
38
- return this._callWithConfig((input$1) => this.formatMessages(input$1), input, {
38
+ return this._callWithConfig((input) => this.formatMessages(input), input, {
39
39
  ...options,
40
40
  runType: "prompt"
41
41
  });
@@ -116,8 +116,7 @@ var BaseChatPromptTemplate = class extends BasePromptTemplate {
116
116
  return (await this.formatPromptValue(values)).toString();
117
117
  }
118
118
  async formatPromptValue(values) {
119
- const resultMessages = await this.formatMessages(values);
120
- return new ChatPromptValue(resultMessages);
119
+ return new ChatPromptValue(await this.formatMessages(values));
121
120
  }
122
121
  };
123
122
  /**
@@ -182,10 +181,8 @@ var _StringImageMessagePromptTemplate = class extends BaseMessagePromptTemplate
182
181
  }
183
182
  createMessage(content) {
184
183
  const constructor = this.constructor;
185
- if (constructor._messageClass()) {
186
- const MsgClass = constructor._messageClass();
187
- return new MsgClass({ content });
188
- } else if (constructor.chatMessageClass) {
184
+ if (constructor._messageClass()) return new (constructor._messageClass())({ content });
185
+ else if (constructor.chatMessageClass) {
189
186
  const MsgClass = constructor.chatMessageClass();
190
187
  return new MsgClass({
191
188
  content,
@@ -222,7 +219,7 @@ var _StringImageMessagePromptTemplate = class extends BaseMessagePromptTemplate
222
219
  let parsedTemplate;
223
220
  if (additionalOptions?.templateFormat === "mustache") parsedTemplate = parseMustache(imgTemplate);
224
221
  else parsedTemplate = parseFString(imgTemplate);
225
- const variables = parsedTemplate.flatMap((item$1) => item$1.type === "variable" ? [item$1.name] : []);
222
+ const variables = parsedTemplate.flatMap((item) => item.type === "variable" ? [item.name] : []);
226
223
  if ((variables?.length ?? 0) > 0) {
227
224
  if (variables.length > 1) throw new Error(`Only one format variable allowed per image template.\nGot: ${variables}\nFrom: ${imgTemplate}`);
228
225
  inputVariables = [variables[0]];
@@ -239,7 +236,7 @@ var _StringImageMessagePromptTemplate = class extends BaseMessagePromptTemplate
239
236
  let parsedTemplate;
240
237
  if (additionalOptions?.templateFormat === "mustache") parsedTemplate = parseMustache(imgTemplate.url);
241
238
  else parsedTemplate = parseFString(imgTemplate.url);
242
- inputVariables = parsedTemplate.flatMap((item$1) => item$1.type === "variable" ? [item$1.name] : []);
239
+ inputVariables = parsedTemplate.flatMap((item) => item.type === "variable" ? [item.name] : []);
243
240
  } else inputVariables = [];
244
241
  imgTemplateObject = new ImagePromptTemplate({
245
242
  template: imgTemplate,
@@ -372,19 +369,14 @@ function _coerceMessagePromptTemplateLike(messagePromptTemplateLike, extra) {
372
369
  if (_isBaseMessagePromptTemplate(messagePromptTemplateLike) || isBaseMessage(messagePromptTemplateLike)) return messagePromptTemplateLike;
373
370
  if (Array.isArray(messagePromptTemplateLike) && messagePromptTemplateLike[0] === "placeholder") {
374
371
  const messageContent = messagePromptTemplateLike[1];
375
- if (extra?.templateFormat === "mustache" && typeof messageContent === "string" && messageContent.slice(0, 2) === "{{" && messageContent.slice(-2) === "}}") {
376
- const variableName = messageContent.slice(2, -2);
377
- return new MessagesPlaceholder({
378
- variableName,
379
- optional: true
380
- });
381
- } else if (typeof messageContent === "string" && messageContent[0] === "{" && messageContent[messageContent.length - 1] === "}") {
382
- const variableName = messageContent.slice(1, -1);
383
- return new MessagesPlaceholder({
384
- variableName,
385
- optional: true
386
- });
387
- }
372
+ if (extra?.templateFormat === "mustache" && typeof messageContent === "string" && messageContent.slice(0, 2) === "{{" && messageContent.slice(-2) === "}}") return new MessagesPlaceholder({
373
+ variableName: messageContent.slice(2, -2),
374
+ optional: true
375
+ });
376
+ else if (typeof messageContent === "string" && messageContent[0] === "{" && messageContent[messageContent.length - 1] === "}") return new MessagesPlaceholder({
377
+ variableName: messageContent.slice(1, -1),
378
+ optional: true
379
+ });
388
380
  throw new Error(`Invalid placeholder template for format ${extra?.templateFormat ?? `"f-string"`}: "${messagePromptTemplateLike[1]}". Expected a variable name surrounded by ${extra?.templateFormat === "mustache" ? "double" : "single"} curly braces.`);
389
381
  }
390
382
  const message = coerceMessageLikeToMessage(messagePromptTemplateLike);
@@ -459,18 +451,16 @@ var ChatPromptTemplate = class ChatPromptTemplate extends BaseChatPromptTemplate
459
451
  }
460
452
  async _parseImagePrompts(message, inputValues) {
461
453
  if (typeof message.content === "string") return message;
462
- const formattedMessageContent = await Promise.all(message.content.map(async (item) => {
454
+ message.content = await Promise.all(message.content.map(async (item) => {
463
455
  if (item.type !== "image_url") return item;
464
456
  let imageUrl = "";
465
457
  if (typeof item.image_url === "string") imageUrl = item.image_url;
466
458
  else if (typeof item.image_url === "object" && item.image_url !== null && "url" in item.image_url && typeof item.image_url.url === "string") imageUrl = item.image_url.url;
467
- const promptTemplatePlaceholder = PromptTemplate.fromTemplate(imageUrl, { templateFormat: this.templateFormat });
468
- const formattedUrl = await promptTemplatePlaceholder.format(inputValues);
459
+ const formattedUrl = await PromptTemplate.fromTemplate(imageUrl, { templateFormat: this.templateFormat }).format(inputValues);
469
460
  if (typeof item.image_url === "object" && item.image_url !== null && "url" in item.image_url) item.image_url.url = formattedUrl;
470
461
  else item.image_url = formattedUrl;
471
462
  return item;
472
463
  }));
473
- message.content = formattedMessageContent;
474
464
  return message;
475
465
  }
476
466
  async formatMessages(values) {
@@ -481,10 +471,7 @@ var ChatPromptTemplate = class ChatPromptTemplate extends BaseChatPromptTemplate
481
471
  let inputValues;
482
472
  if (this.templateFormat === "mustache") inputValues = { ...allValues };
483
473
  else inputValues = promptMessage.inputVariables.reduce((acc, inputVariable) => {
484
- if (!(inputVariable in allValues) && !(isMessagesPlaceholder(promptMessage) && promptMessage.optional)) {
485
- const error = addLangChainErrorFields(/* @__PURE__ */ new Error(`Missing value for input variable \`${inputVariable.toString()}\``), "INVALID_PROMPT_INPUT");
486
- throw error;
487
- }
474
+ if (!(inputVariable in allValues) && !(isMessagesPlaceholder(promptMessage) && promptMessage.optional)) throw addLangChainErrorFields(/* @__PURE__ */ new Error(`Missing value for input variable \`${inputVariable.toString()}\``), "INVALID_PROMPT_INPUT");
488
475
  acc[inputVariable] = allValues[inputVariable];
489
476
  return acc;
490
477
  }, {});
@@ -499,16 +486,14 @@ var ChatPromptTemplate = class ChatPromptTemplate extends BaseChatPromptTemplate
499
486
  ...this.partialVariables ?? {},
500
487
  ...values
501
488
  };
502
- const promptDict = {
489
+ return new ChatPromptTemplate({
503
490
  ...this,
504
491
  inputVariables: newInputVariables,
505
492
  partialVariables: newPartialVariables
506
- };
507
- return new ChatPromptTemplate(promptDict);
493
+ });
508
494
  }
509
495
  static fromTemplate(template, options) {
510
- const prompt = PromptTemplate.fromTemplate(template, options);
511
- const humanTemplate = new HumanMessagePromptTemplate({ prompt });
496
+ const humanTemplate = new HumanMessagePromptTemplate({ prompt: PromptTemplate.fromTemplate(template, options) });
512
497
  return this.fromMessages([humanTemplate]);
513
498
  }
514
499
  /**