@langchain/langgraph 0.4.8 → 1.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/README.md +1 -2
  3. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  4. package/dist/channels/any_value.d.cts +26 -0
  5. package/dist/channels/any_value.d.cts.map +1 -0
  6. package/dist/channels/any_value.d.ts +16 -9
  7. package/dist/channels/any_value.d.ts.map +1 -0
  8. package/dist/channels/base.cjs +97 -133
  9. package/dist/channels/base.cjs.map +1 -0
  10. package/dist/channels/base.d.cts +73 -0
  11. package/dist/channels/base.d.cts.map +1 -0
  12. package/dist/channels/base.d.ts +73 -74
  13. package/dist/channels/base.d.ts.map +1 -0
  14. package/dist/channels/base.js +94 -127
  15. package/dist/channels/base.js.map +1 -1
  16. package/dist/channels/binop.cjs +47 -77
  17. package/dist/channels/binop.cjs.map +1 -0
  18. package/dist/channels/binop.d.cts +22 -0
  19. package/dist/channels/binop.d.cts.map +1 -0
  20. package/dist/channels/binop.d.ts +17 -12
  21. package/dist/channels/binop.d.ts.map +1 -0
  22. package/dist/channels/binop.js +45 -71
  23. package/dist/channels/binop.js.map +1 -1
  24. package/dist/channels/dynamic_barrier_value.d.cts +43 -0
  25. package/dist/channels/dynamic_barrier_value.d.cts.map +1 -0
  26. package/dist/channels/dynamic_barrier_value.d.ts +20 -34
  27. package/dist/channels/dynamic_barrier_value.d.ts.map +1 -0
  28. package/dist/channels/ephemeral_value.cjs +46 -70
  29. package/dist/channels/ephemeral_value.cjs.map +1 -0
  30. package/dist/channels/ephemeral_value.d.cts +23 -0
  31. package/dist/channels/ephemeral_value.d.cts.map +1 -0
  32. package/dist/channels/ephemeral_value.d.ts +18 -11
  33. package/dist/channels/ephemeral_value.d.ts.map +1 -0
  34. package/dist/channels/ephemeral_value.js +45 -65
  35. package/dist/channels/ephemeral_value.js.map +1 -1
  36. package/dist/channels/index.cjs +2 -10
  37. package/dist/channels/index.js +4 -3
  38. package/dist/channels/last_value.cjs +91 -140
  39. package/dist/channels/last_value.cjs.map +1 -0
  40. package/dist/channels/last_value.d.cts +30 -0
  41. package/dist/channels/last_value.d.cts.map +1 -0
  42. package/dist/channels/last_value.d.ts +15 -23
  43. package/dist/channels/last_value.d.ts.map +1 -0
  44. package/dist/channels/last_value.js +88 -133
  45. package/dist/channels/last_value.js.map +1 -1
  46. package/dist/channels/named_barrier_value.cjs +114 -170
  47. package/dist/channels/named_barrier_value.cjs.map +1 -0
  48. package/dist/channels/named_barrier_value.d.cts +33 -0
  49. package/dist/channels/named_barrier_value.d.cts.map +1 -0
  50. package/dist/channels/named_barrier_value.d.ts +19 -29
  51. package/dist/channels/named_barrier_value.d.ts.map +1 -0
  52. package/dist/channels/named_barrier_value.js +112 -163
  53. package/dist/channels/named_barrier_value.js.map +1 -1
  54. package/dist/channels/topic.cjs +63 -96
  55. package/dist/channels/topic.cjs.map +1 -0
  56. package/dist/channels/topic.d.cts +26 -0
  57. package/dist/channels/topic.d.cts.map +1 -0
  58. package/dist/channels/topic.d.ts +21 -18
  59. package/dist/channels/topic.d.ts.map +1 -0
  60. package/dist/channels/topic.js +61 -90
  61. package/dist/channels/topic.js.map +1 -1
  62. package/dist/constants.cjs +373 -452
  63. package/dist/constants.cjs.map +1 -0
  64. package/dist/constants.d.cts +284 -0
  65. package/dist/constants.d.cts.map +1 -0
  66. package/dist/constants.d.ts +112 -148
  67. package/dist/constants.d.ts.map +1 -0
  68. package/dist/constants.js +333 -444
  69. package/dist/constants.js.map +1 -1
  70. package/dist/errors.cjs +150 -179
  71. package/dist/errors.cjs.map +1 -0
  72. package/dist/errors.d.cts +80 -0
  73. package/dist/errors.d.cts.map +1 -0
  74. package/dist/errors.d.ts +55 -46
  75. package/dist/errors.d.ts.map +1 -0
  76. package/dist/errors.js +139 -165
  77. package/dist/errors.js.map +1 -1
  78. package/dist/func/index.cjs +289 -290
  79. package/dist/func/index.cjs.map +1 -0
  80. package/dist/func/index.d.cts +289 -0
  81. package/dist/func/index.d.cts.map +1 -0
  82. package/dist/func/index.d.ts +81 -71
  83. package/dist/func/index.d.ts.map +1 -0
  84. package/dist/func/index.js +285 -284
  85. package/dist/func/index.js.map +1 -1
  86. package/dist/func/types.d.cts +64 -0
  87. package/dist/func/types.d.cts.map +1 -0
  88. package/dist/func/types.d.ts +24 -19
  89. package/dist/func/types.d.ts.map +1 -0
  90. package/dist/graph/annotation.cjs +96 -120
  91. package/dist/graph/annotation.cjs.map +1 -0
  92. package/dist/graph/annotation.d.cts +116 -0
  93. package/dist/graph/annotation.d.cts.map +1 -0
  94. package/dist/graph/annotation.d.ts +33 -34
  95. package/dist/graph/annotation.d.ts.map +1 -0
  96. package/dist/graph/annotation.js +91 -112
  97. package/dist/graph/annotation.js.map +1 -1
  98. package/dist/graph/graph.cjs +419 -723
  99. package/dist/graph/graph.cjs.map +1 -0
  100. package/dist/graph/graph.d.cts +131 -0
  101. package/dist/graph/graph.d.cts.map +1 -0
  102. package/dist/graph/graph.d.ts +122 -91
  103. package/dist/graph/graph.d.ts.map +1 -0
  104. package/dist/graph/graph.js +412 -713
  105. package/dist/graph/graph.js.map +1 -1
  106. package/dist/graph/index.cjs +4 -17
  107. package/dist/graph/index.js +6 -5
  108. package/dist/graph/message.cjs +59 -104
  109. package/dist/graph/message.cjs.map +1 -0
  110. package/dist/graph/message.d.cts +19 -0
  111. package/dist/graph/message.d.cts.map +1 -0
  112. package/dist/graph/message.d.ts +11 -10
  113. package/dist/graph/message.d.ts.map +1 -0
  114. package/dist/graph/message.js +56 -98
  115. package/dist/graph/message.js.map +1 -1
  116. package/dist/graph/messages_annotation.cjs +106 -106
  117. package/dist/graph/messages_annotation.cjs.map +1 -0
  118. package/dist/graph/messages_annotation.d.cts +111 -0
  119. package/dist/graph/messages_annotation.d.cts.map +1 -0
  120. package/dist/graph/messages_annotation.d.ts +18 -9
  121. package/dist/graph/messages_annotation.d.ts.map +1 -0
  122. package/dist/graph/messages_annotation.js +100 -100
  123. package/dist/graph/messages_annotation.js.map +1 -1
  124. package/dist/graph/state.cjs +476 -777
  125. package/dist/graph/state.cjs.map +1 -0
  126. package/dist/graph/state.d.cts +216 -0
  127. package/dist/graph/state.d.cts.map +1 -0
  128. package/dist/graph/state.d.ts +129 -134
  129. package/dist/graph/state.d.ts.map +1 -0
  130. package/dist/graph/state.js +470 -768
  131. package/dist/graph/state.js.map +1 -1
  132. package/dist/graph/zod/index.cjs +10 -21
  133. package/dist/graph/zod/index.d.cts +3 -0
  134. package/dist/graph/zod/index.d.ts +3 -3
  135. package/dist/graph/zod/index.js +4 -4
  136. package/dist/graph/zod/meta.cjs +142 -177
  137. package/dist/graph/zod/meta.cjs.map +1 -0
  138. package/dist/graph/zod/meta.d.cts +116 -0
  139. package/dist/graph/zod/meta.d.cts.map +1 -0
  140. package/dist/graph/zod/meta.d.ts +99 -97
  141. package/dist/graph/zod/meta.d.ts.map +1 -0
  142. package/dist/graph/zod/meta.js +136 -170
  143. package/dist/graph/zod/meta.js.map +1 -1
  144. package/dist/graph/zod/plugin.cjs +36 -39
  145. package/dist/graph/zod/plugin.cjs.map +1 -0
  146. package/dist/graph/zod/plugin.js +34 -35
  147. package/dist/graph/zod/plugin.js.map +1 -1
  148. package/dist/graph/zod/schema.cjs +82 -110
  149. package/dist/graph/zod/schema.cjs.map +1 -0
  150. package/dist/graph/zod/schema.d.cts +38 -0
  151. package/dist/graph/zod/schema.d.cts.map +1 -0
  152. package/dist/graph/zod/schema.d.ts +12 -6
  153. package/dist/graph/zod/schema.d.ts.map +1 -0
  154. package/dist/graph/zod/schema.js +77 -103
  155. package/dist/graph/zod/schema.js.map +1 -1
  156. package/dist/graph/zod/zod-registry.cjs +41 -47
  157. package/dist/graph/zod/zod-registry.cjs.map +1 -0
  158. package/dist/graph/zod/zod-registry.d.cts +51 -0
  159. package/dist/graph/zod/zod-registry.d.cts.map +1 -0
  160. package/dist/graph/zod/zod-registry.d.ts +34 -26
  161. package/dist/graph/zod/zod-registry.d.ts.map +1 -0
  162. package/dist/graph/zod/zod-registry.js +37 -41
  163. package/dist/graph/zod/zod-registry.js.map +1 -1
  164. package/dist/hash.cjs +205 -267
  165. package/dist/hash.cjs.map +1 -0
  166. package/dist/hash.js +205 -265
  167. package/dist/hash.js.map +1 -1
  168. package/dist/index.cjs +110 -33
  169. package/dist/index.cjs.map +1 -0
  170. package/dist/index.d.cts +25 -0
  171. package/dist/index.d.ts +25 -5
  172. package/dist/index.js +18 -7
  173. package/dist/index.js.map +1 -1
  174. package/dist/interrupt.cjs +79 -85
  175. package/dist/interrupt.cjs.map +1 -0
  176. package/dist/interrupt.d.cts +49 -0
  177. package/dist/interrupt.d.cts.map +1 -0
  178. package/dist/interrupt.d.ts +6 -1
  179. package/dist/interrupt.d.ts.map +1 -0
  180. package/dist/interrupt.js +76 -80
  181. package/dist/interrupt.js.map +1 -1
  182. package/dist/prebuilt/agentName.cjs +139 -172
  183. package/dist/prebuilt/agentName.cjs.map +1 -0
  184. package/dist/prebuilt/agentName.d.cts +42 -0
  185. package/dist/prebuilt/agentName.d.cts.map +1 -0
  186. package/dist/prebuilt/agentName.d.ts +13 -21
  187. package/dist/prebuilt/agentName.d.ts.map +1 -0
  188. package/dist/prebuilt/agentName.js +139 -168
  189. package/dist/prebuilt/agentName.js.map +1 -1
  190. package/dist/prebuilt/agent_executor.cjs +42 -80
  191. package/dist/prebuilt/agent_executor.cjs.map +1 -0
  192. package/dist/prebuilt/agent_executor.d.cts +57 -0
  193. package/dist/prebuilt/agent_executor.d.cts.map +1 -0
  194. package/dist/prebuilt/agent_executor.d.ts +46 -37
  195. package/dist/prebuilt/agent_executor.d.ts.map +1 -0
  196. package/dist/prebuilt/agent_executor.js +40 -75
  197. package/dist/prebuilt/agent_executor.js.map +1 -1
  198. package/dist/prebuilt/chat_agent_executor.cjs +66 -128
  199. package/dist/prebuilt/chat_agent_executor.cjs.map +1 -0
  200. package/dist/prebuilt/chat_agent_executor.d.cts +23 -0
  201. package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -0
  202. package/dist/prebuilt/chat_agent_executor.d.ts +18 -10
  203. package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -0
  204. package/dist/prebuilt/chat_agent_executor.js +63 -123
  205. package/dist/prebuilt/chat_agent_executor.js.map +1 -1
  206. package/dist/prebuilt/index.cjs +15 -18
  207. package/dist/prebuilt/index.d.cts +8 -0
  208. package/dist/prebuilt/index.d.ts +8 -8
  209. package/dist/prebuilt/index.js +8 -7
  210. package/dist/prebuilt/interrupt.d.cts +73 -0
  211. package/dist/prebuilt/interrupt.d.cts.map +1 -0
  212. package/dist/prebuilt/interrupt.d.ts +32 -15
  213. package/dist/prebuilt/interrupt.d.ts.map +1 -0
  214. package/dist/prebuilt/react_agent_executor.cjs +317 -473
  215. package/dist/prebuilt/react_agent_executor.cjs.map +1 -0
  216. package/dist/prebuilt/react_agent_executor.d.cts +229 -0
  217. package/dist/prebuilt/react_agent_executor.d.cts.map +1 -0
  218. package/dist/prebuilt/react_agent_executor.d.ts +171 -143
  219. package/dist/prebuilt/react_agent_executor.d.ts.map +1 -0
  220. package/dist/prebuilt/react_agent_executor.js +315 -465
  221. package/dist/prebuilt/react_agent_executor.js.map +1 -1
  222. package/dist/prebuilt/tool_executor.cjs +45 -67
  223. package/dist/prebuilt/tool_executor.cjs.map +1 -0
  224. package/dist/prebuilt/tool_executor.d.cts +42 -0
  225. package/dist/prebuilt/tool_executor.d.cts.map +1 -0
  226. package/dist/prebuilt/tool_executor.d.ts +30 -24
  227. package/dist/prebuilt/tool_executor.d.ts.map +1 -0
  228. package/dist/prebuilt/tool_executor.js +44 -63
  229. package/dist/prebuilt/tool_executor.js.map +1 -1
  230. package/dist/prebuilt/tool_node.cjs +213 -275
  231. package/dist/prebuilt/tool_node.cjs.map +1 -0
  232. package/dist/prebuilt/tool_node.d.cts +151 -0
  233. package/dist/prebuilt/tool_node.d.cts.map +1 -0
  234. package/dist/prebuilt/tool_node.d.ts +30 -17
  235. package/dist/prebuilt/tool_node.d.ts.map +1 -0
  236. package/dist/prebuilt/tool_node.js +209 -268
  237. package/dist/prebuilt/tool_node.js.map +1 -1
  238. package/dist/pregel/algo.cjs +521 -692
  239. package/dist/pregel/algo.cjs.map +1 -0
  240. package/dist/pregel/algo.d.cts +13 -0
  241. package/dist/pregel/algo.d.cts.map +1 -0
  242. package/dist/pregel/algo.d.ts +8 -38
  243. package/dist/pregel/algo.d.ts.map +1 -0
  244. package/dist/pregel/algo.js +516 -683
  245. package/dist/pregel/algo.js.map +1 -1
  246. package/dist/pregel/call.cjs +46 -42
  247. package/dist/pregel/call.cjs.map +1 -0
  248. package/dist/pregel/call.js +43 -37
  249. package/dist/pregel/call.js.map +1 -1
  250. package/dist/pregel/debug.cjs +153 -223
  251. package/dist/pregel/debug.cjs.map +1 -0
  252. package/dist/pregel/debug.js +152 -215
  253. package/dist/pregel/debug.js.map +1 -1
  254. package/dist/pregel/index.cjs +1134 -1604
  255. package/dist/pregel/index.cjs.map +1 -0
  256. package/dist/pregel/index.d.cts +534 -0
  257. package/dist/pregel/index.d.cts.map +1 -0
  258. package/dist/pregel/index.d.ts +458 -422
  259. package/dist/pregel/index.d.ts.map +1 -0
  260. package/dist/pregel/index.js +1125 -1592
  261. package/dist/pregel/index.js.map +1 -1
  262. package/dist/pregel/io.cjs +127 -234
  263. package/dist/pregel/io.cjs.map +1 -0
  264. package/dist/pregel/io.js +122 -225
  265. package/dist/pregel/io.js.map +1 -1
  266. package/dist/pregel/loop.cjs +539 -954
  267. package/dist/pregel/loop.cjs.map +1 -0
  268. package/dist/pregel/loop.js +536 -948
  269. package/dist/pregel/loop.js.map +1 -1
  270. package/dist/pregel/messages.cjs +104 -196
  271. package/dist/pregel/messages.cjs.map +1 -0
  272. package/dist/pregel/messages.js +102 -191
  273. package/dist/pregel/messages.js.map +1 -1
  274. package/dist/pregel/read.cjs +150 -280
  275. package/dist/pregel/read.cjs.map +1 -0
  276. package/dist/pregel/read.d.cts +51 -0
  277. package/dist/pregel/read.d.cts.map +1 -0
  278. package/dist/pregel/read.d.ts +48 -46
  279. package/dist/pregel/read.d.ts.map +1 -0
  280. package/dist/pregel/read.js +147 -274
  281. package/dist/pregel/read.js.map +1 -1
  282. package/dist/pregel/remote.cjs +339 -458
  283. package/dist/pregel/remote.cjs.map +1 -0
  284. package/dist/pregel/remote.d.cts +121 -0
  285. package/dist/pregel/remote.d.cts.map +1 -0
  286. package/dist/pregel/remote.d.ts +79 -69
  287. package/dist/pregel/remote.d.ts.map +1 -0
  288. package/dist/pregel/remote.js +337 -453
  289. package/dist/pregel/remote.js.map +1 -1
  290. package/dist/pregel/retry.cjs +87 -138
  291. package/dist/pregel/retry.cjs.map +1 -0
  292. package/dist/pregel/retry.js +83 -130
  293. package/dist/pregel/retry.js.map +1 -1
  294. package/dist/pregel/runnable_types.d.cts +25 -0
  295. package/dist/pregel/runnable_types.d.cts.map +1 -0
  296. package/dist/pregel/runnable_types.d.ts +22 -16
  297. package/dist/pregel/runnable_types.d.ts.map +1 -0
  298. package/dist/pregel/runner.cjs +222 -315
  299. package/dist/pregel/runner.cjs.map +1 -0
  300. package/dist/pregel/runner.js +219 -308
  301. package/dist/pregel/runner.js.map +1 -1
  302. package/dist/pregel/stream.cjs +89 -130
  303. package/dist/pregel/stream.cjs.map +1 -0
  304. package/dist/pregel/stream.js +87 -125
  305. package/dist/pregel/stream.js.map +1 -1
  306. package/dist/pregel/types.cjs +25 -62
  307. package/dist/pregel/types.cjs.map +1 -0
  308. package/dist/pregel/types.d.cts +437 -0
  309. package/dist/pregel/types.d.cts.map +1 -0
  310. package/dist/pregel/types.d.ts +377 -431
  311. package/dist/pregel/types.d.ts.map +1 -0
  312. package/dist/pregel/types.js +23 -57
  313. package/dist/pregel/types.js.map +1 -1
  314. package/dist/pregel/utils/config.cjs +100 -147
  315. package/dist/pregel/utils/config.cjs.map +1 -0
  316. package/dist/pregel/utils/config.d.cts +36 -0
  317. package/dist/pregel/utils/config.d.cts.map +1 -0
  318. package/dist/pregel/utils/config.d.ts +12 -9
  319. package/dist/pregel/utils/config.d.ts.map +1 -0
  320. package/dist/pregel/utils/config.js +98 -143
  321. package/dist/pregel/utils/config.js.map +1 -1
  322. package/dist/pregel/utils/index.cjs +87 -125
  323. package/dist/pregel/utils/index.cjs.map +1 -0
  324. package/dist/pregel/utils/index.d.cts +51 -0
  325. package/dist/pregel/utils/index.d.cts.map +1 -0
  326. package/dist/pregel/utils/index.d.ts +45 -61
  327. package/dist/pregel/utils/index.d.ts.map +1 -0
  328. package/dist/pregel/utils/index.js +86 -120
  329. package/dist/pregel/utils/index.js.map +1 -1
  330. package/dist/pregel/utils/subgraph.cjs +15 -26
  331. package/dist/pregel/utils/subgraph.cjs.map +1 -0
  332. package/dist/pregel/utils/subgraph.js +12 -21
  333. package/dist/pregel/utils/subgraph.js.map +1 -1
  334. package/dist/pregel/validate.cjs +42 -92
  335. package/dist/pregel/validate.cjs.map +1 -0
  336. package/dist/pregel/validate.js +39 -84
  337. package/dist/pregel/validate.js.map +1 -1
  338. package/dist/pregel/write.cjs +87 -137
  339. package/dist/pregel/write.cjs.map +1 -0
  340. package/dist/pregel/write.d.cts +35 -0
  341. package/dist/pregel/write.d.cts.map +1 -0
  342. package/dist/pregel/write.d.ts +27 -23
  343. package/dist/pregel/write.d.ts.map +1 -0
  344. package/dist/pregel/write.js +83 -131
  345. package/dist/pregel/write.js.map +1 -1
  346. package/dist/remote.cjs +3 -6
  347. package/dist/remote.d.cts +2 -0
  348. package/dist/remote.d.ts +2 -1
  349. package/dist/remote.js +3 -2
  350. package/dist/setup/async_local_storage.cjs +10 -7
  351. package/dist/setup/async_local_storage.cjs.map +1 -0
  352. package/dist/setup/async_local_storage.js +7 -2
  353. package/dist/setup/async_local_storage.js.map +1 -1
  354. package/dist/ui/index.cjs +4 -0
  355. package/dist/ui/index.d.cts +5 -0
  356. package/dist/ui/index.d.ts +5 -0
  357. package/dist/ui/index.js +3 -0
  358. package/dist/ui/stream.cjs +145 -0
  359. package/dist/ui/stream.cjs.map +1 -0
  360. package/dist/ui/stream.d.cts +25 -0
  361. package/dist/ui/stream.d.cts.map +1 -0
  362. package/dist/ui/stream.d.ts +25 -0
  363. package/dist/ui/stream.d.ts.map +1 -0
  364. package/dist/ui/stream.js +143 -0
  365. package/dist/ui/stream.js.map +1 -0
  366. package/dist/ui/types.infer.d.cts +53 -0
  367. package/dist/ui/types.infer.d.cts.map +1 -0
  368. package/dist/ui/types.infer.d.ts +53 -0
  369. package/dist/ui/types.infer.d.ts.map +1 -0
  370. package/dist/ui/types.message.d.cts +95 -0
  371. package/dist/ui/types.message.d.cts.map +1 -0
  372. package/dist/ui/types.message.d.ts +95 -0
  373. package/dist/ui/types.message.d.ts.map +1 -0
  374. package/dist/ui/types.schema.d.cts +228 -0
  375. package/dist/ui/types.schema.d.cts.map +1 -0
  376. package/dist/ui/types.schema.d.ts +228 -0
  377. package/dist/ui/types.schema.d.ts.map +1 -0
  378. package/dist/utils.cjs +77 -147
  379. package/dist/utils.cjs.map +1 -0
  380. package/dist/utils.d.cts +32 -0
  381. package/dist/utils.d.cts.map +1 -0
  382. package/dist/utils.d.ts +29 -25
  383. package/dist/utils.d.ts.map +1 -0
  384. package/dist/utils.js +73 -140
  385. package/dist/utils.js.map +1 -1
  386. package/dist/web.cjs +97 -55
  387. package/dist/web.d.cts +23 -0
  388. package/dist/web.d.ts +23 -14
  389. package/dist/web.js +15 -8
  390. package/package.json +83 -86
  391. package/dist/channels/any_value.cjs +0 -65
  392. package/dist/channels/any_value.js +0 -61
  393. package/dist/channels/any_value.js.map +0 -1
  394. package/dist/channels/dynamic_barrier_value.cjs +0 -212
  395. package/dist/channels/dynamic_barrier_value.js +0 -207
  396. package/dist/channels/dynamic_barrier_value.js.map +0 -1
  397. package/dist/channels/index.d.ts +0 -7
  398. package/dist/channels/index.js.map +0 -1
  399. package/dist/func/types.cjs +0 -15
  400. package/dist/func/types.js +0 -12
  401. package/dist/func/types.js.map +0 -1
  402. package/dist/graph/index.d.ts +0 -4
  403. package/dist/graph/index.js.map +0 -1
  404. package/dist/graph/message.test.cjs +0 -196
  405. package/dist/graph/message.test.d.ts +0 -1
  406. package/dist/graph/message.test.js +0 -194
  407. package/dist/graph/message.test.js.map +0 -1
  408. package/dist/graph/zod/index.js.map +0 -1
  409. package/dist/graph/zod/plugin.d.ts +0 -28
  410. package/dist/hash.d.ts +0 -2
  411. package/dist/prebuilt/index.js.map +0 -1
  412. package/dist/prebuilt/interrupt.cjs +0 -3
  413. package/dist/prebuilt/interrupt.js +0 -2
  414. package/dist/prebuilt/interrupt.js.map +0 -1
  415. package/dist/pregel/call.d.ts +0 -16
  416. package/dist/pregel/debug.d.ts +0 -41
  417. package/dist/pregel/debug.test.cjs +0 -258
  418. package/dist/pregel/debug.test.d.ts +0 -1
  419. package/dist/pregel/debug.test.js +0 -256
  420. package/dist/pregel/debug.test.js.map +0 -1
  421. package/dist/pregel/io.d.ts +0 -30
  422. package/dist/pregel/io.mapCommand.test.cjs +0 -150
  423. package/dist/pregel/io.mapCommand.test.d.ts +0 -1
  424. package/dist/pregel/io.mapCommand.test.js +0 -148
  425. package/dist/pregel/io.mapCommand.test.js.map +0 -1
  426. package/dist/pregel/loop.d.ts +0 -147
  427. package/dist/pregel/messages.d.ts +0 -30
  428. package/dist/pregel/messages.test.cjs +0 -369
  429. package/dist/pregel/messages.test.d.ts +0 -1
  430. package/dist/pregel/messages.test.js +0 -367
  431. package/dist/pregel/messages.test.js.map +0 -1
  432. package/dist/pregel/read.test.cjs +0 -194
  433. package/dist/pregel/read.test.d.ts +0 -1
  434. package/dist/pregel/read.test.js +0 -192
  435. package/dist/pregel/read.test.js.map +0 -1
  436. package/dist/pregel/retry.d.ts +0 -17
  437. package/dist/pregel/runnable_types.cjs +0 -3
  438. package/dist/pregel/runnable_types.js +0 -2
  439. package/dist/pregel/runnable_types.js.map +0 -1
  440. package/dist/pregel/runner.d.ts +0 -79
  441. package/dist/pregel/runner.test.cjs +0 -66
  442. package/dist/pregel/runner.test.d.ts +0 -1
  443. package/dist/pregel/runner.test.js +0 -64
  444. package/dist/pregel/runner.test.js.map +0 -1
  445. package/dist/pregel/stream.d.ts +0 -40
  446. package/dist/pregel/utils/config.test.cjs +0 -214
  447. package/dist/pregel/utils/config.test.d.ts +0 -1
  448. package/dist/pregel/utils/config.test.js +0 -212
  449. package/dist/pregel/utils/config.test.js.map +0 -1
  450. package/dist/pregel/utils/subgraph.d.ts +0 -4
  451. package/dist/pregel/utils/subgraph.test.cjs +0 -83
  452. package/dist/pregel/utils/subgraph.test.d.ts +0 -1
  453. package/dist/pregel/utils/subgraph.test.js +0 -81
  454. package/dist/pregel/utils/subgraph.test.js.map +0 -1
  455. package/dist/pregel/validate.d.ts +0 -16
  456. package/dist/pregel/validate.test.cjs +0 -220
  457. package/dist/pregel/validate.test.d.ts +0 -1
  458. package/dist/pregel/validate.test.js +0 -218
  459. package/dist/pregel/validate.test.js.map +0 -1
  460. package/dist/pregel/write.test.cjs +0 -181
  461. package/dist/pregel/write.test.d.ts +0 -1
  462. package/dist/pregel/write.test.js +0 -179
  463. package/dist/pregel/write.test.js.map +0 -1
  464. package/dist/remote.js.map +0 -1
  465. package/dist/setup/async_local_storage.d.ts +0 -1
  466. package/dist/web.js.map +0 -1
  467. package/index.cjs +0 -1
  468. package/index.d.cts +0 -1
  469. package/index.d.ts +0 -1
  470. package/index.js +0 -1
  471. package/prebuilt.cjs +0 -1
  472. package/prebuilt.d.cts +0 -1
  473. package/prebuilt.d.ts +0 -1
  474. package/prebuilt.js +0 -1
  475. package/pregel.cjs +0 -1
  476. package/pregel.d.cts +0 -1
  477. package/pregel.d.ts +0 -1
  478. package/pregel.js +0 -1
  479. package/remote.cjs +0 -1
  480. package/remote.d.cts +0 -1
  481. package/remote.d.ts +0 -1
  482. package/remote.js +0 -1
  483. package/web.cjs +0 -1
  484. package/web.d.cts +0 -1
  485. package/web.d.ts +0 -1
  486. package/web.js +0 -1
  487. package/zod/schema.cjs +0 -1
  488. package/zod/schema.d.cts +0 -1
  489. package/zod/schema.d.ts +0 -1
  490. package/zod/schema.js +0 -1
  491. package/zod.cjs +0 -1
  492. package/zod.d.cts +0 -1
  493. package/zod.d.ts +0 -1
  494. package/zod.js +0 -1
