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,47 +1,122 @@
1
- import { BaseMessageChunk, _mergeDicts, mergeContent, BaseMessage } from "./index.es39.js";
2
- var HumanMessage = class extends BaseMessage {
3
- static lc_name() {
4
- return "HumanMessage";
5
- }
6
- type = "human";
7
- constructor(fields) {
8
- super(fields);
9
- }
10
- static isInstance(obj) {
11
- return super.isInstance(obj) && obj.type === "human";
12
- }
13
- };
14
- var HumanMessageChunk = class extends BaseMessageChunk {
15
- static lc_name() {
16
- return "HumanMessageChunk";
17
- }
18
- type = "human";
19
- constructor(fields) {
20
- super(fields);
21
- }
22
- concat(chunk) {
23
- const Cls = this.constructor;
24
- return new Cls({
25
- content: mergeContent(this.content, chunk.content),
26
- additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
27
- response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
28
- id: this.id ?? chunk.id
29
- });
30
- }
31
- static isInstance(obj) {
32
- return super.isInstance(obj) && obj.type === "human";
1
+ const CR = "\r".charCodeAt(0);
2
+ const LF = "\n".charCodeAt(0);
3
+ const NULL = "\0".charCodeAt(0);
4
+ const COLON = ":".charCodeAt(0);
5
+ const SPACE = " ".charCodeAt(0);
6
+ const TRAILING_NEWLINE = [CR, LF];
7
+ function BytesLineDecoder() {
8
+ let buffer = [];
9
+ let trailingCr = false;
10
+ return new TransformStream({
11
+ start() {
12
+ buffer = [];
13
+ trailingCr = false;
14
+ },
15
+ transform(chunk, controller) {
16
+ let text = chunk;
17
+ if (trailingCr) {
18
+ text = joinArrays([[CR], text]);
19
+ trailingCr = false;
20
+ }
21
+ if (text.length > 0 && text.at(-1) === CR) {
22
+ trailingCr = true;
23
+ text = text.subarray(0, -1);
24
+ }
25
+ if (!text.length) return;
26
+ const trailingNewline = TRAILING_NEWLINE.includes(text.at(-1));
27
+ const lastIdx = text.length - 1;
28
+ const { lines } = text.reduce((acc, cur, idx) => {
29
+ if (acc.from > idx) return acc;
30
+ if (cur === CR || cur === LF) {
31
+ acc.lines.push(text.subarray(acc.from, idx));
32
+ if (cur === CR && text[idx + 1] === LF) acc.from = idx + 2;
33
+ else acc.from = idx + 1;
34
+ }
35
+ if (idx === lastIdx && acc.from <= lastIdx) acc.lines.push(text.subarray(acc.from));
36
+ return acc;
37
+ }, {
38
+ lines: [],
39
+ from: 0
40
+ });
41
+ if (lines.length === 1 && !trailingNewline) {
42
+ buffer.push(lines[0]);
43
+ return;
44
+ }
45
+ if (buffer.length) {
46
+ buffer.push(lines[0]);
47
+ lines[0] = joinArrays(buffer);
48
+ buffer = [];
49
+ }
50
+ if (!trailingNewline) {
51
+ if (lines.length) buffer = [lines.pop()];
52
+ }
53
+ for (const line of lines) controller.enqueue(line);
54
+ },
55
+ flush(controller) {
56
+ if (buffer.length) controller.enqueue(joinArrays(buffer));
57
+ }
58
+ });
59
+ }
60
+ function SSEDecoder() {
61
+ let event = "";
62
+ let data = [];
63
+ let lastEventId = "";
64
+ let retry = null;
65
+ const decoder = new TextDecoder();
66
+ return new TransformStream({
67
+ transform(chunk, controller) {
68
+ if (!chunk.length) {
69
+ if (!event && !data.length && !lastEventId && retry == null) return;
70
+ const sse = {
71
+ id: lastEventId || void 0,
72
+ event,
73
+ data: data.length ? decodeArraysToJson(decoder, data) : null
74
+ };
75
+ event = "";
76
+ data = [];
77
+ retry = null;
78
+ controller.enqueue(sse);
79
+ return;
80
+ }
81
+ if (chunk[0] === COLON) return;
82
+ const sepIdx = chunk.indexOf(COLON);
83
+ if (sepIdx === -1) return;
84
+ const fieldName = decoder.decode(chunk.subarray(0, sepIdx));
85
+ let value = chunk.subarray(sepIdx + 1);
86
+ if (value[0] === SPACE) value = value.subarray(1);
87
+ if (fieldName === "event") event = decoder.decode(value);
88
+ else if (fieldName === "data") data.push(value);
89
+ else if (fieldName === "id") {
90
+ if (value.indexOf(NULL) === -1) lastEventId = decoder.decode(value);
91
+ } else if (fieldName === "retry") {
92
+ const retryNum = Number.parseInt(decoder.decode(value), 10);
93
+ if (!Number.isNaN(retryNum)) retry = retryNum;
94
+ }
95
+ },
96
+ flush(controller) {
97
+ if (event) controller.enqueue({
98
+ id: lastEventId || void 0,
99
+ event,
100
+ data: data.length ? decodeArraysToJson(decoder, data) : null
101
+ });
102
+ }
103
+ });
104
+ }
105
+ function joinArrays(data) {
106
+ const totalLength = data.reduce((acc, curr) => acc + curr.length, 0);
107
+ const merged = new Uint8Array(totalLength);
108
+ let offset = 0;
109
+ for (const c of data) {
110
+ merged.set(c, offset);
111
+ offset += c.length;
33
112
  }
34
- };
35
- function isHumanMessage(x) {
36
- return x.getType() === "human";
113
+ return merged;
37
114
  }
38
- function isHumanMessageChunk(x) {
39
- return x.getType() === "human";
115
+ function decodeArraysToJson(decoder, data) {
116
+ return JSON.parse(decoder.decode(joinArrays(data)));
40
117
  }
41
118
  export {
42
- HumanMessage,
43
- HumanMessageChunk,
44
- isHumanMessage,
45
- isHumanMessageChunk
119
+ BytesLineDecoder,
120
+ SSEDecoder
46
121
  };
47
122
  //# sourceMappingURL=index.es40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es40.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/human.js"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, _mergeDicts, mergeContent } from \"./base.js\";\n\n//#region src/messages/human.ts\n/**\n* Represents a human message in a conversation.\n*/\nvar HumanMessage = class extends BaseMessage {\n\tstatic lc_name() {\n\t\treturn \"HumanMessage\";\n\t}\n\ttype = \"human\";\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"human\";\n\t}\n};\n/**\n* Represents a chunk of a human message, which can be concatenated with\n* other human message chunks.\n*/\nvar HumanMessageChunk = class extends BaseMessageChunk {\n\tstatic lc_name() {\n\t\treturn \"HumanMessageChunk\";\n\t}\n\ttype = \"human\";\n\tconstructor(fields) {\n\t\tsuper(fields);\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\tid: this.id ?? chunk.id\n\t\t});\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"human\";\n\t}\n};\n/**\n* @deprecated Use {@link HumanMessage.isInstance} instead\n*/\nfunction isHumanMessage(x) {\n\treturn x.getType() === \"human\";\n}\n/**\n* @deprecated Use {@link HumanMessageChunk.isInstance} instead\n*/\nfunction isHumanMessageChunk(x) {\n\treturn x.getType() === \"human\";\n}\n\n//#endregion\nexport { HumanMessage, HumanMessageChunk, isHumanMessage, isHumanMessageChunk };\n//# sourceMappingURL=human.js.map"],"names":[],"mappings":";AAMG,IAAC,eAAe,cAAc,YAAY;AAAA,EAC5C,OAAO,UAAU;AAChB,WAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP,YAAY,QAAQ;AACnB,UAAM,MAAM;AAAA,EACb;AAAA,EACA,OAAO,WAAW,KAAK;AACtB,WAAO,MAAM,WAAW,GAAG,KAAK,IAAI,SAAS;AAAA,EAC9C;AACD;AAKG,IAAC,oBAAoB,cAAc,iBAAiB;AAAA,EACtD,OAAO,UAAU;AAChB,WAAO;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP,YAAY,QAAQ;AACnB,UAAM,MAAM;AAAA,EACb;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,IAAI,KAAK,MAAM,MAAM;AAAA,IACxB,CAAG;AAAA,EACF;AAAA,EACA,OAAO,WAAW,KAAK;AACtB,WAAO,MAAM,WAAW,GAAG,KAAK,IAAI,SAAS;AAAA,EAC9C;AACD;AAIA,SAAS,eAAe,GAAG;AAC1B,SAAO,EAAE,QAAO,MAAO;AACxB;AAIA,SAAS,oBAAoB,GAAG;AAC/B,SAAO,EAAE,QAAO,MAAO;AACxB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es40.js","sources":["../node_modules/.pnpm/@langchain+langgraph-sdk@1.5.3_@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5___react-d_6e8116ad15c37793c6138fe0d58aa04e/node_modules/@langchain/langgraph-sdk/dist/utils/sse.js"],"sourcesContent":["//#region src/utils/sse.ts\nconst CR = \"\\r\".charCodeAt(0);\nconst LF = \"\\n\".charCodeAt(0);\nconst NULL = \"\\0\".charCodeAt(0);\nconst COLON = \":\".charCodeAt(0);\nconst SPACE = \" \".charCodeAt(0);\nconst TRAILING_NEWLINE = [CR, LF];\nfunction BytesLineDecoder() {\n\tlet buffer = [];\n\tlet trailingCr = false;\n\treturn new TransformStream({\n\t\tstart() {\n\t\t\tbuffer = [];\n\t\t\ttrailingCr = false;\n\t\t},\n\t\ttransform(chunk, controller) {\n\t\t\tlet text = chunk;\n\t\t\tif (trailingCr) {\n\t\t\t\ttext = joinArrays([[CR], text]);\n\t\t\t\ttrailingCr = false;\n\t\t\t}\n\t\t\tif (text.length > 0 && text.at(-1) === CR) {\n\t\t\t\ttrailingCr = true;\n\t\t\t\ttext = text.subarray(0, -1);\n\t\t\t}\n\t\t\tif (!text.length) return;\n\t\t\tconst trailingNewline = TRAILING_NEWLINE.includes(text.at(-1));\n\t\t\tconst lastIdx = text.length - 1;\n\t\t\tconst { lines } = text.reduce((acc, cur, idx) => {\n\t\t\t\tif (acc.from > idx) return acc;\n\t\t\t\tif (cur === CR || cur === LF) {\n\t\t\t\t\tacc.lines.push(text.subarray(acc.from, idx));\n\t\t\t\t\tif (cur === CR && text[idx + 1] === LF) acc.from = idx + 2;\n\t\t\t\t\telse acc.from = idx + 1;\n\t\t\t\t}\n\t\t\t\tif (idx === lastIdx && acc.from <= lastIdx) acc.lines.push(text.subarray(acc.from));\n\t\t\t\treturn acc;\n\t\t\t}, {\n\t\t\t\tlines: [],\n\t\t\t\tfrom: 0\n\t\t\t});\n\t\t\tif (lines.length === 1 && !trailingNewline) {\n\t\t\t\tbuffer.push(lines[0]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (buffer.length) {\n\t\t\t\tbuffer.push(lines[0]);\n\t\t\t\tlines[0] = joinArrays(buffer);\n\t\t\t\tbuffer = [];\n\t\t\t}\n\t\t\tif (!trailingNewline) {\n\t\t\t\tif (lines.length) buffer = [lines.pop()];\n\t\t\t}\n\t\t\tfor (const line of lines) controller.enqueue(line);\n\t\t},\n\t\tflush(controller) {\n\t\t\tif (buffer.length) controller.enqueue(joinArrays(buffer));\n\t\t}\n\t});\n}\nfunction SSEDecoder() {\n\tlet event = \"\";\n\tlet data = [];\n\tlet lastEventId = \"\";\n\tlet retry = null;\n\tconst decoder = new TextDecoder();\n\treturn new TransformStream({\n\t\ttransform(chunk, controller) {\n\t\t\tif (!chunk.length) {\n\t\t\t\tif (!event && !data.length && !lastEventId && retry == null) return;\n\t\t\t\tconst sse = {\n\t\t\t\t\tid: lastEventId || void 0,\n\t\t\t\t\tevent,\n\t\t\t\t\tdata: data.length ? decodeArraysToJson(decoder, data) : null\n\t\t\t\t};\n\t\t\t\tevent = \"\";\n\t\t\t\tdata = [];\n\t\t\t\tretry = null;\n\t\t\t\tcontroller.enqueue(sse);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (chunk[0] === COLON) return;\n\t\t\tconst sepIdx = chunk.indexOf(COLON);\n\t\t\tif (sepIdx === -1) return;\n\t\t\tconst fieldName = decoder.decode(chunk.subarray(0, sepIdx));\n\t\t\tlet value = chunk.subarray(sepIdx + 1);\n\t\t\tif (value[0] === SPACE) value = value.subarray(1);\n\t\t\tif (fieldName === \"event\") event = decoder.decode(value);\n\t\t\telse if (fieldName === \"data\") data.push(value);\n\t\t\telse if (fieldName === \"id\") {\n\t\t\t\tif (value.indexOf(NULL) === -1) lastEventId = decoder.decode(value);\n\t\t\t} else if (fieldName === \"retry\") {\n\t\t\t\tconst retryNum = Number.parseInt(decoder.decode(value), 10);\n\t\t\t\tif (!Number.isNaN(retryNum)) retry = retryNum;\n\t\t\t}\n\t\t},\n\t\tflush(controller) {\n\t\t\tif (event) controller.enqueue({\n\t\t\t\tid: lastEventId || void 0,\n\t\t\t\tevent,\n\t\t\t\tdata: data.length ? decodeArraysToJson(decoder, data) : null\n\t\t\t});\n\t\t}\n\t});\n}\nfunction joinArrays(data) {\n\tconst totalLength = data.reduce((acc, curr) => acc + curr.length, 0);\n\tconst merged = new Uint8Array(totalLength);\n\tlet offset = 0;\n\tfor (const c of data) {\n\t\tmerged.set(c, offset);\n\t\toffset += c.length;\n\t}\n\treturn merged;\n}\nfunction decodeArraysToJson(decoder, data) {\n\treturn JSON.parse(decoder.decode(joinArrays(data)));\n}\n\n//#endregion\nexport { BytesLineDecoder, SSEDecoder };\n//# sourceMappingURL=sse.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,219 +1,75 @@
1
- import { BaseMessage, BaseMessageChunk, _mergeDicts, mergeContent, _mergeLists } from "./index.es39.js";
2
- import { getTranslator } from "./index.es72.js";
3
- import { mergeResponseMetadata, mergeUsageMetadata } from "./index.es55.js";
4
- import { defaultToolCallParser } from "./index.es43.js";
5
- import { collapseToolCallChunks } from "./index.es45.js";
6
- var AIMessage = class extends BaseMessage {
7
- type = "ai";
8
- tool_calls = [];
9
- invalid_tool_calls = [];
10
- usage_metadata;
11
- get lc_aliases() {
12
- return {
13
- ...super.lc_aliases,
14
- tool_calls: "tool_calls",
15
- invalid_tool_calls: "invalid_tool_calls"
16
- };
1
+ import { isNetworkError } from "./index.es42.js";
2
+ var MaxReconnectAttemptsError = class extends Error {
3
+ constructor(maxAttempts, cause) {
4
+ super(`Exceeded maximum SSE reconnection attempts (${maxAttempts})`);
5
+ this.name = "MaxReconnectAttemptsError";
6
+ this.cause = cause;
17
7
  }
18
- constructor(fields) {
19
- let initParams;
20
- if (typeof fields === "string" || Array.isArray(fields)) initParams = {
21
- content: fields,
22
- tool_calls: [],
23
- invalid_tool_calls: [],
24
- additional_kwargs: {}
25
- };
26
- else {
27
- initParams = fields;
28
- const rawToolCalls = initParams.additional_kwargs?.tool_calls;
29
- const toolCalls = initParams.tool_calls;
30
- if (!(rawToolCalls == null) && rawToolCalls.length > 0 && (toolCalls === void 0 || toolCalls.length === 0)) console.warn([
31
- "New LangChain packages are available that more efficiently handle",
32
- "tool calling.\n\nPlease upgrade your packages to versions that set",
33
- "message tool calls. e.g., `pnpm install @langchain/anthropic`,",
34
- "pnpm install @langchain/openai`, etc."
35
- ].join(" "));
8
+ };
9
+ async function* streamWithRetry(makeRequest, options = {}) {
10
+ const maxRetries = options.maxRetries ?? 5;
11
+ let attempt = 0;
12
+ let lastEventId;
13
+ let reconnectPath;
14
+ while (true) {
15
+ let shouldRetry = false;
16
+ let lastError;
17
+ let reader;
18
+ try {
19
+ if (options.signal?.aborted) return;
20
+ const { response, stream } = await makeRequest(reconnectPath ? {
21
+ lastEventId,
22
+ reconnectPath
23
+ } : void 0);
24
+ const locationHeader = response.headers.get("location");
25
+ if (locationHeader) reconnectPath = locationHeader;
26
+ const contentType = response.headers.get("content-type")?.split(";")[0];
27
+ if (contentType && !contentType.includes("text/event-stream")) throw new Error(`Expected response header Content-Type to contain 'text/event-stream', got '${contentType}'`);
28
+ reader = stream.getReader();
36
29
  try {
37
- if (!(rawToolCalls == null) && toolCalls === void 0) {
38
- const [parsedToolCalls, invalidToolCalls] = defaultToolCallParser(rawToolCalls);
39
- initParams.tool_calls = parsedToolCalls ?? [];
40
- initParams.invalid_tool_calls = invalidToolCalls ?? [];
41
- } else {
42
- initParams.tool_calls = initParams.tool_calls ?? [];
43
- initParams.invalid_tool_calls = initParams.invalid_tool_calls ?? [];
30
+ while (true) {
31
+ if (options.signal?.aborted) {
32
+ await reader.cancel();
33
+ return;
34
+ }
35
+ const { done, value } = await reader.read();
36
+ if (done) break;
37
+ if (value.id) lastEventId = value.id;
38
+ yield value;
39
+ }
40
+ break;
41
+ } catch (error) {
42
+ if (reconnectPath && !options.signal?.aborted) shouldRetry = true;
43
+ else throw error;
44
+ } finally {
45
+ if (reader) try {
46
+ reader.releaseLock();
47
+ } catch {
44
48
  }
45
- } catch {
46
- initParams.tool_calls = [];
47
- initParams.invalid_tool_calls = [];
48
- }
49
- if (initParams.response_metadata !== void 0 && "output_version" in initParams.response_metadata && initParams.response_metadata.output_version === "v1") {
50
- initParams.contentBlocks = initParams.content;
51
- initParams.content = void 0;
52
- }
53
- if (initParams.contentBlocks !== void 0) {
54
- if (initParams.tool_calls) initParams.contentBlocks.push(...initParams.tool_calls.map((toolCall) => ({
55
- type: "tool_call",
56
- id: toolCall.id,
57
- name: toolCall.name,
58
- args: toolCall.args
59
- })));
60
- const missingToolCalls = initParams.contentBlocks.filter((block) => block.type === "tool_call").filter((block) => !initParams.tool_calls?.some((toolCall) => toolCall.id === block.id && toolCall.name === block.name));
61
- if (missingToolCalls.length > 0) initParams.tool_calls = missingToolCalls.map((block) => ({
62
- type: "tool_call",
63
- id: block.id,
64
- name: block.name,
65
- args: block.args
66
- }));
67
49
  }
50
+ } catch (error) {
51
+ lastError = error;
52
+ if (isNetworkError(error) && reconnectPath && !options.signal?.aborted) shouldRetry = true;
53
+ else throw error;
68
54
  }
69
- super(initParams);
70
- if (typeof initParams !== "string") {
71
- this.tool_calls = initParams.tool_calls ?? this.tool_calls;
72
- this.invalid_tool_calls = initParams.invalid_tool_calls ?? this.invalid_tool_calls;
55
+ if (shouldRetry) {
56
+ attempt += 1;
57
+ if (attempt > maxRetries) throw new MaxReconnectAttemptsError(maxRetries, lastError);
58
+ options.onReconnect?.({
59
+ attempt,
60
+ lastEventId,
61
+ cause: lastError
62
+ });
63
+ const delay = Math.min(1e3 * 2 ** (attempt - 1), 5e3) + Math.random() * 1e3;
64
+ await new Promise((resolve) => {
65
+ setTimeout(resolve, delay);
66
+ });
67
+ continue;
73
68
  }
74
- this.usage_metadata = initParams.usage_metadata;
69
+ break;
75
70
  }
76
- static lc_name() {
77
- return "AIMessage";
78
- }
79
- get contentBlocks() {
80
- if (this.response_metadata && "output_version" in this.response_metadata && this.response_metadata.output_version === "v1") return this.content;
81
- if (this.response_metadata && "model_provider" in this.response_metadata && typeof this.response_metadata.model_provider === "string") {
82
- const translator = getTranslator(this.response_metadata.model_provider);
83
- if (translator) return translator.translateContent(this);
84
- }
85
- const blocks = super.contentBlocks;
86
- if (this.tool_calls) {
87
- const missingToolCalls = this.tool_calls.filter((block) => !blocks.some((b) => b.id === block.id && b.name === block.name));
88
- blocks.push(...missingToolCalls.map((block) => ({
89
- type: "tool_call",
90
- id: block.id,
91
- name: block.name,
92
- args: block.args
93
- })));
94
- }
95
- return blocks;
96
- }
97
- get _printableFields() {
98
- return {
99
- ...super._printableFields,
100
- tool_calls: this.tool_calls,
101
- invalid_tool_calls: this.invalid_tool_calls,
102
- usage_metadata: this.usage_metadata
103
- };
104
- }
105
- static isInstance(obj) {
106
- return super.isInstance(obj) && obj.type === "ai";
107
- }
108
- };
109
- function isAIMessage(x) {
110
- return x._getType() === "ai";
111
- }
112
- function isAIMessageChunk(x) {
113
- return x._getType() === "ai";
114
71
  }
115
- var AIMessageChunk = class extends BaseMessageChunk {
116
- type = "ai";
117
- tool_calls = [];
118
- invalid_tool_calls = [];
119
- tool_call_chunks = [];
120
- usage_metadata;
121
- constructor(fields) {
122
- let initParams;
123
- if (typeof fields === "string" || Array.isArray(fields)) initParams = {
124
- content: fields,
125
- tool_calls: [],
126
- invalid_tool_calls: [],
127
- tool_call_chunks: []
128
- };
129
- else if (fields.tool_call_chunks === void 0 || fields.tool_call_chunks.length === 0) initParams = {
130
- ...fields,
131
- tool_calls: fields.tool_calls ?? [],
132
- invalid_tool_calls: [],
133
- tool_call_chunks: [],
134
- usage_metadata: fields.usage_metadata !== void 0 ? fields.usage_metadata : void 0
135
- };
136
- else {
137
- const collapsed = collapseToolCallChunks(fields.tool_call_chunks ?? []);
138
- initParams = {
139
- ...fields,
140
- tool_call_chunks: collapsed.tool_call_chunks,
141
- tool_calls: collapsed.tool_calls,
142
- invalid_tool_calls: collapsed.invalid_tool_calls,
143
- usage_metadata: fields.usage_metadata !== void 0 ? fields.usage_metadata : void 0
144
- };
145
- }
146
- super(initParams);
147
- this.tool_call_chunks = initParams.tool_call_chunks ?? this.tool_call_chunks;
148
- this.tool_calls = initParams.tool_calls ?? this.tool_calls;
149
- this.invalid_tool_calls = initParams.invalid_tool_calls ?? this.invalid_tool_calls;
150
- this.usage_metadata = initParams.usage_metadata;
151
- }
152
- get lc_aliases() {
153
- return {
154
- ...super.lc_aliases,
155
- tool_calls: "tool_calls",
156
- invalid_tool_calls: "invalid_tool_calls",
157
- tool_call_chunks: "tool_call_chunks"
158
- };
159
- }
160
- static lc_name() {
161
- return "AIMessageChunk";
162
- }
163
- get contentBlocks() {
164
- if (this.response_metadata && "output_version" in this.response_metadata && this.response_metadata.output_version === "v1") return this.content;
165
- if (this.response_metadata && "model_provider" in this.response_metadata && typeof this.response_metadata.model_provider === "string") {
166
- const translator = getTranslator(this.response_metadata.model_provider);
167
- if (translator) return translator.translateContent(this);
168
- }
169
- const blocks = super.contentBlocks;
170
- if (this.tool_calls) {
171
- if (typeof this.content !== "string") {
172
- const contentToolCalls = this.content.filter((block) => block.type === "tool_call").map((block) => block.id);
173
- for (const toolCall of this.tool_calls) if (toolCall.id && !contentToolCalls.includes(toolCall.id)) blocks.push({
174
- ...toolCall,
175
- type: "tool_call",
176
- id: toolCall.id,
177
- name: toolCall.name,
178
- args: toolCall.args
179
- });
180
- }
181
- }
182
- return blocks;
183
- }
184
- get _printableFields() {
185
- return {
186
- ...super._printableFields,
187
- tool_calls: this.tool_calls,
188
- tool_call_chunks: this.tool_call_chunks,
189
- invalid_tool_calls: this.invalid_tool_calls,
190
- usage_metadata: this.usage_metadata
191
- };
192
- }
193
- concat(chunk) {
194
- const combinedFields = {
195
- content: mergeContent(this.content, chunk.content),
196
- additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
197
- response_metadata: mergeResponseMetadata(this.response_metadata, chunk.response_metadata),
198
- tool_call_chunks: [],
199
- id: this.id ?? chunk.id
200
- };
201
- if (this.tool_call_chunks !== void 0 || chunk.tool_call_chunks !== void 0) {
202
- const rawToolCalls = _mergeLists(this.tool_call_chunks, chunk.tool_call_chunks);
203
- if (rawToolCalls !== void 0 && rawToolCalls.length > 0) combinedFields.tool_call_chunks = rawToolCalls;
204
- }
205
- if (this.usage_metadata !== void 0 || chunk.usage_metadata !== void 0) combinedFields.usage_metadata = mergeUsageMetadata(this.usage_metadata, chunk.usage_metadata);
206
- const Cls = this.constructor;
207
- return new Cls(combinedFields);
208
- }
209
- static isInstance(obj) {
210
- return super.isInstance(obj) && obj.type === "ai";
211
- }
212
- };
213
72
  export {
214
- AIMessage,
215
- AIMessageChunk,
216
- isAIMessage,
217
- isAIMessageChunk
73
+ streamWithRetry
218
74
  };
219
75
  //# sourceMappingURL=index.es41.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es41.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/ai.js"],"sourcesContent":["import { BaseMessage, BaseMessageChunk, _mergeDicts, _mergeLists, mergeContent } from \"./base.js\";\nimport { getTranslator } from \"./block_translators/index.js\";\nimport { mergeResponseMetadata, mergeUsageMetadata } from \"./metadata.js\";\nimport { defaultToolCallParser } from \"./tool.js\";\nimport { collapseToolCallChunks } from \"./utils.js\";\n\n//#region src/messages/ai.ts\nvar AIMessage = class extends BaseMessage {\n\ttype = \"ai\";\n\ttool_calls = [];\n\tinvalid_tool_calls = [];\n\tusage_metadata;\n\tget lc_aliases() {\n\t\treturn {\n\t\t\t...super.lc_aliases,\n\t\t\ttool_calls: \"tool_calls\",\n\t\t\tinvalid_tool_calls: \"invalid_tool_calls\"\n\t\t};\n\t}\n\tconstructor(fields) {\n\t\tlet initParams;\n\t\tif (typeof fields === \"string\" || Array.isArray(fields)) initParams = {\n\t\t\tcontent: fields,\n\t\t\ttool_calls: [],\n\t\t\tinvalid_tool_calls: [],\n\t\t\tadditional_kwargs: {}\n\t\t};\n\t\telse {\n\t\t\tinitParams = fields;\n\t\t\tconst rawToolCalls = initParams.additional_kwargs?.tool_calls;\n\t\t\tconst toolCalls = initParams.tool_calls;\n\t\t\tif (!(rawToolCalls == null) && rawToolCalls.length > 0 && (toolCalls === void 0 || toolCalls.length === 0)) console.warn([\n\t\t\t\t\"New LangChain packages are available that more efficiently handle\",\n\t\t\t\t\"tool calling.\\n\\nPlease upgrade your packages to versions that set\",\n\t\t\t\t\"message tool calls. e.g., `pnpm install @langchain/anthropic`,\",\n\t\t\t\t\"pnpm install @langchain/openai`, etc.\"\n\t\t\t].join(\" \"));\n\t\t\ttry {\n\t\t\t\tif (!(rawToolCalls == null) && toolCalls === void 0) {\n\t\t\t\t\tconst [parsedToolCalls, invalidToolCalls] = defaultToolCallParser(rawToolCalls);\n\t\t\t\t\tinitParams.tool_calls = parsedToolCalls ?? [];\n\t\t\t\t\tinitParams.invalid_tool_calls = invalidToolCalls ?? [];\n\t\t\t\t} else {\n\t\t\t\t\tinitParams.tool_calls = initParams.tool_calls ?? [];\n\t\t\t\t\tinitParams.invalid_tool_calls = initParams.invalid_tool_calls ?? [];\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tinitParams.tool_calls = [];\n\t\t\t\tinitParams.invalid_tool_calls = [];\n\t\t\t}\n\t\t\tif (initParams.response_metadata !== void 0 && \"output_version\" in initParams.response_metadata && initParams.response_metadata.output_version === \"v1\") {\n\t\t\t\tinitParams.contentBlocks = initParams.content;\n\t\t\t\tinitParams.content = void 0;\n\t\t\t}\n\t\t\tif (initParams.contentBlocks !== void 0) {\n\t\t\t\tif (initParams.tool_calls) initParams.contentBlocks.push(...initParams.tool_calls.map((toolCall) => ({\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\tid: toolCall.id,\n\t\t\t\t\tname: toolCall.name,\n\t\t\t\t\targs: toolCall.args\n\t\t\t\t})));\n\t\t\t\tconst missingToolCalls = initParams.contentBlocks.filter((block) => block.type === \"tool_call\").filter((block) => !initParams.tool_calls?.some((toolCall) => toolCall.id === block.id && toolCall.name === block.name));\n\t\t\t\tif (missingToolCalls.length > 0) initParams.tool_calls = missingToolCalls.map((block) => ({\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\tid: block.id,\n\t\t\t\t\tname: block.name,\n\t\t\t\t\targs: block.args\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t\tsuper(initParams);\n\t\tif (typeof initParams !== \"string\") {\n\t\t\tthis.tool_calls = initParams.tool_calls ?? this.tool_calls;\n\t\t\tthis.invalid_tool_calls = initParams.invalid_tool_calls ?? this.invalid_tool_calls;\n\t\t}\n\t\tthis.usage_metadata = initParams.usage_metadata;\n\t}\n\tstatic lc_name() {\n\t\treturn \"AIMessage\";\n\t}\n\tget contentBlocks() {\n\t\tif (this.response_metadata && \"output_version\" in this.response_metadata && this.response_metadata.output_version === \"v1\") return this.content;\n\t\tif (this.response_metadata && \"model_provider\" in this.response_metadata && typeof this.response_metadata.model_provider === \"string\") {\n\t\t\tconst translator = getTranslator(this.response_metadata.model_provider);\n\t\t\tif (translator) return translator.translateContent(this);\n\t\t}\n\t\tconst blocks = super.contentBlocks;\n\t\tif (this.tool_calls) {\n\t\t\tconst missingToolCalls = this.tool_calls.filter((block) => !blocks.some((b) => b.id === block.id && b.name === block.name));\n\t\t\tblocks.push(...missingToolCalls.map((block) => ({\n\t\t\t\ttype: \"tool_call\",\n\t\t\t\tid: block.id,\n\t\t\t\tname: block.name,\n\t\t\t\targs: block.args\n\t\t\t})));\n\t\t}\n\t\treturn blocks;\n\t}\n\tget _printableFields() {\n\t\treturn {\n\t\t\t...super._printableFields,\n\t\t\ttool_calls: this.tool_calls,\n\t\t\tinvalid_tool_calls: this.invalid_tool_calls,\n\t\t\tusage_metadata: this.usage_metadata\n\t\t};\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"ai\";\n\t}\n};\n/**\n* @deprecated Use {@link AIMessage.isInstance} instead\n*/\nfunction isAIMessage(x) {\n\treturn x._getType() === \"ai\";\n}\n/**\n* @deprecated Use {@link AIMessageChunk.isInstance} instead\n*/\nfunction isAIMessageChunk(x) {\n\treturn x._getType() === \"ai\";\n}\n/**\n* Represents a chunk of an AI message, which can be concatenated with\n* other AI message chunks.\n*/\nvar AIMessageChunk = class extends BaseMessageChunk {\n\ttype = \"ai\";\n\ttool_calls = [];\n\tinvalid_tool_calls = [];\n\ttool_call_chunks = [];\n\tusage_metadata;\n\tconstructor(fields) {\n\t\tlet initParams;\n\t\tif (typeof fields === \"string\" || Array.isArray(fields)) initParams = {\n\t\t\tcontent: fields,\n\t\t\ttool_calls: [],\n\t\t\tinvalid_tool_calls: [],\n\t\t\ttool_call_chunks: []\n\t\t};\n\t\telse if (fields.tool_call_chunks === void 0 || fields.tool_call_chunks.length === 0) initParams = {\n\t\t\t...fields,\n\t\t\ttool_calls: fields.tool_calls ?? [],\n\t\t\tinvalid_tool_calls: [],\n\t\t\ttool_call_chunks: [],\n\t\t\tusage_metadata: fields.usage_metadata !== void 0 ? fields.usage_metadata : void 0\n\t\t};\n\t\telse {\n\t\t\tconst collapsed = collapseToolCallChunks(fields.tool_call_chunks ?? []);\n\t\t\tinitParams = {\n\t\t\t\t...fields,\n\t\t\t\ttool_call_chunks: collapsed.tool_call_chunks,\n\t\t\t\ttool_calls: collapsed.tool_calls,\n\t\t\t\tinvalid_tool_calls: collapsed.invalid_tool_calls,\n\t\t\t\tusage_metadata: fields.usage_metadata !== void 0 ? fields.usage_metadata : void 0\n\t\t\t};\n\t\t}\n\t\tsuper(initParams);\n\t\tthis.tool_call_chunks = initParams.tool_call_chunks ?? this.tool_call_chunks;\n\t\tthis.tool_calls = initParams.tool_calls ?? this.tool_calls;\n\t\tthis.invalid_tool_calls = initParams.invalid_tool_calls ?? this.invalid_tool_calls;\n\t\tthis.usage_metadata = initParams.usage_metadata;\n\t}\n\tget lc_aliases() {\n\t\treturn {\n\t\t\t...super.lc_aliases,\n\t\t\ttool_calls: \"tool_calls\",\n\t\t\tinvalid_tool_calls: \"invalid_tool_calls\",\n\t\t\ttool_call_chunks: \"tool_call_chunks\"\n\t\t};\n\t}\n\tstatic lc_name() {\n\t\treturn \"AIMessageChunk\";\n\t}\n\tget contentBlocks() {\n\t\tif (this.response_metadata && \"output_version\" in this.response_metadata && this.response_metadata.output_version === \"v1\") return this.content;\n\t\tif (this.response_metadata && \"model_provider\" in this.response_metadata && typeof this.response_metadata.model_provider === \"string\") {\n\t\t\tconst translator = getTranslator(this.response_metadata.model_provider);\n\t\t\tif (translator) return translator.translateContent(this);\n\t\t}\n\t\tconst blocks = super.contentBlocks;\n\t\tif (this.tool_calls) {\n\t\t\tif (typeof this.content !== \"string\") {\n\t\t\t\tconst contentToolCalls = this.content.filter((block) => block.type === \"tool_call\").map((block) => block.id);\n\t\t\t\tfor (const toolCall of this.tool_calls) if (toolCall.id && !contentToolCalls.includes(toolCall.id)) blocks.push({\n\t\t\t\t\t...toolCall,\n\t\t\t\t\ttype: \"tool_call\",\n\t\t\t\t\tid: toolCall.id,\n\t\t\t\t\tname: toolCall.name,\n\t\t\t\t\targs: toolCall.args\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn blocks;\n\t}\n\tget _printableFields() {\n\t\treturn {\n\t\t\t...super._printableFields,\n\t\t\ttool_calls: this.tool_calls,\n\t\t\ttool_call_chunks: this.tool_call_chunks,\n\t\t\tinvalid_tool_calls: this.invalid_tool_calls,\n\t\t\tusage_metadata: this.usage_metadata\n\t\t};\n\t}\n\tconcat(chunk) {\n\t\tconst combinedFields = {\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: mergeResponseMetadata(this.response_metadata, chunk.response_metadata),\n\t\t\ttool_call_chunks: [],\n\t\t\tid: this.id ?? chunk.id\n\t\t};\n\t\tif (this.tool_call_chunks !== void 0 || chunk.tool_call_chunks !== void 0) {\n\t\t\tconst rawToolCalls = _mergeLists(this.tool_call_chunks, chunk.tool_call_chunks);\n\t\t\tif (rawToolCalls !== void 0 && rawToolCalls.length > 0) combinedFields.tool_call_chunks = rawToolCalls;\n\t\t}\n\t\tif (this.usage_metadata !== void 0 || chunk.usage_metadata !== void 0) combinedFields.usage_metadata = mergeUsageMetadata(this.usage_metadata, chunk.usage_metadata);\n\t\tconst Cls = this.constructor;\n\t\treturn new Cls(combinedFields);\n\t}\n\tstatic isInstance(obj) {\n\t\treturn super.isInstance(obj) && obj.type === \"ai\";\n\t}\n};\n\n//#endregion\nexport { AIMessage, AIMessageChunk, isAIMessage, isAIMessageChunk };\n//# sourceMappingURL=ai.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es41.js","sources":["../node_modules/.pnpm/@langchain+langgraph-sdk@1.5.3_@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5___react-d_6e8116ad15c37793c6138fe0d58aa04e/node_modules/@langchain/langgraph-sdk/dist/utils/stream.js"],"sourcesContent":["import { isNetworkError } from \"./error.js\";\n\n//#region src/utils/stream.ts\n/**\n* Error thrown when maximum reconnection attempts are exceeded.\n*/\nvar MaxReconnectAttemptsError = class extends Error {\n\tconstructor(maxAttempts, cause) {\n\t\tsuper(`Exceeded maximum SSE reconnection attempts (${maxAttempts})`);\n\t\tthis.name = \"MaxReconnectAttemptsError\";\n\t\tthis.cause = cause;\n\t}\n};\n/**\n* Stream with automatic retry logic for SSE connections.\n* Implements reconnection behavior similar to the Python SDK.\n*\n* @param makeRequest Function to make requests. When `params` is undefined/empty, it's the initial request.\n* When `params.reconnectPath` is provided, it's a reconnection request.\n* @param options Configuration options\n* @returns AsyncGenerator yielding stream events\n*/\nasync function* streamWithRetry(makeRequest, options = {}) {\n\tconst maxRetries = options.maxRetries ?? 5;\n\tlet attempt = 0;\n\tlet lastEventId;\n\tlet reconnectPath;\n\twhile (true) {\n\t\tlet shouldRetry = false;\n\t\tlet lastError;\n\t\tlet reader;\n\t\ttry {\n\t\t\tif (options.signal?.aborted) return;\n\t\t\tconst { response, stream } = await makeRequest(reconnectPath ? {\n\t\t\t\tlastEventId,\n\t\t\t\treconnectPath\n\t\t\t} : void 0);\n\t\t\tconst locationHeader = response.headers.get(\"location\");\n\t\t\tif (locationHeader) reconnectPath = locationHeader;\n\t\t\tconst contentType = response.headers.get(\"content-type\")?.split(\";\")[0];\n\t\t\tif (contentType && !contentType.includes(\"text/event-stream\")) throw new Error(`Expected response header Content-Type to contain 'text/event-stream', got '${contentType}'`);\n\t\t\treader = stream.getReader();\n\t\t\ttry {\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (options.signal?.aborted) {\n\t\t\t\t\t\tawait reader.cancel();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\t\tif (done) break;\n\t\t\t\t\tif (value.id) lastEventId = value.id;\n\t\t\t\t\tyield value;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t} catch (error) {\n\t\t\t\tif (reconnectPath && !options.signal?.aborted) shouldRetry = true;\n\t\t\t\telse throw error;\n\t\t\t} finally {\n\t\t\t\tif (reader) try {\n\t\t\t\t\treader.releaseLock();\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tlastError = error;\n\t\t\tif (isNetworkError(error) && reconnectPath && !options.signal?.aborted) shouldRetry = true;\n\t\t\telse throw error;\n\t\t}\n\t\tif (shouldRetry) {\n\t\t\tattempt += 1;\n\t\t\tif (attempt > maxRetries) throw new MaxReconnectAttemptsError(maxRetries, lastError);\n\t\t\toptions.onReconnect?.({\n\t\t\t\tattempt,\n\t\t\t\tlastEventId,\n\t\t\t\tcause: lastError\n\t\t\t});\n\t\t\tconst delay = Math.min(1e3 * 2 ** (attempt - 1), 5e3) + Math.random() * 1e3;\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\tsetTimeout(resolve, delay);\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tbreak;\n\t}\n}\nvar IterableReadableStream = class IterableReadableStream extends ReadableStream {\n\treader;\n\tensureReader() {\n\t\tif (!this.reader) this.reader = this.getReader();\n\t}\n\tasync next() {\n\t\tthis.ensureReader();\n\t\ttry {\n\t\t\tconst result = await this.reader.read();\n\t\t\tif (result.done) {\n\t\t\t\tthis.reader.releaseLock();\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void 0\n\t\t\t\t};\n\t\t\t} else return {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: result.value\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tthis.reader.releaseLock();\n\t\t\tthrow e;\n\t\t}\n\t}\n\tasync return() {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: void 0\n\t\t};\n\t}\n\tasync throw(e) {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\tthrow e;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tstatic fromReadableStream(stream) {\n\t\tconst reader = stream.getReader();\n\t\treturn new IterableReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\treturn pump();\n\t\t\t\tfunction pump() {\n\t\t\t\t\treturn reader.read().then(({ done, value }) => {\n\t\t\t\t\t\tif (done) {\n\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\t\treturn pump();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel() {\n\t\t\t\treader.releaseLock();\n\t\t\t}\n\t\t});\n\t}\n\tstatic fromAsyncGenerator(generator) {\n\t\treturn new IterableReadableStream({\n\t\t\tasync pull(controller) {\n\t\t\t\tconst { value, done } = await generator.next();\n\t\t\t\tif (done) controller.close();\n\t\t\t\tcontroller.enqueue(value);\n\t\t\t},\n\t\t\tasync cancel(reason) {\n\t\t\t\tawait generator.return(reason);\n\t\t\t}\n\t\t});\n\t}\n};\n\n//#endregion\nexport { IterableReadableStream, streamWithRetry };\n//# sourceMappingURL=stream.js.map"],"names":[],"mappings":";AAMA,IAAI,4BAA4B,cAAc,MAAM;AAAA,EACnD,YAAY,aAAa,OAAO;AAC/B,UAAM,+CAA+C,WAAW,GAAG;AACnE,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACd;AACD;AAUA,gBAAgB,gBAAgB,aAAa,UAAU,IAAI;AAC1D,QAAM,aAAa,QAAQ,cAAc;AACzC,MAAI,UAAU;AACd,MAAI;AACJ,MAAI;AACJ,SAAO,MAAM;AACZ,QAAI,cAAc;AAClB,QAAI;AACJ,QAAI;AACJ,QAAI;AACH,UAAI,QAAQ,QAAQ,QAAS;AAC7B,YAAM,EAAE,UAAU,OAAM,IAAK,MAAM,YAAY,gBAAgB;AAAA,QAC9D;AAAA,QACA;AAAA,MACJ,IAAO,MAAM;AACV,YAAM,iBAAiB,SAAS,QAAQ,IAAI,UAAU;AACtD,UAAI,eAAgB,iBAAgB;AACpC,YAAM,cAAc,SAAS,QAAQ,IAAI,cAAc,GAAG,MAAM,GAAG,EAAE,CAAC;AACtE,UAAI,eAAe,CAAC,YAAY,SAAS,mBAAmB,EAAG,OAAM,IAAI,MAAM,8EAA8E,WAAW,GAAG;AAC3K,eAAS,OAAO,UAAS;AACzB,UAAI;AACH,eAAO,MAAM;AACZ,cAAI,QAAQ,QAAQ,SAAS;AAC5B,kBAAM,OAAO,OAAM;AACnB;AAAA,UACD;AACA,gBAAM,EAAE,MAAM,MAAK,IAAK,MAAM,OAAO,KAAI;AACzC,cAAI,KAAM;AACV,cAAI,MAAM,GAAI,eAAc,MAAM;AAClC,gBAAM;AAAA,QACP;AACA;AAAA,MACD,SAAS,OAAO;AACf,YAAI,iBAAiB,CAAC,QAAQ,QAAQ,QAAS,eAAc;AAAA,YACxD,OAAM;AAAA,MACZ,UAAC;AACA,YAAI,OAAQ,KAAI;AACf,iBAAO,YAAW;AAAA,QACnB,QAAQ;AAAA,QAAC;AAAA,MACV;AAAA,IACD,SAAS,OAAO;AACf,kBAAY;AACZ,UAAI,eAAe,KAAK,KAAK,iBAAiB,CAAC,QAAQ,QAAQ,QAAS,eAAc;AAAA,UACjF,OAAM;AAAA,IACZ;AACA,QAAI,aAAa;AAChB,iBAAW;AACX,UAAI,UAAU,WAAY,OAAM,IAAI,0BAA0B,YAAY,SAAS;AACnF,cAAQ,cAAc;AAAA,QACrB;AAAA,QACA;AAAA,QACA,OAAO;AAAA,MACX,CAAI;AACD,YAAM,QAAQ,KAAK,IAAI,MAAM,MAAM,UAAU,IAAI,GAAG,IAAI,KAAK,OAAM,IAAK;AACxE,YAAM,IAAI,QAAQ,CAAC,YAAY;AAC9B,mBAAW,SAAS,KAAK;AAAA,MAC1B,CAAC;AACD;AAAA,IACD;AACA;AAAA,EACD;AACD;","x_google_ignoreList":[0]}
@@ -1,71 +1,22 @@
1
- import { BaseMessageChunk, _mergeDicts, mergeContent, BaseMessage } from "./index.es39.js";
2
- var SystemMessage = class SystemMessage2 extends BaseMessage {
3
- static lc_name() {
4
- return "SystemMessage";
5
- }
6
- type = "system";
7
- constructor(fields) {
8
- super(fields);
9
- }
10
- /**
11
- * Concatenates a string or another system message with the current system message.
12
- * @param chunk - The chunk to concatenate with the system message.
13
- * @returns A new system message with the concatenated content.
14
- */
15
- concat(chunk) {
16
- if (typeof chunk === "string") return new SystemMessage2({
17
- ...this,
18
- content: mergeContent(this.content, chunk)
19
- });
20
- if (SystemMessage2.isInstance(chunk)) return new SystemMessage2({
21
- ...this,
22
- additional_kwargs: {
23
- ...this.additional_kwargs,
24
- ...chunk.additional_kwargs
25
- },
26
- response_metadata: {
27
- ...this.response_metadata,
28
- ...chunk.response_metadata
29
- },
30
- content: mergeContent(this.content, chunk.content)
31
- });
32
- throw new Error("Unexpected chunk type for system message");
33
- }
34
- static isInstance(obj) {
35
- return super.isInstance(obj) && obj.type === "system";
36
- }
1
+ const isError = (error) => {
2
+ if ("isError" in Error && typeof Error.isError === "function") return Error.isError(error);
3
+ const stringTag = Object.prototype.toString.call(error);
4
+ return stringTag === "[object Error]" || stringTag === "[object DOMException]" || stringTag === "[object DOMError]" || stringTag === "[object Exception]";
37
5
  };
38
- var SystemMessageChunk = class extends BaseMessageChunk {
39
- static lc_name() {
40
- return "SystemMessageChunk";
41
- }
42
- type = "system";
43
- constructor(fields) {
44
- super(fields);
45
- }
46
- concat(chunk) {
47
- const Cls = this.constructor;
48
- return new Cls({
49
- content: mergeContent(this.content, chunk.content),
50
- additional_kwargs: _mergeDicts(this.additional_kwargs, chunk.additional_kwargs),
51
- response_metadata: _mergeDicts(this.response_metadata, chunk.response_metadata),
52
- id: this.id ?? chunk.id
53
- });
54
- }
55
- static isInstance(obj) {
56
- return super.isInstance(obj) && obj.type === "system";
57
- }
6
+ const getCauseError = (error) => {
7
+ const { cause } = error;
8
+ if (typeof cause !== "object" || cause == null) return null;
9
+ if (!isError(cause)) return null;
10
+ return cause;
11
+ };
12
+ const isNetworkError = (error) => {
13
+ if (!isError(error)) return false;
14
+ if (error.name !== "TypeError" || typeof error.message !== "string") return false;
15
+ const msg = error.message.toLowerCase();
16
+ const causeMsg = getCauseError(error)?.message?.toLowerCase() ?? "";
17
+ return msg.includes("fetch") || msg.includes("network") || msg.includes("connection") || msg.includes("error sending request") || msg.includes("load failed") || msg.includes("terminated") || causeMsg.includes("other side closed") || causeMsg.includes("socket");
58
18
  };
59
- function isSystemMessage(x) {
60
- return x._getType() === "system";
61
- }
62
- function isSystemMessageChunk(x) {
63
- return x._getType() === "system";
64
- }
65
19
  export {
66
- SystemMessage,
67
- SystemMessageChunk,
68
- isSystemMessage,
69
- isSystemMessageChunk
20
+ isNetworkError
70
21
  };
71
22
  //# sourceMappingURL=index.es42.js.map