@langchain/langgraph 0.4.9 → 1.0.0-alpha.1

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 (505) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -2
  3. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  4. package/dist/channels/any_value.cjs +44 -63
  5. package/dist/channels/any_value.cjs.map +1 -0
  6. package/dist/channels/any_value.d.cts +24 -0
  7. package/dist/channels/any_value.d.cts.map +1 -0
  8. package/dist/channels/any_value.d.ts +16 -11
  9. package/dist/channels/any_value.d.ts.map +1 -0
  10. package/dist/channels/any_value.js +42 -57
  11. package/dist/channels/any_value.js.map +1 -1
  12. package/dist/channels/base.cjs +93 -133
  13. package/dist/channels/base.cjs.map +1 -0
  14. package/dist/channels/base.d.cts +79 -0
  15. package/dist/channels/base.d.cts.map +1 -0
  16. package/dist/channels/base.d.ts +77 -73
  17. package/dist/channels/base.d.ts.map +1 -0
  18. package/dist/channels/base.js +90 -127
  19. package/dist/channels/base.js.map +1 -1
  20. package/dist/channels/binop.cjs +47 -77
  21. package/dist/channels/binop.cjs.map +1 -0
  22. package/dist/channels/binop.d.cts +22 -0
  23. package/dist/channels/binop.d.cts.map +1 -0
  24. package/dist/channels/binop.d.ts +17 -12
  25. package/dist/channels/binop.d.ts.map +1 -0
  26. package/dist/channels/binop.js +45 -71
  27. package/dist/channels/binop.js.map +1 -1
  28. package/dist/channels/dynamic_barrier_value.cjs +72 -208
  29. package/dist/channels/dynamic_barrier_value.cjs.map +1 -0
  30. package/dist/channels/dynamic_barrier_value.d.cts +42 -0
  31. package/dist/channels/dynamic_barrier_value.d.cts.map +1 -0
  32. package/dist/channels/dynamic_barrier_value.d.ts +20 -35
  33. package/dist/channels/dynamic_barrier_value.d.ts.map +1 -0
  34. package/dist/channels/dynamic_barrier_value.js +69 -200
  35. package/dist/channels/dynamic_barrier_value.js.map +1 -1
  36. package/dist/channels/ephemeral_value.cjs +44 -70
  37. package/dist/channels/ephemeral_value.cjs.map +1 -0
  38. package/dist/channels/ephemeral_value.d.cts +22 -0
  39. package/dist/channels/ephemeral_value.d.cts.map +1 -0
  40. package/dist/channels/ephemeral_value.d.ts +18 -12
  41. package/dist/channels/ephemeral_value.d.ts.map +1 -0
  42. package/dist/channels/ephemeral_value.js +43 -65
  43. package/dist/channels/ephemeral_value.js.map +1 -1
  44. package/dist/channels/index.cjs +21 -10
  45. package/dist/channels/index.d.cts +9 -0
  46. package/dist/channels/index.d.ts +9 -7
  47. package/dist/channels/index.js +10 -3
  48. package/dist/channels/last_value.cjs +90 -140
  49. package/dist/channels/last_value.cjs.map +1 -0
  50. package/dist/channels/last_value.d.cts +42 -0
  51. package/dist/channels/last_value.d.cts.map +1 -0
  52. package/dist/channels/last_value.d.ts +27 -23
  53. package/dist/channels/last_value.d.ts.map +1 -0
  54. package/dist/channels/last_value.js +87 -133
  55. package/dist/channels/last_value.js.map +1 -1
  56. package/dist/channels/named_barrier_value.cjs +114 -170
  57. package/dist/channels/named_barrier_value.cjs.map +1 -0
  58. package/dist/channels/named_barrier_value.d.cts +46 -0
  59. package/dist/channels/named_barrier_value.d.cts.map +1 -0
  60. package/dist/channels/named_barrier_value.d.ts +32 -29
  61. package/dist/channels/named_barrier_value.d.ts.map +1 -0
  62. package/dist/channels/named_barrier_value.js +111 -163
  63. package/dist/channels/named_barrier_value.js.map +1 -1
  64. package/dist/channels/topic.cjs +63 -96
  65. package/dist/channels/topic.cjs.map +1 -0
  66. package/dist/channels/topic.d.cts +32 -0
  67. package/dist/channels/topic.d.cts.map +1 -0
  68. package/dist/channels/topic.d.ts +28 -19
  69. package/dist/channels/topic.d.ts.map +1 -0
  70. package/dist/channels/topic.js +61 -90
  71. package/dist/channels/topic.js.map +1 -1
  72. package/dist/constants.cjs +376 -452
  73. package/dist/constants.cjs.map +1 -0
  74. package/dist/constants.d.cts +285 -0
  75. package/dist/constants.d.cts.map +1 -0
  76. package/dist/constants.d.ts +113 -148
  77. package/dist/constants.d.ts.map +1 -0
  78. package/dist/constants.js +336 -444
  79. package/dist/constants.js.map +1 -1
  80. package/dist/errors.cjs +151 -179
  81. package/dist/errors.cjs.map +1 -0
  82. package/dist/errors.d.cts +81 -0
  83. package/dist/errors.d.cts.map +1 -0
  84. package/dist/errors.d.ts +56 -46
  85. package/dist/errors.d.ts.map +1 -0
  86. package/dist/errors.js +140 -165
  87. package/dist/errors.js.map +1 -1
  88. package/dist/func/index.cjs +292 -290
  89. package/dist/func/index.cjs.map +1 -0
  90. package/dist/func/index.d.cts +293 -0
  91. package/dist/func/index.d.cts.map +1 -0
  92. package/dist/func/index.d.ts +86 -72
  93. package/dist/func/index.d.ts.map +1 -0
  94. package/dist/func/index.js +288 -284
  95. package/dist/func/index.js.map +1 -1
  96. package/dist/func/types.d.cts +64 -0
  97. package/dist/func/types.d.cts.map +1 -0
  98. package/dist/func/types.d.ts +24 -19
  99. package/dist/func/types.d.ts.map +1 -0
  100. package/dist/graph/annotation.cjs +96 -120
  101. package/dist/graph/annotation.cjs.map +1 -0
  102. package/dist/graph/annotation.d.cts +116 -0
  103. package/dist/graph/annotation.d.cts.map +1 -0
  104. package/dist/graph/annotation.d.ts +33 -34
  105. package/dist/graph/annotation.d.ts.map +1 -0
  106. package/dist/graph/annotation.js +91 -112
  107. package/dist/graph/annotation.js.map +1 -1
  108. package/dist/graph/graph.cjs +419 -723
  109. package/dist/graph/graph.cjs.map +1 -0
  110. package/dist/graph/graph.d.cts +133 -0
  111. package/dist/graph/graph.d.cts.map +1 -0
  112. package/dist/graph/graph.d.ts +124 -91
  113. package/dist/graph/graph.d.ts.map +1 -0
  114. package/dist/graph/graph.js +412 -713
  115. package/dist/graph/graph.js.map +1 -1
  116. package/dist/graph/index.cjs +4 -17
  117. package/dist/graph/index.js +6 -5
  118. package/dist/graph/message.cjs +59 -104
  119. package/dist/graph/message.cjs.map +1 -0
  120. package/dist/graph/message.d.cts +19 -0
  121. package/dist/graph/message.d.cts.map +1 -0
  122. package/dist/graph/message.d.ts +11 -10
  123. package/dist/graph/message.d.ts.map +1 -0
  124. package/dist/graph/message.js +56 -98
  125. package/dist/graph/message.js.map +1 -1
  126. package/dist/graph/messages_annotation.cjs +106 -106
  127. package/dist/graph/messages_annotation.cjs.map +1 -0
  128. package/dist/graph/messages_annotation.d.cts +111 -0
  129. package/dist/graph/messages_annotation.d.cts.map +1 -0
  130. package/dist/graph/messages_annotation.d.ts +18 -9
  131. package/dist/graph/messages_annotation.d.ts.map +1 -0
  132. package/dist/graph/messages_annotation.js +100 -100
  133. package/dist/graph/messages_annotation.js.map +1 -1
  134. package/dist/graph/state.cjs +475 -779
  135. package/dist/graph/state.cjs.map +1 -0
  136. package/dist/graph/state.d.cts +231 -0
  137. package/dist/graph/state.d.cts.map +1 -0
  138. package/dist/graph/state.d.ts +148 -138
  139. package/dist/graph/state.d.ts.map +1 -0
  140. package/dist/graph/state.js +469 -769
  141. package/dist/graph/state.js.map +1 -1
  142. package/dist/graph/zod/index.cjs +10 -21
  143. package/dist/graph/zod/index.d.cts +3 -0
  144. package/dist/graph/zod/index.d.ts +3 -3
  145. package/dist/graph/zod/index.js +4 -4
  146. package/dist/graph/zod/meta.cjs +142 -177
  147. package/dist/graph/zod/meta.cjs.map +1 -0
  148. package/dist/graph/zod/meta.d.cts +116 -0
  149. package/dist/graph/zod/meta.d.cts.map +1 -0
  150. package/dist/graph/zod/meta.d.ts +99 -97
  151. package/dist/graph/zod/meta.d.ts.map +1 -0
  152. package/dist/graph/zod/meta.js +136 -170
  153. package/dist/graph/zod/meta.js.map +1 -1
  154. package/dist/graph/zod/plugin.cjs +36 -39
  155. package/dist/graph/zod/plugin.cjs.map +1 -0
  156. package/dist/graph/zod/plugin.js +34 -35
  157. package/dist/graph/zod/plugin.js.map +1 -1
  158. package/dist/graph/zod/schema.cjs +82 -110
  159. package/dist/graph/zod/schema.cjs.map +1 -0
  160. package/dist/graph/zod/schema.d.cts +38 -0
  161. package/dist/graph/zod/schema.d.cts.map +1 -0
  162. package/dist/graph/zod/schema.d.ts +12 -6
  163. package/dist/graph/zod/schema.d.ts.map +1 -0
  164. package/dist/graph/zod/schema.js +77 -103
  165. package/dist/graph/zod/schema.js.map +1 -1
  166. package/dist/graph/zod/zod-registry.cjs +41 -47
  167. package/dist/graph/zod/zod-registry.cjs.map +1 -0
  168. package/dist/graph/zod/zod-registry.d.cts +51 -0
  169. package/dist/graph/zod/zod-registry.d.cts.map +1 -0
  170. package/dist/graph/zod/zod-registry.d.ts +34 -26
  171. package/dist/graph/zod/zod-registry.d.ts.map +1 -0
  172. package/dist/graph/zod/zod-registry.js +37 -41
  173. package/dist/graph/zod/zod-registry.js.map +1 -1
  174. package/dist/hash.cjs +205 -267
  175. package/dist/hash.cjs.map +1 -0
  176. package/dist/hash.js +205 -265
  177. package/dist/hash.js.map +1 -1
  178. package/dist/index.cjs +111 -33
  179. package/dist/index.cjs.map +1 -0
  180. package/dist/index.d.cts +26 -0
  181. package/dist/index.d.ts +26 -5
  182. package/dist/index.js +19 -7
  183. package/dist/index.js.map +1 -1
  184. package/dist/interrupt.cjs +79 -85
  185. package/dist/interrupt.cjs.map +1 -0
  186. package/dist/interrupt.d.cts +49 -0
  187. package/dist/interrupt.d.cts.map +1 -0
  188. package/dist/interrupt.d.ts +6 -1
  189. package/dist/interrupt.d.ts.map +1 -0
  190. package/dist/interrupt.js +76 -80
  191. package/dist/interrupt.js.map +1 -1
  192. package/dist/prebuilt/agentName.cjs +139 -172
  193. package/dist/prebuilt/agentName.cjs.map +1 -0
  194. package/dist/prebuilt/agentName.d.cts +42 -0
  195. package/dist/prebuilt/agentName.d.cts.map +1 -0
  196. package/dist/prebuilt/agentName.d.ts +13 -21
  197. package/dist/prebuilt/agentName.d.ts.map +1 -0
  198. package/dist/prebuilt/agentName.js +139 -168
  199. package/dist/prebuilt/agentName.js.map +1 -1
  200. package/dist/prebuilt/agent_executor.cjs +42 -80
  201. package/dist/prebuilt/agent_executor.cjs.map +1 -0
  202. package/dist/prebuilt/agent_executor.d.cts +57 -0
  203. package/dist/prebuilt/agent_executor.d.cts.map +1 -0
  204. package/dist/prebuilt/agent_executor.d.ts +47 -38
  205. package/dist/prebuilt/agent_executor.d.ts.map +1 -0
  206. package/dist/prebuilt/agent_executor.js +40 -75
  207. package/dist/prebuilt/agent_executor.js.map +1 -1
  208. package/dist/prebuilt/chat_agent_executor.cjs +66 -128
  209. package/dist/prebuilt/chat_agent_executor.cjs.map +1 -0
  210. package/dist/prebuilt/chat_agent_executor.d.cts +23 -0
  211. package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -0
  212. package/dist/prebuilt/chat_agent_executor.d.ts +18 -10
  213. package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -0
  214. package/dist/prebuilt/chat_agent_executor.js +63 -123
  215. package/dist/prebuilt/chat_agent_executor.js.map +1 -1
  216. package/dist/prebuilt/index.cjs +15 -18
  217. package/dist/prebuilt/index.d.cts +8 -0
  218. package/dist/prebuilt/index.d.ts +8 -8
  219. package/dist/prebuilt/index.js +8 -7
  220. package/dist/prebuilt/interrupt.d.cts +73 -0
  221. package/dist/prebuilt/interrupt.d.cts.map +1 -0
  222. package/dist/prebuilt/interrupt.d.ts +32 -15
  223. package/dist/prebuilt/interrupt.d.ts.map +1 -0
  224. package/dist/prebuilt/react_agent_executor.cjs +317 -473
  225. package/dist/prebuilt/react_agent_executor.cjs.map +1 -0
  226. package/dist/prebuilt/react_agent_executor.d.cts +229 -0
  227. package/dist/prebuilt/react_agent_executor.d.cts.map +1 -0
  228. package/dist/prebuilt/react_agent_executor.d.ts +171 -143
  229. package/dist/prebuilt/react_agent_executor.d.ts.map +1 -0
  230. package/dist/prebuilt/react_agent_executor.js +315 -465
  231. package/dist/prebuilt/react_agent_executor.js.map +1 -1
  232. package/dist/prebuilt/tool_executor.cjs +45 -67
  233. package/dist/prebuilt/tool_executor.cjs.map +1 -0
  234. package/dist/prebuilt/tool_executor.d.cts +42 -0
  235. package/dist/prebuilt/tool_executor.d.cts.map +1 -0
  236. package/dist/prebuilt/tool_executor.d.ts +30 -24
  237. package/dist/prebuilt/tool_executor.d.ts.map +1 -0
  238. package/dist/prebuilt/tool_executor.js +44 -63
  239. package/dist/prebuilt/tool_executor.js.map +1 -1
  240. package/dist/prebuilt/tool_node.cjs +213 -275
  241. package/dist/prebuilt/tool_node.cjs.map +1 -0
  242. package/dist/prebuilt/tool_node.d.cts +151 -0
  243. package/dist/prebuilt/tool_node.d.cts.map +1 -0
  244. package/dist/prebuilt/tool_node.d.ts +30 -17
  245. package/dist/prebuilt/tool_node.d.ts.map +1 -0
  246. package/dist/prebuilt/tool_node.js +209 -268
  247. package/dist/prebuilt/tool_node.js.map +1 -1
  248. package/dist/pregel/algo.cjs +551 -692
  249. package/dist/pregel/algo.cjs.map +1 -0
  250. package/dist/pregel/algo.d.cts +13 -0
  251. package/dist/pregel/algo.d.cts.map +1 -0
  252. package/dist/pregel/algo.d.ts +8 -38
  253. package/dist/pregel/algo.d.ts.map +1 -0
  254. package/dist/pregel/algo.js +546 -683
  255. package/dist/pregel/algo.js.map +1 -1
  256. package/dist/pregel/call.cjs +46 -42
  257. package/dist/pregel/call.cjs.map +1 -0
  258. package/dist/pregel/call.js +43 -37
  259. package/dist/pregel/call.js.map +1 -1
  260. package/dist/pregel/debug.cjs +153 -223
  261. package/dist/pregel/debug.cjs.map +1 -0
  262. package/dist/pregel/debug.js +152 -215
  263. package/dist/pregel/debug.js.map +1 -1
  264. package/dist/pregel/index.cjs +1138 -1604
  265. package/dist/pregel/index.cjs.map +1 -0
  266. package/dist/pregel/index.d.cts +536 -0
  267. package/dist/pregel/index.d.cts.map +1 -0
  268. package/dist/pregel/index.d.ts +460 -422
  269. package/dist/pregel/index.d.ts.map +1 -0
  270. package/dist/pregel/index.js +1129 -1592
  271. package/dist/pregel/index.js.map +1 -1
  272. package/dist/pregel/io.cjs +127 -234
  273. package/dist/pregel/io.cjs.map +1 -0
  274. package/dist/pregel/io.js +122 -225
  275. package/dist/pregel/io.js.map +1 -1
  276. package/dist/pregel/loop.cjs +542 -954
  277. package/dist/pregel/loop.cjs.map +1 -0
  278. package/dist/pregel/loop.js +539 -948
  279. package/dist/pregel/loop.js.map +1 -1
  280. package/dist/pregel/messages.cjs +104 -196
  281. package/dist/pregel/messages.cjs.map +1 -0
  282. package/dist/pregel/messages.js +102 -191
  283. package/dist/pregel/messages.js.map +1 -1
  284. package/dist/pregel/read.cjs +150 -280
  285. package/dist/pregel/read.cjs.map +1 -0
  286. package/dist/pregel/read.d.cts +51 -0
  287. package/dist/pregel/read.d.cts.map +1 -0
  288. package/dist/pregel/read.d.ts +48 -46
  289. package/dist/pregel/read.d.ts.map +1 -0
  290. package/dist/pregel/read.js +147 -274
  291. package/dist/pregel/read.js.map +1 -1
  292. package/dist/pregel/remote.cjs +339 -458
  293. package/dist/pregel/remote.cjs.map +1 -0
  294. package/dist/pregel/remote.d.cts +121 -0
  295. package/dist/pregel/remote.d.cts.map +1 -0
  296. package/dist/pregel/remote.d.ts +79 -69
  297. package/dist/pregel/remote.d.ts.map +1 -0
  298. package/dist/pregel/remote.js +337 -453
  299. package/dist/pregel/remote.js.map +1 -1
  300. package/dist/pregel/retry.cjs +87 -138
  301. package/dist/pregel/retry.cjs.map +1 -0
  302. package/dist/pregel/retry.js +83 -130
  303. package/dist/pregel/retry.js.map +1 -1
  304. package/dist/pregel/runnable_types.d.cts +49 -0
  305. package/dist/pregel/runnable_types.d.cts.map +1 -0
  306. package/dist/pregel/runnable_types.d.ts +47 -17
  307. package/dist/pregel/runnable_types.d.ts.map +1 -0
  308. package/dist/pregel/runner.cjs +222 -315
  309. package/dist/pregel/runner.cjs.map +1 -0
  310. package/dist/pregel/runner.js +219 -308
  311. package/dist/pregel/runner.js.map +1 -1
  312. package/dist/pregel/stream.cjs +89 -130
  313. package/dist/pregel/stream.cjs.map +1 -0
  314. package/dist/pregel/stream.js +87 -125
  315. package/dist/pregel/stream.js.map +1 -1
  316. package/dist/pregel/types.cjs +25 -62
  317. package/dist/pregel/types.cjs.map +1 -0
  318. package/dist/pregel/types.d.cts +440 -0
  319. package/dist/pregel/types.d.cts.map +1 -0
  320. package/dist/pregel/types.d.ts +381 -432
  321. package/dist/pregel/types.d.ts.map +1 -0
  322. package/dist/pregel/types.js +23 -57
  323. package/dist/pregel/types.js.map +1 -1
  324. package/dist/pregel/utils/config.cjs +101 -147
  325. package/dist/pregel/utils/config.cjs.map +1 -0
  326. package/dist/pregel/utils/config.d.cts +36 -0
  327. package/dist/pregel/utils/config.d.cts.map +1 -0
  328. package/dist/pregel/utils/config.d.ts +12 -9
  329. package/dist/pregel/utils/config.d.ts.map +1 -0
  330. package/dist/pregel/utils/config.js +99 -143
  331. package/dist/pregel/utils/config.js.map +1 -1
  332. package/dist/pregel/utils/index.cjs +87 -125
  333. package/dist/pregel/utils/index.cjs.map +1 -0
  334. package/dist/pregel/utils/index.d.cts +51 -0
  335. package/dist/pregel/utils/index.d.cts.map +1 -0
  336. package/dist/pregel/utils/index.d.ts +45 -61
  337. package/dist/pregel/utils/index.d.ts.map +1 -0
  338. package/dist/pregel/utils/index.js +86 -120
  339. package/dist/pregel/utils/index.js.map +1 -1
  340. package/dist/pregel/utils/subgraph.cjs +15 -26
  341. package/dist/pregel/utils/subgraph.cjs.map +1 -0
  342. package/dist/pregel/utils/subgraph.js +12 -21
  343. package/dist/pregel/utils/subgraph.js.map +1 -1
  344. package/dist/pregel/validate.cjs +42 -92
  345. package/dist/pregel/validate.cjs.map +1 -0
  346. package/dist/pregel/validate.js +39 -84
  347. package/dist/pregel/validate.js.map +1 -1
  348. package/dist/pregel/write.cjs +87 -137
  349. package/dist/pregel/write.cjs.map +1 -0
  350. package/dist/pregel/write.d.cts +35 -0
  351. package/dist/pregel/write.d.cts.map +1 -0
  352. package/dist/pregel/write.d.ts +27 -23
  353. package/dist/pregel/write.d.ts.map +1 -0
  354. package/dist/pregel/write.js +83 -131
  355. package/dist/pregel/write.js.map +1 -1
  356. package/dist/remote.cjs +3 -6
  357. package/dist/remote.d.cts +2 -0
  358. package/dist/remote.d.ts +2 -1
  359. package/dist/remote.js +3 -2
  360. package/dist/setup/async_local_storage.cjs +10 -7
  361. package/dist/setup/async_local_storage.cjs.map +1 -0
  362. package/dist/setup/async_local_storage.js +7 -2
  363. package/dist/setup/async_local_storage.js.map +1 -1
  364. package/dist/ui/index.cjs +4 -0
  365. package/dist/ui/index.d.cts +5 -0
  366. package/dist/ui/index.d.ts +5 -0
  367. package/dist/ui/index.js +3 -0
  368. package/dist/ui/stream.cjs +145 -0
  369. package/dist/ui/stream.cjs.map +1 -0
  370. package/dist/ui/stream.d.cts +25 -0
  371. package/dist/ui/stream.d.cts.map +1 -0
  372. package/dist/ui/stream.d.ts +25 -0
  373. package/dist/ui/stream.d.ts.map +1 -0
  374. package/dist/ui/stream.js +143 -0
  375. package/dist/ui/stream.js.map +1 -0
  376. package/dist/ui/types.infer.d.cts +53 -0
  377. package/dist/ui/types.infer.d.cts.map +1 -0
  378. package/dist/ui/types.infer.d.ts +53 -0
  379. package/dist/ui/types.infer.d.ts.map +1 -0
  380. package/dist/ui/types.message.d.cts +95 -0
  381. package/dist/ui/types.message.d.cts.map +1 -0
  382. package/dist/ui/types.message.d.ts +95 -0
  383. package/dist/ui/types.message.d.ts.map +1 -0
  384. package/dist/ui/types.schema.d.cts +228 -0
  385. package/dist/ui/types.schema.d.cts.map +1 -0
  386. package/dist/ui/types.schema.d.ts +228 -0
  387. package/dist/ui/types.schema.d.ts.map +1 -0
  388. package/dist/utils.cjs +77 -147
  389. package/dist/utils.cjs.map +1 -0
  390. package/dist/utils.d.cts +32 -0
  391. package/dist/utils.d.cts.map +1 -0
  392. package/dist/utils.d.ts +29 -25
  393. package/dist/utils.d.ts.map +1 -0
  394. package/dist/utils.js +73 -140
  395. package/dist/utils.js.map +1 -1
  396. package/dist/web.cjs +96 -55
  397. package/dist/web.d.cts +23 -0
  398. package/dist/web.d.ts +23 -14
  399. package/dist/web.js +15 -8
  400. package/dist/writer.cjs +15 -0
  401. package/dist/writer.cjs.map +1 -0
  402. package/dist/writer.d.cts +5 -0
  403. package/dist/writer.d.cts.map +1 -0
  404. package/dist/writer.d.ts +5 -0
  405. package/dist/writer.d.ts.map +1 -0
  406. package/dist/writer.js +14 -0
  407. package/dist/writer.js.map +1 -0
  408. package/package.json +90 -83
  409. package/dist/channels/index.js.map +0 -1
  410. package/dist/func/types.cjs +0 -15
  411. package/dist/func/types.js +0 -12
  412. package/dist/func/types.js.map +0 -1
  413. package/dist/graph/index.d.ts +0 -4
  414. package/dist/graph/index.js.map +0 -1
  415. package/dist/graph/message.test.cjs +0 -196
  416. package/dist/graph/message.test.d.ts +0 -1
  417. package/dist/graph/message.test.js +0 -194
  418. package/dist/graph/message.test.js.map +0 -1
  419. package/dist/graph/zod/index.js.map +0 -1
  420. package/dist/graph/zod/plugin.d.ts +0 -28
  421. package/dist/hash.d.ts +0 -2
  422. package/dist/prebuilt/index.js.map +0 -1
  423. package/dist/prebuilt/interrupt.cjs +0 -3
  424. package/dist/prebuilt/interrupt.js +0 -2
  425. package/dist/prebuilt/interrupt.js.map +0 -1
  426. package/dist/pregel/call.d.ts +0 -16
  427. package/dist/pregel/debug.d.ts +0 -41
  428. package/dist/pregel/debug.test.cjs +0 -258
  429. package/dist/pregel/debug.test.d.ts +0 -1
  430. package/dist/pregel/debug.test.js +0 -256
  431. package/dist/pregel/debug.test.js.map +0 -1
  432. package/dist/pregel/io.d.ts +0 -30
  433. package/dist/pregel/io.mapCommand.test.cjs +0 -150
  434. package/dist/pregel/io.mapCommand.test.d.ts +0 -1
  435. package/dist/pregel/io.mapCommand.test.js +0 -148
  436. package/dist/pregel/io.mapCommand.test.js.map +0 -1
  437. package/dist/pregel/loop.d.ts +0 -147
  438. package/dist/pregel/messages.d.ts +0 -30
  439. package/dist/pregel/messages.test.cjs +0 -369
  440. package/dist/pregel/messages.test.d.ts +0 -1
  441. package/dist/pregel/messages.test.js +0 -367
  442. package/dist/pregel/messages.test.js.map +0 -1
  443. package/dist/pregel/read.test.cjs +0 -194
  444. package/dist/pregel/read.test.d.ts +0 -1
  445. package/dist/pregel/read.test.js +0 -192
  446. package/dist/pregel/read.test.js.map +0 -1
  447. package/dist/pregel/retry.d.ts +0 -17
  448. package/dist/pregel/runnable_types.cjs +0 -3
  449. package/dist/pregel/runnable_types.js +0 -2
  450. package/dist/pregel/runnable_types.js.map +0 -1
  451. package/dist/pregel/runner.d.ts +0 -79
  452. package/dist/pregel/runner.test.cjs +0 -66
  453. package/dist/pregel/runner.test.d.ts +0 -1
  454. package/dist/pregel/runner.test.js +0 -64
  455. package/dist/pregel/runner.test.js.map +0 -1
  456. package/dist/pregel/stream.d.ts +0 -40
  457. package/dist/pregel/utils/config.test.cjs +0 -214
  458. package/dist/pregel/utils/config.test.d.ts +0 -1
  459. package/dist/pregel/utils/config.test.js +0 -212
  460. package/dist/pregel/utils/config.test.js.map +0 -1
  461. package/dist/pregel/utils/subgraph.d.ts +0 -4
  462. package/dist/pregel/utils/subgraph.test.cjs +0 -83
  463. package/dist/pregel/utils/subgraph.test.d.ts +0 -1
  464. package/dist/pregel/utils/subgraph.test.js +0 -81
  465. package/dist/pregel/utils/subgraph.test.js.map +0 -1
  466. package/dist/pregel/validate.d.ts +0 -16
  467. package/dist/pregel/validate.test.cjs +0 -220
  468. package/dist/pregel/validate.test.d.ts +0 -1
  469. package/dist/pregel/validate.test.js +0 -218
  470. package/dist/pregel/validate.test.js.map +0 -1
  471. package/dist/pregel/write.test.cjs +0 -181
  472. package/dist/pregel/write.test.d.ts +0 -1
  473. package/dist/pregel/write.test.js +0 -179
  474. package/dist/pregel/write.test.js.map +0 -1
  475. package/dist/remote.js.map +0 -1
  476. package/dist/setup/async_local_storage.d.ts +0 -1
  477. package/dist/web.js.map +0 -1
  478. package/index.cjs +0 -1
  479. package/index.d.cts +0 -1
  480. package/index.d.ts +0 -1
  481. package/index.js +0 -1
  482. package/prebuilt.cjs +0 -1
  483. package/prebuilt.d.cts +0 -1
  484. package/prebuilt.d.ts +0 -1
  485. package/prebuilt.js +0 -1
  486. package/pregel.cjs +0 -1
  487. package/pregel.d.cts +0 -1
  488. package/pregel.d.ts +0 -1
  489. package/pregel.js +0 -1
  490. package/remote.cjs +0 -1
  491. package/remote.d.cts +0 -1
  492. package/remote.d.ts +0 -1
  493. package/remote.js +0 -1
  494. package/web.cjs +0 -1
  495. package/web.d.cts +0 -1
  496. package/web.d.ts +0 -1
  497. package/web.js +0 -1
  498. package/zod/schema.cjs +0 -1
  499. package/zod/schema.d.cts +0 -1
  500. package/zod/schema.d.ts +0 -1
  501. package/zod/schema.js +0 -1
  502. package/zod.cjs +0 -1
  503. package/zod.d.cts +0 -1
  504. package/zod.d.ts +0 -1
  505. package/zod.js +0 -1