package/dist/interrupt.js CHANGED
@@ -1,85 +1,81 @@
1
- import { AsyncLocalStorageProviderSingleton } from "@langchain/core/singletons";
2
1
  import { GraphInterrupt, GraphValueError } from "./errors.js";
3
- import { CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_SEND, CONFIG_KEY_CHECKPOINTER, CHECKPOINT_NAMESPACE_SEPARATOR, RESUME, } from "./constants.js";
2
+ import { CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINTER, CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_SEND, RESUME } from "./constants.js";
4
3
  import { XXH3 } from "./hash.js";
4
+ import { AsyncLocalStorageProviderSingleton } from "@langchain/core/singletons";
5
+
6
+ //#region src/interrupt.ts
5
7
  /**
6
- * Interrupts the execution of a graph node.
7
- * This function can be used to pause execution of a node, and return the value of the `resume`
8
- * input when the graph is re-invoked using `Command`.
9
- * Multiple interrupts can be called within a single node, and each will be handled sequentially.
10
- *
11
- * When an interrupt is called:
12
- * 1. If there's a `resume` value available (from a previous `Command`), it returns that value.
13
- * 2. Otherwise, it throws a `GraphInterrupt` with the provided value
14
- * 3. The graph can be resumed by passing a `Command` with a `resume` value
15
- *
16
- * Because the `interrupt` function propagates by throwing a special `GraphInterrupt` error,
17
- * you should avoid using `try/catch` blocks around the `interrupt` function,
18
- * or if you do, ensure that the `GraphInterrupt` error is thrown again within your `catch` block.
19
- *
20
- * @param value - The value to include in the interrupt. This will be available in task.interrupts[].value
21
- * @returns The `resume` value provided when the graph is re-invoked with a Command
22
- *
23
- * @example
24
- * ```typescript
25
- * // Define a node that uses multiple interrupts
26
- * const nodeWithInterrupts = () => {
27
- * // First interrupt - will pause execution and include {value: 1} in task values
28
- * const answer1 = interrupt({ value: 1 });
29
- *
30
- * // Second interrupt - only called after first interrupt is resumed
31
- * const answer2 = interrupt({ value: 2 });
32
- *
33
- * // Use the resume values
34
- * return { myKey: answer1 + " " + answer2 };
35
- * };
36
- *
37
- * // Resume the graph after first interrupt
38
- * await graph.stream(new Command({ resume: "answer 1" }));
39
- *
40
- * // Resume the graph after second interrupt
41
- * await graph.stream(new Command({ resume: "answer 2" }));
42
- * // Final result: { myKey: "answer 1 answer 2" }
43
- * ```
44
- *
45
- * @throws {Error} If called outside the context of a graph
46
- * @throws {GraphInterrupt} When no resume value is available
47
- */
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- export function interrupt(value) {
50
- const config = AsyncLocalStorageProviderSingleton.getRunnableConfig();
51
- if (!config) {
52
- throw new Error("Called interrupt() outside the context of a graph.");
53
- }
54
- const conf = config.configurable;
55
- if (!conf) {
56
- throw new Error("No configurable found in config");
57
- }
58
- const checkpointer = conf[CONFIG_KEY_CHECKPOINTER];
59
- if (!checkpointer)
60
- throw new GraphValueError("No checkpointer set");
61
- // Track interrupt index
62
- const scratchpad = conf[CONFIG_KEY_SCRATCHPAD];
63
- scratchpad.interruptCounter += 1;
64
- const idx = scratchpad.interruptCounter;
65
- // Find previous resume values
66
- if (scratchpad.resume.length > 0 && idx < scratchpad.resume.length) {
67
- conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume]]);
68
- return scratchpad.resume[idx];
69
- }
70
- // Find current resume value
71
- if (scratchpad.nullResume !== undefined) {
72
- if (scratchpad.resume.length !== idx) {
73
- throw new Error(`Resume length mismatch: ${scratchpad.resume.length} !== ${idx}`);
74
- }
75
- const v = scratchpad.consumeNullResume();
76
- scratchpad.resume.push(v);
77
- conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume]]);
78
- return v;
79
- }
80
- // No resume value found
81
- const ns = conf[CONFIG_KEY_CHECKPOINT_NS]?.split(CHECKPOINT_NAMESPACE_SEPARATOR);
82
- const id = ns ? XXH3(ns.join(CHECKPOINT_NAMESPACE_SEPARATOR)) : undefined;
83
- throw new GraphInterrupt([{ id, value }]);
8
+ * Interrupts the execution of a graph node.
9
+ * This function can be used to pause execution of a node, and return the value of the `resume`
10
+ * input when the graph is re-invoked using `Command`.
11
+ * Multiple interrupts can be called within a single node, and each will be handled sequentially.
12
+ *
13
+ * When an interrupt is called:
14
+ * 1. If there's a `resume` value available (from a previous `Command`), it returns that value.
15
+ * 2. Otherwise, it throws a `GraphInterrupt` with the provided value
16
+ * 3. The graph can be resumed by passing a `Command` with a `resume` value
17
+ *
18
+ * Because the `interrupt` function propagates by throwing a special `GraphInterrupt` error,
19
+ * you should avoid using `try/catch` blocks around the `interrupt` function,
20
+ * or if you do, ensure that the `GraphInterrupt` error is thrown again within your `catch` block.
21
+ *
22
+ * @param value - The value to include in the interrupt. This will be available in task.interrupts[].value
23
+ * @returns The `resume` value provided when the graph is re-invoked with a Command
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * // Define a node that uses multiple interrupts
28
+ * const nodeWithInterrupts = () => {
29
+ * // First interrupt - will pause execution and include {value: 1} in task values
30
+ * const answer1 = interrupt({ value: 1 });
31
+ *
32
+ * // Second interrupt - only called after first interrupt is resumed
33
+ * const answer2 = interrupt({ value: 2 });
34
+ *
35
+ * // Use the resume values
36
+ * return { myKey: answer1 + " " + answer2 };
37
+ * };
38
+ *
39
+ * // Resume the graph after first interrupt
40
+ * await graph.stream(new Command({ resume: "answer 1" }));
41
+ *
42
+ * // Resume the graph after second interrupt
43
+ * await graph.stream(new Command({ resume: "answer 2" }));
44
+ * // Final result: { myKey: "answer 1 answer 2" }
45
+ * ```
46
+ *
47
+ * @throws {Error} If called outside the context of a graph
48
+ * @throws {GraphInterrupt} When no resume value is available
49
+ */
50
+ function interrupt(value) {
51
+ const config = AsyncLocalStorageProviderSingleton.getRunnableConfig();
52
+ if (!config) throw new Error("Called interrupt() outside the context of a graph.");
53
+ const conf = config.configurable;
54
+ if (!conf) throw new Error("No configurable found in config");
55
+ const checkpointer = conf[CONFIG_KEY_CHECKPOINTER];
56
+ if (!checkpointer) throw new GraphValueError("No checkpointer set");
57
+ const scratchpad = conf[CONFIG_KEY_SCRATCHPAD];
58
+ scratchpad.interruptCounter += 1;
59
+ const idx = scratchpad.interruptCounter;
60
+ if (scratchpad.resume.length > 0 && idx < scratchpad.resume.length) {
61
+ conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume]]);
62
+ return scratchpad.resume[idx];
63
+ }
64
+ if (scratchpad.nullResume !== void 0) {
65
+ if (scratchpad.resume.length !== idx) throw new Error(`Resume length mismatch: ${scratchpad.resume.length} !== ${idx}`);
66
+ const v = scratchpad.consumeNullResume();
67
+ scratchpad.resume.push(v);
68
+ conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume]]);
69
+ return v;
70
+ }
71
+ const ns = conf[CONFIG_KEY_CHECKPOINT_NS]?.split(CHECKPOINT_NAMESPACE_SEPARATOR);
72
+ const id = ns ? XXH3(ns.join(CHECKPOINT_NAMESPACE_SEPARATOR)) : void 0;
73
+ throw new GraphInterrupt([{
74
+ id,
75
+ value
76
+ }]);
84
77
  }
78
+
79
+ //#endregion
80
+ export { interrupt };
85
81
  //# sourceMappingURL=interrupt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interrupt.js","sourceRoot":"","sources":["../src/interrupt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAMhF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,8BAA8B,EAC9B,MAAM,GACP,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,8DAA8D;AAC9D,MAAM,UAAU,SAAS,CAAuB,KAAQ;IACtD,MAAM,MAAM,GACV,kCAAkC,CAAC,iBAAiB,EAAE,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,YAAY,GAAwB,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACxE,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAEpE,wBAAwB;IACxB,MAAM,UAAU,GAAqB,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACjE,UAAU,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAExC,8BAA8B;IAC9B,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAiB,CAAC,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAM,CAAC;IACrC,CAAC;IAED,4BAA4B;IAC5B,IAAI,UAAU,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,2BAA2B,UAAU,CAAC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACzC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAiB,CAAC,CAAC,CAAC;QACvE,OAAO,CAAM,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,MAAM,EAAE,GAAyB,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,CACpE,8BAA8B,CAC/B,CAAC;IAEF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,MAAM,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"interrupt.js","names":["config: RunnableConfig | undefined","checkpointer: BaseCheckpointSaver","scratchpad: PregelScratchpad","ns: string[] | undefined"],"sources":["../src/interrupt.ts"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport {\n BaseCheckpointSaver,\n type PendingWrite,\n} from \"@langchain/langgraph-checkpoint\";\nimport { GraphInterrupt, GraphValueError } from \"./errors.js\";\nimport {\n CONFIG_KEY_CHECKPOINT_NS,\n CONFIG_KEY_SCRATCHPAD,\n CONFIG_KEY_SEND,\n CONFIG_KEY_CHECKPOINTER,\n CHECKPOINT_NAMESPACE_SEPARATOR,\n RESUME,\n} from \"./constants.js\";\nimport { PregelScratchpad } from \"./pregel/types.js\";\nimport { XXH3 } from \"./hash.js\";\n\n/**\n * Interrupts the execution of a graph node.\n * This function can be used to pause execution of a node, and return the value of the `resume`\n * input when the graph is re-invoked using `Command`.\n * Multiple interrupts can be called within a single node, and each will be handled sequentially.\n *\n * When an interrupt is called:\n * 1. If there's a `resume` value available (from a previous `Command`), it returns that value.\n * 2. Otherwise, it throws a `GraphInterrupt` with the provided value\n * 3. The graph can be resumed by passing a `Command` with a `resume` value\n *\n * Because the `interrupt` function propagates by throwing a special `GraphInterrupt` error,\n * you should avoid using `try/catch` blocks around the `interrupt` function,\n * or if you do, ensure that the `GraphInterrupt` error is thrown again within your `catch` block.\n *\n * @param value - The value to include in the interrupt. This will be available in task.interrupts[].value\n * @returns The `resume` value provided when the graph is re-invoked with a Command\n *\n * @example\n * ```typescript\n * // Define a node that uses multiple interrupts\n * const nodeWithInterrupts = () => {\n * // First interrupt - will pause execution and include {value: 1} in task values\n * const answer1 = interrupt({ value: 1 });\n *\n * // Second interrupt - only called after first interrupt is resumed\n * const answer2 = interrupt({ value: 2 });\n *\n * // Use the resume values\n * return { myKey: answer1 + \" \" + answer2 };\n * };\n *\n * // Resume the graph after first interrupt\n * await graph.stream(new Command({ resume: \"answer 1\" }));\n *\n * // Resume the graph after second interrupt\n * await graph.stream(new Command({ resume: \"answer 2\" }));\n * // Final result: { myKey: \"answer 1 answer 2\" }\n * ```\n *\n * @throws {Error} If called outside the context of a graph\n * @throws {GraphInterrupt} When no resume value is available\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function interrupt<I = unknown, R = any>(value: I): R {\n const config: RunnableConfig | undefined =\n AsyncLocalStorageProviderSingleton.getRunnableConfig();\n if (!config) {\n throw new Error(\"Called interrupt() outside the context of a graph.\");\n }\n\n const conf = config.configurable;\n if (!conf) {\n throw new Error(\"No configurable found in config\");\n }\n\n const checkpointer: BaseCheckpointSaver = conf[CONFIG_KEY_CHECKPOINTER];\n if (!checkpointer) throw new GraphValueError(\"No checkpointer set\");\n\n // Track interrupt index\n const scratchpad: PregelScratchpad = conf[CONFIG_KEY_SCRATCHPAD];\n scratchpad.interruptCounter += 1;\n const idx = scratchpad.interruptCounter;\n\n // Find previous resume values\n if (scratchpad.resume.length > 0 && idx < scratchpad.resume.length) {\n conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume] as PendingWrite]);\n return scratchpad.resume[idx] as R;\n }\n\n // Find current resume value\n if (scratchpad.nullResume !== undefined) {\n if (scratchpad.resume.length !== idx) {\n throw new Error(\n `Resume length mismatch: ${scratchpad.resume.length} !== ${idx}`\n );\n }\n const v = scratchpad.consumeNullResume();\n scratchpad.resume.push(v);\n conf[CONFIG_KEY_SEND]?.([[RESUME, scratchpad.resume] as PendingWrite]);\n return v as R;\n }\n\n // No resume value found\n const ns: string[] | undefined = conf[CONFIG_KEY_CHECKPOINT_NS]?.split(\n CHECKPOINT_NAMESPACE_SEPARATOR\n );\n\n const id = ns ? XXH3(ns.join(CHECKPOINT_NAMESPACE_SEPARATOR)) : undefined;\n throw new GraphInterrupt([{ id, value }]);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,SAAgB,UAAgC,OAAa;CAC3D,MAAMA,SACJ,mCAAmC;AACrC,KAAI,CAAC,OACH,OAAM,IAAI,MAAM;CAGlB,MAAM,OAAO,OAAO;AACpB,KAAI,CAAC,KACH,OAAM,IAAI,MAAM;CAGlB,MAAMC,eAAoC,KAAK;AAC/C,KAAI,CAAC,aAAc,OAAM,IAAI,gBAAgB;CAG7C,MAAMC,aAA+B,KAAK;AAC1C,YAAW,oBAAoB;CAC/B,MAAM,MAAM,WAAW;AAGvB,KAAI,WAAW,OAAO,SAAS,KAAK,MAAM,WAAW,OAAO,QAAQ;AAClE,OAAK,mBAAmB,CAAC,CAAC,QAAQ,WAAW;AAC7C,SAAO,WAAW,OAAO;;AAI3B,KAAI,WAAW,eAAe,QAAW;AACvC,MAAI,WAAW,OAAO,WAAW,IAC/B,OAAM,IAAI,MACR,2BAA2B,WAAW,OAAO,OAAO,OAAO;EAG/D,MAAM,IAAI,WAAW;AACrB,aAAW,OAAO,KAAK;AACvB,OAAK,mBAAmB,CAAC,CAAC,QAAQ,WAAW;AAC7C,SAAO;;CAIT,MAAMC,KAA2B,KAAK,2BAA2B,MAC/D;CAGF,MAAM,KAAK,KAAK,KAAK,GAAG,KAAK,mCAAmC;AAChE,OAAM,IAAI,eAAe,CAAC;EAAE;EAAI"}
