@langchain/langgraph 0.4.8 → 1.0.0-alpha.0

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 (494) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/README.md +1 -2
  3. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  4. package/dist/channels/any_value.d.cts +26 -0
  5. package/dist/channels/any_value.d.cts.map +1 -0
  6. package/dist/channels/any_value.d.ts +16 -9
  7. package/dist/channels/any_value.d.ts.map +1 -0
  8. package/dist/channels/base.cjs +97 -133
  9. package/dist/channels/base.cjs.map +1 -0
  10. package/dist/channels/base.d.cts +73 -0
  11. package/dist/channels/base.d.cts.map +1 -0
  12. package/dist/channels/base.d.ts +73 -74
  13. package/dist/channels/base.d.ts.map +1 -0
  14. package/dist/channels/base.js +94 -127
  15. package/dist/channels/base.js.map +1 -1
  16. package/dist/channels/binop.cjs +47 -77
  17. package/dist/channels/binop.cjs.map +1 -0
  18. package/dist/channels/binop.d.cts +22 -0
  19. package/dist/channels/binop.d.cts.map +1 -0
  20. package/dist/channels/binop.d.ts +17 -12
  21. package/dist/channels/binop.d.ts.map +1 -0
  22. package/dist/channels/binop.js +45 -71
  23. package/dist/channels/binop.js.map +1 -1
  24. package/dist/channels/dynamic_barrier_value.d.cts +43 -0
  25. package/dist/channels/dynamic_barrier_value.d.cts.map +1 -0
  26. package/dist/channels/dynamic_barrier_value.d.ts +20 -34
  27. package/dist/channels/dynamic_barrier_value.d.ts.map +1 -0
  28. package/dist/channels/ephemeral_value.cjs +46 -70
  29. package/dist/channels/ephemeral_value.cjs.map +1 -0
  30. package/dist/channels/ephemeral_value.d.cts +23 -0
  31. package/dist/channels/ephemeral_value.d.cts.map +1 -0
  32. package/dist/channels/ephemeral_value.d.ts +18 -11
  33. package/dist/channels/ephemeral_value.d.ts.map +1 -0
  34. package/dist/channels/ephemeral_value.js +45 -65
  35. package/dist/channels/ephemeral_value.js.map +1 -1
  36. package/dist/channels/index.cjs +2 -10
  37. package/dist/channels/index.js +4 -3
  38. package/dist/channels/last_value.cjs +91 -140
  39. package/dist/channels/last_value.cjs.map +1 -0
  40. package/dist/channels/last_value.d.cts +30 -0
  41. package/dist/channels/last_value.d.cts.map +1 -0
  42. package/dist/channels/last_value.d.ts +15 -23
  43. package/dist/channels/last_value.d.ts.map +1 -0
  44. package/dist/channels/last_value.js +88 -133
  45. package/dist/channels/last_value.js.map +1 -1
  46. package/dist/channels/named_barrier_value.cjs +114 -170
  47. package/dist/channels/named_barrier_value.cjs.map +1 -0
  48. package/dist/channels/named_barrier_value.d.cts +33 -0
  49. package/dist/channels/named_barrier_value.d.cts.map +1 -0
  50. package/dist/channels/named_barrier_value.d.ts +19 -29
  51. package/dist/channels/named_barrier_value.d.ts.map +1 -0
  52. package/dist/channels/named_barrier_value.js +112 -163
  53. package/dist/channels/named_barrier_value.js.map +1 -1
  54. package/dist/channels/topic.cjs +63 -96
  55. package/dist/channels/topic.cjs.map +1 -0
  56. package/dist/channels/topic.d.cts +26 -0
  57. package/dist/channels/topic.d.cts.map +1 -0
  58. package/dist/channels/topic.d.ts +21 -18
  59. package/dist/channels/topic.d.ts.map +1 -0
  60. package/dist/channels/topic.js +61 -90
  61. package/dist/channels/topic.js.map +1 -1
  62. package/dist/constants.cjs +373 -452
  63. package/dist/constants.cjs.map +1 -0
  64. package/dist/constants.d.cts +284 -0
  65. package/dist/constants.d.cts.map +1 -0
  66. package/dist/constants.d.ts +112 -148
  67. package/dist/constants.d.ts.map +1 -0
  68. package/dist/constants.js +333 -444
  69. package/dist/constants.js.map +1 -1
  70. package/dist/errors.cjs +150 -179
  71. package/dist/errors.cjs.map +1 -0
  72. package/dist/errors.d.cts +80 -0
  73. package/dist/errors.d.cts.map +1 -0
  74. package/dist/errors.d.ts +55 -46
  75. package/dist/errors.d.ts.map +1 -0
  76. package/dist/errors.js +139 -165
  77. package/dist/errors.js.map +1 -1
  78. package/dist/func/index.cjs +289 -290
  79. package/dist/func/index.cjs.map +1 -0
  80. package/dist/func/index.d.cts +289 -0
  81. package/dist/func/index.d.cts.map +1 -0
  82. package/dist/func/index.d.ts +81 -71
  83. package/dist/func/index.d.ts.map +1 -0
  84. package/dist/func/index.js +285 -284
  85. package/dist/func/index.js.map +1 -1
  86. package/dist/func/types.d.cts +64 -0
  87. package/dist/func/types.d.cts.map +1 -0
  88. package/dist/func/types.d.ts +24 -19
  89. package/dist/func/types.d.ts.map +1 -0
  90. package/dist/graph/annotation.cjs +96 -120
  91. package/dist/graph/annotation.cjs.map +1 -0
  92. package/dist/graph/annotation.d.cts +116 -0
  93. package/dist/graph/annotation.d.cts.map +1 -0
  94. package/dist/graph/annotation.d.ts +33 -34
  95. package/dist/graph/annotation.d.ts.map +1 -0
  96. package/dist/graph/annotation.js +91 -112
  97. package/dist/graph/annotation.js.map +1 -1
  98. package/dist/graph/graph.cjs +419 -723
  99. package/dist/graph/graph.cjs.map +1 -0
  100. package/dist/graph/graph.d.cts +131 -0
  101. package/dist/graph/graph.d.cts.map +1 -0
  102. package/dist/graph/graph.d.ts +122 -91
  103. package/dist/graph/graph.d.ts.map +1 -0
  104. package/dist/graph/graph.js +412 -713
  105. package/dist/graph/graph.js.map +1 -1
  106. package/dist/graph/index.cjs +4 -17
  107. package/dist/graph/index.js +6 -5
  108. package/dist/graph/message.cjs +59 -104
  109. package/dist/graph/message.cjs.map +1 -0
  110. package/dist/graph/message.d.cts +19 -0
  111. package/dist/graph/message.d.cts.map +1 -0
  112. package/dist/graph/message.d.ts +11 -10
  113. package/dist/graph/message.d.ts.map +1 -0
  114. package/dist/graph/message.js +56 -98
  115. package/dist/graph/message.js.map +1 -1
  116. package/dist/graph/messages_annotation.cjs +106 -106
  117. package/dist/graph/messages_annotation.cjs.map +1 -0
  118. package/dist/graph/messages_annotation.d.cts +111 -0
  119. package/dist/graph/messages_annotation.d.cts.map +1 -0
  120. package/dist/graph/messages_annotation.d.ts +18 -9
  121. package/dist/graph/messages_annotation.d.ts.map +1 -0
  122. package/dist/graph/messages_annotation.js +100 -100
  123. package/dist/graph/messages_annotation.js.map +1 -1
  124. package/dist/graph/state.cjs +476 -777
  125. package/dist/graph/state.cjs.map +1 -0
  126. package/dist/graph/state.d.cts +216 -0
  127. package/dist/graph/state.d.cts.map +1 -0
  128. package/dist/graph/state.d.ts +129 -134
  129. package/dist/graph/state.d.ts.map +1 -0
  130. package/dist/graph/state.js +470 -768
  131. package/dist/graph/state.js.map +1 -1
  132. package/dist/graph/zod/index.cjs +10 -21
  133. package/dist/graph/zod/index.d.cts +3 -0
  134. package/dist/graph/zod/index.d.ts +3 -3
  135. package/dist/graph/zod/index.js +4 -4
  136. package/dist/graph/zod/meta.cjs +142 -177
  137. package/dist/graph/zod/meta.cjs.map +1 -0
  138. package/dist/graph/zod/meta.d.cts +116 -0
  139. package/dist/graph/zod/meta.d.cts.map +1 -0
  140. package/dist/graph/zod/meta.d.ts +99 -97
  141. package/dist/graph/zod/meta.d.ts.map +1 -0
  142. package/dist/graph/zod/meta.js +136 -170
  143. package/dist/graph/zod/meta.js.map +1 -1
  144. package/dist/graph/zod/plugin.cjs +36 -39
  145. package/dist/graph/zod/plugin.cjs.map +1 -0
  146. package/dist/graph/zod/plugin.js +34 -35
  147. package/dist/graph/zod/plugin.js.map +1 -1
  148. package/dist/graph/zod/schema.cjs +82 -110
  149. package/dist/graph/zod/schema.cjs.map +1 -0
  150. package/dist/graph/zod/schema.d.cts +38 -0
  151. package/dist/graph/zod/schema.d.cts.map +1 -0
  152. package/dist/graph/zod/schema.d.ts +12 -6
  153. package/dist/graph/zod/schema.d.ts.map +1 -0
  154. package/dist/graph/zod/schema.js +77 -103
  155. package/dist/graph/zod/schema.js.map +1 -1
  156. package/dist/graph/zod/zod-registry.cjs +41 -47
  157. package/dist/graph/zod/zod-registry.cjs.map +1 -0
  158. package/dist/graph/zod/zod-registry.d.cts +51 -0
  159. package/dist/graph/zod/zod-registry.d.cts.map +1 -0
  160. package/dist/graph/zod/zod-registry.d.ts +34 -26
  161. package/dist/graph/zod/zod-registry.d.ts.map +1 -0
  162. package/dist/graph/zod/zod-registry.js +37 -41
  163. package/dist/graph/zod/zod-registry.js.map +1 -1
  164. package/dist/hash.cjs +205 -267
  165. package/dist/hash.cjs.map +1 -0
  166. package/dist/hash.js +205 -265
  167. package/dist/hash.js.map +1 -1
  168. package/dist/index.cjs +110 -33
  169. package/dist/index.cjs.map +1 -0
  170. package/dist/index.d.cts +25 -0
  171. package/dist/index.d.ts +25 -5
  172. package/dist/index.js +18 -7
  173. package/dist/index.js.map +1 -1
  174. package/dist/interrupt.cjs +79 -85
  175. package/dist/interrupt.cjs.map +1 -0
  176. package/dist/interrupt.d.cts +49 -0
  177. package/dist/interrupt.d.cts.map +1 -0
  178. package/dist/interrupt.d.ts +6 -1
  179. package/dist/interrupt.d.ts.map +1 -0
  180. package/dist/interrupt.js +76 -80
  181. package/dist/interrupt.js.map +1 -1
  182. package/dist/prebuilt/agentName.cjs +139 -172
  183. package/dist/prebuilt/agentName.cjs.map +1 -0
  184. package/dist/prebuilt/agentName.d.cts +42 -0
  185. package/dist/prebuilt/agentName.d.cts.map +1 -0
  186. package/dist/prebuilt/agentName.d.ts +13 -21
  187. package/dist/prebuilt/agentName.d.ts.map +1 -0
  188. package/dist/prebuilt/agentName.js +139 -168
  189. package/dist/prebuilt/agentName.js.map +1 -1
  190. package/dist/prebuilt/agent_executor.cjs +42 -80
  191. package/dist/prebuilt/agent_executor.cjs.map +1 -0
  192. package/dist/prebuilt/agent_executor.d.cts +57 -0
  193. package/dist/prebuilt/agent_executor.d.cts.map +1 -0
  194. package/dist/prebuilt/agent_executor.d.ts +46 -37
  195. package/dist/prebuilt/agent_executor.d.ts.map +1 -0
  196. package/dist/prebuilt/agent_executor.js +40 -75
  197. package/dist/prebuilt/agent_executor.js.map +1 -1
  198. package/dist/prebuilt/chat_agent_executor.cjs +66 -128
  199. package/dist/prebuilt/chat_agent_executor.cjs.map +1 -0
  200. package/dist/prebuilt/chat_agent_executor.d.cts +23 -0
  201. package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -0
  202. package/dist/prebuilt/chat_agent_executor.d.ts +18 -10
  203. package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -0
  204. package/dist/prebuilt/chat_agent_executor.js +63 -123
  205. package/dist/prebuilt/chat_agent_executor.js.map +1 -1
  206. package/dist/prebuilt/index.cjs +15 -18
  207. package/dist/prebuilt/index.d.cts +8 -0
  208. package/dist/prebuilt/index.d.ts +8 -8
  209. package/dist/prebuilt/index.js +8 -7
  210. package/dist/prebuilt/interrupt.d.cts +73 -0
  211. package/dist/prebuilt/interrupt.d.cts.map +1 -0
  212. package/dist/prebuilt/interrupt.d.ts +32 -15
  213. package/dist/prebuilt/interrupt.d.ts.map +1 -0
  214. package/dist/prebuilt/react_agent_executor.cjs +317 -473
  215. package/dist/prebuilt/react_agent_executor.cjs.map +1 -0
  216. package/dist/prebuilt/react_agent_executor.d.cts +229 -0
  217. package/dist/prebuilt/react_agent_executor.d.cts.map +1 -0
  218. package/dist/prebuilt/react_agent_executor.d.ts +171 -143
  219. package/dist/prebuilt/react_agent_executor.d.ts.map +1 -0
  220. package/dist/prebuilt/react_agent_executor.js +315 -465
  221. package/dist/prebuilt/react_agent_executor.js.map +1 -1
  222. package/dist/prebuilt/tool_executor.cjs +45 -67
  223. package/dist/prebuilt/tool_executor.cjs.map +1 -0
  224. package/dist/prebuilt/tool_executor.d.cts +42 -0
  225. package/dist/prebuilt/tool_executor.d.cts.map +1 -0
  226. package/dist/prebuilt/tool_executor.d.ts +30 -24
  227. package/dist/prebuilt/tool_executor.d.ts.map +1 -0
  228. package/dist/prebuilt/tool_executor.js +44 -63
  229. package/dist/prebuilt/tool_executor.js.map +1 -1
  230. package/dist/prebuilt/tool_node.cjs +213 -275
  231. package/dist/prebuilt/tool_node.cjs.map +1 -0
  232. package/dist/prebuilt/tool_node.d.cts +151 -0
  233. package/dist/prebuilt/tool_node.d.cts.map +1 -0
  234. package/dist/prebuilt/tool_node.d.ts +30 -17
  235. package/dist/prebuilt/tool_node.d.ts.map +1 -0
  236. package/dist/prebuilt/tool_node.js +209 -268
  237. package/dist/prebuilt/tool_node.js.map +1 -1
  238. package/dist/pregel/algo.cjs +521 -692
  239. package/dist/pregel/algo.cjs.map +1 -0
  240. package/dist/pregel/algo.d.cts +13 -0
  241. package/dist/pregel/algo.d.cts.map +1 -0
  242. package/dist/pregel/algo.d.ts +8 -38
  243. package/dist/pregel/algo.d.ts.map +1 -0
  244. package/dist/pregel/algo.js +516 -683
  245. package/dist/pregel/algo.js.map +1 -1
  246. package/dist/pregel/call.cjs +46 -42
  247. package/dist/pregel/call.cjs.map +1 -0
  248. package/dist/pregel/call.js +43 -37
  249. package/dist/pregel/call.js.map +1 -1
  250. package/dist/pregel/debug.cjs +153 -223
  251. package/dist/pregel/debug.cjs.map +1 -0
  252. package/dist/pregel/debug.js +152 -215
  253. package/dist/pregel/debug.js.map +1 -1
  254. package/dist/pregel/index.cjs +1134 -1604
  255. package/dist/pregel/index.cjs.map +1 -0
  256. package/dist/pregel/index.d.cts +534 -0
  257. package/dist/pregel/index.d.cts.map +1 -0
  258. package/dist/pregel/index.d.ts +458 -422
  259. package/dist/pregel/index.d.ts.map +1 -0
  260. package/dist/pregel/index.js +1125 -1592
  261. package/dist/pregel/index.js.map +1 -1
  262. package/dist/pregel/io.cjs +127 -234
  263. package/dist/pregel/io.cjs.map +1 -0
  264. package/dist/pregel/io.js +122 -225
  265. package/dist/pregel/io.js.map +1 -1
  266. package/dist/pregel/loop.cjs +539 -954
  267. package/dist/pregel/loop.cjs.map +1 -0
  268. package/dist/pregel/loop.js +536 -948
  269. package/dist/pregel/loop.js.map +1 -1
  270. package/dist/pregel/messages.cjs +104 -196
  271. package/dist/pregel/messages.cjs.map +1 -0
  272. package/dist/pregel/messages.js +102 -191
  273. package/dist/pregel/messages.js.map +1 -1
  274. package/dist/pregel/read.cjs +150 -280
  275. package/dist/pregel/read.cjs.map +1 -0
  276. package/dist/pregel/read.d.cts +51 -0
  277. package/dist/pregel/read.d.cts.map +1 -0
  278. package/dist/pregel/read.d.ts +48 -46
  279. package/dist/pregel/read.d.ts.map +1 -0
  280. package/dist/pregel/read.js +147 -274
  281. package/dist/pregel/read.js.map +1 -1
  282. package/dist/pregel/remote.cjs +339 -458
  283. package/dist/pregel/remote.cjs.map +1 -0
  284. package/dist/pregel/remote.d.cts +121 -0
  285. package/dist/pregel/remote.d.cts.map +1 -0
  286. package/dist/pregel/remote.d.ts +79 -69
  287. package/dist/pregel/remote.d.ts.map +1 -0
  288. package/dist/pregel/remote.js +337 -453
  289. package/dist/pregel/remote.js.map +1 -1
  290. package/dist/pregel/retry.cjs +87 -138
  291. package/dist/pregel/retry.cjs.map +1 -0
  292. package/dist/pregel/retry.js +83 -130
  293. package/dist/pregel/retry.js.map +1 -1
  294. package/dist/pregel/runnable_types.d.cts +25 -0
  295. package/dist/pregel/runnable_types.d.cts.map +1 -0
  296. package/dist/pregel/runnable_types.d.ts +22 -16
  297. package/dist/pregel/runnable_types.d.ts.map +1 -0
  298. package/dist/pregel/runner.cjs +222 -315
  299. package/dist/pregel/runner.cjs.map +1 -0
  300. package/dist/pregel/runner.js +219 -308
  301. package/dist/pregel/runner.js.map +1 -1
  302. package/dist/pregel/stream.cjs +89 -130
  303. package/dist/pregel/stream.cjs.map +1 -0
  304. package/dist/pregel/stream.js +87 -125
  305. package/dist/pregel/stream.js.map +1 -1
  306. package/dist/pregel/types.cjs +25 -62
  307. package/dist/pregel/types.cjs.map +1 -0
  308. package/dist/pregel/types.d.cts +437 -0
  309. package/dist/pregel/types.d.cts.map +1 -0
  310. package/dist/pregel/types.d.ts +377 -431
  311. package/dist/pregel/types.d.ts.map +1 -0
  312. package/dist/pregel/types.js +23 -57
  313. package/dist/pregel/types.js.map +1 -1
  314. package/dist/pregel/utils/config.cjs +100 -147
  315. package/dist/pregel/utils/config.cjs.map +1 -0
  316. package/dist/pregel/utils/config.d.cts +36 -0
  317. package/dist/pregel/utils/config.d.cts.map +1 -0
  318. package/dist/pregel/utils/config.d.ts +12 -9
  319. package/dist/pregel/utils/config.d.ts.map +1 -0
  320. package/dist/pregel/utils/config.js +98 -143
  321. package/dist/pregel/utils/config.js.map +1 -1
  322. package/dist/pregel/utils/index.cjs +87 -125
  323. package/dist/pregel/utils/index.cjs.map +1 -0
  324. package/dist/pregel/utils/index.d.cts +51 -0
  325. package/dist/pregel/utils/index.d.cts.map +1 -0
  326. package/dist/pregel/utils/index.d.ts +45 -61
  327. package/dist/pregel/utils/index.d.ts.map +1 -0
  328. package/dist/pregel/utils/index.js +86 -120
  329. package/dist/pregel/utils/index.js.map +1 -1
  330. package/dist/pregel/utils/subgraph.cjs +15 -26
  331. package/dist/pregel/utils/subgraph.cjs.map +1 -0
  332. package/dist/pregel/utils/subgraph.js +12 -21
  333. package/dist/pregel/utils/subgraph.js.map +1 -1
  334. package/dist/pregel/validate.cjs +42 -92
  335. package/dist/pregel/validate.cjs.map +1 -0
  336. package/dist/pregel/validate.js +39 -84
  337. package/dist/pregel/validate.js.map +1 -1
  338. package/dist/pregel/write.cjs +87 -137
  339. package/dist/pregel/write.cjs.map +1 -0
  340. package/dist/pregel/write.d.cts +35 -0
  341. package/dist/pregel/write.d.cts.map +1 -0
  342. package/dist/pregel/write.d.ts +27 -23
  343. package/dist/pregel/write.d.ts.map +1 -0
  344. package/dist/pregel/write.js +83 -131
  345. package/dist/pregel/write.js.map +1 -1
  346. package/dist/remote.cjs +3 -6
  347. package/dist/remote.d.cts +2 -0
  348. package/dist/remote.d.ts +2 -1
  349. package/dist/remote.js +3 -2
  350. package/dist/setup/async_local_storage.cjs +10 -7
  351. package/dist/setup/async_local_storage.cjs.map +1 -0
  352. package/dist/setup/async_local_storage.js +7 -2
  353. package/dist/setup/async_local_storage.js.map +1 -1
  354. package/dist/ui/index.cjs +4 -0
  355. package/dist/ui/index.d.cts +5 -0
  356. package/dist/ui/index.d.ts +5 -0
  357. package/dist/ui/index.js +3 -0
  358. package/dist/ui/stream.cjs +145 -0
  359. package/dist/ui/stream.cjs.map +1 -0
  360. package/dist/ui/stream.d.cts +25 -0
  361. package/dist/ui/stream.d.cts.map +1 -0
  362. package/dist/ui/stream.d.ts +25 -0
  363. package/dist/ui/stream.d.ts.map +1 -0
  364. package/dist/ui/stream.js +143 -0
  365. package/dist/ui/stream.js.map +1 -0
  366. package/dist/ui/types.infer.d.cts +53 -0
  367. package/dist/ui/types.infer.d.cts.map +1 -0
  368. package/dist/ui/types.infer.d.ts +53 -0
  369. package/dist/ui/types.infer.d.ts.map +1 -0
  370. package/dist/ui/types.message.d.cts +95 -0
  371. package/dist/ui/types.message.d.cts.map +1 -0
  372. package/dist/ui/types.message.d.ts +95 -0
  373. package/dist/ui/types.message.d.ts.map +1 -0
  374. package/dist/ui/types.schema.d.cts +228 -0
  375. package/dist/ui/types.schema.d.cts.map +1 -0
  376. package/dist/ui/types.schema.d.ts +228 -0
  377. package/dist/ui/types.schema.d.ts.map +1 -0
  378. package/dist/utils.cjs +77 -147
  379. package/dist/utils.cjs.map +1 -0
  380. package/dist/utils.d.cts +32 -0
  381. package/dist/utils.d.cts.map +1 -0
  382. package/dist/utils.d.ts +29 -25
  383. package/dist/utils.d.ts.map +1 -0
  384. package/dist/utils.js +73 -140
  385. package/dist/utils.js.map +1 -1
  386. package/dist/web.cjs +97 -55
  387. package/dist/web.d.cts +23 -0
  388. package/dist/web.d.ts +23 -14
  389. package/dist/web.js +15 -8
  390. package/package.json +83 -86
  391. package/dist/channels/any_value.cjs +0 -65
  392. package/dist/channels/any_value.js +0 -61
  393. package/dist/channels/any_value.js.map +0 -1
  394. package/dist/channels/dynamic_barrier_value.cjs +0 -212
  395. package/dist/channels/dynamic_barrier_value.js +0 -207
  396. package/dist/channels/dynamic_barrier_value.js.map +0 -1
  397. package/dist/channels/index.d.ts +0 -7
  398. package/dist/channels/index.js.map +0 -1
  399. package/dist/func/types.cjs +0 -15
  400. package/dist/func/types.js +0 -12
  401. package/dist/func/types.js.map +0 -1
  402. package/dist/graph/index.d.ts +0 -4
  403. package/dist/graph/index.js.map +0 -1
  404. package/dist/graph/message.test.cjs +0 -196
  405. package/dist/graph/message.test.d.ts +0 -1
  406. package/dist/graph/message.test.js +0 -194
  407. package/dist/graph/message.test.js.map +0 -1
  408. package/dist/graph/zod/index.js.map +0 -1
  409. package/dist/graph/zod/plugin.d.ts +0 -28
  410. package/dist/hash.d.ts +0 -2
  411. package/dist/prebuilt/index.js.map +0 -1
  412. package/dist/prebuilt/interrupt.cjs +0 -3
  413. package/dist/prebuilt/interrupt.js +0 -2
  414. package/dist/prebuilt/interrupt.js.map +0 -1
  415. package/dist/pregel/call.d.ts +0 -16
  416. package/dist/pregel/debug.d.ts +0 -41
  417. package/dist/pregel/debug.test.cjs +0 -258
  418. package/dist/pregel/debug.test.d.ts +0 -1
  419. package/dist/pregel/debug.test.js +0 -256
  420. package/dist/pregel/debug.test.js.map +0 -1
  421. package/dist/pregel/io.d.ts +0 -30
  422. package/dist/pregel/io.mapCommand.test.cjs +0 -150
  423. package/dist/pregel/io.mapCommand.test.d.ts +0 -1
  424. package/dist/pregel/io.mapCommand.test.js +0 -148
  425. package/dist/pregel/io.mapCommand.test.js.map +0 -1
  426. package/dist/pregel/loop.d.ts +0 -147
  427. package/dist/pregel/messages.d.ts +0 -30
  428. package/dist/pregel/messages.test.cjs +0 -369
  429. package/dist/pregel/messages.test.d.ts +0 -1
  430. package/dist/pregel/messages.test.js +0 -367
  431. package/dist/pregel/messages.test.js.map +0 -1
  432. package/dist/pregel/read.test.cjs +0 -194
  433. package/dist/pregel/read.test.d.ts +0 -1
  434. package/dist/pregel/read.test.js +0 -192
  435. package/dist/pregel/read.test.js.map +0 -1
  436. package/dist/pregel/retry.d.ts +0 -17
  437. package/dist/pregel/runnable_types.cjs +0 -3
  438. package/dist/pregel/runnable_types.js +0 -2
  439. package/dist/pregel/runnable_types.js.map +0 -1
  440. package/dist/pregel/runner.d.ts +0 -79
  441. package/dist/pregel/runner.test.cjs +0 -66
  442. package/dist/pregel/runner.test.d.ts +0 -1
  443. package/dist/pregel/runner.test.js +0 -64
  444. package/dist/pregel/runner.test.js.map +0 -1
  445. package/dist/pregel/stream.d.ts +0 -40
  446. package/dist/pregel/utils/config.test.cjs +0 -214
  447. package/dist/pregel/utils/config.test.d.ts +0 -1
  448. package/dist/pregel/utils/config.test.js +0 -212
  449. package/dist/pregel/utils/config.test.js.map +0 -1
  450. package/dist/pregel/utils/subgraph.d.ts +0 -4
  451. package/dist/pregel/utils/subgraph.test.cjs +0 -83
  452. package/dist/pregel/utils/subgraph.test.d.ts +0 -1
  453. package/dist/pregel/utils/subgraph.test.js +0 -81
  454. package/dist/pregel/utils/subgraph.test.js.map +0 -1
  455. package/dist/pregel/validate.d.ts +0 -16
  456. package/dist/pregel/validate.test.cjs +0 -220
  457. package/dist/pregel/validate.test.d.ts +0 -1
  458. package/dist/pregel/validate.test.js +0 -218
  459. package/dist/pregel/validate.test.js.map +0 -1
  460. package/dist/pregel/write.test.cjs +0 -181
  461. package/dist/pregel/write.test.d.ts +0 -1
  462. package/dist/pregel/write.test.js +0 -179
  463. package/dist/pregel/write.test.js.map +0 -1
  464. package/dist/remote.js.map +0 -1
  465. package/dist/setup/async_local_storage.d.ts +0 -1
  466. package/dist/web.js.map +0 -1
  467. package/index.cjs +0 -1
  468. package/index.d.cts +0 -1
  469. package/index.d.ts +0 -1
  470. package/index.js +0 -1
  471. package/prebuilt.cjs +0 -1
  472. package/prebuilt.d.cts +0 -1
  473. package/prebuilt.d.ts +0 -1
  474. package/prebuilt.js +0 -1
  475. package/pregel.cjs +0 -1
  476. package/pregel.d.cts +0 -1
  477. package/pregel.d.ts +0 -1
  478. package/pregel.js +0 -1
  479. package/remote.cjs +0 -1
  480. package/remote.d.cts +0 -1
  481. package/remote.d.ts +0 -1
  482. package/remote.js +0 -1
  483. package/web.cjs +0 -1
  484. package/web.d.cts +0 -1
  485. package/web.d.ts +0 -1
  486. package/web.js +0 -1
  487. package/zod/schema.cjs +0 -1
  488. package/zod/schema.d.cts +0 -1
  489. package/zod/schema.d.ts +0 -1
  490. package/zod/schema.js +0 -1
  491. package/zod.cjs +0 -1
  492. package/zod.d.cts +0 -1
  493. package/zod.d.ts +0 -1
  494. package/zod.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.cjs","names":["INTERRUPT","PregelNode"],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM;AACN,OAAK,OAAO;;;AAIhB,SAAgB,cAGd,EACA,OACA,UACA,eACA,gBACA,gBACA,qBACA,wBASO;AACP,KAAI,CAAC,SACH,OAAM,IAAI,qBAAqB;CAGjC,MAAM,qCAAqB,IAAI;CAC/B,MAAM,oCAAoB,IAAI;AAE9B,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,QAAQ;AAChD,MAAI,SAASA,4BACX,OAAM,IAAI,qBAAqB,cAAcA,4BAAU;AAEzD,MAAI,KAAK,gBAAgBC,wBACvB,MAAK,SAAS,SAAS,YAAY,mBAAmB,IAAI;MAE1D,OAAM,IAAI,qBACR,qBAAqB,OAAO,KAAK;;AAMvC,MAAK,MAAM,QAAQ,mBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,uBAAuB,OAAO,MAAM;AAK1C,KAAI,CAAC,MAAM,QAAQ,gBACjB;MAAI,CAAC,mBAAmB,IAAI,eAC1B,OAAM,IAAI,qBACR,iBAAiB,OACf,eACA;YAIF,cAAc,OAAO,YAAY,CAAC,mBAAmB,IAAI,UAC3D,OAAM,IAAI,qBACR,8BAA8B,cAAc;AAKlD,KAAI,CAAC,MAAM,QAAQ,gBACjB,mBAAkB,IAAI;KAEtB,gBAAe,SAAS,SAAS,kBAAkB,IAAI;AAGzD,KAAI,kBAAkB,CAAC,MAAM,QAAQ,gBACnC,mBAAkB,IAAI;UACb,MAAM,QAAQ,gBACvB,gBAAe,SAAS,SAAS,kBAAkB,IAAI;AAGzD,MAAK,MAAM,QAAQ,kBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,mBAAmB,OAAO,MAAM;AAMtC,KAAI,uBAAuB,wBAAwB,KACjD;OAAK,MAAM,QAAQ,oBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,MAAM;;AAK1D,KAAI,wBAAwB,yBAAyB,KACnD;OAAK,MAAM,QAAQ,qBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,MAAM;;;AAM5D,SAAgB,aACd,MACA,UACM;AACN,KAAI,MAAM,QAAQ,OAChB;OAAK,MAAM,OAAO,KAChB,KAAI,EAAE,OAAO,UACX,OAAM,IAAI,MAAM,OAAO,OAAO,KAAK;YAInC,EAAE,QAAQ,UACZ,OAAM,IAAI,MAAM,OAAO,OAAO,MAAM"}
