langgraph-ui-components 0.0.10 → 0.0.11-testing

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 (393) hide show
  1. package/dist/index.es.js +3 -2
  2. package/dist/index.es10.js +25 -6
  3. package/dist/index.es10.js.map +1 -1
  4. package/dist/index.es100.js +131 -64
  5. package/dist/index.es100.js.map +1 -1
  6. package/dist/index.es101.js +65 -32
  7. package/dist/index.es101.js.map +1 -1
  8. package/dist/index.es102.js +34 -34
  9. package/dist/index.es102.js.map +1 -1
  10. package/dist/index.es103.js +35 -164
  11. package/dist/index.es103.js.map +1 -1
  12. package/dist/index.es104.js +156 -193
  13. package/dist/index.es104.js.map +1 -1
  14. package/dist/index.es105.js +202 -13
  15. package/dist/index.es105.js.map +1 -1
  16. package/dist/index.es106.js +13 -29
  17. package/dist/index.es106.js.map +1 -1
  18. package/dist/index.es107.js +25 -29
  19. package/dist/index.es107.js.map +1 -1
  20. package/dist/index.es108.js +24 -3147
  21. package/dist/index.es108.js.map +1 -1
  22. package/dist/index.es109.js +3151 -31
  23. package/dist/index.es109.js.map +1 -1
  24. package/dist/index.es110.js +21 -5
  25. package/dist/index.es110.js.map +1 -1
  26. package/dist/index.es111.js +64 -69
  27. package/dist/index.es111.js.map +1 -1
  28. package/dist/index.es112.js +3 -37
  29. package/dist/index.es112.js.map +1 -1
  30. package/dist/index.es113.js +16 -5
  31. package/dist/index.es113.js.map +1 -1
  32. package/dist/index.es114.js +7 -2
  33. package/dist/index.es114.js.map +1 -1
  34. package/dist/index.es115.js +2 -13
  35. package/dist/index.es115.js.map +1 -1
  36. package/dist/index.es116.js +9 -499
  37. package/dist/index.es116.js.map +1 -1
  38. package/dist/index.es117.js +501 -5
  39. package/dist/index.es117.js.map +1 -1
  40. package/dist/index.es118.js +7 -2
  41. package/dist/index.es118.js.map +1 -1
  42. package/dist/index.es119.js +2 -148
  43. package/dist/index.es119.js.map +1 -1
  44. package/dist/index.es120.js +118 -878
  45. package/dist/index.es120.js.map +1 -1
  46. package/dist/index.es121.js +877 -251
  47. package/dist/index.es121.js.map +1 -1
  48. package/dist/index.es122.js +281 -3
  49. package/dist/index.es122.js.map +1 -1
  50. package/dist/index.es123.js +3 -445
  51. package/dist/index.es123.js.map +1 -1
  52. package/dist/index.es124.js +437 -39
  53. package/dist/index.es124.js.map +1 -1
  54. package/dist/index.es125.js +46 -22
  55. package/dist/index.es125.js.map +1 -1
  56. package/dist/index.es126.js +21 -78
  57. package/dist/index.es126.js.map +1 -1
  58. package/dist/index.es127.js +76 -126
  59. package/dist/index.es127.js.map +1 -1
  60. package/dist/index.es128.js +125 -45
  61. package/dist/index.es128.js.map +1 -1
  62. package/dist/index.es129.js +48 -9
  63. package/dist/index.es129.js.map +1 -1
  64. package/dist/index.es130.js +10 -45
  65. package/dist/index.es130.js.map +1 -1
  66. package/dist/index.es131.js +43 -97
  67. package/dist/index.es131.js.map +1 -1
  68. package/dist/index.es132.js +94 -48
  69. package/dist/index.es132.js.map +1 -1
  70. package/dist/index.es133.js +51 -14
  71. package/dist/index.es133.js.map +1 -1
  72. package/dist/index.es134.js +1 -1
  73. package/dist/index.es135.js +1 -1
  74. package/dist/index.es138.js +1 -1
  75. package/dist/index.es139.js +1 -1
  76. package/dist/index.es140.js +1 -1
  77. package/dist/index.es141.js +1 -1
  78. package/dist/index.es142.js +1 -1
  79. package/dist/index.es143.js +1 -1
  80. package/dist/index.es144.js +1 -1
  81. package/dist/index.es145.js +1 -1
  82. package/dist/index.es146.js +1 -1
  83. package/dist/index.es147.js +1 -1
  84. package/dist/index.es148.js +1 -1
  85. package/dist/index.es149.js +1 -1
  86. package/dist/index.es150.js +1 -1
  87. package/dist/index.es151.js +1 -1
  88. package/dist/index.es152.js +1 -1
  89. package/dist/index.es153.js +1 -1
  90. package/dist/index.es154.js +1 -1
  91. package/dist/index.es155.js +1 -1
  92. package/dist/index.es156.js +1 -1
  93. package/dist/index.es157.js +1 -1
  94. package/dist/index.es158.js +1 -1
  95. package/dist/index.es159.js +1 -1
  96. package/dist/index.es16.js +3 -3
  97. package/dist/index.es16.js.map +1 -1
  98. package/dist/index.es160.js +1 -1
  99. package/dist/index.es161.js +1 -1
  100. package/dist/index.es162.js +1 -1
  101. package/dist/index.es163.js +1 -1
  102. package/dist/index.es164.js +1 -1
  103. package/dist/index.es165.js +1 -1
  104. package/dist/index.es166.js +1 -1
  105. package/dist/index.es167.js +1 -1
  106. package/dist/index.es168.js +1 -1
  107. package/dist/index.es169.js +1 -1
  108. package/dist/index.es170.js +1 -1
  109. package/dist/index.es171.js +1 -1
  110. package/dist/index.es172.js +1 -1
  111. package/dist/index.es173.js +1 -1
  112. package/dist/index.es174.js +1 -1
  113. package/dist/index.es175.js +1 -1
  114. package/dist/index.es176.js +1 -1
  115. package/dist/index.es177.js +1 -1
  116. package/dist/index.es178.js +1 -1
  117. package/dist/index.es179.js +1 -1
  118. package/dist/index.es18.js +15 -15
  119. package/dist/index.es180.js +1 -1
  120. package/dist/index.es181.js +1 -1
  121. package/dist/index.es182.js +1 -1
  122. package/dist/index.es183.js +162 -13
  123. package/dist/index.es183.js.map +1 -1
  124. package/dist/index.es184.js +2 -89
  125. package/dist/index.es184.js.map +1 -1
  126. package/dist/index.es185.js +15 -2
  127. package/dist/index.es185.js.map +1 -1
  128. package/dist/index.es186.js +89 -2
  129. package/dist/index.es186.js.map +1 -1
  130. package/dist/index.es187.js +2 -2
  131. package/dist/index.es188.js +56 -2
  132. package/dist/index.es188.js.map +1 -1
  133. package/dist/index.es189.js +100 -2
  134. package/dist/index.es189.js.map +1 -1
  135. package/dist/index.es190.js +191 -2
  136. package/dist/index.es190.js.map +1 -1
  137. package/dist/index.es191.js +110 -2
  138. package/dist/index.es191.js.map +1 -1
  139. package/dist/index.es192.js +35 -2
  140. package/dist/index.es192.js.map +1 -1
  141. package/dist/index.es193.js +10 -2
  142. package/dist/index.es193.js.map +1 -1
  143. package/dist/index.es194.js +11 -2
  144. package/dist/index.es194.js.map +1 -1
  145. package/dist/index.es195.js +12 -2
  146. package/dist/index.es195.js.map +1 -1
  147. package/dist/index.es196.js +91 -2
  148. package/dist/index.es196.js.map +1 -1
  149. package/dist/index.es197.js +275 -2
  150. package/dist/index.es197.js.map +1 -1
  151. package/dist/index.es198.js +2 -2
  152. package/dist/index.es199.js +164 -2
  153. package/dist/index.es199.js.map +1 -1
  154. package/dist/index.es200.js +51 -2
  155. package/dist/index.es200.js.map +1 -1
  156. package/dist/index.es201.js +40 -2
  157. package/dist/index.es201.js.map +1 -1
  158. package/dist/index.es202.js +35 -2
  159. package/dist/index.es202.js.map +1 -1
  160. package/dist/index.es203.js +40 -2
  161. package/dist/index.es203.js.map +1 -1
  162. package/dist/index.es204.js +24 -2
  163. package/dist/index.es204.js.map +1 -1
  164. package/dist/index.es205.js +591 -2
  165. package/dist/index.es205.js.map +1 -1
  166. package/dist/index.es206.js +125 -2
  167. package/dist/index.es206.js.map +1 -1
  168. package/dist/index.es207.js +2 -2
  169. package/dist/index.es208.js +2 -2
  170. package/dist/index.es209.js +2 -2
  171. package/dist/index.es210.js +2 -2
  172. package/dist/index.es211.js +2 -2
  173. package/dist/index.es212.js +2 -2
  174. package/dist/index.es213.js +2 -2
  175. package/dist/index.es214.js +2 -2
  176. package/dist/index.es215.js +2 -2
  177. package/dist/index.es216.js +2 -2
  178. package/dist/index.es217.js +2 -2
  179. package/dist/index.es218.js +2 -2
  180. package/dist/index.es219.js +2 -2
  181. package/dist/index.es220.js +2 -2
  182. package/dist/index.es221.js +2 -2
  183. package/dist/index.es222.js +2 -2
  184. package/dist/index.es223.js +2 -2
  185. package/dist/index.es224.js +2 -2
  186. package/dist/index.es225.js +2 -2
  187. package/dist/index.es226.js +2 -2
  188. package/dist/index.es227.js +2 -2
  189. package/dist/index.es228.js +2 -2
  190. package/dist/index.es229.js +2 -2
  191. package/dist/index.es230.js +2 -2
  192. package/dist/index.es231.js +2 -56
  193. package/dist/index.es231.js.map +1 -1
  194. package/dist/index.es232.js +2 -100
  195. package/dist/index.es232.js.map +1 -1
  196. package/dist/index.es233.js +2 -191
  197. package/dist/index.es233.js.map +1 -1
  198. package/dist/index.es234.js +2 -110
  199. package/dist/index.es234.js.map +1 -1
  200. package/dist/index.es235.js +2 -35
  201. package/dist/index.es235.js.map +1 -1
  202. package/dist/index.es236.js +2 -10
  203. package/dist/index.es236.js.map +1 -1
  204. package/dist/index.es237.js +2 -11
  205. package/dist/index.es237.js.map +1 -1
  206. package/dist/index.es238.js +2 -12
  207. package/dist/index.es238.js.map +1 -1
  208. package/dist/index.es239.js +2 -91
  209. package/dist/index.es239.js.map +1 -1
  210. package/dist/index.es24.js +1 -1
  211. package/dist/index.es240.js +2 -275
  212. package/dist/index.es240.js.map +1 -1
  213. package/dist/index.es241.js +2 -2
  214. package/dist/index.es242.js +2 -164
  215. package/dist/index.es242.js.map +1 -1
  216. package/dist/index.es243.js +2 -51
  217. package/dist/index.es243.js.map +1 -1
  218. package/dist/index.es244.js +2 -40
  219. package/dist/index.es244.js.map +1 -1
  220. package/dist/index.es245.js +2 -35
  221. package/dist/index.es245.js.map +1 -1
  222. package/dist/index.es246.js +2 -40
  223. package/dist/index.es246.js.map +1 -1
  224. package/dist/index.es247.js +2 -24
  225. package/dist/index.es247.js.map +1 -1
  226. package/dist/index.es248.js +2 -591
  227. package/dist/index.es248.js.map +1 -1
  228. package/dist/index.es249.js +2 -125
  229. package/dist/index.es249.js.map +1 -1
  230. package/dist/index.es25.js +3 -1
  231. package/dist/index.es25.js.map +1 -1
  232. package/dist/index.es250.js +2 -164
  233. package/dist/index.es250.js.map +1 -1
  234. package/dist/index.es251.js +2 -2
  235. package/dist/index.es252.js +2 -2
  236. package/dist/index.es253.js +1 -1
  237. package/dist/index.es258.js +1 -1
  238. package/dist/index.es260.js +2 -2
  239. package/dist/index.es262.js +2 -2
  240. package/dist/index.es265.js +1 -1
  241. package/dist/index.es267.js +1 -1
  242. package/dist/index.es277.js +2 -147
  243. package/dist/index.es277.js.map +1 -1
  244. package/dist/index.es278.js +126 -167
  245. package/dist/index.es278.js.map +1 -1
  246. package/dist/index.es279.js +188 -2
  247. package/dist/index.es279.js.map +1 -1
  248. package/dist/index.es280.js +1 -1
  249. package/dist/index.es283.js +1 -1
  250. package/dist/index.es288.js +1 -1
  251. package/dist/index.es29.js +1 -1
  252. package/dist/index.es3.js +24 -9
  253. package/dist/index.es3.js.map +1 -1
  254. package/dist/index.es300.js +1 -1
  255. package/dist/index.es302.js +1 -1
  256. package/dist/index.es31.js +7 -7
  257. package/dist/index.es314.js +1 -1
  258. package/dist/index.es32.js +1 -1
  259. package/dist/index.es334.js +2 -2
  260. package/dist/index.es35.js +4 -4
  261. package/dist/index.es36.js +1185 -111
  262. package/dist/index.es36.js.map +1 -1
  263. package/dist/index.es37.js +7 -71
  264. package/dist/index.es37.js.map +1 -1
  265. package/dist/index.es38.js +9 -18
  266. package/dist/index.es38.js.map +1 -1
  267. package/dist/index.es39.js +136 -250
  268. package/dist/index.es39.js.map +1 -1
  269. package/dist/index.es4.js +2 -1
  270. package/dist/index.es4.js.map +1 -1
  271. package/dist/index.es40.js +116 -41
  272. package/dist/index.es40.js.map +1 -1
  273. package/dist/index.es41.js +64 -208
  274. package/dist/index.es41.js.map +1 -1
  275. package/dist/index.es42.js +17 -66
  276. package/dist/index.es42.js.map +1 -1
  277. package/dist/index.es43.js +236 -117
  278. package/dist/index.es43.js.map +1 -1
  279. package/dist/index.es44.js +38 -19
  280. package/dist/index.es44.js.map +1 -1
  281. package/dist/index.es45.js +202 -217
  282. package/dist/index.es45.js.map +1 -1
  283. package/dist/index.es46.js +65 -7
  284. package/dist/index.es46.js.map +1 -1
  285. package/dist/index.es47.js +131 -1181
  286. package/dist/index.es47.js.map +1 -1
  287. package/dist/index.es48.js +25 -8
  288. package/dist/index.es48.js.map +1 -1
  289. package/dist/index.es49.js +218 -135
  290. package/dist/index.es49.js.map +1 -1
  291. package/dist/index.es5.js.map +1 -1
  292. package/dist/index.es50.js +5 -208
  293. package/dist/index.es50.js.map +1 -1
  294. package/dist/index.es51.js +208 -5
  295. package/dist/index.es51.js.map +1 -1
  296. package/dist/index.es52.js +90 -7
  297. package/dist/index.es52.js.map +1 -1
  298. package/dist/index.es53.js +6 -92
  299. package/dist/index.es53.js.map +1 -1
  300. package/dist/index.es54.js +14 -3
  301. package/dist/index.es54.js.map +1 -1
  302. package/dist/index.es55.js +8 -36
  303. package/dist/index.es55.js.map +1 -1
  304. package/dist/index.es56.js +83 -61
  305. package/dist/index.es56.js.map +1 -1
  306. package/dist/index.es57.js +3 -37
  307. package/dist/index.es57.js.map +1 -1
  308. package/dist/index.es58.js +34 -304
  309. package/dist/index.es58.js.map +1 -1
  310. package/dist/index.es59.js +72 -9
  311. package/dist/index.es59.js.map +1 -1
  312. package/dist/index.es60.js +32 -85
  313. package/dist/index.es60.js.map +1 -1
  314. package/dist/index.es61.js +304 -6
  315. package/dist/index.es61.js.map +1 -1
  316. package/dist/index.es62.js +9 -15
  317. package/dist/index.es62.js.map +1 -1
  318. package/dist/index.es63.js +3 -3
  319. package/dist/index.es64.js +5 -142
  320. package/dist/index.es64.js.map +1 -1
  321. package/dist/index.es65.js +148 -285
  322. package/dist/index.es65.js.map +1 -1
  323. package/dist/index.es66.js +668 -62
  324. package/dist/index.es66.js.map +1 -1
  325. package/dist/index.es67.js +131 -201
  326. package/dist/index.es67.js.map +1 -1
  327. package/dist/index.es68.js +295 -29
  328. package/dist/index.es68.js.map +1 -1
  329. package/dist/index.es69.js +65 -8
  330. package/dist/index.es69.js.map +1 -1
  331. package/dist/index.es7.js +2 -1
  332. package/dist/index.es7.js.map +1 -1
  333. package/dist/index.es70.js +210 -9
  334. package/dist/index.es70.js.map +1 -1
  335. package/dist/index.es71.js +28 -181
  336. package/dist/index.es71.js.map +1 -1
  337. package/dist/index.es72.js +8 -23
  338. package/dist/index.es72.js.map +1 -1
  339. package/dist/index.es73.js +9 -1397
  340. package/dist/index.es73.js.map +1 -1
  341. package/dist/index.es74.js +187 -9
  342. package/dist/index.es74.js.map +1 -1
  343. package/dist/index.es75.js +24 -8
  344. package/dist/index.es75.js.map +1 -1
  345. package/dist/index.es76.js +1399 -5
  346. package/dist/index.es76.js.map +1 -1
  347. package/dist/index.es77.js +9 -163
  348. package/dist/index.es77.js.map +1 -1
  349. package/dist/index.es78.js +8 -672
  350. package/dist/index.es78.js.map +1 -1
  351. package/dist/index.es79.js +36 -20
  352. package/dist/index.es79.js.map +1 -1
  353. package/dist/index.es80.js +5 -68
  354. package/dist/index.es80.js.map +1 -1
  355. package/dist/index.es81.js +73 -3
  356. package/dist/index.es81.js.map +1 -1
  357. package/dist/index.es82.js +36 -11
  358. package/dist/index.es82.js.map +1 -1
  359. package/dist/index.es83.js +10 -38
  360. package/dist/index.es83.js.map +1 -1
  361. package/dist/index.es84.js +34 -28
  362. package/dist/index.es84.js.map +1 -1
  363. package/dist/index.es85.js +28 -226
  364. package/dist/index.es85.js.map +1 -1
  365. package/dist/index.es86.js +228 -26
  366. package/dist/index.es86.js.map +1 -1
  367. package/dist/index.es87.js +26 -71
  368. package/dist/index.es87.js.map +1 -1
  369. package/dist/index.es88.js +41 -42
  370. package/dist/index.es88.js.map +1 -1
  371. package/dist/index.es89.js +71 -47
  372. package/dist/index.es89.js.map +1 -1
  373. package/dist/index.es90.js +37 -15
  374. package/dist/index.es90.js.map +1 -1
  375. package/dist/index.es91.js +6 -19
  376. package/dist/index.es91.js.map +1 -1
  377. package/dist/index.es92.js +40 -54
  378. package/dist/index.es92.js.map +1 -1
  379. package/dist/index.es93.js +56 -12
  380. package/dist/index.es93.js.map +1 -1
  381. package/dist/index.es94.js +13 -137
  382. package/dist/index.es94.js.map +1 -1
  383. package/dist/index.es95.js +135 -19
  384. package/dist/index.es95.js.map +1 -1
  385. package/dist/index.es96.js +18 -179
  386. package/dist/index.es96.js.map +1 -1
  387. package/dist/index.es97.js +163 -222
  388. package/dist/index.es97.js.map +1 -1
  389. package/dist/index.es98.js +187 -301
  390. package/dist/index.es98.js.map +1 -1
  391. package/dist/index.es99.js +348 -130
  392. package/dist/index.es99.js.map +1 -1
  393. package/package.json +1 -1