@@ -1,183 +1,150 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._addInlineAgentName = _addInlineAgentName;
4
- exports._removeInlineAgentName = _removeInlineAgentName;
5
- exports.withAgentName = withAgentName;
6
- const messages_1 = require("@langchain/core/messages");
7
- const runnables_1 = require("@langchain/core/runnables");
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ const __langchain_core_runnables = require_rolldown_runtime.__toESM(require("@langchain/core/runnables"));
3
+ const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
4
+
5
+ //#region src/prebuilt/agentName.ts
8
6
  const NAME_PATTERN = /<name>(.*?)<\/name>/s;
9
7
  const CONTENT_PATTERN = /<content>(.*?)<\/content>/s;
10
8
  /**
11
- * Attach formatted agent names to the messages passed to and from a language model.
12
- *
13
- * This is useful for making a message history with multiple agents more coherent.
14
- *
15
- * NOTE: agent name is consumed from the message.name field.
16
- * If you're using an agent built with createReactAgent, name is automatically set.
17
- * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
18
- *
19
- * @param message - Message to add agent name formatting to
20
- * @returns Message with agent name formatting
21
- *
22
- * @internal
23
- */
9
+ * Attach formatted agent names to the messages passed to and from a language model.
10
+ *
11
+ * This is useful for making a message history with multiple agents more coherent.
12
+ *
13
+ * NOTE: agent name is consumed from the message.name field.
14
+ * If you're using an agent built with createReactAgent, name is automatically set.
15
+ * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
16
+ *
17
+ * @deprecated migrated to `langchain` package.
18
+ *
19
+ * @param message - Message to add agent name formatting to
20
+ * @returns Message with agent name formatting
21
+ *
22
+ * @internal
23
+ */
24
24
  function _addInlineAgentName(message) {
25
- const isAI = (0, messages_1.isBaseMessage)(message) &&
26
- ((0, messages_1.isAIMessage)(message) ||
27
- ((0, messages_1.isBaseMessageChunk)(message) && (0, messages_1.isAIMessageChunk)(message)));
28
- if (!isAI || !message.name) {
29
- return message;
30
- }
31
- const { name } = message;
32
- if (typeof message.content === "string") {
33
- return new messages_1.AIMessage({
34
- ...(Object.keys(message.lc_kwargs ?? {}).length > 0
35
- ? message.lc_kwargs
36
- : message),
37
- content: `<name>${name}</name><content>${message.content}</content>`,
38
- name: undefined,
39
- });
40
- }
41
- const updatedContent = [];
42
- let textBlockCount = 0;
43
- for (const contentBlock of message.content) {
44
- if (typeof contentBlock === "string") {
45
- textBlockCount += 1;
46
- updatedContent.push(`<name>${name}</name><content>${contentBlock}</content>`);
47
- }
48
- else if (typeof contentBlock === "object" &&
49
- "type" in contentBlock &&
50
- contentBlock.type === "text") {
51
- textBlockCount += 1;
52
- updatedContent.push({
53
- ...contentBlock,
54
- text: `<name>${name}</name><content>${contentBlock.text}</content>`,
55
- });
56
- }
57
- else {
58
- updatedContent.push(contentBlock);
59
- }
60
- }
61
- if (!textBlockCount) {
62
- updatedContent.unshift({
63
- type: "text",
64
- text: `<name>${name}</name><content></content>`,
65
- });
66
- }
67
- return new messages_1.AIMessage({
68
- ...message.lc_kwargs,
69
- content: updatedContent,
70
- name: undefined,
71
- });
25
+ const isAI = (0, __langchain_core_messages.isBaseMessage)(message) && ((0, __langchain_core_messages.isAIMessage)(message) || (0, __langchain_core_messages.isBaseMessageChunk)(message) && (0, __langchain_core_messages.isAIMessageChunk)(message));
26
+ if (!isAI || !message.name) return message;
27
+ const { name } = message;
28
+ if (typeof message.content === "string") return new __langchain_core_messages.AIMessage({
29
+ ...Object.keys(message.lc_kwargs ?? {}).length > 0 ? message.lc_kwargs : message,
30
+ content: `<name>${name}</name><content>${message.content}</content>`,
31
+ name: void 0
32
+ });
33
+ const updatedContent = [];
34
+ let textBlockCount = 0;
35
+ for (const contentBlock of message.content) if (typeof contentBlock === "string") {
36
+ textBlockCount += 1;
37
+ updatedContent.push(`<name>${name}</name><content>${contentBlock}</content>`);
38
+ } else if (typeof contentBlock === "object" && "type" in contentBlock && contentBlock.type === "text") {
39
+ textBlockCount += 1;
40
+ updatedContent.push({
41
+ ...contentBlock,
42
+ text: `<name>${name}</name><content>${contentBlock.text}</content>`
43
+ });
44
+ } else updatedContent.push(contentBlock);
45
+ if (!textBlockCount) updatedContent.unshift({
46
+ type: "text",
47
+ text: `<name>${name}</name><content></content>`
48
+ });
49
+ return new __langchain_core_messages.AIMessage({
50
+ ...message.lc_kwargs,
51
+ content: updatedContent,
52
+ name: void 0
53
+ });
72
54
  }
