@langchain/langgraph 1.0.7 → 1.0.12

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 (383) hide show
  1. package/package.json +7 -7
  2. package/CHANGELOG.md +0 -286
  3. package/dist/_virtual/rolldown_runtime.cjs +0 -25
  4. package/dist/channels/any_value.cjs +0 -46
  5. package/dist/channels/any_value.cjs.map +0 -1
  6. package/dist/channels/any_value.d.cts +0 -24
  7. package/dist/channels/any_value.d.cts.map +0 -1
  8. package/dist/channels/any_value.d.ts +0 -24
  9. package/dist/channels/any_value.d.ts.map +0 -1
  10. package/dist/channels/any_value.js +0 -46
  11. package/dist/channels/any_value.js.map +0 -1
  12. package/dist/channels/base.cjs +0 -102
  13. package/dist/channels/base.cjs.map +0 -1
  14. package/dist/channels/base.d.cts +0 -79
  15. package/dist/channels/base.d.cts.map +0 -1
  16. package/dist/channels/base.d.ts +0 -79
  17. package/dist/channels/base.d.ts.map +0 -1
  18. package/dist/channels/base.js +0 -97
  19. package/dist/channels/base.js.map +0 -1
  20. package/dist/channels/binop.cjs +0 -49
  21. package/dist/channels/binop.cjs.map +0 -1
  22. package/dist/channels/binop.d.cts +0 -22
  23. package/dist/channels/binop.d.cts.map +0 -1
  24. package/dist/channels/binop.d.ts +0 -22
  25. package/dist/channels/binop.d.ts.map +0 -1
  26. package/dist/channels/binop.js +0 -49
  27. package/dist/channels/binop.js.map +0 -1
  28. package/dist/channels/dynamic_barrier_value.cjs +0 -76
  29. package/dist/channels/dynamic_barrier_value.cjs.map +0 -1
  30. package/dist/channels/dynamic_barrier_value.d.cts +0 -42
  31. package/dist/channels/dynamic_barrier_value.d.cts.map +0 -1
  32. package/dist/channels/dynamic_barrier_value.d.ts +0 -42
  33. package/dist/channels/dynamic_barrier_value.d.ts.map +0 -1
  34. package/dist/channels/dynamic_barrier_value.js +0 -76
  35. package/dist/channels/dynamic_barrier_value.js.map +0 -1
  36. package/dist/channels/ephemeral_value.cjs +0 -46
  37. package/dist/channels/ephemeral_value.cjs.map +0 -1
  38. package/dist/channels/ephemeral_value.d.cts +0 -22
  39. package/dist/channels/ephemeral_value.d.cts.map +0 -1
  40. package/dist/channels/ephemeral_value.d.ts +0 -22
  41. package/dist/channels/ephemeral_value.d.ts.map +0 -1
  42. package/dist/channels/ephemeral_value.js +0 -46
  43. package/dist/channels/ephemeral_value.js.map +0 -1
  44. package/dist/channels/index.cjs +0 -21
  45. package/dist/channels/index.d.cts +0 -9
  46. package/dist/channels/index.d.ts +0 -9
  47. package/dist/channels/index.js +0 -10
  48. package/dist/channels/last_value.cjs +0 -98
  49. package/dist/channels/last_value.cjs.map +0 -1
  50. package/dist/channels/last_value.d.cts +0 -44
  51. package/dist/channels/last_value.d.cts.map +0 -1
  52. package/dist/channels/last_value.d.ts +0 -44
  53. package/dist/channels/last_value.d.ts.map +0 -1
  54. package/dist/channels/last_value.js +0 -97
  55. package/dist/channels/last_value.js.map +0 -1
  56. package/dist/channels/named_barrier_value.cjs +0 -118
  57. package/dist/channels/named_barrier_value.cjs.map +0 -1
  58. package/dist/channels/named_barrier_value.d.cts +0 -46
  59. package/dist/channels/named_barrier_value.d.cts.map +0 -1
  60. package/dist/channels/named_barrier_value.d.ts +0 -46
  61. package/dist/channels/named_barrier_value.d.ts.map +0 -1
  62. package/dist/channels/named_barrier_value.js +0 -116
  63. package/dist/channels/named_barrier_value.js.map +0 -1
  64. package/dist/channels/topic.cjs +0 -65
  65. package/dist/channels/topic.cjs.map +0 -1
  66. package/dist/channels/topic.d.cts +0 -32
  67. package/dist/channels/topic.d.cts.map +0 -1
  68. package/dist/channels/topic.d.ts +0 -32
  69. package/dist/channels/topic.d.ts.map +0 -1
  70. package/dist/channels/topic.js +0 -65
  71. package/dist/channels/topic.js.map +0 -1
  72. package/dist/constants.cjs +0 -406
  73. package/dist/constants.cjs.map +0 -1
  74. package/dist/constants.d.cts +0 -285
  75. package/dist/constants.d.cts.map +0 -1
  76. package/dist/constants.d.ts +0 -285
  77. package/dist/constants.d.ts.map +0 -1
  78. package/dist/constants.js +0 -362
  79. package/dist/constants.js.map +0 -1
  80. package/dist/errors.cjs +0 -163
  81. package/dist/errors.cjs.map +0 -1
  82. package/dist/errors.d.cts +0 -81
  83. package/dist/errors.d.cts.map +0 -1
  84. package/dist/errors.d.ts +0 -81
  85. package/dist/errors.d.ts.map +0 -1
  86. package/dist/errors.js +0 -146
  87. package/dist/errors.js.map +0 -1
  88. package/dist/func/index.cjs +0 -301
  89. package/dist/func/index.cjs.map +0 -1
  90. package/dist/func/index.d.cts +0 -293
  91. package/dist/func/index.d.cts.map +0 -1
  92. package/dist/func/index.d.ts +0 -293
  93. package/dist/func/index.d.ts.map +0 -1
  94. package/dist/func/index.js +0 -298
  95. package/dist/func/index.js.map +0 -1
  96. package/dist/func/types.d.cts +0 -64
  97. package/dist/func/types.d.cts.map +0 -1
  98. package/dist/func/types.d.ts +0 -64
  99. package/dist/func/types.d.ts.map +0 -1
  100. package/dist/graph/annotation.cjs +0 -101
  101. package/dist/graph/annotation.cjs.map +0 -1
  102. package/dist/graph/annotation.d.cts +0 -116
  103. package/dist/graph/annotation.d.cts.map +0 -1
  104. package/dist/graph/annotation.d.ts +0 -116
  105. package/dist/graph/annotation.d.ts.map +0 -1
  106. package/dist/graph/annotation.js +0 -99
  107. package/dist/graph/annotation.js.map +0 -1
  108. package/dist/graph/graph.cjs +0 -423
  109. package/dist/graph/graph.cjs.map +0 -1
  110. package/dist/graph/graph.d.cts +0 -132
  111. package/dist/graph/graph.d.cts.map +0 -1
  112. package/dist/graph/graph.d.ts +0 -132
  113. package/dist/graph/graph.d.ts.map +0 -1
  114. package/dist/graph/graph.js +0 -420
  115. package/dist/graph/graph.js.map +0 -1
  116. package/dist/graph/index.cjs +0 -5
  117. package/dist/graph/index.js +0 -7
  118. package/dist/graph/message.cjs +0 -99
  119. package/dist/graph/message.cjs.map +0 -1
  120. package/dist/graph/message.d.cts +0 -40
  121. package/dist/graph/message.d.cts.map +0 -1
  122. package/dist/graph/message.d.ts +0 -40
  123. package/dist/graph/message.d.ts.map +0 -1
  124. package/dist/graph/message.js +0 -95
  125. package/dist/graph/message.js.map +0 -1
  126. package/dist/graph/messages_annotation.cjs +0 -110
  127. package/dist/graph/messages_annotation.cjs.map +0 -1
  128. package/dist/graph/messages_annotation.d.cts +0 -112
  129. package/dist/graph/messages_annotation.d.cts.map +0 -1
  130. package/dist/graph/messages_annotation.d.ts +0 -112
  131. package/dist/graph/messages_annotation.d.ts.map +0 -1
  132. package/dist/graph/messages_annotation.js +0 -107
  133. package/dist/graph/messages_annotation.js.map +0 -1
  134. package/dist/graph/state.cjs +0 -501
  135. package/dist/graph/state.cjs.map +0 -1
  136. package/dist/graph/state.d.cts +0 -236
  137. package/dist/graph/state.d.cts.map +0 -1
  138. package/dist/graph/state.d.ts +0 -236
  139. package/dist/graph/state.d.ts.map +0 -1
  140. package/dist/graph/state.js +0 -499
  141. package/dist/graph/state.js.map +0 -1
  142. package/dist/graph/zod/index.cjs +0 -10
  143. package/dist/graph/zod/index.d.cts +0 -3
  144. package/dist/graph/zod/index.d.ts +0 -3
  145. package/dist/graph/zod/index.js +0 -5
  146. package/dist/graph/zod/meta.cjs +0 -145
  147. package/dist/graph/zod/meta.cjs.map +0 -1
  148. package/dist/graph/zod/meta.d.cts +0 -116
  149. package/dist/graph/zod/meta.d.cts.map +0 -1
  150. package/dist/graph/zod/meta.d.ts +0 -116
  151. package/dist/graph/zod/meta.d.ts.map +0 -1
  152. package/dist/graph/zod/meta.js +0 -141
  153. package/dist/graph/zod/meta.js.map +0 -1
  154. package/dist/graph/zod/plugin.cjs +0 -41
  155. package/dist/graph/zod/plugin.cjs.map +0 -1
  156. package/dist/graph/zod/plugin.js +0 -41
  157. package/dist/graph/zod/plugin.js.map +0 -1
  158. package/dist/graph/zod/schema.cjs +0 -99
  159. package/dist/graph/zod/schema.cjs.map +0 -1
  160. package/dist/graph/zod/schema.d.cts +0 -38
  161. package/dist/graph/zod/schema.d.cts.map +0 -1
  162. package/dist/graph/zod/schema.d.ts +0 -38
  163. package/dist/graph/zod/schema.d.ts.map +0 -1
  164. package/dist/graph/zod/schema.js +0 -94
  165. package/dist/graph/zod/schema.js.map +0 -1
  166. package/dist/graph/zod/zod-registry.cjs +0 -43
  167. package/dist/graph/zod/zod-registry.cjs.map +0 -1
  168. package/dist/graph/zod/zod-registry.d.cts +0 -51
  169. package/dist/graph/zod/zod-registry.d.cts.map +0 -1
  170. package/dist/graph/zod/zod-registry.d.ts +0 -51
  171. package/dist/graph/zod/zod-registry.d.ts.map +0 -1
  172. package/dist/graph/zod/zod-registry.js +0 -41
  173. package/dist/graph/zod/zod-registry.js.map +0 -1
  174. package/dist/hash.cjs +0 -271
  175. package/dist/hash.cjs.map +0 -1
  176. package/dist/hash.js +0 -269
  177. package/dist/hash.js.map +0 -1
  178. package/dist/index.cjs +0 -112
  179. package/dist/index.cjs.map +0 -1
  180. package/dist/index.d.cts +0 -26
  181. package/dist/index.d.ts +0 -26
  182. package/dist/index.js +0 -22
  183. package/dist/index.js.map +0 -1
  184. package/dist/interrupt.cjs +0 -82
  185. package/dist/interrupt.cjs.map +0 -1
  186. package/dist/interrupt.d.cts +0 -58
  187. package/dist/interrupt.d.cts.map +0 -1
  188. package/dist/interrupt.d.ts +0 -58
  189. package/dist/interrupt.d.ts.map +0 -1
  190. package/dist/interrupt.js +0 -81
  191. package/dist/interrupt.js.map +0 -1
  192. package/dist/prebuilt/agentName.cjs +0 -153
  193. package/dist/prebuilt/agentName.cjs.map +0 -1
  194. package/dist/prebuilt/agentName.d.cts +0 -42
  195. package/dist/prebuilt/agentName.d.cts.map +0 -1
  196. package/dist/prebuilt/agentName.d.ts +0 -42
  197. package/dist/prebuilt/agentName.d.ts.map +0 -1
  198. package/dist/prebuilt/agentName.js +0 -152
  199. package/dist/prebuilt/agentName.js.map +0 -1
  200. package/dist/prebuilt/agent_executor.cjs +0 -44
  201. package/dist/prebuilt/agent_executor.cjs.map +0 -1
  202. package/dist/prebuilt/agent_executor.d.cts +0 -58
  203. package/dist/prebuilt/agent_executor.d.cts.map +0 -1
  204. package/dist/prebuilt/agent_executor.d.ts +0 -58
  205. package/dist/prebuilt/agent_executor.d.ts.map +0 -1
  206. package/dist/prebuilt/agent_executor.js +0 -44
  207. package/dist/prebuilt/agent_executor.js.map +0 -1
  208. package/dist/prebuilt/chat_agent_executor.cjs +0 -68
  209. package/dist/prebuilt/chat_agent_executor.cjs.map +0 -1
  210. package/dist/prebuilt/chat_agent_executor.d.cts +0 -23
  211. package/dist/prebuilt/chat_agent_executor.d.cts.map +0 -1
  212. package/dist/prebuilt/chat_agent_executor.d.ts +0 -23
  213. package/dist/prebuilt/chat_agent_executor.d.ts.map +0 -1
  214. package/dist/prebuilt/chat_agent_executor.js +0 -67
  215. package/dist/prebuilt/chat_agent_executor.js.map +0 -1
  216. package/dist/prebuilt/index.cjs +0 -15
  217. package/dist/prebuilt/index.d.cts +0 -8
  218. package/dist/prebuilt/index.d.ts +0 -8
  219. package/dist/prebuilt/index.js +0 -8
  220. package/dist/prebuilt/interrupt.d.cts +0 -61
  221. package/dist/prebuilt/interrupt.d.cts.map +0 -1
  222. package/dist/prebuilt/interrupt.d.ts +0 -61
  223. package/dist/prebuilt/interrupt.d.ts.map +0 -1
  224. package/dist/prebuilt/react_agent_executor.cjs +0 -344
  225. package/dist/prebuilt/react_agent_executor.cjs.map +0 -1
  226. package/dist/prebuilt/react_agent_executor.d.cts +0 -230
  227. package/dist/prebuilt/react_agent_executor.d.cts.map +0 -1
  228. package/dist/prebuilt/react_agent_executor.d.ts +0 -230
  229. package/dist/prebuilt/react_agent_executor.d.ts.map +0 -1
  230. package/dist/prebuilt/react_agent_executor.js +0 -342
  231. package/dist/prebuilt/react_agent_executor.js.map +0 -1
  232. package/dist/prebuilt/tool_executor.cjs +0 -48
  233. package/dist/prebuilt/tool_executor.cjs.map +0 -1
  234. package/dist/prebuilt/tool_executor.d.cts +0 -42
  235. package/dist/prebuilt/tool_executor.d.cts.map +0 -1
  236. package/dist/prebuilt/tool_executor.d.ts +0 -42
  237. package/dist/prebuilt/tool_executor.d.ts.map +0 -1
  238. package/dist/prebuilt/tool_executor.js +0 -47
  239. package/dist/prebuilt/tool_executor.js.map +0 -1
  240. package/dist/prebuilt/tool_node.cjs +0 -248
  241. package/dist/prebuilt/tool_node.cjs.map +0 -1
  242. package/dist/prebuilt/tool_node.d.cts +0 -182
  243. package/dist/prebuilt/tool_node.d.cts.map +0 -1
  244. package/dist/prebuilt/tool_node.d.ts +0 -182
  245. package/dist/prebuilt/tool_node.d.ts.map +0 -1
  246. package/dist/prebuilt/tool_node.js +0 -246
  247. package/dist/prebuilt/tool_node.js.map +0 -1
  248. package/dist/pregel/algo.cjs +0 -573
  249. package/dist/pregel/algo.cjs.map +0 -1
  250. package/dist/pregel/algo.d.cts +0 -13
  251. package/dist/pregel/algo.d.cts.map +0 -1
  252. package/dist/pregel/algo.d.ts +0 -13
  253. package/dist/pregel/algo.d.ts.map +0 -1
  254. package/dist/pregel/algo.js +0 -567
  255. package/dist/pregel/algo.js.map +0 -1
  256. package/dist/pregel/call.cjs +0 -53
  257. package/dist/pregel/call.cjs.map +0 -1
  258. package/dist/pregel/call.js +0 -50
  259. package/dist/pregel/call.js.map +0 -1
  260. package/dist/pregel/debug.cjs +0 -175
  261. package/dist/pregel/debug.cjs.map +0 -1
  262. package/dist/pregel/debug.js +0 -169
  263. package/dist/pregel/debug.js.map +0 -1
  264. package/dist/pregel/index.cjs +0 -1170
  265. package/dist/pregel/index.cjs.map +0 -1
  266. package/dist/pregel/index.d.cts +0 -546
  267. package/dist/pregel/index.d.cts.map +0 -1
  268. package/dist/pregel/index.d.ts +0 -546
  269. package/dist/pregel/index.d.ts.map +0 -1
  270. package/dist/pregel/index.js +0 -1168
  271. package/dist/pregel/index.js.map +0 -1
  272. package/dist/pregel/io.cjs +0 -140
  273. package/dist/pregel/io.cjs.map +0 -1
  274. package/dist/pregel/io.js +0 -135
  275. package/dist/pregel/io.js.map +0 -1
  276. package/dist/pregel/loop.cjs +0 -548
  277. package/dist/pregel/loop.cjs.map +0 -1
  278. package/dist/pregel/loop.js +0 -547
  279. package/dist/pregel/loop.js.map +0 -1
  280. package/dist/pregel/messages.cjs +0 -108
  281. package/dist/pregel/messages.cjs.map +0 -1
  282. package/dist/pregel/messages.js +0 -107
  283. package/dist/pregel/messages.js.map +0 -1
  284. package/dist/pregel/read.cjs +0 -152
  285. package/dist/pregel/read.cjs.map +0 -1
  286. package/dist/pregel/read.d.cts +0 -51
  287. package/dist/pregel/read.d.cts.map +0 -1
  288. package/dist/pregel/read.d.ts +0 -51
  289. package/dist/pregel/read.d.ts.map +0 -1
  290. package/dist/pregel/read.js +0 -150
  291. package/dist/pregel/read.js.map +0 -1
  292. package/dist/pregel/remote.cjs +0 -349
  293. package/dist/pregel/remote.cjs.map +0 -1
  294. package/dist/pregel/remote.d.cts +0 -123
  295. package/dist/pregel/remote.d.cts.map +0 -1
  296. package/dist/pregel/remote.d.ts +0 -123
  297. package/dist/pregel/remote.d.ts.map +0 -1
  298. package/dist/pregel/remote.js +0 -348
  299. package/dist/pregel/remote.js.map +0 -1
  300. package/dist/pregel/retry.cjs +0 -92
  301. package/dist/pregel/retry.cjs.map +0 -1
  302. package/dist/pregel/retry.js +0 -92
  303. package/dist/pregel/retry.js.map +0 -1
  304. package/dist/pregel/runnable_types.d.cts +0 -49
  305. package/dist/pregel/runnable_types.d.cts.map +0 -1
  306. package/dist/pregel/runnable_types.d.ts +0 -49
  307. package/dist/pregel/runnable_types.d.ts.map +0 -1
  308. package/dist/pregel/runner.cjs +0 -228
  309. package/dist/pregel/runner.cjs.map +0 -1
  310. package/dist/pregel/runner.js +0 -228
  311. package/dist/pregel/runner.js.map +0 -1
  312. package/dist/pregel/stream.cjs +0 -199
  313. package/dist/pregel/stream.cjs.map +0 -1
  314. package/dist/pregel/stream.js +0 -196
  315. package/dist/pregel/stream.js.map +0 -1
  316. package/dist/pregel/types.cjs +0 -27
  317. package/dist/pregel/types.cjs.map +0 -1
  318. package/dist/pregel/types.d.cts +0 -453
  319. package/dist/pregel/types.d.cts.map +0 -1
  320. package/dist/pregel/types.d.ts +0 -453
  321. package/dist/pregel/types.d.ts.map +0 -1
  322. package/dist/pregel/types.js +0 -25
  323. package/dist/pregel/types.js.map +0 -1
  324. package/dist/pregel/utils/config.cjs +0 -122
  325. package/dist/pregel/utils/config.cjs.map +0 -1
  326. package/dist/pregel/utils/config.d.cts +0 -36
  327. package/dist/pregel/utils/config.d.cts.map +0 -1
  328. package/dist/pregel/utils/config.d.ts +0 -36
  329. package/dist/pregel/utils/config.d.ts.map +0 -1
  330. package/dist/pregel/utils/config.js +0 -115
  331. package/dist/pregel/utils/config.js.map +0 -1
  332. package/dist/pregel/utils/index.cjs +0 -103
  333. package/dist/pregel/utils/index.cjs.map +0 -1
  334. package/dist/pregel/utils/index.d.cts +0 -51
  335. package/dist/pregel/utils/index.d.cts.map +0 -1
  336. package/dist/pregel/utils/index.d.ts +0 -51
  337. package/dist/pregel/utils/index.d.ts.map +0 -1
  338. package/dist/pregel/utils/index.js +0 -97
  339. package/dist/pregel/utils/index.js.map +0 -1
  340. package/dist/pregel/utils/subgraph.cjs +0 -19
  341. package/dist/pregel/utils/subgraph.cjs.map +0 -1
  342. package/dist/pregel/utils/subgraph.js +0 -17
  343. package/dist/pregel/utils/subgraph.js.map +0 -1
  344. package/dist/pregel/validate.cjs +0 -45
  345. package/dist/pregel/validate.cjs.map +0 -1
  346. package/dist/pregel/validate.js +0 -44
  347. package/dist/pregel/validate.js.map +0 -1
  348. package/dist/pregel/write.cjs +0 -97
  349. package/dist/pregel/write.cjs.map +0 -1
  350. package/dist/pregel/write.d.cts +0 -35
  351. package/dist/pregel/write.d.cts.map +0 -1
  352. package/dist/pregel/write.d.ts +0 -35
  353. package/dist/pregel/write.d.ts.map +0 -1
  354. package/dist/pregel/write.js +0 -95
  355. package/dist/pregel/write.js.map +0 -1
  356. package/dist/remote.cjs +0 -3
  357. package/dist/remote.d.cts +0 -2
  358. package/dist/remote.d.ts +0 -2
  359. package/dist/remote.js +0 -3
  360. package/dist/setup/async_local_storage.cjs +0 -12
  361. package/dist/setup/async_local_storage.cjs.map +0 -1
  362. package/dist/setup/async_local_storage.js +0 -11
  363. package/dist/setup/async_local_storage.js.map +0 -1
  364. package/dist/utils.cjs +0 -88
  365. package/dist/utils.cjs.map +0 -1
  366. package/dist/utils.d.cts +0 -32
  367. package/dist/utils.d.cts.map +0 -1
  368. package/dist/utils.d.ts +0 -32
  369. package/dist/utils.d.ts.map +0 -1
  370. package/dist/utils.js +0 -81
  371. package/dist/utils.js.map +0 -1
  372. package/dist/web.cjs +0 -96
  373. package/dist/web.d.cts +0 -23
  374. package/dist/web.d.ts +0 -23
  375. package/dist/web.js +0 -15
  376. package/dist/writer.cjs +0 -15
  377. package/dist/writer.cjs.map +0 -1
  378. package/dist/writer.d.cts +0 -7
  379. package/dist/writer.d.cts.map +0 -1
  380. package/dist/writer.d.ts +0 -7
  381. package/dist/writer.d.ts.map +0 -1
  382. package/dist/writer.js +0 -14
  383. package/dist/writer.js.map +0 -1
