@langchain/langgraph 0.4.9 → 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -2
  3. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  4. package/dist/channels/any_value.cjs +44 -63
  5. package/dist/channels/any_value.cjs.map +1 -0
  6. package/dist/channels/any_value.d.cts +24 -0
  7. package/dist/channels/any_value.d.cts.map +1 -0
  8. package/dist/channels/any_value.d.ts +16 -11
  9. package/dist/channels/any_value.d.ts.map +1 -0
  10. package/dist/channels/any_value.js +42 -57
  11. package/dist/channels/any_value.js.map +1 -1
  12. package/dist/channels/base.cjs +93 -133
  13. package/dist/channels/base.cjs.map +1 -0
  14. package/dist/channels/base.d.cts +79 -0
  15. package/dist/channels/base.d.cts.map +1 -0
  16. package/dist/channels/base.d.ts +77 -73
  17. package/dist/channels/base.d.ts.map +1 -0
  18. package/dist/channels/base.js +90 -127
  19. package/dist/channels/base.js.map +1 -1
  20. package/dist/channels/binop.cjs +47 -77
  21. package/dist/channels/binop.cjs.map +1 -0
  22. package/dist/channels/binop.d.cts +22 -0
  23. package/dist/channels/binop.d.cts.map +1 -0
  24. package/dist/channels/binop.d.ts +17 -12
  25. package/dist/channels/binop.d.ts.map +1 -0
  26. package/dist/channels/binop.js +45 -71
  27. package/dist/channels/binop.js.map +1 -1
  28. package/dist/channels/dynamic_barrier_value.cjs +72 -208
  29. package/dist/channels/dynamic_barrier_value.cjs.map +1 -0
  30. package/dist/channels/dynamic_barrier_value.d.cts +42 -0
  31. package/dist/channels/dynamic_barrier_value.d.cts.map +1 -0
  32. package/dist/channels/dynamic_barrier_value.d.ts +20 -35
  33. package/dist/channels/dynamic_barrier_value.d.ts.map +1 -0
  34. package/dist/channels/dynamic_barrier_value.js +69 -200
  35. package/dist/channels/dynamic_barrier_value.js.map +1 -1
  36. package/dist/channels/ephemeral_value.cjs +44 -70
  37. package/dist/channels/ephemeral_value.cjs.map +1 -0
  38. package/dist/channels/ephemeral_value.d.cts +22 -0
  39. package/dist/channels/ephemeral_value.d.cts.map +1 -0
  40. package/dist/channels/ephemeral_value.d.ts +18 -12
  41. package/dist/channels/ephemeral_value.d.ts.map +1 -0
  42. package/dist/channels/ephemeral_value.js +43 -65
  43. package/dist/channels/ephemeral_value.js.map +1 -1
  44. package/dist/channels/index.cjs +21 -10
  45. package/dist/channels/index.d.cts +9 -0
  46. package/dist/channels/index.d.ts +9 -7
  47. package/dist/channels/index.js +10 -3
  48. package/dist/channels/last_value.cjs +90 -140
  49. package/dist/channels/last_value.cjs.map +1 -0
  50. package/dist/channels/last_value.d.cts +42 -0
  51. package/dist/channels/last_value.d.cts.map +1 -0
  52. package/dist/channels/last_value.d.ts +27 -23
  53. package/dist/channels/last_value.d.ts.map +1 -0
  54. package/dist/channels/last_value.js +87 -133
  55. package/dist/channels/last_value.js.map +1 -1
  56. package/dist/channels/named_barrier_value.cjs +114 -170
  57. package/dist/channels/named_barrier_value.cjs.map +1 -0
  58. package/dist/channels/named_barrier_value.d.cts +46 -0
  59. package/dist/channels/named_barrier_value.d.cts.map +1 -0
  60. package/dist/channels/named_barrier_value.d.ts +32 -29
  61. package/dist/channels/named_barrier_value.d.ts.map +1 -0
  62. package/dist/channels/named_barrier_value.js +111 -163
  63. package/dist/channels/named_barrier_value.js.map +1 -1
  64. package/dist/channels/topic.cjs +63 -96
  65. package/dist/channels/topic.cjs.map +1 -0
  66. package/dist/channels/topic.d.cts +32 -0
  67. package/dist/channels/topic.d.cts.map +1 -0
  68. package/dist/channels/topic.d.ts +28 -19
  69. package/dist/channels/topic.d.ts.map +1 -0
  70. package/dist/channels/topic.js +61 -90
  71. package/dist/channels/topic.js.map +1 -1
  72. package/dist/constants.cjs +376 -452
  73. package/dist/constants.cjs.map +1 -0
  74. package/dist/constants.d.cts +285 -0
  75. package/dist/constants.d.cts.map +1 -0
  76. package/dist/constants.d.ts +113 -148
  77. package/dist/constants.d.ts.map +1 -0
  78. package/dist/constants.js +336 -444
  79. package/dist/constants.js.map +1 -1
  80. package/dist/errors.cjs +151 -179
  81. package/dist/errors.cjs.map +1 -0
  82. package/dist/errors.d.cts +81 -0
  83. package/dist/errors.d.cts.map +1 -0
  84. package/dist/errors.d.ts +56 -46
  85. package/dist/errors.d.ts.map +1 -0
  86. package/dist/errors.js +140 -165
  87. package/dist/errors.js.map +1 -1
  88. package/dist/func/index.cjs +292 -290
  89. package/dist/func/index.cjs.map +1 -0
  90. package/dist/func/index.d.cts +293 -0
  91. package/dist/func/index.d.cts.map +1 -0
  92. package/dist/func/index.d.ts +86 -72
  93. package/dist/func/index.d.ts.map +1 -0
  94. package/dist/func/index.js +288 -284
  95. package/dist/func/index.js.map +1 -1
  96. package/dist/func/types.d.cts +64 -0
  97. package/dist/func/types.d.cts.map +1 -0
  98. package/dist/func/types.d.ts +24 -19
  99. package/dist/func/types.d.ts.map +1 -0
  100. package/dist/graph/annotation.cjs +96 -120
  101. package/dist/graph/annotation.cjs.map +1 -0
  102. package/dist/graph/annotation.d.cts +116 -0
  103. package/dist/graph/annotation.d.cts.map +1 -0
  104. package/dist/graph/annotation.d.ts +33 -34
  105. package/dist/graph/annotation.d.ts.map +1 -0
  106. package/dist/graph/annotation.js +91 -112
  107. package/dist/graph/annotation.js.map +1 -1
  108. package/dist/graph/graph.cjs +419 -723
  109. package/dist/graph/graph.cjs.map +1 -0
  110. package/dist/graph/graph.d.cts +133 -0
  111. package/dist/graph/graph.d.cts.map +1 -0
  112. package/dist/graph/graph.d.ts +124 -91
  113. package/dist/graph/graph.d.ts.map +1 -0
  114. package/dist/graph/graph.js +412 -713
  115. package/dist/graph/graph.js.map +1 -1
  116. package/dist/graph/index.cjs +4 -17
  117. package/dist/graph/index.js +6 -5
  118. package/dist/graph/message.cjs +59 -104
  119. package/dist/graph/message.cjs.map +1 -0
  120. package/dist/graph/message.d.cts +19 -0
  121. package/dist/graph/message.d.cts.map +1 -0
  122. package/dist/graph/message.d.ts +11 -10
  123. package/dist/graph/message.d.ts.map +1 -0
  124. package/dist/graph/message.js +56 -98
  125. package/dist/graph/message.js.map +1 -1
  126. package/dist/graph/messages_annotation.cjs +106 -106
  127. package/dist/graph/messages_annotation.cjs.map +1 -0
  128. package/dist/graph/messages_annotation.d.cts +111 -0
  129. package/dist/graph/messages_annotation.d.cts.map +1 -0
  130. package/dist/graph/messages_annotation.d.ts +18 -9
  131. package/dist/graph/messages_annotation.d.ts.map +1 -0
  132. package/dist/graph/messages_annotation.js +100 -100
  133. package/dist/graph/messages_annotation.js.map +1 -1
  134. package/dist/graph/state.cjs +475 -779
  135. package/dist/graph/state.cjs.map +1 -0
  136. package/dist/graph/state.d.cts +231 -0
  137. package/dist/graph/state.d.cts.map +1 -0
  138. package/dist/graph/state.d.ts +148 -138
  139. package/dist/graph/state.d.ts.map +1 -0
  140. package/dist/graph/state.js +469 -769
  141. package/dist/graph/state.js.map +1 -1
  142. package/dist/graph/zod/index.cjs +10 -21
  143. package/dist/graph/zod/index.d.cts +3 -0
  144. package/dist/graph/zod/index.d.ts +3 -3
  145. package/dist/graph/zod/index.js +4 -4
  146. package/dist/graph/zod/meta.cjs +142 -177
  147. package/dist/graph/zod/meta.cjs.map +1 -0
  148. package/dist/graph/zod/meta.d.cts +116 -0
  149. package/dist/graph/zod/meta.d.cts.map +1 -0
  150. package/dist/graph/zod/meta.d.ts +99 -97
  151. package/dist/graph/zod/meta.d.ts.map +1 -0
  152. package/dist/graph/zod/meta.js +136 -170
  153. package/dist/graph/zod/meta.js.map +1 -1
  154. package/dist/graph/zod/plugin.cjs +36 -39
  155. package/dist/graph/zod/plugin.cjs.map +1 -0
  156. package/dist/graph/zod/plugin.js +34 -35
  157. package/dist/graph/zod/plugin.js.map +1 -1
  158. package/dist/graph/zod/schema.cjs +82 -110
  159. package/dist/graph/zod/schema.cjs.map +1 -0
  160. package/dist/graph/zod/schema.d.cts +38 -0
  161. package/dist/graph/zod/schema.d.cts.map +1 -0
  162. package/dist/graph/zod/schema.d.ts +12 -6
  163. package/dist/graph/zod/schema.d.ts.map +1 -0
  164. package/dist/graph/zod/schema.js +77 -103
  165. package/dist/graph/zod/schema.js.map +1 -1
  166. package/dist/graph/zod/zod-registry.cjs +41 -47
  167. package/dist/graph/zod/zod-registry.cjs.map +1 -0
  168. package/dist/graph/zod/zod-registry.d.cts +51 -0
  169. package/dist/graph/zod/zod-registry.d.cts.map +1 -0
  170. package/dist/graph/zod/zod-registry.d.ts +34 -26
  171. package/dist/graph/zod/zod-registry.d.ts.map +1 -0
  172. package/dist/graph/zod/zod-registry.js +37 -41
  173. package/dist/graph/zod/zod-registry.js.map +1 -1
  174. package/dist/hash.cjs +205 -267
  175. package/dist/hash.cjs.map +1 -0
  176. package/dist/hash.js +205 -265
  177. package/dist/hash.js.map +1 -1
  178. package/dist/index.cjs +111 -33
  179. package/dist/index.cjs.map +1 -0
  180. package/dist/index.d.cts +26 -0
  181. package/dist/index.d.ts +26 -5
  182. package/dist/index.js +19 -7
  183. package/dist/index.js.map +1 -1
  184. package/dist/interrupt.cjs +79 -85
  185. package/dist/interrupt.cjs.map +1 -0
  186. package/dist/interrupt.d.cts +49 -0
  187. package/dist/interrupt.d.cts.map +1 -0
  188. package/dist/interrupt.d.ts +6 -1
  189. package/dist/interrupt.d.ts.map +1 -0
  190. package/dist/interrupt.js +76 -80
  191. package/dist/interrupt.js.map +1 -1
  192. package/dist/prebuilt/agentName.cjs +139 -172
  193. package/dist/prebuilt/agentName.cjs.map +1 -0
  194. package/dist/prebuilt/agentName.d.cts +42 -0
  195. package/dist/prebuilt/agentName.d.cts.map +1 -0
  196. package/dist/prebuilt/agentName.d.ts +13 -21
  197. package/dist/prebuilt/agentName.d.ts.map +1 -0
  198. package/dist/prebuilt/agentName.js +139 -168
  199. package/dist/prebuilt/agentName.js.map +1 -1
  200. package/dist/prebuilt/agent_executor.cjs +42 -80
  201. package/dist/prebuilt/agent_executor.cjs.map +1 -0
  202. package/dist/prebuilt/agent_executor.d.cts +57 -0
  203. package/dist/prebuilt/agent_executor.d.cts.map +1 -0
  204. package/dist/prebuilt/agent_executor.d.ts +47 -38
  205. package/dist/prebuilt/agent_executor.d.ts.map +1 -0
  206. package/dist/prebuilt/agent_executor.js +40 -75
  207. package/dist/prebuilt/agent_executor.js.map +1 -1
  208. package/dist/prebuilt/chat_agent_executor.cjs +66 -128
  209. package/dist/prebuilt/chat_agent_executor.cjs.map +1 -0
  210. package/dist/prebuilt/chat_agent_executor.d.cts +23 -0
  211. package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -0
  212. package/dist/prebuilt/chat_agent_executor.d.ts +18 -10
  213. package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -0
  214. package/dist/prebuilt/chat_agent_executor.js +63 -123
  215. package/dist/prebuilt/chat_agent_executor.js.map +1 -1
  216. package/dist/prebuilt/index.cjs +15 -18
  217. package/dist/prebuilt/index.d.cts +8 -0
  218. package/dist/prebuilt/index.d.ts +8 -8
  219. package/dist/prebuilt/index.js +8 -7
  220. package/dist/prebuilt/interrupt.d.cts +73 -0
  221. package/dist/prebuilt/interrupt.d.cts.map +1 -0
  222. package/dist/prebuilt/interrupt.d.ts +32 -15
  223. package/dist/prebuilt/interrupt.d.ts.map +1 -0
  224. package/dist/prebuilt/react_agent_executor.cjs +317 -473
  225. package/dist/prebuilt/react_agent_executor.cjs.map +1 -0
  226. package/dist/prebuilt/react_agent_executor.d.cts +229 -0
  227. package/dist/prebuilt/react_agent_executor.d.cts.map +1 -0
  228. package/dist/prebuilt/react_agent_executor.d.ts +171 -143
  229. package/dist/prebuilt/react_agent_executor.d.ts.map +1 -0
  230. package/dist/prebuilt/react_agent_executor.js +315 -465
  231. package/dist/prebuilt/react_agent_executor.js.map +1 -1
  232. package/dist/prebuilt/tool_executor.cjs +45 -67
  233. package/dist/prebuilt/tool_executor.cjs.map +1 -0
  234. package/dist/prebuilt/tool_executor.d.cts +42 -0
  235. package/dist/prebuilt/tool_executor.d.cts.map +1 -0
  236. package/dist/prebuilt/tool_executor.d.ts +30 -24
  237. package/dist/prebuilt/tool_executor.d.ts.map +1 -0
  238. package/dist/prebuilt/tool_executor.js +44 -63
  239. package/dist/prebuilt/tool_executor.js.map +1 -1
  240. package/dist/prebuilt/tool_node.cjs +213 -275
  241. package/dist/prebuilt/tool_node.cjs.map +1 -0
  242. package/dist/prebuilt/tool_node.d.cts +151 -0
  243. package/dist/prebuilt/tool_node.d.cts.map +1 -0
  244. package/dist/prebuilt/tool_node.d.ts +30 -17
  245. package/dist/prebuilt/tool_node.d.ts.map +1 -0
  246. package/dist/prebuilt/tool_node.js +209 -268
  247. package/dist/prebuilt/tool_node.js.map +1 -1
  248. package/dist/pregel/algo.cjs +551 -692
  249. package/dist/pregel/algo.cjs.map +1 -0
  250. package/dist/pregel/algo.d.cts +13 -0
  251. package/dist/pregel/algo.d.cts.map +1 -0
  252. package/dist/pregel/algo.d.ts +8 -38
  253. package/dist/pregel/algo.d.ts.map +1 -0
  254. package/dist/pregel/algo.js +546 -683
  255. package/dist/pregel/algo.js.map +1 -1
  256. package/dist/pregel/call.cjs +46 -42
  257. package/dist/pregel/call.cjs.map +1 -0
  258. package/dist/pregel/call.js +43 -37
  259. package/dist/pregel/call.js.map +1 -1
  260. package/dist/pregel/debug.cjs +153 -223
  261. package/dist/pregel/debug.cjs.map +1 -0
  262. package/dist/pregel/debug.js +152 -215
  263. package/dist/pregel/debug.js.map +1 -1
  264. package/dist/pregel/index.cjs +1138 -1604
  265. package/dist/pregel/index.cjs.map +1 -0
  266. package/dist/pregel/index.d.cts +536 -0
  267. package/dist/pregel/index.d.cts.map +1 -0
  268. package/dist/pregel/index.d.ts +460 -422
  269. package/dist/pregel/index.d.ts.map +1 -0
  270. package/dist/pregel/index.js +1129 -1592
  271. package/dist/pregel/index.js.map +1 -1
  272. package/dist/pregel/io.cjs +127 -234
  273. package/dist/pregel/io.cjs.map +1 -0
  274. package/dist/pregel/io.js +122 -225
  275. package/dist/pregel/io.js.map +1 -1
  276. package/dist/pregel/loop.cjs +542 -954
  277. package/dist/pregel/loop.cjs.map +1 -0
  278. package/dist/pregel/loop.js +539 -948
  279. package/dist/pregel/loop.js.map +1 -1
  280. package/dist/pregel/messages.cjs +104 -196
  281. package/dist/pregel/messages.cjs.map +1 -0
  282. package/dist/pregel/messages.js +102 -191
  283. package/dist/pregel/messages.js.map +1 -1
  284. package/dist/pregel/read.cjs +150 -280
  285. package/dist/pregel/read.cjs.map +1 -0
  286. package/dist/pregel/read.d.cts +51 -0
  287. package/dist/pregel/read.d.cts.map +1 -0
  288. package/dist/pregel/read.d.ts +48 -46
  289. package/dist/pregel/read.d.ts.map +1 -0
  290. package/dist/pregel/read.js +147 -274
  291. package/dist/pregel/read.js.map +1 -1
  292. package/dist/pregel/remote.cjs +339 -458
  293. package/dist/pregel/remote.cjs.map +1 -0
  294. package/dist/pregel/remote.d.cts +121 -0
  295. package/dist/pregel/remote.d.cts.map +1 -0
  296. package/dist/pregel/remote.d.ts +79 -69
  297. package/dist/pregel/remote.d.ts.map +1 -0
  298. package/dist/pregel/remote.js +337 -453
  299. package/dist/pregel/remote.js.map +1 -1
  300. package/dist/pregel/retry.cjs +87 -138
  301. package/dist/pregel/retry.cjs.map +1 -0
  302. package/dist/pregel/retry.js +83 -130
  303. package/dist/pregel/retry.js.map +1 -1
  304. package/dist/pregel/runnable_types.d.cts +49 -0
  305. package/dist/pregel/runnable_types.d.cts.map +1 -0
  306. package/dist/pregel/runnable_types.d.ts +47 -17
  307. package/dist/pregel/runnable_types.d.ts.map +1 -0
  308. package/dist/pregel/runner.cjs +222 -315
  309. package/dist/pregel/runner.cjs.map +1 -0
  310. package/dist/pregel/runner.js +219 -308
  311. package/dist/pregel/runner.js.map +1 -1
  312. package/dist/pregel/stream.cjs +89 -130
  313. package/dist/pregel/stream.cjs.map +1 -0
  314. package/dist/pregel/stream.js +87 -125
  315. package/dist/pregel/stream.js.map +1 -1
  316. package/dist/pregel/types.cjs +25 -62
  317. package/dist/pregel/types.cjs.map +1 -0
  318. package/dist/pregel/types.d.cts +440 -0
  319. package/dist/pregel/types.d.cts.map +1 -0
  320. package/dist/pregel/types.d.ts +381 -432
  321. package/dist/pregel/types.d.ts.map +1 -0
  322. package/dist/pregel/types.js +23 -57
  323. package/dist/pregel/types.js.map +1 -1
  324. package/dist/pregel/utils/config.cjs +101 -147
  325. package/dist/pregel/utils/config.cjs.map +1 -0
  326. package/dist/pregel/utils/config.d.cts +36 -0
  327. package/dist/pregel/utils/config.d.cts.map +1 -0
  328. package/dist/pregel/utils/config.d.ts +12 -9
  329. package/dist/pregel/utils/config.d.ts.map +1 -0
  330. package/dist/pregel/utils/config.js +99 -143
  331. package/dist/pregel/utils/config.js.map +1 -1
  332. package/dist/pregel/utils/index.cjs +87 -125
  333. package/dist/pregel/utils/index.cjs.map +1 -0
  334. package/dist/pregel/utils/index.d.cts +51 -0
  335. package/dist/pregel/utils/index.d.cts.map +1 -0
  336. package/dist/pregel/utils/index.d.ts +45 -61
  337. package/dist/pregel/utils/index.d.ts.map +1 -0
  338. package/dist/pregel/utils/index.js +86 -120
  339. package/dist/pregel/utils/index.js.map +1 -1
  340. package/dist/pregel/utils/subgraph.cjs +15 -26
  341. package/dist/pregel/utils/subgraph.cjs.map +1 -0
  342. package/dist/pregel/utils/subgraph.js +12 -21
  343. package/dist/pregel/utils/subgraph.js.map +1 -1
  344. package/dist/pregel/validate.cjs +42 -92
  345. package/dist/pregel/validate.cjs.map +1 -0
  346. package/dist/pregel/validate.js +39 -84
  347. package/dist/pregel/validate.js.map +1 -1
  348. package/dist/pregel/write.cjs +87 -137
  349. package/dist/pregel/write.cjs.map +1 -0
  350. package/dist/pregel/write.d.cts +35 -0
  351. package/dist/pregel/write.d.cts.map +1 -0
  352. package/dist/pregel/write.d.ts +27 -23
  353. package/dist/pregel/write.d.ts.map +1 -0
  354. package/dist/pregel/write.js +83 -131
  355. package/dist/pregel/write.js.map +1 -1
  356. package/dist/remote.cjs +3 -6
  357. package/dist/remote.d.cts +2 -0
  358. package/dist/remote.d.ts +2 -1
  359. package/dist/remote.js +3 -2
  360. package/dist/setup/async_local_storage.cjs +10 -7
  361. package/dist/setup/async_local_storage.cjs.map +1 -0
  362. package/dist/setup/async_local_storage.js +7 -2
  363. package/dist/setup/async_local_storage.js.map +1 -1
  364. package/dist/ui/index.cjs +4 -0
  365. package/dist/ui/index.d.cts +5 -0
  366. package/dist/ui/index.d.ts +5 -0
  367. package/dist/ui/index.js +3 -0
  368. package/dist/ui/stream.cjs +145 -0
  369. package/dist/ui/stream.cjs.map +1 -0
  370. package/dist/ui/stream.d.cts +25 -0
  371. package/dist/ui/stream.d.cts.map +1 -0
  372. package/dist/ui/stream.d.ts +25 -0
  373. package/dist/ui/stream.d.ts.map +1 -0
  374. package/dist/ui/stream.js +143 -0
  375. package/dist/ui/stream.js.map +1 -0
  376. package/dist/ui/types.infer.d.cts +53 -0
  377. package/dist/ui/types.infer.d.cts.map +1 -0
  378. package/dist/ui/types.infer.d.ts +53 -0
  379. package/dist/ui/types.infer.d.ts.map +1 -0
  380. package/dist/ui/types.message.d.cts +95 -0
  381. package/dist/ui/types.message.d.cts.map +1 -0
  382. package/dist/ui/types.message.d.ts +95 -0
  383. package/dist/ui/types.message.d.ts.map +1 -0
  384. package/dist/ui/types.schema.d.cts +228 -0
  385. package/dist/ui/types.schema.d.cts.map +1 -0
  386. package/dist/ui/types.schema.d.ts +228 -0
  387. package/dist/ui/types.schema.d.ts.map +1 -0
  388. package/dist/utils.cjs +77 -147
  389. package/dist/utils.cjs.map +1 -0
  390. package/dist/utils.d.cts +32 -0
  391. package/dist/utils.d.cts.map +1 -0
  392. package/dist/utils.d.ts +29 -25
  393. package/dist/utils.d.ts.map +1 -0
  394. package/dist/utils.js +73 -140
  395. package/dist/utils.js.map +1 -1
  396. package/dist/web.cjs +96 -55
  397. package/dist/web.d.cts +23 -0
  398. package/dist/web.d.ts +23 -14
  399. package/dist/web.js +15 -8
  400. package/dist/writer.cjs +15 -0
  401. package/dist/writer.cjs.map +1 -0
  402. package/dist/writer.d.cts +5 -0
  403. package/dist/writer.d.cts.map +1 -0
  404. package/dist/writer.d.ts +5 -0
  405. package/dist/writer.d.ts.map +1 -0
  406. package/dist/writer.js +14 -0
  407. package/dist/writer.js.map +1 -0
  408. package/package.json +90 -83
  409. package/dist/channels/index.js.map +0 -1
  410. package/dist/func/types.cjs +0 -15
  411. package/dist/func/types.js +0 -12
  412. package/dist/func/types.js.map +0 -1
  413. package/dist/graph/index.d.ts +0 -4
  414. package/dist/graph/index.js.map +0 -1
  415. package/dist/graph/message.test.cjs +0 -196
  416. package/dist/graph/message.test.d.ts +0 -1
  417. package/dist/graph/message.test.js +0 -194
  418. package/dist/graph/message.test.js.map +0 -1
  419. package/dist/graph/zod/index.js.map +0 -1
  420. package/dist/graph/zod/plugin.d.ts +0 -28
  421. package/dist/hash.d.ts +0 -2
  422. package/dist/prebuilt/index.js.map +0 -1
  423. package/dist/prebuilt/interrupt.cjs +0 -3
  424. package/dist/prebuilt/interrupt.js +0 -2
  425. package/dist/prebuilt/interrupt.js.map +0 -1
  426. package/dist/pregel/call.d.ts +0 -16
  427. package/dist/pregel/debug.d.ts +0 -41
  428. package/dist/pregel/debug.test.cjs +0 -258
  429. package/dist/pregel/debug.test.d.ts +0 -1
  430. package/dist/pregel/debug.test.js +0 -256
  431. package/dist/pregel/debug.test.js.map +0 -1
  432. package/dist/pregel/io.d.ts +0 -30
  433. package/dist/pregel/io.mapCommand.test.cjs +0 -150
  434. package/dist/pregel/io.mapCommand.test.d.ts +0 -1
  435. package/dist/pregel/io.mapCommand.test.js +0 -148
  436. package/dist/pregel/io.mapCommand.test.js.map +0 -1
  437. package/dist/pregel/loop.d.ts +0 -147
  438. package/dist/pregel/messages.d.ts +0 -30
  439. package/dist/pregel/messages.test.cjs +0 -369
  440. package/dist/pregel/messages.test.d.ts +0 -1
  441. package/dist/pregel/messages.test.js +0 -367
  442. package/dist/pregel/messages.test.js.map +0 -1
  443. package/dist/pregel/read.test.cjs +0 -194
  444. package/dist/pregel/read.test.d.ts +0 -1
  445. package/dist/pregel/read.test.js +0 -192
  446. package/dist/pregel/read.test.js.map +0 -1
  447. package/dist/pregel/retry.d.ts +0 -17
  448. package/dist/pregel/runnable_types.cjs +0 -3
  449. package/dist/pregel/runnable_types.js +0 -2
  450. package/dist/pregel/runnable_types.js.map +0 -1
  451. package/dist/pregel/runner.d.ts +0 -79
  452. package/dist/pregel/runner.test.cjs +0 -66
  453. package/dist/pregel/runner.test.d.ts +0 -1
  454. package/dist/pregel/runner.test.js +0 -64
  455. package/dist/pregel/runner.test.js.map +0 -1
  456. package/dist/pregel/stream.d.ts +0 -40
  457. package/dist/pregel/utils/config.test.cjs +0 -214
  458. package/dist/pregel/utils/config.test.d.ts +0 -1
  459. package/dist/pregel/utils/config.test.js +0 -212
  460. package/dist/pregel/utils/config.test.js.map +0 -1
  461. package/dist/pregel/utils/subgraph.d.ts +0 -4
  462. package/dist/pregel/utils/subgraph.test.cjs +0 -83
  463. package/dist/pregel/utils/subgraph.test.d.ts +0 -1
  464. package/dist/pregel/utils/subgraph.test.js +0 -81
  465. package/dist/pregel/utils/subgraph.test.js.map +0 -1
  466. package/dist/pregel/validate.d.ts +0 -16
  467. package/dist/pregel/validate.test.cjs +0 -220
  468. package/dist/pregel/validate.test.d.ts +0 -1
  469. package/dist/pregel/validate.test.js +0 -218
  470. package/dist/pregel/validate.test.js.map +0 -1
  471. package/dist/pregel/write.test.cjs +0 -181
  472. package/dist/pregel/write.test.d.ts +0 -1
  473. package/dist/pregel/write.test.js +0 -179
  474. package/dist/pregel/write.test.js.map +0 -1
  475. package/dist/remote.js.map +0 -1
  476. package/dist/setup/async_local_storage.d.ts +0 -1
  477. package/dist/web.js.map +0 -1
  478. package/index.cjs +0 -1
  479. package/index.d.cts +0 -1
  480. package/index.d.ts +0 -1
  481. package/index.js +0 -1
  482. package/prebuilt.cjs +0 -1
  483. package/prebuilt.d.cts +0 -1
  484. package/prebuilt.d.ts +0 -1
  485. package/prebuilt.js +0 -1
  486. package/pregel.cjs +0 -1
  487. package/pregel.d.cts +0 -1
  488. package/pregel.d.ts +0 -1
  489. package/pregel.js +0 -1
  490. package/remote.cjs +0 -1
  491. package/remote.d.cts +0 -1
  492. package/remote.d.ts +0 -1
  493. package/remote.js +0 -1
  494. package/web.cjs +0 -1
  495. package/web.d.cts +0 -1
  496. package/web.d.ts +0 -1
  497. package/web.js +0 -1
  498. package/zod/schema.cjs +0 -1
  499. package/zod/schema.d.cts +0 -1
  500. package/zod/schema.d.ts +0 -1
  501. package/zod/schema.js +0 -1
  502. package/zod.cjs +0 -1
  503. package/zod.d.cts +0 -1
  504. package/zod.d.ts +0 -1
  505. package/zod.js +0 -1