73
55
  /**
74
- * Remove explicit name and content XML tags from the AI message content.
75
- *
76
- * Examples:
77
- *
78
- * @example
79
- * ```typescript
80
- * removeInlineAgentName(new AIMessage({ content: "<name>assistant</name><content>Hello</content>", name: "assistant" }))
81
- * // AIMessage with content: "Hello"
82
- *
83
- * removeInlineAgentName(new AIMessage({ content: [{type: "text", text: "<name>assistant</name><content>Hello</content>"}], name: "assistant" }))
84
- * // AIMessage with content: [{type: "text", text: "Hello"}]
85
- * ```
86
- *
87
- * @internal
88
- */
56
+ * Remove explicit name and content XML tags from the AI message content.
57
+ *
58
+ * @deprecated migrated to `langchain` package.
59
+ *
60
+ * Examples:
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * removeInlineAgentName(new AIMessage({ content: "<name>assistant</name><content>Hello</content>", name: "assistant" }))
65
+ * // AIMessage with content: "Hello"
66
+ *
67
+ * removeInlineAgentName(new AIMessage({ content: [{type: "text", text: "<name>assistant</name><content>Hello</content>"}], name: "assistant" }))
68
+ * // AIMessage with content: [{type: "text", text: "Hello"}]
69
+ * ```
70
+ *
71
+ * @internal
72
+ */
89
73
  function _removeInlineAgentName(message) {
90
- if (!(0, messages_1.isAIMessage)(message) || !message.content) {
91
- return message;
92
- }
93
- let updatedContent = [];
94
- let updatedName;
95
- if (Array.isArray(message.content)) {
96
- updatedContent = message.content
97
- .filter((block) => {
98
- if (block.type === "text") {
99
- const nameMatch = block.text.match(NAME_PATTERN);
100
- const contentMatch = block.text.match(CONTENT_PATTERN);
101
- // don't include empty content blocks that were added because there was no text block to modify
102
- if (nameMatch && (!contentMatch || contentMatch[1] === "")) {
103
- // capture name from text block
104
- // eslint-disable-next-line prefer-destructuring
105
- updatedName = nameMatch[1];
106
- return false;
107
- }
108
- return true;
109
- }
110
- return true;
111
- })
112
- .map((block) => {
113
- if (block.type === "text") {
114
- const nameMatch = block.text.match(NAME_PATTERN);
115
- const contentMatch = block.text.match(CONTENT_PATTERN);
116
- if (!nameMatch || !contentMatch) {
117
- return block;
118
- }
119
- // capture name from text block
120
- // eslint-disable-next-line prefer-destructuring
121
- updatedName = nameMatch[1];
122
- return {
123
- ...block,
124
- text: contentMatch[1],
125
- };
126
- }
127
- return block;
128
- });
129
- }
130
- else {
131
- const content = message.content;
132
- const nameMatch = content.match(NAME_PATTERN);
133
- const contentMatch = content.match(CONTENT_PATTERN);
134
- if (!nameMatch || !contentMatch) {
135
- return message;
136
- }
137
- // eslint-disable-next-line prefer-destructuring
138
- updatedName = nameMatch[1];
139
- // eslint-disable-next-line prefer-destructuring
140
- updatedContent = contentMatch[1];
141
- }
142
- return new messages_1.AIMessage({
143
- ...(Object.keys(message.lc_kwargs ?? {}).length > 0
144
- ? message.lc_kwargs
145
- : message),
146
- content: updatedContent,
147
- name: updatedName,
148
- });
74
+ if (!(0, __langchain_core_messages.isAIMessage)(message) || !message.content) return message;
75
+ let updatedContent = [];
76
+ let updatedName;
77
+ if (Array.isArray(message.content)) updatedContent = message.content.filter((block) => {
78
+ if (block.type === "text" && typeof block.text === "string") {
79
+ const nameMatch = block.text.match(NAME_PATTERN);
80
+ const contentMatch = block.text.match(CONTENT_PATTERN);
81
+ if (nameMatch && (!contentMatch || contentMatch[1] === "")) {
82
+ updatedName = nameMatch[1];
83
+ return false;
84
+ }
85
+ return true;
86
+ }
87
+ return true;
88
+ }).map((block) => {
89
+ if (block.type === "text" && typeof block.text === "string") {
90
+ const nameMatch = block.text.match(NAME_PATTERN);
91
+ const contentMatch = block.text.match(CONTENT_PATTERN);
92
+ if (!nameMatch || !contentMatch) return block;
93
+ updatedName = nameMatch[1];
94
+ return {
95
+ ...block,
96
+ text: contentMatch[1]
97
+ };
98
+ }
99
+ return block;
100
+ });
101
+ else {
102
+ const content = message.content;
103
+ const nameMatch = content.match(NAME_PATTERN);
104
+ const contentMatch = content.match(CONTENT_PATTERN);
105
+ if (!nameMatch || !contentMatch) return message;
106
+ updatedName = nameMatch[1];
107
+ updatedContent = contentMatch[1];
108
+ }
109
+ return new __langchain_core_messages.AIMessage({
110
+ ...Object.keys(message.lc_kwargs ?? {}).length > 0 ? message.lc_kwargs : message,
111
+ content: updatedContent,
112
+ name: updatedName
113
+ });
149
114
  }
150
115
  /**
151
- * Attach formatted agent names to the messages passed to and from a language model.
152
- *
153
- * This is useful for making a message history with multiple agents more coherent.
154
- *
155
- * NOTE: agent name is consumed from the message.name field.
156
- * If you're using an agent built with createReactAgent, name is automatically set.
157
- * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
158
- *
159
- * @param model - Language model to add agent name formatting to
160
- * @param agentNameMode - How to expose the agent name to the LLM
161
- * - "inline": Add the agent name directly into the content field of the AI message using XML-style tags.
162
- * Example: "How can I help you" -> "<name>agent_name</name><content>How can I help you?</content>".
163
- */
116
+ * Attach formatted agent names to the messages passed to and from a language model.
117
+ *
118
+ * This is useful for making a message history with multiple agents more coherent.
119
+ *
120
+ * * @deprecated migrated to `langchain` package.
121
+ *
122
+ * NOTE: agent name is consumed from the message.name field.
123
+ * If you're using an agent built with createReactAgent, name is automatically set.
124
+ * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
125
+ *
126
+ * @param model - Language model to add agent name formatting to
127
+ * @param agentNameMode - How to expose the agent name to the LLM
128
+ * - "inline": Add the agent name directly into the content field of the AI message using XML-style tags.
129
+ * Example: "How can I help you" -> "<name>agent_name</name><content>How can I help you?</content>".
130
+ */
164
131
  function withAgentName(model, agentNameMode) {
165
- let processInputMessage;
166
- let processOutputMessage;
167
- if (agentNameMode === "inline") {
168
- processInputMessage = _addInlineAgentName;
169
- processOutputMessage = _removeInlineAgentName;
170
- }
171
- else {
172
- throw new Error(`Invalid agent name mode: ${agentNameMode}. Needs to be one of: "inline"`);
173
- }
174
- function processInputMessages(messages) {
175
- return messages.map(processInputMessage);
176
- }
177
- return runnables_1.RunnableSequence.from([
178
- runnables_1.RunnableLambda.from(processInputMessages),
179
- model,
180
- runnables_1.RunnableLambda.from(processOutputMessage),
181
- ]);
132
+ let processInputMessage;
133
+ let processOutputMessage;
134
+ if (agentNameMode === "inline") {
135
+ processInputMessage = _addInlineAgentName;
136
+ processOutputMessage = _removeInlineAgentName;
137
+ } else throw new Error(`Invalid agent name mode: ${agentNameMode}. Needs to be one of: "inline"`);
138
+ function processInputMessages(messages) {
139
+ return messages.map(processInputMessage);
140
+ }
141
+ return __langchain_core_runnables.RunnableSequence.from([
142
+ __langchain_core_runnables.RunnableLambda.from(processInputMessages),
143
+ model,
144
+ __langchain_core_runnables.RunnableLambda.from(processOutputMessage)
145
+ ]);
182
146
  }
183
- //# sourceMappingURL=agentName.js.map
147
+
148
+ //#endregion
149
+ exports.withAgentName = withAgentName;
150
+ //# sourceMappingURL=agentName.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentName.cjs","names":["AIMessage","updatedContent: MessageContent","updatedName: string | undefined","processInputMessage: (message: BaseMessageLike) => BaseMessageLike","processOutputMessage: (message: BaseMessage) => BaseMessage","RunnableSequence","RunnableLambda"],"sources":["../../src/prebuilt/agentName.ts"],"sourcesContent":["import { LanguageModelLike } from \"@langchain/core/language_models/base\";\nimport {\n AIMessage,\n BaseMessage,\n BaseMessageLike,\n isAIMessage,\n isAIMessageChunk,\n isBaseMessage,\n isBaseMessageChunk,\n MessageContent,\n} from \"@langchain/core/messages\";\nimport { RunnableLambda, RunnableSequence } from \"@langchain/core/runnables\";\n\nconst NAME_PATTERN = /<name>(.*?)<\\/name>/s;\nconst CONTENT_PATTERN = /<content>(.*?)<\\/content>/s;\n\nexport type AgentNameMode = \"inline\";\n\n/**\n * Attach formatted agent names to the messages passed to and from a language model.\n *\n * This is useful for making a message history with multiple agents more coherent.\n *\n * NOTE: agent name is consumed from the message.name field.\n * If you're using an agent built with createReactAgent, name is automatically set.\n * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.\n *\n * @deprecated migrated to `langchain` package.\n *\n * @param message - Message to add agent name formatting to\n * @returns Message with agent name formatting\n *\n * @internal\n */\nexport function _addInlineAgentName<T extends BaseMessageLike>(\n message: T\n): T | AIMessage {\n const isAI =\n isBaseMessage(message) &&\n (isAIMessage(message) ||\n (isBaseMessageChunk(message) && isAIMessageChunk(message)));\n\n if (!isAI || !message.name) {\n return message;\n }\n\n const { name } = message;\n\n if (typeof message.content === \"string\") {\n return new AIMessage({\n ...(Object.keys(message.lc_kwargs ?? {}).length > 0\n ? message.lc_kwargs\n : message),\n content: `<name>${name}</name><content>${message.content}</content>`,\n name: undefined,\n });\n }\n\n const updatedContent = [];\n let textBlockCount = 0;\n\n for (const contentBlock of message.content) {\n if (typeof contentBlock === \"string\") {\n textBlockCount += 1;\n updatedContent.push(\n `<name>${name}</name><content>${contentBlock}</content>`\n );\n } else if (\n typeof contentBlock === \"object\" &&\n \"type\" in contentBlock &&\n contentBlock.type === \"text\"\n ) {\n textBlockCount += 1;\n updatedContent.push({\n ...contentBlock,\n text: `<name>${name}</name><content>${contentBlock.text}</content>`,\n });\n } else {\n updatedContent.push(contentBlock);\n }\n }\n\n if (!textBlockCount) {\n updatedContent.unshift({\n type: \"text\",\n text: `<name>${name}</name><content></content>`,\n });\n }\n return new AIMessage({\n ...message.lc_kwargs,\n content: updatedContent as MessageContent,\n name: undefined,\n });\n}\n\n/**\n * Remove explicit name and content XML tags from the AI message content.\n *\n * @deprecated migrated to `langchain` package.\n *\n * Examples:\n *\n * @example\n * ```typescript\n * removeInlineAgentName(new AIMessage({ content: \"<name>assistant</name><content>Hello</content>\", name: \"assistant\" }))\n * // AIMessage with content: \"Hello\"\n *\n * removeInlineAgentName(new AIMessage({ content: [{type: \"text\", text: \"<name>assistant</name><content>Hello</content>\"}], name: \"assistant\" }))\n * // AIMessage with content: [{type: \"text\", text: \"Hello\"}]\n * ```\n *\n * @internal\n */\nexport function _removeInlineAgentName<T extends BaseMessage>(message: T): T {\n if (!isAIMessage(message) || !message.content) {\n return message;\n }\n\n let updatedContent: MessageContent = [];\n let updatedName: string | undefined;\n\n if (Array.isArray(message.content)) {\n updatedContent = message.content\n .filter((block) => {\n if (block.type === \"text\" && typeof block.text === \"string\") {\n const nameMatch = block.text.match(NAME_PATTERN);\n const contentMatch = block.text.match(CONTENT_PATTERN);\n // don't include empty content blocks that were added because there was no text block to modify\n if (nameMatch && (!contentMatch || contentMatch[1] === \"\")) {\n // capture name from text block\n // eslint-disable-next-line prefer-destructuring\n updatedName = nameMatch[1];\n return false;\n }\n return true;\n }\n return true;\n })\n .map((block) => {\n if (block.type === \"text\" && typeof block.text === \"string\") {\n const nameMatch = block.text.match(NAME_PATTERN);\n const contentMatch = block.text.match(CONTENT_PATTERN);\n\n if (!nameMatch || !contentMatch) {\n return block;\n }\n\n // capture name from text block\n // eslint-disable-next-line prefer-destructuring\n updatedName = nameMatch[1];\n\n return {\n ...block,\n text: contentMatch[1],\n };\n }\n return block;\n });\n } else {\n const content = message.content as string;\n const nameMatch = content.match(NAME_PATTERN);\n const contentMatch = content.match(CONTENT_PATTERN);\n\n if (!nameMatch || !contentMatch) {\n return message;\n }\n\n // eslint-disable-next-line prefer-destructuring\n updatedName = nameMatch[1];\n // eslint-disable-next-line prefer-destructuring\n updatedContent = contentMatch[1];\n }\n\n return new AIMessage({\n ...(Object.keys(message.lc_kwargs ?? {}).length > 0\n ? message.lc_kwargs\n : message),\n content: updatedContent,\n name: updatedName,\n }) as T;\n}\n\n/**\n * Attach formatted agent names to the messages passed to and from a language model.\n *\n * This is useful for making a message history with multiple agents more coherent.\n *\n * * @deprecated migrated to `langchain` package.\n *\n * NOTE: agent name is consumed from the message.name field.\n * If you're using an agent built with createReactAgent, name is automatically set.\n * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.\n *\n * @param model - Language model to add agent name formatting to\n * @param agentNameMode - How to expose the agent name to the LLM\n * - \"inline\": Add the agent name directly into the content field of the AI message using XML-style tags.\n * Example: \"How can I help you\" -> \"<name>agent_name</name><content>How can I help you?</content>\".\n */\nexport function withAgentName(\n model: LanguageModelLike,\n agentNameMode: AgentNameMode\n): LanguageModelLike {\n let processInputMessage: (message: BaseMessageLike) => BaseMessageLike;\n let processOutputMessage: (message: BaseMessage) => BaseMessage;\n\n if (agentNameMode === \"inline\") {\n processInputMessage = _addInlineAgentName;\n processOutputMessage = _removeInlineAgentName;\n } else {\n throw new Error(\n `Invalid agent name mode: ${agentNameMode}. Needs to be one of: \"inline\"`\n );\n }\n\n function processInputMessages(\n messages: BaseMessageLike[]\n ): BaseMessageLike[] {\n return messages.map(processInputMessage);\n }\n\n return RunnableSequence.from([\n RunnableLambda.from(processInputMessages),\n model,\n RunnableLambda.from(processOutputMessage),\n ]);\n}\n"],"mappings":";;;;;AAaA,MAAM,eAAe;AACrB,MAAM,kBAAkB;;;;;;;;;;;;;;;;;AAoBxB,SAAgB,oBACd,SACe;CACf,MAAM,oDACU,wDACD,8DACS,4DAA6B;AAErD,KAAI,CAAC,QAAQ,CAAC,QAAQ,KACpB,QAAO;CAGT,MAAM,EAAE,SAAS;AAEjB,KAAI,OAAO,QAAQ,YAAY,SAC7B,QAAO,IAAIA,oCAAU;EACnB,GAAI,OAAO,KAAK,QAAQ,aAAa,IAAI,SAAS,IAC9C,QAAQ,YACR;EACJ,SAAS,SAAS,KAAK,kBAAkB,QAAQ,QAAQ;EACzD,MAAM;;CAIV,MAAM,iBAAiB;CACvB,IAAI,iBAAiB;AAErB,MAAK,MAAM,gBAAgB,QAAQ,QACjC,KAAI,OAAO,iBAAiB,UAAU;AACpC,oBAAkB;AAClB,iBAAe,KACb,SAAS,KAAK,kBAAkB,aAAa;YAG/C,OAAO,iBAAiB,YACxB,UAAU,gBACV,aAAa,SAAS,QACtB;AACA,oBAAkB;AAClB,iBAAe,KAAK;GAClB,GAAG;GACH,MAAM,SAAS,KAAK,kBAAkB,aAAa,KAAK;;OAG1D,gBAAe,KAAK;AAIxB,KAAI,CAAC,eACH,gBAAe,QAAQ;EACrB,MAAM;EACN,MAAM,SAAS,KAAK;;AAGxB,QAAO,IAAIA,oCAAU;EACnB,GAAG,QAAQ;EACX,SAAS;EACT,MAAM;;;;;;;;;;;;;;;;;;;;;AAsBV,SAAgB,uBAA8C,SAAe;AAC3E,KAAI,4CAAa,YAAY,CAAC,QAAQ,QACpC,QAAO;CAGT,IAAIC,iBAAiC;CACrC,IAAIC;AAEJ,KAAI,MAAM,QAAQ,QAAQ,SACxB,kBAAiB,QAAQ,QACtB,QAAQ,UAAU;AACjB,MAAI,MAAM,SAAS,UAAU,OAAO,MAAM,SAAS,UAAU;GAC3D,MAAM,YAAY,MAAM,KAAK,MAAM;GACnC,MAAM,eAAe,MAAM,KAAK,MAAM;AAEtC,OAAI,cAAc,CAAC,gBAAgB,aAAa,OAAO,KAAK;AAG1D,kBAAc,UAAU;AACxB,WAAO;;AAET,UAAO;;AAET,SAAO;IAER,KAAK,UAAU;AACd,MAAI,MAAM,SAAS,UAAU,OAAO,MAAM,SAAS,UAAU;GAC3D,MAAM,YAAY,MAAM,KAAK,MAAM;GACnC,MAAM,eAAe,MAAM,KAAK,MAAM;AAEtC,OAAI,CAAC,aAAa,CAAC,aACjB,QAAO;AAKT,iBAAc,UAAU;AAExB,UAAO;IACL,GAAG;IACH,MAAM,aAAa;;;AAGvB,SAAO;;MAEN;EACL,MAAM,UAAU,QAAQ;EACxB,MAAM,YAAY,QAAQ,MAAM;EAChC,MAAM,eAAe,QAAQ,MAAM;AAEnC,MAAI,CAAC,aAAa,CAAC,aACjB,QAAO;AAIT,gBAAc,UAAU;AAExB,mBAAiB,aAAa;;AAGhC,QAAO,IAAIF,oCAAU;EACnB,GAAI,OAAO,KAAK,QAAQ,aAAa,IAAI,SAAS,IAC9C,QAAQ,YACR;EACJ,SAAS;EACT,MAAM;;;;;;;;;;;;;;;;;;;AAoBV,SAAgB,cACd,OACA,eACmB;CACnB,IAAIG;CACJ,IAAIC;AAEJ,KAAI,kBAAkB,UAAU;AAC9B,wBAAsB;AACtB,yBAAuB;OAEvB,OAAM,IAAI,MACR,4BAA4B,cAAc;CAI9C,SAAS,qBACP,UACmB;AACnB,SAAO,SAAS,IAAI;;AAGtB,QAAOC,4CAAiB,KAAK;EAC3BC,0CAAe,KAAK;EACpB;EACAA,0CAAe,KAAK"}
@@ -0,0 +1,42 @@
1
+ import { BaseMessage, BaseMessageLike } from "@langchain/core/messages";
2
+ import { LanguageModelLike } from "@langchain/core/language_models/base";
3
+
4
+ //#region src/prebuilt/agentName.d.ts
5
+ type AgentNameMode = "inline";
6
+ /**
7
+ * Attach formatted agent names to the messages passed to and from a language model.
8
+ *
9
+ * This is useful for making a message history with multiple agents more coherent.
10
+ *
11
+ * NOTE: agent name is consumed from the message.name field.
12
+ * If you're using an agent built with createReactAgent, name is automatically set.
13
+ * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
14
+ *
15
+ * @deprecated migrated to `langchain` package.
16
+ *
17
+ * @param message - Message to add agent name formatting to
18
+ * @returns Message with agent name formatting
19
+ *
20
+ * @internal
21
+ */
22
+
23
+ /**
24
+ * Attach formatted agent names to the messages passed to and from a language model.
25
+ *
26
+ * This is useful for making a message history with multiple agents more coherent.
27
+ *
28
+ * * @deprecated migrated to `langchain` package.
29
+ *
30
+ * NOTE: agent name is consumed from the message.name field.
31
+ * If you're using an agent built with createReactAgent, name is automatically set.
32
+ * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.
33
+ *
34
+ * @param model - Language model to add agent name formatting to
35
+ * @param agentNameMode - How to expose the agent name to the LLM
36
+ * - "inline": Add the agent name directly into the content field of the AI message using XML-style tags.
37
+ * Example: "How can I help you" -> "<name>agent_name</name><content>How can I help you?</content>".
38
+ */
39
+ declare function withAgentName(model: LanguageModelLike, agentNameMode: AgentNameMode): LanguageModelLike;
40
+ //#endregion
41
+ export { AgentNameMode, withAgentName };
42
+ //# sourceMappingURL=agentName.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentName.d.cts","names":["LanguageModelLike","AIMessage","BaseMessage","BaseMessageLike","AgentNameMode","_addInlineAgentName","T","_removeInlineAgentName","withAgentName"],"sources":["../../src/prebuilt/agentName.d.ts"],"sourcesContent":["import { LanguageModelLike } from \"@langchain/core/language_models/base\";\nimport { AIMessage, BaseMessage, BaseMessageLike } from \"@langchain/core/messages\";\nexport type AgentNameMode = \"inline\";\n/**\n * Attach formatted agent names to the messages passed to and from a language model.\n *\n * This is useful for making a message history with multiple agents more coherent.\n *\n * NOTE: agent name is consumed from the message.name field.\n * If you're using an agent built with createReactAgent, name is automatically set.\n * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.\n *\n * @deprecated migrated to `langchain` package.\n *\n * @param message - Message to add agent name formatting to\n * @returns Message with agent name formatting\n *\n * @internal\n */\nexport declare function _addInlineAgentName<T extends BaseMessageLike>(message: T): T | AIMessage;\n/**\n * Remove explicit name and content XML tags from the AI message content.\n *\n * @deprecated migrated to `langchain` package.\n *\n * Examples:\n *\n * @example\n * ```typescript\n * removeInlineAgentName(new AIMessage({ content: \"<name>assistant</name><content>Hello</content>\", name: \"assistant\" }))\n * // AIMessage with content: \"Hello\"\n *\n * removeInlineAgentName(new AIMessage({ content: [{type: \"text\", text: \"<name>assistant</name><content>Hello</content>\"}], name: \"assistant\" }))\n * // AIMessage with content: [{type: \"text\", text: \"Hello\"}]\n * ```\n *\n * @internal\n */\nexport declare function _removeInlineAgentName<T extends BaseMessage>(message: T): T;\n/**\n * Attach formatted agent names to the messages passed to and from a language model.\n *\n * This is useful for making a message history with multiple agents more coherent.\n *\n * * @deprecated migrated to `langchain` package.\n *\n * NOTE: agent name is consumed from the message.name field.\n * If you're using an agent built with createReactAgent, name is automatically set.\n * If you're building a custom agent, make sure to set the name on the AI message returned by the LLM.\n *\n * @param model - Language model to add agent name formatting to\n * @param agentNameMode - How to expose the agent name to the LLM\n * - \"inline\": Add the agent name directly into the content field of the AI message using XML-style tags.\n * Example: \"How can I help you\" -> \"<name>agent_name</name><content>How can I help you?</content>\".\n */\nexport declare function withAgentName(model: LanguageModelLike, agentNameMode: AgentNameMode): LanguageModelLike;\n"],"mappings":";;;;KAEYI,aAAAA;;AAAZ;AAqDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwBI,aAAAA,QAAqBR,kCAAkCI,gBAAgBJ"}