@@ -1,89 +1,44 @@
1
1
  import { INTERRUPT } from "../constants.js";
2
2
  import { PregelNode } from "./read.js";
3
- export class GraphValidationError extends Error {
4
- constructor(message) {
5
- super(message);
6
- this.name = "GraphValidationError";
7
- }
3
+
4
+ //#region src/pregel/validate.ts
5
+ var GraphValidationError = class extends Error {
6
+ constructor(message) {
7
+ super(message);
8
+ this.name = "GraphValidationError";
9
+ }
10
+ };
11
+ function validateGraph({ nodes, channels, inputChannels, outputChannels, streamChannels, interruptAfterNodes, interruptBeforeNodes }) {
12
+ if (!channels) throw new GraphValidationError("Channels not provided");
13
+ const subscribedChannels = /* @__PURE__ */ new Set();
14
+ const allOutputChannels = /* @__PURE__ */ new Set();
15
+ for (const [name, node] of Object.entries(nodes)) {
16
+ if (name === INTERRUPT) throw new GraphValidationError(`"Node name ${INTERRUPT} is reserved"`);
17
+ if (node.constructor === PregelNode) node.triggers.forEach((trigger) => subscribedChannels.add(trigger));
18
+ else throw new GraphValidationError(`Invalid node type ${typeof node}, expected PregelNode`);
19
+ }
20
+ for (const chan of subscribedChannels) if (!(chan in channels)) throw new GraphValidationError(`Subscribed channel '${String(chan)}' not in channels`);
21
+ if (!Array.isArray(inputChannels)) {
22
+ if (!subscribedChannels.has(inputChannels)) throw new GraphValidationError(`Input channel ${String(inputChannels)} is not subscribed to by any node`);
23
+ } else if (inputChannels.every((channel) => !subscribedChannels.has(channel))) throw new GraphValidationError(`None of the input channels ${inputChannels} are subscribed to by any node`);
24
+ if (!Array.isArray(outputChannels)) allOutputChannels.add(outputChannels);
25
+ else outputChannels.forEach((chan) => allOutputChannels.add(chan));
26
+ if (streamChannels && !Array.isArray(streamChannels)) allOutputChannels.add(streamChannels);
27
+ else if (Array.isArray(streamChannels)) streamChannels.forEach((chan) => allOutputChannels.add(chan));
28
+ for (const chan of allOutputChannels) if (!(chan in channels)) throw new GraphValidationError(`Output channel '${String(chan)}' not in channels`);
29
+ if (interruptAfterNodes && interruptAfterNodes !== "*") {
30
+ for (const node of interruptAfterNodes) if (!(node in nodes)) throw new GraphValidationError(`Node ${String(node)} not in nodes`);
31
+ }
32
+ if (interruptBeforeNodes && interruptBeforeNodes !== "*") {
33
+ for (const node of interruptBeforeNodes) if (!(node in nodes)) throw new GraphValidationError(`Node ${String(node)} not in nodes`);
34
+ }
8
35
  }
9
- export function validateGraph({ nodes, channels, inputChannels, outputChannels, streamChannels, interruptAfterNodes, interruptBeforeNodes, }) {
10
- if (!channels) {
11
- throw new GraphValidationError("Channels not provided");
12
- }
13
- const subscribedChannels = new Set();
14
- const allOutputChannels = new Set();
15
- for (const [name, node] of Object.entries(nodes)) {
16
- if (name === INTERRUPT) {
17
- throw new GraphValidationError(`"Node name ${INTERRUPT} is reserved"`);
18
- }
19
- if (node.constructor === PregelNode) {
20
- node.triggers.forEach((trigger) => subscribedChannels.add(trigger));
21
- }
22
- else {
23
- throw new GraphValidationError(`Invalid node type ${typeof node}, expected PregelNode`);
24
- }
25
- }
26
- // side effect: update channels
27
- for (const chan of subscribedChannels) {
28
- if (!(chan in channels)) {
29
- throw new GraphValidationError(`Subscribed channel '${String(chan)}' not in channels`);
30
- }
31
- }
32
- if (!Array.isArray(inputChannels)) {
33
- if (!subscribedChannels.has(inputChannels)) {
34
- throw new GraphValidationError(`Input channel ${String(inputChannels)} is not subscribed to by any node`);
35
- }
36
- }
37
- else {
38
- if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {
39
- throw new GraphValidationError(`None of the input channels ${inputChannels} are subscribed to by any node`);
40
- }
41
- }
42
- if (!Array.isArray(outputChannels)) {
43
- allOutputChannels.add(outputChannels);
44
- }
45
- else {
46
- outputChannels.forEach((chan) => allOutputChannels.add(chan));
47
- }
48
- if (streamChannels && !Array.isArray(streamChannels)) {
49
- allOutputChannels.add(streamChannels);
50
- }
51
- else if (Array.isArray(streamChannels)) {
52
- streamChannels.forEach((chan) => allOutputChannels.add(chan));
53
- }
54
- for (const chan of allOutputChannels) {
55
- if (!(chan in channels)) {
56
- throw new GraphValidationError(`Output channel '${String(chan)}' not in channels`);
57
- }
58
- }
59
- // validate interrupt before/after
60
- if (interruptAfterNodes && interruptAfterNodes !== "*") {
61
- for (const node of interruptAfterNodes) {
62
- if (!(node in nodes)) {
63
- throw new GraphValidationError(`Node ${String(node)} not in nodes`);
64
- }
65
- }
66
- }
67
- if (interruptBeforeNodes && interruptBeforeNodes !== "*") {
68
- for (const node of interruptBeforeNodes) {
69
- if (!(node in nodes)) {
70
- throw new GraphValidationError(`Node ${String(node)} not in nodes`);
71
- }
72
- }
73
- }
74
- }
75
- export function validateKeys(keys, channels) {
76
- if (Array.isArray(keys)) {
77
- for (const key of keys) {
78
- if (!(key in channels)) {
79
- throw new Error(`Key ${String(key)} not found in channels`);
80
- }
81
- }
82
- }
83
- else {
84
- if (!(keys in channels)) {
85
- throw new Error(`Key ${String(keys)} not found in channels`);
86
- }
87
- }
36
+ function validateKeys(keys, channels) {
37
+ if (Array.isArray(keys)) {
38
+ for (const key of keys) if (!(key in channels)) throw new Error(`Key ${String(key)} not found in channels`);
39
+ } else if (!(keys in channels)) throw new Error(`Key ${String(keys)} not found in channels`);
88
40
  }
41
+
42
+ //#endregion
43
+ export { validateGraph, validateKeys };
89
44
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/pregel/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","names":[],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM;AACN,OAAK,OAAO;;;AAIhB,SAAgB,cAGd,EACA,OACA,UACA,eACA,gBACA,gBACA,qBACA,wBASO;AACP,KAAI,CAAC,SACH,OAAM,IAAI,qBAAqB;CAGjC,MAAM,qCAAqB,IAAI;CAC/B,MAAM,oCAAoB,IAAI;AAE9B,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,QAAQ;AAChD,MAAI,SAAS,UACX,OAAM,IAAI,qBAAqB,cAAc,UAAU;AAEzD,MAAI,KAAK,gBAAgB,WACvB,MAAK,SAAS,SAAS,YAAY,mBAAmB,IAAI;MAE1D,OAAM,IAAI,qBACR,qBAAqB,OAAO,KAAK;;AAMvC,MAAK,MAAM,QAAQ,mBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,uBAAuB,OAAO,MAAM;AAK1C,KAAI,CAAC,MAAM,QAAQ,gBACjB;MAAI,CAAC,mBAAmB,IAAI,eAC1B,OAAM,IAAI,qBACR,iBAAiB,OACf,eACA;YAIF,cAAc,OAAO,YAAY,CAAC,mBAAmB,IAAI,UAC3D,OAAM,IAAI,qBACR,8BAA8B,cAAc;AAKlD,KAAI,CAAC,MAAM,QAAQ,gBACjB,mBAAkB,IAAI;KAEtB,gBAAe,SAAS,SAAS,kBAAkB,IAAI;AAGzD,KAAI,kBAAkB,CAAC,MAAM,QAAQ,gBACnC,mBAAkB,IAAI;UACb,MAAM,QAAQ,gBACvB,gBAAe,SAAS,SAAS,kBAAkB,IAAI;AAGzD,MAAK,MAAM,QAAQ,kBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,mBAAmB,OAAO,MAAM;AAMtC,KAAI,uBAAuB,wBAAwB,KACjD;OAAK,MAAM,QAAQ,oBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,MAAM;;AAK1D,KAAI,wBAAwB,yBAAyB,KACnD;OAAK,MAAM,QAAQ,qBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,MAAM;;;AAM5D,SAAgB,aACd,MACA,UACM;AACN,KAAI,MAAM,QAAQ,OAChB;OAAK,MAAM,OAAO,KAChB,KAAI,EAAE,OAAO,UACX,OAAM,IAAI,MAAM,OAAO,OAAO,KAAK;YAInC,EAAE,QAAQ,UACZ,OAAM,IAAI,MAAM,OAAO,OAAO,MAAM"}
@@ -1,147 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChannelWrite = exports.PASSTHROUGH = exports.SKIP_WRITE = void 0;
4
- const runnables_1 = require("@langchain/core/runnables");
5
- const constants_js_1 = require("../constants.cjs");
6
- const utils_js_1 = require("../utils.cjs");
7
- const errors_js_1 = require("../errors.cjs");
8
- exports.SKIP_WRITE = {
9
- [Symbol.for("LG_SKIP_WRITE")]: true,
10
- };
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const require_errors = require('../errors.cjs');
3
+ const require_constants = require('../constants.cjs');
4
+ const require_utils = require('../utils.cjs');
5
+ const __langchain_core_runnables = require_rolldown_runtime.__toESM(require("@langchain/core/runnables"));
6
+
7
+ //#region src/pregel/write.ts
8
+ const SKIP_WRITE = { [Symbol.for("LG_SKIP_WRITE")]: true };
11
9
  function _isSkipWrite(x) {
12
- return (typeof x === "object" &&
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- x?.[Symbol.for("LG_SKIP_WRITE")] !== undefined);
10
+ return typeof x === "object" && x?.[Symbol.for("LG_SKIP_WRITE")] !== void 0;
15
11
  }
16
- exports.PASSTHROUGH = {
17
- [Symbol.for("LG_PASSTHROUGH")]: true,
18
- };
12
+ const PASSTHROUGH = { [Symbol.for("LG_PASSTHROUGH")]: true };
19
13
  function _isPassthrough(x) {
20
- return (typeof x === "object" &&
21
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- x?.[Symbol.for("LG_PASSTHROUGH")] !== undefined);
14
+ return typeof x === "object" && x?.[Symbol.for("LG_PASSTHROUGH")] !== void 0;
23
15
  }
24
16
  const IS_WRITER = Symbol("IS_WRITER");
25
17
  /**
26
- * Mapping of write channels to Runnables that return the value to be written,
27
- * or None to skip writing.
28
- */
29
- class ChannelWrite extends utils_js_1.RunnableCallable {
30
- constructor(writes, tags) {
31
- const name = `ChannelWrite<${writes
32
- .map((packet) => {
33
- if ((0, constants_js_1._isSend)(packet)) {
34
- return packet.node;
35
- }
36
- else if ("channel" in packet) {
37
- return packet.channel;
38
- }
39
- return "...";
40
- })
41
- .join(",")}>`;
42
- super({
43
- ...{ writes, name, tags },
44
- func: async (input, config) => {
45
- return this._write(input, config ?? {});
46
- },
47
- });
48
- Object.defineProperty(this, "writes", {
49
- enumerable: true,
50
- configurable: true,
51
- writable: true,
52
- value: void 0
53
- });
54
- this.writes = writes;
55
- }
56
- async _write(input, config) {
57
- const writes = this.writes.map((write) => {
58
- if (_isChannelWriteTupleEntry(write) && _isPassthrough(write.value)) {
59
- return {
60
- mapper: write.mapper,
61
- value: input,
62
- };
63
- }
64
- else if (_isChannelWriteEntry(write) && _isPassthrough(write.value)) {
65
- return {
66
- channel: write.channel,
67
- value: input,
68
- skipNone: write.skipNone,
69
- mapper: write.mapper,
70
- };
71
- }
72
- else {
73
- return write;
74
- }
75
- });
76
- await ChannelWrite.doWrite(config, writes);
77
- return input;
78
- }
79
- // TODO: Support requireAtLeastOneOf
80
- static async doWrite(config, writes) {
81
- // validate
82
- for (const w of writes) {
83
- if (_isChannelWriteEntry(w)) {
84
- if (w.channel === constants_js_1.TASKS) {
85
- throw new errors_js_1.InvalidUpdateError("Cannot write to the reserved channel TASKS");
86
- }
87
- if (_isPassthrough(w.value)) {
88
- throw new errors_js_1.InvalidUpdateError("PASSTHROUGH value must be replaced");
89
- }
90
- }
91
- if (_isChannelWriteTupleEntry(w)) {
92
- if (_isPassthrough(w.value)) {
93
- throw new errors_js_1.InvalidUpdateError("PASSTHROUGH value must be replaced");
94
- }
95
- }
96
- }
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
- const writeEntries = [];
99
- for (const w of writes) {
100
- if ((0, constants_js_1._isSend)(w)) {
101
- writeEntries.push([constants_js_1.TASKS, w]);
102
- }
103
- else if (_isChannelWriteTupleEntry(w)) {
104
- const mappedResult = await w.mapper.invoke(w.value, config);
105
- if (mappedResult != null && mappedResult.length > 0) {
106
- writeEntries.push(...mappedResult);
107
- }
108
- }
109
- else if (_isChannelWriteEntry(w)) {
110
- const mappedValue = w.mapper !== undefined
111
- ? await w.mapper.invoke(w.value, config)
112
- : w.value;
113
- if (_isSkipWrite(mappedValue)) {
114
- continue;
115
- }
116
- if (w.skipNone && mappedValue === undefined) {
117
- continue;
118
- }
119
- writeEntries.push([w.channel, mappedValue]);
120
- }
121
- else {
122
- throw new Error(`Invalid write entry: ${JSON.stringify(w)}`);
123
- }
124
- }
125
- const write = config.configurable?.[constants_js_1.CONFIG_KEY_SEND];
126
- write(writeEntries);
127
- }
128
- static isWriter(runnable) {
129
- return (
130
- // eslint-disable-next-line no-instanceof/no-instanceof
131
- runnable instanceof ChannelWrite ||
132
- (IS_WRITER in runnable && !!runnable[IS_WRITER]));
133
- }
134
- static registerWriter(runnable) {
135
- return Object.defineProperty(runnable, IS_WRITER, { value: true });
136
- }
137
- }
138
- exports.ChannelWrite = ChannelWrite;
18
+ * Mapping of write channels to Runnables that return the value to be written,
19
+ * or None to skip writing.
20
+ */
21
+ var ChannelWrite = class ChannelWrite extends require_utils.RunnableCallable {
22
+ writes;
23
+ constructor(writes, tags) {
24
+ const name = `ChannelWrite<${writes.map((packet) => {
25
+ if (require_constants._isSend(packet)) return packet.node;
26
+ else if ("channel" in packet) return packet.channel;
27
+ return "...";
28
+ }).join(",")}>`;
29
+ super({
30
+ writes,
31
+ name,
32
+ tags,
33
+ func: async (input, config) => {
34
+ return this._write(input, config ?? {});
35
+ }
36
+ });
37
+ this.writes = writes;
38
+ }
39
+ async _write(input, config) {
40
+ const writes = this.writes.map((write) => {
41
+ if (_isChannelWriteTupleEntry(write) && _isPassthrough(write.value)) return {
42
+ mapper: write.mapper,
43
+ value: input
44
+ };
45
+ else if (_isChannelWriteEntry(write) && _isPassthrough(write.value)) return {
46
+ channel: write.channel,
47
+ value: input,
48
+ skipNone: write.skipNone,
49
+ mapper: write.mapper
50
+ };
51
+ else return write;
52
+ });
53
+ await ChannelWrite.doWrite(config, writes);
54
+ return input;
55
+ }
56
+ static async doWrite(config, writes) {
57
+ for (const w of writes) {
58
+ if (_isChannelWriteEntry(w)) {
59
+ if (w.channel === require_constants.TASKS) throw new require_errors.InvalidUpdateError("Cannot write to the reserved channel TASKS");
60
+ if (_isPassthrough(w.value)) throw new require_errors.InvalidUpdateError("PASSTHROUGH value must be replaced");
61
+ }
62
+ if (_isChannelWriteTupleEntry(w)) {
63
+ if (_isPassthrough(w.value)) throw new require_errors.InvalidUpdateError("PASSTHROUGH value must be replaced");
64
+ }
65
+ }
66
+ const writeEntries = [];
67
+ for (const w of writes) if (require_constants._isSend(w)) writeEntries.push([require_constants.TASKS, w]);
68
+ else if (_isChannelWriteTupleEntry(w)) {
69
+ const mappedResult = await w.mapper.invoke(w.value, config);
70
+ if (mappedResult != null && mappedResult.length > 0) writeEntries.push(...mappedResult);
71
+ } else if (_isChannelWriteEntry(w)) {
72
+ const mappedValue = w.mapper !== void 0 ? await w.mapper.invoke(w.value, config) : w.value;
73
+ if (_isSkipWrite(mappedValue)) continue;
74
+ if (w.skipNone && mappedValue === void 0) continue;
75
+ writeEntries.push([w.channel, mappedValue]);
76
+ } else throw new Error(`Invalid write entry: ${JSON.stringify(w)}`);
77
+ const write = config.configurable?.[require_constants.CONFIG_KEY_SEND];
78
+ write(writeEntries);
79
+ }
80
+ static isWriter(runnable) {
81
+ return runnable instanceof ChannelWrite || IS_WRITER in runnable && !!runnable[IS_WRITER];
82
+ }
83
+ static registerWriter(runnable) {
84
+ return Object.defineProperty(runnable, IS_WRITER, { value: true });
85
+ }
86
+ };
139
87
  function _isChannelWriteEntry(x) {
140
- return (x !== undefined && typeof x.channel === "string");
88
+ return x !== void 0 && typeof x.channel === "string";
141
89
  }
142
90
  function _isChannelWriteTupleEntry(x) {
143
- return (x !== undefined &&
144
- !_isChannelWriteEntry(x) &&
145
- runnables_1.Runnable.isRunnable(x.mapper));
91
+ return x !== void 0 && !_isChannelWriteEntry(x) && __langchain_core_runnables.Runnable.isRunnable(x.mapper);
146
92
  }
147
- //# sourceMappingURL=write.js.map
93
+
94
+ //#endregion
95
+ exports.ChannelWrite = ChannelWrite;
96
+ exports.PASSTHROUGH = PASSTHROUGH;
97
+ //# sourceMappingURL=write.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.cjs","names":["RunnableCallable","_isSend","TASKS","InvalidUpdateError","writeEntries: [string, any][]","write: TYPE_SEND","CONFIG_KEY_SEND","Runnable"],"sources":["../../src/pregel/write.ts"],"sourcesContent":["import {\n Runnable,\n RunnableConfig,\n RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { _isSend, CONFIG_KEY_SEND, Send, TASKS } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport { InvalidUpdateError } from \"../errors.js\";\n\ntype TYPE_SEND = (values: Array<[string, unknown]>) => void;\n\nexport const SKIP_WRITE = {\n [Symbol.for(\"LG_SKIP_WRITE\")]: true,\n};\n\nfunction _isSkipWrite(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_SKIP_WRITE\")] !== undefined\n );\n}\n\nexport const PASSTHROUGH = {\n [Symbol.for(\"LG_PASSTHROUGH\")]: true,\n};\n\nfunction _isPassthrough(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_PASSTHROUGH\")] !== undefined\n );\n}\n\nconst IS_WRITER = Symbol(\"IS_WRITER\");\n\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport class ChannelWrite<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any\n> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n\n constructor(\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>,\n tags?: string[]\n ) {\n const name = `ChannelWrite<${writes\n .map((packet) => {\n if (_isSend(packet)) {\n return packet.node;\n } else if (\"channel\" in packet) {\n return packet.channel;\n }\n return \"...\";\n })\n .join(\",\")}>`;\n super({\n ...{ writes, name, tags },\n func: async (input: RunInput, config?: RunnableConfig) => {\n return this._write(input, config ?? {});\n },\n });\n\n this.writes = writes;\n }\n\n async _write(input: unknown, config: RunnableConfig): Promise<unknown> {\n const writes = this.writes.map((write) => {\n if (_isChannelWriteTupleEntry(write) && _isPassthrough(write.value)) {\n return {\n mapper: write.mapper,\n value: input,\n };\n } else if (_isChannelWriteEntry(write) && _isPassthrough(write.value)) {\n return {\n channel: write.channel,\n value: input,\n skipNone: write.skipNone,\n mapper: write.mapper,\n };\n } else {\n return write;\n }\n });\n await ChannelWrite.doWrite(config, writes);\n return input;\n }\n\n // TODO: Support requireAtLeastOneOf\n static async doWrite(\n config: RunnableConfig,\n writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]\n ): Promise<void> {\n // validate\n for (const w of writes) {\n if (_isChannelWriteEntry(w)) {\n if (w.channel === TASKS) {\n throw new InvalidUpdateError(\n \"Cannot write to the reserved channel TASKS\"\n );\n }\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n if (_isChannelWriteTupleEntry(w)) {\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const writeEntries: [string, any][] = [];\n for (const w of writes) {\n if (_isSend(w)) {\n writeEntries.push([TASKS, w]);\n } else if (_isChannelWriteTupleEntry(w)) {\n const mappedResult = await w.mapper.invoke(w.value, config);\n if (mappedResult != null && mappedResult.length > 0) {\n writeEntries.push(...mappedResult);\n }\n } else if (_isChannelWriteEntry(w)) {\n const mappedValue =\n w.mapper !== undefined\n ? await w.mapper.invoke(w.value, config)\n : w.value;\n if (_isSkipWrite(mappedValue)) {\n continue;\n }\n if (w.skipNone && mappedValue === undefined) {\n continue;\n }\n writeEntries.push([w.channel, mappedValue]);\n } else {\n throw new Error(`Invalid write entry: ${JSON.stringify(w)}`);\n }\n }\n const write: TYPE_SEND = config.configurable?.[CONFIG_KEY_SEND];\n write(writeEntries);\n }\n\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite {\n return (\n // eslint-disable-next-line no-instanceof/no-instanceof\n runnable instanceof ChannelWrite ||\n (IS_WRITER in runnable && !!runnable[IS_WRITER])\n );\n }\n\n static registerWriter<T extends Runnable>(runnable: T): T {\n return Object.defineProperty(runnable, IS_WRITER, { value: true });\n }\n}\n\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\n\nfunction _isChannelWriteEntry(x: unknown): x is ChannelWriteEntry {\n return (\n x !== undefined && typeof (x as ChannelWriteEntry).channel === \"string\"\n );\n}\n\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper: Runnable<any, [string, any][]>;\n}\n\nfunction _isChannelWriteTupleEntry(x: unknown): x is ChannelWriteTupleEntry {\n return (\n x !== undefined &&\n !_isChannelWriteEntry(x) &&\n Runnable.isRunnable((x as ChannelWriteTupleEntry).mapper)\n );\n}\n"],"mappings":";;;;;;;AAWA,MAAa,aAAa,GACvB,OAAO,IAAI,mBAAmB;AAGjC,SAAS,aAAa,GAAY;AAChC,QACE,OAAO,MAAM,YAEZ,IAAY,OAAO,IAAI,sBAAsB;;AAIlD,MAAa,cAAc,GACxB,OAAO,IAAI,oBAAoB;AAGlC,SAAS,eAAe,GAAY;AAClC,QACE,OAAO,MAAM,YAEZ,IAAY,OAAO,IAAI,uBAAuB;;AAInD,MAAM,YAAY,OAAO;;;;;AAMzB,IAAa,eAAb,MAAa,qBAGHA,+BAAqC;CAC7C;CAEA,YACE,QACA,MACA;EACA,MAAM,OAAO,gBAAgB,OAC1B,KAAK,WAAW;AACf,OAAIC,0BAAQ,QACV,QAAO,OAAO;YACL,aAAa,OACtB,QAAO,OAAO;AAEhB,UAAO;KAER,KAAK,KAAK;AACb,QAAM;GACC;GAAQ;GAAM;GACnB,MAAM,OAAO,OAAiB,WAA4B;AACxD,WAAO,KAAK,OAAO,OAAO,UAAU;;;AAIxC,OAAK,SAAS;;CAGhB,MAAM,OAAO,OAAgB,QAA0C;EACrE,MAAM,SAAS,KAAK,OAAO,KAAK,UAAU;AACxC,OAAI,0BAA0B,UAAU,eAAe,MAAM,OAC3D,QAAO;IACL,QAAQ,MAAM;IACd,OAAO;;YAEA,qBAAqB,UAAU,eAAe,MAAM,OAC7D,QAAO;IACL,SAAS,MAAM;IACf,OAAO;IACP,UAAU,MAAM;IAChB,QAAQ,MAAM;;OAGhB,QAAO;;AAGX,QAAM,aAAa,QAAQ,QAAQ;AACnC,SAAO;;CAIT,aAAa,QACX,QACA,QACe;AAEf,OAAK,MAAM,KAAK,QAAQ;AACtB,OAAI,qBAAqB,IAAI;AAC3B,QAAI,EAAE,YAAYC,wBAChB,OAAM,IAAIC,kCACR;AAGJ,QAAI,eAAe,EAAE,OACnB,OAAM,IAAIA,kCAAmB;;AAGjC,OAAI,0BAA0B,IAC5B;QAAI,eAAe,EAAE,OACnB,OAAM,IAAIA,kCAAmB;;;EAKnC,MAAMC,eAAgC;AACtC,OAAK,MAAM,KAAK,OACd,KAAIH,0BAAQ,GACV,cAAa,KAAK,CAACC,yBAAO;WACjB,0BAA0B,IAAI;GACvC,MAAM,eAAe,MAAM,EAAE,OAAO,OAAO,EAAE,OAAO;AACpD,OAAI,gBAAgB,QAAQ,aAAa,SAAS,EAChD,cAAa,KAAK,GAAG;aAEd,qBAAqB,IAAI;GAClC,MAAM,cACJ,EAAE,WAAW,SACT,MAAM,EAAE,OAAO,OAAO,EAAE,OAAO,UAC/B,EAAE;AACR,OAAI,aAAa,aACf;AAEF,OAAI,EAAE,YAAY,gBAAgB,OAChC;AAEF,gBAAa,KAAK,CAAC,EAAE,SAAS;QAE9B,OAAM,IAAI,MAAM,wBAAwB,KAAK,UAAU;EAG3D,MAAMG,QAAmB,OAAO,eAAeC;AAC/C,QAAM;;CAGR,OAAO,SAAS,UAAkD;AAChE,SAEE,oBAAoB,gBACnB,aAAa,YAAY,CAAC,CAAC,SAAS;;CAIzC,OAAO,eAAmC,UAAgB;AACxD,SAAO,OAAO,eAAe,UAAU,WAAW,EAAE,OAAO;;;AAW/D,SAAS,qBAAqB,GAAoC;AAChE,QACE,MAAM,UAAa,OAAQ,EAAwB,YAAY;;AAUnE,SAAS,0BAA0B,GAAyC;AAC1E,QACE,MAAM,UACN,CAAC,qBAAqB,MACtBC,oCAAS,WAAY,EAA6B"}
@@ -0,0 +1,35 @@
1
+ import { RunnableCallable } from "../utils.cjs";
2
+ import { Send } from "../constants.cjs";
3
+ import { Runnable, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
4
+
5
+ //#region src/pregel/write.d.ts
6
+
7
+ /**
8
+ * Mapping of write channels to Runnables that return the value to be written,
9
+ * or None to skip writing.
10
+ */
11
+ declare class ChannelWrite<
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ RunInput = any> extends RunnableCallable<RunInput, RunInput> {
14
+ writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;
15
+ constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);
16
+ _write(input: unknown, config: RunnableConfig): Promise<unknown>;
17
+ // TODO: Support requireAtLeastOneOf
18
+ static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;
19
+ static isWriter(runnable: RunnableLike): runnable is ChannelWrite;
20
+ static registerWriter<T extends Runnable>(runnable: T): T;
21
+ }
22
+ interface ChannelWriteEntry {
23
+ channel: string;
24
+ value: unknown;
25
+ skipNone?: boolean;
26
+ mapper?: Runnable;
27
+ }
28
+ interface ChannelWriteTupleEntry {
29
+ value: unknown;
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ mapper: Runnable<any, [string, any][]>;
32
+ }
33
+ //#endregion
34
+ export { ChannelWrite };
35
+ //# sourceMappingURL=write.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.cts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite<\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nRunInput = any> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);\n _write(input: unknown, config: RunnableConfig): Promise<unknown>;\n // TODO: Support requireAtLeastOneOf\n static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite;\n static registerWriter<T extends Runnable>(runnable: T): T;\n}\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper: Runnable<any, [string, any][]>;\n}\n"],"mappings":";;;;;;;;;;AAiB8BS,cAJTF,YAISE;;WAA6CN,GAAAA,CAAAA,SAFnDC,gBAEmDD,CAFlCK,QAEkCL,EAFxBK,QAEwBL,CAAAA,CAAAA;QAAnDQ,EADZA,KACYA,CADNF,iBACME,GADcD,sBACdC,GADuCR,IACvCQ,CAAAA;aACWV,CAAAA,MAAAA,EADXU,KACWV,CADLQ,iBACKR,GADeS,sBACfT,GADwCE,IACxCF,CAAAA,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;QAAiBW,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,MAAAA,EAAjBX,cAAiBW,CAAAA,EAAAA,OAAAA,CAAAA,OAAAA,CAAAA;;SAEAH,OAAAA,CAAAA,MAAAA,EAAzBR,cAAyBQ,EAAAA,MAAAA,EAAAA,CAAAA,iBAAAA,GAAoBC,sBAApBD,GAA6CN,IAA7CM,CAAAA,EAAAA,CAAAA,EAAuDG,OAAvDH,CAAAA,IAAAA,CAAAA;SAAoBC,QAAAA,CAAAA,QAAAA,EAC1CR,YAD0CQ,CAAAA,EAAAA,QAAAA,IACfH,YADeG;SAAyBP,cAAAA,CAAAA,UAE7DH,QAF6DG,CAAAA,CAAAA,QAAAA,EAEzCU,CAFyCV,CAAAA,EAErCU,CAFqCV;;AACnED,UAGbO,iBAAAA,CAHaP;SAA2BK,EAAAA,MAAAA;OACrBP,EAAAA,OAAAA;UAAoBa,CAAAA,EAAAA,OAAAA;QAAIA,CAAAA,EAM/Cb,QAN+Ca;;UAQ3CH,sBAAAA;EANAD,KAAAA,EAAAA,OAAAA;EAMAC;UAGLV"}
@@ -1,31 +1,35 @@
1
- import { Runnable, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
2
- import { Send } from "../constants.js";
3
1
  import { RunnableCallable } from "../utils.js";
4
- export declare const SKIP_WRITE: {
5
- [x: symbol]: boolean;
6
- };
7
- export declare const PASSTHROUGH: {
8
- [x: symbol]: boolean;
9
- };
2
+ import { Send } from "../constants.js";
3
+ import { Runnable, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
4
+
5
+ //#region src/pregel/write.d.ts
6
+
10
7
  /**
11
8
  * Mapping of write channels to Runnables that return the value to be written,
12
9
  * or None to skip writing.
13
10
  */
14
- export declare class ChannelWrite<RunInput = any> extends RunnableCallable<RunInput, RunInput> {
15
- writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;
16
- constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);
17
- _write(input: unknown, config: RunnableConfig): Promise<unknown>;
18
- static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;
19
- static isWriter(runnable: RunnableLike): runnable is ChannelWrite;
20
- static registerWriter<T extends Runnable>(runnable: T): T;
11
+ declare class ChannelWrite<
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ RunInput = any> extends RunnableCallable<RunInput, RunInput> {
14
+ writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;
15
+ constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);
16
+ _write(input: unknown, config: RunnableConfig): Promise<unknown>;
17
+ // TODO: Support requireAtLeastOneOf
18
+ static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;
19
+ static isWriter(runnable: RunnableLike): runnable is ChannelWrite;
20
+ static registerWriter<T extends Runnable>(runnable: T): T;
21
21
  }
22
- export interface ChannelWriteEntry {
23
- channel: string;
24
- value: unknown;
25
- skipNone?: boolean;
26
- mapper?: Runnable;
22
+ interface ChannelWriteEntry {
23
+ channel: string;
24
+ value: unknown;
25
+ skipNone?: boolean;
26
+ mapper?: Runnable;
27
27
  }
28
- export interface ChannelWriteTupleEntry {
29
- value: unknown;
30
- mapper: Runnable<any, [string, any][]>;
28
+ interface ChannelWriteTupleEntry {
29
+ value: unknown;
30
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ mapper: Runnable<any, [string, any][]>;
31
32
  }
33
+ //#endregion
34
+ export { ChannelWrite };
35
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite<\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nRunInput = any> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);\n _write(input: unknown, config: RunnableConfig): Promise<unknown>;\n // TODO: Support requireAtLeastOneOf\n static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite;\n static registerWriter<T extends Runnable>(runnable: T): T;\n}\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper: Runnable<any, [string, any][]>;\n}\n"],"mappings":";;;;;;;;;;AAiB8BS,cAJTF,YAISE;;WAA6CN,GAAAA,CAAAA,SAFnDC,gBAEmDD,CAFlCK,QAEkCL,EAFxBK,QAEwBL,CAAAA,CAAAA;QAAnDQ,EADZA,KACYA,CADNF,iBACME,GADcD,sBACdC,GADuCR,IACvCQ,CAAAA;aACWV,CAAAA,MAAAA,EADXU,KACWV,CADLQ,iBACKR,GADeS,sBACfT,GADwCE,IACxCF,CAAAA,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;QAAiBW,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,MAAAA,EAAjBX,cAAiBW,CAAAA,EAAAA,OAAAA,CAAAA,OAAAA,CAAAA;;SAEAH,OAAAA,CAAAA,MAAAA,EAAzBR,cAAyBQ,EAAAA,MAAAA,EAAAA,CAAAA,iBAAAA,GAAoBC,sBAApBD,GAA6CN,IAA7CM,CAAAA,EAAAA,CAAAA,EAAuDG,OAAvDH,CAAAA,IAAAA,CAAAA;SAAoBC,QAAAA,CAAAA,QAAAA,EAC1CR,YAD0CQ,CAAAA,EAAAA,QAAAA,IACfH,YADeG;SAAyBP,cAAAA,CAAAA,UAE7DH,QAF6DG,CAAAA,CAAAA,QAAAA,EAEzCU,CAFyCV,CAAAA,EAErCU,CAFqCV;;AACnED,UAGbO,iBAAAA,CAHaP;SAA2BK,EAAAA,MAAAA;OACrBP,EAAAA,OAAAA;UAAoBa,CAAAA,EAAAA,OAAAA;QAAIA,CAAAA,EAM/Cb,QAN+Ca;;UAQ3CH,sBAAAA;EANAD,KAAAA,EAAAA,OAAAA;EAMAC;UAGLV"}