@@ -1,309 +1,39 @@
1
- import { isBaseMessageChunk } from "./index.es39.js";
2
- import { ToolMessageChunk, ToolMessage } from "./index.es43.js";
3
- import { ChatMessageChunk, ChatMessage } from "./index.es56.js";
4
- import { FunctionMessageChunk, FunctionMessage } from "./index.es57.js";
5
- import { HumanMessageChunk, HumanMessage } from "./index.es40.js";
6
- import { RemoveMessage } from "./index.es44.js";
7
- import { SystemMessageChunk, SystemMessage } from "./index.es42.js";
8
- import { convertToChunk } from "./index.es45.js";
9
- import { AIMessageChunk, AIMessage } from "./index.es41.js";
10
- import { RunnableLambda } from "./index.es73.js";
11
- const _isMessageType = (msg, types) => {
12
- const typesAsStrings = [...new Set(types?.map((t) => {
13
- if (typeof t === "string") return t;
14
- const instantiatedMsgClass = new t({});
15
- if (!("getType" in instantiatedMsgClass) || typeof instantiatedMsgClass.getType !== "function") throw new Error("Invalid type provided.");
16
- return instantiatedMsgClass.getType();
17
- }))];
18
- const msgType = msg.getType();
19
- return typesAsStrings.some((t) => t === msgType);
20
- };
21
- function filterMessages(messagesOrOptions, options) {
22
- if (Array.isArray(messagesOrOptions)) return _filterMessages(messagesOrOptions, options);
23
- return RunnableLambda.from((input) => {
24
- return _filterMessages(input, messagesOrOptions);
25
- });
26
- }
27
- function _filterMessages(messages, options = {}) {
28
- const { includeNames, excludeNames, includeTypes, excludeTypes, includeIds, excludeIds } = options;
29
- const filtered = [];
30
- for (const msg of messages) {
31
- if (excludeNames && msg.name && excludeNames.includes(msg.name)) continue;
32
- else if (excludeTypes && _isMessageType(msg, excludeTypes)) continue;
33
- else if (excludeIds && msg.id && excludeIds.includes(msg.id)) continue;
34
- if (!(includeTypes || includeIds || includeNames)) filtered.push(msg);
35
- else if (includeNames && msg.name && includeNames.some((iName) => iName === msg.name)) filtered.push(msg);
36
- else if (includeTypes && _isMessageType(msg, includeTypes)) filtered.push(msg);
37
- else if (includeIds && msg.id && includeIds.some((id) => id === msg.id)) filtered.push(msg);
38
- }
39
- return filtered;
40
- }
41
- function mergeMessageRuns(messages) {
42
- if (Array.isArray(messages)) return _mergeMessageRuns(messages);
43
- return RunnableLambda.from(_mergeMessageRuns);
44
- }
45
- function _mergeMessageRuns(messages) {
46
- if (!messages.length) return [];
47
- const merged = [];
48
- for (const msg of messages) {
49
- const curr = msg;
50
- const last = merged.pop();
51
- if (!last) merged.push(curr);
52
- else if (curr.getType() === "tool" || !(curr.getType() === last.getType())) merged.push(last, curr);
53
- else {
54
- const lastChunk = convertToChunk(last);
55
- const currChunk = convertToChunk(curr);
56
- const mergedChunks = lastChunk.concat(currChunk);
57
- if (typeof lastChunk.content === "string" && typeof currChunk.content === "string") mergedChunks.content = `${lastChunk.content}
58
- ${currChunk.content}`;
59
- merged.push(_chunkToMsg(mergedChunks));
60
- }
61
- }
62
- return merged;
63
- }
64
- function trimMessages(messagesOrOptions, options) {
65
- if (Array.isArray(messagesOrOptions)) {
66
- const messages = messagesOrOptions;
67
- if (!options) throw new Error("Options parameter is required when providing messages.");
68
- return _trimMessagesHelper(messages, options);
69
- } else {
70
- const trimmerOptions = messagesOrOptions;
71
- return RunnableLambda.from((input) => _trimMessagesHelper(input, trimmerOptions)).withConfig({ runName: "trim_messages" });
72
- }
73
- }
74
- async function _trimMessagesHelper(messages, options) {
75
- const { maxTokens, tokenCounter, strategy = "last", allowPartial = false, endOn, startOn, includeSystem = false, textSplitter } = options;
76
- if (startOn && strategy === "first") throw new Error("`startOn` should only be specified if `strategy` is 'last'.");
77
- if (includeSystem && strategy === "first") throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");
78
- let listTokenCounter;
79
- if ("getNumTokens" in tokenCounter) listTokenCounter = async (msgs) => {
80
- const tokenCounts = await Promise.all(msgs.map((msg) => tokenCounter.getNumTokens(msg.content)));
81
- return tokenCounts.reduce((sum, count) => sum + count, 0);
1
+ import { _mergeDicts } from "./index.es43.js";
2
+ function mergeResponseMetadata(a, b) {
3
+ const output = _mergeDicts(a, b) ?? {};
4
+ return output;
5
+ }
6
+ function mergeModalitiesTokenDetails(a, b) {
7
+ const output = {};
8
+ if (a?.audio !== void 0 || b?.audio !== void 0) output.audio = (a?.audio ?? 0) + (b?.audio ?? 0);
9
+ if (a?.image !== void 0 || b?.image !== void 0) output.image = (a?.image ?? 0) + (b?.image ?? 0);
10
+ if (a?.video !== void 0 || b?.video !== void 0) output.video = (a?.video ?? 0) + (b?.video ?? 0);
11
+ if (a?.document !== void 0 || b?.document !== void 0) output.document = (a?.document ?? 0) + (b?.document ?? 0);
12
+ if (a?.text !== void 0 || b?.text !== void 0) output.text = (a?.text ?? 0) + (b?.text ?? 0);
13
+ return output;
14
+ }
15
+ function mergeInputTokenDetails(a, b) {
16
+ const output = { ...mergeModalitiesTokenDetails(a, b) };
17
+ if (a?.cache_read !== void 0 || b?.cache_read !== void 0) output.cache_read = (a?.cache_read ?? 0) + (b?.cache_read ?? 0);
18
+ if (a?.cache_creation !== void 0 || b?.cache_creation !== void 0) output.cache_creation = (a?.cache_creation ?? 0) + (b?.cache_creation ?? 0);
19
+ return output;
20
+ }
21
+ function mergeOutputTokenDetails(a, b) {
22
+ const output = { ...mergeModalitiesTokenDetails(a, b) };
23
+ if (a?.reasoning !== void 0 || b?.reasoning !== void 0) output.reasoning = (a?.reasoning ?? 0) + (b?.reasoning ?? 0);
24
+ return output;
25
+ }
26
+ function mergeUsageMetadata(a, b) {
27
+ return {
28
+ input_tokens: (a?.input_tokens ?? 0) + (b?.input_tokens ?? 0),
29
+ output_tokens: (a?.output_tokens ?? 0) + (b?.output_tokens ?? 0),
30
+ total_tokens: (a?.total_tokens ?? 0) + (b?.total_tokens ?? 0),
31
+ input_token_details: mergeInputTokenDetails(a?.input_token_details, b?.input_token_details),
32
+ output_token_details: mergeOutputTokenDetails(a?.output_token_details, b?.output_token_details)
82
33
  };
83
- else listTokenCounter = async (msgs) => tokenCounter(msgs);
84
- let textSplitterFunc = defaultTextSplitter;
85
- if (textSplitter) if ("splitText" in textSplitter) textSplitterFunc = textSplitter.splitText;
86
- else textSplitterFunc = async (text) => textSplitter(text);
87
- if (strategy === "first") return _firstMaxTokens(messages, {
88
- maxTokens,
89
- tokenCounter: listTokenCounter,
90
- textSplitter: textSplitterFunc,
91
- partialStrategy: allowPartial ? "first" : void 0,
92
- endOn
93
- });
94
- else if (strategy === "last") return _lastMaxTokens(messages, {
95
- maxTokens,
96
- tokenCounter: listTokenCounter,
97
- textSplitter: textSplitterFunc,
98
- allowPartial,
99
- includeSystem,
100
- startOn,
101
- endOn
102
- });
103
- else throw new Error(`Unrecognized strategy: '${strategy}'. Must be one of 'first' or 'last'.`);
104
- }
105
- async function _firstMaxTokens(messages, options) {
106
- const { maxTokens, tokenCounter, textSplitter, partialStrategy, endOn } = options;
107
- let messagesCopy = [...messages];
108
- let idx = 0;
109
- for (let i = 0; i < messagesCopy.length; i += 1) {
110
- const remainingMessages = i > 0 ? messagesCopy.slice(0, -i) : messagesCopy;
111
- if (await tokenCounter(remainingMessages) <= maxTokens) {
112
- idx = messagesCopy.length - i;
113
- break;
114
- }
115
- }
116
- if (idx < messagesCopy.length && partialStrategy) {
117
- let includedPartial = false;
118
- if (Array.isArray(messagesCopy[idx].content)) {
119
- const excluded = messagesCopy[idx];
120
- if (typeof excluded.content === "string") throw new Error("Expected content to be an array.");
121
- const numBlock = excluded.content.length;
122
- const reversedContent = partialStrategy === "last" ? [...excluded.content].reverse() : excluded.content;
123
- for (let i = 1; i <= numBlock; i += 1) {
124
- const partialContent = partialStrategy === "first" ? reversedContent.slice(0, i) : reversedContent.slice(-i);
125
- const fields = Object.fromEntries(Object.entries(excluded).filter(([k]) => k !== "type" && !k.startsWith("lc_")));
126
- const updatedMessage = _switchTypeToMessage(excluded.getType(), {
127
- ...fields,
128
- content: partialContent
129
- });
130
- const slicedMessages = [...messagesCopy.slice(0, idx), updatedMessage];
131
- if (await tokenCounter(slicedMessages) <= maxTokens) {
132
- messagesCopy = slicedMessages;
133
- idx += 1;
134
- includedPartial = true;
135
- } else break;
136
- }
137
- if (includedPartial && partialStrategy === "last") excluded.content = [...reversedContent].reverse();
138
- }
139
- if (!includedPartial) {
140
- const excluded = messagesCopy[idx];
141
- let text;
142
- if (Array.isArray(excluded.content) && excluded.content.some((block) => typeof block === "string" || block.type === "text")) {
143
- const textBlock = excluded.content.find((block) => block.type === "text" && block.text);
144
- text = textBlock?.text;
145
- } else if (typeof excluded.content === "string") text = excluded.content;
146
- if (text) {
147
- const splitTexts = await textSplitter(text);
148
- const numSplits = splitTexts.length;
149
- if (partialStrategy === "last") splitTexts.reverse();
150
- for (let _ = 0; _ < numSplits - 1; _ += 1) {
151
- splitTexts.pop();
152
- excluded.content = splitTexts.join("");
153
- if (await tokenCounter([...messagesCopy.slice(0, idx), excluded]) <= maxTokens) {
154
- if (partialStrategy === "last") excluded.content = [...splitTexts].reverse().join("");
155
- messagesCopy = [...messagesCopy.slice(0, idx), excluded];
156
- idx += 1;
157
- break;
158
- }
159
- }
160
- }
161
- }
162
- }
163
- if (endOn) {
164
- const endOnArr = Array.isArray(endOn) ? endOn : [endOn];
165
- while (idx > 0 && !_isMessageType(messagesCopy[idx - 1], endOnArr)) idx -= 1;
166
- }
167
- return messagesCopy.slice(0, idx);
168
- }
169
- async function _lastMaxTokens(messages, options) {
170
- const { allowPartial = false, includeSystem = false, endOn, startOn, ...rest } = options;
171
- let messagesCopy = messages.map((message) => {
172
- const fields = Object.fromEntries(Object.entries(message).filter(([k]) => k !== "type" && !k.startsWith("lc_")));
173
- return _switchTypeToMessage(message.getType(), fields, isBaseMessageChunk(message));
174
- });
175
- if (endOn) {
176
- const endOnArr = Array.isArray(endOn) ? endOn : [endOn];
177
- while (messagesCopy.length > 0 && !_isMessageType(messagesCopy[messagesCopy.length - 1], endOnArr)) messagesCopy = messagesCopy.slice(0, -1);
178
- }
179
- const swappedSystem = includeSystem && messagesCopy[0]?.getType() === "system";
180
- let reversed_ = swappedSystem ? messagesCopy.slice(0, 1).concat(messagesCopy.slice(1).reverse()) : messagesCopy.reverse();
181
- reversed_ = await _firstMaxTokens(reversed_, {
182
- ...rest,
183
- partialStrategy: allowPartial ? "last" : void 0,
184
- endOn: startOn
185
- });
186
- if (swappedSystem) return [reversed_[0], ...reversed_.slice(1).reverse()];
187
- else return reversed_.reverse();
188
- }
189
- const _MSG_CHUNK_MAP = {
190
- human: {
191
- message: HumanMessage,
192
- messageChunk: HumanMessageChunk
193
- },
194
- ai: {
195
- message: AIMessage,
196
- messageChunk: AIMessageChunk
197
- },
198
- system: {
199
- message: SystemMessage,
200
- messageChunk: SystemMessageChunk
201
- },
202
- developer: {
203
- message: SystemMessage,
204
- messageChunk: SystemMessageChunk
205
- },
206
- tool: {
207
- message: ToolMessage,
208
- messageChunk: ToolMessageChunk
209
- },
210
- function: {
211
- message: FunctionMessage,
212
- messageChunk: FunctionMessageChunk
213
- },
214
- generic: {
215
- message: ChatMessage,
216
- messageChunk: ChatMessageChunk
217
- },
218
- remove: {
219
- message: RemoveMessage,
220
- messageChunk: RemoveMessage
221
- }
222
- };
223
- function _switchTypeToMessage(messageType, fields, returnChunk) {
224
- let chunk;
225
- let msg;
226
- switch (messageType) {
227
- case "human":
228
- if (returnChunk) chunk = new HumanMessageChunk(fields);
229
- else msg = new HumanMessage(fields);
230
- break;
231
- case "ai":
232
- if (returnChunk) {
233
- let aiChunkFields = { ...fields };
234
- if ("tool_calls" in aiChunkFields) aiChunkFields = {
235
- ...aiChunkFields,
236
- tool_call_chunks: aiChunkFields.tool_calls?.map((tc) => ({
237
- ...tc,
238
- type: "tool_call_chunk",
239
- index: void 0,
240
- args: JSON.stringify(tc.args)
241
- }))
242
- };
243
- chunk = new AIMessageChunk(aiChunkFields);
244
- } else msg = new AIMessage(fields);
245
- break;
246
- case "system":
247
- if (returnChunk) chunk = new SystemMessageChunk(fields);
248
- else msg = new SystemMessage(fields);
249
- break;
250
- case "developer":
251
- if (returnChunk) chunk = new SystemMessageChunk({
252
- ...fields,
253
- additional_kwargs: {
254
- ...fields.additional_kwargs,
255
- __openai_role__: "developer"
256
- }
257
- });
258
- else msg = new SystemMessage({
259
- ...fields,
260
- additional_kwargs: {
261
- ...fields.additional_kwargs,
262
- __openai_role__: "developer"
263
- }
264
- });
265
- break;
266
- case "tool":
267
- if ("tool_call_id" in fields) if (returnChunk) chunk = new ToolMessageChunk(fields);
268
- else msg = new ToolMessage(fields);
269
- else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");
270
- break;
271
- case "function":
272
- if (returnChunk) chunk = new FunctionMessageChunk(fields);
273
- else {
274
- if (!fields.name) throw new Error("FunctionMessage must have a 'name' field");
275
- msg = new FunctionMessage(fields);
276
- }
277
- break;
278
- case "generic":
279
- if ("role" in fields) if (returnChunk) chunk = new ChatMessageChunk(fields);
280
- else msg = new ChatMessage(fields);
281
- else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");
282
- break;
283
- default:
284
- throw new Error(`Unrecognized message type ${messageType}`);
285
- }
286
- if (returnChunk && chunk) return chunk;
287
- if (msg) return msg;
288
- throw new Error(`Unrecognized message type ${messageType}`);
289
- }
290
- function _chunkToMsg(chunk) {
291
- const chunkType = chunk.getType();
292
- let msg;
293
- const fields = Object.fromEntries(Object.entries(chunk).filter(([k]) => !["type", "tool_call_chunks"].includes(k) && !k.startsWith("lc_")));
294
- if (chunkType in _MSG_CHUNK_MAP) msg = _switchTypeToMessage(chunkType, fields);
295
- if (!msg) throw new Error(`Unrecognized message chunk class ${chunkType}. Supported classes are ${Object.keys(_MSG_CHUNK_MAP)}`);
296
- return msg;
297
- }
298
- function defaultTextSplitter(text) {
299
- const splits = text.split("\n");
300
- return Promise.resolve([...splits.slice(0, -1).map((s) => `${s}
301
- `), splits[splits.length - 1]]);
302
34
  }
303
35
  export {
304
- defaultTextSplitter,
305
- filterMessages,
306
- mergeMessageRuns,
307
- trimMessages
36
+ mergeResponseMetadata,
37
+ mergeUsageMetadata
308
38
  };
309
39
  //# sourceMappingURL=index.es58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es58.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/transformers.js"],"sourcesContent":["import { isBaseMessageChunk } from \"./base.js\";\nimport { ToolMessage, ToolMessageChunk } from \"./tool.js\";\nimport { ChatMessage, ChatMessageChunk } from \"./chat.js\";\nimport { FunctionMessage, FunctionMessageChunk } from \"./function.js\";\nimport { HumanMessage, HumanMessageChunk } from \"./human.js\";\nimport { RemoveMessage } from \"./modifier.js\";\nimport { SystemMessage, SystemMessageChunk } from \"./system.js\";\nimport { convertToChunk } from \"./utils.js\";\nimport { AIMessage, AIMessageChunk } from \"./ai.js\";\nimport { RunnableLambda } from \"../runnables/base.js\";\n\n//#region src/messages/transformers.ts\nconst _isMessageType = (msg, types) => {\n\tconst typesAsStrings = [...new Set(types?.map((t) => {\n\t\tif (typeof t === \"string\") return t;\n\t\tconst instantiatedMsgClass = new t({});\n\t\tif (!(\"getType\" in instantiatedMsgClass) || typeof instantiatedMsgClass.getType !== \"function\") throw new Error(\"Invalid type provided.\");\n\t\treturn instantiatedMsgClass.getType();\n\t}))];\n\tconst msgType = msg.getType();\n\treturn typesAsStrings.some((t) => t === msgType);\n};\nfunction filterMessages(messagesOrOptions, options) {\n\tif (Array.isArray(messagesOrOptions)) return _filterMessages(messagesOrOptions, options);\n\treturn RunnableLambda.from((input) => {\n\t\treturn _filterMessages(input, messagesOrOptions);\n\t});\n}\nfunction _filterMessages(messages, options = {}) {\n\tconst { includeNames, excludeNames, includeTypes, excludeTypes, includeIds, excludeIds } = options;\n\tconst filtered = [];\n\tfor (const msg of messages) {\n\t\tif (excludeNames && msg.name && excludeNames.includes(msg.name)) continue;\n\t\telse if (excludeTypes && _isMessageType(msg, excludeTypes)) continue;\n\t\telse if (excludeIds && msg.id && excludeIds.includes(msg.id)) continue;\n\t\tif (!(includeTypes || includeIds || includeNames)) filtered.push(msg);\n\t\telse if (includeNames && msg.name && includeNames.some((iName) => iName === msg.name)) filtered.push(msg);\n\t\telse if (includeTypes && _isMessageType(msg, includeTypes)) filtered.push(msg);\n\t\telse if (includeIds && msg.id && includeIds.some((id) => id === msg.id)) filtered.push(msg);\n\t}\n\treturn filtered;\n}\nfunction mergeMessageRuns(messages) {\n\tif (Array.isArray(messages)) return _mergeMessageRuns(messages);\n\treturn RunnableLambda.from(_mergeMessageRuns);\n}\nfunction _mergeMessageRuns(messages) {\n\tif (!messages.length) return [];\n\tconst merged = [];\n\tfor (const msg of messages) {\n\t\tconst curr = msg;\n\t\tconst last = merged.pop();\n\t\tif (!last) merged.push(curr);\n\t\telse if (curr.getType() === \"tool\" || !(curr.getType() === last.getType())) merged.push(last, curr);\n\t\telse {\n\t\t\tconst lastChunk = convertToChunk(last);\n\t\t\tconst currChunk = convertToChunk(curr);\n\t\t\tconst mergedChunks = lastChunk.concat(currChunk);\n\t\t\tif (typeof lastChunk.content === \"string\" && typeof currChunk.content === \"string\") mergedChunks.content = `${lastChunk.content}\\n${currChunk.content}`;\n\t\t\tmerged.push(_chunkToMsg(mergedChunks));\n\t\t}\n\t}\n\treturn merged;\n}\nfunction trimMessages(messagesOrOptions, options) {\n\tif (Array.isArray(messagesOrOptions)) {\n\t\tconst messages = messagesOrOptions;\n\t\tif (!options) throw new Error(\"Options parameter is required when providing messages.\");\n\t\treturn _trimMessagesHelper(messages, options);\n\t} else {\n\t\tconst trimmerOptions = messagesOrOptions;\n\t\treturn RunnableLambda.from((input) => _trimMessagesHelper(input, trimmerOptions)).withConfig({ runName: \"trim_messages\" });\n\t}\n}\nasync function _trimMessagesHelper(messages, options) {\n\tconst { maxTokens, tokenCounter, strategy = \"last\", allowPartial = false, endOn, startOn, includeSystem = false, textSplitter } = options;\n\tif (startOn && strategy === \"first\") throw new Error(\"`startOn` should only be specified if `strategy` is 'last'.\");\n\tif (includeSystem && strategy === \"first\") throw new Error(\"`includeSystem` should only be specified if `strategy` is 'last'.\");\n\tlet listTokenCounter;\n\tif (\"getNumTokens\" in tokenCounter) listTokenCounter = async (msgs) => {\n\t\tconst tokenCounts = await Promise.all(msgs.map((msg) => tokenCounter.getNumTokens(msg.content)));\n\t\treturn tokenCounts.reduce((sum, count) => sum + count, 0);\n\t};\n\telse listTokenCounter = async (msgs) => tokenCounter(msgs);\n\tlet textSplitterFunc = defaultTextSplitter;\n\tif (textSplitter) if (\"splitText\" in textSplitter) textSplitterFunc = textSplitter.splitText;\n\telse textSplitterFunc = async (text) => textSplitter(text);\n\tif (strategy === \"first\") return _firstMaxTokens(messages, {\n\t\tmaxTokens,\n\t\ttokenCounter: listTokenCounter,\n\t\ttextSplitter: textSplitterFunc,\n\t\tpartialStrategy: allowPartial ? \"first\" : void 0,\n\t\tendOn\n\t});\n\telse if (strategy === \"last\") return _lastMaxTokens(messages, {\n\t\tmaxTokens,\n\t\ttokenCounter: listTokenCounter,\n\t\ttextSplitter: textSplitterFunc,\n\t\tallowPartial,\n\t\tincludeSystem,\n\t\tstartOn,\n\t\tendOn\n\t});\n\telse throw new Error(`Unrecognized strategy: '${strategy}'. Must be one of 'first' or 'last'.`);\n}\nasync function _firstMaxTokens(messages, options) {\n\tconst { maxTokens, tokenCounter, textSplitter, partialStrategy, endOn } = options;\n\tlet messagesCopy = [...messages];\n\tlet idx = 0;\n\tfor (let i = 0; i < messagesCopy.length; i += 1) {\n\t\tconst remainingMessages = i > 0 ? messagesCopy.slice(0, -i) : messagesCopy;\n\t\tif (await tokenCounter(remainingMessages) <= maxTokens) {\n\t\t\tidx = messagesCopy.length - i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (idx < messagesCopy.length && partialStrategy) {\n\t\tlet includedPartial = false;\n\t\tif (Array.isArray(messagesCopy[idx].content)) {\n\t\t\tconst excluded = messagesCopy[idx];\n\t\t\tif (typeof excluded.content === \"string\") throw new Error(\"Expected content to be an array.\");\n\t\t\tconst numBlock = excluded.content.length;\n\t\t\tconst reversedContent = partialStrategy === \"last\" ? [...excluded.content].reverse() : excluded.content;\n\t\t\tfor (let i = 1; i <= numBlock; i += 1) {\n\t\t\t\tconst partialContent = partialStrategy === \"first\" ? reversedContent.slice(0, i) : reversedContent.slice(-i);\n\t\t\t\tconst fields = Object.fromEntries(Object.entries(excluded).filter(([k]) => k !== \"type\" && !k.startsWith(\"lc_\")));\n\t\t\t\tconst updatedMessage = _switchTypeToMessage(excluded.getType(), {\n\t\t\t\t\t...fields,\n\t\t\t\t\tcontent: partialContent\n\t\t\t\t});\n\t\t\t\tconst slicedMessages = [...messagesCopy.slice(0, idx), updatedMessage];\n\t\t\t\tif (await tokenCounter(slicedMessages) <= maxTokens) {\n\t\t\t\t\tmessagesCopy = slicedMessages;\n\t\t\t\t\tidx += 1;\n\t\t\t\t\tincludedPartial = true;\n\t\t\t\t} else break;\n\t\t\t}\n\t\t\tif (includedPartial && partialStrategy === \"last\") excluded.content = [...reversedContent].reverse();\n\t\t}\n\t\tif (!includedPartial) {\n\t\t\tconst excluded = messagesCopy[idx];\n\t\t\tlet text;\n\t\t\tif (Array.isArray(excluded.content) && excluded.content.some((block) => typeof block === \"string\" || block.type === \"text\")) {\n\t\t\t\tconst textBlock = excluded.content.find((block) => block.type === \"text\" && block.text);\n\t\t\t\ttext = textBlock?.text;\n\t\t\t} else if (typeof excluded.content === \"string\") text = excluded.content;\n\t\t\tif (text) {\n\t\t\t\tconst splitTexts = await textSplitter(text);\n\t\t\t\tconst numSplits = splitTexts.length;\n\t\t\t\tif (partialStrategy === \"last\") splitTexts.reverse();\n\t\t\t\tfor (let _ = 0; _ < numSplits - 1; _ += 1) {\n\t\t\t\t\tsplitTexts.pop();\n\t\t\t\t\texcluded.content = splitTexts.join(\"\");\n\t\t\t\t\tif (await tokenCounter([...messagesCopy.slice(0, idx), excluded]) <= maxTokens) {\n\t\t\t\t\t\tif (partialStrategy === \"last\") excluded.content = [...splitTexts].reverse().join(\"\");\n\t\t\t\t\t\tmessagesCopy = [...messagesCopy.slice(0, idx), excluded];\n\t\t\t\t\t\tidx += 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (endOn) {\n\t\tconst endOnArr = Array.isArray(endOn) ? endOn : [endOn];\n\t\twhile (idx > 0 && !_isMessageType(messagesCopy[idx - 1], endOnArr)) idx -= 1;\n\t}\n\treturn messagesCopy.slice(0, idx);\n}\nasync function _lastMaxTokens(messages, options) {\n\tconst { allowPartial = false, includeSystem = false, endOn, startOn,...rest } = options;\n\tlet messagesCopy = messages.map((message) => {\n\t\tconst fields = Object.fromEntries(Object.entries(message).filter(([k]) => k !== \"type\" && !k.startsWith(\"lc_\")));\n\t\treturn _switchTypeToMessage(message.getType(), fields, isBaseMessageChunk(message));\n\t});\n\tif (endOn) {\n\t\tconst endOnArr = Array.isArray(endOn) ? endOn : [endOn];\n\t\twhile (messagesCopy.length > 0 && !_isMessageType(messagesCopy[messagesCopy.length - 1], endOnArr)) messagesCopy = messagesCopy.slice(0, -1);\n\t}\n\tconst swappedSystem = includeSystem && messagesCopy[0]?.getType() === \"system\";\n\tlet reversed_ = swappedSystem ? messagesCopy.slice(0, 1).concat(messagesCopy.slice(1).reverse()) : messagesCopy.reverse();\n\treversed_ = await _firstMaxTokens(reversed_, {\n\t\t...rest,\n\t\tpartialStrategy: allowPartial ? \"last\" : void 0,\n\t\tendOn: startOn\n\t});\n\tif (swappedSystem) return [reversed_[0], ...reversed_.slice(1).reverse()];\n\telse return reversed_.reverse();\n}\nconst _MSG_CHUNK_MAP = {\n\thuman: {\n\t\tmessage: HumanMessage,\n\t\tmessageChunk: HumanMessageChunk\n\t},\n\tai: {\n\t\tmessage: AIMessage,\n\t\tmessageChunk: AIMessageChunk\n\t},\n\tsystem: {\n\t\tmessage: SystemMessage,\n\t\tmessageChunk: SystemMessageChunk\n\t},\n\tdeveloper: {\n\t\tmessage: SystemMessage,\n\t\tmessageChunk: SystemMessageChunk\n\t},\n\ttool: {\n\t\tmessage: ToolMessage,\n\t\tmessageChunk: ToolMessageChunk\n\t},\n\tfunction: {\n\t\tmessage: FunctionMessage,\n\t\tmessageChunk: FunctionMessageChunk\n\t},\n\tgeneric: {\n\t\tmessage: ChatMessage,\n\t\tmessageChunk: ChatMessageChunk\n\t},\n\tremove: {\n\t\tmessage: RemoveMessage,\n\t\tmessageChunk: RemoveMessage\n\t}\n};\nfunction _switchTypeToMessage(messageType, fields, returnChunk) {\n\tlet chunk;\n\tlet msg;\n\tswitch (messageType) {\n\t\tcase \"human\":\n\t\t\tif (returnChunk) chunk = new HumanMessageChunk(fields);\n\t\t\telse msg = new HumanMessage(fields);\n\t\t\tbreak;\n\t\tcase \"ai\":\n\t\t\tif (returnChunk) {\n\t\t\t\tlet aiChunkFields = { ...fields };\n\t\t\t\tif (\"tool_calls\" in aiChunkFields) aiChunkFields = {\n\t\t\t\t\t...aiChunkFields,\n\t\t\t\t\ttool_call_chunks: aiChunkFields.tool_calls?.map((tc) => ({\n\t\t\t\t\t\t...tc,\n\t\t\t\t\t\ttype: \"tool_call_chunk\",\n\t\t\t\t\t\tindex: void 0,\n\t\t\t\t\t\targs: JSON.stringify(tc.args)\n\t\t\t\t\t}))\n\t\t\t\t};\n\t\t\t\tchunk = new AIMessageChunk(aiChunkFields);\n\t\t\t} else msg = new AIMessage(fields);\n\t\t\tbreak;\n\t\tcase \"system\":\n\t\t\tif (returnChunk) chunk = new SystemMessageChunk(fields);\n\t\t\telse msg = new SystemMessage(fields);\n\t\t\tbreak;\n\t\tcase \"developer\":\n\t\t\tif (returnChunk) chunk = new SystemMessageChunk({\n\t\t\t\t...fields,\n\t\t\t\tadditional_kwargs: {\n\t\t\t\t\t...fields.additional_kwargs,\n\t\t\t\t\t__openai_role__: \"developer\"\n\t\t\t\t}\n\t\t\t});\n\t\t\telse msg = new SystemMessage({\n\t\t\t\t...fields,\n\t\t\t\tadditional_kwargs: {\n\t\t\t\t\t...fields.additional_kwargs,\n\t\t\t\t\t__openai_role__: \"developer\"\n\t\t\t\t}\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"tool\":\n\t\t\tif (\"tool_call_id\" in fields) if (returnChunk) chunk = new ToolMessageChunk(fields);\n\t\t\telse msg = new ToolMessage(fields);\n\t\t\telse throw new Error(\"Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.\");\n\t\t\tbreak;\n\t\tcase \"function\":\n\t\t\tif (returnChunk) chunk = new FunctionMessageChunk(fields);\n\t\t\telse {\n\t\t\t\tif (!fields.name) throw new Error(\"FunctionMessage must have a 'name' field\");\n\t\t\t\tmsg = new FunctionMessage(fields);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"generic\":\n\t\t\tif (\"role\" in fields) if (returnChunk) chunk = new ChatMessageChunk(fields);\n\t\t\telse msg = new ChatMessage(fields);\n\t\t\telse throw new Error(\"Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.\");\n\t\t\tbreak;\n\t\tdefault: throw new Error(`Unrecognized message type ${messageType}`);\n\t}\n\tif (returnChunk && chunk) return chunk;\n\tif (msg) return msg;\n\tthrow new Error(`Unrecognized message type ${messageType}`);\n}\nfunction _chunkToMsg(chunk) {\n\tconst chunkType = chunk.getType();\n\tlet msg;\n\tconst fields = Object.fromEntries(Object.entries(chunk).filter(([k]) => ![\"type\", \"tool_call_chunks\"].includes(k) && !k.startsWith(\"lc_\")));\n\tif (chunkType in _MSG_CHUNK_MAP) msg = _switchTypeToMessage(chunkType, fields);\n\tif (!msg) throw new Error(`Unrecognized message chunk class ${chunkType}. Supported classes are ${Object.keys(_MSG_CHUNK_MAP)}`);\n\treturn msg;\n}\n/**\n* The default text splitter function that splits text by newlines.\n*\n* @param {string} text\n* @returns A promise that resolves to an array of strings split by newlines.\n*/\nfunction defaultTextSplitter(text) {\n\tconst splits = text.split(\"\\n\");\n\treturn Promise.resolve([...splits.slice(0, -1).map((s) => `${s}\\n`), splits[splits.length - 1]]);\n}\n\n//#endregion\nexport { defaultTextSplitter, filterMessages, mergeMessageRuns, trimMessages };\n//# sourceMappingURL=transformers.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es58.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/metadata.js"],"sourcesContent":["import { _mergeDicts } from \"./base.js\";\n\n//#region src/messages/metadata.ts\nfunction mergeResponseMetadata(a, b) {\n\tconst output = _mergeDicts(a, b) ?? {};\n\treturn output;\n}\nfunction mergeModalitiesTokenDetails(a, b) {\n\tconst output = {};\n\tif (a?.audio !== void 0 || b?.audio !== void 0) output.audio = (a?.audio ?? 0) + (b?.audio ?? 0);\n\tif (a?.image !== void 0 || b?.image !== void 0) output.image = (a?.image ?? 0) + (b?.image ?? 0);\n\tif (a?.video !== void 0 || b?.video !== void 0) output.video = (a?.video ?? 0) + (b?.video ?? 0);\n\tif (a?.document !== void 0 || b?.document !== void 0) output.document = (a?.document ?? 0) + (b?.document ?? 0);\n\tif (a?.text !== void 0 || b?.text !== void 0) output.text = (a?.text ?? 0) + (b?.text ?? 0);\n\treturn output;\n}\nfunction mergeInputTokenDetails(a, b) {\n\tconst output = { ...mergeModalitiesTokenDetails(a, b) };\n\tif (a?.cache_read !== void 0 || b?.cache_read !== void 0) output.cache_read = (a?.cache_read ?? 0) + (b?.cache_read ?? 0);\n\tif (a?.cache_creation !== void 0 || b?.cache_creation !== void 0) output.cache_creation = (a?.cache_creation ?? 0) + (b?.cache_creation ?? 0);\n\treturn output;\n}\nfunction mergeOutputTokenDetails(a, b) {\n\tconst output = { ...mergeModalitiesTokenDetails(a, b) };\n\tif (a?.reasoning !== void 0 || b?.reasoning !== void 0) output.reasoning = (a?.reasoning ?? 0) + (b?.reasoning ?? 0);\n\treturn output;\n}\nfunction mergeUsageMetadata(a, b) {\n\treturn {\n\t\tinput_tokens: (a?.input_tokens ?? 0) + (b?.input_tokens ?? 0),\n\t\toutput_tokens: (a?.output_tokens ?? 0) + (b?.output_tokens ?? 0),\n\t\ttotal_tokens: (a?.total_tokens ?? 0) + (b?.total_tokens ?? 0),\n\t\tinput_token_details: mergeInputTokenDetails(a?.input_token_details, b?.input_token_details),\n\t\toutput_token_details: mergeOutputTokenDetails(a?.output_token_details, b?.output_token_details)\n\t};\n}\n\n//#endregion\nexport { mergeResponseMetadata, mergeUsageMetadata };\n//# sourceMappingURL=metadata.js.map"],"names":[],"mappings":";AAGA,SAAS,sBAAsB,GAAG,GAAG;AACpC,QAAM,SAAS,YAAY,GAAG,CAAC,KAAK,CAAA;AACpC,SAAO;AACR;AACA,SAAS,4BAA4B,GAAG,GAAG;AAC1C,QAAM,SAAS,CAAA;AACf,MAAI,GAAG,UAAU,UAAU,GAAG,UAAU,OAAQ,QAAO,SAAS,GAAG,SAAS,MAAM,GAAG,SAAS;AAC9F,MAAI,GAAG,UAAU,UAAU,GAAG,UAAU,OAAQ,QAAO,SAAS,GAAG,SAAS,MAAM,GAAG,SAAS;AAC9F,MAAI,GAAG,UAAU,UAAU,GAAG,UAAU,OAAQ,QAAO,SAAS,GAAG,SAAS,MAAM,GAAG,SAAS;AAC9F,MAAI,GAAG,aAAa,UAAU,GAAG,aAAa,OAAQ,QAAO,YAAY,GAAG,YAAY,MAAM,GAAG,YAAY;AAC7G,MAAI,GAAG,SAAS,UAAU,GAAG,SAAS,OAAQ,QAAO,QAAQ,GAAG,QAAQ,MAAM,GAAG,QAAQ;AACzF,SAAO;AACR;AACA,SAAS,uBAAuB,GAAG,GAAG;AACrC,QAAM,SAAS,EAAE,GAAG,4BAA4B,GAAG,CAAC,EAAC;AACrD,MAAI,GAAG,eAAe,UAAU,GAAG,eAAe,OAAQ,QAAO,cAAc,GAAG,cAAc,MAAM,GAAG,cAAc;AACvH,MAAI,GAAG,mBAAmB,UAAU,GAAG,mBAAmB,OAAQ,QAAO,kBAAkB,GAAG,kBAAkB,MAAM,GAAG,kBAAkB;AAC3I,SAAO;AACR;AACA,SAAS,wBAAwB,GAAG,GAAG;AACtC,QAAM,SAAS,EAAE,GAAG,4BAA4B,GAAG,CAAC,EAAC;AACrD,MAAI,GAAG,cAAc,UAAU,GAAG,cAAc,OAAQ,QAAO,aAAa,GAAG,aAAa,MAAM,GAAG,aAAa;AAClH,SAAO;AACR;AACA,SAAS,mBAAmB,GAAG,GAAG;AACjC,SAAO;AAAA,IACN,eAAe,GAAG,gBAAgB,MAAM,GAAG,gBAAgB;AAAA,IAC3D,gBAAgB,GAAG,iBAAiB,MAAM,GAAG,iBAAiB;AAAA,IAC9D,eAAe,GAAG,gBAAgB,MAAM,GAAG,gBAAgB;AAAA,IAC3D,qBAAqB,uBAAuB,GAAG,qBAAqB,GAAG,mBAAmB;AAAA,IAC1F,sBAAsB,wBAAwB,GAAG,sBAAsB,GAAG,oBAAoB;AAAA,EAChG;AACA;","x_google_ignoreList":[0]}
@@ -1,12 +1,75 @@
1
- import { KNOWN_BLOCK_TYPES } from "./index.es74.js";
2
- import { KNOWN_BLOCK_TYPES as KNOWN_BLOCK_TYPES$1 } from "./index.es75.js";
3
- const KNOWN_BLOCK_TYPES$2 = [
4
- "text",
5
- "reasoning",
6
- ...KNOWN_BLOCK_TYPES,
7
- ...KNOWN_BLOCK_TYPES$1
8
- ];
1
+ import { BaseMessageChunk, _mergeDicts, mergeContent, BaseMessage } from "./index.es43.js";
2
+ var ChatMessage = class ChatMessage2 extends BaseMessage {
3
+ static lc_name() {
4
+ return "ChatMessage";
5
+ }
6
+ type = "generic";
7
+ role;
8
+ static _chatMessageClass() {
9
+ return ChatMessage2;
10
+ }
11
+ constructor(fields, role) {
12
+ if (typeof fields === "string" || Array.isArray(fields)) fields = {
13
+ content: fields,
14
+ role
15
+ };
16
+ super(fields);
17
+ this.role = fields.role;
18
+ }
19
+ static isInstance(obj) {
20
+ return super.isInstance(obj) && obj.type === "generic";
21
+ }
22
+ get _printableFields() {
23
+ return {
24
+ ...super._printableFields,
25
+ role: this.role
26
+ };
27
+ }
28
+ };
29
+ var ChatMessageChunk = class extends BaseMessageChunk {
30
+ static lc_name() {
31
+ return "ChatMessageChunk";
32
+ }
33
+ type = "generic";
34
+ role;
35
+ constructor(fields, role) {
36
+ if (typeof fields === "string" || Array.isArray(fields)) fields = {
37
+ content: fields,
38
+ role
39
+ };
40
+ super(fields);
41
+ this.role = fields.role;
42
+ }
43
+ concat(chunk) {
44
+ const Cls = this.constructor;
45
+ return new Cls({
46
+ content: mergeContent(this.content, chunk.content),
47
+ additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
48
+ response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
49
+ role: this.role,
50
+ id: this.id ?? chunk.id
51
+ });
52
+ }
53
+ static isInstance(obj) {
54
+ return super.isInstance(obj) && obj.type === "generic";
55
+ }
56
+ get _printableFields() {
57
+ return {
58
+ ...super._printableFields,
59
+ role: this.role
60
+ };
61
+ }
62
+ };
63
+ function isChatMessage(x) {
64
+ return x._getType() === "generic";
65
+ }
66
+ function isChatMessageChunk(x) {
67
+ return x._getType() === "generic";
68
+ }
9
69
  export {
10
- KNOWN_BLOCK_TYPES$2 as KNOWN_BLOCK_TYPES
70
+ ChatMessage,
71
+ ChatMessageChunk,
72
+ isChatMessage,
73
+ isChatMessageChunk
11
74
  };
12
75
  //# sourceMappingURL=index.es59.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es59.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/content/index.js"],"sourcesContent":["import { KNOWN_BLOCK_TYPES } from \"./tools.js\";\nimport { KNOWN_BLOCK_TYPES as KNOWN_BLOCK_TYPES$1 } from \"./multimodal.js\";\n\n//#region src/messages/content/index.ts\nconst KNOWN_BLOCK_TYPES$2 = [\n\t\"text\",\n\t\"reasoning\",\n\t...KNOWN_BLOCK_TYPES,\n\t...KNOWN_BLOCK_TYPES$1\n];\n\n//#endregion\nexport { KNOWN_BLOCK_TYPES$2 as KNOWN_BLOCK_TYPES };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";;AAIK,MAAC,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EACH,GAAG;AACJ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es59.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/chat.js"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, _mergeDicts, mergeContent } from \"./base.js\";\n\n//#region src/messages/chat.ts\n/**\n* Represents a chat message in a conversation.\n*/\nvar ChatMessage = class ChatMessage extends BaseMessage {\n\tstatic lc_name() {\n\t\treturn \"ChatMessage\";\n\t}\n\ttype = \"generic\";\n\trole;\n\tstatic _chatMessageClass() {\n\t\treturn ChatMessage;\n\t}\n\tconstructor(fields, role) {\n\t\tif (typeof fields === \"string\" || Array.isArray(fields)) fields = {\n\t\t\tcontent: fields,\n\t\t\trole\n\t\t};\n\t\tsuper(fields);\n\t\tthis.role = fields.role;\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"generic\";\n\t}\n\tget _printableFields() {\n\t\treturn {\n\t\t\t...super._printableFields,\n\t\t\trole: this.role\n\t\t};\n\t}\n};\n/**\n* Represents a chunk of a chat message, which can be concatenated with\n* other chat message chunks.\n*/\nvar ChatMessageChunk = class extends BaseMessageChunk {\n\tstatic lc_name() {\n\t\treturn \"ChatMessageChunk\";\n\t}\n\ttype = \"generic\";\n\trole;\n\tconstructor(fields, role) {\n\t\tif (typeof fields === \"string\" || Array.isArray(fields)) fields = {\n\t\t\tcontent: fields,\n\t\t\trole\n\t\t};\n\t\tsuper(fields);\n\t\tthis.role = fields.role;\n\t}\n\tconcat(chunk) {\n\t\tconst Cls = this.constructor;\n\t\treturn new Cls({\n\t\t\tcontent: mergeContent(this.content, chunk.content),\n\t\t\tadditional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),\n\t\t\tresponse_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),\n\t\t\trole: this.role,\n\t\t\tid: this.id ?? chunk.id\n\t\t});\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"generic\";\n\t}\n\tget _printableFields() {\n\t\treturn {\n\t\t\t...super._printableFields,\n\t\t\trole: this.role\n\t\t};\n\t}\n};\n/**\n* @deprecated Use {@link ChatMessage.isInstance} instead\n*/\nfunction isChatMessage(x) {\n\treturn x._getType() === \"generic\";\n}\n/**\n* @deprecated Use {@link ChatMessageChunk.isInstance} instead\n*/\nfunction isChatMessageChunk(x) {\n\treturn x._getType() === \"generic\";\n}\n\n//#endregion\nexport { ChatMessage, ChatMessageChunk, isChatMessage, isChatMessageChunk };\n//# sourceMappingURL=chat.js.map"],"names":["ChatMessage"],"mappings":";AAMG,IAAC,cAAc,MAAMA,qBAAoB,YAAY;AAAA,EACvD,OAAO,UAAU;AAChB,WAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,OAAO,oBAAoB;AAC1B,WAAOA;AAAA,EACR;AAAA,EACA,YAAY,QAAQ,MAAM;AACzB,QAAI,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,EAAG,UAAS;AAAA,MACjE,SAAS;AAAA,MACT;AAAA,IACH;AACE,UAAM,MAAM;AACZ,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EACA,OAAO,WAAW,KAAK;AACtB,WAAO,MAAM,WAAW,GAAG,KAAK,IAAI,SAAS;AAAA,EAC9C;AAAA,EACA,IAAI,mBAAmB;AACtB,WAAO;AAAA,MACN,GAAG,MAAM;AAAA,MACT,MAAM,KAAK;AAAA,IACd;AAAA,EACC;AACD;AAKG,IAAC,mBAAmB,cAAc,iBAAiB;AAAA,EACrD,OAAO,UAAU;AAChB,WAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,YAAY,QAAQ,MAAM;AACzB,QAAI,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,EAAG,UAAS;AAAA,MACjE,SAAS;AAAA,MACT;AAAA,IACH;AACE,UAAM,MAAM;AACZ,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EACA,OAAO,OAAO;AACb,UAAM,MAAM,KAAK;AACjB,WAAO,IAAI,IAAI;AAAA,MACd,SAAS,aAAa,KAAK,SAAS,MAAM,OAAO;AAAA,MACjD,mBAAmB,YAAY,KAAK,mBAAmB,MAAM,iBAAiB;AAAA,MAC9E,mBAAmB,YAAY,KAAK,mBAAmB,MAAM,iBAAiB;AAAA,MAC9E,MAAM,KAAK;AAAA,MACX,IAAI,KAAK,MAAM,MAAM;AAAA,IACxB,CAAG;AAAA,EACF;AAAA,EACA,OAAO,WAAW,KAAK;AACtB,WAAO,MAAM,WAAW,GAAG,KAAK,IAAI,SAAS;AAAA,EAC9C;AAAA,EACA,IAAI,mBAAmB;AACtB,WAAO;AAAA,MACN,GAAG,MAAM;AAAA,MACT,MAAM,KAAK;AAAA,IACd;AAAA,EACC;AACD;AAIA,SAAS,cAAc,GAAG;AACzB,SAAO,EAAE,SAAQ,MAAO;AACzB;AAIA,SAAS,mBAAmB,GAAG;AAC9B,SAAO,EAAE,SAAQ,MAAO;AACzB;","x_google_ignoreList":[0]}
@@ -1,94 +1,41 @@
1
- import { _getFetchImplementation } from "./index.es76.js";
2
- import pRetry from "./index.es77.js";
3
- import PQueue from "./index.es78.js";
4
- const STATUS_NO_RETRY = [
5
- 400,
6
- 401,
7
- 402,
8
- 403,
9
- 404,
10
- 405,
11
- 406,
12
- 407,
13
- 408,
14
- 409,
15
- 422
16
- ];
17
- function isResponse(x) {
18
- if (x == null || typeof x !== "object") return false;
19
- return "status" in x && "statusText" in x && "text" in x;
20
- }
21
- var HTTPError = class HTTPError2 extends Error {
22
- status;
23
- text;
24
- response;
25
- constructor(status, message, response) {
26
- super(`HTTP ${status}: ${message}`);
27
- this.status = status;
28
- this.text = message;
29
- this.response = response;
1
+ import { BaseMessageChunk, _mergeDicts, mergeContent, BaseMessage } from "./index.es43.js";
2
+ var FunctionMessage = class extends BaseMessage {
3
+ static lc_name() {
4
+ return "FunctionMessage";
30
5
  }
31
- static async fromResponse(response, options) {
32
- try {
33
- return new HTTPError2(response.status, await response.text(), options?.includeResponse ? response : void 0);
34
- } catch {
35
- return new HTTPError2(response.status, response.statusText, options?.includeResponse ? response : void 0);
36
- }
6
+ type = "function";
7
+ name;
8
+ constructor(fields) {
9
+ super(fields);
10
+ this.name = fields.name;
37
11
  }
38
12
  };
39
- var AsyncCaller = class {
40
- maxConcurrency;
41
- maxRetries;
42
- queue;
43
- onFailedResponseHook;
44
- customFetch;
45
- constructor(params) {
46
- this.maxConcurrency = params.maxConcurrency ?? Infinity;
47
- this.maxRetries = params.maxRetries ?? 4;
48
- if ("default" in PQueue) this.queue = new PQueue.default({ concurrency: this.maxConcurrency });
49
- else this.queue = new PQueue({ concurrency: this.maxConcurrency });
50
- this.onFailedResponseHook = params?.onFailedResponseHook;
51
- this.customFetch = params.fetch;
52
- }
53
- call(callable, ...args) {
54
- const { onFailedResponseHook } = this;
55
- return this.queue.add(() => pRetry(() => callable(...args).catch(async (error) => {
56
- if (error instanceof Error) throw error;
57
- else if (isResponse(error)) throw await HTTPError.fromResponse(error, { includeResponse: !!onFailedResponseHook });
58
- else throw new Error(error);
59
- }), {
60
- async onFailedAttempt({ error }) {
61
- const errorMessage = error.message ?? "";
62
- if (errorMessage.startsWith("Cancel") || errorMessage.startsWith("TimeoutError") || errorMessage.startsWith("AbortError")) throw error;
63
- if (error?.code === "ECONNABORTED") throw error;
64
- if (errorMessage.includes("ECONNREFUSED") || errorMessage.includes("fetch failed") || errorMessage.includes("Failed to fetch") || errorMessage.includes("NetworkError")) {
65
- const connectionError = /* @__PURE__ */ new Error(`Unable to connect to LangGraph server. Please ensure the server is running and accessible. Original error: ${errorMessage}`);
66
- connectionError.name = "ConnectionError";
67
- throw connectionError;
68
- }
69
- if (error instanceof HTTPError) {
70
- if (STATUS_NO_RETRY.includes(error.status)) throw error;
71
- if (onFailedResponseHook && error.response) await onFailedResponseHook(error.response);
72
- }
73
- },
74
- retries: this.maxRetries,
75
- randomize: true
76
- }), { throwOnTimeout: true });
77
- }
78
- callWithOptions(options, callable, ...args) {
79
- if (options.signal) return Promise.race([this.call(callable, ...args), new Promise((_, reject) => {
80
- options.signal?.addEventListener("abort", () => {
81
- reject(/* @__PURE__ */ new Error("AbortError"));
82
- });
83
- })]);
84
- return this.call(callable, ...args);
13
+ var FunctionMessageChunk = class extends BaseMessageChunk {
14
+ static lc_name() {
15
+ return "FunctionMessageChunk";
85
16
  }
86
- fetch(...args) {
87
- const fetchFn = this.customFetch ?? _getFetchImplementation();
88
- return this.call(() => fetchFn(...args).then((res) => res.ok ? res : Promise.reject(res)));
17
+ type = "function";
18
+ concat(chunk) {
19
+ const Cls = this.constructor;
20
+ return new Cls({
21
+ content: mergeContent(this.content, chunk.content),
22
+ additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
23
+ response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
24
+ name: this.name ?? "",
25
+ id: this.id ?? chunk.id
26
+ });
89
27
  }
90
28
  };
29
+ function isFunctionMessage(x) {
30
+ return x._getType() === "function";
31
+ }
32
+ function isFunctionMessageChunk(x) {
33
+ return x._getType() === "function";
34
+ }
91
35
  export {
92
- AsyncCaller
36
+ FunctionMessage,
37
+ FunctionMessageChunk,
38
+ isFunctionMessage,
39
+ isFunctionMessageChunk
93
40
  };
94
41
  //# sourceMappingURL=index.es60.js.map