@@ -1,43 +1,46 @@
1
1
  import { BaseChannel } from "./base.js";
2
- export declare const areSetsEqual: <T>(a: Set<T>, b: Set<T>) => boolean;
2
+
3
+ //#region src/channels/named_barrier_value.d.ts
4
+
3
5
  /**
4
6
  * A channel that waits until all named values are received before making the value available.
5
7
  *
6
8
  * This ensures that if node N and node M both write to channel C, the value of C will not be updated
7
9
  * until N and M have completed updating.
8
- * @internal
9
10
  */
10
- export declare class NamedBarrierValue<Value> extends BaseChannel<void, Value, Value[]> {
11
- lc_graph_name: string;
12
- names: Set<Value>;
13
- seen: Set<Value>;
14
- constructor(names: Set<Value>);
15
- fromCheckpoint(checkpoint?: Value[]): this;
16
- update(values: Value[]): boolean;
17
- get(): void;
18
- checkpoint(): Value[];
19
- consume(): boolean;
20
- isAvailable(): boolean;
11
+ declare class NamedBarrierValue<Value> extends BaseChannel<void, Value, Value[]> {
12
+ lc_graph_name: string;
13
+ names: Set<Value>; // Names of nodes that we want to wait for.
14
+ seen: Set<Value>;
15
+ constructor(names: Set<Value>);
16
+ fromCheckpoint(checkpoint?: Value[]): this;
17
+ update(values: Value[]): boolean;
18
+ // If we have not yet seen all the node names we want to wait for,
19
+ // throw an error to prevent continuing.
20
+ get(): void;
21
+ checkpoint(): Value[];
22
+ consume(): boolean;
23
+ isAvailable(): boolean;
21
24
  }
22
25
  /**
23
26
  * A channel that waits until all named values are received before making the value ready to be made available.
24
27
  * It is only made available after finish() is called.
25
28
  * @internal
26
29
  */
27
- export declare class NamedBarrierValueAfterFinish<Value> extends BaseChannel<void, Value, [
28
- Value[],
29
- boolean
30
- ]> {
31
- lc_graph_name: string;
32
- names: Set<Value>;
33
- seen: Set<Value>;
34
- finished: boolean;
35
- constructor(names: Set<Value>);
36
- fromCheckpoint(checkpoint?: [Value[], boolean]): this;
37
- update(values: Value[]): boolean;
38
- get(): void;
39
- checkpoint(): [Value[], boolean];
40
- consume(): boolean;
41
- finish(): boolean;
42
- isAvailable(): boolean;
30
+ declare class NamedBarrierValueAfterFinish<Value> extends BaseChannel<void, Value, [Value[], boolean]> {
31
+ lc_graph_name: string;
32
+ names: Set<Value>; // Names of nodes that we want to wait for.
33
+ seen: Set<Value>;
34
+ finished: boolean;
35
+ constructor(names: Set<Value>);
36
+ fromCheckpoint(checkpoint?: [Value[], boolean]): this;
37
+ update(values: Value[]): boolean;
38
+ get(): void;
39
+ checkpoint(): [Value[], boolean];
40
+ consume(): boolean;
41
+ finish(): boolean;
42
+ isAvailable(): boolean;
43
43
  }
44
+ //#endregion
45
+ export { NamedBarrierValue, NamedBarrierValueAfterFinish };
46
+ //# sourceMappingURL=named_barrier_value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named_barrier_value.d.ts","names":["BaseChannel","areSetsEqual","T","Set","NamedBarrierValue","Value","NamedBarrierValueAfterFinish"],"sources":["../../src/channels/named_barrier_value.d.ts"],"sourcesContent":["import { BaseChannel } from \"./base.js\";\nexport declare const areSetsEqual: <T>(a: Set<T>, b: Set<T>) => boolean;\n/**\n * A channel that waits until all named values are received before making the value available.\n *\n * This ensures that if node N and node M both write to channel C, the value of C will not be updated\n * until N and M have completed updating.\n */\nexport declare class NamedBarrierValue<Value> extends BaseChannel<void, Value, Value[]> {\n lc_graph_name: string;\n names: Set<Value>; // Names of nodes that we want to wait for.\n seen: Set<Value>;\n constructor(names: Set<Value>);\n fromCheckpoint(checkpoint?: Value[]): this;\n update(values: Value[]): boolean;\n // If we have not yet seen all the node names we want to wait for,\n // throw an error to prevent continuing.\n get(): void;\n checkpoint(): Value[];\n consume(): boolean;\n isAvailable(): boolean;\n}\n/**\n * A channel that waits until all named values are received before making the value ready to be made available.\n * It is only made available after finish() is called.\n * @internal\n */\nexport declare class NamedBarrierValueAfterFinish<Value> extends BaseChannel<void, Value, [\n Value[],\n boolean\n]> {\n lc_graph_name: string;\n names: Set<Value>; // Names of nodes that we want to wait for.\n seen: Set<Value>;\n finished: boolean;\n constructor(names: Set<Value>);\n fromCheckpoint(checkpoint?: [Value[], boolean]): this;\n update(values: Value[]): boolean;\n get(): void;\n checkpoint(): [Value[], boolean];\n consume(): boolean;\n finish(): boolean;\n isAvailable(): boolean;\n}\n"],"mappings":";;;;;AAQA;;;;;AAEWG,cAFUC,iBAEVD,CAAAA,KAAAA,CAAAA,SAF2CH,WAE3CG,CAAAA,IAAAA,EAF6DE,KAE7DF,EAFoEE,KAEpEF,EAAAA,CAAAA,CAAAA;eACGE,EAAAA,MAAAA;OAAJF,EADCA,GACDA,CADKE,KACLF,CAAAA,CAAAA,CAAAA;MACiBE,EADjBF,GACiBE,CADbA,KACaA,CAAAA;aAAJF,CAAAA,KAAAA,EAAAA,GAAAA,CAAIE,KAAJF,CAAAA;gBACSE,CAAAA,UAAAA,CAAAA,EAAAA,KAAAA,EAAAA,CAAAA,EAAAA,IAAAA;QACbA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,CAAAA,EAAAA,OAAAA;;;;EAaEC,UAAAA,CAAAA,CAAAA,EATHD,KASGC,EAAAA;EAA4B,OAAA,CAAA,CAAA,EAAA,OAAA;aAAkCD,CAAAA,CAAAA,EAAAA,OAAAA;;;;;;;AAQ5DF,cARFG,4BAQEH,CAAAA,KAAAA,CAAAA,SAR0CH,WAQ1CG,CAAAA,IAAAA,EAR4DE,KAQ5DF,EAAAA,CAPnBE,KAQ6BA,EAAAA,SACdA;eAV8CL,EAAAA,MAAAA;SAKtDG,IAAIE;QACLF,IAAIE;;qBAESF,IAAIE;+BACMA;iBACdA;;iBAEAA"}
@@ -1,168 +1,116 @@
1
1
  import { EmptyChannelError, InvalidUpdateError } from "../errors.js";
2
2
  import { BaseChannel } from "./base.js";
3
- export const areSetsEqual = (a, b) => a.size === b.size && [...a].every((value) => b.has(value));
3
+
4
+ //#region src/channels/named_barrier_value.ts
5
+ const areSetsEqual = (a, b) => a.size === b.size && [...a].every((value) => b.has(value));
4
6
  /**
5
- * A channel that waits until all named values are received before making the value available.
6
- *
7
- * This ensures that if node N and node M both write to channel C, the value of C will not be updated
8
- * until N and M have completed updating.
9
- * @internal
10
- */
11
- export class NamedBarrierValue extends BaseChannel {
12
- constructor(names) {
13
- super();
14
- Object.defineProperty(this, "lc_graph_name", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: "NamedBarrierValue"
19
- });
20
- Object.defineProperty(this, "names", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: void 0
25
- }); // Names of nodes that we want to wait for.
26
- Object.defineProperty(this, "seen", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: void 0
31
- });
32
- this.names = names;
33
- this.seen = new Set();
34
- }
35
- fromCheckpoint(checkpoint) {
36
- const empty = new NamedBarrierValue(this.names);
37
- if (typeof checkpoint !== "undefined") {
38
- empty.seen = new Set(checkpoint);
39
- }
40
- return empty;
41
- }
42
- update(values) {
43
- let updated = false;
44
- for (const nodeName of values) {
45
- if (this.names.has(nodeName)) {
46
- if (!this.seen.has(nodeName)) {
47
- this.seen.add(nodeName);
48
- updated = true;
49
- }
50
- }
51
- else {
52
- throw new InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
53
- }
54
- }
55
- return updated;
56
- }
57
- // If we have not yet seen all the node names we want to wait for,
58
- // throw an error to prevent continuing.
59
- get() {
60
- if (!areSetsEqual(this.names, this.seen)) {
61
- throw new EmptyChannelError();
62
- }
63
- return undefined;
64
- }
65
- checkpoint() {
66
- return [...this.seen];
67
- }
68
- consume() {
69
- if (this.seen && this.names && areSetsEqual(this.seen, this.names)) {
70
- this.seen = new Set();
71
- return true;
72
- }
73
- return false;
74
- }
75
- isAvailable() {
76
- return !!this.names && areSetsEqual(this.names, this.seen);
77
- }
78
- }
7
+ * A channel that waits until all named values are received before making the value available.
8
+ *
9
+ * This ensures that if node N and node M both write to channel C, the value of C will not be updated
10
+ * until N and M have completed updating.
11
+ */
12
+ var NamedBarrierValue = class NamedBarrierValue extends BaseChannel {
13
+ lc_graph_name = "NamedBarrierValue";
14
+ names;
15
+ seen;
16
+ constructor(names) {
17
+ super();
18
+ this.names = names;
19
+ this.seen = /* @__PURE__ */ new Set();
20
+ }
21
+ fromCheckpoint(checkpoint) {
22
+ const empty = new NamedBarrierValue(this.names);
23
+ if (typeof checkpoint !== "undefined") empty.seen = new Set(checkpoint);
24
+ return empty;
25
+ }
26
+ update(values) {
27
+ let updated = false;
28
+ for (const nodeName of values) if (this.names.has(nodeName)) {
29
+ if (!this.seen.has(nodeName)) {
30
+ this.seen.add(nodeName);
31
+ updated = true;
32
+ }
33
+ } else throw new InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
34
+ return updated;
35
+ }
36
+ get() {
37
+ if (!areSetsEqual(this.names, this.seen)) throw new EmptyChannelError();
38
+ return void 0;
39
+ }
40
+ checkpoint() {
41
+ return [...this.seen];
42
+ }
43
+ consume() {
44
+ if (this.seen && this.names && areSetsEqual(this.seen, this.names)) {
45
+ this.seen = /* @__PURE__ */ new Set();
46
+ return true;
47
+ }
48
+ return false;
49
+ }
50
+ isAvailable() {
51
+ return !!this.names && areSetsEqual(this.names, this.seen);
52
+ }
53
+ };
79
54
  /**
80
- * A channel that waits until all named values are received before making the value ready to be made available.
81
- * It is only made available after finish() is called.
82
- * @internal
83
- */
84
- export class NamedBarrierValueAfterFinish extends BaseChannel {
85
- constructor(names) {
86
- super();
87
- Object.defineProperty(this, "lc_graph_name", {
88
- enumerable: true,
89
- configurable: true,
90
- writable: true,
91
- value: "NamedBarrierValueAfterFinish"
92
- });
93
- Object.defineProperty(this, "names", {
94
- enumerable: true,
95
- configurable: true,
96
- writable: true,
97
- value: void 0
98
- }); // Names of nodes that we want to wait for.
99
- Object.defineProperty(this, "seen", {
100
- enumerable: true,
101
- configurable: true,
102
- writable: true,
103
- value: void 0
104
- });
105
- Object.defineProperty(this, "finished", {
106
- enumerable: true,
107
- configurable: true,
108
- writable: true,
109
- value: void 0
110
- });
111
- this.names = names;
112
- this.seen = new Set();
113
- this.finished = false;
114
- }
115
- fromCheckpoint(checkpoint) {
116
- const empty = new NamedBarrierValueAfterFinish(this.names);
117
- if (typeof checkpoint !== "undefined") {
118
- const [seen, finished] = checkpoint;
119
- empty.seen = new Set(seen);
120
- empty.finished = finished;
121
- }
122
- return empty;
123
- }
124
- update(values) {
125
- let updated = false;
126
- for (const nodeName of values) {
127
- if (this.names.has(nodeName) && !this.seen.has(nodeName)) {
128
- this.seen.add(nodeName);
129
- updated = true;
130
- }
131
- else if (!this.names.has(nodeName)) {
132
- throw new InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
133
- }
134
- }
135
- return updated;
136
- }
137
- get() {
138
- if (!this.finished || !areSetsEqual(this.names, this.seen)) {
139
- throw new EmptyChannelError();
140
- }
141
- return undefined;
142
- }
143
- checkpoint() {
144
- return [[...this.seen], this.finished];
145
- }
146
- consume() {
147
- if (this.finished &&
148
- this.seen &&
149
- this.names &&
150
- areSetsEqual(this.seen, this.names)) {
151
- this.seen = new Set();
152
- this.finished = false;
153
- return true;
154
- }
155
- return false;
156
- }
157
- finish() {
158
- if (!this.finished && !!this.names && areSetsEqual(this.names, this.seen)) {
159
- this.finished = true;
160
- return true;
161
- }
162
- return false;
163
- }
164
- isAvailable() {
165
- return this.finished && !!this.names && areSetsEqual(this.names, this.seen);
166
- }
167
- }
55
+ * A channel that waits until all named values are received before making the value ready to be made available.
56
+ * It is only made available after finish() is called.
57
+ * @internal
58
+ */
59
+ var NamedBarrierValueAfterFinish = class NamedBarrierValueAfterFinish extends BaseChannel {
60
+ lc_graph_name = "NamedBarrierValueAfterFinish";
61
+ names;
62
+ seen;
63
+ finished;
64
+ constructor(names) {
65
+ super();
66
+ this.names = names;
67
+ this.seen = /* @__PURE__ */ new Set();
68
+ this.finished = false;
69
+ }
70
+ fromCheckpoint(checkpoint) {
71
+ const empty = new NamedBarrierValueAfterFinish(this.names);
72
+ if (typeof checkpoint !== "undefined") {
73
+ const [seen, finished] = checkpoint;
74
+ empty.seen = new Set(seen);
75
+ empty.finished = finished;
76
+ }
77
+ return empty;
78
+ }
79
+ update(values) {
80
+ let updated = false;
81
+ for (const nodeName of values) if (this.names.has(nodeName) && !this.seen.has(nodeName)) {
82
+ this.seen.add(nodeName);
83
+ updated = true;
84
+ } else if (!this.names.has(nodeName)) throw new InvalidUpdateError(`Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(this.names)}`);
85
+ return updated;
86
+ }
87
+ get() {
88
+ if (!this.finished || !areSetsEqual(this.names, this.seen)) throw new EmptyChannelError();
89
+ return void 0;
90
+ }
91
+ checkpoint() {
92
+ return [[...this.seen], this.finished];
93
+ }
94
+ consume() {
95
+ if (this.finished && this.seen && this.names && areSetsEqual(this.seen, this.names)) {
96
+ this.seen = /* @__PURE__ */ new Set();
97
+ this.finished = false;
98
+ return true;
99
+ }
100
+ return false;
101
+ }
102
+ finish() {
103
+ if (!this.finished && !!this.names && areSetsEqual(this.names, this.seen)) {
104
+ this.finished = true;
105
+ return true;
106
+ }
107
+ return false;
108
+ }
109
+ isAvailable() {
110
+ return this.finished && !!this.names && areSetsEqual(this.names, this.seen);
111
+ }
112
+ };
113
+
114
+ //#endregion
115
+ export { NamedBarrierValue, NamedBarrierValueAfterFinish, areSetsEqual };
168
116
  //# sourceMappingURL=named_barrier_value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"named_barrier_value.js","sourceRoot":"","sources":["../../src/channels/named_barrier_value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"named_barrier_value.js","names":[],"sources":["../../src/channels/named_barrier_value.ts"],"sourcesContent":["import { EmptyChannelError, InvalidUpdateError } from \"../errors.js\";\nimport { BaseChannel } from \"./base.js\";\n\nexport const areSetsEqual = <T>(a: Set<T>, b: Set<T>) =>\n a.size === b.size && [...a].every((value) => b.has(value));\n\n/**\n * A channel that waits until all named values are received before making the value available.\n *\n * This ensures that if node N and node M both write to channel C, the value of C will not be updated\n * until N and M have completed updating.\n */\nexport class NamedBarrierValue<Value> extends BaseChannel<\n void,\n Value,\n Value[]\n> {\n lc_graph_name = \"NamedBarrierValue\";\n\n names: Set<Value>; // Names of nodes that we want to wait for.\n\n seen: Set<Value>;\n\n constructor(names: Set<Value>) {\n super();\n this.names = names;\n this.seen = new Set<Value>();\n }\n\n fromCheckpoint(checkpoint?: Value[]) {\n const empty = new NamedBarrierValue<Value>(this.names);\n if (typeof checkpoint !== \"undefined\") {\n empty.seen = new Set(checkpoint);\n }\n return empty as this;\n }\n\n update(values: Value[]): boolean {\n let updated = false;\n for (const nodeName of values) {\n if (this.names.has(nodeName)) {\n if (!this.seen.has(nodeName)) {\n this.seen.add(nodeName);\n updated = true;\n }\n } else {\n throw new InvalidUpdateError(\n `Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(\n this.names\n )}`\n );\n }\n }\n return updated;\n }\n\n // If we have not yet seen all the node names we want to wait for,\n // throw an error to prevent continuing.\n get(): void {\n if (!areSetsEqual(this.names, this.seen)) {\n throw new EmptyChannelError();\n }\n return undefined;\n }\n\n checkpoint(): Value[] {\n return [...this.seen];\n }\n\n consume(): boolean {\n if (this.seen && this.names && areSetsEqual(this.seen, this.names)) {\n this.seen = new Set<Value>();\n return true;\n }\n return false;\n }\n\n isAvailable(): boolean {\n return !!this.names && areSetsEqual(this.names, this.seen);\n }\n}\n\n/**\n * A channel that waits until all named values are received before making the value ready to be made available.\n * It is only made available after finish() is called.\n * @internal\n */\nexport class NamedBarrierValueAfterFinish<Value> extends BaseChannel<\n void,\n Value,\n [Value[], boolean]\n> {\n lc_graph_name = \"NamedBarrierValueAfterFinish\";\n\n names: Set<Value>; // Names of nodes that we want to wait for.\n\n seen: Set<Value>;\n\n finished: boolean;\n\n constructor(names: Set<Value>) {\n super();\n this.names = names;\n this.seen = new Set<Value>();\n this.finished = false;\n }\n\n fromCheckpoint(checkpoint?: [Value[], boolean]) {\n const empty = new NamedBarrierValueAfterFinish<Value>(this.names);\n if (typeof checkpoint !== \"undefined\") {\n const [seen, finished] = checkpoint;\n empty.seen = new Set(seen);\n empty.finished = finished;\n }\n return empty as this;\n }\n\n update(values: Value[]): boolean {\n let updated = false;\n for (const nodeName of values) {\n if (this.names.has(nodeName) && !this.seen.has(nodeName)) {\n this.seen.add(nodeName);\n updated = true;\n } else if (!this.names.has(nodeName)) {\n throw new InvalidUpdateError(\n `Value ${JSON.stringify(nodeName)} not in names ${JSON.stringify(\n this.names\n )}`\n );\n }\n }\n return updated;\n }\n\n get(): void {\n if (!this.finished || !areSetsEqual(this.names, this.seen)) {\n throw new EmptyChannelError();\n }\n return undefined;\n }\n\n checkpoint(): [Value[], boolean] {\n return [[...this.seen], this.finished];\n }\n\n consume(): boolean {\n if (\n this.finished &&\n this.seen &&\n this.names &&\n areSetsEqual(this.seen, this.names)\n ) {\n this.seen = new Set<Value>();\n this.finished = false;\n return true;\n }\n return false;\n }\n\n finish(): boolean {\n if (!this.finished && !!this.names && areSetsEqual(this.names, this.seen)) {\n this.finished = true;\n return true;\n }\n return false;\n }\n\n isAvailable(): boolean {\n return this.finished && !!this.names && areSetsEqual(this.names, this.seen);\n }\n}\n"],"mappings":";;;;AAGA,MAAa,gBAAmB,GAAW,MACzC,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,GAAG,OAAO,UAAU,EAAE,IAAI;;;;;;;AAQrD,IAAa,oBAAb,MAAa,0BAAiC,YAI5C;CACA,gBAAgB;CAEhB;CAEA;CAEA,YAAY,OAAmB;AAC7B;AACA,OAAK,QAAQ;AACb,OAAK,uBAAO,IAAI;;CAGlB,eAAe,YAAsB;EACnC,MAAM,QAAQ,IAAI,kBAAyB,KAAK;AAChD,MAAI,OAAO,eAAe,YACxB,OAAM,OAAO,IAAI,IAAI;AAEvB,SAAO;;CAGT,OAAO,QAA0B;EAC/B,IAAI,UAAU;AACd,OAAK,MAAM,YAAY,OACrB,KAAI,KAAK,MAAM,IAAI,WACjB;OAAI,CAAC,KAAK,KAAK,IAAI,WAAW;AAC5B,SAAK,KAAK,IAAI;AACd,cAAU;;QAGZ,OAAM,IAAI,mBACR,SAAS,KAAK,UAAU,UAAU,gBAAgB,KAAK,UACrD,KAAK;AAKb,SAAO;;CAKT,MAAY;AACV,MAAI,CAAC,aAAa,KAAK,OAAO,KAAK,MACjC,OAAM,IAAI;AAEZ,SAAO;;CAGT,aAAsB;AACpB,SAAO,CAAC,GAAG,KAAK;;CAGlB,UAAmB;AACjB,MAAI,KAAK,QAAQ,KAAK,SAAS,aAAa,KAAK,MAAM,KAAK,QAAQ;AAClE,QAAK,uBAAO,IAAI;AAChB,UAAO;;AAET,SAAO;;CAGT,cAAuB;AACrB,SAAO,CAAC,CAAC,KAAK,SAAS,aAAa,KAAK,OAAO,KAAK;;;;;;;;AASzD,IAAa,+BAAb,MAAa,qCAA4C,YAIvD;CACA,gBAAgB;CAEhB;CAEA;CAEA;CAEA,YAAY,OAAmB;AAC7B;AACA,OAAK,QAAQ;AACb,OAAK,uBAAO,IAAI;AAChB,OAAK,WAAW;;CAGlB,eAAe,YAAiC;EAC9C,MAAM,QAAQ,IAAI,6BAAoC,KAAK;AAC3D,MAAI,OAAO,eAAe,aAAa;GACrC,MAAM,CAAC,MAAM,YAAY;AACzB,SAAM,OAAO,IAAI,IAAI;AACrB,SAAM,WAAW;;AAEnB,SAAO;;CAGT,OAAO,QAA0B;EAC/B,IAAI,UAAU;AACd,OAAK,MAAM,YAAY,OACrB,KAAI,KAAK,MAAM,IAAI,aAAa,CAAC,KAAK,KAAK,IAAI,WAAW;AACxD,QAAK,KAAK,IAAI;AACd,aAAU;aACD,CAAC,KAAK,MAAM,IAAI,UACzB,OAAM,IAAI,mBACR,SAAS,KAAK,UAAU,UAAU,gBAAgB,KAAK,UACrD,KAAK;AAKb,SAAO;;CAGT,MAAY;AACV,MAAI,CAAC,KAAK,YAAY,CAAC,aAAa,KAAK,OAAO,KAAK,MACnD,OAAM,IAAI;AAEZ,SAAO;;CAGT,aAAiC;AAC/B,SAAO,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK;;CAG/B,UAAmB;AACjB,MACE,KAAK,YACL,KAAK,QACL,KAAK,SACL,aAAa,KAAK,MAAM,KAAK,QAC7B;AACA,QAAK,uBAAO,IAAI;AAChB,QAAK,WAAW;AAChB,UAAO;;AAET,SAAO;;CAGT,SAAkB;AAChB,MAAI,CAAC,KAAK,YAAY,CAAC,CAAC,KAAK,SAAS,aAAa,KAAK,OAAO,KAAK,OAAO;AACzE,QAAK,WAAW;AAChB,UAAO;;AAET,SAAO;;CAGT,cAAuB;AACrB,SAAO,KAAK,YAAY,CAAC,CAAC,KAAK,SAAS,aAAa,KAAK,OAAO,KAAK"}