@@ -1,220 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const validate_js_1 = require("./validate.cjs");
5
- const read_js_1 = require("./read.cjs");
6
- const constants_js_1 = require("../constants.cjs");
7
- const last_value_js_1 = require("../channels/last_value.cjs");
8
- // Common test setup
9
- const setupValidGraph = () => {
10
- // Create test channels
11
- const inputChannel = new last_value_js_1.LastValue();
12
- const outputChannel = new last_value_js_1.LastValue();
13
- // Create test nodes
14
- const testNode = new read_js_1.PregelNode({
15
- channels: {},
16
- triggers: ["input"],
17
- });
18
- return {
19
- nodes: { testNode },
20
- channels: {
21
- input: inputChannel,
22
- output: outputChannel,
23
- },
24
- inputChannels: "input",
25
- outputChannels: "output",
26
- };
27
- };
28
- (0, vitest_1.describe)("GraphValidationError", () => {
29
- (0, vitest_1.it)("should be properly constructed with the right name", () => {
30
- const error = new validate_js_1.GraphValidationError("Test error message");
31
- (0, vitest_1.expect)(error).toBeInstanceOf(Error);
32
- (0, vitest_1.expect)(error.name).toBe("GraphValidationError");
33
- (0, vitest_1.expect)(error.message).toBe("Test error message");
34
- });
35
- });
36
- (0, vitest_1.describe)("validateGraph", () => {
37
- (0, vitest_1.it)("should validate a correct graph without errors", () => {
38
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
39
- // Act & Assert: Should not throw
40
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
41
- nodes,
42
- channels,
43
- inputChannels,
44
- outputChannels,
45
- })).not.toThrow();
46
- });
47
- (0, vitest_1.it)("should throw when channels are not provided", () => {
48
- const { nodes, inputChannels, outputChannels } = setupValidGraph();
49
- // Act & Assert: Should throw with specific message
50
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
51
- nodes,
52
- channels: null,
53
- inputChannels,
54
- outputChannels,
55
- })).toThrow("Channels not provided");
56
- });
57
- (0, vitest_1.it)("should throw when a node is named INTERRUPT", () => {
58
- const { channels, inputChannels, outputChannels } = setupValidGraph();
59
- // Create a node with the reserved name
60
- const badNode = new read_js_1.PregelNode({
61
- channels: {},
62
- triggers: ["input"],
63
- });
64
- // Create nodes object with the reserved name
65
- const nodes = { [constants_js_1.INTERRUPT]: badNode };
66
- // Act & Assert: Should throw specific error
67
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
68
- nodes,
69
- channels,
70
- inputChannels,
71
- outputChannels,
72
- })).toThrow(`"Node name ${constants_js_1.INTERRUPT} is reserved"`);
73
- });
74
- (0, vitest_1.it)("should throw when a node is not a PregelNode instance", () => {
75
- const { channels, inputChannels, outputChannels } = setupValidGraph();
76
- // Create an invalid node (not a PregelNode)
77
- const badNode = {
78
- triggers: ["input"],
79
- func: () => "not a pregel node",
80
- };
81
- // Create nodes object with invalid node
82
- const nodes = {
83
- badNode: badNode,
84
- };
85
- // Act & Assert: Should throw specific error
86
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
87
- nodes,
88
- channels,
89
- inputChannels,
90
- outputChannels,
91
- })).toThrow("Invalid node type object, expected PregelNode");
92
- });
93
- (0, vitest_1.it)("should throw when a subscribed channel is not in channels", () => {
94
- const { channels, inputChannels, outputChannels } = setupValidGraph();
95
- // Create a node that subscribes to a non-existent channel
96
- const badNode = new read_js_1.PregelNode({
97
- channels: {},
98
- triggers: ["nonexistent"],
99
- });
100
- const nodes = { badNode };
101
- // Act & Assert: Should throw specific error
102
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
103
- nodes,
104
- channels,
105
- inputChannels,
106
- outputChannels,
107
- })).toThrow("Subscribed channel 'nonexistent' not in channels");
108
- });
109
- (0, vitest_1.it)("should throw when a singular input channel is not subscribed by any node", () => {
110
- const { nodes, channels } = setupValidGraph();
111
- // Act & Assert: Should throw specific error for an unused input
112
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
113
- nodes,
114
- channels,
115
- inputChannels: "output", // not subscribed by any node
116
- outputChannels: "output",
117
- })).toThrow("Input channel output is not subscribed to by any node");
118
- });
119
- (0, vitest_1.it)("should throw when none of the array input channels are subscribed by any node", () => {
120
- const { nodes, channels } = setupValidGraph();
121
- // Act & Assert: Should throw specific error for unused inputs
122
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
123
- nodes,
124
- channels,
125
- inputChannels: [
126
- "output",
127
- "nonexistent",
128
- ], // neither is subscribed
129
- outputChannels: "output",
130
- })).toThrow("None of the input channels output,nonexistent are subscribed to by any node");
131
- });
132
- (0, vitest_1.it)("should throw when an output channel is not in channels", () => {
133
- const { nodes, channels, inputChannels } = setupValidGraph();
134
- // Act & Assert: Should throw specific error
135
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
136
- nodes,
137
- channels,
138
- inputChannels,
139
- outputChannels: "nonexistent",
140
- })).toThrow("Output channel 'nonexistent' not in channels");
141
- });
142
- (0, vitest_1.it)("should throw when a stream channel is not in channels", () => {
143
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
144
- // Act & Assert: Should throw specific error
145
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
146
- nodes,
147
- channels,
148
- inputChannels,
149
- outputChannels,
150
- streamChannels: "nonexistent",
151
- })).toThrow("Output channel 'nonexistent' not in channels");
152
- });
153
- (0, vitest_1.it)("should throw when an interruptAfterNode is not in nodes", () => {
154
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
155
- // Act & Assert: Should throw specific error
156
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
157
- nodes,
158
- channels,
159
- inputChannels,
160
- outputChannels,
161
- interruptAfterNodes: [
162
- "nonexistentNode",
163
- ],
164
- })).toThrow("Node nonexistentNode not in nodes");
165
- });
166
- (0, vitest_1.it)("should throw when an interruptBeforeNode is not in nodes", () => {
167
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
168
- // Act & Assert: Should throw specific error
169
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
170
- nodes,
171
- channels,
172
- inputChannels,
173
- outputChannels,
174
- interruptBeforeNodes: [
175
- "nonexistentNode",
176
- ],
177
- })).toThrow("Node nonexistentNode not in nodes");
178
- });
179
- (0, vitest_1.it)("should accept '*' as a valid value for interruptAfterNodes", () => {
180
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
181
- // Act & Assert: Should not throw
182
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
183
- nodes,
184
- channels,
185
- inputChannels,
186
- outputChannels,
187
- interruptAfterNodes: "*",
188
- })).not.toThrow();
189
- });
190
- (0, vitest_1.it)("should accept '*' as a valid value for interruptBeforeNodes", () => {
191
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
192
- // Act & Assert: Should not throw
193
- (0, vitest_1.expect)(() => (0, validate_js_1.validateGraph)({
194
- nodes,
195
- channels,
196
- inputChannels,
197
- outputChannels,
198
- interruptBeforeNodes: "*",
199
- })).not.toThrow();
200
- });
201
- });
202
- (0, vitest_1.describe)("validateKeys", () => {
203
- (0, vitest_1.it)("should validate keys that exist in channels", () => {
204
- const { channels } = setupValidGraph();
205
- // Act & Assert: Should not throw for valid keys
206
- (0, vitest_1.expect)(() => (0, validate_js_1.validateKeys)("input", channels)).not.toThrow();
207
- (0, vitest_1.expect)(() => (0, validate_js_1.validateKeys)(["input", "output"], channels)).not.toThrow();
208
- });
209
- (0, vitest_1.it)("should throw when a single key doesn't exist in channels", () => {
210
- const { channels } = setupValidGraph();
211
- // Act & Assert: Should throw with specific message
212
- (0, vitest_1.expect)(() => (0, validate_js_1.validateKeys)("nonexistent", channels)).toThrow("Key nonexistent not found in channels");
213
- });
214
- (0, vitest_1.it)("should throw when any key in an array doesn't exist in channels", () => {
215
- const { channels } = setupValidGraph();
216
- // Act & Assert: Should throw with specific message
217
- (0, vitest_1.expect)(() => (0, validate_js_1.validateKeys)(["input", "nonexistent"], channels)).toThrow("Key nonexistent not found in channels");
218
- });
219
- });
220
- //# sourceMappingURL=validate.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,218 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { GraphValidationError, validateGraph, validateKeys, } from "./validate.js";
3
- import { PregelNode } from "./read.js";
4
- import { INTERRUPT } from "../constants.js";
5
- import { LastValue } from "../channels/last_value.js";
6
- // Common test setup
7
- const setupValidGraph = () => {
8
- // Create test channels
9
- const inputChannel = new LastValue();
10
- const outputChannel = new LastValue();
11
- // Create test nodes
12
- const testNode = new PregelNode({
13
- channels: {},
14
- triggers: ["input"],
15
- });
16
- return {
17
- nodes: { testNode },
18
- channels: {
19
- input: inputChannel,
20
- output: outputChannel,
21
- },
22
- inputChannels: "input",
23
- outputChannels: "output",
24
- };
25
- };
26
- describe("GraphValidationError", () => {
27
- it("should be properly constructed with the right name", () => {
28
- const error = new GraphValidationError("Test error message");
29
- expect(error).toBeInstanceOf(Error);
30
- expect(error.name).toBe("GraphValidationError");
31
- expect(error.message).toBe("Test error message");
32
- });
33
- });
34
- describe("validateGraph", () => {
35
- it("should validate a correct graph without errors", () => {
36
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
37
- // Act & Assert: Should not throw
38
- expect(() => validateGraph({
39
- nodes,
40
- channels,
41
- inputChannels,
42
- outputChannels,
43
- })).not.toThrow();
44
- });
45
- it("should throw when channels are not provided", () => {
46
- const { nodes, inputChannels, outputChannels } = setupValidGraph();
47
- // Act & Assert: Should throw with specific message
48
- expect(() => validateGraph({
49
- nodes,
50
- channels: null,
51
- inputChannels,
52
- outputChannels,
53
- })).toThrow("Channels not provided");
54
- });
55
- it("should throw when a node is named INTERRUPT", () => {
56
- const { channels, inputChannels, outputChannels } = setupValidGraph();
57
- // Create a node with the reserved name
58
- const badNode = new PregelNode({
59
- channels: {},
60
- triggers: ["input"],
61
- });
62
- // Create nodes object with the reserved name
63
- const nodes = { [INTERRUPT]: badNode };
64
- // Act & Assert: Should throw specific error
65
- expect(() => validateGraph({
66
- nodes,
67
- channels,
68
- inputChannels,
69
- outputChannels,
70
- })).toThrow(`"Node name ${INTERRUPT} is reserved"`);
71
- });
72
- it("should throw when a node is not a PregelNode instance", () => {
73
- const { channels, inputChannels, outputChannels } = setupValidGraph();
74
- // Create an invalid node (not a PregelNode)
75
- const badNode = {
76
- triggers: ["input"],
77
- func: () => "not a pregel node",
78
- };
79
- // Create nodes object with invalid node
80
- const nodes = {
81
- badNode: badNode,
82
- };
83
- // Act & Assert: Should throw specific error
84
- expect(() => validateGraph({
85
- nodes,
86
- channels,
87
- inputChannels,
88
- outputChannels,
89
- })).toThrow("Invalid node type object, expected PregelNode");
90
- });
91
- it("should throw when a subscribed channel is not in channels", () => {
92
- const { channels, inputChannels, outputChannels } = setupValidGraph();
93
- // Create a node that subscribes to a non-existent channel
94
- const badNode = new PregelNode({
95
- channels: {},
96
- triggers: ["nonexistent"],
97
- });
98
- const nodes = { badNode };
99
- // Act & Assert: Should throw specific error
100
- expect(() => validateGraph({
101
- nodes,
102
- channels,
103
- inputChannels,
104
- outputChannels,
105
- })).toThrow("Subscribed channel 'nonexistent' not in channels");
106
- });
107
- it("should throw when a singular input channel is not subscribed by any node", () => {
108
- const { nodes, channels } = setupValidGraph();
109
- // Act & Assert: Should throw specific error for an unused input
110
- expect(() => validateGraph({
111
- nodes,
112
- channels,
113
- inputChannels: "output", // not subscribed by any node
114
- outputChannels: "output",
115
- })).toThrow("Input channel output is not subscribed to by any node");
116
- });
117
- it("should throw when none of the array input channels are subscribed by any node", () => {
118
- const { nodes, channels } = setupValidGraph();
119
- // Act & Assert: Should throw specific error for unused inputs
120
- expect(() => validateGraph({
121
- nodes,
122
- channels,
123
- inputChannels: [
124
- "output",
125
- "nonexistent",
126
- ], // neither is subscribed
127
- outputChannels: "output",
128
- })).toThrow("None of the input channels output,nonexistent are subscribed to by any node");
129
- });
130
- it("should throw when an output channel is not in channels", () => {
131
- const { nodes, channels, inputChannels } = setupValidGraph();
132
- // Act & Assert: Should throw specific error
133
- expect(() => validateGraph({
134
- nodes,
135
- channels,
136
- inputChannels,
137
- outputChannels: "nonexistent",
138
- })).toThrow("Output channel 'nonexistent' not in channels");
139
- });
140
- it("should throw when a stream channel is not in channels", () => {
141
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
142
- // Act & Assert: Should throw specific error
143
- expect(() => validateGraph({
144
- nodes,
145
- channels,
146
- inputChannels,
147
- outputChannels,
148
- streamChannels: "nonexistent",
149
- })).toThrow("Output channel 'nonexistent' not in channels");
150
- });
151
- it("should throw when an interruptAfterNode is not in nodes", () => {
152
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
153
- // Act & Assert: Should throw specific error
154
- expect(() => validateGraph({
155
- nodes,
156
- channels,
157
- inputChannels,
158
- outputChannels,
159
- interruptAfterNodes: [
160
- "nonexistentNode",
161
- ],
162
- })).toThrow("Node nonexistentNode not in nodes");
163
- });
164
- it("should throw when an interruptBeforeNode is not in nodes", () => {
165
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
166
- // Act & Assert: Should throw specific error
167
- expect(() => validateGraph({
168
- nodes,
169
- channels,
170
- inputChannels,
171
- outputChannels,
172
- interruptBeforeNodes: [
173
- "nonexistentNode",
174
- ],
175
- })).toThrow("Node nonexistentNode not in nodes");
176
- });
177
- it("should accept '*' as a valid value for interruptAfterNodes", () => {
178
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
179
- // Act & Assert: Should not throw
180
- expect(() => validateGraph({
181
- nodes,
182
- channels,
183
- inputChannels,
184
- outputChannels,
185
- interruptAfterNodes: "*",
186
- })).not.toThrow();
187
- });
188
- it("should accept '*' as a valid value for interruptBeforeNodes", () => {
189
- const { nodes, channels, inputChannels, outputChannels } = setupValidGraph();
190
- // Act & Assert: Should not throw
191
- expect(() => validateGraph({
192
- nodes,
193
- channels,
194
- inputChannels,
195
- outputChannels,
196
- interruptBeforeNodes: "*",
197
- })).not.toThrow();
198
- });
199
- });
200
- describe("validateKeys", () => {
201
- it("should validate keys that exist in channels", () => {
202
- const { channels } = setupValidGraph();
203
- // Act & Assert: Should not throw for valid keys
204
- expect(() => validateKeys("input", channels)).not.toThrow();
205
- expect(() => validateKeys(["input", "output"], channels)).not.toThrow();
206
- });
207
- it("should throw when a single key doesn't exist in channels", () => {
208
- const { channels } = setupValidGraph();
209
- // Act & Assert: Should throw with specific message
210
- expect(() => validateKeys("nonexistent", channels)).toThrow("Key nonexistent not found in channels");
211
- });
212
- it("should throw when any key in an array doesn't exist in channels", () => {
213
- const { channels } = setupValidGraph();
214
- // Act & Assert: Should throw with specific message
215
- expect(() => validateKeys(["input", "nonexistent"], channels)).toThrow("Key nonexistent not found in channels");
216
- });
217
- });
218
- //# sourceMappingURL=validate.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.test.js","sourceRoot":"","sources":["../../src/pregel/validate.test.ts"],"names":[],"mappings":"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"}
@@ -1,181 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const runnables_1 = require("@langchain/core/runnables");
5
- const write_js_1 = require("./write.cjs");
6
- const constants_js_1 = require("../constants.cjs");
7
- const errors_js_1 = require("../errors.cjs");
8
- (0, vitest_1.describe)("ChannelWrite", () => {
9
- (0, vitest_1.it)("should write a value to a channel", async () => {
10
- // Setup write tracking
11
- const writes = [];
12
- // Mock config with send function
13
- const mockSend = vitest_1.vi
14
- .fn()
15
- .mockImplementation((values) => {
16
- writes.push(...values);
17
- });
18
- const config = {
19
- configurable: {
20
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
21
- },
22
- };
23
- // Create a channel write
24
- const write = new write_js_1.ChannelWrite([
25
- { channel: "output", value: "test_output" },
26
- ]);
27
- // Run the write with input
28
- const result = await write.invoke("input_value", config);
29
- // Verify the input is passed through
30
- (0, vitest_1.expect)(result).toBe("input_value");
31
- // Verify the write happened
32
- (0, vitest_1.expect)(writes).toEqual([["output", "test_output"]]);
33
- });
34
- (0, vitest_1.it)("should support writing multiple channels", async () => {
35
- // Setup write tracking
36
- const writes = [];
37
- // Mock config with send function
38
- const mockSend = vitest_1.vi
39
- .fn()
40
- .mockImplementation((values) => {
41
- writes.push(...values);
42
- });
43
- const config = {
44
- configurable: {
45
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
46
- },
47
- };
48
- // Create a channel write with multiple channels
49
- const write = new write_js_1.ChannelWrite([
50
- { channel: "output1", value: "value1" },
51
- { channel: "output2", value: "value2" },
52
- ]);
53
- // Run the write with input
54
- await write.invoke("input_value", config);
55
- // Verify the writes happened
56
- (0, vitest_1.expect)(writes).toEqual([
57
- ["output1", "value1"],
58
- ["output2", "value2"],
59
- ]);
60
- });
61
- (0, vitest_1.it)("should support using PASSTHROUGH to pass input value to channel", async () => {
62
- // Setup write tracking
63
- const writes = [];
64
- // Mock config with send function
65
- const mockSend = vitest_1.vi
66
- .fn()
67
- .mockImplementation((values) => {
68
- writes.push(...values);
69
- });
70
- const config = {
71
- configurable: {
72
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
73
- },
74
- };
75
- // Create a channel write with PASSTHROUGH
76
- const write = new write_js_1.ChannelWrite([{ channel: "output", value: write_js_1.PASSTHROUGH }]);
77
- // Run the write with input
78
- await write.invoke("input_value", config);
79
- // Verify the input value was written to the channel
80
- (0, vitest_1.expect)(writes).toEqual([["output", "input_value"]]);
81
- });
82
- (0, vitest_1.it)("should support using mapper to transform value", async () => {
83
- // Setup write tracking
84
- const writes = [];
85
- // Mock config with send function
86
- const mockSend = vitest_1.vi
87
- .fn()
88
- .mockImplementation((values) => {
89
- writes.push(...values);
90
- });
91
- const config = {
92
- configurable: {
93
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
94
- },
95
- };
96
- // Create a transformer as a Runnable
97
- const transformer = new runnables_1.RunnablePassthrough().pipe((value) => `transformed_${value}`);
98
- // Create a channel write with a mapper
99
- const write = new write_js_1.ChannelWrite([
100
- { channel: "output", value: "original", mapper: transformer },
101
- ]);
102
- // Run the write
103
- await write.invoke("input_value", config);
104
- // Verify the transformed value was written
105
- (0, vitest_1.expect)(writes).toEqual([["output", "transformed_original"]]);
106
- });
107
- (0, vitest_1.it)("should support SKIP_WRITE to conditionally skip writing", async () => {
108
- // Setup write tracking
109
- const writes = [];
110
- // Mock config with send function
111
- const mockSend = vitest_1.vi
112
- .fn()
113
- .mockImplementation((values) => {
114
- writes.push(...values);
115
- });
116
- const config = {
117
- configurable: {
118
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
119
- },
120
- };
121
- // Create a mapper that returns SKIP_WRITE
122
- const conditionalMapper = new runnables_1.RunnablePassthrough().pipe((_) => write_js_1.SKIP_WRITE);
123
- // Create a channel write with writes that should and shouldn't happen
124
- const write = new write_js_1.ChannelWrite([
125
- { channel: "output1", value: "value1" },
126
- { channel: "output2", value: "value2", mapper: conditionalMapper },
127
- ]);
128
- // Run the write
129
- await write.invoke("input_value", config);
130
- // Verify only the first write happened
131
- (0, vitest_1.expect)(writes).toEqual([["output1", "value1"]]);
132
- });
133
- (0, vitest_1.it)("should handle Send objects by writing to TASKS", async () => {
134
- // Setup write tracking
135
- const writes = [];
136
- // Mock config with send function
137
- const mockSend = vitest_1.vi
138
- .fn()
139
- .mockImplementation((values) => {
140
- writes.push(...values);
141
- });
142
- const config = {
143
- configurable: {
144
- [constants_js_1.CONFIG_KEY_SEND]: mockSend,
145
- },
146
- };
147
- // Create a Send object
148
- const send = new constants_js_1.Send("target_node", { arg: "value" });
149
- // Create a channel write with a Send
150
- const write = new write_js_1.ChannelWrite([send]);
151
- // Run the write
152
- await write.invoke("input_value", config);
153
- // Verify the Send was written to the TASKS channel
154
- (0, vitest_1.expect)(writes).toEqual([[constants_js_1.TASKS, send]]);
155
- });
156
- (0, vitest_1.it)("should throw error when trying to write to reserved TASKS channel", async () => {
157
- // Create a channel write with an invalid channel
158
- const write = new write_js_1.ChannelWrite([{ channel: constants_js_1.TASKS, value: "value" }]);
159
- // Mock config with send function
160
- const config = {
161
- configurable: {
162
- [constants_js_1.CONFIG_KEY_SEND]: vitest_1.vi.fn(),
163
- },
164
- };
165
- // Verify it throws an error
166
- await (0, vitest_1.expect)(write.invoke("input_value", config)).rejects.toThrow(errors_js_1.InvalidUpdateError);
167
- await (0, vitest_1.expect)(write.invoke("input_value", config)).rejects.toThrow("Cannot write to the reserved channel TASKS");
168
- });
169
- });
170
- (0, vitest_1.describe)("ChannelWrite static methods", () => {
171
- (0, vitest_1.it)("isWriter should identify ChannelWrite instances", () => {
172
- const write = new write_js_1.ChannelWrite([{ channel: "output", value: "value" }]);
173
- (0, vitest_1.expect)(write_js_1.ChannelWrite.isWriter(write)).toBe(true);
174
- });
175
- (0, vitest_1.it)("registerWriter should mark a Runnable as a writer", () => {
176
- const runnable = new runnables_1.RunnablePassthrough();
177
- const writer = write_js_1.ChannelWrite.registerWriter(runnable);
178
- (0, vitest_1.expect)(write_js_1.ChannelWrite.isWriter(writer)).toBe(true);
179
- });
180
- });
181
- //# sourceMappingURL=write.test.js.map
@@ -1 +0,0 @@
1
- export {};