@@ -1,573 +0,0 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_errors = require('../errors.cjs');
3
- const require_base = require('../channels/base.cjs');
4
- const require_constants = require('../constants.cjs');
5
- const require_hash = require('../hash.cjs');
6
- const require_io = require('./io.cjs');
7
- const require_types = require('./types.cjs');
8
- const require_index = require('./utils/index.cjs');
9
- const require_call = require('./call.cjs');
10
- const __langchain_langgraph_checkpoint = require_rolldown_runtime.__toESM(require("@langchain/langgraph-checkpoint"));
11
- const __langchain_core_runnables = require_rolldown_runtime.__toESM(require("@langchain/core/runnables"));
12
-
13
- //#region src/pregel/algo.ts
14
- const increment = (current) => {
15
- return current !== void 0 ? current + 1 : 1;
16
- };
17
- function triggersNextStep(updatedChannels, triggerToNodes) {
18
- if (triggerToNodes == null) return false;
19
- for (const chan of updatedChannels) if (triggerToNodes[chan]) return true;
20
- return false;
21
- }
22
- function maxChannelMapVersion(channelVersions) {
23
- let maxVersion;
24
- for (const chan in channelVersions) {
25
- if (!Object.prototype.hasOwnProperty.call(channelVersions, chan)) continue;
26
- if (maxVersion == null) maxVersion = channelVersions[chan];
27
- else maxVersion = (0, __langchain_langgraph_checkpoint.maxChannelVersion)(maxVersion, channelVersions[chan]);
28
- }
29
- return maxVersion;
30
- }
31
- function shouldInterrupt(checkpoint, interruptNodes, tasks) {
32
- const nullVersion = require_index.getNullChannelVersion(checkpoint.channel_versions);
33
- const seen = checkpoint.versions_seen[require_constants.INTERRUPT] ?? {};
34
- let anyChannelUpdated = false;
35
- if ((checkpoint.channel_versions[require_constants.START] ?? nullVersion) > (seen[require_constants.START] ?? nullVersion)) anyChannelUpdated = true;
36
- else for (const chan in checkpoint.channel_versions) {
37
- if (!Object.prototype.hasOwnProperty.call(checkpoint.channel_versions, chan)) continue;
38
- if (checkpoint.channel_versions[chan] > (seen[chan] ?? nullVersion)) {
39
- anyChannelUpdated = true;
40
- break;
41
- }
42
- }
43
- const anyTriggeredNodeInInterruptNodes = tasks.some((task) => interruptNodes === "*" ? !task.config?.tags?.includes(require_constants.TAG_HIDDEN) : interruptNodes.includes(task.name));
44
- return anyChannelUpdated && anyTriggeredNodeInInterruptNodes;
45
- }
46
- function _localRead(checkpoint, channels, task, select, fresh = false) {
47
- let updated = /* @__PURE__ */ new Set();
48
- if (!Array.isArray(select)) {
49
- for (const [c] of task.writes) if (c === select) {
50
- updated = new Set([c]);
51
- break;
52
- }
53
- updated = updated || /* @__PURE__ */ new Set();
54
- } else updated = new Set(select.filter((c) => task.writes.some(([key, _]) => key === c)));
55
- let values;
56
- if (fresh && updated.size > 0) {
57
- const localChannels = Object.fromEntries(Object.entries(channels).filter(([k, _]) => updated.has(k)));
58
- const newCheckpoint = require_base.createCheckpoint(checkpoint, localChannels, -1);
59
- const newChannels = require_base.emptyChannels(localChannels, newCheckpoint);
60
- _applyWrites((0, __langchain_langgraph_checkpoint.copyCheckpoint)(newCheckpoint), newChannels, [task], void 0, void 0);
61
- values = require_io.readChannels({
62
- ...channels,
63
- ...newChannels
64
- }, select);
65
- } else values = require_io.readChannels(channels, select);
66
- return values;
67
- }
68
- function _localWrite(commit, processes, writes) {
69
- for (const [chan, value] of writes) if ([require_constants.PUSH, require_constants.TASKS].includes(chan) && value != null) {
70
- if (!require_constants._isSend(value)) throw new require_errors.InvalidUpdateError(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(value)}`);
71
- if (!(value.node in processes)) throw new require_errors.InvalidUpdateError(`Invalid node name "${value.node}" in Send packet`);
72
- }
73
- commit(writes);
74
- }
75
- const IGNORE = new Set([
76
- require_constants.NO_WRITES,
77
- require_constants.PUSH,
78
- require_constants.RESUME,
79
- require_constants.INTERRUPT,
80
- require_constants.RETURN,
81
- require_constants.ERROR
82
- ]);
83
- function _applyWrites(checkpoint, channels, tasks, getNextVersion, triggerToNodes) {
84
- tasks.sort((a, b) => {
85
- const aPath = a.path?.slice(0, 3) || [];
86
- const bPath = b.path?.slice(0, 3) || [];
87
- for (let i = 0; i < Math.min(aPath.length, bPath.length); i += 1) {
88
- if (aPath[i] < bPath[i]) return -1;
89
- if (aPath[i] > bPath[i]) return 1;
90
- }
91
- return aPath.length - bPath.length;
92
- });
93
- const bumpStep = tasks.some((task) => task.triggers.length > 0);
94
- const onlyChannels = require_base.getOnlyChannels(channels);
95
- for (const task of tasks) {
96
- checkpoint.versions_seen[task.name] ??= {};
97
- for (const chan of task.triggers) if (chan in checkpoint.channel_versions) checkpoint.versions_seen[task.name][chan] = checkpoint.channel_versions[chan];
98
- }
99
- let maxVersion = maxChannelMapVersion(checkpoint.channel_versions);
100
- const channelsToConsume = new Set(tasks.flatMap((task) => task.triggers).filter((chan) => !require_constants.RESERVED.includes(chan)));
101
- let usedNewVersion = false;
102
- for (const chan of channelsToConsume) if (chan in onlyChannels && onlyChannels[chan].consume()) {
103
- if (getNextVersion !== void 0) {
104
- checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
105
- usedNewVersion = true;
106
- }
107
- }
108
- const pendingWritesByChannel = {};
109
- for (const task of tasks) for (const [chan, val] of task.writes) if (IGNORE.has(chan)) {} else if (chan in onlyChannels) {
110
- pendingWritesByChannel[chan] ??= [];
111
- pendingWritesByChannel[chan].push(val);
112
- }
113
- if (maxVersion != null && getNextVersion != null) maxVersion = usedNewVersion ? getNextVersion(maxVersion) : maxVersion;
114
- const updatedChannels = /* @__PURE__ */ new Set();
115
- for (const [chan, vals] of Object.entries(pendingWritesByChannel)) if (chan in onlyChannels) {
116
- const channel = onlyChannels[chan];
117
- let updated;
118
- try {
119
- updated = channel.update(vals);
120
- } catch (e) {
121
- if (e.name === require_errors.InvalidUpdateError.unminifiable_name) {
122
- const wrappedError = new require_errors.InvalidUpdateError(`Invalid update for channel "${chan}" with values ${JSON.stringify(vals)}: ${e.message}`);
123
- wrappedError.lc_error_code = e.lc_error_code;
124
- throw wrappedError;
125
- } else throw e;
126
- }
127
- if (updated && getNextVersion !== void 0) {
128
- checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
129
- if (channel.isAvailable()) updatedChannels.add(chan);
130
- }
131
- }
132
- if (bumpStep) for (const chan in onlyChannels) {
133
- if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan)) continue;
134
- const channel = onlyChannels[chan];
135
- if (channel.isAvailable() && !updatedChannels.has(chan)) {
136
- const updated = channel.update([]);
137
- if (updated && getNextVersion !== void 0) {
138
- checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
139
- if (channel.isAvailable()) updatedChannels.add(chan);
140
- }
141
- }
142
- }
143
- if (bumpStep && !triggersNextStep(updatedChannels, triggerToNodes)) for (const chan in onlyChannels) {
144
- if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan)) continue;
145
- const channel = onlyChannels[chan];
146
- if (channel.finish() && getNextVersion !== void 0) {
147
- checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
148
- if (channel.isAvailable()) updatedChannels.add(chan);
149
- }
150
- }
151
- return updatedChannels;
152
- }
153
- function* candidateNodes(checkpoint, processes, extra) {
154
- if (extra.updatedChannels != null && extra.triggerToNodes != null) {
155
- const triggeredNodes = /* @__PURE__ */ new Set();
156
- for (const channel of extra.updatedChannels) {
157
- const nodeIds = extra.triggerToNodes[channel];
158
- for (const id of nodeIds ?? []) triggeredNodes.add(id);
159
- }
160
- yield* [...triggeredNodes].sort();
161
- return;
162
- }
163
- const isEmptyChannelVersions = (() => {
164
- for (const chan in checkpoint.channel_versions) if (checkpoint.channel_versions[chan] !== null) return false;
165
- return true;
166
- })();
167
- if (isEmptyChannelVersions) return;
168
- for (const name in processes) {
169
- if (!Object.prototype.hasOwnProperty.call(processes, name)) continue;
170
- yield name;
171
- }
172
- }
173
- /**
174
- * Prepare the set of tasks that will make up the next Pregel step.
175
- * This is the union of all PUSH tasks (Sends) and PULL tasks (nodes triggered
176
- * by edges).
177
- */
178
- function _prepareNextTasks(checkpoint, pendingWrites, processes, channels, config, forExecution, extra) {
179
- const tasks = {};
180
- const tasksChannel = channels[require_constants.TASKS];
181
- if (tasksChannel?.isAvailable()) {
182
- const len = tasksChannel.get().length;
183
- for (let i = 0; i < len; i += 1) {
184
- const task = _prepareSingleTask([require_constants.PUSH, i], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
185
- if (task !== void 0) tasks[task.id] = task;
186
- }
187
- }
188
- for (const name of candidateNodes(checkpoint, processes, extra)) {
189
- const task = _prepareSingleTask([require_constants.PULL, name], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
190
- if (task !== void 0) tasks[task.id] = task;
191
- }
192
- return tasks;
193
- }
194
- /**
195
- * Prepares a single task for the next Pregel step, given a task path, which
196
- * uniquely identifies a PUSH or PULL task within the graph.
197
- */
198
- function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, channels, config, forExecution, extra) {
199
- const { step, checkpointer, manager } = extra;
200
- const configurable = config.configurable ?? {};
201
- const parentNamespace = configurable.checkpoint_ns ?? "";
202
- if (taskPath[0] === require_constants.PUSH && require_types.isCall(taskPath[taskPath.length - 1])) {
203
- const call = taskPath[taskPath.length - 1];
204
- const proc = require_call.getRunnableForFunc(call.name, call.func);
205
- const triggers = [require_constants.PUSH];
206
- const checkpointNamespace = parentNamespace === "" ? call.name : `${parentNamespace}${require_constants.CHECKPOINT_NAMESPACE_SEPARATOR}${call.name}`;
207
- const id = (0, __langchain_langgraph_checkpoint.uuid5)(JSON.stringify([
208
- checkpointNamespace,
209
- step.toString(),
210
- call.name,
211
- require_constants.PUSH,
212
- taskPath[1],
213
- taskPath[2]
214
- ]), checkpoint.id);
215
- const taskCheckpointNamespace = `${checkpointNamespace}${require_constants.CHECKPOINT_NAMESPACE_END}${id}`;
216
- const outputTaskPath = [...taskPath.slice(0, 3), true];
217
- const metadata = {
218
- langgraph_step: step,
219
- langgraph_node: call.name,
220
- langgraph_triggers: triggers,
221
- langgraph_path: outputTaskPath,
222
- langgraph_checkpoint_ns: taskCheckpointNamespace
223
- };
224
- if (forExecution) {
225
- const writes = [];
226
- const task = {
227
- name: call.name,
228
- input: call.input,
229
- proc,
230
- writes,
231
- config: (0, __langchain_core_runnables.patchConfig)((0, __langchain_core_runnables.mergeConfigs)(config, {
232
- metadata,
233
- store: extra.store ?? config.store
234
- }), {
235
- runName: call.name,
236
- callbacks: manager?.getChild(`graph:step:${step}`),
237
- configurable: {
238
- [require_constants.CONFIG_KEY_TASK_ID]: id,
239
- [require_constants.CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => writes.push(...items), processes, writes_),
240
- [require_constants.CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
241
- name: call.name,
242
- writes,
243
- triggers,
244
- path: outputTaskPath
245
- }, select_, fresh_),
246
- [require_constants.CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[require_constants.CONFIG_KEY_CHECKPOINTER],
247
- [require_constants.CONFIG_KEY_CHECKPOINT_MAP]: {
248
- ...configurable[require_constants.CONFIG_KEY_CHECKPOINT_MAP],
249
- [parentNamespace]: checkpoint.id
250
- },
251
- [require_constants.CONFIG_KEY_SCRATCHPAD]: _scratchpad({
252
- pendingWrites: pendingWrites ?? [],
253
- taskId: id,
254
- currentTaskInput: call.input,
255
- resumeMap: config.configurable?.[require_constants.CONFIG_KEY_RESUME_MAP],
256
- namespaceHash: require_hash.XXH3(taskCheckpointNamespace)
257
- }),
258
- [require_constants.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[require_constants.PREVIOUS],
259
- checkpoint_id: void 0,
260
- checkpoint_ns: taskCheckpointNamespace
261
- }
262
- }),
263
- triggers,
264
- retry_policy: call.retry,
265
- cache_key: call.cache ? {
266
- key: require_hash.XXH3((call.cache.keyFunc ?? JSON.stringify)([call.input])),
267
- ns: [require_constants.CACHE_NS_WRITES, call.name ?? "__dynamic__"],
268
- ttl: call.cache.ttl
269
- } : void 0,
270
- id,
271
- path: outputTaskPath,
272
- writers: []
273
- };
274
- return task;
275
- } else return {
276
- id,
277
- name: call.name,
278
- interrupts: [],
279
- path: outputTaskPath
280
- };
281
- } else if (taskPath[0] === require_constants.PUSH) {
282
- const index = typeof taskPath[1] === "number" ? taskPath[1] : parseInt(taskPath[1], 10);
283
- if (!channels[require_constants.TASKS]?.isAvailable()) return void 0;
284
- const sends = channels[require_constants.TASKS].get();
285
- if (index < 0 || index >= sends.length) return void 0;
286
- const packet = require_constants._isSendInterface(sends[index]) && !require_constants._isSend(sends[index]) ? new require_constants.Send(sends[index].node, sends[index].args) : sends[index];
287
- if (!require_constants._isSendInterface(packet)) {
288
- console.warn(`Ignoring invalid packet ${JSON.stringify(packet)} in pending sends.`);
289
- return void 0;
290
- }
291
- if (!(packet.node in processes)) {
292
- console.warn(`Ignoring unknown node name ${packet.node} in pending sends.`);
293
- return void 0;
294
- }
295
- const triggers = [require_constants.PUSH];
296
- const checkpointNamespace = parentNamespace === "" ? packet.node : `${parentNamespace}${require_constants.CHECKPOINT_NAMESPACE_SEPARATOR}${packet.node}`;
297
- const taskId = (0, __langchain_langgraph_checkpoint.uuid5)(JSON.stringify([
298
- checkpointNamespace,
299
- step.toString(),
300
- packet.node,
301
- require_constants.PUSH,
302
- index.toString()
303
- ]), checkpoint.id);
304
- const taskCheckpointNamespace = `${checkpointNamespace}${require_constants.CHECKPOINT_NAMESPACE_END}${taskId}`;
305
- let metadata = {
306
- langgraph_step: step,
307
- langgraph_node: packet.node,
308
- langgraph_triggers: triggers,
309
- langgraph_path: taskPath.slice(0, 3),
310
- langgraph_checkpoint_ns: taskCheckpointNamespace
311
- };
312
- if (forExecution) {
313
- const proc = processes[packet.node];
314
- const node = proc.getNode();
315
- if (node !== void 0) {
316
- if (proc.metadata !== void 0) metadata = {
317
- ...metadata,
318
- ...proc.metadata
319
- };
320
- const writes = [];
321
- return {
322
- name: packet.node,
323
- input: packet.args,
324
- proc: node,
325
- subgraphs: proc.subgraphs,
326
- writes,
327
- config: (0, __langchain_core_runnables.patchConfig)((0, __langchain_core_runnables.mergeConfigs)(config, {
328
- metadata,
329
- tags: proc.tags,
330
- store: extra.store ?? config.store
331
- }), {
332
- runName: packet.node,
333
- callbacks: manager?.getChild(`graph:step:${step}`),
334
- configurable: {
335
- [require_constants.CONFIG_KEY_TASK_ID]: taskId,
336
- [require_constants.CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => writes.push(...items), processes, writes_),
337
- [require_constants.CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
338
- name: packet.node,
339
- writes,
340
- triggers,
341
- path: taskPath
342
- }, select_, fresh_),
343
- [require_constants.CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[require_constants.CONFIG_KEY_CHECKPOINTER],
344
- [require_constants.CONFIG_KEY_CHECKPOINT_MAP]: {
345
- ...configurable[require_constants.CONFIG_KEY_CHECKPOINT_MAP],
346
- [parentNamespace]: checkpoint.id
347
- },
348
- [require_constants.CONFIG_KEY_SCRATCHPAD]: _scratchpad({
349
- pendingWrites: pendingWrites ?? [],
350
- taskId,
351
- currentTaskInput: packet.args,
352
- resumeMap: config.configurable?.[require_constants.CONFIG_KEY_RESUME_MAP],
353
- namespaceHash: require_hash.XXH3(taskCheckpointNamespace)
354
- }),
355
- [require_constants.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[require_constants.PREVIOUS],
356
- checkpoint_id: void 0,
357
- checkpoint_ns: taskCheckpointNamespace
358
- }
359
- }),
360
- triggers,
361
- retry_policy: proc.retryPolicy,
362
- cache_key: proc.cachePolicy ? {
363
- key: require_hash.XXH3((proc.cachePolicy.keyFunc ?? JSON.stringify)([packet.args])),
364
- ns: [
365
- require_constants.CACHE_NS_WRITES,
366
- proc.name ?? "__dynamic__",
367
- packet.node
368
- ],
369
- ttl: proc.cachePolicy.ttl
370
- } : void 0,
371
- id: taskId,
372
- path: taskPath,
373
- writers: proc.getWriters()
374
- };
375
- }
376
- } else return {
377
- id: taskId,
378
- name: packet.node,
379
- interrupts: [],
380
- path: taskPath
381
- };
382
- } else if (taskPath[0] === require_constants.PULL) {
383
- const name = taskPath[1].toString();
384
- const proc = processes[name];
385
- if (proc === void 0) return void 0;
386
- if (pendingWrites?.length) {
387
- const checkpointNamespace = parentNamespace === "" ? name : `${parentNamespace}${require_constants.CHECKPOINT_NAMESPACE_SEPARATOR}${name}`;
388
- const taskId = (0, __langchain_langgraph_checkpoint.uuid5)(JSON.stringify([
389
- checkpointNamespace,
390
- step.toString(),
391
- name,
392
- require_constants.PULL,
393
- name
394
- ]), checkpoint.id);
395
- const hasSuccessfulWrites = pendingWrites.some((w) => w[0] === taskId && w[1] !== require_constants.ERROR);
396
- if (hasSuccessfulWrites) return void 0;
397
- }
398
- const nullVersion = require_index.getNullChannelVersion(checkpoint.channel_versions);
399
- if (nullVersion === void 0) return void 0;
400
- const seen = checkpoint.versions_seen[name] ?? {};
401
- const trigger = proc.triggers.find((chan) => {
402
- if (!channels[chan].isAvailable()) return false;
403
- return (checkpoint.channel_versions[chan] ?? nullVersion) > (seen[chan] ?? nullVersion);
404
- });
405
- if (trigger !== void 0) {
406
- const val = _procInput(proc, channels, forExecution);
407
- if (val === void 0) return void 0;
408
- const checkpointNamespace = parentNamespace === "" ? name : `${parentNamespace}${require_constants.CHECKPOINT_NAMESPACE_SEPARATOR}${name}`;
409
- const taskId = (0, __langchain_langgraph_checkpoint.uuid5)(JSON.stringify([
410
- checkpointNamespace,
411
- step.toString(),
412
- name,
413
- require_constants.PULL,
414
- [trigger]
415
- ]), checkpoint.id);
416
- const taskCheckpointNamespace = `${checkpointNamespace}${require_constants.CHECKPOINT_NAMESPACE_END}${taskId}`;
417
- let metadata = {
418
- langgraph_step: step,
419
- langgraph_node: name,
420
- langgraph_triggers: [trigger],
421
- langgraph_path: taskPath,
422
- langgraph_checkpoint_ns: taskCheckpointNamespace
423
- };
424
- if (forExecution) {
425
- const node = proc.getNode();
426
- if (node !== void 0) {
427
- if (proc.metadata !== void 0) metadata = {
428
- ...metadata,
429
- ...proc.metadata
430
- };
431
- const writes = [];
432
- return {
433
- name,
434
- input: val,
435
- proc: node,
436
- subgraphs: proc.subgraphs,
437
- writes,
438
- config: (0, __langchain_core_runnables.patchConfig)((0, __langchain_core_runnables.mergeConfigs)(config, {
439
- metadata,
440
- tags: proc.tags,
441
- store: extra.store ?? config.store
442
- }), {
443
- runName: name,
444
- callbacks: manager?.getChild(`graph:step:${step}`),
445
- configurable: {
446
- [require_constants.CONFIG_KEY_TASK_ID]: taskId,
447
- [require_constants.CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => {
448
- writes.push(...items);
449
- }, processes, writes_),
450
- [require_constants.CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
451
- name,
452
- writes,
453
- triggers: [trigger],
454
- path: taskPath
455
- }, select_, fresh_),
456
- [require_constants.CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[require_constants.CONFIG_KEY_CHECKPOINTER],
457
- [require_constants.CONFIG_KEY_CHECKPOINT_MAP]: {
458
- ...configurable[require_constants.CONFIG_KEY_CHECKPOINT_MAP],
459
- [parentNamespace]: checkpoint.id
460
- },
461
- [require_constants.CONFIG_KEY_SCRATCHPAD]: _scratchpad({
462
- pendingWrites: pendingWrites ?? [],
463
- taskId,
464
- currentTaskInput: val,
465
- resumeMap: config.configurable?.[require_constants.CONFIG_KEY_RESUME_MAP],
466
- namespaceHash: require_hash.XXH3(taskCheckpointNamespace)
467
- }),
468
- [require_constants.CONFIG_KEY_PREVIOUS_STATE]: checkpoint.channel_values[require_constants.PREVIOUS],
469
- checkpoint_id: void 0,
470
- checkpoint_ns: taskCheckpointNamespace
471
- }
472
- }),
473
- triggers: [trigger],
474
- retry_policy: proc.retryPolicy,
475
- cache_key: proc.cachePolicy ? {
476
- key: require_hash.XXH3((proc.cachePolicy.keyFunc ?? JSON.stringify)([val])),
477
- ns: [
478
- require_constants.CACHE_NS_WRITES,
479
- proc.name ?? "__dynamic__",
480
- name
481
- ],
482
- ttl: proc.cachePolicy.ttl
483
- } : void 0,
484
- id: taskId,
485
- path: taskPath,
486
- writers: proc.getWriters()
487
- };
488
- }
489
- } else return {
490
- id: taskId,
491
- name,
492
- interrupts: [],
493
- path: taskPath
494
- };
495
- }
496
- }
497
- return void 0;
498
- }
499
- /**
500
- * Function injected under CONFIG_KEY_READ in task config, to read current state.
501
- * Used by conditional edges to read a copy of the state with reflecting the writes
502
- * from that node only.
503
- *
504
- * @internal
505
- */
506
- function _procInput(proc, channels, forExecution) {
507
- let val;
508
- if (typeof proc.channels === "object" && !Array.isArray(proc.channels)) {
509
- val = {};
510
- for (const [k, chan] of Object.entries(proc.channels)) if (proc.triggers.includes(chan)) try {
511
- val[k] = require_io.readChannel(channels, chan, false);
512
- } catch (e) {
513
- if (e.name === require_errors.EmptyChannelError.unminifiable_name) return void 0;
514
- else throw e;
515
- }
516
- else if (chan in channels) try {
517
- val[k] = require_io.readChannel(channels, chan, false);
518
- } catch (e) {
519
- if (e.name === require_errors.EmptyChannelError.unminifiable_name) continue;
520
- else throw e;
521
- }
522
- } else if (Array.isArray(proc.channels)) {
523
- let successfulRead = false;
524
- for (const chan of proc.channels) try {
525
- val = require_io.readChannel(channels, chan, false);
526
- successfulRead = true;
527
- break;
528
- } catch (e) {
529
- if (e.name === require_errors.EmptyChannelError.unminifiable_name) continue;
530
- else throw e;
531
- }
532
- if (!successfulRead) return void 0;
533
- } else throw new Error(`Invalid channels type, expected list or dict, got ${proc.channels}`);
534
- if (forExecution && proc.mapper !== void 0) val = proc.mapper(val);
535
- return val;
536
- }
537
- function _scratchpad({ pendingWrites, taskId, currentTaskInput, resumeMap, namespaceHash }) {
538
- const nullResume = pendingWrites.find(([writeTaskId, chan]) => writeTaskId === require_constants.NULL_TASK_ID && chan === require_constants.RESUME)?.[2];
539
- const resume = (() => {
540
- const result = pendingWrites.filter(([writeTaskId, chan]) => writeTaskId === taskId && chan === require_constants.RESUME).flatMap(([_writeTaskId, _chan, resume$1]) => resume$1);
541
- if (resumeMap != null && namespaceHash in resumeMap) {
542
- const mappedResume = resumeMap[namespaceHash];
543
- result.push(mappedResume);
544
- }
545
- return result;
546
- })();
547
- const scratchpad = {
548
- callCounter: 0,
549
- interruptCounter: -1,
550
- resume,
551
- nullResume,
552
- subgraphCounter: 0,
553
- currentTaskInput,
554
- consumeNullResume: () => {
555
- if (scratchpad.nullResume) {
556
- delete scratchpad.nullResume;
557
- pendingWrites.splice(pendingWrites.findIndex(([writeTaskId, chan]) => writeTaskId === require_constants.NULL_TASK_ID && chan === require_constants.RESUME), 1);
558
- return nullResume;
559
- }
560
- return void 0;
561
- }
562
- };
563
- return scratchpad;
564
- }
565
-
566
- //#endregion
567
- exports._applyWrites = _applyWrites;
568
- exports._localRead = _localRead;
569
- exports._prepareNextTasks = _prepareNextTasks;
570
- exports._prepareSingleTask = _prepareSingleTask;
571
- exports.increment = increment;
572
- exports.shouldInterrupt = shouldInterrupt;
573
- //# sourceMappingURL=algo.cjs.map