@@ -1,98 +1,65 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Topic = void 0;
4
- const errors_js_1 = require("../errors.cjs");
5
- const base_js_1 = require("./base.cjs");
1
+ const require_errors = require('../errors.cjs');
2
+ const require_base = require('./base.cjs');
3
+
4
+ //#region src/channels/topic.ts
6
5
  /**
7
- * @internal
8
- */
9
- class Topic extends base_js_1.BaseChannel {
10
- constructor(fields) {
11
- super();
12
- Object.defineProperty(this, "lc_graph_name", {
13
- enumerable: true,
14
- configurable: true,
15
- writable: true,
16
- value: "Topic"
17
- });
18
- Object.defineProperty(this, "unique", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: false
23
- });
24
- Object.defineProperty(this, "accumulate", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: false
29
- });
30
- Object.defineProperty(this, "seen", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: void 0
35
- });
36
- Object.defineProperty(this, "values", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: void 0
41
- });
42
- this.unique = fields?.unique ?? this.unique;
43
- this.accumulate = fields?.accumulate ?? this.accumulate;
44
- // State
45
- this.seen = new Set();
46
- this.values = [];
47
- }
48
- fromCheckpoint(checkpoint) {
49
- const empty = new Topic({
50
- unique: this.unique,
51
- accumulate: this.accumulate,
52
- });
53
- if (typeof checkpoint !== "undefined") {
54
- empty.seen = new Set(checkpoint[0]);
55
- // eslint-disable-next-line prefer-destructuring
56
- empty.values = checkpoint[1];
57
- }
58
- return empty;
59
- }
60
- update(values) {
61
- let updated = false;
62
- if (!this.accumulate) {
63
- updated = this.values.length > 0;
64
- this.values = [];
65
- }
66
- const flatValues = values.flat();
67
- if (flatValues.length > 0) {
68
- if (this.unique) {
69
- for (const value of flatValues) {
70
- if (!this.seen.has(value)) {
71
- updated = true;
72
- this.seen.add(value);
73
- this.values.push(value);
74
- }
75
- }
76
- }
77
- else {
78
- updated = true;
79
- this.values.push(...flatValues);
80
- }
81
- }
82
- return updated;
83
- }
84
- get() {
85
- if (this.values.length === 0) {
86
- throw new errors_js_1.EmptyChannelError();
87
- }
88
- return this.values;
89
- }
90
- checkpoint() {
91
- return [[...this.seen], this.values];
92
- }
93
- isAvailable() {
94
- return this.values.length !== 0;
95
- }
96
- }
6
+ * A configurable PubSub Topic.
7
+ */
8
+ var Topic = class Topic extends require_base.BaseChannel {
9
+ lc_graph_name = "Topic";
10
+ unique = false;
11
+ accumulate = false;
12
+ seen;
13
+ values;
14
+ constructor(fields) {
15
+ super();
16
+ this.unique = fields?.unique ?? this.unique;
17
+ this.accumulate = fields?.accumulate ?? this.accumulate;
18
+ this.seen = /* @__PURE__ */ new Set();
19
+ this.values = [];
20
+ }
21
+ fromCheckpoint(checkpoint) {
22
+ const empty = new Topic({
23
+ unique: this.unique,
24
+ accumulate: this.accumulate
25
+ });
26
+ if (typeof checkpoint !== "undefined") {
27
+ empty.seen = new Set(checkpoint[0]);
28
+ empty.values = checkpoint[1];
29
+ }
30
+ return empty;
31
+ }
32
+ update(values) {
33
+ let updated = false;
34
+ if (!this.accumulate) {
35
+ updated = this.values.length > 0;
36
+ this.values = [];
37
+ }
38
+ const flatValues = values.flat();
39
+ if (flatValues.length > 0) if (this.unique) {
40
+ for (const value of flatValues) if (!this.seen.has(value)) {
41
+ updated = true;
42
+ this.seen.add(value);
43
+ this.values.push(value);
44
+ }
45
+ } else {
46
+ updated = true;
47
+ this.values.push(...flatValues);
48
+ }
49
+ return updated;
50
+ }
51
+ get() {
52
+ if (this.values.length === 0) throw new require_errors.EmptyChannelError();
53
+ return this.values;
54
+ }
55
+ checkpoint() {
56
+ return [[...this.seen], this.values];
57
+ }
58
+ isAvailable() {
59
+ return this.values.length !== 0;
60
+ }
61
+ };
62
+
63
+ //#endregion
97
64
  exports.Topic = Topic;
98
- //# sourceMappingURL=topic.js.map
65
+ //# sourceMappingURL=topic.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic.cjs","names":["BaseChannel","EmptyChannelError"],"sources":["../../src/channels/topic.ts"],"sourcesContent":["import { EmptyChannelError } from \"../errors.js\";\nimport { BaseChannel } from \"./base.js\";\n\n/**\n * A configurable PubSub Topic.\n */\nexport class Topic<Value> extends BaseChannel<\n Array<Value>,\n Value | Value[],\n [Value[], Value[]]\n> {\n lc_graph_name = \"Topic\";\n\n unique = false;\n\n accumulate = false;\n\n seen: Set<Value>;\n\n values: Value[];\n\n constructor(fields?: {\n /**\n * Whether to only add unique values to the topic. If `true`, only unique values (using reference equality) will be added to the topic.\n */\n unique?: boolean;\n /**\n * Whether to accumulate values across steps. If `false`, the channel will be emptied after each step.\n */\n accumulate?: boolean;\n }) {\n super();\n\n this.unique = fields?.unique ?? this.unique;\n this.accumulate = fields?.accumulate ?? this.accumulate;\n // State\n this.seen = new Set<Value>();\n this.values = [];\n }\n\n public fromCheckpoint(checkpoint?: [Value[], Value[]]) {\n const empty = new Topic<Value>({\n unique: this.unique,\n accumulate: this.accumulate,\n });\n if (typeof checkpoint !== \"undefined\") {\n empty.seen = new Set(checkpoint[0]);\n // eslint-disable-next-line prefer-destructuring\n empty.values = checkpoint[1];\n }\n return empty as this;\n }\n\n public update(values: Array<Value | Value[]>): boolean {\n let updated = false;\n if (!this.accumulate) {\n updated = this.values.length > 0;\n this.values = [];\n }\n const flatValues = values.flat() as Value[];\n if (flatValues.length > 0) {\n if (this.unique) {\n for (const value of flatValues) {\n if (!this.seen.has(value)) {\n updated = true;\n this.seen.add(value);\n this.values.push(value);\n }\n }\n } else {\n updated = true;\n this.values.push(...flatValues);\n }\n }\n return updated;\n }\n\n public get(): Array<Value> {\n if (this.values.length === 0) {\n throw new EmptyChannelError();\n }\n return this.values;\n }\n\n public checkpoint(): [Value[], Value[]] {\n return [[...this.seen], this.values];\n }\n\n isAvailable(): boolean {\n return this.values.length !== 0;\n }\n}\n"],"mappings":";;;;;;;AAMA,IAAa,QAAb,MAAa,cAAqBA,yBAIhC;CACA,gBAAgB;CAEhB,SAAS;CAET,aAAa;CAEb;CAEA;CAEA,YAAY,QAST;AACD;AAEA,OAAK,SAAS,QAAQ,UAAU,KAAK;AACrC,OAAK,aAAa,QAAQ,cAAc,KAAK;AAE7C,OAAK,uBAAO,IAAI;AAChB,OAAK,SAAS;;CAGhB,AAAO,eAAe,YAAiC;EACrD,MAAM,QAAQ,IAAI,MAAa;GAC7B,QAAQ,KAAK;GACb,YAAY,KAAK;;AAEnB,MAAI,OAAO,eAAe,aAAa;AACrC,SAAM,OAAO,IAAI,IAAI,WAAW;AAEhC,SAAM,SAAS,WAAW;;AAE5B,SAAO;;CAGT,AAAO,OAAO,QAAyC;EACrD,IAAI,UAAU;AACd,MAAI,CAAC,KAAK,YAAY;AACpB,aAAU,KAAK,OAAO,SAAS;AAC/B,QAAK,SAAS;;EAEhB,MAAM,aAAa,OAAO;AAC1B,MAAI,WAAW,SAAS,EACtB,KAAI,KAAK,QACP;QAAK,MAAM,SAAS,WAClB,KAAI,CAAC,KAAK,KAAK,IAAI,QAAQ;AACzB,cAAU;AACV,SAAK,KAAK,IAAI;AACd,SAAK,OAAO,KAAK;;SAGhB;AACL,aAAU;AACV,QAAK,OAAO,KAAK,GAAG;;AAGxB,SAAO;;CAGT,AAAO,MAAoB;AACzB,MAAI,KAAK,OAAO,WAAW,EACzB,OAAM,IAAIC;AAEZ,SAAO,KAAK;;CAGd,AAAO,aAAiC;AACtC,SAAO,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK;;CAG/B,cAAuB;AACrB,SAAO,KAAK,OAAO,WAAW"}
@@ -0,0 +1,32 @@
1
+ import { BaseChannel } from "./base.cjs";
2
+
3
+ //#region src/channels/topic.d.ts
4
+
5
+ /**
6
+ * A configurable PubSub Topic.
7
+ */
8
+ declare class Topic<Value> extends BaseChannel<Array<Value>, Value | Value[], [Value[], Value[]]> {
9
+ lc_graph_name: string;
10
+ unique: boolean;
11
+ accumulate: boolean;
12
+ seen: Set<Value>;
13
+ values: Value[];
14
+ constructor(fields?: {
15
+ /**
16
+ * Whether to only add unique values to the topic. If `true`, only unique values (using reference equality) will be added to the topic.
17
+ */
18
+ unique?: boolean;
19
+ /**
20
+ * Whether to accumulate values across steps. If `false`, the channel will be emptied after each step.
21
+ */
22
+ accumulate?: boolean;
23
+ });
24
+ fromCheckpoint(checkpoint?: [Value[], Value[]]): this;
25
+ update(values: Array<Value | Value[]>): boolean;
26
+ get(): Array<Value>;
27
+ checkpoint(): [Value[], Value[]];
28
+ isAvailable(): boolean;
29
+ }
30
+ //#endregion
31
+ export { Topic };
32
+ //# sourceMappingURL=topic.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic.d.cts","names":["BaseChannel","Topic","Value","Array","Set"],"sources":["../../src/channels/topic.d.ts"],"sourcesContent":["import { BaseChannel } from \"./base.js\";\n/**\n * A configurable PubSub Topic.\n */\nexport declare class Topic<Value> extends BaseChannel<Array<Value>, Value | Value[], [\n Value[],\n Value[]\n]> {\n lc_graph_name: string;\n unique: boolean;\n accumulate: boolean;\n seen: Set<Value>;\n values: Value[];\n constructor(fields?: {\n /**\n * Whether to only add unique values to the topic. If `true`, only unique values (using reference equality) will be added to the topic.\n */\n unique?: boolean;\n /**\n * Whether to accumulate values across steps. If `false`, the channel will be emptied after each step.\n */\n accumulate?: boolean;\n });\n fromCheckpoint(checkpoint?: [Value[], Value[]]): this;\n update(values: Array<Value | Value[]>): boolean;\n get(): Array<Value>;\n checkpoint(): [Value[], Value[]];\n isAvailable(): boolean;\n}\n"],"mappings":";;;;;;AAIA;AAA0B,cAALC,KAAK,CAAA,KAAA,CAAA,SAAgBD,WAAhB,CAA4BG,KAA5B,CAAkCD,KAAlC,CAAA,EAA0CA,KAA1C,GAAkDA,KAAlD,EAAA,EAAA,CACtBA,KADwDA,EAAAA,EAExDA,KAFkDC,EAAAA;eAAsBD,EAAAA,MAAAA;QACxEA,EAAAA,OAAAA;YACAA,EAAAA,OAAAA;MAKUA,EAAJE,GAAIF,CAAAA,KAAAA,CAAAA;QAAJE,EACEF,KADFE,EAAAA;aACEF,CAAAA,OAAAA,EAAAA;IAWqBA;;;IACAA,MAAAA,CAAAA,EAAAA,OAAAA;IAAdC;;;IAEAD,UAAAA,CAAAA,EAAAA,OAAAA;;gBAtBuBF,CAAAA,UAAAA,CAAAA,EAAAA,CAmBTE,KAnBSF,EAAAA,EAmBAE,KAnBAF,EAAAA,CAAAA,CAAAA,EAAAA,IAAAA;iBAoBvBG,MAAMD,QAAQA;SACtBC,MAAMD;iBACEA,SAASA"}