agent-insight 0.3.0-beta → 0.3.1-beta

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 (665) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +6 -0
  6. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(main)/eval/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  48. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  49. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  56. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  57. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  63. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  64. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +2 -2
  65. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  73. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  74. package/.next/standalone/.next/server/app/accessconfig/health.rsc +2 -2
  75. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +2 -2
  80. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +2 -2
  82. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/accessconfig/install.html +1 -1
  84. package/.next/standalone/.next/server/app/accessconfig/install.rsc +3 -3
  85. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  86. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  87. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +3 -3
  90. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  93. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  94. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +2 -2
  95. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +2 -2
  102. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  104. package/.next/standalone/.next/server/app/accessconfig.rsc +2 -2
  105. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +2 -2
  109. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  110. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/agents.html +1 -1
  113. package/.next/standalone/.next/server/app/agents.rsc +3 -3
  114. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  115. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  116. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  118. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  121. package/.next/standalone/.next/server/app/api/agent/run/route.js +5 -5
  122. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/agent/stream/route.js +3 -3
  124. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js +5 -5
  126. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/debug/execute/route.js +5 -5
  128. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +11 -11
  130. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +4 -4
  132. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/eval/config/route.js +6 -6
  134. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +6 -6
  136. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js +6 -6
  138. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +9 -9
  140. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js +2 -2
  142. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js +5 -5
  143. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +5 -5
  145. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +5 -5
  149. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/app-paths-manifest.json +3 -0
  151. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/build-manifest.json +11 -0
  152. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/server-reference-manifest.json +4 -0
  153. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js +7 -0
  154. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js.map +5 -0
  155. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js.nft.json +1 -0
  156. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route_client-reference-manifest.js +2 -0
  157. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +7 -7
  158. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/observe/data/route.js +4 -4
  160. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js +5 -5
  162. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +9 -9
  164. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +3 -3
  166. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/quality/agents/route.js +4 -4
  168. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/quality/executions/route.js +4 -4
  170. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js +5 -5
  176. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js +3 -3
  178. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js +5 -5
  180. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js +3 -3
  182. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js +3 -3
  184. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js +4 -4
  186. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +5 -5
  188. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +3 -3
  190. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js +2 -2
  192. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js +2 -2
  193. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/skills/logs/route.js +4 -4
  195. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  198. package/.next/standalone/.next/server/app/dashboard.rsc +3 -3
  199. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  200. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  201. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +1 -1
  202. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +3 -3
  203. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +2 -2
  205. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  206. package/.next/standalone/.next/server/app/dataset.html +1 -1
  207. package/.next/standalone/.next/server/app/dataset.rsc +3 -3
  208. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  209. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +1 -1
  211. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +3 -3
  212. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  213. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +2 -2
  214. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  215. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  216. package/.next/standalone/.next/server/app/eval/trajectory.rsc +3 -3
  217. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  218. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +3 -3
  222. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +2 -2
  224. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  225. package/.next/standalone/.next/server/app/eval.html +1 -1
  226. package/.next/standalone/.next/server/app/eval.rsc +3 -3
  227. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +3 -3
  231. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +2 -2
  233. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  234. package/.next/standalone/.next/server/app/fault.html +1 -1
  235. package/.next/standalone/.next/server/app/fault.rsc +3 -3
  236. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  237. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +3 -3
  240. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  243. package/.next/standalone/.next/server/app/index.html +1 -1
  244. package/.next/standalone/.next/server/app/index.rsc +2 -2
  245. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
  247. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  250. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/login.html +1 -1
  252. package/.next/standalone/.next/server/app/login.rsc +2 -2
  253. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  254. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  256. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/memory.html +1 -1
  260. package/.next/standalone/.next/server/app/memory.rsc +2 -2
  261. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +2 -2
  265. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +2 -2
  267. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/metrics.html +1 -1
  269. package/.next/standalone/.next/server/app/metrics.rsc +3 -3
  270. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  271. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +3 -3
  274. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +2 -2
  276. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  278. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +3 -3
  279. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  280. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +3 -3
  284. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  287. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  288. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +3 -3
  289. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +3 -3
  294. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  297. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  298. package/.next/standalone/.next/server/app/modelconfig.rsc +2 -2
  299. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  306. package/.next/standalone/.next/server/app/optapi.html +1 -1
  307. package/.next/standalone/.next/server/app/optapi.rsc +2 -2
  308. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  316. package/.next/standalone/.next/server/app/quality.html +1 -1
  317. package/.next/standalone/.next/server/app/quality.rsc +3 -3
  318. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  319. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +3 -3
  322. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  325. package/.next/standalone/.next/server/app/security.html +1 -1
  326. package/.next/standalone/.next/server/app/security.rsc +2 -2
  327. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  329. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +2 -2
  331. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +2 -2
  333. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  334. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  335. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  336. package/.next/standalone/.next/server/app/skill-detail.rsc +2 -2
  337. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +2 -2
  340. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  341. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  344. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +5 -5
  345. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  346. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  348. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +5 -5
  350. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  353. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  354. package/.next/standalone/.next/server/app/skill-eval.rsc +5 -5
  355. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +3 -3
  356. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +5 -5
  359. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +3 -3
  362. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  363. package/.next/standalone/.next/server/app/skill-generator.rsc +3 -3
  364. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  365. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +3 -3
  368. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +2 -2
  370. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  371. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  372. package/.next/standalone/.next/server/app/skill-history.rsc +3 -3
  373. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +3 -3
  377. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +2 -2
  379. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  380. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  381. package/.next/standalone/.next/server/app/skill-opt.rsc +3 -3
  382. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  383. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +3 -3
  386. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +2 -2
  388. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  389. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  390. package/.next/standalone/.next/server/app/skill-release.rsc +2 -2
  391. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +1 -1
  392. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  393. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +2 -2
  395. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  396. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  398. package/.next/standalone/.next/server/app/skills.html +1 -1
  399. package/.next/standalone/.next/server/app/skills.rsc +4 -4
  400. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +3 -3
  401. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  402. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  404. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  405. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +3 -3
  407. package/.next/standalone/.next/server/app/trace.html +1 -1
  408. package/.next/standalone/.next/server/app/trace.rsc +3 -3
  409. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  410. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +1 -1
  412. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +3 -3
  413. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  414. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +2 -2
  415. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  416. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__040b569f._.js +3 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045587bf._.js +6 -0
  419. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__bfd5933a._.js → [root-of-the-server]__0b0ca028._.js} +1 -1
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e81c059._.js +1 -1
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e033f42._.js +1 -1
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35b27244._.js +3 -0
  423. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b88f14c0._.js → [root-of-the-server]__363f8caf._.js} +2 -2
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__45f15a40._.js +3 -0
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c5398f8._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__677bd848._.js +21 -21
  427. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d436a672._.js → [root-of-the-server]__6de56d9f._.js} +1 -1
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b57a53c2._.js +3 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ea78fe._.js +3 -0
  430. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7c29779d._.js → [root-of-the-server]__c5028c19._.js} +1 -1
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca706dfb._.js +1 -1
  432. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__67e8aa0f._.js → [root-of-the-server]__cc29b58c._.js} +1 -1
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc3948c5._.js +1 -1
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b45be8._.js +1 -1
  435. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb171d10._.js +2 -2
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef5bbd7._.js +1 -1
  437. package/.next/standalone/.next/server/chunks/_19441465._.js +370 -0
  438. package/.next/standalone/.next/server/chunks/{_1715c14d._.js → _1bd51141._.js} +1 -1
  439. package/.next/standalone/.next/server/chunks/_5041b697._.js +14 -14
  440. package/.next/standalone/.next/server/chunks/_73cb0d03._.js +1 -1
  441. package/.next/standalone/.next/server/chunks/_a0c6d359._.js +7 -7
  442. package/.next/standalone/.next/server/chunks/_b8c4ce57._.js +3 -0
  443. package/.next/standalone/.next/server/chunks/_c14dfae2._.js +1 -1
  444. package/.next/standalone/.next/server/chunks/_e0991a0e._.js +1 -1
  445. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_ingest_setup_hermes-plugin_route_actions_212af014.js +3 -0
  446. package/.next/standalone/.next/server/chunks/node_modules_3239b80e._.js +1 -1
  447. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_051f8412._.js +1 -1
  448. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_0cad7765._.js +1 -1
  449. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_8e3308fa._.js +1 -1
  450. package/.next/standalone/.next/server/chunks/node_modules_@langchain_langgraph_dist_index_23ed4b74.js +25 -25
  451. package/.next/standalone/.next/server/chunks/node_modules_d933a926._.js +1 -1
  452. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_23ab65eb.js +39 -51
  453. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c4a195e5.js +1 -1
  454. package/.next/standalone/.next/server/chunks/node_modules_undici_206d7c0f._.js +15 -15
  455. package/.next/standalone/.next/server/chunks/src_34fb142e._.js +15 -15
  456. package/.next/standalone/.next/server/chunks/src_lib_1466262d._.js +1 -1
  457. package/.next/standalone/.next/server/chunks/src_lib_5d86eca7._.js +1 -1
  458. package/.next/standalone/.next/server/chunks/src_lib_7bae418f._.js +6 -0
  459. package/.next/standalone/.next/server/chunks/{src_lib_ac48c2f3._.js → src_lib_beee2d37._.js} +6 -6
  460. package/.next/standalone/.next/server/chunks/src_lib_c6d9db51._.js +3 -0
  461. package/.next/standalone/.next/server/chunks/{src_lib_3205a4fa._.js → src_lib_e361eb76._.js} +6 -6
  462. package/.next/standalone/.next/server/chunks/src_lib_engine_evaluation_d6ad3d54._.js +6 -6
  463. package/.next/standalone/.next/server/chunks/src_lib_engine_evaluation_evaluator-execution-recorder_ts_d7fedcdd._.js +1 -1
  464. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +3 -3
  465. package/.next/standalone/.next/server/chunks/src_lib_engine_skill-issues_static-evaluator_5e9f2d8a._.js +12 -7
  466. package/.next/standalone/.next/server/chunks/src_lib_ingest_1accb82d._.js +1 -1
  467. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__dfea64df._.js +3 -0
  468. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +3 -0
  469. package/.next/standalone/.next/server/chunks/ssr/_10e7e5d6._.js +3 -0
  470. package/.next/standalone/.next/server/chunks/ssr/{_633b8c91._.js → _231821bd._.js} +2 -2
  471. package/.next/standalone/.next/server/chunks/ssr/_23385550._.js +1 -1
  472. package/.next/standalone/.next/server/chunks/ssr/_338db557._.js +1 -5
  473. package/.next/standalone/.next/server/chunks/ssr/_37d91d48._.js +3 -0
  474. package/.next/standalone/.next/server/chunks/ssr/_4796bd79._.js +1 -1
  475. package/.next/standalone/.next/server/chunks/ssr/_5e0dfc4e._.js +1 -1
  476. package/.next/standalone/.next/server/chunks/ssr/_5ea9f29c._.js +1 -1
  477. package/.next/standalone/.next/server/chunks/ssr/_ad052dd8._.js +3 -0
  478. package/.next/standalone/.next/server/chunks/ssr/_c16d64b3._.js +1 -1
  479. package/.next/standalone/.next/server/chunks/ssr/_cebf2190._.js +1 -1
  480. package/.next/standalone/.next/server/chunks/ssr/_cfe5178e._.js +1 -1
  481. package/.next/standalone/.next/server/chunks/ssr/_d4828542._.js +3 -0
  482. package/.next/standalone/.next/server/chunks/ssr/_d710ba85._.js +1 -5
  483. package/.next/standalone/.next/server/chunks/ssr/node_modules_05c89d2c._.js +3 -0
  484. package/.next/standalone/.next/server/chunks/ssr/node_modules_0b1debc8._.js +17 -0
  485. package/.next/standalone/.next/server/chunks/ssr/node_modules_118dfa2f._.js +26 -0
  486. package/.next/standalone/.next/server/chunks/ssr/node_modules_241c62ac._.js +31 -0
  487. package/.next/standalone/.next/server/chunks/ssr/node_modules_264cd040._.js +11 -0
  488. package/.next/standalone/.next/server/chunks/ssr/node_modules_3ae4ac61._.js +3 -0
  489. package/.next/standalone/.next/server/chunks/ssr/node_modules_42146d1f._.js +3 -0
  490. package/.next/standalone/.next/server/chunks/ssr/node_modules_4eadc088._.js +3 -0
  491. package/.next/standalone/.next/server/chunks/ssr/node_modules_564ffb11._.js +3 -0
  492. package/.next/standalone/.next/server/chunks/ssr/node_modules_5d8dc663._.js +3 -0
  493. package/.next/standalone/.next/server/chunks/ssr/node_modules_653b0c30._.js +3 -0
  494. package/.next/standalone/.next/server/chunks/ssr/node_modules_77281965._.js +3 -0
  495. package/.next/standalone/.next/server/chunks/ssr/node_modules_77b8869b._.js +17 -0
  496. package/.next/standalone/.next/server/chunks/ssr/node_modules_7a0d9afc._.js +3 -0
  497. package/.next/standalone/.next/server/chunks/ssr/node_modules_7f5b5ff9._.js +45 -0
  498. package/.next/standalone/.next/server/chunks/ssr/node_modules_7f7e9f17._.js +3 -0
  499. package/.next/standalone/.next/server/chunks/ssr/node_modules_7fe3c357._.js +3 -0
  500. package/.next/standalone/.next/server/chunks/ssr/node_modules_803c6412._.js +3 -0
  501. package/.next/standalone/.next/server/chunks/ssr/node_modules_8108cb01._.js +3 -0
  502. package/.next/standalone/.next/server/chunks/ssr/node_modules_831dfa9a._.js +17 -0
  503. package/.next/standalone/.next/server/chunks/ssr/node_modules_971a1a98._.js +3 -0
  504. package/.next/standalone/.next/server/chunks/ssr/node_modules_9d323b89._.js +3 -0
  505. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_db228c3c._.js → node_modules_@mermaid-js_parser_dist_16c88699._.js} +2 -2
  506. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_22ce2656._.js → node_modules_@mermaid-js_parser_dist_21851c70._.js} +2 -2
  507. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_544082c1._.js → node_modules_@mermaid-js_parser_dist_31b46481._.js} +2 -2
  508. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_c48c72e0._.js → node_modules_@mermaid-js_parser_dist_32bdec7b._.js} +2 -2
  509. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_ddbd29b7._.js → node_modules_@mermaid-js_parser_dist_66f35908._.js} +2 -2
  510. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_c8a78e27._.js → node_modules_@mermaid-js_parser_dist_94ecdc22._.js} +2 -2
  511. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_4f77a544._.js → node_modules_@mermaid-js_parser_dist_b85775a0._.js} +2 -2
  512. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_3ab41ad8._.js → node_modules_@mermaid-js_parser_dist_c8728ae8._.js} +2 -2
  513. package/.next/standalone/.next/server/chunks/ssr/node_modules_@radix-ui_react-popper_dist_index_mjs_0d6fc757._.js +1 -1
  514. package/.next/standalone/.next/server/chunks/ssr/node_modules_a22450a1._.js +17 -0
  515. package/.next/standalone/.next/server/chunks/ssr/node_modules_ab0108ca._.js +3 -0
  516. package/.next/standalone/.next/server/chunks/ssr/node_modules_cad8d256._.js +3 -0
  517. package/.next/standalone/.next/server/chunks/ssr/node_modules_d40eabb5._.js +3 -0
  518. package/.next/standalone/.next/server/chunks/ssr/node_modules_f89ffeff._.js +17 -0
  519. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2a7c4de9._.js → node_modules_fca55bff._.js} +2 -2
  520. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5ZQYHXKU_mjs_9293a43d._.js +2 -2
  521. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-CSCIHK7Q_mjs_5da5edc3._.js +2 -2
  522. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_a11916de._.js +1 -1
  523. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_skill-eval_page_tsx_d6828614._.js +1 -1
  524. package/.next/standalone/.next/server/chunks/ssr/src_components_evaluation_index_ts_95565210._.js +1 -1
  525. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_4c0f64d8._.js +1 -1
  526. package/.next/standalone/.next/server/pages/404.html +1 -1
  527. package/.next/standalone/.next/server/pages/500.html +2 -2
  528. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  529. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  530. package/.next/standalone/.next/static/chunks/{8b7ff3e53c4bbf8b.js → 0c7b05946b227f5a.js} +1 -5
  531. package/.next/standalone/.next/static/chunks/130e114057a9ebcd.js +1 -0
  532. package/.next/standalone/.next/static/chunks/14befe775870fecd.js +1 -0
  533. package/.next/standalone/.next/static/chunks/25ad82636e5b58a3.js +2 -0
  534. package/.next/{static/chunks/9b3f944a84387392.js → standalone/.next/static/chunks/3336df3d1032eecc.js} +1 -1
  535. package/.next/standalone/.next/static/chunks/43df5d7cd8ec46ff.js +1 -0
  536. package/.next/standalone/.next/static/chunks/463b43ecde7acc6b.js +1 -0
  537. package/.next/standalone/.next/static/chunks/{e5a2f98833719cb8.css → 5163848f38ac1cf6.css} +1 -1
  538. package/.next/standalone/.next/static/chunks/{30396061c28bf72c.js → 53af8dcc7be02445.js} +1 -1
  539. package/.next/standalone/.next/static/chunks/5e43a260c9f4f214.js +1 -0
  540. package/.next/{static/chunks/853a1f6bf3b6d443.js → standalone/.next/static/chunks/623f3222303930bb.js} +1 -1
  541. package/.next/{static/chunks/5407d16db75c16c3.js → standalone/.next/static/chunks/669150ee69928668.js} +1 -1
  542. package/.next/standalone/.next/static/chunks/6dbed19ae114b533.js +1 -0
  543. package/.next/standalone/.next/static/chunks/{9bdf47a06c8d728a.js → 72fce1376de53ff1.js} +1 -5
  544. package/.next/standalone/.next/static/chunks/7aff5373689149f6.css +1 -0
  545. package/.next/standalone/.next/static/chunks/{2f80f58326d89fa4.js → 7b15bab143d8c60f.js} +1 -1
  546. package/.next/{static/chunks/7ac51daef174f857.js → standalone/.next/static/chunks/83910a2aebec21cd.js} +1 -1
  547. package/.next/{static/chunks/4e25ec4dd6ef0459.js → standalone/.next/static/chunks/aab0b35af6737aed.js} +1 -1
  548. package/.next/standalone/.next/static/chunks/{7ac51daef174f857.js → ac4d824ecef761ad.js} +1 -1
  549. package/.next/standalone/.next/static/chunks/c44ecbd264254739.js +1 -0
  550. package/.next/standalone/.next/static/chunks/d04e17c648ef7960.js +4 -0
  551. package/.next/standalone/.next/static/chunks/e03cb31f10551f0b.js +119 -0
  552. package/.next/standalone/.next/static/chunks/e1ca3a6b74761a34.js +1 -0
  553. package/.next/standalone/.next/static/chunks/e4c086f27bba33f9.js +1 -0
  554. package/.next/standalone/.next/static/chunks/e623d8fba24bdb29.js +1 -0
  555. package/.next/standalone/.next/static/chunks/f4436f20374d2dbb.js +1 -0
  556. package/.next/standalone/package.json +1 -1
  557. package/.next/standalone/scripts/hermes_agent_insight_plugin.py +882 -0
  558. package/.next/static/chunks/{8b7ff3e53c4bbf8b.js → 0c7b05946b227f5a.js} +1 -5
  559. package/.next/static/chunks/130e114057a9ebcd.js +1 -0
  560. package/.next/static/chunks/14befe775870fecd.js +1 -0
  561. package/.next/static/chunks/25ad82636e5b58a3.js +2 -0
  562. package/.next/{standalone/.next/static/chunks/9b3f944a84387392.js → static/chunks/3336df3d1032eecc.js} +1 -1
  563. package/.next/static/chunks/43df5d7cd8ec46ff.js +1 -0
  564. package/.next/static/chunks/463b43ecde7acc6b.js +1 -0
  565. package/.next/static/chunks/{e5a2f98833719cb8.css → 5163848f38ac1cf6.css} +1 -1
  566. package/.next/static/chunks/{30396061c28bf72c.js → 53af8dcc7be02445.js} +1 -1
  567. package/.next/static/chunks/5e43a260c9f4f214.js +1 -0
  568. package/.next/{standalone/.next/static/chunks/853a1f6bf3b6d443.js → static/chunks/623f3222303930bb.js} +1 -1
  569. package/.next/{standalone/.next/static/chunks/5407d16db75c16c3.js → static/chunks/669150ee69928668.js} +1 -1
  570. package/.next/static/chunks/6dbed19ae114b533.js +1 -0
  571. package/.next/static/chunks/{9bdf47a06c8d728a.js → 72fce1376de53ff1.js} +1 -5
  572. package/.next/static/chunks/7aff5373689149f6.css +1 -0
  573. package/.next/static/chunks/{2f80f58326d89fa4.js → 7b15bab143d8c60f.js} +1 -1
  574. package/.next/{standalone/.next/static/chunks/82647ed55d4480ce.js → static/chunks/83910a2aebec21cd.js} +1 -1
  575. package/.next/{standalone/.next/static/chunks/4e25ec4dd6ef0459.js → static/chunks/aab0b35af6737aed.js} +1 -1
  576. package/.next/static/chunks/ac4d824ecef761ad.js +1 -0
  577. package/.next/static/chunks/c44ecbd264254739.js +1 -0
  578. package/.next/static/chunks/d04e17c648ef7960.js +4 -0
  579. package/.next/static/chunks/e03cb31f10551f0b.js +119 -0
  580. package/.next/static/chunks/e1ca3a6b74761a34.js +1 -0
  581. package/.next/static/chunks/e4c086f27bba33f9.js +1 -0
  582. package/.next/static/chunks/e623d8fba24bdb29.js +1 -0
  583. package/.next/static/chunks/f4436f20374d2dbb.js +1 -0
  584. package/package.json +1 -1
  585. package/scripts/hermes_agent_insight_plugin.py +882 -0
  586. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00c0800e._.js +0 -3
  587. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2e16866c._.js +0 -6
  588. package/.next/standalone/.next/server/chunks/[root-of-the-server]__52e5e5b6._.js +0 -3
  589. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5782a103._.js +0 -3
  590. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e80a8314._.js +0 -3
  591. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f7423c32._.js +0 -3
  592. package/.next/standalone/.next/server/chunks/_7ecc72d5._.js +0 -370
  593. package/.next/standalone/.next/server/chunks/_fbb1d006._.js +0 -3
  594. package/.next/standalone/.next/server/chunks/src_lib_68596f16._.js +0 -6
  595. package/.next/standalone/.next/server/chunks/src_lib_69eb724e._.js +0 -3
  596. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__afc1fc82._.js +0 -3
  597. package/.next/standalone/.next/server/chunks/ssr/_1409f211._.js +0 -7
  598. package/.next/standalone/.next/server/chunks/ssr/_53a193b7._.js +0 -3
  599. package/.next/standalone/.next/server/chunks/ssr/_8e246656._.js +0 -7
  600. package/.next/standalone/.next/server/chunks/ssr/_c5121a52._.js +0 -3
  601. package/.next/standalone/.next/server/chunks/ssr/_ddf088e7._.js +0 -3
  602. package/.next/standalone/.next/server/chunks/ssr/_ff4f28a3._.js +0 -7
  603. package/.next/standalone/.next/server/chunks/ssr/node_modules_03a4e1e8._.js +0 -3
  604. package/.next/standalone/.next/server/chunks/ssr/node_modules_107e06c2._.js +0 -3
  605. package/.next/standalone/.next/server/chunks/ssr/node_modules_1478fd1a._.js +0 -3
  606. package/.next/standalone/.next/server/chunks/ssr/node_modules_28567d0f._.js +0 -3
  607. package/.next/standalone/.next/server/chunks/ssr/node_modules_2b979638._.js +0 -3
  608. package/.next/standalone/.next/server/chunks/ssr/node_modules_2be5a018._.js +0 -3
  609. package/.next/standalone/.next/server/chunks/ssr/node_modules_302487e0._.js +0 -3
  610. package/.next/standalone/.next/server/chunks/ssr/node_modules_327acc03._.js +0 -26
  611. package/.next/standalone/.next/server/chunks/ssr/node_modules_39d86cba._.js +0 -17
  612. package/.next/standalone/.next/server/chunks/ssr/node_modules_3c01063a._.js +0 -3
  613. package/.next/standalone/.next/server/chunks/ssr/node_modules_3e9eb0ee._.js +0 -11
  614. package/.next/standalone/.next/server/chunks/ssr/node_modules_3f93cf58._.js +0 -45
  615. package/.next/standalone/.next/server/chunks/ssr/node_modules_4327b3e7._.js +0 -3
  616. package/.next/standalone/.next/server/chunks/ssr/node_modules_4bea67c9._.js +0 -3
  617. package/.next/standalone/.next/server/chunks/ssr/node_modules_561578ad._.js +0 -3
  618. package/.next/standalone/.next/server/chunks/ssr/node_modules_5997198a._.js +0 -31
  619. package/.next/standalone/.next/server/chunks/ssr/node_modules_64378d98._.js +0 -17
  620. package/.next/standalone/.next/server/chunks/ssr/node_modules_6e79a594._.js +0 -3
  621. package/.next/standalone/.next/server/chunks/ssr/node_modules_7cccaf98._.js +0 -3
  622. package/.next/standalone/.next/server/chunks/ssr/node_modules_8ac545aa._.js +0 -17
  623. package/.next/standalone/.next/server/chunks/ssr/node_modules_9bf47e56._.js +0 -3
  624. package/.next/standalone/.next/server/chunks/ssr/node_modules_9f38447b._.js +0 -3
  625. package/.next/standalone/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_b213ca58._.js +0 -3
  626. package/.next/standalone/.next/server/chunks/ssr/node_modules_cdddc2e8._.js +0 -17
  627. package/.next/standalone/.next/server/chunks/ssr/node_modules_e51942b7._.js +0 -3
  628. package/.next/standalone/.next/server/chunks/ssr/node_modules_f9ad22f8._.js +0 -17
  629. package/.next/standalone/.next/static/chunks/01874bd5a7fda069.js +0 -5
  630. package/.next/standalone/.next/static/chunks/05f725ad2bd51889.js +0 -5
  631. package/.next/standalone/.next/static/chunks/28c31d9589800fe1.js +0 -1
  632. package/.next/standalone/.next/static/chunks/41708ee675c0cc34.js +0 -1
  633. package/.next/standalone/.next/static/chunks/8481480a23164da3.js +0 -1
  634. package/.next/standalone/.next/static/chunks/8552cadf84c26cfe.js +0 -4
  635. package/.next/standalone/.next/static/chunks/8dc215cff38e080b.js +0 -5
  636. package/.next/standalone/.next/static/chunks/a5d8acb3d2573b32.js +0 -1
  637. package/.next/standalone/.next/static/chunks/a7e72ad6eda9aad1.js +0 -5
  638. package/.next/standalone/.next/static/chunks/bb69bd8f3fb2597f.js +0 -1
  639. package/.next/standalone/.next/static/chunks/c356ee0aa836b01c.js +0 -2
  640. package/.next/standalone/.next/static/chunks/c7b67d9c0be1999f.js +0 -1
  641. package/.next/standalone/.next/static/chunks/cdad5bb63a64bc1a.js +0 -119
  642. package/.next/standalone/.next/static/chunks/e0b132c675c3513e.js +0 -1
  643. package/.next/standalone/.next/static/chunks/e6562c7e7bb67446.css +0 -1
  644. package/.next/static/chunks/01874bd5a7fda069.js +0 -5
  645. package/.next/static/chunks/05f725ad2bd51889.js +0 -5
  646. package/.next/static/chunks/28c31d9589800fe1.js +0 -1
  647. package/.next/static/chunks/41708ee675c0cc34.js +0 -1
  648. package/.next/static/chunks/82647ed55d4480ce.js +0 -1
  649. package/.next/static/chunks/8481480a23164da3.js +0 -1
  650. package/.next/static/chunks/8552cadf84c26cfe.js +0 -4
  651. package/.next/static/chunks/8dc215cff38e080b.js +0 -5
  652. package/.next/static/chunks/a5d8acb3d2573b32.js +0 -1
  653. package/.next/static/chunks/a7e72ad6eda9aad1.js +0 -5
  654. package/.next/static/chunks/bb69bd8f3fb2597f.js +0 -1
  655. package/.next/static/chunks/c356ee0aa836b01c.js +0 -2
  656. package/.next/static/chunks/c7b67d9c0be1999f.js +0 -1
  657. package/.next/static/chunks/cdad5bb63a64bc1a.js +0 -119
  658. package/.next/static/chunks/e0b132c675c3513e.js +0 -1
  659. package/.next/static/chunks/e6562c7e7bb67446.css +0 -1
  660. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_buildManifest.js +0 -0
  661. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_clientMiddlewareManifest.json +0 -0
  662. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_ssgManifest.js +0 -0
  663. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_buildManifest.js +0 -0
  664. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_clientMiddlewareManifest.json +0 -0
  665. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_ssgManifest.js +0 -0
@@ -1,14 +1,14 @@
1
- module.exports=[785211,912632,179045,585709,243245,737572,562223,986827,388191,741243,698038,518761,471972,621197,144253,458443,169525,909441,753489,598259,609202,840607,898060,971499,581740,325076,447702,49797,180073,620454,35915,499566,799329,925566,207147,424701,376533,869891,134946,642439,335516,590434,179480,836548,80677,588771,469220,e=>{"use strict";var t=e.i(869070),r=e.i(200587),n=e.i(478500);function i(e,t){if(null!=e){if("number"!=typeof e||Number.isNaN(e)||e<=0)throw Error(`${t} must be greater than 0`);return e}}function s(e){if(null==e)return;let t="number"==typeof e?{runTimeout:e}:e,r=t.refreshOn??"auto";if("auto"!==r&&"heartbeat"!==r)throw Error('refreshOn must be "auto" or "heartbeat"');let n=i(t.runTimeout,"runTimeout"),s=i(t.idleTimeout,"idleTimeout");if(void 0!==n||void 0!==s)return{runTimeout:n,idleTimeout:s,refreshOn:r}}let a="__start__",o="__end__",l="__input__",c="__error__",h="__error_source_node__",u="__pregel_ns_writes";function p(){let e="u">typeof process?process.env?.LANGGRAPH_DELTA_MAX_SUPERSTEPS_SINCE_SNAPSHOT:void 0;if(void 0!==e&&""!==e){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}return 5e3}let d="__pregel_send",f="__pregel_call",m="__pregel_read",g="__pregel_checkpointer",_="__pregel_resuming",y="__pregel_task_id",b="__pregel_stream",v="__pregel_resume_map",w="__pregel_scratchpad",k="__pregel_previous",S="checkpoint_id",x="checkpoint_ns",E="__pregel_node_finished",C="__pregel_node_error",A="checkpoint_map",O="__pregel_replay_state",I="__pregel_abort_signals",T="__interrupt__",j="__resume__",N="__no_writes__",P="__return__",M="__previous__",$="langsmith:hidden",R="__self__",V="__pregel_tasks",F="__pregel_push",L="__pregel_pull",D="00000000-0000-0000-0000-000000000000",U=[$,l,T,j,c,h,N,d,m,g,"__pregel_durability",b,_,y,f,"__pregel_resume_value",w,k,A,x,S,O],B=Symbol.for("langgraph.command");var H=class{[B];constructor(e){this[B]=e}};function W(e){return null!=e&&"string"==typeof e.node&&void 0!==e.args}var q=class{lg_name="Send";node;args;timeout;constructor(e,t,r){this.node=e,this.args=ee(t),this.timeout=s(r?.timeout)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args,timeout:this.timeout}}};function G(e){return e instanceof q}let K="__overwrite__";var z=class{lg_name="Overwrite";[K];constructor(e){this[K]=e}get value(){return this[K]}toJSON(){return{[K]:this[K]}}static isInstance(e){return!!e&&"object"==typeof e&&("__overwrite__"in e||"lg_name"in e&&"Overwrite"===e.lg_name)}};function J(e){return"object"==typeof e&&null!==e&&"__overwrite__"in e?[!0,e[K]]:[!1,void 0]}function Z(e){return J(e)[0]}function Y(e){return!!e&&"object"==typeof e&&"__interrupt__"in e&&Array.isArray(e[T])}var Q=class extends H{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?ee(e.goto):[ee(e.goto)])}_updateAsTuples(){return this.update&&"object"==typeof this.update&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&2===e.length&&"string"==typeof e[0])?this.update:[["__root__",this.update]]}toJSON(){let e;return e="string"==typeof this.goto?this.goto:G(this.goto)?this.goto.toJSON():this.goto?.map(e=>"string"==typeof e?e:e.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function X(e){return"object"==typeof e&&null!=e&&"lg_name"in e&&"Command"===e.lg_name}function ee(e,t=new Map){if(null!=e&&"object"==typeof e){let r;if(t.has(e))return t.get(e);if(Array.isArray(e))r=[],t.set(e,r),e.forEach((e,n)=>{r[n]=ee(e,t)});else{let n;if(e instanceof Q||e instanceof q||(n=Object.getPrototypeOf(e))!==Object.prototype&&null!==n)r=e,t.set(e,r);else if(X(e))r=new Q(e),t.set(e,r);else if(W(e))r=new q(e.node,e.args,void 0!==e.timeout?{timeout:e.timeout}:void 0),t.set(e,r);else if("lc_serializable"in e&&e.lc_serializable)r=e,t.set(e,r);else for(let[n,i]of(r={},t.set(e,r),Object.entries(e)))r[n]=ee(i,t)}return r}return e}e.s(["CACHE_NS_WRITES",()=>u,"COMMAND_SYMBOL",()=>B,"CONFIG_KEY_ABORT_SIGNALS",()=>I,"CONFIG_KEY_CALL",()=>f,"CONFIG_KEY_CHECKPOINTER",()=>g,"CONFIG_KEY_CHECKPOINT_ID",()=>S,"CONFIG_KEY_CHECKPOINT_MAP",()=>A,"CONFIG_KEY_CHECKPOINT_NS",()=>x,"CONFIG_KEY_NODE_ERROR",()=>C,"CONFIG_KEY_NODE_FINISHED",()=>E,"CONFIG_KEY_PREVIOUS_STATE",()=>k,"CONFIG_KEY_READ",()=>m,"CONFIG_KEY_REPLAY_STATE",()=>O,"CONFIG_KEY_RESUME_MAP",()=>v,"CONFIG_KEY_RESUMING",()=>_,"CONFIG_KEY_SCRATCHPAD",()=>w,"CONFIG_KEY_SEND",()=>d,"CONFIG_KEY_STREAM",()=>b,"CONFIG_KEY_TASK_ID",()=>y,"Command",()=>Q,"CommandInstance",()=>H,"END",()=>o,"ERROR",()=>c,"ERROR_SOURCE_NODE",()=>h,"INPUT",()=>l,"INTERRUPT",()=>T,"NO_WRITES",()=>N,"NULL_TASK_ID",()=>D,"OVERWRITE",()=>K,"Overwrite",()=>z,"PREVIOUS",()=>M,"PULL",()=>L,"PUSH",()=>F,"RESERVED",()=>U,"RESUME",()=>j,"RETURN",()=>P,"SELF",()=>R,"START",()=>a,"Send",()=>q,"TAG_HIDDEN",()=>$,"TASKS",()=>V,"_getOverwriteValue",()=>J,"_isOverwriteValue",()=>Z,"_isSend",()=>G,"_isSendInterface",()=>W,"getDeltaMaxSuperstepsSinceSnapshot",()=>p,"isCommand",()=>X,"isInterrupted",()=>Y],912632);var et=class extends Error{lc_error_code;constructor(e,t){let r=e??"";t?.lc_error_code&&(r=`${r}
1
+ module.exports=[785211,912632,179045,585709,243245,737572,562223,986827,388191,741243,698038,518761,471972,621197,144253,458443,169525,909441,753489,598259,609202,840607,898060,971499,581740,325076,447702,49797,180073,620454,35915,499566,799329,925566,207147,424701,376533,869891,134946,642439,335516,590434,179480,836548,80677,588771,469220,e=>{"use strict";var t=e.i(869070),r=e.i(200587),n=e.i(478500);function i(e,t){if(null!=e){if("number"!=typeof e||Number.isNaN(e)||e<=0)throw Error(`${t} must be greater than 0`);return e}}function s(e){if(null==e)return;let t="number"==typeof e?{runTimeout:e}:e,r=t.refreshOn??"auto";if("auto"!==r&&"heartbeat"!==r)throw Error('refreshOn must be "auto" or "heartbeat"');let n=i(t.runTimeout,"runTimeout"),s=i(t.idleTimeout,"idleTimeout");if(void 0!==n||void 0!==s)return{runTimeout:n,idleTimeout:s,refreshOn:r}}let a="__start__",o="__end__",l="__input__",c="__error__",h="__error_source_node__",u="__pregel_ns_writes";function p(){let e="u">typeof process?process.env?.LANGGRAPH_DELTA_MAX_SUPERSTEPS_SINCE_SNAPSHOT:void 0;if(void 0!==e&&""!==e){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}return 5e3}let d="__pregel_send",f="__pregel_call",m="__pregel_read",g="__pregel_checkpointer",_="__pregel_resuming",y="__pregel_task_id",v="__pregel_stream",b="__pregel_resume_map",w="__pregel_scratchpad",k="__pregel_previous",S="checkpoint_id",x="checkpoint_ns",E="__pregel_node_finished",C="__pregel_node_error",A="checkpoint_map",O="__pregel_replay_state",I="__pregel_abort_signals",T="__interrupt__",j="__resume__",N="__no_writes__",P="__return__",M="__previous__",$="langsmith:hidden",R="__self__",F="__pregel_tasks",V="__pregel_push",L="__pregel_pull",D="00000000-0000-0000-0000-000000000000",H=[$,l,T,j,c,h,N,d,m,g,"__pregel_durability",v,_,y,f,"__pregel_resume_value",w,k,A,x,S,O],B=Symbol.for("langgraph.command");var U=class{[B];constructor(e){this[B]=e}};function W(e){return null!=e&&"string"==typeof e.node&&void 0!==e.args}var q=class{lg_name="Send";node;args;timeout;constructor(e,t,r){this.node=e,this.args=ee(t),this.timeout=s(r?.timeout)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args,timeout:this.timeout}}};function G(e){return e instanceof q}let K="__overwrite__";var z=class{lg_name="Overwrite";[K];constructor(e){this[K]=e}get value(){return this[K]}toJSON(){return{[K]:this[K]}}static isInstance(e){return!!e&&"object"==typeof e&&("__overwrite__"in e||"lg_name"in e&&"Overwrite"===e.lg_name)}};function J(e){return"object"==typeof e&&null!==e&&"__overwrite__"in e?[!0,e[K]]:[!1,void 0]}function Z(e){return J(e)[0]}function Y(e){return!!e&&"object"==typeof e&&"__interrupt__"in e&&Array.isArray(e[T])}var Q=class extends U{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?ee(e.goto):[ee(e.goto)])}_updateAsTuples(){return this.update&&"object"==typeof this.update&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&2===e.length&&"string"==typeof e[0])?this.update:[["__root__",this.update]]}toJSON(){let e;return e="string"==typeof this.goto?this.goto:G(this.goto)?this.goto.toJSON():this.goto?.map(e=>"string"==typeof e?e:e.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function X(e){return"object"==typeof e&&null!=e&&"lg_name"in e&&"Command"===e.lg_name}function ee(e,t=new Map){if(null!=e&&"object"==typeof e){let r;if(t.has(e))return t.get(e);if(Array.isArray(e))r=[],t.set(e,r),e.forEach((e,n)=>{r[n]=ee(e,t)});else{let n;if(e instanceof Q||e instanceof q||(n=Object.getPrototypeOf(e))!==Object.prototype&&null!==n)r=e,t.set(e,r);else if(X(e))r=new Q(e),t.set(e,r);else if(W(e))r=new q(e.node,e.args,void 0!==e.timeout?{timeout:e.timeout}:void 0),t.set(e,r);else if("lc_serializable"in e&&e.lc_serializable)r=e,t.set(e,r);else for(let[n,i]of(r={},t.set(e,r),Object.entries(e)))r[n]=ee(i,t)}return r}return e}e.s(["CACHE_NS_WRITES",()=>u,"COMMAND_SYMBOL",()=>B,"CONFIG_KEY_ABORT_SIGNALS",()=>I,"CONFIG_KEY_CALL",()=>f,"CONFIG_KEY_CHECKPOINTER",()=>g,"CONFIG_KEY_CHECKPOINT_ID",()=>S,"CONFIG_KEY_CHECKPOINT_MAP",()=>A,"CONFIG_KEY_CHECKPOINT_NS",()=>x,"CONFIG_KEY_NODE_ERROR",()=>C,"CONFIG_KEY_NODE_FINISHED",()=>E,"CONFIG_KEY_PREVIOUS_STATE",()=>k,"CONFIG_KEY_READ",()=>m,"CONFIG_KEY_REPLAY_STATE",()=>O,"CONFIG_KEY_RESUME_MAP",()=>b,"CONFIG_KEY_RESUMING",()=>_,"CONFIG_KEY_SCRATCHPAD",()=>w,"CONFIG_KEY_SEND",()=>d,"CONFIG_KEY_STREAM",()=>v,"CONFIG_KEY_TASK_ID",()=>y,"Command",()=>Q,"CommandInstance",()=>U,"END",()=>o,"ERROR",()=>c,"ERROR_SOURCE_NODE",()=>h,"INPUT",()=>l,"INTERRUPT",()=>T,"NO_WRITES",()=>N,"NULL_TASK_ID",()=>D,"OVERWRITE",()=>K,"Overwrite",()=>z,"PREVIOUS",()=>M,"PULL",()=>L,"PUSH",()=>V,"RESERVED",()=>H,"RESUME",()=>j,"RETURN",()=>P,"SELF",()=>R,"START",()=>a,"Send",()=>q,"TAG_HIDDEN",()=>$,"TASKS",()=>F,"_getOverwriteValue",()=>J,"_isOverwriteValue",()=>Z,"_isSend",()=>G,"_isSendInterface",()=>W,"getDeltaMaxSuperstepsSinceSnapshot",()=>p,"isCommand",()=>X,"isInterrupted",()=>Y],912632);var et=class extends Error{lc_error_code;constructor(e,t){let r=e??"";t?.lc_error_code&&(r=`${r}
2
2
 
3
3
  Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
4
- `),super(r),this.lc_error_code=t?.lc_error_code}},er=class extends et{get is_bubble_up(){return!0}},en=class extends et{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},ei=class extends et{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},es=class extends er{reason;constructor(e="shutdown",t){super(`Graph drained: ${e}`,t),this.name="GraphDrained",this.reason=e}static get unminifiable_name(){return"GraphDrained"}};function ea(e){return void 0!==e&&e.name===es.unminifiable_name}var eo=class extends er{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},el=class extends eo{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},ec=class{node;error;constructor(e,t){this.node=e,this.error=t}static get unminifiable_name(){return"NodeError"}};function eh(e){return null!=e&&"object"==typeof e&&null!=e.constructor&&e.constructor.unminifiable_name===ec.unminifiable_name}var eu=class extends er{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function ep(e){return void 0!==e&&e.name===eu.unminifiable_name}function ed(e){return void 0!==e&&!0===e.is_bubble_up}function ef(e){return void 0!==e&&[eo.unminifiable_name,el.unminifiable_name].includes(e.name)}var em=class extends et{node;kind;timeout;elapsed;runTimeout;idleTimeout;constructor(e,t){let r,n;const{node:i,elapsed:s,kind:a,runTimeout:o,idleTimeout:l}=e;if("idle"===a){if(void 0===l)throw Error("idleTimeout is required when kind='idle'");n=l,r=`Node "${i}" exceeded its idle timeout of ${l}ms without making progress (elapsed: ${s}ms).`}else{if(void 0===o)throw Error("runTimeout is required when kind='run'");n=o,r=`Node "${i}" exceeded its run timeout of ${o}ms (elapsed: ${s}ms).`}super(r,t),this.name="NodeTimeoutError",this.node=i,this.kind=a,this.timeout=n,this.elapsed=s,this.runTimeout=o,this.idleTimeout=l}static get unminifiable_name(){return"NodeTimeoutError"}};function eg(e){return void 0!==e&&e.name===em.unminifiable_name}var e_=class extends et{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},ey=class extends et{constructor(e,t){const r=Error.stackTraceLimit;Error.stackTraceLimit=0,super(e,t),Error.stackTraceLimit=r,this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},eb=class extends et{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},ev=class extends et{constructor(e,t){super(e,t),this.name="MultipleSubgraphError"}static get unminifiable_name(){return"MultipleSubgraphError"}},ew=class extends et{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},ek=class extends et{constructor(e,t){super(e,t),this.name="RemoteException"}static get unminifiable_name(){return"RemoteException"}},eS=class extends et{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}};let ex=()=>(void 0===globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]&&(globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]=new Set),globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]);e.s(["BaseLangGraphError",()=>et,"EmptyChannelError",()=>ey,"EmptyInputError",()=>e_,"GraphBubbleUp",()=>er,"GraphDrained",()=>es,"GraphInterrupt",()=>eo,"GraphRecursionError",()=>en,"GraphValueError",()=>ei,"InvalidUpdateError",()=>eb,"MultipleSubgraphsError",()=>ev,"NodeError",()=>ec,"NodeInterrupt",()=>el,"NodeTimeoutError",()=>em,"ParentCommand",()=>eu,"RemoteException",()=>ek,"StateGraphInputError",()=>eS,"UnreachableNodeError",()=>ew,"getSubgraphsSeenSet",()=>ex,"isGraphBubbleUp",()=>ed,"isGraphDrained",()=>ea,"isGraphInterrupt",()=>ef,"isNodeError",()=>eh,"isNodeTimeoutError",()=>eg,"isParentCommand",()=>ep],179045);var eE=e.i(666680);let eC=function(e){return Array.isArray(e)?e=Buffer.from(e):"string"==typeof e&&(e=Buffer.from(e,"utf8")),(0,eE.createHash)("sha1").update(e).digest()},eA=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,eO=function(e){let t;if(!("string"==typeof e&&eA.test(e)))throw TypeError("Invalid UUID");return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/0x10000000000&255,t/0x100000000&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)},eI=[];for(let e=0;e<256;++e)eI.push((e+256).toString(16).slice(1));function eT(e,t=0){return(eI[e[t+0]]+eI[e[t+1]]+eI[e[t+2]]+eI[e[t+3]]+"-"+eI[e[t+4]]+eI[e[t+5]]+"-"+eI[e[t+6]]+eI[e[t+7]]+"-"+eI[e[t+8]]+eI[e[t+9]]+"-"+eI[e[t+10]]+eI[e[t+11]]+eI[e[t+12]]+eI[e[t+13]]+eI[e[t+14]]+eI[e[t+15]]).toLowerCase()}function ej(e,t,r,n){var i=t,s=n;let a="string"==typeof e?function(e){let t=new Uint8Array((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<e.length;++r)t[r]=e.charCodeAt(r);return t}(e):e,o="string"==typeof i?eO(i):i;if("string"==typeof i&&(i=eO(i)),i?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+a.length);if(l.set(o),l.set(a,o.length),(l=eC(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,r){if((s??=0)<0||s+16>r.length)throw RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);for(let e=0;e<16;++e)r[s+e]=l[e];return r}return eT(l)}ej.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",ej.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";let eN=new Uint8Array(16);function eP(){return crypto.getRandomValues(eN)}let eM={};function e$(e,t,r,n,i,s,a=0){if(e.length<16)throw Error("Random bytes length must be >= 16");if(s){if(a<0||a+16>s.length)throw RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`)}else s=new Uint8Array(16),a=0;t??=Date.now(),r??=0,n??=(e[8]<<8|e[9])&16383,i??=e.slice(10,16);let o=((0xfffffff&(t+=122192928e5))*1e4+r)%0x100000000;s[a++]=o>>>24&255,s[a++]=o>>>16&255,s[a++]=o>>>8&255,s[a++]=255&o;let l=t/0x100000000*1e4&0xfffffff;s[a++]=l>>>8&255,s[a++]=255&l,s[a++]=l>>>24&15|16,s[a++]=l>>>16&255,s[a++]=n>>>8|128,s[a++]=255&n;for(let e=0;e<6;++e)s[a++]=i[e];return s}let eR=function(e,t,r){let n,i=e?._v6??!1;if(e){let t=Object.keys(e);1===t.length&&"_v6"===t[0]&&(e=void 0)}if(e)n=e$(e.random??e.rng?.()??eP(),e.msecs,e.nsecs,e.clockseq,e.node,t,r);else{var s,a,o;let e=Date.now(),l=eP();s=eM,a=e,o=l,s.msecs??=-1/0,s.nsecs??=0,a===s.msecs?(s.nsecs++,s.nsecs>=1e4&&(s.node=void 0,s.nsecs=0)):a>s.msecs?s.nsecs=0:a<s.msecs&&(s.node=void 0),s.node||(s.node=o.slice(10,16),s.node[0]|=1,s.clockseq=(o[8]<<8|o[9])&16383),s.msecs=a,n=e$(l,eM.msecs,eM.nsecs,i?void 0:eM.clockseq,i?void 0:eM.node,t,r)}return t??eT(n)},eV=function(e,t,r){var n,i;let s;r??=0;let a=eR({...e??={},_v6:!0},new Uint8Array(16));if(i="string"==typeof(n=a)?eO(n):n,s=Uint8Array.of((15&i[6])<<4|i[7]>>4&15,(15&i[7])<<4|(240&i[4])>>4,(15&i[4])<<4|(240&i[5])>>4,(15&i[5])<<4|(240&i[0])>>4,(15&i[0])<<4|(240&i[1])>>4,(15&i[1])<<4|(240&i[2])>>4,96|15&i[2],i[3],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15]),a="string"==typeof n?eT(s):s,t){if(r<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;e++)t[r+e]=a[e];return t}return eT(a)},eF=0,eL=0;function eD(e){let t=Date.now();return t<=eF?(eL+=1)>=1e4&&(eL=0,t=eF+1):eL=0,eF=t,eV({clockseq:e,msecs:t,nsecs:eL})}function eU(e,t){return ej(e,new Uint8Array(t.replace(/-/g,"").match(/.{2}/g).map(e=>parseInt(e,16))))}let eB="__pregel_tasks",eH="__scheduled__";var eW=class{lg_name="DeltaSnapshot";value;constructor(e){this.value=e}},eq=[],eG=[];function eK(e,t,r,n){var i=Object.getOwnPropertyDescriptor(n,r);void 0!==i.get?i.configurable?(Object.defineProperty(n,r,{value:e}),eq.push([n,r,t,i])):eG.push([t,r,e]):(n[r]=e,eq.push([n,r,t]))}var ez=e.i(473247),eJ=e.i(72110),eZ=e.i(756740),eY=e.i(496827);let eQ=[];var eX=e.i(190949),e0=(0,eX.__exportAll)({}),e1=(0,eX.__exportAll)({}),e4=e.i(137872),e2=e.i(869065),e6=e.i(771863),e8=e.i(104350),e5=e.i(417183),e3=e.i(662394),e9=e.i(191325),e7=e.i(804017),te=e.i(146833),tt=e.i(131059),tr=e.i(206696),tn=e.i(890406),ti=e.i(99815),ts=e.i(976044),ta=e.i(664527),to=e.i(776401),tl=e.i(785337),tc=e.i(98034),th=e.i(637253),tu=eZ,tp=e.i(649835),td=e.i(60427),tf=(0,eX.__exportAll)({BaseChatMessageHistory:()=>tm,BaseListChatMessageHistory:()=>tg,InMemoryChatMessageHistory:()=>t_}),tm=class extends tu.Serializable{async addMessages(e){for(let t of e)await this.addMessage(t)}},tg=class extends tu.Serializable{addUserMessage(e){return this.addMessage(new td.HumanMessage(e))}addAIMessage(e){return this.addMessage(new tp.AIMessage(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw Error("Not implemented.")}},t_=class extends tg{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}},ty=class{pageContent;metadata;id;constructor(e){this.pageContent=void 0!==e.pageContent?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};e.s(["Document",()=>ty],585709);var tb=e.i(420204),tv=class extends tb.Runnable{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},tw=class extends tv{async transformDocuments(e){let t=[];for(let r of e){let e=await this._transformDocument(r);t.push(e)}return t}},tk=(0,eX.__exportAll)({BaseDocumentTransformer:()=>tv,Document:()=>ty,MappingDocumentTransformer:()=>tw});e.s(["documents_exports",()=>tk],243245);var tS=(0,eX.__exportAll)({BaseDocumentLoader:()=>tx}),tx=class{};e.i(779571);var tE=e.i(523135),tC=(0,eX.__exportAll)({LangSmithLoader:()=>tA}),tA=class extends tx{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw Error("client and clientConfig cannot both be provided.");this.client=e.client??new tE.Client(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??tO,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let r=t.inputs;for(let e of this.contentKey)r=r[e];let n=this.formatContent(r),i=t;["created_at","modified_at"].forEach(e=>{e in i&&"object"==typeof i[e]&&(i[e]=i[e].toString())}),e.push({pageContent:n,metadata:i})}return e}};function tO(e){if("string"==typeof e)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var tI=e.i(438624),tT=eZ,tj=class extends tT.Serializable{lc_namespace=["langchain_core","example_selectors","base"]},tN=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},tP=class extends tN{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,r]of this.conditionals)if(t(e))return r;return this.defaultPrompt}};function tM(e){return"base_llm"===e._modelType()}function t$(e){return"base_chat_model"===e._modelType()}function tR(e){return e.split(/\n| /).length}var tV=class e extends tj{examples=[];examplePrompt;getTextLength=tR;maxLength=2048;exampleTextLengths=[];constructor(e){super(e),this.examplePrompt=e.examplePrompt,this.maxLength=e.maxLength??2048,this.getTextLength=e.getTextLength??tR}async addExample(e){this.examples.push(e);let t=await this.examplePrompt.format(e);this.exampleTextLengths.push(this.getTextLength(t))}async calculateExampleTextLengths(e,t){if(e.length>0)return e;let{examples:r,examplePrompt:n}=t;return(await Promise.all(r.map(e=>n.format(e)))).map(e=>this.getTextLength(e))}async selectExamples(e){let t=Object.values(e).join(" "),r=this.maxLength-this.getTextLength(t),n=0,i=[];for(;r>0&&n<this.examples.length;){let e=r-this.exampleTextLengths[n];if(e<0)break;i.push(this.examples[n]),r=e,n+=1}return i}static async fromExamples(t,r){let n=new e(r);return await Promise.all(t.map(e=>n.addExample(e))),n}};function tF(e){return Object.keys(e).sort().map(t=>e[t])}var tL=class e extends tj{vectorStoreRetriever;exampleKeys;inputKeys;constructor(e){if(super(e),this.exampleKeys=e.exampleKeys,this.inputKeys=e.inputKeys,void 0!==e.vectorStore)this.vectorStoreRetriever=e.vectorStore.asRetriever({k:e.k??4,filter:e.filter});else if(e.vectorStoreRetriever)this.vectorStoreRetriever=e.vectorStoreRetriever;else throw Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(e){let t=tF((this.inputKeys??Object.keys(e)).reduce((t,r)=>({...t,[r]:e[r]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new ty({pageContent:t,metadata:e})])}async selectExamples(e){let t=tF((this.inputKeys??Object.keys(e)).reduce((t,r)=>({...t,[r]:e[r]}),{})).join(" "),r=(await this.vectorStoreRetriever.invoke(t)).map(e=>e.metadata);return this.exampleKeys?r.map(e=>this.exampleKeys.reduce((t,r)=>({...t,[r]:e[r]}),{})):r}static async fromExamples(t,r,n,i={}){let s=i.inputKeys??null,a=t.map(e=>tF(s?s.reduce((t,r)=>({...t,[r]:e[r]}),{}):e).join(" "));return new e({vectorStore:await n.fromTexts(a,t,r,i),k:i.k??4,exampleKeys:i.exampleKeys,inputKeys:i.inputKeys})}},tD=(0,eX.__exportAll)({BaseExampleSelector:()=>tj,BasePromptSelector:()=>tN,ConditionalPromptSelector:()=>tP,LengthBasedExampleSelector:()=>tV,SemanticSimilarityExampleSelector:()=>tL,isChatModel:()=>t$,isLLM:()=>tM}),tU=eZ;let tB="10f90ea3-90a4-4962-bf75-83a0f3c1c62a";var tH=class extends tU.Serializable{lc_namespace=["langchain","recordmanagers"]},tW=e.i(856137),tq=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=tW.sha256;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let t of e)if(t in this.metadata)throw Error(`Metadata cannot contain key ${t} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let e=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=e}catch(e){throw Error(`Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new ty({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let r=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return r.calculateHashes(),r}_hashStringToUUID(e){return(0,e5.v5)(this.keyEncoder(e),tB)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return(0,e5.v5)(this.keyEncoder(t),tB)}};function tG(e,t){let r=[],n=[];return t.forEach(t=>{n.push(t),n.length>=e&&(r.push(n),n=[])}),n.length>0&&r.push(n),r}function tK(e){let t=new Set,r=[];for(let n of e){if(!n.hash_)throw Error("Hashed document does not have a hash");t.has(n.hash_)||(t.add(n.hash_),r.push(n))}return r}function tz(e){if(null===e)return e=>null;if("string"==typeof e)return t=>t.metadata[e];if("function"==typeof e)return e;throw Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}let tJ=e=>"load"in e&&"function"==typeof e.load&&"loadAndSplit"in e&&"function"==typeof e.loadAndSplit;async function tZ(e){let{docsSource:t,recordManager:r,vectorStore:n,options:i}=e,{batchSize:s=100,cleanup:a,sourceIdKey:o,cleanupBatchSize:l=1e3,forceUpdate:c=!1}=i??{};if("incremental"===a&&!o)throw Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let h=tJ(t)?await t.load():t,u=tz(o??null),p=await r.getTime(),d=0,f=0,m=0,g=0;for(let e of tG(s??100,h)){let t=tK(e.map(e=>tq.fromDocument(e))),i=t.map(e=>u(e));"incremental"===a&&t.forEach((e,t)=>{if(null===i[t])throw Error("sourceIdKey must be provided when cleanup is incremental")});let s=await r.exists(t.map(e=>e.uid)),o=[],l=[],h=[],_=new Set;if(t.forEach((e,t)=>{if(s[t])if(!c)return void h.push(e.uid);else _.add(e.uid);o.push(e.uid),l.push(e.toDocument())}),h.length>0&&(await r.update(h,{timeAtLeast:p}),g+=h.length),l.length>0&&(await n.addDocuments(l,{ids:o}),d+=l.length-_.size,m+=_.size),await r.update(t.map(e=>e.uid),{timeAtLeast:p,groupIds:i}),"incremental"===a){i.forEach(e=>{if(!e)throw Error("Source id cannot be null")});let e=await r.listKeys({before:p,groupIds:i});e.length>0&&(await n.delete({ids:e}),await r.deleteKeys(e),f+=e.length)}}if("full"===a){let e=await r.listKeys({before:p,limit:l});for(;e.length>0;)await n.delete({ids:e}),await r.deleteKeys(e),f+=e.length,e=await r.listKeys({before:p,limit:l})}return{numAdded:d,numDeleted:f,numUpdated:m,numSkipped:g}}var tY=(0,eX.__exportAll)({RecordManager:()=>tH,UUIDV5_NAMESPACE:()=>tB,_HashedDocument:()=>tq,_batch:()=>tG,_deduplicateInOrder:()=>tK,_getSourceIdAssigner:()=>tz,_isBaseDocumentLoader:()=>tJ,index:()=>tZ}),tQ=e.i(263025),tX=e.i(711933),t0=e.i(881892),t1=e.i(842713),t4=e.i(771540),t2=e.i(539056),t6=e.i(643520),t8=e.i(654248),t5=e.i(688395),t3=e.i(292082),t9=e.i(106242),t7=(0,eX.__exportAll)({}),re=e.i(838009),rt=(0,eX.__exportAll)({}),rr=(0,eX.__exportAll)({BaseMemory:()=>rn,getInputValue:()=>rs,getOutputValue:()=>ra,getPromptInputKey:()=>ro}),rn=class{};let ri=(e,t)=>{if(void 0!==t)return e[t];let r=Object.keys(e);if(1===r.length)return e[r[0]]},rs=(e,t)=>{let r=ri(e,t);if(!r)throw Error(`input values have ${Object.keys(e).length} keys, you must specify an input key or pass only 1 key as input`);return r},ra=(e,t)=>{let r=ri(e,t);if(!r&&""!==r)throw Error(`output values have ${Object.keys(e).length} keys, you must specify an output key or pass only 1 key as output`);return r};function ro(e,t){let r=Object.keys(e).filter(e=>!t.includes(e)&&"stop"!==e);if(1!==r.length)throw Error(`One input key expected, but got ${r.length}`);return r[0]}var rl=e.i(202438),rc=e.i(118755),rh=e.i(993834),ru=e.i(373763);e.i(79196);var rp=class extends rh.BaseLLMOutputParser{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}throw Error(`No message in generations ${JSON.stringify(e)}`)}},rd=class extends ru.BaseCumulativeTransformOutputParser{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new rp(e)}_diff(e,t){if(t)return(0,rc.compare)(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:r}=t,n=r.additional_kwargs.function_call;if(n)return this.argsOnly?(0,rl.parsePartialJson)(n.arguments):{...n,arguments:(0,rl.parsePartialJson)(n.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},rf=class extends rh.BaseLLMOutputParser{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new rd;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}},rm=(0,eX.__exportAll)({JsonKeyOutputFunctionsParser:()=>rf,JsonOutputFunctionsParser:()=>rd,OutputFunctionsParser:()=>rp}),rg=e.i(15374),r_=tb,ry=class extends r_.Runnable{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);const{inputVariables:t}=e;if(t.includes("stop"))throw Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},r={};for(let[e,n]of Object.entries(t))"string"==typeof n?r[e]=n:r[e]=await n();return{...r,...e}}async invoke(e,t){let r={...this.metadata,...t?.metadata},n=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(e=>this.formatPromptValue(e),e,{...t,tags:n,metadata:r,runType:"prompt"})}},rb=class extends ry{async formatPromptValue(e){return new tQ.StringPromptValue(await this.format(e))}},rv=Object.prototype.toString,rw=Array.isArray||function(e){return"[object Array]"===rv.call(e)};function rk(e){return"function"==typeof e}function rS(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function rx(e,t){return null!=e&&"object"==typeof e&&t in e}var rE=RegExp.prototype.test,rC=/\S/,rA={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},rO=/\s*/,rI=/\s+/,rT=/\s*=/,rj=/\s*\}/,rN=/#|\^|\/|>|\{|&|=|!/;function rP(e){this.string=e,this.tail=e,this.pos=0}function rM(e,t){this.view=e,this.cache={".":this.view},this.parent=t}function r$(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}rP.prototype.eos=function(){return""===this.tail},rP.prototype.scan=function(e){var t=this.tail.match(e);if(!t||0!==t.index)return"";var r=t[0];return this.tail=this.tail.substring(r.length),this.pos+=r.length,r},rP.prototype.scanUntil=function(e){var t,r=this.tail.search(e);switch(r){case -1:t=this.tail,this.tail="";break;case 0:t="";break;default:t=this.tail.substring(0,r),this.tail=this.tail.substring(r)}return this.pos+=t.length,t},rM.prototype.push=function(e){return new rM(e,this)},rM.prototype.lookup=function(e){var t=this.cache;if(t.hasOwnProperty(e))i=t[e];else{for(var r,n,i,s,a,o,l=this,c=!1;l;){if(e.indexOf(".")>0)for(s=l.view,a=e.split("."),o=0;null!=s&&o<a.length;)o===a.length-1&&(c=rx(s,a[o])||(r=s,n=a[o],null!=r&&"object"!=typeof r&&r.hasOwnProperty&&r.hasOwnProperty(n))),s=s[a[o++]];else s=l.view[e],c=rx(l.view,e);if(c){i=s;break}l=l.parent}t[e]=i}return rk(i)&&(i=i.call(this.view)),i},r$.prototype.clearCache=function(){void 0!==this.templateCache&&this.templateCache.clear()},r$.prototype.parse=function(e,t){var r=this.templateCache,n=e+":"+(t||rR.tags).join(":"),i=void 0!==r,s=i?r.get(n):void 0;return void 0==s&&(s=function(e,t){if(!e)return[];var r,n,i,s,a,o,l,c,h,u=!1,p=[],d=[],f=[],m=!1,g=!1,_="",y=0;function b(){if(m&&!g)for(;f.length;)delete d[f.pop()];else f=[];m=!1,g=!1}function v(e){if("string"==typeof e&&(e=e.split(rI,2)),!rw(e)||2!==e.length)throw Error("Invalid tags: "+e);r=RegExp(rS(e[0])+"\\s*"),n=RegExp("\\s*"+rS(e[1])),i=RegExp("\\s*"+rS("}"+e[1]))}v(t||rR.tags);for(var w=new rP(e);!w.eos();){if(s=w.pos,o=w.scanUntil(r))for(var k=0,S=o.length;k<S;++k)!function(e){return!rE.call(rC,e)}(l=o.charAt(k))?(g=!0,u=!0,_+=" "):(f.push(d.length),_+=l),d.push(["text",l,s,s+1]),s+=1,"\n"===l&&(b(),_="",y=0,u=!1);if(!w.scan(r))break;if(m=!0,a=w.scan(rN)||"name",w.scan(rO),"="===a?(o=w.scanUntil(rT),w.scan(rT),w.scanUntil(n)):"{"===a?(o=w.scanUntil(i),w.scan(rj),w.scanUntil(n),a="&"):o=w.scanUntil(n),!w.scan(n))throw Error("Unclosed tag at "+w.pos);if(c=">"==a?[a,o,s,w.pos,_,y,u]:[a,o,s,w.pos],y++,d.push(c),"#"===a||"^"===a)p.push(c);else if("/"===a){if(!(h=p.pop()))throw Error('Unopened section "'+o+'" at '+s);if(h[1]!==o)throw Error('Unclosed section "'+h[1]+'" at '+s)}else"name"===a||"{"===a||"&"===a?g=!0:"="===a&&v(o)}if(b(),h=p.pop())throw Error('Unclosed section "'+h[1]+'" at '+w.pos);return function(e){for(var t,r=[],n=r,i=[],s=0,a=e.length;s<a;++s)switch((t=e[s])[0]){case"#":case"^":n.push(t),i.push(t),n=t[4]=[];break;case"/":i.pop()[5]=t[2],n=i.length>0?i[i.length-1][4]:r;break;default:n.push(t)}return r}(function(e){for(var t,r,n=[],i=0,s=e.length;i<s;++i)(t=e[i])&&("text"===t[0]&&r&&"text"===r[0]?(r[1]+=t[1],r[3]=t[3]):(n.push(t),r=t));return n}(d))}(e,t),i&&r.set(n,s)),s},r$.prototype.render=function(e,t,r,n){var i=this.getConfigTags(n),s=this.parse(e,i),a=t instanceof rM?t:new rM(t,void 0);return this.renderTokens(s,a,r,e,n)},r$.prototype.renderTokens=function(e,t,r,n,i){for(var s,a,o,l="",c=0,h=e.length;c<h;++c)o=void 0,"#"===(a=(s=e[c])[0])?o=this.renderSection(s,t,r,n,i):"^"===a?o=this.renderInverted(s,t,r,n,i):">"===a?o=this.renderPartial(s,t,r,i):"&"===a?o=this.unescapedValue(s,t):"name"===a?o=this.escapedValue(s,t,i):"text"===a&&(o=this.rawValue(s)),void 0!==o&&(l+=o);return l},r$.prototype.renderSection=function(e,t,r,n,i){var s=this,a="",o=t.lookup(e[1]);if(o){if(rw(o))for(var l=0,c=o.length;l<c;++l)a+=this.renderTokens(e[4],t.push(o[l]),r,n,i);else if("object"==typeof o||"string"==typeof o||"number"==typeof o)a+=this.renderTokens(e[4],t.push(o),r,n,i);else if(rk(o)){if("string"!=typeof n)throw Error("Cannot use higher-order sections without the original template");null!=(o=o.call(t.view,n.slice(e[3],e[5]),function(e){return s.render(e,t,r,i)}))&&(a+=o)}else a+=this.renderTokens(e[4],t,r,n,i);return a}},r$.prototype.renderInverted=function(e,t,r,n,i){var s=t.lookup(e[1]);if(!s||rw(s)&&0===s.length)return this.renderTokens(e[4],t,r,n,i)},r$.prototype.indentPartial=function(e,t,r){for(var n=t.replace(/[^ \t]/g,""),i=e.split("\n"),s=0;s<i.length;s++)i[s].length&&(s>0||!r)&&(i[s]=n+i[s]);return i.join("\n")},r$.prototype.renderPartial=function(e,t,r,n){if(r){var i=this.getConfigTags(n),s=rk(r)?r(e[1]):r[e[1]];if(null!=s){var a=e[6],o=e[5],l=e[4],c=s;0==o&&l&&(c=this.indentPartial(s,l,a));var h=this.parse(c,i);return this.renderTokens(h,t,r,c,n)}}},r$.prototype.unescapedValue=function(e,t){var r=t.lookup(e[1]);if(null!=r)return r},r$.prototype.escapedValue=function(e,t,r){var n=this.getConfigEscape(r)||rR.escape,i=t.lookup(e[1]);if(null!=i)return"number"==typeof i&&n===rR.escape?String(i):n(i)},r$.prototype.rawValue=function(e){return e[1]},r$.prototype.getConfigTags=function(e){return rw(e)?e:e&&"object"==typeof e?e.tags:void 0},r$.prototype.getConfigEscape=function(e){return e&&"object"==typeof e&&!rw(e)?e.escape:void 0};var rR={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(cache){rV.templateCache=cache},get templateCache(){return rV.templateCache}},rV=new r$;function rF(){rR.escape=e=>e}rR.clearCache=function(){return rV.clearCache()},rR.parse=function(e,t){return rV.parse(e,t)},rR.render=function(e,t,r,n){if("string"!=typeof e)throw TypeError('Invalid template! Template should be a "string" but "'+(rw(e)?"array":typeof e)+'" was given as the first argument for mustache#render(template, view, partials)');return rV.render(e,t,r,n)},rR.escape=function(e){return String(e).replace(/[&<>"'`=\/]/g,function(e){return rA[e]})},rR.Scanner=rP,rR.Context=rM,rR.Writer=r$;let rL=e=>{let t=e.split(""),r=[],n=(e,r)=>{for(let n=r;n<t.length;n+=1)if(e.includes(t[n]))return n;return -1},i=0;for(;i<t.length;)if("{"===t[i]&&i+1<t.length&&"{"===t[i+1])r.push({type:"literal",text:"{"}),i+=2;else if("}"===t[i]&&i+1<t.length&&"}"===t[i+1])r.push({type:"literal",text:"}"}),i+=2;else if("{"===t[i]){let e=n("}",i);if(e<0)throw Error("Unclosed '{' in template.");r.push({type:"variable",name:t.slice(i+1,e).join("")}),i=e+1}else if("}"===t[i])throw Error("Single '}' in template.");else{let e=n("{}",i),s=(e<0?t.slice(i):t.slice(i,e)).join("");r.push({type:"literal",text:s}),i=e<0?t.length:e}return r},rD=(e,t=[])=>{let r=[];for(let n of e)if("name"===n[0]){let e=n[1].includes(".")?n[1].split(".")[0]:n[1];r.push({type:"variable",name:e})}else if(["#","&","^",">"].includes(n[0])){if(r.push({type:"variable",name:n[1]}),"#"===n[0]&&n.length>4&&Array.isArray(n[4])){let e=[...t,n[1]],i=rD(n[4],e);r.push(...i)}}else r.push({type:"literal",text:n[1]});return r},rU=e=>(rF(),rD(rR.parse(e))),rB=(e,t)=>rL(e).reduce((e,r)=>{if("variable"===r.type){if(r.name in t)return e+("string"==typeof t[r.name]?t[r.name]:JSON.stringify(t[r.name]));throw Error(`(f-string) Missing value for input ${r.name}`)}return e+r.text},""),rH=(e,t)=>(rF(),rR.render(e,t)),rW={"f-string":rB,mustache:rH},rq={"f-string":rL,mustache:rU},rG=(e,t,r)=>{try{return rW[t](e,r)}catch(e){throw(0,e2.addLangChainErrorFields)(e,"INVALID_PROMPT_INPUT")}},rK=(e,t)=>rq[t](e),rz=(e,t,r)=>{if(!(t in rW))throw Error(`Invalid template format. Got \`${t}\`;
5
- should be one of ${Object.keys(rW)}`);try{let n=Object.fromEntries(r.map(e=>[e,"foo"]));Array.isArray(e)?e.forEach(e=>{if("text"===e.type&&"text"in e&&"string"==typeof e.text)rG(e.text,t,n);else if("image_url"===e.type){if("string"==typeof e.image_url)rG(e.image_url,t,n);else if("object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url&&"string"==typeof e.image_url.url){let r=e.image_url.url;rG(r,t,n)}}else throw Error(`Invalid message template received. ${JSON.stringify(e,null,2)}`)}):rG(e,t,n)}catch(e){throw Error(`Invalid prompt schema: ${e.message}`)}};var rJ=class e extends rb{static lc_name(){return"PromptTemplate"}template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(e){if(super(e),"mustache"===e.templateFormat&&void 0===e.validateTemplate&&(this.validateTemplate=!1),Object.assign(this,e),this.validateTemplate){if("mustache"===this.templateFormat)throw Error("Mustache templates cannot be validated.");let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),rz(this.template,this.templateFormat,e)}}_getPromptType(){return"prompt"}async format(e){let t=await this.mergePartialAndUserVariables(e);return rG(this.template,this.templateFormat,t)}static fromExamples(t,r,n,i="\n\n",s=""){return new e({inputVariables:n,template:[s,...t,r].join(i)})}static fromTemplate(t,r){let{templateFormat:n="f-string",...i}=r??{},s=new Set;return rK(t,n).forEach(e=>{"variable"===e.type&&s.add(e.name)}),new e({inputVariables:[...s],templateFormat:n,template:t,...i})}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}serialize(){if(void 0!==this.outputParser)throw Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(t){if(!t.template)throw Error("Prompt template must have a template");return new e({inputVariables:t.input_variables,template:t.template,templateFormat:t.template_format})}},rZ=class e extends ry{static lc_name(){return"ImagePromptTemplate"}lc_namespace=["langchain_core","prompts","image"];template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(e){if(super(e),this.template=e.template,this.templateFormat=e.templateFormat??this.templateFormat,this.validateTemplate=e.validateTemplate??this.validateTemplate,this.additionalContentFields=e.additionalContentFields,this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),rz([{type:"image_url",image_url:this.template}],this.templateFormat,e)}}_getPromptType(){return"prompt"}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}async format(e){let t={};for(let[r,n]of Object.entries(this.template))"string"==typeof n?t[r]=rG(n,this.templateFormat,e):t[r]=n;let r=e.url||t.url,n=e.detail||t.detail;if(!r)throw Error("Must provide either an image URL.");if("string"!=typeof r)throw Error("url must be a string.");let i={url:r};return n&&(i.detail=n),i}async formatPromptValue(e){return new tQ.ImagePromptValue(await this.format(e))}},rY=tb,rQ=class extends rY.Runnable{lc_namespace=["langchain_core","prompts","dict"];lc_serializable=!0;template;templateFormat;inputVariables;static lc_name(){return"DictPromptTemplate"}constructor(e){const t=e.templateFormat??"f-string",r=function e(t,r){let n=[];for(let i of Object.values(t))if("string"==typeof i)rK(i,r).forEach(e=>{"variable"===e.type&&n.push(e.name)});else if(Array.isArray(i))for(let t of i)"string"==typeof t?rK(t,r).forEach(e=>{"variable"===e.type&&n.push(e.name)}):"object"==typeof t&&n.push(...e(t,r));else"object"==typeof i&&null!==i&&n.push(...e(i,r));return Array.from(new Set(n))}(e.template,t);super({inputVariables:r,...e}),this.template=e.template,this.templateFormat=t,this.inputVariables=r}async format(e){return function e(t,r,n){let i={};for(let[s,a]of Object.entries(t))if("string"==typeof a)i[s]=rG(a,n,r);else if(Array.isArray(a)){let t=[];for(let i of a)"string"==typeof i?t.push(rG(i,n,r)):"object"==typeof i&&t.push(e(i,r,n));i[s]=t}else"object"==typeof a&&null!==a?i[s]=e(a,r,n):i[s]=a;return i}(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}},rX=e.i(640470),r0=e.i(151191),r1=e.i(211614),r4=e.i(329494),r2=tb,r6=class extends r2.Runnable{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;async invoke(e,t){return this._callWithConfig(e=>this.formatMessages(e),e,{...t,runType:"prompt"})}},r8=class extends r6{static lc_name(){return"MessagesPlaceholder"}variableName;optional;constructor(e){"string"==typeof e&&(e={variableName:e}),super(e),this.variableName=e.variableName,this.optional=e.optional??!1}get inputVariables(){return[this.variableName]}async formatMessages(e){let t,r=e[this.variableName];if(this.optional&&!r)return[];if(!r){let e=Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw e.name="InputFormatError",e}try{t=Array.isArray(r)?r.map(r4.coerceMessageLikeToMessage):[(0,r4.coerceMessageLikeToMessage)(r)]}catch(n){let e="string"==typeof r?r:JSON.stringify(r,null,2),t=Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.
4
+ `),super(r),this.lc_error_code=t?.lc_error_code}},er=class extends et{get is_bubble_up(){return!0}},en=class extends et{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},ei=class extends et{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},es=class extends er{reason;constructor(e="shutdown",t){super(`Graph drained: ${e}`,t),this.name="GraphDrained",this.reason=e}static get unminifiable_name(){return"GraphDrained"}};function ea(e){return void 0!==e&&e.name===es.unminifiable_name}var eo=class extends er{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},el=class extends eo{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},ec=class{node;error;constructor(e,t){this.node=e,this.error=t}static get unminifiable_name(){return"NodeError"}};function eh(e){return null!=e&&"object"==typeof e&&null!=e.constructor&&e.constructor.unminifiable_name===ec.unminifiable_name}var eu=class extends er{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function ep(e){return void 0!==e&&e.name===eu.unminifiable_name}function ed(e){return void 0!==e&&!0===e.is_bubble_up}function ef(e){return void 0!==e&&[eo.unminifiable_name,el.unminifiable_name].includes(e.name)}var em=class extends et{node;kind;timeout;elapsed;runTimeout;idleTimeout;constructor(e,t){let r,n;const{node:i,elapsed:s,kind:a,runTimeout:o,idleTimeout:l}=e;if("idle"===a){if(void 0===l)throw Error("idleTimeout is required when kind='idle'");n=l,r=`Node "${i}" exceeded its idle timeout of ${l}ms without making progress (elapsed: ${s}ms).`}else{if(void 0===o)throw Error("runTimeout is required when kind='run'");n=o,r=`Node "${i}" exceeded its run timeout of ${o}ms (elapsed: ${s}ms).`}super(r,t),this.name="NodeTimeoutError",this.node=i,this.kind=a,this.timeout=n,this.elapsed=s,this.runTimeout=o,this.idleTimeout=l}static get unminifiable_name(){return"NodeTimeoutError"}};function eg(e){return void 0!==e&&e.name===em.unminifiable_name}var e_=class extends et{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},ey=class extends et{constructor(e,t){const r=Error.stackTraceLimit;Error.stackTraceLimit=0,super(e,t),Error.stackTraceLimit=r,this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},ev=class extends et{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},eb=class extends et{constructor(e,t){super(e,t),this.name="MultipleSubgraphError"}static get unminifiable_name(){return"MultipleSubgraphError"}},ew=class extends et{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},ek=class extends et{constructor(e,t){super(e,t),this.name="RemoteException"}static get unminifiable_name(){return"RemoteException"}},eS=class extends et{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}};let ex=()=>(void 0===globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]&&(globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]=new Set),globalThis[Symbol.for("LG_CHECKPOINT_SEEN_NS_SET")]);e.s(["BaseLangGraphError",()=>et,"EmptyChannelError",()=>ey,"EmptyInputError",()=>e_,"GraphBubbleUp",()=>er,"GraphDrained",()=>es,"GraphInterrupt",()=>eo,"GraphRecursionError",()=>en,"GraphValueError",()=>ei,"InvalidUpdateError",()=>ev,"MultipleSubgraphsError",()=>eb,"NodeError",()=>ec,"NodeInterrupt",()=>el,"NodeTimeoutError",()=>em,"ParentCommand",()=>eu,"RemoteException",()=>ek,"StateGraphInputError",()=>eS,"UnreachableNodeError",()=>ew,"getSubgraphsSeenSet",()=>ex,"isGraphBubbleUp",()=>ed,"isGraphDrained",()=>ea,"isGraphInterrupt",()=>ef,"isNodeError",()=>eh,"isNodeTimeoutError",()=>eg,"isParentCommand",()=>ep],179045);var eE=e.i(417183);let eC=0,eA=0;function eO(e){let t=Date.now();return t<=eC?(eA+=1)>=1e4&&(eA=0,t=eC+1):eA=0,eC=t,(0,eE.v6)({clockseq:e,msecs:t,nsecs:eA})}function eI(e,t){let r=t.replace(/-/g,"").match(/.{2}/g).map(e=>parseInt(e,16));return(0,eE.v5)(e,new Uint8Array(r))}let eT="__pregel_tasks",ej="__scheduled__";var eN=class{lg_name="DeltaSnapshot";value;constructor(e){this.value=e}},eP=[],eM=[];function e$(e,t,r,n){var i=Object.getOwnPropertyDescriptor(n,r);void 0!==i.get?i.configurable?(Object.defineProperty(n,r,{value:e}),eP.push([n,r,t,i])):eM.push([t,r,e]):(n[r]=e,eP.push([n,r,t]))}var eR=e.i(473247),eF=e.i(72110),eV=e.i(756740),eL=e.i(496827);let eD=[];var eH=e.i(190949),eB=(0,eH.__exportAll)({}),eU=(0,eH.__exportAll)({}),eW=e.i(137872),eq=e.i(869065),eG=e.i(771863),eK=e.i(104350),ez=e.i(662394),eJ=e.i(191325),eZ=e.i(804017),eY=e.i(146833),eQ=e.i(131059),eX=e.i(206696),e0=e.i(890406),e1=e.i(99815),e4=e.i(976044),e2=e.i(664527),e6=e.i(776401),e3=e.i(785337),e8=e.i(98034),e7=e.i(637253),e5=eV,e9=e.i(649835),te=e.i(60427),tt=(0,eH.__exportAll)({BaseChatMessageHistory:()=>tr,BaseListChatMessageHistory:()=>tn,InMemoryChatMessageHistory:()=>ti}),tr=class extends e5.Serializable{async addMessages(e){for(let t of e)await this.addMessage(t)}},tn=class extends e5.Serializable{addUserMessage(e){return this.addMessage(new te.HumanMessage(e))}addAIMessage(e){return this.addMessage(new e9.AIMessage(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw Error("Not implemented.")}},ti=class extends tn{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}},ts=class{pageContent;metadata;id;constructor(e){this.pageContent=void 0!==e.pageContent?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}};e.s(["Document",()=>ts],585709);var ta=e.i(420204),to=class extends ta.Runnable{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},tl=class extends to{async transformDocuments(e){let t=[];for(let r of e){let e=await this._transformDocument(r);t.push(e)}return t}},tc=(0,eH.__exportAll)({BaseDocumentTransformer:()=>to,Document:()=>ts,MappingDocumentTransformer:()=>tl});e.s(["documents_exports",()=>tc],243245);var th=(0,eH.__exportAll)({BaseDocumentLoader:()=>tu}),tu=class{};e.i(779571);var tp=e.i(523135),td=(0,eH.__exportAll)({LangSmithLoader:()=>tf}),tf=class extends tu{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw Error("client and clientConfig cannot both be provided.");this.client=e.client??new tp.Client(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??tm,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let r=t.inputs;for(let e of this.contentKey)r=r[e];let n=this.formatContent(r),i=t;["created_at","modified_at"].forEach(e=>{e in i&&"object"==typeof i[e]&&(i[e]=i[e].toString())}),e.push({pageContent:n,metadata:i})}return e}};function tm(e){if("string"==typeof e)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var tg=e.i(438624),t_=eV,ty=class extends t_.Serializable{lc_namespace=["langchain_core","example_selectors","base"]},tv=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},tb=class extends tv{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,r]of this.conditionals)if(t(e))return r;return this.defaultPrompt}};function tw(e){return"base_llm"===e._modelType()}function tk(e){return"base_chat_model"===e._modelType()}function tS(e){return e.split(/\n| /).length}var tx=class e extends ty{examples=[];examplePrompt;getTextLength=tS;maxLength=2048;exampleTextLengths=[];constructor(e){super(e),this.examplePrompt=e.examplePrompt,this.maxLength=e.maxLength??2048,this.getTextLength=e.getTextLength??tS}async addExample(e){this.examples.push(e);let t=await this.examplePrompt.format(e);this.exampleTextLengths.push(this.getTextLength(t))}async calculateExampleTextLengths(e,t){if(e.length>0)return e;let{examples:r,examplePrompt:n}=t;return(await Promise.all(r.map(e=>n.format(e)))).map(e=>this.getTextLength(e))}async selectExamples(e){let t=Object.values(e).join(" "),r=this.maxLength-this.getTextLength(t),n=0,i=[];for(;r>0&&n<this.examples.length;){let e=r-this.exampleTextLengths[n];if(e<0)break;i.push(this.examples[n]),r=e,n+=1}return i}static async fromExamples(t,r){let n=new e(r);return await Promise.all(t.map(e=>n.addExample(e))),n}};function tE(e){return Object.keys(e).sort().map(t=>e[t])}var tC=class e extends ty{vectorStoreRetriever;exampleKeys;inputKeys;constructor(e){if(super(e),this.exampleKeys=e.exampleKeys,this.inputKeys=e.inputKeys,void 0!==e.vectorStore)this.vectorStoreRetriever=e.vectorStore.asRetriever({k:e.k??4,filter:e.filter});else if(e.vectorStoreRetriever)this.vectorStoreRetriever=e.vectorStoreRetriever;else throw Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(e){let t=tE((this.inputKeys??Object.keys(e)).reduce((t,r)=>({...t,[r]:e[r]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new ts({pageContent:t,metadata:e})])}async selectExamples(e){let t=tE((this.inputKeys??Object.keys(e)).reduce((t,r)=>({...t,[r]:e[r]}),{})).join(" "),r=(await this.vectorStoreRetriever.invoke(t)).map(e=>e.metadata);return this.exampleKeys?r.map(e=>this.exampleKeys.reduce((t,r)=>({...t,[r]:e[r]}),{})):r}static async fromExamples(t,r,n,i={}){let s=i.inputKeys??null,a=t.map(e=>tE(s?s.reduce((t,r)=>({...t,[r]:e[r]}),{}):e).join(" "));return new e({vectorStore:await n.fromTexts(a,t,r,i),k:i.k??4,exampleKeys:i.exampleKeys,inputKeys:i.inputKeys})}},tA=(0,eH.__exportAll)({BaseExampleSelector:()=>ty,BasePromptSelector:()=>tv,ConditionalPromptSelector:()=>tb,LengthBasedExampleSelector:()=>tx,SemanticSimilarityExampleSelector:()=>tC,isChatModel:()=>tk,isLLM:()=>tw}),tO=eV;let tI="10f90ea3-90a4-4962-bf75-83a0f3c1c62a";var tT=class extends tO.Serializable{lc_namespace=["langchain","recordmanagers"]},tj=e.i(856137),tN=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=tj.sha256;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let t of e)if(t in this.metadata)throw Error(`Metadata cannot contain key ${t} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let e=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=e}catch(e){throw Error(`Failed to hash metadata: ${e}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new ts({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let r=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return r.calculateHashes(),r}_hashStringToUUID(e){return(0,eE.v5)(this.keyEncoder(e),tI)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return(0,eE.v5)(this.keyEncoder(t),tI)}};function tP(e,t){let r=[],n=[];return t.forEach(t=>{n.push(t),n.length>=e&&(r.push(n),n=[])}),n.length>0&&r.push(n),r}function tM(e){let t=new Set,r=[];for(let n of e){if(!n.hash_)throw Error("Hashed document does not have a hash");t.has(n.hash_)||(t.add(n.hash_),r.push(n))}return r}function t$(e){if(null===e)return e=>null;if("string"==typeof e)return t=>t.metadata[e];if("function"==typeof e)return e;throw Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}let tR=e=>"load"in e&&"function"==typeof e.load&&"loadAndSplit"in e&&"function"==typeof e.loadAndSplit;async function tF(e){let{docsSource:t,recordManager:r,vectorStore:n,options:i}=e,{batchSize:s=100,cleanup:a,sourceIdKey:o,cleanupBatchSize:l=1e3,forceUpdate:c=!1}=i??{};if("incremental"===a&&!o)throw Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let h=tR(t)?await t.load():t,u=t$(o??null),p=await r.getTime(),d=0,f=0,m=0,g=0;for(let e of tP(s??100,h)){let t=tM(e.map(e=>tN.fromDocument(e))),i=t.map(e=>u(e));"incremental"===a&&t.forEach((e,t)=>{if(null===i[t])throw Error("sourceIdKey must be provided when cleanup is incremental")});let s=await r.exists(t.map(e=>e.uid)),o=[],l=[],h=[],_=new Set;if(t.forEach((e,t)=>{if(s[t])if(!c)return void h.push(e.uid);else _.add(e.uid);o.push(e.uid),l.push(e.toDocument())}),h.length>0&&(await r.update(h,{timeAtLeast:p}),g+=h.length),l.length>0&&(await n.addDocuments(l,{ids:o}),d+=l.length-_.size,m+=_.size),await r.update(t.map(e=>e.uid),{timeAtLeast:p,groupIds:i}),"incremental"===a){i.forEach(e=>{if(!e)throw Error("Source id cannot be null")});let e=await r.listKeys({before:p,groupIds:i});e.length>0&&(await n.delete({ids:e}),await r.deleteKeys(e),f+=e.length)}}if("full"===a){let e=await r.listKeys({before:p,limit:l});for(;e.length>0;)await n.delete({ids:e}),await r.deleteKeys(e),f+=e.length,e=await r.listKeys({before:p,limit:l})}return{numAdded:d,numDeleted:f,numUpdated:m,numSkipped:g}}var tV=(0,eH.__exportAll)({RecordManager:()=>tT,UUIDV5_NAMESPACE:()=>tI,_HashedDocument:()=>tN,_batch:()=>tP,_deduplicateInOrder:()=>tM,_getSourceIdAssigner:()=>t$,_isBaseDocumentLoader:()=>tR,index:()=>tF}),tL=e.i(263025),tD=e.i(711933),tH=e.i(881892),tB=e.i(842713),tU=e.i(771540),tW=e.i(539056),tq=e.i(643520),tG=e.i(654248),tK=e.i(688395),tz=e.i(292082),tJ=e.i(106242),tZ=(0,eH.__exportAll)({}),tY=e.i(838009),tQ=(0,eH.__exportAll)({}),tX=(0,eH.__exportAll)({BaseMemory:()=>t0,getInputValue:()=>t4,getOutputValue:()=>t2,getPromptInputKey:()=>t6}),t0=class{};let t1=(e,t)=>{if(void 0!==t)return e[t];let r=Object.keys(e);if(1===r.length)return e[r[0]]},t4=(e,t)=>{let r=t1(e,t);if(!r)throw Error(`input values have ${Object.keys(e).length} keys, you must specify an input key or pass only 1 key as input`);return r},t2=(e,t)=>{let r=t1(e,t);if(!r&&""!==r)throw Error(`output values have ${Object.keys(e).length} keys, you must specify an output key or pass only 1 key as output`);return r};function t6(e,t){let r=Object.keys(e).filter(e=>!t.includes(e)&&"stop"!==e);if(1!==r.length)throw Error(`One input key expected, but got ${r.length}`);return r[0]}var t3=e.i(202438),t8=e.i(118755),t7=e.i(993834),t5=e.i(373763);e.i(79196);var t9=class extends t7.BaseLLMOutputParser{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}throw Error(`No message in generations ${JSON.stringify(e)}`)}},re=class extends t5.BaseCumulativeTransformOutputParser{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new t9(e)}_diff(e,t){if(t)return(0,t8.compare)(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:r}=t,n=r.additional_kwargs.function_call;if(n)return this.argsOnly?(0,t3.parsePartialJson)(n.arguments):{...n,arguments:(0,t3.parsePartialJson)(n.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},rt=class extends t7.BaseLLMOutputParser{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new re;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}},rr=(0,eH.__exportAll)({JsonKeyOutputFunctionsParser:()=>rt,JsonOutputFunctionsParser:()=>re,OutputFunctionsParser:()=>t9}),rn=e.i(15374),ri=ta,rs=class extends ri.Runnable{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);const{inputVariables:t}=e;if(t.includes("stop"))throw Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},r={};for(let[e,n]of Object.entries(t))"string"==typeof n?r[e]=n:r[e]=await n();return{...r,...e}}async invoke(e,t){let r={...this.metadata,...t?.metadata},n=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(e=>this.formatPromptValue(e),e,{...t,tags:n,metadata:r,runType:"prompt"})}},ra=class extends rs{async formatPromptValue(e){return new tL.StringPromptValue(await this.format(e))}},ro=Object.prototype.toString,rl=Array.isArray||function(e){return"[object Array]"===ro.call(e)};function rc(e){return"function"==typeof e}function rh(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function ru(e,t){return null!=e&&"object"==typeof e&&t in e}var rp=RegExp.prototype.test,rd=/\S/,rf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},rm=/\s*/,rg=/\s+/,r_=/\s*=/,ry=/\s*\}/,rv=/#|\^|\/|>|\{|&|=|!/;function rb(e){this.string=e,this.tail=e,this.pos=0}function rw(e,t){this.view=e,this.cache={".":this.view},this.parent=t}function rk(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}rb.prototype.eos=function(){return""===this.tail},rb.prototype.scan=function(e){var t=this.tail.match(e);if(!t||0!==t.index)return"";var r=t[0];return this.tail=this.tail.substring(r.length),this.pos+=r.length,r},rb.prototype.scanUntil=function(e){var t,r=this.tail.search(e);switch(r){case -1:t=this.tail,this.tail="";break;case 0:t="";break;default:t=this.tail.substring(0,r),this.tail=this.tail.substring(r)}return this.pos+=t.length,t},rw.prototype.push=function(e){return new rw(e,this)},rw.prototype.lookup=function(e){var t=this.cache;if(t.hasOwnProperty(e))i=t[e];else{for(var r,n,i,s,a,o,l=this,c=!1;l;){if(e.indexOf(".")>0)for(s=l.view,a=e.split("."),o=0;null!=s&&o<a.length;)o===a.length-1&&(c=ru(s,a[o])||(r=s,n=a[o],null!=r&&"object"!=typeof r&&r.hasOwnProperty&&r.hasOwnProperty(n))),s=s[a[o++]];else s=l.view[e],c=ru(l.view,e);if(c){i=s;break}l=l.parent}t[e]=i}return rc(i)&&(i=i.call(this.view)),i},rk.prototype.clearCache=function(){void 0!==this.templateCache&&this.templateCache.clear()},rk.prototype.parse=function(e,t){var r=this.templateCache,n=e+":"+(t||rS.tags).join(":"),i=void 0!==r,s=i?r.get(n):void 0;return void 0==s&&(s=function(e,t){if(!e)return[];var r,n,i,s,a,o,l,c,h,u=!1,p=[],d=[],f=[],m=!1,g=!1,_="",y=0;function v(){if(m&&!g)for(;f.length;)delete d[f.pop()];else f=[];m=!1,g=!1}function b(e){if("string"==typeof e&&(e=e.split(rg,2)),!rl(e)||2!==e.length)throw Error("Invalid tags: "+e);r=RegExp(rh(e[0])+"\\s*"),n=RegExp("\\s*"+rh(e[1])),i=RegExp("\\s*"+rh("}"+e[1]))}b(t||rS.tags);for(var w=new rb(e);!w.eos();){if(s=w.pos,o=w.scanUntil(r))for(var k=0,S=o.length;k<S;++k)!function(e){return!rp.call(rd,e)}(l=o.charAt(k))?(g=!0,u=!0,_+=" "):(f.push(d.length),_+=l),d.push(["text",l,s,s+1]),s+=1,"\n"===l&&(v(),_="",y=0,u=!1);if(!w.scan(r))break;if(m=!0,a=w.scan(rv)||"name",w.scan(rm),"="===a?(o=w.scanUntil(r_),w.scan(r_),w.scanUntil(n)):"{"===a?(o=w.scanUntil(i),w.scan(ry),w.scanUntil(n),a="&"):o=w.scanUntil(n),!w.scan(n))throw Error("Unclosed tag at "+w.pos);if(c=">"==a?[a,o,s,w.pos,_,y,u]:[a,o,s,w.pos],y++,d.push(c),"#"===a||"^"===a)p.push(c);else if("/"===a){if(!(h=p.pop()))throw Error('Unopened section "'+o+'" at '+s);if(h[1]!==o)throw Error('Unclosed section "'+h[1]+'" at '+s)}else"name"===a||"{"===a||"&"===a?g=!0:"="===a&&b(o)}if(v(),h=p.pop())throw Error('Unclosed section "'+h[1]+'" at '+w.pos);return function(e){for(var t,r=[],n=r,i=[],s=0,a=e.length;s<a;++s)switch((t=e[s])[0]){case"#":case"^":n.push(t),i.push(t),n=t[4]=[];break;case"/":i.pop()[5]=t[2],n=i.length>0?i[i.length-1][4]:r;break;default:n.push(t)}return r}(function(e){for(var t,r,n=[],i=0,s=e.length;i<s;++i)(t=e[i])&&("text"===t[0]&&r&&"text"===r[0]?(r[1]+=t[1],r[3]=t[3]):(n.push(t),r=t));return n}(d))}(e,t),i&&r.set(n,s)),s},rk.prototype.render=function(e,t,r,n){var i=this.getConfigTags(n),s=this.parse(e,i),a=t instanceof rw?t:new rw(t,void 0);return this.renderTokens(s,a,r,e,n)},rk.prototype.renderTokens=function(e,t,r,n,i){for(var s,a,o,l="",c=0,h=e.length;c<h;++c)o=void 0,"#"===(a=(s=e[c])[0])?o=this.renderSection(s,t,r,n,i):"^"===a?o=this.renderInverted(s,t,r,n,i):">"===a?o=this.renderPartial(s,t,r,i):"&"===a?o=this.unescapedValue(s,t):"name"===a?o=this.escapedValue(s,t,i):"text"===a&&(o=this.rawValue(s)),void 0!==o&&(l+=o);return l},rk.prototype.renderSection=function(e,t,r,n,i){var s=this,a="",o=t.lookup(e[1]);if(o){if(rl(o))for(var l=0,c=o.length;l<c;++l)a+=this.renderTokens(e[4],t.push(o[l]),r,n,i);else if("object"==typeof o||"string"==typeof o||"number"==typeof o)a+=this.renderTokens(e[4],t.push(o),r,n,i);else if(rc(o)){if("string"!=typeof n)throw Error("Cannot use higher-order sections without the original template");null!=(o=o.call(t.view,n.slice(e[3],e[5]),function(e){return s.render(e,t,r,i)}))&&(a+=o)}else a+=this.renderTokens(e[4],t,r,n,i);return a}},rk.prototype.renderInverted=function(e,t,r,n,i){var s=t.lookup(e[1]);if(!s||rl(s)&&0===s.length)return this.renderTokens(e[4],t,r,n,i)},rk.prototype.indentPartial=function(e,t,r){for(var n=t.replace(/[^ \t]/g,""),i=e.split("\n"),s=0;s<i.length;s++)i[s].length&&(s>0||!r)&&(i[s]=n+i[s]);return i.join("\n")},rk.prototype.renderPartial=function(e,t,r,n){if(r){var i=this.getConfigTags(n),s=rc(r)?r(e[1]):r[e[1]];if(null!=s){var a=e[6],o=e[5],l=e[4],c=s;0==o&&l&&(c=this.indentPartial(s,l,a));var h=this.parse(c,i);return this.renderTokens(h,t,r,c,n)}}},rk.prototype.unescapedValue=function(e,t){var r=t.lookup(e[1]);if(null!=r)return r},rk.prototype.escapedValue=function(e,t,r){var n=this.getConfigEscape(r)||rS.escape,i=t.lookup(e[1]);if(null!=i)return"number"==typeof i&&n===rS.escape?String(i):n(i)},rk.prototype.rawValue=function(e){return e[1]},rk.prototype.getConfigTags=function(e){return rl(e)?e:e&&"object"==typeof e?e.tags:void 0},rk.prototype.getConfigEscape=function(e){return e&&"object"==typeof e&&!rl(e)?e.escape:void 0};var rS={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(cache){rx.templateCache=cache},get templateCache(){return rx.templateCache}},rx=new rk;function rE(){rS.escape=e=>e}rS.clearCache=function(){return rx.clearCache()},rS.parse=function(e,t){return rx.parse(e,t)},rS.render=function(e,t,r,n){if("string"!=typeof e)throw TypeError('Invalid template! Template should be a "string" but "'+(rl(e)?"array":typeof e)+'" was given as the first argument for mustache#render(template, view, partials)');return rx.render(e,t,r,n)},rS.escape=function(e){return String(e).replace(/[&<>"'`=\/]/g,function(e){return rf[e]})},rS.Scanner=rb,rS.Context=rw,rS.Writer=rk;let rC=e=>{let t=e.split(""),r=[],n=(e,r)=>{for(let n=r;n<t.length;n+=1)if(e.includes(t[n]))return n;return -1},i=0;for(;i<t.length;)if("{"===t[i]&&i+1<t.length&&"{"===t[i+1])r.push({type:"literal",text:"{"}),i+=2;else if("}"===t[i]&&i+1<t.length&&"}"===t[i+1])r.push({type:"literal",text:"}"}),i+=2;else if("{"===t[i]){let e=n("}",i);if(e<0)throw Error("Unclosed '{' in template.");r.push({type:"variable",name:t.slice(i+1,e).join("")}),i=e+1}else if("}"===t[i])throw Error("Single '}' in template.");else{let e=n("{}",i),s=(e<0?t.slice(i):t.slice(i,e)).join("");r.push({type:"literal",text:s}),i=e<0?t.length:e}return r},rA=(e,t=[])=>{let r=[];for(let n of e)if("name"===n[0]){let e=n[1].includes(".")?n[1].split(".")[0]:n[1];r.push({type:"variable",name:e})}else if(["#","&","^",">"].includes(n[0])){if(r.push({type:"variable",name:n[1]}),"#"===n[0]&&n.length>4&&Array.isArray(n[4])){let e=[...t,n[1]],i=rA(n[4],e);r.push(...i)}}else r.push({type:"literal",text:n[1]});return r},rO=e=>(rE(),rA(rS.parse(e))),rI=(e,t)=>rC(e).reduce((e,r)=>{if("variable"===r.type){if(r.name in t)return e+("string"==typeof t[r.name]?t[r.name]:JSON.stringify(t[r.name]));throw Error(`(f-string) Missing value for input ${r.name}`)}return e+r.text},""),rT=(e,t)=>(rE(),rS.render(e,t)),rj={"f-string":rI,mustache:rT},rN={"f-string":rC,mustache:rO},rP=(e,t,r)=>{try{return rj[t](e,r)}catch(e){throw(0,eq.addLangChainErrorFields)(e,"INVALID_PROMPT_INPUT")}},rM=(e,t)=>rN[t](e),r$=(e,t,r)=>{if(!(t in rj))throw Error(`Invalid template format. Got \`${t}\`;
5
+ should be one of ${Object.keys(rj)}`);try{let n=Object.fromEntries(r.map(e=>[e,"foo"]));Array.isArray(e)?e.forEach(e=>{if("text"===e.type&&"text"in e&&"string"==typeof e.text)rP(e.text,t,n);else if("image_url"===e.type){if("string"==typeof e.image_url)rP(e.image_url,t,n);else if("object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url&&"string"==typeof e.image_url.url){let r=e.image_url.url;rP(r,t,n)}}else throw Error(`Invalid message template received. ${JSON.stringify(e,null,2)}`)}):rP(e,t,n)}catch(e){throw Error(`Invalid prompt schema: ${e.message}`)}};var rR=class e extends ra{static lc_name(){return"PromptTemplate"}template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(e){if(super(e),"mustache"===e.templateFormat&&void 0===e.validateTemplate&&(this.validateTemplate=!1),Object.assign(this,e),this.validateTemplate){if("mustache"===this.templateFormat)throw Error("Mustache templates cannot be validated.");let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),r$(this.template,this.templateFormat,e)}}_getPromptType(){return"prompt"}async format(e){let t=await this.mergePartialAndUserVariables(e);return rP(this.template,this.templateFormat,t)}static fromExamples(t,r,n,i="\n\n",s=""){return new e({inputVariables:n,template:[s,...t,r].join(i)})}static fromTemplate(t,r){let{templateFormat:n="f-string",...i}=r??{},s=new Set;return rM(t,n).forEach(e=>{"variable"===e.type&&s.add(e.name)}),new e({inputVariables:[...s],templateFormat:n,template:t,...i})}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}serialize(){if(void 0!==this.outputParser)throw Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(t){if(!t.template)throw Error("Prompt template must have a template");return new e({inputVariables:t.input_variables,template:t.template,templateFormat:t.template_format})}},rF=class e extends rs{static lc_name(){return"ImagePromptTemplate"}lc_namespace=["langchain_core","prompts","image"];template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(e){if(super(e),this.template=e.template,this.templateFormat=e.templateFormat??this.templateFormat,this.validateTemplate=e.validateTemplate??this.validateTemplate,this.additionalContentFields=e.additionalContentFields,this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),r$([{type:"image_url",image_url:this.template}],this.templateFormat,e)}}_getPromptType(){return"prompt"}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}async format(e){let t={};for(let[r,n]of Object.entries(this.template))"string"==typeof n?t[r]=rP(n,this.templateFormat,e):t[r]=n;let r=e.url||t.url,n=e.detail||t.detail;if(!r)throw Error("Must provide either an image URL.");if("string"!=typeof r)throw Error("url must be a string.");let i={url:r};return n&&(i.detail=n),i}async formatPromptValue(e){return new tL.ImagePromptValue(await this.format(e))}},rV=ta,rL=class extends rV.Runnable{lc_namespace=["langchain_core","prompts","dict"];lc_serializable=!0;template;templateFormat;inputVariables;static lc_name(){return"DictPromptTemplate"}constructor(e){const t=e.templateFormat??"f-string",r=function e(t,r){let n=[];for(let i of Object.values(t))if("string"==typeof i)rM(i,r).forEach(e=>{"variable"===e.type&&n.push(e.name)});else if(Array.isArray(i))for(let t of i)"string"==typeof t?rM(t,r).forEach(e=>{"variable"===e.type&&n.push(e.name)}):"object"==typeof t&&n.push(...e(t,r));else"object"==typeof i&&null!==i&&n.push(...e(i,r));return Array.from(new Set(n))}(e.template,t);super({inputVariables:r,...e}),this.template=e.template,this.templateFormat=t,this.inputVariables=r}async format(e){return function e(t,r,n){let i={};for(let[s,a]of Object.entries(t))if("string"==typeof a)i[s]=rP(a,n,r);else if(Array.isArray(a)){let t=[];for(let i of a)"string"==typeof i?t.push(rP(i,n,r)):"object"==typeof i&&t.push(e(i,r,n));i[s]=t}else"object"==typeof a&&null!==a?i[s]=e(a,r,n):i[s]=a;return i}(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}},rD=e.i(640470),rH=e.i(151191),rB=e.i(211614),rU=e.i(329494),rW=ta,rq=class extends rW.Runnable{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;async invoke(e,t){return this._callWithConfig(e=>this.formatMessages(e),e,{...t,runType:"prompt"})}},rG=class extends rq{static lc_name(){return"MessagesPlaceholder"}variableName;optional;constructor(e){"string"==typeof e&&(e={variableName:e}),super(e),this.variableName=e.variableName,this.optional=e.optional??!1}get inputVariables(){return[this.variableName]}async formatMessages(e){let t,r=e[this.variableName];if(this.optional&&!r)return[];if(!r){let e=Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw e.name="InputFormatError",e}try{t=Array.isArray(r)?r.map(rU.coerceMessageLikeToMessage):[(0,rU.coerceMessageLikeToMessage)(r)]}catch(n){let e="string"==typeof r?r:JSON.stringify(r,null,2),t=Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.
6
6
 
7
7
  Received value: ${e}
8
8
 
9
- Additional message: ${n.message}`);throw t.name="InputFormatError",t.lc_error_code=n.lc_error_code,t}return t}},r5=class extends r6{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},r3=class extends ry{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new tQ.ChatPromptValue(await this.formatMessages(e))}},r9=class extends r5{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new r0.ChatMessage(await this.prompt.format(e),this.role)}static fromTemplate(e,t,r){return new this(rJ.fromTemplate(e,{templateFormat:r?.templateFormat}),t)}},r7=class extends r6{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let e=[];this.prompt.forEach(t=>{"inputVariables"in t&&(e=e.concat(t.inputVariables))}),this.inputVariables=e}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let r=t.chatMessageClass();return new r({content:e,role:this.getRoleFromMessageClass(r.lc_name())})}throw Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw Error("Invalid message class name")}}static fromTemplate(e,t){if("string"==typeof e)return new this(rJ.fromTemplate(e,t));let r=[];for(let n of e)if("string"==typeof n)r.push(rJ.fromTemplate(n,t));else if(null===n);else if(!(null===n||"object"!=typeof n||Array.isArray(n))&&1===Object.keys(n).length&&"text"in n&&"string"==typeof n.text){let e="";"string"==typeof n.text&&(e=n.text??"");let i={...t,additionalContentFields:n};r.push(rJ.fromTemplate(e,i))}else if(!(null===n||"object"!=typeof n||Array.isArray(n))&&"image_url"in n&&("string"==typeof n.image_url||"object"==typeof n.image_url&&null!==n.image_url&&"url"in n.image_url&&"string"==typeof n.image_url.url)){let e,i=n.image_url??"",s=[];if("string"==typeof i){let r=(t?.templateFormat==="mustache"?rU(i):rL(i)).flatMap(e=>"variable"===e.type?[e.name]:[]);if((r?.length??0)>0){if(r.length>1)throw Error(`Only one format variable allowed per image template.
9
+ Additional message: ${n.message}`);throw t.name="InputFormatError",t.lc_error_code=n.lc_error_code,t}return t}},rK=class extends rq{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},rz=class extends rs{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new tL.ChatPromptValue(await this.formatMessages(e))}},rJ=class extends rK{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new rH.ChatMessage(await this.prompt.format(e),this.role)}static fromTemplate(e,t,r){return new this(rR.fromTemplate(e,{templateFormat:r?.templateFormat}),t)}},rZ=class extends rq{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let e=[];this.prompt.forEach(t=>{"inputVariables"in t&&(e=e.concat(t.inputVariables))}),this.inputVariables=e}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let r=t.chatMessageClass();return new r({content:e,role:this.getRoleFromMessageClass(r.lc_name())})}throw Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw Error("Invalid message class name")}}static fromTemplate(e,t){if("string"==typeof e)return new this(rR.fromTemplate(e,t));let r=[];for(let n of e)if("string"==typeof n)r.push(rR.fromTemplate(n,t));else if(null===n);else if(!(null===n||"object"!=typeof n||Array.isArray(n))&&1===Object.keys(n).length&&"text"in n&&"string"==typeof n.text){let e="";"string"==typeof n.text&&(e=n.text??"");let i={...t,additionalContentFields:n};r.push(rR.fromTemplate(e,i))}else if(!(null===n||"object"!=typeof n||Array.isArray(n))&&"image_url"in n&&("string"==typeof n.image_url||"object"==typeof n.image_url&&null!==n.image_url&&"url"in n.image_url&&"string"==typeof n.image_url.url)){let e,i=n.image_url??"",s=[];if("string"==typeof i){let r=(t?.templateFormat==="mustache"?rO(i):rC(i)).flatMap(e=>"variable"===e.type?[e.name]:[]);if((r?.length??0)>0){if(r.length>1)throw Error(`Only one format variable allowed per image template.
10
10
  Got: ${r}
11
- From: ${i}`);s=[r[0]]}else s=[];e=new rZ({template:i={url:i},inputVariables:s,templateFormat:t?.templateFormat,additionalContentFields:n})}else if("object"==typeof i){if("url"in i)s=(t?.templateFormat==="mustache"?rU(i.url):rL(i.url)).flatMap(e=>"variable"===e.type?[e.name]:[]);else s=[];e=new rZ({template:i,inputVariables:s,templateFormat:t?.templateFormat,additionalContentFields:n})}else throw Error("Invalid image template");r.push(e)}else"object"==typeof n&&r.push(new rQ({template:n,templateFormat:t?.templateFormat}));return new this({prompt:r,additionalOptions:t})}async format(e){if(this.prompt instanceof rb){let t=await this.prompt.format(e);return this.createMessage(t)}{let t=[];for(let r of this.prompt){let n={};if(!("inputVariables"in r))throw Error(`Prompt ${r} does not have inputVariables defined.`);for(let t of r.inputVariables)n={...n,[t]:e[t]};if(r instanceof rb){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),""!==i&&t.push({...e,type:"text",text:i})}else if(r instanceof rZ){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),t.push({...e,type:"image_url",image_url:i})}else if(r instanceof rQ){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),t.push({...e,...i})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},ne=class extends r7{static _messageClass(){return td.HumanMessage}static lc_name(){return"HumanMessagePromptTemplate"}},nt=class extends r7{static _messageClass(){return tp.AIMessage}static lc_name(){return"AIMessagePromptTemplate"}},nr=class extends r7{static _messageClass(){return r1.SystemMessage}static lc_name(){return"SystemMessagePromptTemplate"}},nn=class e extends r3{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(e){if(super(e),"mustache"===e.templateFormat&&void 0===e.validateTemplate&&(this.validateTemplate=!1),Object.assign(this,e),this.validateTemplate){const e=new Set;for(const t of this.promptMessages)if(!(t instanceof rX.BaseMessage))for(const r of t.inputVariables)e.add(r);const t=this.inputVariables,r=new Set(this.partialVariables?t.concat(Object.keys(this.partialVariables)):t),n=new Set([...r].filter(t=>!e.has(t)));if(n.size>0)throw Error(`Input variables \`${[...n]}\` are not used in any of the prompt messages.`);const i=new Set([...e].filter(e=>!r.has(e)));if(i.size>0)throw Error(`Input variables \`${[...i]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(e,t){return"string"==typeof e.content||(e.content=await Promise.all(e.content.map(async e=>{if("image_url"!==e.type)return e;let r="";"string"==typeof e.image_url?r=e.image_url:"object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url&&"string"==typeof e.image_url.url&&(r=e.image_url.url);let n=await rJ.fromTemplate(r,{templateFormat:this.templateFormat}).format(t);return"object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url?e.image_url.url=n:e.image_url=n,e}))),e}async formatMessages(e){let t=await this.mergePartialAndUserVariables(e),r=[];for(let e of this.promptMessages)if(e instanceof rX.BaseMessage)r.push(await this._parseImagePrompts(e,t));else{let n;n="mustache"===this.templateFormat?{...t}:e.inputVariables.reduce((r,n)=>{if(!(n in t)&&!("MessagesPlaceholder"===e.constructor.lc_name()&&e.optional))throw(0,e2.addLangChainErrorFields)(Error(`Missing value for input variable \`${n.toString()}\``),"INVALID_PROMPT_INPUT");return r[n]=t[n],r},{});let i=await e.formatMessages(n);r=r.concat(i)}return r}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}static fromTemplate(e,t){let r=new ne({prompt:rJ.fromTemplate(e,t)});return this.fromMessages([r])}static fromMessages(t,r){let n=t.reduce((t,n)=>t.concat(n instanceof e?n.promptMessages:[function(e,t){let r;if("function"==typeof e.formatMessages||(0,rX.isBaseMessage)(e))return e;if(Array.isArray(e)&&"placeholder"===e[0]){let r=e[1];if(t?.templateFormat==="mustache"&&"string"==typeof r&&"{{"===r.slice(0,2)&&"}}"===r.slice(-2))return new r8({variableName:r.slice(2,-2),optional:!0});if("string"==typeof r&&"{"===r[0]&&"}"===r[r.length-1])return new r8({variableName:r.slice(1,-1),optional:!0});throw Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let n=(0,r4.coerceMessageLikeToMessage)(e);if(r="string"==typeof n.content?n.content:n.content.map(e=>"text"in e?{...e,text:e.text}:"image_url"in e?{...e,image_url:e.image_url}:e),"human"===n._getType())return ne.fromTemplate(r,t);if("ai"===n._getType())return nt.fromTemplate(r,t);if("system"===n._getType())return nr.fromTemplate(r,t);if(r0.ChatMessage.isInstance(n))return r9.fromTemplate(n.content,n.role,t);throw Error(`Could not coerce message prompt template from input. Received message type: "${n._getType()}".`)}(n,r)]),[]),i=t.reduce((t,r)=>r instanceof e?Object.assign(t,r.partialVariables):t,Object.create(null)),s=new Set;for(let e of n)if(!(e instanceof rX.BaseMessage))for(let t of e.inputVariables)t in i||s.add(t);return new this({...r,inputVariables:[...s],promptMessages:n,partialVariables:i,templateFormat:r?.templateFormat})}},ni=class e extends rb{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator="\n\n";prefix="";templateFormat="f-string";validateTemplate=!0;constructor(e){if(super(e),Object.assign(this,e),void 0!==this.examples&&void 0!==this.exampleSelector)throw Error("Only one of 'examples' and 'example_selector' should be provided");if(void 0===this.examples&&void 0===this.exampleSelector)throw Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),rz(this.prefix+this.suffix,this.templateFormat,e)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(e){if(void 0!==this.examples)return this.examples;if(void 0!==this.exampleSelector)return this.exampleSelector.selectExamples(e);throw Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}async format(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t),n=await Promise.all(r.map(e=>this.examplePrompt.format(e)));return rG([this.prefix,...n,this.suffix].join(this.exampleSeparator),this.templateFormat,t)}serialize(){if(this.exampleSelector||!this.examples)throw Error("Serializing an example selector is not currently supported");if(void 0!==this.outputParser)throw Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let r,{example_prompt:n}=t;if(!n)throw Error("Missing example prompt");let i=await rJ.deserialize(n);if(Array.isArray(t.examples))r=t.examples;else throw Error("Invalid examples format. Only list or string are supported.");return new e({inputVariables:t.input_variables,examplePrompt:i,examples:r,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},ns=class e extends r3{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator="\n\n";prefix="";templateFormat="f-string";validateTemplate=!0;_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}constructor(e){if(super(e),this.examples=e.examples,this.examplePrompt=e.examplePrompt,this.exampleSeparator=e.exampleSeparator??"\n\n",this.exampleSelector=e.exampleSelector,this.prefix=e.prefix??"",this.suffix=e.suffix??"",this.templateFormat=e.templateFormat??"f-string",this.validateTemplate=e.validateTemplate??!0,void 0!==this.examples&&void 0!==this.exampleSelector)throw Error("Only one of 'examples' and 'example_selector' should be provided");if(void 0===this.examples&&void 0===this.exampleSelector)throw Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),rz(this.prefix+this.suffix,this.templateFormat,e)}}async getExamples(e){if(void 0!==this.examples)return this.examples;if(void 0!==this.exampleSelector)return this.exampleSelector.selectExamples(e);throw Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t);r=r.map(e=>{let t={};return this.examplePrompt.inputVariables.forEach(r=>{t[r]=e[r]}),t});let n=[];for(let e of r){let t=await this.examplePrompt.formatMessages(e);n.push(...t)}return n}async format(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t),n=(await Promise.all(r.map(e=>this.examplePrompt.formatMessages(e)))).flat().map(e=>e.content);return rG([this.prefix,...n,this.suffix].join(this.exampleSeparator),this.templateFormat,t)}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}},na=class e extends ry{static lc_name(){return"PipelinePromptTemplate"}pipelinePrompts;finalPrompt;constructor(e){super({...e,inputVariables:[]}),this.pipelinePrompts=e.pipelinePrompts,this.finalPrompt=e.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let e=this.pipelinePrompts.map(e=>e.name);return[...new Set(this.pipelinePrompts.map(t=>t.prompt.inputVariables.filter(t=>!e.includes(t))).flat())]}static extractRequiredInputValues(e,t){return t.reduce((t,r)=>(t[r]=e[r],t),{})}async formatPipelinePrompts(t){let r=await this.mergePartialAndUserVariables(t);for(let{name:t,prompt:n}of this.pipelinePrompts){let i=e.extractRequiredInputValues(r,n.inputVariables);n instanceof nn?r[t]=await n.formatMessages(i):r[t]=await n.format(i)}return e.extractRequiredInputValues(r,this.finalPrompt.inputVariables)}async formatPromptValue(e){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(e))}async format(e){return this.finalPrompt.format(await this.formatPipelinePrompts(e))}async partial(t){let r={...this};return r.inputVariables=this.inputVariables.filter(e=>!(e in t)),r.partialVariables={...this.partialVariables??{},...t},new e(r)}serialize(){throw Error("Not implemented.")}_getPromptType(){return"pipeline"}};function no(e){return"object"==typeof e&&null!=e&&"withStructuredOutput"in e&&"function"==typeof e.withStructuredOutput}var nl=class e extends nn{schema;method;lc_namespace=["langchain_core","prompts","structured"];get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(e){super(e),this.schema=e.schema,this.method=e.method}pipe(e){if(no(e))return super.pipe(e.withStructuredOutput(this.schema));if("object"==typeof e&&null!=e&&"lc_id"in e&&Array.isArray(e.lc_id)&&"langchain_core/runnables/RunnableBinding"===e.lc_id.join("/")&&no(e.bound))return super.pipe(new tb.RunnableBinding({bound:e.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:e.kwargs??{},config:e.config,configFactories:e.configFactories}));throw Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(t,r,n){return e.fromMessages(t,{schema:r,method:n})}},nc=(0,eX.__exportAll)({AIMessagePromptTemplate:()=>nt,BaseChatPromptTemplate:()=>r3,BaseMessagePromptTemplate:()=>r6,BaseMessageStringPromptTemplate:()=>r5,BasePromptTemplate:()=>ry,BaseStringPromptTemplate:()=>rb,ChatMessagePromptTemplate:()=>r9,ChatPromptTemplate:()=>nn,DEFAULT_FORMATTER_MAPPING:()=>rW,DEFAULT_PARSER_MAPPING:()=>rq,DictPromptTemplate:()=>rQ,FewShotChatMessagePromptTemplate:()=>ns,FewShotPromptTemplate:()=>ni,HumanMessagePromptTemplate:()=>ne,ImagePromptTemplate:()=>rZ,MessagesPlaceholder:()=>r8,PipelinePromptTemplate:()=>na,PromptTemplate:()=>rJ,StructuredPrompt:()=>nl,SystemMessagePromptTemplate:()=>nr,checkValidTemplate:()=>rz,interpolateFString:()=>rB,interpolateMustache:()=>rH,parseFString:()=>rL,parseMustache:()=>rU,parseTemplate:()=>rK,renderTemplate:()=>rG}),nh=(0,eX.__exportAll)({BaseDocumentCompressor:()=>nu}),nu=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}},np=e.i(640516),nd=tb,nf=(0,eX.__exportAll)({BaseRetriever:()=>nm}),nm=class extends nd.Runnable{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw Error("Not implemented!")}async invoke(e,t){let r=(0,np.ensureConfig)((0,tr.parseCallbackConfigArg)(t)),n=await (await tr.CallbackManager.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,r.runId,void 0,void 0,void 0,r.runName);try{let t=await this._getRelevantDocuments(e,n);return await n?.handleRetrieverEnd(t),t}catch(e){throw await n?.handleRetrieverError(e),e}}},ng=eZ,n_=(0,eX.__exportAll)({BaseStore:()=>ny,InMemoryStore:()=>nb}),ny=class extends ng.Serializable{},nb=class extends ny{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(e=>this.store[e])}async mset(e){for(let[t,r]of e)this.store[t]=r}async mdelete(e){for(let t of e)delete this.store[t]}async *yieldKeys(e){for(let t of Object.keys(this.store))(void 0===e||t.startsWith(e))&&(yield t)}};e.s(["InMemoryStore",()=>nb,"stores_exports",()=>n_],737572);let nv={and:"and",or:"or",not:"not"},nw={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"};var nk=class{},nS=class{accept(e){if("Operation"===this.exprName)return e.visitOperation(this);if("Comparison"===this.exprName)return e.visitComparison(this);if("StructuredQuery"===this.exprName)return e.visitStructuredQuery(this);throw Error("Unknown Expression type")}},nx=class extends nS{},nE=class extends nx{exprName="Comparison";constructor(e,t,r){super(),this.comparator=e,this.attribute=t,this.value=r}},nC=class extends nx{exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},nA=class extends nS{exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function nO(e){return e&&"object"==typeof e&&!Array.isArray(e)}function nI(e){return!e||("string"!=typeof e||!(e.length>0))&&"function"!=typeof e&&nO(e)&&0===Object.keys(e).length}function nT(e){if("number"==typeof e)return e%1==0;if("string"==typeof e){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1==0&&t.toString()===e}return!1}function nj(e){if("number"==typeof e)return e%1!=0;if("string"==typeof e){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!=0&&t.toString()===e}return!1}function nN(e){return"string"==typeof e&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function nP(e){return"boolean"==typeof e}function nM(e){let t;if(nN(e))t=e;else if(nT(e))t=parseInt(e,10);else if(nj(e))t=parseFloat(e);else if(nP(e))t=!!e;else throw Error("Unsupported value type");return t}var n$=class extends nk{},nR=class extends n${allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[nv.and,nv.or],this.allowedComparators=e?.allowedComparators??[nw.eq,nw.ne,nw.gt,nw.gte,nw.lt,nw.lte]}formatFunction(e){if(e in nw){if(this.allowedComparators.length>0&&-1===this.allowedComparators.indexOf(e))throw Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in nv){if(this.allowedOperators.length>0&&-1===this.allowedOperators.indexOf(e))throw Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(e=>e.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:nM(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,r="and",n=!1){if(!(nI(e)&&nI(t))){if(nI(e)||"replace"===r){if(nI(t))return;return t}if(nI(t)){if(n)return e;if("and"===r)return;return e}if("and"===r)return{$and:[e,t]};if("or"===r)return{$or:[e,t]};throw Error("Unknown merge type")}}},nV=class extends n${allowedOperators=[nv.and,nv.or];allowedComparators=[nw.eq,nw.ne,nw.gt,nw.gte,nw.lt,nw.lte];formatFunction(){throw Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":case"number":return[nw.eq,nw.ne,nw.gt,nw.gte,nw.lt,nw.lte];case"boolean":return[nw.eq,nw.ne];default:throw Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case nw.eq:return(e,t)=>e===t;case nw.ne:return(e,t)=>e!==t;case nw.gt:return(e,t)=>e>t;case nw.gte:return(e,t)=>e>=t;case nw.lt:return(e,t)=>e<t;case nw.lte:return(e,t)=>e<=t;default:throw Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case nv.and:return(e,t)=>e&&t;case nv.or:return(e,t)=>e||t;default:throw Error("Unknown operator")}}visitOperation(e){let{operator:t,args:r}=e;if(this.allowedOperators.includes(t)){let e=this.getOperatorFunction(t);return t=>!r||r.reduce((r,n)=>{let i=n.accept(this);if("function"==typeof i)return e(r,i(t));throw Error("Filter is not a function")},!0)}throw Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:r,value:n}=e,i=[nw.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof n).includes(t))throw Error(`'${t}' comparator not allowed to be used with ${typeof n}`);let e=this.getComparatorFunction(t);return s=>{let a=s.metadata[r];return void 0===a?!!i.includes(t):e(a,nM(n))}}throw Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if("function"!=typeof t)throw Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,r="and"){if(!(nI(e)&&nI(t))){if(nI(e)||"replace"===r){if(nI(t))return;return t}if(nI(t)){if("and"===r)return;return e}if("and"===r)return r=>e(r)&&t(r);if("or"===r)return r=>e(r)||t(r);throw Error("Unknown merge type")}}},nF=(0,eX.__exportAll)({BaseTranslator:()=>n$,BasicTranslator:()=>nR,Comparators:()=>nw,Comparison:()=>nE,Expression:()=>nS,FilterDirective:()=>nx,FunctionalTranslator:()=>nV,Operation:()=>nC,Operators:()=>nv,StructuredQuery:()=>nA,Visitor:()=>nk,castValue:()=>nM,isBoolean:()=>nP,isFilterEmpty:()=>nI,isFloat:()=>nj,isInt:()=>nT,isObject:()=>nO,isString:()=>nN});function nL(e){return rX.BaseMessage.isInstance(e)?e.constructor.name||e.type:typeof e}function nD(e,t){return function(r,n){let{isNot:i,utils:s}=this;return t(r)?void 0===n?{pass:!0,message:()=>`${s.matcherHint(`toBe${e}`,void 0,void 0)}
11
+ From: ${i}`);s=[r[0]]}else s=[];e=new rF({template:i={url:i},inputVariables:s,templateFormat:t?.templateFormat,additionalContentFields:n})}else if("object"==typeof i){if("url"in i)s=(t?.templateFormat==="mustache"?rO(i.url):rC(i.url)).flatMap(e=>"variable"===e.type?[e.name]:[]);else s=[];e=new rF({template:i,inputVariables:s,templateFormat:t?.templateFormat,additionalContentFields:n})}else throw Error("Invalid image template");r.push(e)}else"object"==typeof n&&r.push(new rL({template:n,templateFormat:t?.templateFormat}));return new this({prompt:r,additionalOptions:t})}async format(e){if(this.prompt instanceof ra){let t=await this.prompt.format(e);return this.createMessage(t)}{let t=[];for(let r of this.prompt){let n={};if(!("inputVariables"in r))throw Error(`Prompt ${r} does not have inputVariables defined.`);for(let t of r.inputVariables)n={...n,[t]:e[t]};if(r instanceof ra){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),""!==i&&t.push({...e,type:"text",text:i})}else if(r instanceof rF){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),t.push({...e,type:"image_url",image_url:i})}else if(r instanceof rL){let e,i=await r.format(n);"additionalContentFields"in r&&(e=r.additionalContentFields),t.push({...e,...i})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},rY=class extends rZ{static _messageClass(){return te.HumanMessage}static lc_name(){return"HumanMessagePromptTemplate"}},rQ=class extends rZ{static _messageClass(){return e9.AIMessage}static lc_name(){return"AIMessagePromptTemplate"}},rX=class extends rZ{static _messageClass(){return rB.SystemMessage}static lc_name(){return"SystemMessagePromptTemplate"}},r0=class e extends rz{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(e){if(super(e),"mustache"===e.templateFormat&&void 0===e.validateTemplate&&(this.validateTemplate=!1),Object.assign(this,e),this.validateTemplate){const e=new Set;for(const t of this.promptMessages)if(!(t instanceof rD.BaseMessage))for(const r of t.inputVariables)e.add(r);const t=this.inputVariables,r=new Set(this.partialVariables?t.concat(Object.keys(this.partialVariables)):t),n=new Set([...r].filter(t=>!e.has(t)));if(n.size>0)throw Error(`Input variables \`${[...n]}\` are not used in any of the prompt messages.`);const i=new Set([...e].filter(e=>!r.has(e)));if(i.size>0)throw Error(`Input variables \`${[...i]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(e,t){return"string"==typeof e.content||(e.content=await Promise.all(e.content.map(async e=>{if("image_url"!==e.type)return e;let r="";"string"==typeof e.image_url?r=e.image_url:"object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url&&"string"==typeof e.image_url.url&&(r=e.image_url.url);let n=await rR.fromTemplate(r,{templateFormat:this.templateFormat}).format(t);return"object"==typeof e.image_url&&null!==e.image_url&&"url"in e.image_url?e.image_url.url=n:e.image_url=n,e}))),e}async formatMessages(e){let t=await this.mergePartialAndUserVariables(e),r=[];for(let e of this.promptMessages)if(e instanceof rD.BaseMessage)r.push(await this._parseImagePrompts(e,t));else{let n;n="mustache"===this.templateFormat?{...t}:e.inputVariables.reduce((r,n)=>{if(!(n in t)&&!("MessagesPlaceholder"===e.constructor.lc_name()&&e.optional))throw(0,eq.addLangChainErrorFields)(Error(`Missing value for input variable \`${n.toString()}\``),"INVALID_PROMPT_INPUT");return r[n]=t[n],r},{});let i=await e.formatMessages(n);r=r.concat(i)}return r}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}static fromTemplate(e,t){let r=new rY({prompt:rR.fromTemplate(e,t)});return this.fromMessages([r])}static fromMessages(t,r){let n=t.reduce((t,n)=>t.concat(n instanceof e?n.promptMessages:[function(e,t){let r;if("function"==typeof e.formatMessages||(0,rD.isBaseMessage)(e))return e;if(Array.isArray(e)&&"placeholder"===e[0]){let r=e[1];if(t?.templateFormat==="mustache"&&"string"==typeof r&&"{{"===r.slice(0,2)&&"}}"===r.slice(-2))return new rG({variableName:r.slice(2,-2),optional:!0});if("string"==typeof r&&"{"===r[0]&&"}"===r[r.length-1])return new rG({variableName:r.slice(1,-1),optional:!0});throw Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let n=(0,rU.coerceMessageLikeToMessage)(e);if(r="string"==typeof n.content?n.content:n.content.map(e=>"text"in e?{...e,text:e.text}:"image_url"in e?{...e,image_url:e.image_url}:e),"human"===n._getType())return rY.fromTemplate(r,t);if("ai"===n._getType())return rQ.fromTemplate(r,t);if("system"===n._getType())return rX.fromTemplate(r,t);if(rH.ChatMessage.isInstance(n))return rJ.fromTemplate(n.content,n.role,t);throw Error(`Could not coerce message prompt template from input. Received message type: "${n._getType()}".`)}(n,r)]),[]),i=t.reduce((t,r)=>r instanceof e?Object.assign(t,r.partialVariables):t,Object.create(null)),s=new Set;for(let e of n)if(!(e instanceof rD.BaseMessage))for(let t of e.inputVariables)t in i||s.add(t);return new this({...r,inputVariables:[...s],promptMessages:n,partialVariables:i,templateFormat:r?.templateFormat})}},r1=class e extends ra{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator="\n\n";prefix="";templateFormat="f-string";validateTemplate=!0;constructor(e){if(super(e),Object.assign(this,e),void 0!==this.examples&&void 0!==this.exampleSelector)throw Error("Only one of 'examples' and 'example_selector' should be provided");if(void 0===this.examples&&void 0===this.exampleSelector)throw Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),r$(this.prefix+this.suffix,this.templateFormat,e)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(e){if(void 0!==this.examples)return this.examples;if(void 0!==this.exampleSelector)return this.exampleSelector.selectExamples(e);throw Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}async format(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t),n=await Promise.all(r.map(e=>this.examplePrompt.format(e)));return rP([this.prefix,...n,this.suffix].join(this.exampleSeparator),this.templateFormat,t)}serialize(){if(this.exampleSelector||!this.examples)throw Error("Serializing an example selector is not currently supported");if(void 0!==this.outputParser)throw Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let r,{example_prompt:n}=t;if(!n)throw Error("Missing example prompt");let i=await rR.deserialize(n);if(Array.isArray(t.examples))r=t.examples;else throw Error("Invalid examples format. Only list or string are supported.");return new e({inputVariables:t.input_variables,examplePrompt:i,examples:r,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},r4=class e extends rz{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator="\n\n";prefix="";templateFormat="f-string";validateTemplate=!0;_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}constructor(e){if(super(e),this.examples=e.examples,this.examplePrompt=e.examplePrompt,this.exampleSeparator=e.exampleSeparator??"\n\n",this.exampleSelector=e.exampleSelector,this.prefix=e.prefix??"",this.suffix=e.suffix??"",this.templateFormat=e.templateFormat??"f-string",this.validateTemplate=e.validateTemplate??!0,void 0!==this.examples&&void 0!==this.exampleSelector)throw Error("Only one of 'examples' and 'example_selector' should be provided");if(void 0===this.examples&&void 0===this.exampleSelector)throw Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let e=this.inputVariables;this.partialVariables&&(e=e.concat(Object.keys(this.partialVariables))),r$(this.prefix+this.suffix,this.templateFormat,e)}}async getExamples(e){if(void 0!==this.examples)return this.examples;if(void 0!==this.exampleSelector)return this.exampleSelector.selectExamples(e);throw Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t);r=r.map(e=>{let t={};return this.examplePrompt.inputVariables.forEach(r=>{t[r]=e[r]}),t});let n=[];for(let e of r){let t=await this.examplePrompt.formatMessages(e);n.push(...t)}return n}async format(e){let t=await this.mergePartialAndUserVariables(e),r=await this.getExamples(t),n=(await Promise.all(r.map(e=>this.examplePrompt.formatMessages(e)))).flat().map(e=>e.content);return rP([this.prefix,...n,this.suffix].join(this.exampleSeparator),this.templateFormat,t)}async partial(t){let r=this.inputVariables.filter(e=>!(e in t)),n={...this.partialVariables??{},...t};return new e({...this,inputVariables:r,partialVariables:n})}},r2=class e extends rs{static lc_name(){return"PipelinePromptTemplate"}pipelinePrompts;finalPrompt;constructor(e){super({...e,inputVariables:[]}),this.pipelinePrompts=e.pipelinePrompts,this.finalPrompt=e.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let e=this.pipelinePrompts.map(e=>e.name);return[...new Set(this.pipelinePrompts.map(t=>t.prompt.inputVariables.filter(t=>!e.includes(t))).flat())]}static extractRequiredInputValues(e,t){return t.reduce((t,r)=>(t[r]=e[r],t),{})}async formatPipelinePrompts(t){let r=await this.mergePartialAndUserVariables(t);for(let{name:t,prompt:n}of this.pipelinePrompts){let i=e.extractRequiredInputValues(r,n.inputVariables);n instanceof r0?r[t]=await n.formatMessages(i):r[t]=await n.format(i)}return e.extractRequiredInputValues(r,this.finalPrompt.inputVariables)}async formatPromptValue(e){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(e))}async format(e){return this.finalPrompt.format(await this.formatPipelinePrompts(e))}async partial(t){let r={...this};return r.inputVariables=this.inputVariables.filter(e=>!(e in t)),r.partialVariables={...this.partialVariables??{},...t},new e(r)}serialize(){throw Error("Not implemented.")}_getPromptType(){return"pipeline"}};function r6(e){return"object"==typeof e&&null!=e&&"withStructuredOutput"in e&&"function"==typeof e.withStructuredOutput}var r3=class e extends r0{schema;method;lc_namespace=["langchain_core","prompts","structured"];get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(e){super(e),this.schema=e.schema,this.method=e.method}pipe(e){if(r6(e))return super.pipe(e.withStructuredOutput(this.schema));if("object"==typeof e&&null!=e&&"lc_id"in e&&Array.isArray(e.lc_id)&&"langchain_core/runnables/RunnableBinding"===e.lc_id.join("/")&&r6(e.bound))return super.pipe(new ta.RunnableBinding({bound:e.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:e.kwargs??{},config:e.config,configFactories:e.configFactories}));throw Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(t,r,n){return e.fromMessages(t,{schema:r,method:n})}},r8=(0,eH.__exportAll)({AIMessagePromptTemplate:()=>rQ,BaseChatPromptTemplate:()=>rz,BaseMessagePromptTemplate:()=>rq,BaseMessageStringPromptTemplate:()=>rK,BasePromptTemplate:()=>rs,BaseStringPromptTemplate:()=>ra,ChatMessagePromptTemplate:()=>rJ,ChatPromptTemplate:()=>r0,DEFAULT_FORMATTER_MAPPING:()=>rj,DEFAULT_PARSER_MAPPING:()=>rN,DictPromptTemplate:()=>rL,FewShotChatMessagePromptTemplate:()=>r4,FewShotPromptTemplate:()=>r1,HumanMessagePromptTemplate:()=>rY,ImagePromptTemplate:()=>rF,MessagesPlaceholder:()=>rG,PipelinePromptTemplate:()=>r2,PromptTemplate:()=>rR,StructuredPrompt:()=>r3,SystemMessagePromptTemplate:()=>rX,checkValidTemplate:()=>r$,interpolateFString:()=>rI,interpolateMustache:()=>rT,parseFString:()=>rC,parseMustache:()=>rO,parseTemplate:()=>rM,renderTemplate:()=>rP}),r7=(0,eH.__exportAll)({BaseDocumentCompressor:()=>r5}),r5=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}},r9=e.i(640516),ne=ta,nt=(0,eH.__exportAll)({BaseRetriever:()=>nr}),nr=class extends ne.Runnable{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw Error("Not implemented!")}async invoke(e,t){let r=(0,r9.ensureConfig)((0,eX.parseCallbackConfigArg)(t)),n=await (await eX.CallbackManager.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,r.runId,void 0,void 0,void 0,r.runName);try{let t=await this._getRelevantDocuments(e,n);return await n?.handleRetrieverEnd(t),t}catch(e){throw await n?.handleRetrieverError(e),e}}},nn=eV,ni=(0,eH.__exportAll)({BaseStore:()=>ns,InMemoryStore:()=>na}),ns=class extends nn.Serializable{},na=class extends ns{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(e=>this.store[e])}async mset(e){for(let[t,r]of e)this.store[t]=r}async mdelete(e){for(let t of e)delete this.store[t]}async *yieldKeys(e){for(let t of Object.keys(this.store))(void 0===e||t.startsWith(e))&&(yield t)}};e.s(["InMemoryStore",()=>na,"stores_exports",()=>ni],737572);let no={and:"and",or:"or",not:"not"},nl={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"};var nc=class{},nh=class{accept(e){if("Operation"===this.exprName)return e.visitOperation(this);if("Comparison"===this.exprName)return e.visitComparison(this);if("StructuredQuery"===this.exprName)return e.visitStructuredQuery(this);throw Error("Unknown Expression type")}},nu=class extends nh{},np=class extends nu{exprName="Comparison";constructor(e,t,r){super(),this.comparator=e,this.attribute=t,this.value=r}},nd=class extends nu{exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},nf=class extends nh{exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function nm(e){return e&&"object"==typeof e&&!Array.isArray(e)}function ng(e){return!e||("string"!=typeof e||!(e.length>0))&&"function"!=typeof e&&nm(e)&&0===Object.keys(e).length}function n_(e){if("number"==typeof e)return e%1==0;if("string"==typeof e){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1==0&&t.toString()===e}return!1}function ny(e){if("number"==typeof e)return e%1!=0;if("string"==typeof e){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!=0&&t.toString()===e}return!1}function nv(e){return"string"==typeof e&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function nb(e){return"boolean"==typeof e}function nw(e){let t;if(nv(e))t=e;else if(n_(e))t=parseInt(e,10);else if(ny(e))t=parseFloat(e);else if(nb(e))t=!!e;else throw Error("Unsupported value type");return t}var nk=class extends nc{},nS=class extends nk{allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[no.and,no.or],this.allowedComparators=e?.allowedComparators??[nl.eq,nl.ne,nl.gt,nl.gte,nl.lt,nl.lte]}formatFunction(e){if(e in nl){if(this.allowedComparators.length>0&&-1===this.allowedComparators.indexOf(e))throw Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in no){if(this.allowedOperators.length>0&&-1===this.allowedOperators.indexOf(e))throw Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(e=>e.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:nw(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,r="and",n=!1){if(!(ng(e)&&ng(t))){if(ng(e)||"replace"===r){if(ng(t))return;return t}if(ng(t)){if(n)return e;if("and"===r)return;return e}if("and"===r)return{$and:[e,t]};if("or"===r)return{$or:[e,t]};throw Error("Unknown merge type")}}},nx=class extends nk{allowedOperators=[no.and,no.or];allowedComparators=[nl.eq,nl.ne,nl.gt,nl.gte,nl.lt,nl.lte];formatFunction(){throw Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":case"number":return[nl.eq,nl.ne,nl.gt,nl.gte,nl.lt,nl.lte];case"boolean":return[nl.eq,nl.ne];default:throw Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case nl.eq:return(e,t)=>e===t;case nl.ne:return(e,t)=>e!==t;case nl.gt:return(e,t)=>e>t;case nl.gte:return(e,t)=>e>=t;case nl.lt:return(e,t)=>e<t;case nl.lte:return(e,t)=>e<=t;default:throw Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case no.and:return(e,t)=>e&&t;case no.or:return(e,t)=>e||t;default:throw Error("Unknown operator")}}visitOperation(e){let{operator:t,args:r}=e;if(this.allowedOperators.includes(t)){let e=this.getOperatorFunction(t);return t=>!r||r.reduce((r,n)=>{let i=n.accept(this);if("function"==typeof i)return e(r,i(t));throw Error("Filter is not a function")},!0)}throw Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:r,value:n}=e,i=[nl.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof n).includes(t))throw Error(`'${t}' comparator not allowed to be used with ${typeof n}`);let e=this.getComparatorFunction(t);return s=>{let a=s.metadata[r];return void 0===a?!!i.includes(t):e(a,nw(n))}}throw Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if("function"!=typeof t)throw Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,r="and"){if(!(ng(e)&&ng(t))){if(ng(e)||"replace"===r){if(ng(t))return;return t}if(ng(t)){if("and"===r)return;return e}if("and"===r)return r=>e(r)&&t(r);if("or"===r)return r=>e(r)||t(r);throw Error("Unknown merge type")}}},nE=(0,eH.__exportAll)({BaseTranslator:()=>nk,BasicTranslator:()=>nS,Comparators:()=>nl,Comparison:()=>np,Expression:()=>nh,FilterDirective:()=>nu,FunctionalTranslator:()=>nx,Operation:()=>nd,Operators:()=>no,StructuredQuery:()=>nf,Visitor:()=>nc,castValue:()=>nw,isBoolean:()=>nb,isFilterEmpty:()=>ng,isFloat:()=>ny,isInt:()=>n_,isObject:()=>nm,isString:()=>nv});function nC(e){return rD.BaseMessage.isInstance(e)?e.constructor.name||e.type:typeof e}function nA(e,t){return function(r,n){let{isNot:i,utils:s}=this;return t(r)?void 0===n?{pass:!0,message:()=>`${s.matcherHint(`toBe${e}`,void 0,void 0)}
12
12
 
13
13
  Expected: not ${e}
14
14
  Received: ${e}`}:"string"==typeof n?{pass:r.content===n,message:()=>`${s.matcherHint(`toBe${e}`,void 0,void 0)}
@@ -20,10 +20,10 @@ Expected: ${e} matching ${s.printExpected(n)}
20
20
  Received: ${e} with ${s.printReceived(t)}`},actual:(()=>{let e={};for(let t of Object.keys(n))e[t]=r[t];return e})(),expected:n}:{pass:!1,message:()=>`${s.matcherHint(`toBe${e}`,void 0,void 0)}
21
21
 
22
22
  Expected: ${i?"not ":""}${e}
23
- Received: ${nL(r)}`,actual:nL(r),expected:e}}}let nU=nD("HumanMessage",td.HumanMessage.isInstance),nB=nD("AIMessage",tp.AIMessage.isInstance),nH=nD("SystemMessage",r1.SystemMessage.isInstance),nW=nD("ToolMessage",e6.ToolMessage.isInstance);function nq(e,t){let{isNot:r,utils:n}=this;if(!tp.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
23
+ Received: ${nC(r)}`,actual:nC(r),expected:e}}}let nO=nA("HumanMessage",te.HumanMessage.isInstance),nI=nA("AIMessage",e9.AIMessage.isInstance),nT=nA("SystemMessage",rB.SystemMessage.isInstance),nj=nA("ToolMessage",eG.ToolMessage.isInstance);function nN(e,t){let{isNot:r,utils:n}=this;if(!e9.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
24
24
 
25
25
  Expected: AIMessage
26
- Received: ${nL(e)}`};let i=e.tool_calls??[];if(i.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
26
+ Received: ${nC(e)}`};let i=e.tool_calls??[];if(i.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
27
27
 
28
28
  Expected ${r?"not ":""}${t.length} tool call(s), received ${i.length}`,actual:i.length,expected:t.length};let s=t.filter(e=>!i.some(t=>Object.entries(e).every(([e,r])=>this.equals(t[e],r))));return s.length>0?{pass:!1,message:()=>`${n.matcherHint("toHaveToolCalls")}
29
29
 
@@ -31,22 +31,22 @@ Could not find matching tool call(s) for:
31
31
  ${n.printExpected(s)}
32
32
  Received tool calls: ${n.printReceived(i.map(e=>({name:e.name,id:e.id,args:e.args})))}`,actual:i.map(e=>({name:e.name,id:e.id,args:e.args})),expected:t}:{pass:!0,message:()=>`${n.matcherHint("toHaveToolCalls")}
33
33
 
34
- Expected AIMessage not to have matching tool calls`}}function nG(e,t){let{isNot:r,utils:n}=this;if(!tp.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCallCount")}
34
+ Expected AIMessage not to have matching tool calls`}}function nP(e,t){let{isNot:r,utils:n}=this;if(!e9.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolCallCount")}
35
35
 
36
36
  Expected: AIMessage
37
- Received: ${nL(e)}`};let i=e.tool_calls?.length??0;return{pass:i===t,message:()=>`${n.matcherHint("toHaveToolCallCount")}
37
+ Received: ${nC(e)}`};let i=e.tool_calls?.length??0;return{pass:i===t,message:()=>`${n.matcherHint("toHaveToolCallCount")}
38
38
 
39
39
  Expected ${r?"not ":""}${t} tool call(s)
40
- Received: ${i}`,actual:i,expected:t}}function nK(e,t){let{isNot:r,utils:n}=this;if(!tp.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toContainToolCall")}
40
+ Received: ${i}`,actual:i,expected:t}}function nM(e,t){let{isNot:r,utils:n}=this;if(!e9.AIMessage.isInstance(e))return{pass:!1,message:()=>`${n.matcherHint("toContainToolCall")}
41
41
 
42
42
  Expected: AIMessage
43
- Received: ${nL(e)}`};let i=e.tool_calls??[];return{pass:i.some(e=>Object.entries(t).every(([t,r])=>this.equals(e[t],r))),message:()=>`${n.matcherHint("toContainToolCall")}
43
+ Received: ${nC(e)}`};let i=e.tool_calls??[];return{pass:i.some(e=>Object.entries(t).every(([t,r])=>this.equals(e[t],r))),message:()=>`${n.matcherHint("toContainToolCall")}
44
44
 
45
45
  Expected AIMessage ${r?"not ":""}to contain a tool call matching ${n.printExpected(t)}
46
- Received tool calls: ${n.printReceived(i.map(e=>({name:e.name,id:e.id})))}`,actual:i.map(e=>({name:e.name,id:e.id})),expected:t}}function nz(e,t){let{isNot:r,utils:n}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
46
+ Received tool calls: ${n.printReceived(i.map(e=>({name:e.name,id:e.id})))}`,actual:i.map(e=>({name:e.name,id:e.id})),expected:t}}function n$(e,t){let{isNot:r,utils:n}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
47
47
 
48
48
  Expected an array of messages
49
- Received: ${typeof e}`};let i=e.filter(e6.ToolMessage.isInstance);if(i.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
49
+ Received: ${typeof e}`};let i=e.filter(eG.ToolMessage.isInstance);if(i.length!==t.length)return{pass:!1,message:()=>`${n.matcherHint("toHaveToolMessages")}
50
50
 
51
51
  Expected ${r?"not ":""}${t.length} tool message(s), found ${i.length}`,actual:i.length,expected:t.length};for(let e=0;e<t.length;e++)if(!Object.entries(t[e]).every(([t,r])=>this.equals(i[e][t],r)))return{pass:!1,message:()=>{let r={};for(let n of Object.keys(t[e]))r[n]=i[e][n];return`${n.matcherHint("toHaveToolMessages")}
52
52
 
@@ -54,7 +54,7 @@ Tool message at index ${e} did not match:
54
54
  Expected: ${n.printExpected(t[e])}
55
55
  Received: ${n.printReceived(r)}`},actual:i[e],expected:t[e]};return{pass:!0,message:()=>`${n.matcherHint("toHaveToolMessages")}
56
56
 
57
- Expected messages not to contain matching tool messages`}}function nJ(e,t){let{isNot:r,utils:n}=this,i=e?.__interrupt__;if(!(Array.isArray(i)&&i.length>0))return{pass:!1,message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
57
+ Expected messages not to contain matching tool messages`}}function nR(e,t){let{isNot:r,utils:n}=this,i=e?.__interrupt__;if(!(Array.isArray(i)&&i.length>0))return{pass:!1,message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
58
58
 
59
59
  Expected result ${r?"not ":""}to have been interrupted
60
60
  Received __interrupt__: ${n.printReceived(i)}`};if(void 0===t)return{pass:!0,message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
@@ -63,7 +63,7 @@ Expected result not to have been interrupted
63
63
  Received ${i.length} interrupt(s)`};let s=i[0]?.value;return{pass:this.equals(s,t),message:()=>`${n.matcherHint("toHaveBeenInterrupted")}
64
64
 
65
65
  Expected interrupt value: ${n.printExpected(t)}
66
- Received interrupt value: ${n.printReceived(s)}`,actual:s,expected:t}}function nZ(e,t){let{isNot:r,utils:n}=this,i=e?.structuredResponse;return void 0===i?{pass:!1,message:()=>`${n.matcherHint("toHaveStructuredResponse")}
66
+ Received interrupt value: ${n.printReceived(s)}`,actual:s,expected:t}}function nF(e,t){let{isNot:r,utils:n}=this,i=e?.structuredResponse;return void 0===i?{pass:!1,message:()=>`${n.matcherHint("toHaveStructuredResponse")}
67
67
 
68
68
  Expected result ${r?"not ":""}to have a structured response
69
69
  Received structuredResponse: undefined`}:void 0===t?{pass:!0,message:()=>`${n.matcherHint("toHaveStructuredResponse")}
@@ -71,27 +71,27 @@ Received structuredResponse: undefined`}:void 0===t?{pass:!0,message:()=>`${n.ma
71
71
  Expected result not to have a structured response`}:{pass:Object.entries(t).every(([e,t])=>this.equals(i[e],t)),message:()=>`${n.matcherHint("toHaveStructuredResponse")}
72
72
 
73
73
  Expected structured response: ${n.printExpected(t)}
74
- Received structured response: ${n.printReceived(i)}`,actual:i,expected:t}}let nY={toBeHumanMessage:nU,toBeAIMessage:nB,toBeSystemMessage:nH,toBeToolMessage:nW,toHaveToolCalls:nq,toHaveToolCallCount:nG,toContainToolCall:nK,toHaveToolMessages:nz,toHaveBeenInterrupted:nJ,toHaveStructuredResponse:nZ};e.s(["langchainMatchers",()=>nY,"toBeAIMessage",()=>nB,"toBeHumanMessage",()=>nU,"toBeSystemMessage",()=>nH,"toBeToolMessage",()=>nW,"toContainToolCall",()=>nK,"toHaveBeenInterrupted",()=>nJ,"toHaveStructuredResponse",()=>nZ,"toHaveToolCallCount",()=>nG,"toHaveToolCalls",()=>nq,"toHaveToolMessages",()=>nz],562223);var nQ=t9;let nX=0;var n0=class e extends nQ.BaseChatModel{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_state={callIndex:0,calls:[]};get calls(){return this._state.calls}get callCount(){return this._state.calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(e){return"function"==typeof e?this.queue.push({kind:"factory",factory:e}):rX.BaseMessage.isInstance(e)?this.queue.push({kind:"message",message:e}):this.queue.push({kind:"error",error:e}),this}respondWithTools(e){return this.queue.push({kind:"toolCalls",toolCalls:e.map(e=>({name:e.name,args:e.args,id:e.id??(nX+=1,`fake_tc_${nX}`),type:"tool_call"}))}),this}alwaysThrow(e){return this._alwaysThrowError=e,this}structuredResponse(e){return this._structuredResponseValue=e,this}bindTools(t){let r=[...this._tools,...t],n=new e;return n.queue=this.queue,n._alwaysThrowError=this._alwaysThrowError,n._structuredResponseValue=this._structuredResponseValue,n._tools=r,n._state=this._state,n.withConfig({})}withStructuredOutput(e,t){let{_structuredResponseValue:r}=this;return tb.RunnableLambda.from(async()=>r)}async _generate(e,t,r){this._state.calls.push({messages:[...e],options:t});let n=this._state.callIndex;if(this._state.callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let i=this.queue[n];if(!i)throw Error(`FakeModel: no response queued for invocation ${n} (${this.queue.length} total queued).`);if("error"===i.kind)throw i.error;if("factory"===i.kind){let t=i.factory(e);if(!rX.BaseMessage.isInstance(t))throw t;return{generations:[{text:"",message:t}]}}if("message"===i.kind)return{generations:[{text:"",message:i.message}]};let s=e.map(e=>e.text).filter(Boolean).join("-");return{generations:[{text:s,message:new tp.AIMessage({content:s,id:n.toString(),tool_calls:i.toolCalls.length>0?i.toolCalls.map(e=>({...e,type:"tool_call"})):void 0})}],llmOutput:{}}}};function n1(){return new n0}e.s(["FakeBuiltModel",()=>n0,"fakeModel",()=>n1],986827);var n4=(0,eX.__exportAll)({FakeBuiltModel:()=>n0,fakeModel:()=>n1,langchainMatchers:()=>nY,toBeAIMessage:()=>nB,toBeHumanMessage:()=>nU,toBeSystemMessage:()=>nH,toBeToolMessage:()=>nW,toContainToolCall:()=>nK,toHaveBeenInterrupted:()=>nJ,toHaveStructuredResponse:()=>nZ,toHaveToolCallCount:()=>nG,toHaveToolCalls:()=>nq,toHaveToolMessages:()=>nz});e.s(["testing_exports",()=>n4],388191);var n2=e.i(77938),n6=e9,n8=(0,eX.__exportAll)({RunCollectorCallbackHandler:()=>n5}),n5=class extends n6.BaseTracer{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}},n3=(0,eX.__exportAll)({}),n9=e.i(543900),n7=(0,eX.__exportAll)({context:()=>ie});function ie(e,...t){let r=e.raw,n="";for(let e=0;e<r.length;e++)if(n+=r[e].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{"),e<t.length){let r=function(e,t){if("string"!=typeof e||!e.includes("\n"))return e;let r=t.slice(t.lastIndexOf("\n")+1).match(/^(\s+)/);if(r){let t=r[1];return e.replace(/\n/g,`
75
- ${t}`)}return e}(t[e],n);n+="string"==typeof r?r:JSON.stringify(r)}return(n=(n=function(e){let t=e.split("\n"),r=null;for(let e of t){let t=e.match(/^(\s+)\S+/);if(t){let e=t[1].length;r=null===r?e:Math.min(r,e)}}return null===r?e:t.map(e=>" "===e[0]||" "===e[0]?e.slice(r):e).join("\n")}(n)).trim()).replace(/\\n/g,"\n")}e.s(["context",()=>ie,"context_exports",()=>n7],741243);var it=(0,eX.__exportAll)({EventStreamContentType:()=>ir,convertEventStreamToIterableReadableDataStream:()=>il,getBytes:()=>ii,getLines:()=>is,getMessages:()=>ia});let ir="text/event-stream";async function ii(e,t){if(e instanceof ReadableStream){let r=e.getReader();for(;;){let e=await r.read();if(e.done){t(new Uint8Array,!0);break}t(e.value)}}else try{for await(let r of e)t(new Uint8Array(r));t(new Uint8Array,!0)}catch(e){throw Error(`Parsing event source stream failed.
74
+ Received structured response: ${n.printReceived(i)}`,actual:i,expected:t}}let nV={toBeHumanMessage:nO,toBeAIMessage:nI,toBeSystemMessage:nT,toBeToolMessage:nj,toHaveToolCalls:nN,toHaveToolCallCount:nP,toContainToolCall:nM,toHaveToolMessages:n$,toHaveBeenInterrupted:nR,toHaveStructuredResponse:nF};e.s(["langchainMatchers",()=>nV,"toBeAIMessage",()=>nI,"toBeHumanMessage",()=>nO,"toBeSystemMessage",()=>nT,"toBeToolMessage",()=>nj,"toContainToolCall",()=>nM,"toHaveBeenInterrupted",()=>nR,"toHaveStructuredResponse",()=>nF,"toHaveToolCallCount",()=>nP,"toHaveToolCalls",()=>nN,"toHaveToolMessages",()=>n$],562223);var nL=tJ;let nD=0;var nH=class e extends nL.BaseChatModel{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_state={callIndex:0,calls:[]};get calls(){return this._state.calls}get callCount(){return this._state.calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(e){return"function"==typeof e?this.queue.push({kind:"factory",factory:e}):rD.BaseMessage.isInstance(e)?this.queue.push({kind:"message",message:e}):this.queue.push({kind:"error",error:e}),this}respondWithTools(e){return this.queue.push({kind:"toolCalls",toolCalls:e.map(e=>({name:e.name,args:e.args,id:e.id??(nD+=1,`fake_tc_${nD}`),type:"tool_call"}))}),this}alwaysThrow(e){return this._alwaysThrowError=e,this}structuredResponse(e){return this._structuredResponseValue=e,this}bindTools(t){let r=[...this._tools,...t],n=new e;return n.queue=this.queue,n._alwaysThrowError=this._alwaysThrowError,n._structuredResponseValue=this._structuredResponseValue,n._tools=r,n._state=this._state,n.withConfig({})}withStructuredOutput(e,t){let{_structuredResponseValue:r}=this;return ta.RunnableLambda.from(async()=>r)}async _generate(e,t,r){this._state.calls.push({messages:[...e],options:t});let n=this._state.callIndex;if(this._state.callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let i=this.queue[n];if(!i)throw Error(`FakeModel: no response queued for invocation ${n} (${this.queue.length} total queued).`);if("error"===i.kind)throw i.error;if("factory"===i.kind){let t=i.factory(e);if(!rD.BaseMessage.isInstance(t))throw t;return{generations:[{text:"",message:t}]}}if("message"===i.kind)return{generations:[{text:"",message:i.message}]};let s=e.map(e=>e.text).filter(Boolean).join("-");return{generations:[{text:s,message:new e9.AIMessage({content:s,id:n.toString(),tool_calls:i.toolCalls.length>0?i.toolCalls.map(e=>({...e,type:"tool_call"})):void 0})}],llmOutput:{}}}};function nB(){return new nH}e.s(["FakeBuiltModel",()=>nH,"fakeModel",()=>nB],986827);var nU=(0,eH.__exportAll)({FakeBuiltModel:()=>nH,fakeModel:()=>nB,langchainMatchers:()=>nV,toBeAIMessage:()=>nI,toBeHumanMessage:()=>nO,toBeSystemMessage:()=>nT,toBeToolMessage:()=>nj,toContainToolCall:()=>nM,toHaveBeenInterrupted:()=>nR,toHaveStructuredResponse:()=>nF,toHaveToolCallCount:()=>nP,toHaveToolCalls:()=>nN,toHaveToolMessages:()=>n$});e.s(["testing_exports",()=>nU],388191);var nW=e.i(77938),nq=eJ,nG=(0,eH.__exportAll)({RunCollectorCallbackHandler:()=>nK}),nK=class extends nq.BaseTracer{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}},nz=(0,eH.__exportAll)({}),nJ=e.i(543900),nZ=(0,eH.__exportAll)({context:()=>nY});function nY(e,...t){let r=e.raw,n="";for(let e=0;e<r.length;e++)if(n+=r[e].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{"),e<t.length){let r=function(e,t){if("string"!=typeof e||!e.includes("\n"))return e;let r=t.slice(t.lastIndexOf("\n")+1).match(/^(\s+)/);if(r){let t=r[1];return e.replace(/\n/g,`
75
+ ${t}`)}return e}(t[e],n);n+="string"==typeof r?r:JSON.stringify(r)}return(n=(n=function(e){let t=e.split("\n"),r=null;for(let e of t){let t=e.match(/^(\s+)\S+/);if(t){let e=t[1].length;r=null===r?e:Math.min(r,e)}}return null===r?e:t.map(e=>" "===e[0]||" "===e[0]?e.slice(r):e).join("\n")}(n)).trim()).replace(/\\n/g,"\n")}e.s(["context",()=>nY,"context_exports",()=>nZ],741243);var nQ=(0,eH.__exportAll)({EventStreamContentType:()=>nX,convertEventStreamToIterableReadableDataStream:()=>n6,getBytes:()=>n0,getLines:()=>n1,getMessages:()=>n4});let nX="text/event-stream";async function n0(e,t){if(e instanceof ReadableStream){let r=e.getReader();for(;;){let e=await r.read();if(e.done){t(new Uint8Array,!0);break}t(e.value)}}else try{for await(let r of e)t(new Uint8Array(r));t(new Uint8Array,!0)}catch(e){throw Error(`Parsing event source stream failed.
76
76
  Ensure your implementation of fetch returns a web or Node readable stream.
77
- Error: ${e.message}`)}}function is(e){let t,r,n,i=!1;return function(s,a){var o,l;let c;if(a)return void e(s,0,!0);void 0===t?(t=s,r=0,n=-1):(o=t,l=s,(c=new Uint8Array(o.length+l.length)).set(o),c.set(l,o.length),t=c);let h=t.length,u=0;for(;r<h;){i&&(10===t[r]&&(u=++r),i=!1);let s=-1;for(;r<h&&-1===s;++r)switch(t[r]){case 58:-1===n&&(n=r-u);break;case 13:i=!0;case 10:s=r}if(-1===s)break;e(t.subarray(u,s),n),u=r,n=-1}u===h?t=void 0:0!==u&&(t=t.subarray(u),r-=u)}}function ia(e,t,r){let n=io(),i=new TextDecoder;return function(s,a,o){if(o){var l;(""!==(l=n).data||""!==l.event||""!==l.id||void 0!==l.retry)&&(e?.(n),n=io());return}if(0===s.length)e?.(n),n=io();else if(a>0){let e=i.decode(s.subarray(0,a)),o=a+(32===s[a+1]?2:1),l=i.decode(s.subarray(o));switch(e){case"data":n.data=n.data?n.data+"\n"+l:l;break;case"event":n.event=l;break;case"id":t?.(n.id=l);break;case"retry":{let e=parseInt(l,10);Number.isNaN(e)||r?.(n.retry=e)}}}}}function io(){return{data:"",event:"",id:"",retry:void 0}}function il(e,t){let r=new ReadableStream({async start(r){let n=ia(e=>{if("error"===e.event)throw Error(e.data??"Unspecified event streaming error.");"metadata"===e.event?t?.(e):e.data&&r.enqueue(e.data)});await ii(e,is((e,t,i)=>{n(e,t,i),i&&r.close()}))}});return tn.IterableReadableStream.fromReadableStream(r)}var ic=(0,eX.__exportAll)({}),ih=e.i(916844);function iu(e,t){let r=0,n=0,i=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],n+=e[s]*e[s],i+=t[s]*t[s];return r/(Math.sqrt(n)*Math.sqrt(i))}function ip(e,t){let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}function id(e,t){return Math.sqrt(function(e,t){let r=0;for(let n=0;n<e.length;n++)r+=(e[n]-t[n])*(e[n]-t[n]);return r}(e,t))}var im=(0,eX.__exportAll)({cosineSimilarity:()=>iy,euclideanDistance:()=>iv,innerProduct:()=>ib,matrixFunc:()=>ig,maximalMarginalRelevance:()=>iw,normalize:()=>i_});function ig(e,t,r){if(0===e.length||0===e[0].length||0===t.length||0===t[0].length)return[[]];if(e[0].length!==t[0].length)throw Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(e=>t.map(t=>r(e,t)).map(e=>Number.isNaN(e)?0:e))}function i_(e,t=!1){let r=e.reduce((e,t)=>Math.max(e,ik(t).maxValue),0);return e.map(e=>e.map(e=>t?1-e/r:e/r))}function iy(e,t){return ig(e,t,iu)}function ib(e,t){return ig(e,t,ip)}function iv(e,t){return ig(e,t,id)}function iw(e,t,r=.5,n=4){if(0>=Math.min(n,t.length))return[];let i=iy(Array.isArray(e[0])?e:[e],t)[0],s=ik(i).maxIndex,a=[t[s]],o=[s];for(;o.length<Math.min(n,t.length);){let e=-1/0,n=-1,s=iy(t,a);i.forEach((t,i)=>{if(o.includes(i))return;let a=r*t-(1-r)*Math.max(...s[i]);a>e&&(e=a,n=i)}),a.push(t[n]),o.push(n)}return o}function ik(e){if(0===e.length)return{maxIndex:-1,maxValue:NaN};let t=e[0],r=0;for(let n=1;n<e.length;n+=1)e[n]>t&&(r=n,t=e[n]);return{maxIndex:r,maxValue:t}}var iS=(0,eX.__exportAll)({isCloudMetadata:()=>iM,isLocalhost:()=>i$,isPrivateIp:()=>iP,isSafeUrl:()=>iV,isSameOrigin:()=>iF,validateSafeUrl:()=>iR});let ix=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],iE=["169.254.169.254","169.254.170.2","100.100.100.200"],iC=["metadata.google.internal","metadata","instance-data"],iA=["localhost","localhost.localdomain"],iO=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function iI(e){return null!==iN(e)}function iT(e){return iO.test(e)||iI(e)}function ij(e){if(iO.test(e))return e.split(".").map(e=>parseInt(e,10));if(iI(e)){let t=iN(e);if(!t)return null;let r=t.split(":"),n=[];for(let e of r)n.push(parseInt(e,16));return n}return null}function iN(e){if(!e||"string"!=typeof e||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let e=t.split("::");if(e.length>2)return null;let[r,n]=e,i=r?r.split(":"):[],s=n?n.split(":"):[],a=8-(i.length+s.length);if(a<0)return null;t=[...i,...Array(a).fill("0"),...s].filter(e=>""!==e).join(":")}let r=t.split(":");if(8!==r.length)return null;for(let e of r)if(0===e.length||e.length>4||!/^[0-9a-fA-F]+$/.test(e))return null;return r.map(e=>e.padStart(4,"0").toLowerCase()).join(":")}function iP(e){if(!iT(e))return!1;for(let t of ix)if(function(e,t){let r=ij(e);if(!r)return!1;let n=function(e){let[t,r]=e.split("/");if(!t||!r)return null;let n=ij(t);if(!n)return null;let i=parseInt(r,10);if(isNaN(i))return null;let s=iI(t);return s&&i>128||!s&&i>32?null:{addr:n,prefixLen:i,isIpv6:s}}(t);if(!n)return!1;let i=iI(e);if(i!==n.isIpv6)return!1;let{addr:s,prefixLen:a}=n;if(i)for(let e=0;e<Math.ceil(a/16);e++){let t=65535<<16-Math.min(16,a-16*e)&65535;if((r[e]&t)!=(s[e]&t))return!1}else for(let e=0;e<Math.ceil(a/8);e++){let t=255<<8-Math.min(8,a-8*e)&255;if((r[e]&t)!=(s[e]&t))return!1}return!0}(e,t))return!0;return!1}function iM(e,t){if(iE.includes(t||""))return!0;let r=e.toLowerCase();return!!iC.includes(r)}function i$(e,t){if(t&&("127.0.0.1"===t||"::1"===t||"0.0.0.0"===t||t.startsWith("127.")))return!0;let r=e.toLowerCase();return!!iA.includes(r)}function iR(e,t){let r=t?.allowPrivate??!1,n=t?.allowHttp??!1;try{let t;try{t=new URL(e)}catch{throw Error(`Invalid URL: ${e}`)}let i=t.hostname;if(!i)throw Error("URL missing hostname.");if(iM(i))throw Error(`URL points to cloud metadata endpoint: ${i}`);if(i$(i)){if(!r)throw Error(`URL points to localhost: ${i}`);return e}let s=t.protocol;if("http:"!==s&&"https:"!==s)throw Error(`Invalid URL scheme: ${s}. Only http and https are allowed.`);if("http:"===s&&!n)throw Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(iT(i)){if(i$(i,i)){if(!r)throw Error(`URL points to localhost: ${i}`);return e}if(iM(i,i))throw Error(`URL resolves to cloud metadata IP: ${i} (${i})`);if(iP(i)&&!r)throw Error(`URL resolves to private IP: ${i} (${i}). Set allowPrivate: true to allow.`)}return e}catch(e){if(e&&"object"==typeof e&&"message"in e)throw e;throw Error(`URL validation failed: ${e}`)}}function iV(e,t){try{return iR(e,t),!0}catch{return!1}}function iF(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var iL=eZ,iD=(0,eX.__exportAll)({SaveableVectorStore:()=>iH,VectorStore:()=>iB,VectorStoreRetriever:()=>iU}),iU=class extends nm{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,"mmr"===e.searchType&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if("mmr"===this.searchType){if("function"!=typeof this.vectorStore.maxMarginalRelevanceSearch)throw Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},iB=class extends iL.Serializable{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw Error("Not implemented.")}async similaritySearch(e,t=4,r,n){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)).map(e=>e[0])}async similaritySearchWithScore(e,t=4,r,n){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)}static fromTexts(e,t,r,n){throw Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,r){throw Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,r,n,i,s){if("number"==typeof e)return new iU({vectorStore:this,k:e,filter:t,tags:[...n??[],this._vectorstoreType()],metadata:i,verbose:s,callbacks:r});{let t={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return new iU(e?.searchType==="mmr"?{...t,searchKwargs:e.searchKwargs}:{...t})}}},iH=class extends iB{static load(e,t){throw Error("Not implemented")}},iW=t9,iq=class extends iW.BaseChatModel{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,r){if(t?.stop?.length)return{generations:[{message:new tp.AIMessage(t.stop[0]),text:t.stop[0]}]};let n=e.map(e=>"string"==typeof e.content?e.content:JSON.stringify(e.content,null,2)).join("\n");return await r?.handleLLMNewToken(n),{generations:[{message:new tp.AIMessage(n),text:n}],llmOutput:{}}}},iG=class e extends iW.BaseChatModel{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:e=50,responses:t=[],chunks:r=[],toolStyle:n="openai",thrownErrorString:i,...s}){super(s),this.sleep=e,this.responses=t,this.chunks=r,this.toolStyle=n,this.thrownErrorString=i}_llmType(){return"fake"}bindTools(t){let r=[...this.tools,...t],n=r.map(e=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:e.name,description:e.description,parameters:(0,tl.toJsonSchema)(e.schema)}};case"anthropic":return{name:e.name,description:e.description,input_schema:(0,tl.toJsonSchema)(e.schema)};case"bedrock":return{toolSpec:{name:e.name,description:e.description,inputSchema:(0,tl.toJsonSchema)(e.schema)}};case"google":return{name:e.name,description:e.description,parameters:(0,tl.toJsonSchema)(e.schema)};default:throw Error(`Unsupported tool style: ${this.toolStyle}`)}}),i="google"===this.toolStyle?[{functionDeclarations:n}]:n,s=new e({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return s.tools=r,s.withConfig({tools:i})}async _generate(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);return{generations:[{text:"",message:new tp.AIMessage({content:this.responses?.[0]?.content??e[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async *_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);if(this.chunks?.length){for(let e of this.chunks){let n=new ts.ChatGenerationChunk({message:new tp.AIMessageChunk({content:e.content,tool_calls:e.tool_calls,additional_kwargs:e.additional_kwargs??{}}),text:e.content?.toString()??""});if(t.signal?.aborted)break;yield n,await r?.handleLLMNewToken(e.content,void 0,void 0,void 0,void 0,{chunk:n})}return}let n=this.responses?.[0]??new tp.AIMessage("string"==typeof e[0].content?e[0].content:"");for(let e of"string"==typeof n.content?n.content:""){await new Promise(e=>setTimeout(e,this.sleep));let n=new ts.ChatGenerationChunk({message:new tp.AIMessageChunk({content:e}),text:e});if(t.signal?.aborted)break;yield n,await r?.handleLLMNewToken(e,void 0,void 0,void 0,void 0,{chunk:n})}}},iK=class e extends iW.BaseChatModel{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(e){super(e);const{responses:t,sleep:r,emitCustomEvent:n,generationInfo:i}=e;this.responses=t,this.sleep=r,this.emitCustomEvent=n??this.emitCustomEvent,this.generationInfo=i}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(e,t,r){if(await this._sleepIfRequested(),t?.thrownErrorString)throw Error(t.thrownErrorString);if(this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0}),t?.stop?.length)return{generations:[this._formatGeneration(t.stop[0])]};{let e=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(e)],llmOutput:{}}}}_formatGeneration(e){return{message:new tp.AIMessage(e),text:e}}async *_streamResponseChunks(e,t,r){let n=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0});let i=[...n];for(let e=0;e<i.length;e++){let n=i[e],s=e===i.length-1;if(await this._sleepIfRequested(),t?.thrownErrorString)throw Error(t.thrownErrorString);let a=this._createResponseChunk(n,s?this.generationInfo:void 0);if(t.signal?.aborted)break;yield a,r?.handleLLMNewToken(n)}}async _sleepIfRequested(){void 0!==this.sleep&&await this._sleep()}async _sleep(){return new Promise(e=>{setTimeout(()=>e(),this.sleep)})}_createResponseChunk(e,t){return new ts.ChatGenerationChunk({message:new tp.AIMessageChunk({content:e}),text:e,generationInfo:t})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let r=[...this.tools,...t],n=r.map(e=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:e.name,description:e.description,parameters:(0,tl.toJsonSchema)(e.schema)}};case"anthropic":return{name:e.name,description:e.description,input_schema:(0,tl.toJsonSchema)(e.schema)};case"bedrock":return{toolSpec:{name:e.name,description:e.description,inputSchema:(0,tl.toJsonSchema)(e.schema)}};case"google":return{name:e.name,description:e.description,parameters:(0,tl.toJsonSchema)(e.schema)};default:throw Error(`Unsupported tool style: ${this.toolStyle}`)}}),i="google"===this.toolStyle?[{functionDeclarations:n}]:n,s=new e({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return s.tools=r,s.toolStyle=this.toolStyle,s.i=this.i,s.withConfig({tools:i})}withStructuredOutput(e,t){return tb.RunnableLambda.from(async e=>{let t=await this.invoke(e);if(t.tool_calls?.[0]?.args)return t.tool_calls[0].args;if("string"==typeof t.content)return JSON.parse(t.content);throw Error("No structured output found")})}},iz=tI,iJ=class extends iz.Embeddings{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(e=>this.embedQuery(e)))}async embedQuery(e){let t=e,r=(t=t.toLowerCase().replaceAll(/[^a-z ]/g,"")).length%this.vectorSize,n=0===r?0:this.vectorSize-r,i=t.length+n,s=(t=t.padEnd(i," ")).length/this.vectorSize,a=[];for(let e=0;e<t.length;e+=s)a.push(t.slice(e,e+s));return a.map(e=>{let t=0;for(let r=0;r<e.length;r+=1)t+=" "===e?0:e.charCodeAt(r);return t%26/26})}},iZ=class extends iz.Embeddings{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},iY=re,iQ=class extends iY.LLM{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);let n=this.response??e;return await r?.handleLLMNewToken(n),n}},iX=class extends iY.LLM{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async *_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);let n=this.responses?.[0];for(let t of(this.responses=this.responses?.slice(1),n??e))await new Promise(e=>setTimeout(e,this.sleep)),yield{text:t,generationInfo:{}},await r?.handleLLMNewToken(t)}},i0=e9,i1=class extends tm{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new td.HumanMessage(e))}async addAIMessage(e){this.messages.push(new tp.AIMessage(e))}async clear(){this.messages=[]}},i4=class extends tg{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},i2=class extends i0.BaseTracer{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}},i6=rh,i8=class extends i6.BaseOutputParser{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(e=>e.trim())}},i5=class extends nm{lc_namespace=["test","fake"];output=[new ty({pageContent:"foo"}),new ty({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},i3=tb,i9=class extends i3.Runnable{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},i7=n2,se=class extends i7.StructuredTool{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},st=e9,sr=class extends st.BaseTracer{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},sn=class e extends iB{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(e,{similarity:t,...r}={}){super(e,r),this.similarity=t??iu}async addDocuments(e){let t=e.map(({pageContent:e})=>e);return this.addVectors(await this.embeddings.embedDocuments(t),e)}async addVectors(e,t){let r=e.map((e,r)=>({content:t[r].pageContent,embedding:e,metadata:t[r].metadata}));this.memoryVectors=this.memoryVectors.concat(r)}async similaritySearchVectorWithScore(e,t,r){let n=this.memoryVectors.filter(e=>!r||r(new ty({metadata:e.metadata,pageContent:e.content})));return n.map((t,r)=>({similarity:this.similarity(e,t.embedding),index:r})).sort((e,t)=>e.similarity>t.similarity?-1:0).slice(0,t).map(e=>[new ty({metadata:n[e.index].metadata,pageContent:n[e.index].content}),e.similarity])}static async fromTexts(t,r,n,i){let s=[];for(let e=0;e<t.length;e+=1){let n=Array.isArray(r)?r[e]:r,i=new ty({pageContent:t[e],metadata:n});s.push(i)}return e.fromDocuments(s,n,i)}static async fromDocuments(e,t,r){let n=new this(t,r);return await n.addDocuments(e),n}static async fromExistingIndex(e,t){return new this(e,t)}},si=(0,eX.__exportAll)({FakeChatMessageHistory:()=>i1,FakeChatModel:()=>iq,FakeEmbeddings:()=>iZ,FakeLLM:()=>iQ,FakeListChatMessageHistory:()=>i4,FakeListChatModel:()=>iK,FakeRetriever:()=>i5,FakeRunnable:()=>i9,FakeSplitIntoListParser:()=>i8,FakeStreamingChatModel:()=>iG,FakeStreamingLLM:()=>iX,FakeTool:()=>se,FakeTracer:()=>i2,FakeVectorStore:()=>sn,SingleRunExtractor:()=>sr,SyntheticEmbeddings:()=>iJ}),ss=(0,eX.__exportAll)({agents:()=>e1,caches:()=>e8.caches_exports,callbacks__base:()=>e3.base_exports,callbacks__manager:()=>tr.manager_exports,callbacks__promises:()=>tt.promises_exports,chat_history:()=>tf,document_loaders__base:()=>tS,document_loaders__langsmith:()=>tC,documents:()=>tk,embeddings:()=>tI.embeddings_exports,errors:()=>e2.errors_exports,example_selectors:()=>tD,index:()=>e0,indexing:()=>tY,language_models__base:()=>t0.base_exports,language_models__chat_models:()=>t9.chat_models_exports,language_models__compat:()=>t3.compat_exports,language_models__event:()=>t7,language_models__llms:()=>re.llms_exports,language_models__profile:()=>rt,language_models__stream:()=>t5.stream_exports,language_models__structured_output:()=>t8.structured_output_exports,load__serializable:()=>eZ.serializable_exports,memory:()=>rr,messages:()=>th.messages_exports,messages__tool:()=>e6.tool_exports,output_parsers:()=>t2.output_parsers_exports,output_parsers__openai_functions:()=>rm,output_parsers__openai_tools:()=>rg.openai_tools_exports,outputs:()=>ts.outputs_exports,prompt_values:()=>tQ.prompt_values_exports,prompts:()=>nc,retrievers:()=>nf,retrievers__document_compressors:()=>nh,runnables:()=>t1.runnables_exports,runnables__graph:()=>tc.graph_exports,singletons:()=>t.singletons_exports,stores:()=>n_,structured_query:()=>nF,testing:()=>n4,tools:()=>n2.tools_exports,tracers__base:()=>e9.base_exports,tracers__console:()=>e7.console_exports,tracers__log_stream:()=>ti.log_stream_exports,tracers__run_collector:()=>n8,tracers__tracer_langchain:()=>te.tracer_langchain_exports,types__stream:()=>n3,utils__async_caller:()=>ta.async_caller_exports,utils__chunk_array:()=>n9.chunk_array_exports,utils__context:()=>n7,utils__env:()=>eY.env_exports,utils__event_source_parse:()=>it,utils__format:()=>ic,utils__function_calling:()=>ih.function_calling_exports,utils__hash:()=>e4.hash_exports,utils__json_patch:()=>t4.json_patch_exports,utils__json_schema:()=>tl.json_schema_exports,utils__math:()=>im,utils__ssrf:()=>iS,utils__standard_schema:()=>to.standard_schema_exports,utils__stream:()=>tn.stream_exports,utils__testing:()=>si,utils__tiktoken:()=>tX.tiktoken_exports,utils__types:()=>t6.types_exports,utils__uuid:()=>e5.uuid_exports,vectorstores:()=>iD});async function sa(e){let{optionalImportsMap:t,optionalImportEntrypoints:r,importMap:n,secretsMap:i,secretsFromEnv:s,path:a,depth:o,maxDepth:l}=this,c=a.join(".");if(o>l)throw Error(`Maximum recursion depth (${l}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if("object"!=typeof e||null==e)return e;if(Array.isArray(e))return Promise.all(e.map((e,t)=>sa.call({...this,path:[...a,`${t}`],depth:o+1},e)));if((0,eJ.isEscapedObject)(e))return(0,eJ.unescapeValue)(e);if("lc"in e&&"type"in e&&"id"in e&&1===e.lc&&"secret"===e.type){let[t]=e.id;if(t in i)return i[t];if(s){let e=(0,eY.getEnvironmentVariable)(t);if(e)return e}throw Error(`Missing secret "${t}" at ${c}`)}if("lc"in e&&"type"in e&&"id"in e&&1===e.lc&&"not_implemented"===e.type){let t=JSON.stringify(e);throw Error(`Trying to load an object that doesn't implement serialization: ${c} -> ${t}`)}if("lc"in e&&"type"in e&&"id"in e&&"kwargs"in e&&1===e.lc&&"constructor"===e.type){let i=JSON.stringify(e),[s,...l]=e.id.slice().reverse(),h=l.reverse(),u=null,p=[h.join("/")];"langchain_community"===h[0]&&p.push(["langchain",...h.slice(1)].join("/"));let d=p.find(e=>e in t);if(eQ.concat(r).includes(h.join("/"))||d)if(void 0!==d)u=await t[d];else throw Error(`Missing key "${h.join("/")}" for ${c} in load(optionalImportsMap={})`);else{let e,t;if("langchain"===h[0]||"langchain_core"===h[0])e=({langchain_core:ss,langchain:n})[h[0]],h.shift();else throw Error(`Invalid namespace: ${c} -> ${i}`);if(0===h.length)throw Error(`Invalid namespace: ${c} -> ${i}`);do{if((t=h.join("__"))in e)break;h.pop()}while(h.length>0)t in e&&(u=e[t])}if("object"!=typeof u||null===u)throw Error(`Invalid namespace: ${c} -> ${i}`);let f=u[s]??Object.values(u).find(e=>"function"==typeof e&&(0,eZ.get_lc_unique_name)(e)===s);if("function"!=typeof f)throw Error(`Invalid identifer: ${c} -> ${i}`);let m=new f((0,ez.mapKeys)(await sa.call({...this,path:[...a,"kwargs"],depth:o+1},e.kwargs),ez.keyFromJson,function(e){let t={};for(let r=e;r&&r.prototype;r=Object.getPrototypeOf(r))Object.assign(t,Reflect.get(r.prototype,"lc_aliases"));return Object.entries(t).reduce((e,[t,r])=>(e[r]=t,e),{})}(f)));return Object.defineProperty(m.constructor,"name",{value:s}),m}let h={};for(let[t,r]of Object.entries(e))h[t]=await sa.call({...this,path:[...a,t],depth:o+1},r);return h}async function so(e,t){let r=JSON.parse(e),n={optionalImportsMap:t?.optionalImportsMap??{},optionalImportEntrypoints:t?.optionalImportEntrypoints??[],secretsMap:t?.secretsMap??{},secretsFromEnv:t?.secretsFromEnv??!1,importMap:t?.importMap??{},path:["$"],depth:0,maxDepth:t?.maxDepth??50};return sa.call(n,r)}async function sl(e){if(e&&"object"==typeof e)if(Array.isArray(e))return await Promise.all(e.map(e=>sl(e)));else{let t={};for(let[r,n]of Object.entries(e))t[r]=await sl(n);if(2===t.lc&&"undefined"===t.type)return;if(2===t.lc&&"delta_snapshot"===t.type)return new eW(t.value);if(2===t.lc&&"constructor"===t.type&&Array.isArray(t.id))try{let e;switch(t.id[t.id.length-1]){case"Set":e=Set;break;case"Map":e=Map;break;case"RegExp":e=RegExp;break;case"Error":e=Error;break;case"Uint8Array":e=Uint8Array;break;default:return t}if(t.method)return e[t.method](...t.args||[]);return new e(...t.args||[])}catch{}else if(null!==t&&1===t.lc&&"constructor"===t.type&&Array.isArray(t.id))return so(JSON.stringify(t));return t}return e}function sc(e,t,r,n){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:r??[],kwargs:n??{}}}var sh=class{_dumps(e){return new TextEncoder().encode(function(e,t,r,n){void 0===n&&(n={depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}),function e(t,r,n,i,s,a,o){if(a+=1,"object"==typeof t&&null!==t){for(l=0;l<i.length;l++)if(i[l]===t)return void eK("[Circular]",t,r,s);if(void 0!==o.depthLimit&&a>o.depthLimit||void 0!==o.edgesLimit&&n+1>o.edgesLimit)return void eK("[...]",t,r,s);if(i.push(t),Array.isArray(t))for(l=0;l<t.length;l++)e(t[l],l,l,i,t,a,o);else{var l,c=Object.keys(t);for(l=0;l<c.length;l++){var h=c[l];e(t[h],h,l,i,t,a,o)}}i.pop()}}(e,"",0,[],void 0,0,n);try{var i;s=0===eG.length?JSON.stringify(e,t,void 0):JSON.stringify(e,(i=t,i=void 0!==i?i:function(e,t){return t},function(e,t){if(eG.length>0)for(var r=0;r<eG.length;r++){var n=eG[r];if(n[1]===e&&n[0]===t){t=n[2],eG.splice(r,1);break}}return i.call(this,e,t)}),void 0)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eq.length;){var s,a=eq.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return s}(e,(e,t)=>(function(e){if(void 0===e)return{lc:2,type:"undefined"};if(e instanceof eW)return{lc:2,type:"delta_snapshot",value:e.value};if(e instanceof Set||e instanceof Map)return sc(e.constructor,void 0,[Array.from(e)]);if(e instanceof RegExp)return sc(RegExp,void 0,[e.source,e.flags]);if(e instanceof Error)return sc(e.constructor,void 0,[e.message]);else if(e?.lg_name==="Send")return{node:e.node,args:e.args,...void 0!==e.timeout?{timeout:e.timeout}:{}};else if(e instanceof Uint8Array)return sc(Uint8Array,"from",[Array.from(e)]);else return e})(t)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return sl(JSON.parse(e))}async loadsTyped(e,t){if("bytes"===e)return"string"==typeof t?new TextEncoder().encode(t):t;if("json"===e)return this._loads("string"==typeof t?t:new TextDecoder().decode(t));throw Error(`Unknown serialization type: ${e}`)}};function su(e){if("object"!=typeof e||null===e)return e;let t=Array.isArray(e)?[]:{};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=su(e[r]));return t}function sp(){return{v:4,id:eD(0),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function sd(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:su(e.versions_seen)}}var sf=class{serde=new sh;constructor(e){this.serde=e||this.serde}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(0===r.length)return{};let n={},i={},s=new Set(r);for(let e of r)n[e]=[];let a=(await this.getTuple(t))?.parentConfig;for(;null!=a&&s.size>0;){let e=await this.getTuple(a);if(void 0===e)break;if(e.pendingWrites&&e.pendingWrites.length>0)for(let t=e.pendingWrites.length-1;t>=0;t-=1){let r=e.pendingWrites[t],i=r[1];s.has(i)&&n[i].push(r)}for(let t of Array.from(s))Object.prototype.hasOwnProperty.call(e.checkpoint.channel_values,t)&&(i[t]=e.checkpoint.channel_values[t],s.delete(t));a=e.parentConfig}let o={};for(let e of r){let t={writes:n[e].slice().reverse()};Object.prototype.hasOwnProperty.call(i,e)&&(t.seed=i[e]),o[e]=t}return o}getNextVersion(e){if("string"==typeof e)throw Error("Please override this method to use string versions.");return void 0!==e&&"number"==typeof e?e+1:1}};function sm(e,t){return"number"==typeof e&&"number"==typeof t?Math.sign(e-t):String(e).localeCompare(String(t))}function sg(...e){return e.reduce((e,t,r)=>0===r?t:sm(e,t)>=0?e:t)}let s_={__error__:-1,[eH]:-2,__interrupt__:-3,__resume__:-4};function sy(e){return e.configurable?.checkpoint_id||e.configurable?.thread_ts||""}e.s(["BaseCheckpointSaver",()=>sf,"WRITES_IDX_MAP",()=>s_,"compareChannelVersions",()=>sm,"copyCheckpoint",()=>sd,"deepCopy",()=>su,"emptyCheckpoint",()=>sp,"getCheckpointId",()=>sy,"maxChannelVersion",()=>sg],698038);let sb=new Set(["__proto__","constructor","prototype"]);function sv(e,t,r={}){let{allowEmpty:n=!1}=r;if("string"!=typeof t){let r=null===t?"null":void 0===t?"undefined":Array.isArray(t)?"array":typeof t;throw Error(`Invalid configurable value for key "${e}": expected a string identifier (got ${r}). This guard protects MemorySaver from prototype pollution.`)}if(!n&&""===t)throw Error(`Invalid configurable value for key "${e}": empty string is not permitted as an in-memory storage key.`);if(sb.has(t))throw Error(`Invalid configurable value for key "${e}": value "${t}" is reserved (would mutate Object.prototype). This guard protects MemorySaver from prototype pollution.`)}function sw(e,t,r){return JSON.stringify([e,t,r])}var sk=class extends sf{storage=Object.create(null);writes=Object.create(null);constructor(e){super(e)}async _migratePendingSends(e,t,r,n){let i=sw(t,r,n),s=await Promise.all(Object.values(this.writes[i]??{}).filter(([e,t])=>t===eB).map(async([e,t,r])=>await this.serde.loadsTyped("json",r)));e.channel_values??={},e.channel_values[eB]=s,e.channel_versions??={},e.channel_versions[eB]=Object.keys(e.channel_versions).length>0?sg(...Object.values(e.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,r=e.configurable?.checkpoint_ns??"",n=sy(e);if(void 0!==t&&sv("thread_id",t),sv("checkpoint_ns",r,{allowEmpty:!0}),n&&sv("checkpoint_id",n),n){let i=this.storage[t]?.[r]?.[n];if(void 0!==i){let[s,a,o]=i,l=sw(t,r,n),c=await this.serde.loadsTyped("json",s);c.v<4&&void 0!==o&&await this._migratePendingSends(c,t,r,o);let h=await Promise.all(Object.values(this.writes[l]||{}).map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),u={config:e,checkpoint:c,metadata:await this.serde.loadsTyped("json",a),pendingWrites:h};return void 0!==o&&(u.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:o}}),u}}else{let e=this.storage[t]?.[r];if(void 0!==e){n=Object.keys(e).sort((e,t)=>t.localeCompare(e))[0];let[i,s,a]=e[n],o=sw(t,r,n),l=await this.serde.loadsTyped("json",i);l.v<4&&void 0!==a&&await this._migratePendingSends(l,t,r,a);let c=await Promise.all(Object.values(this.writes[o]||{}).map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),h={config:{configurable:{thread_id:t,checkpoint_id:n,checkpoint_ns:r}},checkpoint:l,metadata:await this.serde.loadsTyped("json",s),pendingWrites:c};return void 0!==a&&(h.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:a}}),h}}}async *list(e,t){let{before:r,limit:n,filter:i}=t??{};e.configurable?.thread_id!==void 0&&sv("thread_id",e.configurable.thread_id),e.configurable?.checkpoint_ns!==void 0&&sv("checkpoint_ns",e.configurable.checkpoint_ns,{allowEmpty:!0}),e.configurable?.checkpoint_id&&sv("checkpoint_id",e.configurable.checkpoint_id),r?.configurable?.checkpoint_id&&sv("checkpoint_id",r.configurable.checkpoint_id);let s=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),a=e.configurable?.checkpoint_ns,o=e.configurable?.checkpoint_id;for(let e of s)for(let t of Object.keys(this.storage[e]??{}))if(void 0===a||t===a)for(let[s,[a,l,c]]of Object.entries(this.storage[e]?.[t]??{}).sort((e,t)=>t[0].localeCompare(e[0]))){if(o&&s!==o||r&&r.configurable?.checkpoint_id&&s>=r.configurable.checkpoint_id)continue;let h=await this.serde.loadsTyped("json",l);if(i&&!Object.entries(i).every(([e,t])=>h[e]===t))continue;if(void 0!==n){if(n<=0)break;n-=1}let u=sw(e,t,s),p=Object.values(this.writes[u]||{}),d=await Promise.all(p.map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),f=await this.serde.loadsTyped("json",a);f.v<4&&void 0!==c&&await this._migratePendingSends(f,e,t,c);let m={config:{configurable:{thread_id:e,checkpoint_ns:t,checkpoint_id:s}},checkpoint:f,metadata:h,pendingWrites:d};void 0!==c&&(m.parentConfig={configurable:{thread_id:e,checkpoint_ns:t,checkpoint_id:c}}),yield m}}async put(e,t,r){let n=sd(t),i=e.configurable?.thread_id,s=e.configurable?.checkpoint_ns??"";if(void 0===i)throw Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');sv("thread_id",i),sv("checkpoint_ns",s,{allowEmpty:!0}),sv("checkpoint_id",t.id),this.storage[i]||(this.storage[i]=Object.create(null)),this.storage[i][s]||(this.storage[i][s]=Object.create(null));let[[,a],[,o]]=await Promise.all([this.serde.dumpsTyped(n),this.serde.dumpsTyped(r)]);return this.storage[i][s][t.id]=[a,o,e.configurable?.checkpoint_id],{configurable:{thread_id:i,checkpoint_ns:s,checkpoint_id:t.id}}}async putWrites(e,t,r){let n=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns,s=e.configurable?.checkpoint_id;if(void 0===n)throw Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');if(void 0===s)throw Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');sv("thread_id",n),sv("checkpoint_ns",i,{allowEmpty:!0}),sv("checkpoint_id",s),sv("task_id",r);let a=sw(n,i,s),o=this.writes[a];void 0===this.writes[a]&&(this.writes[a]=Object.create(null)),await Promise.all(t.map(async([e,t],n)=>{let[,i]=await this.serde.dumpsTyped(t),s=[r,s_[e]||n],l=`${s[0]},${s[1]}`;s[1]>=0&&o&&l in o||(this.writes[a][l]=[r,e,i])}))}async deleteThread(e){for(let t of(sv("thread_id",e),delete this.storage[e],Object.keys(this.writes)))(function(e){let[t,r,n]=JSON.parse(e);return{threadId:t,checkpointNamespace:r,checkpointId:n}})(t).threadId===e&&delete this.writes[t]}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(0===r.length)return{};let n=t.configurable?.thread_id,i=t.configurable?.checkpoint_ns??"",s=sy(t);void 0!==n&&sv("thread_id",n),sv("checkpoint_ns",i,{allowEmpty:!0});let a=this.storage[n]?.[i]??{},o=[],l=(s?a[s]:void 0)?.[2];for(;void 0!==l;){let e=a[l];if(void 0===e)break;o.push(l),l=e[2]}let c={},h={},u=new Set(r);for(let e of r)c[e]=[];for(let e of o){if(0===u.size)break;let t=a[e],r=void 0!==t?await this.serde.loadsTyped("json",t[0]):void 0,s={},o=new Set;if(void 0!==r)for(let e of u)Object.prototype.hasOwnProperty.call(r.channel_values,e)&&void 0!==r.channel_values[e]&&(s[e]=r.channel_values[e],o.add(e));let l=sw(n,i,e),p=Object.entries(this.writes[l]??{});for(let[,[e,t,r]]of(p.sort(([e],[t])=>{let[r,n]=e.split(","),[i,s]=t.split(",");return r!==i?r<i?1:-1:Number(s)-Number(n)}),p))u.has(t)&&c[t].push([e,t,await this.serde.loadsTyped("json",r)]);for(let e of o)h[e]=s[e],u.delete(e)}let p={};for(let e of r){let t={writes:c[e].slice().reverse()};Object.prototype.hasOwnProperty.call(h,e)&&(t.seed=h[e]),p[e]=t}return p}};e.s(["MemorySaver",()=>sk],518761);var sS=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function sx(e,t){let r=t.split("."),n=e;for(let e of r){if(e.includes("[")){let[t,r]=e.split("["),i=r.replace("]","");if(!n[t])return[];if("*"===i){let e=[];for(let r of n[t])"string"==typeof r&&e.push(r);return e}let s=parseInt(i,10);if(Number.isNaN(s))return[];n=n[t][s]}else n=n[e];if(void 0===n)return[]}return"string"==typeof n?[n]:[]}function sE(e){return e.split(".")}var sC=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:r,limit:n=10,offset:i=0,query:s}=t;return(await this.batch([{namespacePrefix:e,filter:r,limit:n,offset:i,query:s}]))[0]}async put(e,t,r,n){if(0===e.length)throw new sS("Namespace cannot be empty.");for(let t of e){if("string"!=typeof t)throw new sS(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new sS(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(""===t)throw new sS(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if("langgraph"===e[0])throw new sS(`Root label for namespace cannot be "langgraph". Got: ${e}`);await this.batch([{namespace:e,key:t,value:r,index:n}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:r,maxDepth:n,limit:i=100,offset:s=0}=e,a=[];return t&&a.push({matchType:"prefix",path:t}),r&&a.push({matchType:"suffix",path:r}),(await this.batch([{matchConditions:a.length?a:void 0,maxDepth:n,limit:i,offset:s}]))[0]}start(){}stop(){}};e.s(["BaseStore",()=>sC,"InvalidNamespaceError",()=>sS,"getTextAtPath",()=>sx,"tokenizePath",()=>sE],471972);var sA=class extends sC{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=(e=>"lg_name"in e&&"AsyncBatchedStore"===e.lg_name?e.store:e)(e)}get isRunning(){return this.running}async batch(e){throw Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:r,limit:n=10,offset:i=0,query:s}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:r,limit:n,offset:i,query:s})}async put(e,t,r){return this.enqueueOperation({namespace:e,key:t,value:r})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,r)=>{let n=this.nextKey;this.nextKey+=1,this.queue.set(n,{operation:e,resolve:t,reject:r})})}async processBatchQueue(){for(;this.running;){if(await new Promise(e=>{setTimeout(e,0)}),0===this.queue.size)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:e})=>e),r=await this.store.batch(t);e.forEach(({resolve:t},n)=>{t(r[Array.from(e.keys()).indexOf(n)])})}catch(t){e.forEach(({reject:e})=>{e(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};function sO(e){if(!e)return[];let t=[],r=[],n=0;for(;n<e.length;){let i=e[n];if("["===i){r.length&&(t.push(r.join("")),r=[]);let i=1,s=["["];for(n+=1;n<e.length&&i>0;)"["===e[n]?i+=1:"]"===e[n]&&(i-=1),s.push(e[n]),n+=1;t.push(s.join(""));continue}if("{"===i){r.length&&(t.push(r.join("")),r=[]);let i=1,s=["{"];for(n+=1;n<e.length&&i>0;)"{"===e[n]?i+=1:"}"===e[n]&&(i-=1),s.push(e[n]),n+=1;t.push(s.join(""));continue}"."===i?r.length&&(t.push(r.join("")),r=[]):r.push(i);n+=1}return r.length&&t.push(r.join("")),t}e.s(["AsyncBatchedStore",()=>sA],621197);var sI=class extends sC{data=new Map;vectors=new Map;_indexConfig;constructor(e){super(),e?.index&&(this._indexConfig={...e.index,__tokenizedFields:(e.index.fields??["$"]).map(e=>[e,"$"===e?[e]:sO(e)])})}async batch(e){let t=[],r=new Map,n=new Map;for(let i=0;i<e.length;i+=1){let s=e[i];if("key"in s&&"namespace"in s&&!("value"in s))t.push(this.getOperation(s));else if("namespacePrefix"in s){let e=this.filterItems(s);n.set(i,[s,e]),t.push(null)}else if("value"in s){let e=`${s.namespace.join(":")}:${s.key}`;r.set(e,s),t.push(null)}else"matchConditions"in s&&t.push(this.listNamespacesOperation(s))}if(n.size>0)if(this._indexConfig?.embeddings){let e=new Set;for(let[t]of n.values())t.query&&e.add(t.query);let r=e.size>0?await Promise.all(Array.from(e).map(e=>this._indexConfig.embeddings.embedQuery(e))):[],i=Object.fromEntries(Array.from(e).map((e,t)=>[e,r[t]]));for(let[e,[r,s]]of n.entries())if(r.query&&i[r.query]){let n=i[r.query];t[e]=this.scoreResults(s,n,r.offset??0,r.limit??10)}else t[e]=this.paginateResults(s.map(e=>({...e,score:void 0})),r.offset??0,r.limit??10)}else for(let[e,[r,i]]of n.entries())t[e]=this.paginateResults(i.map(e=>({...e,score:void 0})),r.offset??0,r.limit??10);if(r.size>0&&this._indexConfig?.embeddings){let e=this.extractTexts(Array.from(r.values()));if(Object.keys(e).length>0){let t=await this._indexConfig.embeddings.embedDocuments(Object.keys(e));this.insertVectors(e,t)}}for(let e of r.values())this.putOperation(e);return t}getOperation(e){let t=e.namespace.join(":");return this.data.get(t)?.get(e.key)??null}putOperation(e){let t=e.namespace.join(":");this.data.has(t)||this.data.set(t,new Map);let r=this.data.get(t);if(null===e.value)r.delete(e.key);else{let t=new Date;if(r.has(e.key)){let n=r.get(e.key);n.value=e.value,n.updatedAt=t}else r.set(e.key,{value:e.value,key:e.key,namespace:e.namespace,createdAt:t,updatedAt:t})}}listNamespacesOperation(e){let t=Array.from(this.data.keys()).map(e=>e.split(":"));return e.matchConditions&&e.matchConditions.length>0&&(t=t.filter(t=>e.matchConditions.every(e=>this.doesMatch(e,t)))),void 0!==e.maxDepth&&(t=Array.from(new Set(t.map(t=>t.slice(0,e.maxDepth).join(":")))).map(e=>e.split(":"))),t.sort((e,t)=>e.join(":").localeCompare(t.join(":"))),t.slice(e.offset??0,(e.offset??0)+(e.limit??t.length))}doesMatch(e,t){let{matchType:r,path:n}=e;if("prefix"===r)return!(n.length>t.length)&&n.every((e,r)=>{let n=t[r];return"*"===e||n===e});if("suffix"===r)return!(n.length>t.length)&&n.every((e,r)=>{let i=t[t.length-n.length+r];return"*"===e||i===e});throw Error(`Unsupported match type: ${r}`)}filterItems(e){let t=[];for(let[r,n]of this.data.entries())r.startsWith(e.namespacePrefix.join(":"))&&t.push(...n.values());let r=t;return e.filter&&(r=t.filter(t=>Object.entries(e.filter).every(([e,r])=>{var n;return n=t.value[e],"object"==typeof r&&null!==r&&Object.keys(r).every(e=>"$eq"===e||"$ne"===e||"$gt"===e||"$gte"===e||"$lt"===e||"$lte"===e||"$in"===e||"$nin"===e)?Object.keys(r).filter(e=>e.startsWith("$")).every(e=>{let t=r[e];switch(e){case"$eq":return n===t;case"$ne":return n!==t;case"$gt":return Number(n)>Number(t);case"$gte":return Number(n)>=Number(t);case"$lt":return Number(n)<Number(t);case"$lte":return Number(n)<=Number(t);case"$in":return!!Array.isArray(t)&&t.includes(n);case"$nin":return!Array.isArray(t)||!t.includes(n);default:return!1}}):n===r}))),r}scoreResults(e,t,r=0,n=10){let i=[],s=[],a=[];for(let t of e){let e=this.getVectors(t);if(e.length)for(let r of e)i.push(t),s.push(r);else a.push(t)}let o=this.cosineSimilarity(t,s).map((e,t)=>[e,i[t]]).sort((e,t)=>t[0]-e[0]),l=new Set,c=[];for(let[e,t]of o){let i=`${t.namespace.join(":")}:${t.key}`;if(l.has(i))continue;let s=l.size;if(s>=r+n)break;if(s<r){l.add(i);continue}l.add(i),c.push([e,t])}if(a.length&&c.length<n)for(let e of a.slice(0,n-c.length)){let t=`${e.namespace.join(":")}:${e.key}`;l.has(t)||(l.add(t),c.push([void 0,e]))}return c.map(([e,t])=>({...t,score:e}))}paginateResults(e,t,r){return e.slice(t,t+r)}extractTexts(e){if(!e.length||!this._indexConfig)return{};let t={};for(let i of e)if(null!==i.value&&!1!==i.index)for(let[e,s]of null===i.index||void 0===i.index?this._indexConfig.__tokenizedFields??[]:i.index.map(e=>[e,sO(e)])){var r,n;let a=(r=i.value,(n=s)&&"$"!==n?function e(t,r,n){if(n>=r.length)return"string"==typeof t||"number"==typeof t||"boolean"==typeof t?[String(t)]:null==t?[]:Array.isArray(t)||"object"==typeof t?[JSON.stringify(t,null,2)]:[];let i=r[n],s=[];if(0===n&&"$"===i&&s.push(JSON.stringify(t,null,2)),i.startsWith("[")&&i.endsWith("]")){if(!Array.isArray(t))return[];let a=i.slice(1,-1);if("*"===a)for(let i of t)s.push(...e(i,r,n+1));else try{let i=parseInt(a,10);i<0&&(i=t.length+i),i>=0&&i<t.length&&s.push(...e(t[i],r,n+1))}catch{return[]}}else if(i.startsWith("{")&&i.endsWith("}")){if("object"!=typeof t||null===t)return[];for(let e of i.slice(1,-1).split(",").map(e=>e.trim())){let r=sO(e);if(r.length){let e=t;for(let t of r)if(e&&"object"==typeof e&&t in e)e=e[t];else{e=void 0;break}void 0!==e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e?s.push(String(e)):(Array.isArray(e)||"object"==typeof e)&&s.push(JSON.stringify(e,null,2)))}}}else if("*"===i){if(Array.isArray(t))for(let i of t)s.push(...e(i,r,n+1));else if("object"==typeof t&&null!==t)for(let i of Object.values(t))s.push(...e(i,r,n+1))}else"object"==typeof t&&null!==t&&i in t&&s.push(...e(t[i],r,n+1));return s}(r,Array.isArray(n)?n:sO(n),0):[JSON.stringify(r,null,2)]);a.length&&(a.length>1?a.forEach((r,n)=>{t[r]||(t[r]=[]),t[r].push([i.namespace,i.key,`${e}.${n}`])}):(t[a[0]]||(t[a[0]]=[]),t[a[0]].push([i.namespace,i.key,e])))}return t}insertVectors(e,t){for(let[r,n]of Object.entries(e)){let e=t.shift();if(!e)throw Error(`No embedding found for text: ${r}`);for(let[t,r,i]of n){let n=t.join(":");this.vectors.has(n)||this.vectors.set(n,new Map);let s=this.vectors.get(n);s.has(r)||s.set(r,new Map),s.get(r).set(i,e)}}}getVectors(e){let t=e.namespace.join(":"),r=e.key;if(!this.vectors.has(t))return[];let n=this.vectors.get(t);if(!n.has(r))return[];let i=Array.from(n.get(r).values());return i.length?i:[]}cosineSimilarity(e,t){if(!t.length)return[];let r=t.map(t=>t.reduce((t,r,n)=>t+r*e[n],0)),n=Math.sqrt(e.reduce((e,t)=>e+t*t,0)),i=t.map(e=>Math.sqrt(e.reduce((e,t)=>e+t*t,0)));return r.map((e,t)=>{let r=i[t];return n&&r?e/(n*r):0})}get indexConfig(){return this._indexConfig}},sT=class extends sI{};e.s(["InMemoryStore",()=>sI,"MemoryStore",()=>sT],144253);var sj=class{serde=new sh;constructor(e){this.serde=e||this.serde}};function sN(e){return null!=e&&"DeltaChannel"===e.lc_graph_name}function sP(e){return null!=e&&!0===e.lg_is_channel}e.s([],458443);var sM=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===ey.unminifiable_name)return!1;throw e}}equals(e){return this===e}};let s$=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function sR(e){if(!0===e[s$])return e;let t={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=e[r];sP(n)&&(t[r]=n)}return Object.assign(t,{[s$]:!0}),t}function sV(e,t){let r=sR(e),n={};for(let e in r){if(!Object.prototype.hasOwnProperty.call(r,e))continue;let i=t.channel_values[e];n[e]=r[e].fromCheckpoint(i)}return Object.assign(n,{[s$]:!0}),n}function sF(e,t){let r=new Set,n=p();for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=e[i];if(!sN(s)||!s.isAvailable())continue;let[a,o]=t[i]??[0,0];(a>=s.snapshotFrequency||o>=n)&&r.add(i)}return r}function sL(e,t,r,n){let i,s=n?.channelsToSnapshot??new Set,{updatedChannels:a,getNextVersion:o}=n??{},l=e.channel_versions;if(void 0===t)i=e.channel_values;else for(let r in i={},l={...e.channel_versions},t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let e=t[r];if(s.has(r)){void 0===o||void 0!==a&&a.has(r)||(l[r]=o(l[r])),i[r]=new eW(e.get());continue}if(!sN(e))try{i[r]=e.checkpoint()}catch(e){if(e.name===ey.unminifiable_name);else throw e}}return{v:4,id:n?.id??eD(r),ts:new Date().toISOString(),channel_values:i,channel_versions:l,versions_seen:e.versions_seen}}async function sD(e,t,r){let n=sV(e,t),{saver:i,config:s}=r??{},a=sR(e),o=[];for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&sN(a[e])&&!Object.prototype.hasOwnProperty.call(t.channel_values,e)&&o.push(e);if(0===o.length||void 0===i||void 0===s)return n;let l=await i.getDeltaChannelHistory({config:s,channels:o});for(let e of o){let t=l[e];if(void 0===t)continue;let r=a[e].fromCheckpoint(t.seed);r.replayWrites(t.writes),n[e]=r}return n}e.s(["BaseChannel",()=>sM,"channelsFromCheckpoint",()=>sD,"createCheckpoint",()=>sL,"deltaChannelsToSnapshot",()=>sF,"emptyChannels",()=>sV,"getOnlyChannels",()=>sR,"isBaseChannel",()=>sP,"isDeltaChannel",()=>sN],169525);var sU=class e extends sM{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(e,t){super(),this.operator=e,this.initialValueFactory=t,this.value=t?.()}fromCheckpoint(t){let r=new e(this.operator,this.initialValueFactory);return void 0!==t&&(r.value=t),r}update(e){let t=e;if(!t.length)return!1;if(void 0===this.value){let e=t[0],[r,n]=J(e);r?this.value=n:this.value=e,t=t.slice(1)}let r=!1;for(let e of t)if(Z(e)){if(r)throw new eb("Can receive only one Overwrite value per step.");let[,t]=J(e);this.value=t,r=!0;continue}else r||void 0===this.value||(this.value=this.operator(this.value,e));return!0}get(){if(void 0===this.value)throw new ey;return this.value}checkpoint(){if(void 0===this.value)throw new ey;return this.value}isAvailable(){return void 0!==this.value}equals(e){return this===e||null!=e&&"BinaryOperatorAggregate"===e.lc_graph_name&&this.operator===e.operator}};e.s(["BinaryOperatorAggregate",()=>sU],909441);var sB=class e extends sM{lc_graph_name="LastValue";value=[];constructor(e){super(),this.initialValueFactory=e,e&&(this.value=[e()])}fromCheckpoint(t){let r=new e(this.initialValueFactory);return void 0!==t&&(r.value=[t]),r}update(e){if(0===e.length)return!1;if(1!==e.length)throw new eb("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[e[e.length-1]],!0}get(){if(0===this.value.length)throw new ey;return this.value[0]}checkpoint(){if(0===this.value.length)throw new ey;return this.value[0]}isAvailable(){return 0!==this.value.length}},sH=class e extends sM{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let r=new e;if(void 0!==t){let[e,n]=t;r.value=[e],r.finished=n}return r}update(e){return 0!==e.length&&(this.finished=!1,this.value=[e[e.length-1]],!0)}get(){if(0===this.value.length||!this.finished)throw new ey;return this.value[0]}checkpoint(){if(0!==this.value.length)return[this.value[0],this.finished]}consume(){return!!this.finished&&(this.finished=!1,this.value=[],!0)}finish(){return!this.finished&&this.value.length>0&&(this.finished=!0,!0)}isAvailable(){return 0!==this.value.length&&this.finished}},sW=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return"object"==typeof e&&null!==e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name}};let sq=function(e){return e?sG(e):new sB};function sG(e){return"object"==typeof e&&e&&"reducer"in e&&e.reducer?new sU(e.reducer,e.default):"object"==typeof e&&e&&"value"in e&&e.value?new sU(e.value,e.default):new sB}sq.Root=e=>new sW(e),e.s(["Annotation",()=>sq,"AnnotationRoot",()=>sW,"getChannel",()=>sG],753489);let sK=["tags","metadata","callbacks","configurable"],sz=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal","heartbeat","executionInfo","serverInfo","control"],sJ=new Set(["thread_id","checkpoint_id","checkpoint_ns","task_id","run_id","assistant_id","graph_id"]);function sZ(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:25,configurable:{}},n=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0!==n){for(let[e,r]of Object.entries(n))if(void 0!==r)if(sK.includes(e)){let n;n=Array.isArray(r)?[...r]:"object"==typeof r?"callbacks"===e&&"copy"in r&&"function"==typeof r.copy?r.copy():{...r}:r,t[e]=n}else t[e]=r}for(let r of e)if(void 0!==r)for(let[e,n]of Object.entries(r))void 0!==n&&sz.includes(e)&&(t[e]=n);return t.metadata=function(e,t){if(!e)return t;let r=t??{};for(let t of sJ){if(t in r)continue;let n=e[t];void 0!==n&&(r[t]=n)}return r}(t.configurable,t.metadata)??{},t}function sY(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getStore` in such environment, pass the `config` from the node function directly.");return t?.store}function sQ(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getWriter` in such environment, pass the `config` from the node function directly.");return t?.writer||t?.configurable?.writer}function sX(){return r.AsyncLocalStorageProviderSingleton.getRunnableConfig()}function s0(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getCurrentTaskInput` in such environment, pass the `config` from the node function directly.");if(t.configurable?.__pregel_scratchpad?.currentTaskInput===void 0)throw Error("BUG: internal scratchpad not initialized.");return t.configurable[w].currentTaskInput}function s1(e){return e.split("|").filter(e=>!e.match(/^\d+$/)).map(e=>e.split(":")[0]).join("|")}function s4(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}e.s(["ensureLangGraphConfig",()=>sZ,"getConfig",()=>sX,"getCurrentTaskInput",()=>s0,"getParentCheckpointNamespace",()=>s4,"getStore",()=>sY,"getWriter",()=>sQ,"recastCheckpointNamespace",()=>s1],598259);var s2=class{#e=void 0;requestDrain(e="shutdown"){this.#e=e}get drainRequested(){return void 0!==this.#e}get drainReason(){return this.#e}};e.s(["RunControl",()=>s2],609202);let s6=["values","updates","messages","tools","custom","tasks"];function s8(e){return null!=e&&"object"==typeof e&&"string"==typeof e.id&&("source"in e||"number"==typeof e.step)&&!("values"in e)&&!("config"in e)}function s5({namespace:e,mode:t,payload:r,seq:n}){let i=Date.now(),s={type:"event"};switch(t){case"messages":{let{data:t,node:a}=function(e){if(!Array.isArray(e)||2!==e.length)return{data:e};let[t,r]=e;if(null==r||"object"!=typeof r)return{data:e};let n="string"==typeof r.langgraph_node?r.langgraph_node:void 0,i="string"==typeof r.run_id?r.run_id:void 0;return{data:null!=i&&null!=t&&"object"==typeof t?{...t,run_id:i}:t,node:n}}(r);return[{...s,seq:n,method:"messages",params:{namespace:e,timestamp:i,...a?{node:a}:{},data:t}}]}case"tools":return[{...s,seq:n,method:"tools",params:{namespace:e,timestamp:i,data:function(e){if("object"!=typeof e||null===e)return{event:"tool-error",tool_call_id:"",message:"Unexpected tools payload shape"};let t=String(e.toolCallId??"");switch(e.event){case"on_tool_start":return{event:"tool-started",tool_call_id:t,tool_name:String(e.name??"unknown"),input:e.input};case"on_tool_event":return{event:"tool-output-delta",tool_call_id:t,delta:"string"==typeof e.data?e.data:JSON.stringify(e.data??"")};case"on_tool_end":return{event:"tool-finished",tool_call_id:t,output:e.output};case"on_tool_error":{let r=e.error;return{event:"tool-error",tool_call_id:t,message:"object"==typeof r&&null!==r&&"message"in r&&"string"==typeof r.message?r.message:String(r??"unknown error")}}default:return{event:"tool-error",tool_call_id:"",message:`Unknown tool event: ${String(e.event)}`}}}(r)}}];case"checkpoints":if(!s8(r))return[];return[{...s,seq:n,method:"checkpoints",params:{namespace:e,timestamp:i,data:r}}];case"values":return[{...s,seq:n,method:"values",params:{namespace:e,timestamp:i,data:r}}];case"updates":{let t=function(e){if("object"!=typeof e||null===e)return{values:{}};let t=Object.entries(e);if(0===t.length)return{values:{}};let[r,n]=t[0];return{node:r,values:"object"==typeof n&&null!==n?n:{value:n}}}(r);return[{...s,seq:n,method:"updates",params:{namespace:e,timestamp:i,..."string"==typeof t.node?{node:t.node}:{},data:t}}]}case"custom":{let t="object"==typeof r&&null!==r&&!Array.isArray(r)&&"name"in r?r:{payload:r};return[{...s,seq:n,method:"custom",params:{namespace:e,timestamp:i,data:t}}]}case"tasks":return[{...s,seq:n,method:"tasks",params:{namespace:e,timestamp:i,data:r}}];default:return[]}}e.s(["STREAM_EVENTS_V3_MODES",()=>s6,"convertToProtocolEvent",()=>s5,"isCheckpointEnvelope",()=>s8],840607);let s3=Symbol.for("langgraph.stream_channel");var s9=class e{[s3]=!0;channelName;#t=[];#r=[];#n=!1;#i;#s;constructor(e){this.channelName=e}static local(){return new e}static remote(t){return new e(t)}static isInstance(e){return"object"==typeof e&&null!==e&&s3 in e&&!0===e[s3]}push(e){this.#t.push(e),this.#a(),this.#s?.(e)}iterate(e=0){let t=e;return{next:async()=>{for(;;){if(t<this.#t.length)return{value:this.#t[t++],done:!1};if(this.#n){if(this.#i)throw this.#i;return{value:void 0,done:!0}}await new Promise(e=>this.#r.push(e))}}}}toAsyncIterable(e=0){return{[Symbol.asyncIterator]:()=>this.iterate(e)}}toEventStream(e={}){let t=new TextEncoder,r=this.iterate(e.startAt),n=e.event??this.channelName,i=e.serialize??(e=>JSON.stringify(e)??"null");return new ReadableStream({async pull(e){try{let s=await r.next();if(s.done)return void e.close();let a=[];for(let e of(null!=n&&a.push(`event: ${n}`),i(s.value).split(/\r\n|\r|\n/)))a.push(`data: ${e}`);e.enqueue(t.encode(`${a.join("\n")}
77
+ Error: ${e.message}`)}}function n1(e){let t,r,n,i=!1;return function(s,a){var o,l;let c;if(a)return void e(s,0,!0);void 0===t?(t=s,r=0,n=-1):(o=t,l=s,(c=new Uint8Array(o.length+l.length)).set(o),c.set(l,o.length),t=c);let h=t.length,u=0;for(;r<h;){i&&(10===t[r]&&(u=++r),i=!1);let s=-1;for(;r<h&&-1===s;++r)switch(t[r]){case 58:-1===n&&(n=r-u);break;case 13:i=!0;case 10:s=r}if(-1===s)break;e(t.subarray(u,s),n),u=r,n=-1}u===h?t=void 0:0!==u&&(t=t.subarray(u),r-=u)}}function n4(e,t,r){let n=n2(),i=new TextDecoder;return function(s,a,o){if(o){var l;(""!==(l=n).data||""!==l.event||""!==l.id||void 0!==l.retry)&&(e?.(n),n=n2());return}if(0===s.length)e?.(n),n=n2();else if(a>0){let e=i.decode(s.subarray(0,a)),o=a+(32===s[a+1]?2:1),l=i.decode(s.subarray(o));switch(e){case"data":n.data=n.data?n.data+"\n"+l:l;break;case"event":n.event=l;break;case"id":t?.(n.id=l);break;case"retry":{let e=parseInt(l,10);Number.isNaN(e)||r?.(n.retry=e)}}}}}function n2(){return{data:"",event:"",id:"",retry:void 0}}function n6(e,t){let r=new ReadableStream({async start(r){let n=n4(e=>{if("error"===e.event)throw Error(e.data??"Unspecified event streaming error.");"metadata"===e.event?t?.(e):e.data&&r.enqueue(e.data)});await n0(e,n1((e,t,i)=>{n(e,t,i),i&&r.close()}))}});return e0.IterableReadableStream.fromReadableStream(r)}var n3=(0,eH.__exportAll)({}),n8=e.i(916844);function n7(e,t){let r=0,n=0,i=0;for(let s=0;s<e.length;s++)r+=e[s]*t[s],n+=e[s]*e[s],i+=t[s]*t[s];return r/(Math.sqrt(n)*Math.sqrt(i))}function n5(e,t){let r=0;for(let n=0;n<e.length;n++)r+=e[n]*t[n];return r}function n9(e,t){return Math.sqrt(function(e,t){let r=0;for(let n=0;n<e.length;n++)r+=(e[n]-t[n])*(e[n]-t[n]);return r}(e,t))}var ie=(0,eH.__exportAll)({cosineSimilarity:()=>ii,euclideanDistance:()=>ia,innerProduct:()=>is,matrixFunc:()=>it,maximalMarginalRelevance:()=>io,normalize:()=>ir});function it(e,t,r){if(0===e.length||0===e[0].length||0===t.length||0===t[0].length)return[[]];if(e[0].length!==t[0].length)throw Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(e=>t.map(t=>r(e,t)).map(e=>Number.isNaN(e)?0:e))}function ir(e,t=!1){let r=e.reduce((e,t)=>Math.max(e,il(t).maxValue),0);return e.map(e=>e.map(e=>t?1-e/r:e/r))}function ii(e,t){return it(e,t,n7)}function is(e,t){return it(e,t,n5)}function ia(e,t){return it(e,t,n9)}function io(e,t,r=.5,n=4){if(0>=Math.min(n,t.length))return[];let i=ii(Array.isArray(e[0])?e:[e],t)[0],s=il(i).maxIndex,a=[t[s]],o=[s];for(;o.length<Math.min(n,t.length);){let e=-1/0,n=-1,s=ii(t,a);i.forEach((t,i)=>{if(o.includes(i))return;let a=r*t-(1-r)*Math.max(...s[i]);a>e&&(e=a,n=i)}),a.push(t[n]),o.push(n)}return o}function il(e){if(0===e.length)return{maxIndex:-1,maxValue:NaN};let t=e[0],r=0;for(let n=1;n<e.length;n+=1)e[n]>t&&(r=n,t=e[n]);return{maxIndex:r,maxValue:t}}var ic=(0,eH.__exportAll)({isCloudMetadata:()=>iw,isLocalhost:()=>ik,isPrivateIp:()=>ib,isSafeUrl:()=>ix,isSameOrigin:()=>iE,validateSafeUrl:()=>iS});let ih=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],iu=["169.254.169.254","169.254.170.2","100.100.100.200"],ip=["metadata.google.internal","metadata","instance-data"],id=["localhost","localhost.localdomain"],im=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function ig(e){return null!==iv(e)}function i_(e){return im.test(e)||ig(e)}function iy(e){if(im.test(e))return e.split(".").map(e=>parseInt(e,10));if(ig(e)){let t=iv(e);if(!t)return null;let r=t.split(":"),n=[];for(let e of r)n.push(parseInt(e,16));return n}return null}function iv(e){if(!e||"string"!=typeof e||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let e=t.split("::");if(e.length>2)return null;let[r,n]=e,i=r?r.split(":"):[],s=n?n.split(":"):[],a=8-(i.length+s.length);if(a<0)return null;t=[...i,...Array(a).fill("0"),...s].filter(e=>""!==e).join(":")}let r=t.split(":");if(8!==r.length)return null;for(let e of r)if(0===e.length||e.length>4||!/^[0-9a-fA-F]+$/.test(e))return null;return r.map(e=>e.padStart(4,"0").toLowerCase()).join(":")}function ib(e){if(!i_(e))return!1;for(let t of ih)if(function(e,t){let r=iy(e);if(!r)return!1;let n=function(e){let[t,r]=e.split("/");if(!t||!r)return null;let n=iy(t);if(!n)return null;let i=parseInt(r,10);if(isNaN(i))return null;let s=ig(t);return s&&i>128||!s&&i>32?null:{addr:n,prefixLen:i,isIpv6:s}}(t);if(!n)return!1;let i=ig(e);if(i!==n.isIpv6)return!1;let{addr:s,prefixLen:a}=n;if(i)for(let e=0;e<Math.ceil(a/16);e++){let t=65535<<16-Math.min(16,a-16*e)&65535;if((r[e]&t)!=(s[e]&t))return!1}else for(let e=0;e<Math.ceil(a/8);e++){let t=255<<8-Math.min(8,a-8*e)&255;if((r[e]&t)!=(s[e]&t))return!1}return!0}(e,t))return!0;return!1}function iw(e,t){if(iu.includes(t||""))return!0;let r=e.toLowerCase();return!!ip.includes(r)}function ik(e,t){if(t&&("127.0.0.1"===t||"::1"===t||"0.0.0.0"===t||t.startsWith("127.")))return!0;let r=e.toLowerCase();return!!id.includes(r)}function iS(e,t){let r=t?.allowPrivate??!1,n=t?.allowHttp??!1;try{let t;try{t=new URL(e)}catch{throw Error(`Invalid URL: ${e}`)}let i=t.hostname;if(!i)throw Error("URL missing hostname.");if(iw(i))throw Error(`URL points to cloud metadata endpoint: ${i}`);if(ik(i)){if(!r)throw Error(`URL points to localhost: ${i}`);return e}let s=t.protocol;if("http:"!==s&&"https:"!==s)throw Error(`Invalid URL scheme: ${s}. Only http and https are allowed.`);if("http:"===s&&!n)throw Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(i_(i)){if(ik(i,i)){if(!r)throw Error(`URL points to localhost: ${i}`);return e}if(iw(i,i))throw Error(`URL resolves to cloud metadata IP: ${i} (${i})`);if(ib(i)&&!r)throw Error(`URL resolves to private IP: ${i} (${i}). Set allowPrivate: true to allow.`)}return e}catch(e){if(e&&"object"==typeof e&&"message"in e)throw e;throw Error(`URL validation failed: ${e}`)}}function ix(e,t){try{return iS(e,t),!0}catch{return!1}}function iE(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var iC=eV,iA=(0,eH.__exportAll)({SaveableVectorStore:()=>iT,VectorStore:()=>iI,VectorStoreRetriever:()=>iO}),iO=class extends nr{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,"mmr"===e.searchType&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if("mmr"===this.searchType){if("function"!=typeof this.vectorStore.maxMarginalRelevanceSearch)throw Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},iI=class extends iC.Serializable{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw Error("Not implemented.")}async similaritySearch(e,t=4,r,n){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)).map(e=>e[0])}async similaritySearchWithScore(e,t=4,r,n){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,r)}static fromTexts(e,t,r,n){throw Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,r){throw Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,r,n,i,s){if("number"==typeof e)return new iO({vectorStore:this,k:e,filter:t,tags:[...n??[],this._vectorstoreType()],metadata:i,verbose:s,callbacks:r});{let t={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return new iO(e?.searchType==="mmr"?{...t,searchKwargs:e.searchKwargs}:{...t})}}},iT=class extends iI{static load(e,t){throw Error("Not implemented")}},ij=tJ,iN=class extends ij.BaseChatModel{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,r){if(t?.stop?.length)return{generations:[{message:new e9.AIMessage(t.stop[0]),text:t.stop[0]}]};let n=e.map(e=>"string"==typeof e.content?e.content:JSON.stringify(e.content,null,2)).join("\n");return await r?.handleLLMNewToken(n),{generations:[{message:new e9.AIMessage(n),text:n}],llmOutput:{}}}},iP=class e extends ij.BaseChatModel{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:e=50,responses:t=[],chunks:r=[],toolStyle:n="openai",thrownErrorString:i,...s}){super(s),this.sleep=e,this.responses=t,this.chunks=r,this.toolStyle=n,this.thrownErrorString=i}_llmType(){return"fake"}bindTools(t){let r=[...this.tools,...t],n=r.map(e=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:e.name,description:e.description,parameters:(0,e3.toJsonSchema)(e.schema)}};case"anthropic":return{name:e.name,description:e.description,input_schema:(0,e3.toJsonSchema)(e.schema)};case"bedrock":return{toolSpec:{name:e.name,description:e.description,inputSchema:(0,e3.toJsonSchema)(e.schema)}};case"google":return{name:e.name,description:e.description,parameters:(0,e3.toJsonSchema)(e.schema)};default:throw Error(`Unsupported tool style: ${this.toolStyle}`)}}),i="google"===this.toolStyle?[{functionDeclarations:n}]:n,s=new e({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return s.tools=r,s.withConfig({tools:i})}async _generate(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);return{generations:[{text:"",message:new e9.AIMessage({content:this.responses?.[0]?.content??e[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async *_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);if(this.chunks?.length){for(let e of this.chunks){let n=new e4.ChatGenerationChunk({message:new e9.AIMessageChunk({content:e.content,tool_calls:e.tool_calls,additional_kwargs:e.additional_kwargs??{}}),text:e.content?.toString()??""});if(t.signal?.aborted)break;yield n,await r?.handleLLMNewToken(e.content,void 0,void 0,void 0,void 0,{chunk:n})}return}let n=this.responses?.[0]??new e9.AIMessage("string"==typeof e[0].content?e[0].content:"");for(let e of"string"==typeof n.content?n.content:""){await new Promise(e=>setTimeout(e,this.sleep));let n=new e4.ChatGenerationChunk({message:new e9.AIMessageChunk({content:e}),text:e});if(t.signal?.aborted)break;yield n,await r?.handleLLMNewToken(e,void 0,void 0,void 0,void 0,{chunk:n})}}},iM=class e extends ij.BaseChatModel{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(e){super(e);const{responses:t,sleep:r,emitCustomEvent:n,generationInfo:i}=e;this.responses=t,this.sleep=r,this.emitCustomEvent=n??this.emitCustomEvent,this.generationInfo=i}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(e,t,r){if(await this._sleepIfRequested(),t?.thrownErrorString)throw Error(t.thrownErrorString);if(this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0}),t?.stop?.length)return{generations:[this._formatGeneration(t.stop[0])]};{let e=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(e)],llmOutput:{}}}}_formatGeneration(e){return{message:new e9.AIMessage(e),text:e}}async *_streamResponseChunks(e,t,r){let n=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0});let i=[...n];for(let e=0;e<i.length;e++){let n=i[e],s=e===i.length-1;if(await this._sleepIfRequested(),t?.thrownErrorString)throw Error(t.thrownErrorString);let a=this._createResponseChunk(n,s?this.generationInfo:void 0);if(t.signal?.aborted)break;yield a,r?.handleLLMNewToken(n)}}async _sleepIfRequested(){void 0!==this.sleep&&await this._sleep()}async _sleep(){return new Promise(e=>{setTimeout(()=>e(),this.sleep)})}_createResponseChunk(e,t){return new e4.ChatGenerationChunk({message:new e9.AIMessageChunk({content:e}),text:e,generationInfo:t})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let r=[...this.tools,...t],n=r.map(e=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:e.name,description:e.description,parameters:(0,e3.toJsonSchema)(e.schema)}};case"anthropic":return{name:e.name,description:e.description,input_schema:(0,e3.toJsonSchema)(e.schema)};case"bedrock":return{toolSpec:{name:e.name,description:e.description,inputSchema:(0,e3.toJsonSchema)(e.schema)}};case"google":return{name:e.name,description:e.description,parameters:(0,e3.toJsonSchema)(e.schema)};default:throw Error(`Unsupported tool style: ${this.toolStyle}`)}}),i="google"===this.toolStyle?[{functionDeclarations:n}]:n,s=new e({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return s.tools=r,s.toolStyle=this.toolStyle,s.i=this.i,s.withConfig({tools:i})}withStructuredOutput(e,t){return ta.RunnableLambda.from(async e=>{let t=await this.invoke(e);if(t.tool_calls?.[0]?.args)return t.tool_calls[0].args;if("string"==typeof t.content)return JSON.parse(t.content);throw Error("No structured output found")})}},i$=tg,iR=class extends i$.Embeddings{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(e=>this.embedQuery(e)))}async embedQuery(e){let t=e,r=(t=t.toLowerCase().replaceAll(/[^a-z ]/g,"")).length%this.vectorSize,n=0===r?0:this.vectorSize-r,i=t.length+n,s=(t=t.padEnd(i," ")).length/this.vectorSize,a=[];for(let e=0;e<t.length;e+=s)a.push(t.slice(e,e+s));return a.map(e=>{let t=0;for(let r=0;r<e.length;r+=1)t+=" "===e?0:e.charCodeAt(r);return t%26/26})}},iF=class extends i$.Embeddings{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},iV=tY,iL=class extends iV.LLM{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);let n=this.response??e;return await r?.handleLLMNewToken(n),n}},iD=class extends iV.LLM{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async *_streamResponseChunks(e,t,r){if(this.thrownErrorString)throw Error(this.thrownErrorString);let n=this.responses?.[0];for(let t of(this.responses=this.responses?.slice(1),n??e))await new Promise(e=>setTimeout(e,this.sleep)),yield{text:t,generationInfo:{}},await r?.handleLLMNewToken(t)}},iH=eJ,iB=class extends tr{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new te.HumanMessage(e))}async addAIMessage(e){this.messages.push(new e9.AIMessage(e))}async clear(){this.messages=[]}},iU=class extends tn{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},iW=class extends iH.BaseTracer{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}},iq=t7,iG=class extends iq.BaseOutputParser{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(e=>e.trim())}},iK=class extends nr{lc_namespace=["test","fake"];output=[new ts({pageContent:"foo"}),new ts({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},iz=ta,iJ=class extends iz.Runnable{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},iZ=nW,iY=class extends iZ.StructuredTool{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},iQ=eJ,iX=class extends iQ.BaseTracer{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},i0=class e extends iI{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(e,{similarity:t,...r}={}){super(e,r),this.similarity=t??n7}async addDocuments(e){let t=e.map(({pageContent:e})=>e);return this.addVectors(await this.embeddings.embedDocuments(t),e)}async addVectors(e,t){let r=e.map((e,r)=>({content:t[r].pageContent,embedding:e,metadata:t[r].metadata}));this.memoryVectors=this.memoryVectors.concat(r)}async similaritySearchVectorWithScore(e,t,r){let n=this.memoryVectors.filter(e=>!r||r(new ts({metadata:e.metadata,pageContent:e.content})));return n.map((t,r)=>({similarity:this.similarity(e,t.embedding),index:r})).sort((e,t)=>e.similarity>t.similarity?-1:0).slice(0,t).map(e=>[new ts({metadata:n[e.index].metadata,pageContent:n[e.index].content}),e.similarity])}static async fromTexts(t,r,n,i){let s=[];for(let e=0;e<t.length;e+=1){let n=Array.isArray(r)?r[e]:r,i=new ts({pageContent:t[e],metadata:n});s.push(i)}return e.fromDocuments(s,n,i)}static async fromDocuments(e,t,r){let n=new this(t,r);return await n.addDocuments(e),n}static async fromExistingIndex(e,t){return new this(e,t)}},i1=(0,eH.__exportAll)({FakeChatMessageHistory:()=>iB,FakeChatModel:()=>iN,FakeEmbeddings:()=>iF,FakeLLM:()=>iL,FakeListChatMessageHistory:()=>iU,FakeListChatModel:()=>iM,FakeRetriever:()=>iK,FakeRunnable:()=>iJ,FakeSplitIntoListParser:()=>iG,FakeStreamingChatModel:()=>iP,FakeStreamingLLM:()=>iD,FakeTool:()=>iY,FakeTracer:()=>iW,FakeVectorStore:()=>i0,SingleRunExtractor:()=>iX,SyntheticEmbeddings:()=>iR}),i4=(0,eH.__exportAll)({agents:()=>eU,caches:()=>eK.caches_exports,callbacks__base:()=>ez.base_exports,callbacks__manager:()=>eX.manager_exports,callbacks__promises:()=>eQ.promises_exports,chat_history:()=>tt,document_loaders__base:()=>th,document_loaders__langsmith:()=>td,documents:()=>tc,embeddings:()=>tg.embeddings_exports,errors:()=>eq.errors_exports,example_selectors:()=>tA,index:()=>eB,indexing:()=>tV,language_models__base:()=>tH.base_exports,language_models__chat_models:()=>tJ.chat_models_exports,language_models__compat:()=>tz.compat_exports,language_models__event:()=>tZ,language_models__llms:()=>tY.llms_exports,language_models__profile:()=>tQ,language_models__stream:()=>tK.stream_exports,language_models__structured_output:()=>tG.structured_output_exports,load__serializable:()=>eV.serializable_exports,memory:()=>tX,messages:()=>e7.messages_exports,messages__tool:()=>eG.tool_exports,output_parsers:()=>tW.output_parsers_exports,output_parsers__openai_functions:()=>rr,output_parsers__openai_tools:()=>rn.openai_tools_exports,outputs:()=>e4.outputs_exports,prompt_values:()=>tL.prompt_values_exports,prompts:()=>r8,retrievers:()=>nt,retrievers__document_compressors:()=>r7,runnables:()=>tB.runnables_exports,runnables__graph:()=>e8.graph_exports,singletons:()=>t.singletons_exports,stores:()=>ni,structured_query:()=>nE,testing:()=>nU,tools:()=>nW.tools_exports,tracers__base:()=>eJ.base_exports,tracers__console:()=>eZ.console_exports,tracers__log_stream:()=>e1.log_stream_exports,tracers__run_collector:()=>nG,tracers__tracer_langchain:()=>eY.tracer_langchain_exports,types__stream:()=>nz,utils__async_caller:()=>e2.async_caller_exports,utils__chunk_array:()=>nJ.chunk_array_exports,utils__context:()=>nZ,utils__env:()=>eL.env_exports,utils__event_source_parse:()=>nQ,utils__format:()=>n3,utils__function_calling:()=>n8.function_calling_exports,utils__hash:()=>eW.hash_exports,utils__json_patch:()=>tU.json_patch_exports,utils__json_schema:()=>e3.json_schema_exports,utils__math:()=>ie,utils__ssrf:()=>ic,utils__standard_schema:()=>e6.standard_schema_exports,utils__stream:()=>e0.stream_exports,utils__testing:()=>i1,utils__tiktoken:()=>tD.tiktoken_exports,utils__types:()=>tq.types_exports,utils__uuid:()=>eE.uuid_exports,vectorstores:()=>iA});async function i2(e){let{optionalImportsMap:t,optionalImportEntrypoints:r,importMap:n,secretsMap:i,secretsFromEnv:s,path:a,depth:o,maxDepth:l}=this,c=a.join(".");if(o>l)throw Error(`Maximum recursion depth (${l}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if("object"!=typeof e||null==e)return e;if(Array.isArray(e))return Promise.all(e.map((e,t)=>i2.call({...this,path:[...a,`${t}`],depth:o+1},e)));if((0,eF.isEscapedObject)(e))return(0,eF.unescapeValue)(e);if("lc"in e&&"type"in e&&"id"in e&&1===e.lc&&"secret"===e.type){let[t]=e.id;if(t in i)return i[t];if(s){let e=(0,eL.getEnvironmentVariable)(t);if(e)return e}throw Error(`Missing secret "${t}" at ${c}`)}if("lc"in e&&"type"in e&&"id"in e&&1===e.lc&&"not_implemented"===e.type){let t=JSON.stringify(e);throw Error(`Trying to load an object that doesn't implement serialization: ${c} -> ${t}`)}if("lc"in e&&"type"in e&&"id"in e&&"kwargs"in e&&1===e.lc&&"constructor"===e.type){let i=JSON.stringify(e),[s,...l]=e.id.slice().reverse(),h=l.reverse(),u=null,p=[h.join("/")];"langchain_community"===h[0]&&p.push(["langchain",...h.slice(1)].join("/"));let d=p.find(e=>e in t);if(eD.concat(r).includes(h.join("/"))||d)if(void 0!==d)u=await t[d];else throw Error(`Missing key "${h.join("/")}" for ${c} in load(optionalImportsMap={})`);else{let e,t;if("langchain"===h[0]||"langchain_core"===h[0])e=({langchain_core:i4,langchain:n})[h[0]],h.shift();else throw Error(`Invalid namespace: ${c} -> ${i}`);if(0===h.length)throw Error(`Invalid namespace: ${c} -> ${i}`);do{if((t=h.join("__"))in e)break;h.pop()}while(h.length>0)t in e&&(u=e[t])}if("object"!=typeof u||null===u)throw Error(`Invalid namespace: ${c} -> ${i}`);let f=u[s]??Object.values(u).find(e=>"function"==typeof e&&(0,eV.get_lc_unique_name)(e)===s);if("function"!=typeof f)throw Error(`Invalid identifer: ${c} -> ${i}`);let m=new f((0,eR.mapKeys)(await i2.call({...this,path:[...a,"kwargs"],depth:o+1},e.kwargs),eR.keyFromJson,function(e){let t={};for(let r=e;r&&r.prototype;r=Object.getPrototypeOf(r))Object.assign(t,Reflect.get(r.prototype,"lc_aliases"));return Object.entries(t).reduce((e,[t,r])=>(e[r]=t,e),{})}(f)));return Object.defineProperty(m.constructor,"name",{value:s}),m}let h={};for(let[t,r]of Object.entries(e))h[t]=await i2.call({...this,path:[...a,t],depth:o+1},r);return h}async function i6(e,t){let r=JSON.parse(e),n={optionalImportsMap:t?.optionalImportsMap??{},optionalImportEntrypoints:t?.optionalImportEntrypoints??[],secretsMap:t?.secretsMap??{},secretsFromEnv:t?.secretsFromEnv??!1,importMap:t?.importMap??{},path:["$"],depth:0,maxDepth:t?.maxDepth??50};return i2.call(n,r)}async function i3(e){if(e&&"object"==typeof e)if(Array.isArray(e))return await Promise.all(e.map(e=>i3(e)));else{let t={};for(let[r,n]of Object.entries(e))t[r]=await i3(n);if(2===t.lc&&"undefined"===t.type)return;if(2===t.lc&&"delta_snapshot"===t.type)return new eN(t.value);if(2===t.lc&&"constructor"===t.type&&Array.isArray(t.id))try{let e;switch(t.id[t.id.length-1]){case"Set":e=Set;break;case"Map":e=Map;break;case"RegExp":e=RegExp;break;case"Error":e=Error;break;case"Uint8Array":e=Uint8Array;break;default:return t}if(t.method)return e[t.method](...t.args||[]);return new e(...t.args||[])}catch{}else if(null!==t&&1===t.lc&&"constructor"===t.type&&Array.isArray(t.id))return i6(JSON.stringify(t));return t}return e}function i8(e,t,r,n){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:r??[],kwargs:n??{}}}var i7=class{_dumps(e){return new TextEncoder().encode(function(e,t,r,n){void 0===n&&(n={depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}),function e(t,r,n,i,s,a,o){if(a+=1,"object"==typeof t&&null!==t){for(l=0;l<i.length;l++)if(i[l]===t)return void e$("[Circular]",t,r,s);if(void 0!==o.depthLimit&&a>o.depthLimit||void 0!==o.edgesLimit&&n+1>o.edgesLimit)return void e$("[...]",t,r,s);if(i.push(t),Array.isArray(t))for(l=0;l<t.length;l++)e(t[l],l,l,i,t,a,o);else{var l,c=Object.keys(t);for(l=0;l<c.length;l++){var h=c[l];e(t[h],h,l,i,t,a,o)}}i.pop()}}(e,"",0,[],void 0,0,n);try{var i;s=0===eM.length?JSON.stringify(e,t,void 0):JSON.stringify(e,(i=t,i=void 0!==i?i:function(e,t){return t},function(e,t){if(eM.length>0)for(var r=0;r<eM.length;r++){var n=eM[r];if(n[1]===e&&n[0]===t){t=n[2],eM.splice(r,1);break}}return i.call(this,e,t)}),void 0)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eP.length;){var s,a=eP.pop();4===a.length?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return s}(e,(e,t)=>(function(e){if(void 0===e)return{lc:2,type:"undefined"};if(e instanceof eN)return{lc:2,type:"delta_snapshot",value:e.value};if(e instanceof Set||e instanceof Map)return i8(e.constructor,void 0,[Array.from(e)]);if(e instanceof RegExp)return i8(RegExp,void 0,[e.source,e.flags]);if(e instanceof Error)return i8(e.constructor,void 0,[e.message]);else if(e?.lg_name==="Send")return{node:e.node,args:e.args,...void 0!==e.timeout?{timeout:e.timeout}:{}};else if(e instanceof Uint8Array)return i8(Uint8Array,"from",[Array.from(e)]);else return e})(t)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return i3(JSON.parse(e))}async loadsTyped(e,t){if("bytes"===e)return"string"==typeof t?new TextEncoder().encode(t):t;if("json"===e)return this._loads("string"==typeof t?t:new TextDecoder().decode(t));throw Error(`Unknown serialization type: ${e}`)}};function i5(e){if("object"!=typeof e||null===e)return e;let t=Array.isArray(e)?[]:{};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=i5(e[r]));return t}function i9(){return{v:4,id:eO(0),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function se(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:i5(e.versions_seen)}}var st=class{serde=new i7;constructor(e){this.serde=e||this.serde}async get(e){let t=await this.getTuple(e);return t?t.checkpoint:void 0}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(0===r.length)return{};let n={},i={},s=new Set(r);for(let e of r)n[e]=[];let a=(await this.getTuple(t))?.parentConfig;for(;null!=a&&s.size>0;){let e=await this.getTuple(a);if(void 0===e)break;if(e.pendingWrites&&e.pendingWrites.length>0)for(let t=e.pendingWrites.length-1;t>=0;t-=1){let r=e.pendingWrites[t],i=r[1];s.has(i)&&n[i].push(r)}for(let t of Array.from(s))Object.prototype.hasOwnProperty.call(e.checkpoint.channel_values,t)&&(i[t]=e.checkpoint.channel_values[t],s.delete(t));a=e.parentConfig}let o={};for(let e of r){let t={writes:n[e].slice().reverse()};Object.prototype.hasOwnProperty.call(i,e)&&(t.seed=i[e]),o[e]=t}return o}getNextVersion(e){if("string"==typeof e)throw Error("Please override this method to use string versions.");return void 0!==e&&"number"==typeof e?e+1:1}};function sr(e,t){return"number"==typeof e&&"number"==typeof t?Math.sign(e-t):String(e).localeCompare(String(t))}function sn(...e){return e.reduce((e,t,r)=>0===r?t:sr(e,t)>=0?e:t)}let si={__error__:-1,[ej]:-2,__interrupt__:-3,__resume__:-4};function ss(e){return e.configurable?.checkpoint_id||e.configurable?.thread_ts||""}e.s(["BaseCheckpointSaver",()=>st,"WRITES_IDX_MAP",()=>si,"compareChannelVersions",()=>sr,"copyCheckpoint",()=>se,"deepCopy",()=>i5,"emptyCheckpoint",()=>i9,"getCheckpointId",()=>ss,"maxChannelVersion",()=>sn],698038);let sa=new Set(["__proto__","constructor","prototype"]);function so(e,t,r={}){let{allowEmpty:n=!1}=r;if("string"!=typeof t){let r=null===t?"null":void 0===t?"undefined":Array.isArray(t)?"array":typeof t;throw Error(`Invalid configurable value for key "${e}": expected a string identifier (got ${r}). This guard protects MemorySaver from prototype pollution.`)}if(!n&&""===t)throw Error(`Invalid configurable value for key "${e}": empty string is not permitted as an in-memory storage key.`);if(sa.has(t))throw Error(`Invalid configurable value for key "${e}": value "${t}" is reserved (would mutate Object.prototype). This guard protects MemorySaver from prototype pollution.`)}function sl(e,t,r){return JSON.stringify([e,t,r])}var sc=class extends st{storage=Object.create(null);writes=Object.create(null);constructor(e){super(e)}async _migratePendingSends(e,t,r,n){let i=sl(t,r,n),s=await Promise.all(Object.values(this.writes[i]??{}).filter(([e,t])=>t===eT).map(async([e,t,r])=>await this.serde.loadsTyped("json",r)));e.channel_values??={},e.channel_values[eT]=s,e.channel_versions??={},e.channel_versions[eT]=Object.keys(e.channel_versions).length>0?sn(...Object.values(e.channel_versions)):this.getNextVersion(void 0)}async getTuple(e){let t=e.configurable?.thread_id,r=e.configurable?.checkpoint_ns??"",n=ss(e);if(void 0!==t&&so("thread_id",t),so("checkpoint_ns",r,{allowEmpty:!0}),n&&so("checkpoint_id",n),n){let i=this.storage[t]?.[r]?.[n];if(void 0!==i){let[s,a,o]=i,l=sl(t,r,n),c=await this.serde.loadsTyped("json",s);c.v<4&&void 0!==o&&await this._migratePendingSends(c,t,r,o);let h=await Promise.all(Object.values(this.writes[l]||{}).map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),u={config:e,checkpoint:c,metadata:await this.serde.loadsTyped("json",a),pendingWrites:h};return void 0!==o&&(u.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:o}}),u}}else{let e=this.storage[t]?.[r];if(void 0!==e){n=Object.keys(e).sort((e,t)=>t.localeCompare(e))[0];let[i,s,a]=e[n],o=sl(t,r,n),l=await this.serde.loadsTyped("json",i);l.v<4&&void 0!==a&&await this._migratePendingSends(l,t,r,a);let c=await Promise.all(Object.values(this.writes[o]||{}).map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),h={config:{configurable:{thread_id:t,checkpoint_id:n,checkpoint_ns:r}},checkpoint:l,metadata:await this.serde.loadsTyped("json",s),pendingWrites:c};return void 0!==a&&(h.parentConfig={configurable:{thread_id:t,checkpoint_ns:r,checkpoint_id:a}}),h}}}async *list(e,t){let{before:r,limit:n,filter:i}=t??{};e.configurable?.thread_id!==void 0&&so("thread_id",e.configurable.thread_id),e.configurable?.checkpoint_ns!==void 0&&so("checkpoint_ns",e.configurable.checkpoint_ns,{allowEmpty:!0}),e.configurable?.checkpoint_id&&so("checkpoint_id",e.configurable.checkpoint_id),r?.configurable?.checkpoint_id&&so("checkpoint_id",r.configurable.checkpoint_id);let s=e.configurable?.thread_id?[e.configurable?.thread_id]:Object.keys(this.storage),a=e.configurable?.checkpoint_ns,o=e.configurable?.checkpoint_id;for(let e of s)for(let t of Object.keys(this.storage[e]??{}))if(void 0===a||t===a)for(let[s,[a,l,c]]of Object.entries(this.storage[e]?.[t]??{}).sort((e,t)=>t[0].localeCompare(e[0]))){if(o&&s!==o||r&&r.configurable?.checkpoint_id&&s>=r.configurable.checkpoint_id)continue;let h=await this.serde.loadsTyped("json",l);if(i&&!Object.entries(i).every(([e,t])=>h[e]===t))continue;if(void 0!==n){if(n<=0)break;n-=1}let u=sl(e,t,s),p=Object.values(this.writes[u]||{}),d=await Promise.all(p.map(async([e,t,r])=>[e,t,await this.serde.loadsTyped("json",r)])),f=await this.serde.loadsTyped("json",a);f.v<4&&void 0!==c&&await this._migratePendingSends(f,e,t,c);let m={config:{configurable:{thread_id:e,checkpoint_ns:t,checkpoint_id:s}},checkpoint:f,metadata:h,pendingWrites:d};void 0!==c&&(m.parentConfig={configurable:{thread_id:e,checkpoint_ns:t,checkpoint_id:c}}),yield m}}async put(e,t,r){let n=se(t),i=e.configurable?.thread_id,s=e.configurable?.checkpoint_ns??"";if(void 0===i)throw Error('Failed to put checkpoint. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');so("thread_id",i),so("checkpoint_ns",s,{allowEmpty:!0}),so("checkpoint_id",t.id),this.storage[i]||(this.storage[i]=Object.create(null)),this.storage[i][s]||(this.storage[i][s]=Object.create(null));let[[,a],[,o]]=await Promise.all([this.serde.dumpsTyped(n),this.serde.dumpsTyped(r)]);return this.storage[i][s][t.id]=[a,o,e.configurable?.checkpoint_id],{configurable:{thread_id:i,checkpoint_ns:s,checkpoint_id:t.id}}}async putWrites(e,t,r){let n=e.configurable?.thread_id,i=e.configurable?.checkpoint_ns,s=e.configurable?.checkpoint_id;if(void 0===n)throw Error('Failed to put writes. The passed RunnableConfig is missing a required "thread_id" field in its "configurable" property. When using a checkpointer, you must pass a "thread_id" so the checkpointer knows which conversation thread to persist state for. Example: graph.stream(input, { configurable: { thread_id: "my-thread-id" } })');if(void 0===s)throw Error('Failed to put writes. The passed RunnableConfig is missing a required "checkpoint_id" field in its "configurable" property.');so("thread_id",n),so("checkpoint_ns",i,{allowEmpty:!0}),so("checkpoint_id",s),so("task_id",r);let a=sl(n,i,s),o=this.writes[a];void 0===this.writes[a]&&(this.writes[a]=Object.create(null)),await Promise.all(t.map(async([e,t],n)=>{let[,i]=await this.serde.dumpsTyped(t),s=[r,si[e]||n],l=`${s[0]},${s[1]}`;s[1]>=0&&o&&l in o||(this.writes[a][l]=[r,e,i])}))}async deleteThread(e){for(let t of(so("thread_id",e),delete this.storage[e],Object.keys(this.writes)))(function(e){let[t,r,n]=JSON.parse(e);return{threadId:t,checkpointNamespace:r,checkpointId:n}})(t).threadId===e&&delete this.writes[t]}async getDeltaChannelHistory(e){let{config:t,channels:r}=e;if(0===r.length)return{};let n=t.configurable?.thread_id,i=t.configurable?.checkpoint_ns??"",s=ss(t);void 0!==n&&so("thread_id",n),so("checkpoint_ns",i,{allowEmpty:!0});let a=this.storage[n]?.[i]??{},o=[],l=(s?a[s]:void 0)?.[2];for(;void 0!==l;){let e=a[l];if(void 0===e)break;o.push(l),l=e[2]}let c={},h={},u=new Set(r);for(let e of r)c[e]=[];for(let e of o){if(0===u.size)break;let t=a[e],r=void 0!==t?await this.serde.loadsTyped("json",t[0]):void 0,s={},o=new Set;if(void 0!==r)for(let e of u)Object.prototype.hasOwnProperty.call(r.channel_values,e)&&void 0!==r.channel_values[e]&&(s[e]=r.channel_values[e],o.add(e));let l=sl(n,i,e),p=Object.entries(this.writes[l]??{});for(let[,[e,t,r]]of(p.sort(([e],[t])=>{let[r,n]=e.split(","),[i,s]=t.split(",");return r!==i?r<i?1:-1:Number(s)-Number(n)}),p))u.has(t)&&c[t].push([e,t,await this.serde.loadsTyped("json",r)]);for(let e of o)h[e]=s[e],u.delete(e)}let p={};for(let e of r){let t={writes:c[e].slice().reverse()};Object.prototype.hasOwnProperty.call(h,e)&&(t.seed=h[e]),p[e]=t}return p}};e.s(["MemorySaver",()=>sc],518761);var sh=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function su(e,t){let r=t.split("."),n=e;for(let e of r){if(e.includes("[")){let[t,r]=e.split("["),i=r.replace("]","");if(!n[t])return[];if("*"===i){let e=[];for(let r of n[t])"string"==typeof r&&e.push(r);return e}let s=parseInt(i,10);if(Number.isNaN(s))return[];n=n[t][s]}else n=n[e];if(void 0===n)return[]}return"string"==typeof n?[n]:[]}function sp(e){return e.split(".")}var sd=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:r,limit:n=10,offset:i=0,query:s}=t;return(await this.batch([{namespacePrefix:e,filter:r,limit:n,offset:i,query:s}]))[0]}async put(e,t,r,n){if(0===e.length)throw new sh("Namespace cannot be empty.");for(let t of e){if("string"!=typeof t)throw new sh(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new sh(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(""===t)throw new sh(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if("langgraph"===e[0])throw new sh(`Root label for namespace cannot be "langgraph". Got: ${e}`);await this.batch([{namespace:e,key:t,value:r,index:n}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:r,maxDepth:n,limit:i=100,offset:s=0}=e,a=[];return t&&a.push({matchType:"prefix",path:t}),r&&a.push({matchType:"suffix",path:r}),(await this.batch([{matchConditions:a.length?a:void 0,maxDepth:n,limit:i,offset:s}]))[0]}start(){}stop(){}};e.s(["BaseStore",()=>sd,"InvalidNamespaceError",()=>sh,"getTextAtPath",()=>su,"tokenizePath",()=>sp],471972);var sf=class extends sd{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=(e=>"lg_name"in e&&"AsyncBatchedStore"===e.lg_name?e.store:e)(e)}get isRunning(){return this.running}async batch(e){throw Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:r,limit:n=10,offset:i=0,query:s}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:r,limit:n,offset:i,query:s})}async put(e,t,r){return this.enqueueOperation({namespace:e,key:t,value:r})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,r)=>{let n=this.nextKey;this.nextKey+=1,this.queue.set(n,{operation:e,resolve:t,reject:r})})}async processBatchQueue(){for(;this.running;){if(await new Promise(e=>{setTimeout(e,0)}),0===this.queue.size)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:e})=>e),r=await this.store.batch(t);e.forEach(({resolve:t},n)=>{t(r[Array.from(e.keys()).indexOf(n)])})}catch(t){e.forEach(({reject:e})=>{e(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}};function sm(e){if(!e)return[];let t=[],r=[],n=0;for(;n<e.length;){let i=e[n];if("["===i){r.length&&(t.push(r.join("")),r=[]);let i=1,s=["["];for(n+=1;n<e.length&&i>0;)"["===e[n]?i+=1:"]"===e[n]&&(i-=1),s.push(e[n]),n+=1;t.push(s.join(""));continue}if("{"===i){r.length&&(t.push(r.join("")),r=[]);let i=1,s=["{"];for(n+=1;n<e.length&&i>0;)"{"===e[n]?i+=1:"}"===e[n]&&(i-=1),s.push(e[n]),n+=1;t.push(s.join(""));continue}"."===i?r.length&&(t.push(r.join("")),r=[]):r.push(i);n+=1}return r.length&&t.push(r.join("")),t}e.s(["AsyncBatchedStore",()=>sf],621197);var sg=class extends sd{data=new Map;vectors=new Map;_indexConfig;constructor(e){super(),e?.index&&(this._indexConfig={...e.index,__tokenizedFields:(e.index.fields??["$"]).map(e=>[e,"$"===e?[e]:sm(e)])})}async batch(e){let t=[],r=new Map,n=new Map;for(let i=0;i<e.length;i+=1){let s=e[i];if("key"in s&&"namespace"in s&&!("value"in s))t.push(this.getOperation(s));else if("namespacePrefix"in s){let e=this.filterItems(s);n.set(i,[s,e]),t.push(null)}else if("value"in s){let e=`${s.namespace.join(":")}:${s.key}`;r.set(e,s),t.push(null)}else"matchConditions"in s&&t.push(this.listNamespacesOperation(s))}if(n.size>0)if(this._indexConfig?.embeddings){let e=new Set;for(let[t]of n.values())t.query&&e.add(t.query);let r=e.size>0?await Promise.all(Array.from(e).map(e=>this._indexConfig.embeddings.embedQuery(e))):[],i=Object.fromEntries(Array.from(e).map((e,t)=>[e,r[t]]));for(let[e,[r,s]]of n.entries())if(r.query&&i[r.query]){let n=i[r.query];t[e]=this.scoreResults(s,n,r.offset??0,r.limit??10)}else t[e]=this.paginateResults(s.map(e=>({...e,score:void 0})),r.offset??0,r.limit??10)}else for(let[e,[r,i]]of n.entries())t[e]=this.paginateResults(i.map(e=>({...e,score:void 0})),r.offset??0,r.limit??10);if(r.size>0&&this._indexConfig?.embeddings){let e=this.extractTexts(Array.from(r.values()));if(Object.keys(e).length>0){let t=await this._indexConfig.embeddings.embedDocuments(Object.keys(e));this.insertVectors(e,t)}}for(let e of r.values())this.putOperation(e);return t}getOperation(e){let t=e.namespace.join(":");return this.data.get(t)?.get(e.key)??null}putOperation(e){let t=e.namespace.join(":");this.data.has(t)||this.data.set(t,new Map);let r=this.data.get(t);if(null===e.value)r.delete(e.key);else{let t=new Date;if(r.has(e.key)){let n=r.get(e.key);n.value=e.value,n.updatedAt=t}else r.set(e.key,{value:e.value,key:e.key,namespace:e.namespace,createdAt:t,updatedAt:t})}}listNamespacesOperation(e){let t=Array.from(this.data.keys()).map(e=>e.split(":"));return e.matchConditions&&e.matchConditions.length>0&&(t=t.filter(t=>e.matchConditions.every(e=>this.doesMatch(e,t)))),void 0!==e.maxDepth&&(t=Array.from(new Set(t.map(t=>t.slice(0,e.maxDepth).join(":")))).map(e=>e.split(":"))),t.sort((e,t)=>e.join(":").localeCompare(t.join(":"))),t.slice(e.offset??0,(e.offset??0)+(e.limit??t.length))}doesMatch(e,t){let{matchType:r,path:n}=e;if("prefix"===r)return!(n.length>t.length)&&n.every((e,r)=>{let n=t[r];return"*"===e||n===e});if("suffix"===r)return!(n.length>t.length)&&n.every((e,r)=>{let i=t[t.length-n.length+r];return"*"===e||i===e});throw Error(`Unsupported match type: ${r}`)}filterItems(e){let t=[];for(let[r,n]of this.data.entries())r.startsWith(e.namespacePrefix.join(":"))&&t.push(...n.values());let r=t;return e.filter&&(r=t.filter(t=>Object.entries(e.filter).every(([e,r])=>{var n;return n=t.value[e],"object"==typeof r&&null!==r&&Object.keys(r).every(e=>"$eq"===e||"$ne"===e||"$gt"===e||"$gte"===e||"$lt"===e||"$lte"===e||"$in"===e||"$nin"===e)?Object.keys(r).filter(e=>e.startsWith("$")).every(e=>{let t=r[e];switch(e){case"$eq":return n===t;case"$ne":return n!==t;case"$gt":return Number(n)>Number(t);case"$gte":return Number(n)>=Number(t);case"$lt":return Number(n)<Number(t);case"$lte":return Number(n)<=Number(t);case"$in":return!!Array.isArray(t)&&t.includes(n);case"$nin":return!Array.isArray(t)||!t.includes(n);default:return!1}}):n===r}))),r}scoreResults(e,t,r=0,n=10){let i=[],s=[],a=[];for(let t of e){let e=this.getVectors(t);if(e.length)for(let r of e)i.push(t),s.push(r);else a.push(t)}let o=this.cosineSimilarity(t,s).map((e,t)=>[e,i[t]]).sort((e,t)=>t[0]-e[0]),l=new Set,c=[];for(let[e,t]of o){let i=`${t.namespace.join(":")}:${t.key}`;if(l.has(i))continue;let s=l.size;if(s>=r+n)break;if(s<r){l.add(i);continue}l.add(i),c.push([e,t])}if(a.length&&c.length<n)for(let e of a.slice(0,n-c.length)){let t=`${e.namespace.join(":")}:${e.key}`;l.has(t)||(l.add(t),c.push([void 0,e]))}return c.map(([e,t])=>({...t,score:e}))}paginateResults(e,t,r){return e.slice(t,t+r)}extractTexts(e){if(!e.length||!this._indexConfig)return{};let t={};for(let i of e)if(null!==i.value&&!1!==i.index)for(let[e,s]of null===i.index||void 0===i.index?this._indexConfig.__tokenizedFields??[]:i.index.map(e=>[e,sm(e)])){var r,n;let a=(r=i.value,(n=s)&&"$"!==n?function e(t,r,n){if(n>=r.length)return"string"==typeof t||"number"==typeof t||"boolean"==typeof t?[String(t)]:null==t?[]:Array.isArray(t)||"object"==typeof t?[JSON.stringify(t,null,2)]:[];let i=r[n],s=[];if(0===n&&"$"===i&&s.push(JSON.stringify(t,null,2)),i.startsWith("[")&&i.endsWith("]")){if(!Array.isArray(t))return[];let a=i.slice(1,-1);if("*"===a)for(let i of t)s.push(...e(i,r,n+1));else try{let i=parseInt(a,10);i<0&&(i=t.length+i),i>=0&&i<t.length&&s.push(...e(t[i],r,n+1))}catch{return[]}}else if(i.startsWith("{")&&i.endsWith("}")){if("object"!=typeof t||null===t)return[];for(let e of i.slice(1,-1).split(",").map(e=>e.trim())){let r=sm(e);if(r.length){let e=t;for(let t of r)if(e&&"object"==typeof e&&t in e)e=e[t];else{e=void 0;break}void 0!==e&&("string"==typeof e||"number"==typeof e||"boolean"==typeof e?s.push(String(e)):(Array.isArray(e)||"object"==typeof e)&&s.push(JSON.stringify(e,null,2)))}}}else if("*"===i){if(Array.isArray(t))for(let i of t)s.push(...e(i,r,n+1));else if("object"==typeof t&&null!==t)for(let i of Object.values(t))s.push(...e(i,r,n+1))}else"object"==typeof t&&null!==t&&i in t&&s.push(...e(t[i],r,n+1));return s}(r,Array.isArray(n)?n:sm(n),0):[JSON.stringify(r,null,2)]);a.length&&(a.length>1?a.forEach((r,n)=>{t[r]||(t[r]=[]),t[r].push([i.namespace,i.key,`${e}.${n}`])}):(t[a[0]]||(t[a[0]]=[]),t[a[0]].push([i.namespace,i.key,e])))}return t}insertVectors(e,t){for(let[r,n]of Object.entries(e)){let e=t.shift();if(!e)throw Error(`No embedding found for text: ${r}`);for(let[t,r,i]of n){let n=t.join(":");this.vectors.has(n)||this.vectors.set(n,new Map);let s=this.vectors.get(n);s.has(r)||s.set(r,new Map),s.get(r).set(i,e)}}}getVectors(e){let t=e.namespace.join(":"),r=e.key;if(!this.vectors.has(t))return[];let n=this.vectors.get(t);if(!n.has(r))return[];let i=Array.from(n.get(r).values());return i.length?i:[]}cosineSimilarity(e,t){if(!t.length)return[];let r=t.map(t=>t.reduce((t,r,n)=>t+r*e[n],0)),n=Math.sqrt(e.reduce((e,t)=>e+t*t,0)),i=t.map(e=>Math.sqrt(e.reduce((e,t)=>e+t*t,0)));return r.map((e,t)=>{let r=i[t];return n&&r?e/(n*r):0})}get indexConfig(){return this._indexConfig}},s_=class extends sg{};e.s(["InMemoryStore",()=>sg,"MemoryStore",()=>s_],144253);var sy=class{serde=new i7;constructor(e){this.serde=e||this.serde}};function sv(e){return null!=e&&"DeltaChannel"===e.lc_graph_name}function sb(e){return null!=e&&!0===e.lg_is_channel}e.s([],458443);var sw=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===ey.unminifiable_name)return!1;throw e}}equals(e){return this===e}};let sk=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function sS(e){if(!0===e[sk])return e;let t={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let n=e[r];sb(n)&&(t[r]=n)}return Object.assign(t,{[sk]:!0}),t}function sx(e,t){let r=sS(e),n={};for(let e in r){if(!Object.prototype.hasOwnProperty.call(r,e))continue;let i=t.channel_values[e];n[e]=r[e].fromCheckpoint(i)}return Object.assign(n,{[sk]:!0}),n}function sE(e,t){let r=new Set,n=p();for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=e[i];if(!sv(s)||!s.isAvailable())continue;let[a,o]=t[i]??[0,0];(a>=s.snapshotFrequency||o>=n)&&r.add(i)}return r}function sC(e,t,r,n){let i,s=n?.channelsToSnapshot??new Set,{updatedChannels:a,getNextVersion:o}=n??{},l=e.channel_versions;if(void 0===t)i=e.channel_values;else for(let r in i={},l={...e.channel_versions},t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;let e=t[r];if(s.has(r)){void 0===o||void 0!==a&&a.has(r)||(l[r]=o(l[r])),i[r]=new eN(e.get());continue}if(!sv(e))try{i[r]=e.checkpoint()}catch(e){if(e.name===ey.unminifiable_name);else throw e}}return{v:4,id:n?.id??eO(r),ts:new Date().toISOString(),channel_values:i,channel_versions:l,versions_seen:e.versions_seen}}async function sA(e,t,r){let n=sx(e,t),{saver:i,config:s}=r??{},a=sS(e),o=[];for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&sv(a[e])&&!Object.prototype.hasOwnProperty.call(t.channel_values,e)&&o.push(e);if(0===o.length||void 0===i||void 0===s)return n;let l=await i.getDeltaChannelHistory({config:s,channels:o});for(let e of o){let t=l[e];if(void 0===t)continue;let r=a[e].fromCheckpoint(t.seed);r.replayWrites(t.writes),n[e]=r}return n}e.s(["BaseChannel",()=>sw,"channelsFromCheckpoint",()=>sA,"createCheckpoint",()=>sC,"deltaChannelsToSnapshot",()=>sE,"emptyChannels",()=>sx,"getOnlyChannels",()=>sS,"isBaseChannel",()=>sb,"isDeltaChannel",()=>sv],169525);var sO=class e extends sw{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(e,t){super(),this.operator=e,this.initialValueFactory=t,this.value=t?.()}fromCheckpoint(t){let r=new e(this.operator,this.initialValueFactory);return void 0!==t&&(r.value=t),r}update(e){let t=e;if(!t.length)return!1;if(void 0===this.value){let e=t[0],[r,n]=J(e);r?this.value=n:this.value=e,t=t.slice(1)}let r=!1;for(let e of t)if(Z(e)){if(r)throw new ev("Can receive only one Overwrite value per step.");let[,t]=J(e);this.value=t,r=!0;continue}else r||void 0===this.value||(this.value=this.operator(this.value,e));return!0}get(){if(void 0===this.value)throw new ey;return this.value}checkpoint(){if(void 0===this.value)throw new ey;return this.value}isAvailable(){return void 0!==this.value}equals(e){return this===e||null!=e&&"BinaryOperatorAggregate"===e.lc_graph_name&&this.operator===e.operator}};e.s(["BinaryOperatorAggregate",()=>sO],909441);var sI=class e extends sw{lc_graph_name="LastValue";value=[];constructor(e){super(),this.initialValueFactory=e,e&&(this.value=[e()])}fromCheckpoint(t){let r=new e(this.initialValueFactory);return void 0!==t&&(r.value=[t]),r}update(e){if(0===e.length)return!1;if(1!==e.length)throw new ev("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[e[e.length-1]],!0}get(){if(0===this.value.length)throw new ey;return this.value[0]}checkpoint(){if(0===this.value.length)throw new ey;return this.value[0]}isAvailable(){return 0!==this.value.length}},sT=class e extends sw{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let r=new e;if(void 0!==t){let[e,n]=t;r.value=[e],r.finished=n}return r}update(e){return 0!==e.length&&(this.finished=!1,this.value=[e[e.length-1]],!0)}get(){if(0===this.value.length||!this.finished)throw new ey;return this.value[0]}checkpoint(){if(0!==this.value.length)return[this.value[0],this.finished]}consume(){return!!this.finished&&(this.finished=!1,this.value=[],!0)}finish(){return!this.finished&&this.value.length>0&&(this.finished=!0,!0)}isAvailable(){return 0!==this.value.length&&this.finished}},sj=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return"object"==typeof e&&null!==e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name}};let sN=function(e){return e?sP(e):new sI};function sP(e){return"object"==typeof e&&e&&"reducer"in e&&e.reducer?new sO(e.reducer,e.default):"object"==typeof e&&e&&"value"in e&&e.value?new sO(e.value,e.default):new sI}sN.Root=e=>new sj(e),e.s(["Annotation",()=>sN,"AnnotationRoot",()=>sj,"getChannel",()=>sP],753489);let sM=["tags","metadata","callbacks","configurable"],s$=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal","heartbeat","executionInfo","serverInfo","control"],sR=new Set(["thread_id","checkpoint_id","checkpoint_ns","task_id","run_id","assistant_id","graph_id"]);function sF(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:25,configurable:{}},n=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0!==n){for(let[e,r]of Object.entries(n))if(void 0!==r)if(sM.includes(e)){let n;n=Array.isArray(r)?[...r]:"object"==typeof r?"callbacks"===e&&"copy"in r&&"function"==typeof r.copy?r.copy():{...r}:r,t[e]=n}else t[e]=r}for(let r of e)if(void 0!==r)for(let[e,n]of Object.entries(r))void 0!==n&&s$.includes(e)&&(t[e]=n);return t.metadata=function(e,t){if(!e)return t;let r=t??{};for(let t of sR){if(t in r)continue;let n=e[t];void 0!==n&&(r[t]=n)}return r}(t.configurable,t.metadata)??{},t}function sV(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getStore` in such environment, pass the `config` from the node function directly.");return t?.store}function sL(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getWriter` in such environment, pass the `config` from the node function directly.");return t?.writer||t?.configurable?.writer}function sD(){return r.AsyncLocalStorageProviderSingleton.getRunnableConfig()}function sH(e){let t=e??r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(void 0===t)throw Error("Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.\nIf you're running `getCurrentTaskInput` in such environment, pass the `config` from the node function directly.");if(t.configurable?.__pregel_scratchpad?.currentTaskInput===void 0)throw Error("BUG: internal scratchpad not initialized.");return t.configurable[w].currentTaskInput}function sB(e){return e.split("|").filter(e=>!e.match(/^\d+$/)).map(e=>e.split(":")[0]).join("|")}function sU(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}e.s(["ensureLangGraphConfig",()=>sF,"getConfig",()=>sD,"getCurrentTaskInput",()=>sH,"getParentCheckpointNamespace",()=>sU,"getStore",()=>sV,"getWriter",()=>sL,"recastCheckpointNamespace",()=>sB],598259);var sW=class{#e=void 0;requestDrain(e="shutdown"){this.#e=e}get drainRequested(){return void 0!==this.#e}get drainReason(){return this.#e}};e.s(["RunControl",()=>sW],609202);let sq=["values","updates","messages","tools","custom","tasks"];function sG(e){return null!=e&&"object"==typeof e&&"string"==typeof e.id&&("source"in e||"number"==typeof e.step)&&!("values"in e)&&!("config"in e)}function sK({namespace:e,mode:t,payload:r,seq:n}){let i=Date.now(),s={type:"event"};switch(t){case"messages":{let{data:t,node:a}=function(e){if(!Array.isArray(e)||2!==e.length)return{data:e};let[t,r]=e;if(null==r||"object"!=typeof r)return{data:e};let n="string"==typeof r.langgraph_node?r.langgraph_node:void 0,i="string"==typeof r.run_id?r.run_id:void 0;return{data:null!=i&&null!=t&&"object"==typeof t?{...t,run_id:i}:t,node:n}}(r);return[{...s,seq:n,method:"messages",params:{namespace:e,timestamp:i,...a?{node:a}:{},data:t}}]}case"tools":return[{...s,seq:n,method:"tools",params:{namespace:e,timestamp:i,data:function(e){if("object"!=typeof e||null===e)return{event:"tool-error",tool_call_id:"",message:"Unexpected tools payload shape"};let t=String(e.toolCallId??"");switch(e.event){case"on_tool_start":return{event:"tool-started",tool_call_id:t,tool_name:String(e.name??"unknown"),input:e.input};case"on_tool_event":return{event:"tool-output-delta",tool_call_id:t,delta:"string"==typeof e.data?e.data:JSON.stringify(e.data??"")};case"on_tool_end":return{event:"tool-finished",tool_call_id:t,output:e.output};case"on_tool_error":{let r=e.error;return{event:"tool-error",tool_call_id:t,message:"object"==typeof r&&null!==r&&"message"in r&&"string"==typeof r.message?r.message:String(r??"unknown error")}}default:return{event:"tool-error",tool_call_id:"",message:`Unknown tool event: ${String(e.event)}`}}}(r)}}];case"checkpoints":if(!sG(r))return[];return[{...s,seq:n,method:"checkpoints",params:{namespace:e,timestamp:i,data:r}}];case"values":return[{...s,seq:n,method:"values",params:{namespace:e,timestamp:i,data:r}}];case"updates":{let t=function(e){if("object"!=typeof e||null===e)return{values:{}};let t=Object.entries(e);if(0===t.length)return{values:{}};let[r,n]=t[0];return{node:r,values:"object"==typeof n&&null!==n?n:{value:n}}}(r);return[{...s,seq:n,method:"updates",params:{namespace:e,timestamp:i,..."string"==typeof t.node?{node:t.node}:{},data:t}}]}case"custom":{let t="object"==typeof r&&null!==r&&!Array.isArray(r)&&"name"in r?r:{payload:r};return[{...s,seq:n,method:"custom",params:{namespace:e,timestamp:i,data:t}}]}case"tasks":return[{...s,seq:n,method:"tasks",params:{namespace:e,timestamp:i,data:r}}];default:return[]}}e.s(["STREAM_EVENTS_V3_MODES",()=>sq,"convertToProtocolEvent",()=>sK,"isCheckpointEnvelope",()=>sG],840607);let sz=Symbol.for("langgraph.stream_channel");var sJ=class e{[sz]=!0;channelName;#t=[];#r=[];#n=!1;#i;#s;constructor(e){this.channelName=e}static local(){return new e}static remote(t){return new e(t)}static isInstance(e){return"object"==typeof e&&null!==e&&sz in e&&!0===e[sz]}push(e){this.#t.push(e),this.#a(),this.#s?.(e)}iterate(e=0){let t=e;return{next:async()=>{for(;;){if(t<this.#t.length)return{value:this.#t[t++],done:!1};if(this.#n){if(this.#i)throw this.#i;return{value:void 0,done:!0}}await new Promise(e=>this.#r.push(e))}}}}toAsyncIterable(e=0){return{[Symbol.asyncIterator]:()=>this.iterate(e)}}toEventStream(e={}){let t=new TextEncoder,r=this.iterate(e.startAt),n=e.event??this.channelName,i=e.serialize??(e=>JSON.stringify(e)??"null");return new ReadableStream({async pull(e){try{let s=await r.next();if(s.done)return void e.close();let a=[];for(let e of(null!=n&&a.push(`event: ${n}`),i(s.value).split(/\r\n|\r|\n/)))a.push(`data: ${e}`);e.enqueue(t.encode(`${a.join("\n")}
78
78
 
79
- `))}catch(t){e.error(t)}},async cancel(){await r.return?.()}})}get(e){if(e<0||e>=this.#t.length)throw RangeError(`StreamChannel index ${e} out of bounds (size=${this.#t.length})`);return this.#t[e]}get size(){return this.#t.length}get done(){return this.#n}close(){this.#n=!0,this.#a()}fail(e){this.#i=e,this.#n=!0,this.#a()}_wire(e){this.#s=e}_close(){this.close()}_fail(e){this.fail(e)}[Symbol.asyncIterator](){return this.iterate()}#a(){for(let e of this.#r.splice(0))e()}};function s7(e){return s9.isInstance(e)}e.s(["StreamChannel",()=>s9,"isStreamChannel",()=>s7],898060);let ae=Symbol("resolveValues"),at=Symbol("rejectValues");var ar=class{_events=s9.local();_discoveries=s9.local();#o=0;#l=!1;#i;#c=!1;#h=[];#u=[];#p=[];#d=new Map;#f=new Map;#m=[];#g=[];register(e,t){this.#d.set(ai(e),t)}addTransformer(e){let t=this._events.size;this.#u.push(e),e.onRegister&&e.onRegister({push:(e,t)=>this.push(e,t)});for(let r=0;r<t;r+=1)e.process(this._events.get(r));this.#l&&(void 0!==this.#i?e.fail?.(this.#i):e.finalize?.())}wireChannels(e){for(let[r,n]of Object.entries(e)){var t;if(s7(n)){if(this.#p.push(n),"string"!=typeof n.channelName)continue;let e=(t=n.channelName,`custom:${t}`);n._wire(t=>{this._events.push({type:"event",seq:this.#o++,method:e,params:{namespace:this.#h,timestamp:Date.now(),data:t}})});continue}null!=n&&("object"==typeof n||"function"==typeof n)&&"function"==typeof n.then&&this.#g.push({name:r,promise:Promise.resolve(n)})}}push(e,t){"values"===t.method&&this.#f.set(ai(e),t.params.data);let r=this.#h;this.#h=e;let n=!0;for(let e of this.#u)e.process(t)||(n=!1);this.#h=r,n&&this._events.push({...t,seq:this.#o++})}close(){for(let[e,t]of(this.#l=!0,this.#f.entries())){let r=e?e.split("\0"):[];this.#d.get(ai(r))?.[ae](t)}let e=[];for(let t of this.#u){let r=t.finalize?.();null!=r&&"function"==typeof r.then&&e.push(r)}for(let e of this.#p)e._close();let t=this.#g;for(let r of(0===t.length&&0===e.length?(this._events.close(),this._discoveries.close()):Promise.allSettled([...e,...t.map(async({name:e,promise:t})=>{try{let r=await t;this._events.done||this._events.push({type:"event",seq:this.#o++,method:"custom",params:{namespace:[],timestamp:Date.now(),data:{name:e,payload:r}}})}catch{}})]).then(()=>{this._events.close(),this._discoveries.close()}),this.#d.values()))r[ae](void 0)}fail(e){for(let t of(this.#l=!0,this.#i=e,this.#u))t.fail?.(e);for(let t of this.#p)t._fail(e);for(let t of(this._events.fail(e),this._discoveries.fail(e),this.#d.values()))t[at](e)}markInterrupted(e){this.#c=!0,this.#m.push(...e)}get interrupted(){return this.#c}get interrupts(){return this.#m}subscribeEvents(e,t=0){let r=this._events.iterate(t);return{async next(){for(;;){let t=await r.next();if(t.done||as(t.value.params.namespace,e))return t}}}}};async function an(e,t){let r=0;try{for await(let n of e){let[e,i,s]=n;if("values"===i&&Y(s)){let e=s[T];t.markInterrupted(e.map(e=>({interruptId:e.id??"",payload:e.value})))}let a=s5({namespace:e,mode:i,payload:s,seq:r});for(let n of(r+=a.length,a))t.push(e,n)}}catch(e){t.fail(e);return}t.close()}function ai(e){return e.join("\0")}function as(e,t){if(t.length>e.length)return!1;for(let r=0;r<t.length;r+=1)if(e[r]!==t[r])return!1;return!0}function aa(e,t,r=0){return{[Symbol.asyncIterator](){let n=e.iterate(r);return{async next(){for(;;){let e=await n.next();if(e.done)return{value:void 0,done:!0};if(as(e.value.namespace,t))return{value:e.value,done:!1}}}}}}}let ao="root";function al(e){if(0===e.length)return ao;let t=e[e.length-1],r=t.indexOf(":");return -1===r?t:t.slice(0,r)}function ac(e){if(e instanceof Error)return e.message;if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function ah(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function au(e={}){let t,r=e.rootGraphName??ao,n=e.initialStatus??"running",i=e.emitRootOnRegister??!0,s=e.getGraphName??al,a=e.serializeError??ac,o=e.getTerminalStatusOverride,l=s9.local(),c=new Map,h=new Map,u=new Set,p=[],d=0,f=!1,m=e=>0===e.length?r:s(e),g=(e,r,n)=>{let s=ai(e),a=c.get(s),o=a?.graphName??m(e);if(null!=a&&a.status===r&&a.graphName===o&&n?.error==null)return;null==a?(a={namespace:e,graphName:o,status:r},c.set(s,a)):a.status=r;let h={event:r,graph_name:o,...n?.cause!=null?{cause:n.cause}:{},...n?.error!=null?{error:n.error}:{}},u=Date.now();if((l.push({namespace:e,timestamp:u,...h}),0!==e.length||i)&&null!=t){d+=1;try{t.push(e,{type:"event",seq:0,method:"lifecycle",params:{namespace:e,timestamp:u,data:h}})}finally{d-=1}}},_=e=>{let t=ai(e),r=c.get(t);return null==r&&(r={namespace:e,graphName:m(e),status:void 0},c.set(t,r)),r},y=()=>{if(0!==p.length)for(let e of p.splice(0,p.length)){let t=ai(e.namespace),r=c.get(t);null!=r&&"started"===r.status&&g(e.namespace,"completed")}},b=e=>{let t=ai(e.namespace),r=c.get(t);null==r||"started"!==r.status||p.some(e=>ai(e.namespace)===t)||p.push(e)},v=e=>{for(let t=1;t<=e.length;t+=1){let r=e.slice(0,t),n=ai(r);if(c.has(n))continue;_(r);let i=h.get(n);g(r,"started",null!=i?{cause:i}:void 0)}},w=()=>u.size>0?"interrupted":"completed",k=e=>{for(let t of c.values())0!==t.namespace.length&&"started"===t.status&&g(t.namespace,e);g([],e),l.close()},S=async()=>{if(null==o)return w();try{return await o()??w()}catch{return w()}};return{__native:!0,init:()=>({_lifecycleLog:l,lifecycle:aa(l,[],0)}),onRegister(e){t=e,_([]),i&&g([],n)},process(e){let t=e.params.namespace;if(d>0)return!0;let r="tasks"===e.method?function(e){if(ah(e)&&"result"in e&&"string"==typeof e.name&&"string"==typeof e.id&&!e.name.startsWith("__"))return{name:e.name,id:e.id}}(e.params.data):void 0;if(null!=r&&((e,t)=>{for(let r=p.length-1;r>=0;r-=1){let n=p[r];"node"===n.source.type&&n.source.node===t&&ai(n.source.parent)===ai(e)&&p.splice(r,1)}})(t,r.name),y(),"lifecycle"===e.method){let r=function(e){if(!ah(e)||"started"!==e.event)return;let t=e.cause;if(ah(t)&&"string"==typeof t.type)return t}(e.params.data);return null!=r&&h.set(ai(t),r),v(t),!1}if(v(t),"input"===e.method&&ah(e.params.data)&&"requested"===e.params.data.event){let t=e.params.data.id;"string"==typeof t&&u.add(t)}if(null!=r){let e,n=(e=[...t,`${r.name}:${r.id}`],c.get(ai(e))?.status==="started"?e:void 0);null!=n&&b({namespace:n,source:{type:"task"}})}if("updates"===e.method){let r=e.params.node;if("string"==typeof r&&!r.startsWith("__")){let e=((e,t)=>{let r=`${t}:`;for(let n of c.values()){if(n.namespace.length!==e.length+1||"started"!==n.status||!as(n.namespace,e))continue;let i=n.namespace[n.namespace.length-1];if(i===t||i.startsWith(r))return n.namespace}})(t,r);null!=e&&b({namespace:e,source:{type:"node",parent:t,node:r}})}}return!0},finalize(){if(!f)return(f=!0,y(),null==o)?void k(w()):S().then(k).catch(e=>{l.fail(e)})},fail(e){if(f)return;f=!0;let t=a(e);for(let e of c.values())0!==e.namespace.length&&"started"===e.status&&g(e.namespace,"failed");g([],"failed",{error:t}),l.fail(e)}}}function ap(e){return"string"==typeof e.run_id?`run:${e.run_id}`:"message-start"===e.event&&"string"==typeof e.id?`message:${e.id}`:"__default__"}function ad(e,t){let r=s9.local(),n=new Map,i=new Set;return{init:()=>({messages:r.toAsyncIterable()}),process(s){if("messages"!==s.method||!as(s.params.namespace,e)||s.params.namespace.length!==e.length+1||void 0!==t&&s.params.node!==t)return!0;let a=s.params.data;switch(a.event){case"message-start":{let e=ap(a);if("tool"===a.role){i.add(e);break}let t=s9.local(),o=Object.assign(new t5.ChatModelStream(t.toAsyncIterable()),{namespace:s.params.namespace,node:s.params.node});n.set(e,{source:t,stream:o}),t.push(a),r.push(o);break}case"content-block-start":case"content-block-delta":case"content-block-finish":case"error":if(i.has(ap(a)))break;n.get(ap(a))?.source.push(a);break;case"message-finish":{let e=ap(a);if(i.delete(e))break;let t=n.get(e);t&&(t.source.push(a),t.source.close(),n.delete(e))}}return!0},finalize(){for(let[e,t]of n)t.source.push({event:"message-finish"}),t.source.close(),n.delete(e);i.clear(),r.close()},fail(e){for(let[t,r]of n)r.source.fail(e),n.delete(t);i.clear(),r.fail(e)}}}function af(e,t,r=0){let n=t.length+1;return{[Symbol.asyncIterator](){let i=e.iterate(r);return{async next(){for(;;){let e=await i.next();if(e.done)return{value:void 0,done:!0};let{ns:r,stream:s}=e.value;if(r.length===n&&as(r,t))return{value:s,done:!1}}}}}}}function am(e,t){let{createStream:r}=t,n=new Set;return{__native:!0,init:()=>({_discoveries:e._discoveries,subgraphs:af(e._discoveries,[],0)}),process(t){let i=t.params.namespace;if(0===i.length)return!0;let s=i.slice(0,1),a=ai(s);if(n.has(a))return!0;n.add(a);let o=r(s,e._discoveries.size,e._events.size);return e.register(s,o),e._discoveries.push({ns:s,stream:o}),!0}}}function ag(e){let t=s9.local();return{init:()=>({_valuesLog:t}),process:r=>!("values"===r.method&&r.params.namespace.length===e.length&&as(r.params.namespace,e))||(t.push(r.params.data),!0),finalize(){t.close()},fail(e){t.fail(e)}}}function a_(e){return"__native"in e&&!0===e.__native}e.s(["createLifecycleTransformer",()=>au,"filterLifecycleEntries",()=>aa],971499),e.s(["createMessagesTransformer",()=>ad],581740),e.s(["createSubgraphDiscoveryTransformer",()=>am,"filterSubgraphHandles",()=>af],325076),e.s(["createValuesTransformer",()=>ag],447702),e.s(["isNativeTransformer",()=>a_],49797);let ay=Symbol("setValuesLog"),ab=Symbol("setMessagesIterable"),av=Symbol("setLifecycleIterable"),aw=Symbol("setSubgraphsIterable"),ak={[Symbol.asyncIterator]:()=>({next:()=>Promise.resolve({value:void 0,done:!0})})};var aS=class{path;extensions;_mux;#_;#y;#b;#v;#w;#k;#S;#x;#E;#C;constructor(e,t,r=0,n=0,i,s){this.path=e,this._mux=t,this.#y=r,this.#_=n,this.extensions=i??{},this.#b=s??new AbortController,this.#k=new Promise((e,t)=>{this.#v=e,this.#w=t}),this.#k.catch(()=>{})}[Symbol.asyncIterator](){return this._mux.subscribeEvents(this.path,this.#_)}get subgraphs(){return this.#C?this.#C:af(this._mux._discoveries,this.path,this.#y)}get values(){let e=this.#S,t=this.#k,r=this._mux,n=this.#_,i=this.path,s=e?e.toAsyncIterable():{[Symbol.asyncIterator]:()=>{let e=r.subscribeEvents(i,n);return{async next(){for(;;){let t=await e.next();if(t.done)return{value:void 0,done:!0};if("values"===t.value.method&&t.value.params.namespace.length===i.length)return{value:t.value.params.data,done:!1}}}}}};return{[Symbol.asyncIterator]:()=>s[Symbol.asyncIterator](),then:t.then.bind(t)}}get messages(){if(this.#x)return this.#x;let e=ad(this.path),t=e.init();return this._mux.addTransformer(e),this.#x=t.messages,this.#x}get lifecycle(){return this.#E??ak}messagesFrom(e){let t=ad(this.path,e),r=t.init();return this._mux.addTransformer(t),r.messages}get output(){return this.#k}get interrupted(){return this._mux.interrupted}get interrupts(){return this._mux.interrupts}abort(e){this.#b.abort(e)}get signal(){return this.#b.signal}[ae](e){this.#v?.(e),this.#v=void 0}[at](e){this.#w?.(e),this.#w=void 0}[ay](e){this.#S=e}[ab](e){this.#x=e}[av](e){this.#E=e}[aw](e){this.#C=e}},ax=class extends aS{name;index;constructor(e,t,r=0,n=0,i,s){super(e,t,r,n,i,s);const a=e[e.length-1]??"",o=a.lastIndexOf(":");if(o>=0){this.name=a.slice(0,o);const e=a.slice(o+1);this.index=/^\d+$/.test(e)?Number(e):0}else this.name=a,this.index=0}};function aE(e,t=[],r){let{abortController:n}=r instanceof AbortController?{abortController:r}:r??{},i=new ar,s=au(),a=s.init(),o=a._lifecycleLog,l=am(i,{createStream:(e,t,r)=>{let n=new ax(e,i,t,r);return n[aw](af(i._discoveries,e,t)),n[av](aa(o,e,o.size)),n}}),c=l.init();i.addTransformer(l),i.addTransformer(s);let h=ag([]),u=ad([]);i.addTransformer(h),i.addTransformer(u);let p={},d=[];for(let e of t){let t=e();i.addTransformer(t);let r=t.init();a_(t)?d.push(r):Object.assign(p,r),"object"!=typeof r||null===r||a_(t)||i.wireChannels(r)}let f=new aS([],i,0,0,p,n);for(let e of d)Object.assign(f,e);let m=h.init();f[ay](m._valuesLog);let g=u.init();return f[ab](g.messages),f[av](a.lifecycle),f[aw](c.subgraphs),i.register([],f),an(e,i).catch(e=>{}),f}e.s(["GraphRunStream",()=>aS,"SubgraphRunStream",()=>ax,"createGraphRunStream",()=>aE],180073);var aC=t5;e.s(["ChatModelStreamImpl",()=>aC.ChatModelStream],620454);var aC=t5;let aA=e=>BigInt(e),aO=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),aI=aA("0x9E3779B1"),aT=aA("0x85EBCA77"),aj=aA("0xC2B2AE3D"),aN=aA("0x9E3779B185EBCA87"),aP=aA("0xC2B2AE3D27D4EB4F"),aM=aA("0x165667B19E3779F9"),a$=aA("0x85EBCA77C2B2AE63"),aR=aA("0x27D4EB2F165667C5"),aV=aA("0x165667919E3779F9"),aF=aA("0x9FB21C651E98DF25"),aL=(e=>{let t=e.length;if(t%2!=0)throw Error("String should have an even number of characters");let r=t/2,n=new Uint8Array(r),i=0,s=0;for(;s<r;){let t=e.slice(i,i+=2);n[s]=Number.parseInt(t,16),s+=1}return aO(n)})("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),aD=(aA(1)<<aA(128))-aA(1),aU=(aA(1)<<aA(64))-aA(1),aB=(aA(1)<<aA(32))-aA(1);function aH(e){if(!e)throw Error("Assert failed")}function aW(e,t,r){for(let n=0;n<8;n+=1){let i=t.getBigUint64(8*n,!0),s=i^r.getBigUint64(8*n,!0);e[1^n]+=i,e[n]+=(s&aB)*(s>>aA(32)&aB)&aU}return e}function aq(e,t,r,n){for(let i=0;i<n;i+=1)aW(e,aO(t,64*i),aO(r,8*i));return e}function aG(e,t){for(let n=0;n<8;n+=1){var r;let i=t.getBigUint64(8*n,!0),s=e[n];s=((r=s)^r>>aA(47)^i)*aI,e[n]=s&aU}return e}function aK(e,t){return aJ(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(8,!0))}function az(e,t,r){let n=r;return n+=aK(e.slice(0),aO(t,0)),n+=aK(e.slice(2),aO(t,16)),n+=aK(e.slice(4),aO(t,32)),aQ((n+=aK(e.slice(6),aO(t,48)))&aU)}function aJ(e,t){let r=e*t&aD;return r&aU^r>>aA(64)}function aZ(e,t,r){return aJ((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+r)&aU,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-r)&aU)}function aY(e,t,r,n,i){let s=e&aU,a=e>>aA(64)&aU;return s+=aZ(t,n,i),s^=r.getBigUint64(0,!0)+r.getBigUint64(8,!0),s&=aU,a+=aZ(r,aO(n,16),i),a^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),(a&=aU)<<aA(64)|s}function aQ(e){let t=e;return t^=t>>aA(37),t*=aV,t&=aU,t^=t>>aA(32)}function aX(e){let t=e;return t^=t>>aA(33),t*=aP,t&=aU,t^=t>>aA(29),t*=aM,t&=aU,t^=t>>aA(32)}function a0(e){return~e+aA(1)&aU}function a1(e,t=aA(0)){let r,n,i=new TextEncoder,s=aO("string"==typeof e?i.encode(e):e),a=s.byteLength,o=e=>e.toString(16).padStart(32,"0");return a<=16?o(function(e,t){var r,n,i,s,a,o,l,c;let h,u,p,d,f,m=e.byteLength;if(aH(m<=16),m>8){let n,i,s,a,o,l,c,h;return aH((n=e.byteLength)>=9&&n<=16),i=(aL.getBigUint64(32,!0)^aL.getBigUint64(40,!0))+t&aU,s=(aL.getBigUint64(48,!0)^aL.getBigUint64(56,!0))-t&aU,l=((o=(e.getBigUint64(0,!0)^(a=e.getBigUint64(n-8,!0))^i)*aN)&aU)+(aA(n-1)<<aA(54)),o=o&(aD^aU)|l,a^=s,o+=a+(a&aB)*(aT-aA(1))<<aA(64),o&=aD,o^=(r=o>>aA(64),(c=new DataView(new ArrayBuffer(8))).setBigUint64(0,r,!0),c.getBigUint64(0,!1)),aQ((h=(o&aU)*aP+((o>>aA(64))*aP<<aA(64))&aD)&aU)|aQ(h>>aA(64))<<aA(64)}if(m>=4){let r,s,a,o;return aH((r=e.byteLength)>=4&&r<=8),s=e.getUint32(0,!0),a=e.getUint32(r-4,!0),o=((aA(s)|aA(a)<<aA(32))^(aL.getBigUint64(16,!0)^aL.getBigUint64(24,!0))+t&aU)*(aN+(aA(r)<<aA(2)))&aD,o+=(o&aU)<<aA(65),o&=aD,o^=o>>aA(67),(i=((n=o&aU)^n>>aA(35))*aF&aU)^i>>aA(28)|aQ(o>>aA(64))<<aA(64)}return m>0?(s=e,a=aL,o=t,aH((u=s.byteLength)>0&&u<=3),d=((p=aA(s.getUint8(u-1))|aA(u<<8)|aA(s.getUint8(0)<<16)|aA(s.getUint8(u>>1)<<24))^(aA(a.getUint32(0,!0))^aA(a.getUint32(4,!0)))+o)&aU,f=(aA(a.getUint32(8,!0))^aA(a.getUint32(12,!0)))-o,(aX((((l=h=((h=((h=p)&aA(65535))<<aA(16)|(h&aA(0xffff0000))>>aA(16))&aA(0xff00ff))<<aA(8)|(h&aA(0xff00ff00))>>aA(8))<<(c=aA(13))|l>>aA(32)-c)&aB^f)&aU)&aU)<<aA(64)|aX(d)):aX(t^aL.getBigUint64(64,!0)^aL.getBigUint64(72,!0))|aX(t^aL.getBigUint64(80,!0)^aL.getBigUint64(88,!0))<<aA(64)}(s,t)):a<=128?o(function(e,t,r){let n=aA(e.byteLength)*aN&aU,i=aA(e.byteLength-1)/aA(32);for(;i>=0;){let s=Number(i);n=aY(n,aO(e,16*s),aO(e,e.byteLength-16*(s+1)),aO(t,32*s),r),i-=aA(1)}let s=n+(n>>aA(64))&aU;s=aQ(s);let a=(n&aU)*aN+(n>>aA(64))*a$+(aA(e.byteLength)-r&aU)*aP;return a&=aU,s|(a=a0(aQ(a)))<<aA(64)}(s,aL,t)):a<=240?o(function(e,t,r){let n=aA(e.byteLength)*aN&aU;for(let i=32;i<160;i+=32)n=aY(n,aO(e,i-32),aO(e,i-16),aO(t,i-32),r);n=aQ(n&aU)|aQ(n>>aA(64))<<aA(64);for(let i=160;i<=e.byteLength;i+=32)n=aY(n,aO(e,i-32),aO(e,i-16),aO(t,3+i-160),r);let i=(n=aY(n,aO(e,e.byteLength-16),aO(e,e.byteLength-32),aO(t,103),a0(r)))+(n>>aA(64))&aU;i=aQ(i);let s=(n&aU)*aN+(n>>aA(64))*a$+(aA(e.byteLength)-r&aU)*aP;return s&=aU,i|(s=a0(aQ(s)))<<aA(64)}(s,aL,t)):o((r=new BigUint64Array([aj,aN,aP,aM,a$,aT,aR,aI]),aH(s.byteLength>128),aH(8*(r=function(e,t,r,n,i){let s=e,a=Math.floor((r.byteLength-64)/8),o=64*a,l=Math.floor((t.byteLength-1)/o);for(let e=0;e<l;e+=1)s=i(s=aq(s,aO(t,e*o),r,a),aO(r,r.byteLength-64));{let e=Math.floor((t.byteLength-1-o*l)/64);s=n(s=aq(s,aO(t,l*o),r,e),aO(t,t.byteLength-64),aO(r,r.byteLength-64-7))}return s}(r,s,aL,aW,aG)).length==64),n=az(r,aO(aL,11),aA(s.byteLength)*aN&aU),az(r,aO(aL,aL.byteLength-64-11),~(aA(s.byteLength)*aP)&aU)<<aA(64)|n))}function a4(e){return/^[0-9a-f]{32}$/.test(e)}function a2(e){let t=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(!t)throw Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw Error("No configurable found in config");if(!n.__pregel_checkpointer)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let i=n[w];i.interruptCounter+=1;let s=i.interruptCounter;if(i.resume.length>0&&s<i.resume.length)return n[d]?.([[j,i.resume]]),i.resume[s];if(void 0!==i.nullResume){if(i.resume.length!==s)throw Error(`Resume length mismatch: ${i.resume.length} !== ${s}`);let e=i.consumeNullResume();return i.resume.push(e),n[d]?.([[j,i.resume]]),e}let a=n[x]?.split("|");throw new eo([{id:a?a1(a.join("|")):void 0,value:e}])}e.s(["interrupt",()=>a2],35915);var a6=tb,a8=class extends a6.Runnable{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((i,s)=>{let a=(0,np.patchConfig)(t,{callbacks:n?.getChild()});r.AsyncLocalStorageProviderSingleton.runWithConfig(a,async()=>{try{i(await this.func(e,a))}catch(e){s(e)}})})}async invoke(e,t){let n,i=sZ(t),s=(0,np.mergeConfigs)(this.config,i);return(n=this.trace?await this._callWithConfig(this._tracedInvoke,e,s):await r.AsyncLocalStorageProviderSingleton.runWithConfig(s,async()=>this.func(e,s)),a6.Runnable.isRunnable(n)&&this.recurse)?await r.AsyncLocalStorageProviderSingleton.runWithConfig(s,async()=>n.invoke(e,s)):n}};function*a5(e,t){if(void 0===t)yield*e;else for(let r of e)yield[t,r]}async function a3(e){let t=[];for await(let r of(await e))t.push(r);return t}function a9(e){let t=[];for(let r of e)t.push(r);return t}function a7(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function oe(e){return null!=e&&"function"==typeof e&&e instanceof Object.getPrototypeOf(async function*(){}).constructor}function ot(e){return null!=e&&"function"==typeof e&&e instanceof Object.getPrototypeOf(function*(){}).constructor}let or={[Symbol.for("LG_PASSTHROUGH")]:!0};function on(e){return"object"==typeof e&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}let oi=Symbol("IS_WRITER");var os=class e extends a8{writes;constructor(e,t){super({writes:e,name:`ChannelWrite<${e.map(e=>G(e)?e.node:"channel"in e?e.channel:"...").join(",")}>`,tags:t,trace:!1,func:async(e,t)=>this._write(e,t??{})}),this.writes=e}async _write(t,r){let n=this.writes.map(e=>oo(e)&&on(e.value)?{mapper:e.mapper,value:t}:oa(e)&&on(e.value)?{channel:e.channel,value:t,skipNone:e.skipNone,mapper:e.mapper}:e);return await e.doWrite(r,n),t}static async doWrite(e,t){for(let e of t){if(oa(e)){if("__pregel_tasks"===e.channel)throw new eb("Cannot write to the reserved channel TASKS");if(on(e.value))throw new eb("PASSTHROUGH value must be replaced")}if(oo(e)&&on(e.value))throw new eb("PASSTHROUGH value must be replaced")}let r=[];for(let n of t)if(G(n))r.push([V,n]);else if(oo(n)){let t=await n.mapper.invoke(n.value,e);null!=t&&t.length>0&&r.push(...t)}else if(oa(n)){let t=void 0!==n.mapper?await n.mapper.invoke(n.value,e):n.value;if("object"==typeof t&&t?.[Symbol.for("LG_SKIP_WRITE")]!==void 0||n.skipNone&&void 0===t)continue;r.push([n.channel,t])}else throw Error(`Invalid write entry: ${JSON.stringify(n)}`);(e.configurable?.[d])(r)}static isWriter(t){return t instanceof e||oi in t&&!!t[oi]}static registerWriter(e){return Object.defineProperty(e,oi,{value:!0})}};function oa(e){return void 0!==e&&"string"==typeof e.channel}function oo(e){return void 0!==e&&!oa(e)&&tb.Runnable.isRunnable(e.mapper)}var ol=tb,oc=e.i(412852),oh=class e extends a8{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,r,n=!1){super({trace:!1,func:(t,r)=>e.doRead(r,this.channel,this.fresh,this.mapper)}),this.fresh=n,this.mapper=r,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(e,t,r,n){let i=e.configurable?.[m];if(!i)throw Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return n?n(i(t,r)):i(t,r)}};let ou=new oc.RunnablePassthrough;var op=class e extends ol.RunnableBinding{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=ou;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;timeout;subgraphs;ends;isErrorHandler;errorHandlerNode;constructor(e){const{channels:t,triggers:r,mapper:n,writers:i,bound:s,kwargs:a,metadata:o,retryPolicy:l,cachePolicy:c,timeout:h,tags:u,subgraphs:p,ends:d,isErrorHandler:f,errorHandlerNode:m}=e,g=[...e.config?.tags?e.config.tags:[],...u??[]];super({...e,bound:e.bound??ou,config:{...e.config?e.config:{},tags:g}}),this.channels=t,this.triggers=r,this.mapper=n,this.writers=i??this.writers,this.bound=s??this.bound,this.kwargs=a??this.kwargs,this.metadata=o??this.metadata,this.tags=g,this.retryPolicy=l,this.cachePolicy=c,this.timeout=h,this.subgraphs=p,this.ends=d,this.isErrorHandler=f,this.errorHandlerNode=m}getWriters(){let e=[...this.writers];for(;e.length>1&&e[e.length-1]instanceof os&&e[e.length-2]instanceof os;){let t=e.slice(-2),r=t[0].writes.concat(t[1].writes);e[e.length-2]=new os(r,t[0].config?.tags),e.pop()}return e}getNode(){let e=this.getWriters();if(this.bound!==ou||0!==e.length)return this.bound===ou&&1===e.length?e[0]:this.bound===ou?new ol.RunnableSequence({first:e[0],middle:e.slice(1,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):e.length>0?new ol.RunnableSequence({first:this.bound,middle:e.slice(0,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw Error("channels must be a list");if("object"!=typeof this.channels)throw Error("all channels must be named when using .join()");return new e({channels:{...this.channels,...Object.fromEntries(t.map(e=>[e,e]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}pipe(t){return new e(os.isWriter(t)?{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}:this.bound===ou?{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:(0,ol._coerceToRunnable)(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}:{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}};function od(e){return"lg_is_pregel"in e&&!0===e.lg_is_pregel}function of(e){let t=[e];for(let e of t)if(od(e))return e;else"steps"in e&&Array.isArray(e.steps)&&t.push(...e.steps)}function om(e,t,r=!0,n=!1){try{return e[t].get()}catch(e){if(e.name===ey.unminifiable_name){if(n)return e;else if(r)return null}throw e}}function og(e,t,r=!0){if(!Array.isArray(t))return om(e,t);{let n={};for(let i of t)try{n[i]=om(e,i,!r)}catch(e){if(e.name===ey.unminifiable_name)continue}return n}}function*o_(e,t){if(null!=t)if(Array.isArray(e)&&"object"==typeof t&&!Array.isArray(t))for(let r in t)e.includes(r)&&(yield[r,t[r]]);else if(Array.isArray(e))throw Error('Input chunk must be an object when "inputChannels" is an array');else yield[e,t]}function*oy(e,t,r){Array.isArray(e)?(!0===t||t.find(([t,r])=>e.includes(t)))&&(yield og(r,e)):(!0===t||t.some(([t,r])=>t===e))&&(yield om(r,e))}function ob(e){let t=typeof e[a];if("number"===t)return 0;if("string"===t)return"";for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t))continue;let r=typeof e[t];if("number"===r)return 0;if("string"===r)return"";break}}function ov(e,t){if(!(Object.keys(e).length>0))return t;{let r=ob(t);return Object.fromEntries(Object.entries(t).filter(([t,n])=>n>(e[t]??r)))}}function ow(e,t){return null===e?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function ok(e,t){let r=t?.parents??{};return Object.keys(r).length>0?ow(e,{[A]:{...r,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function oS(...e){let t=[...new Set(e.filter(Boolean))];if(0===t.length)return{signal:void 0,dispose:void 0};if(1===t.length)return{signal:t[0],dispose:void 0};let r=new AbortController,n=()=>{let e=t.find(e=>e.aborted)?.reason;r.abort(e),t.forEach(e=>e.removeEventListener("abort",n))};t.forEach(e=>e.addEventListener("abort",n,{once:!0}));let i=t.find(e=>e.aborted);return i&&r.abort(i.reason),{signal:r.signal,dispose:()=>{t.forEach(e=>e.removeEventListener("abort",n))}}}var ox=class{func;name;input;retry;cache;timeout;callbacks;__lg_type="call";constructor({func:e,name:t,input:r,retry:n,cache:i,timeout:s,callbacks:a}){this.func=e,this.name=t,this.input=r,this.retry=n,this.cache=i,this.timeout=s,this.callbacks=a}};let oE=e=>void 0!==e?e+1:1;function oC(e,t,r){let n=ob(e.channel_versions),i=e.versions_seen.__interrupt__??{},s=!1;if((e.channel_versions.__start__??n)>(i.__start__??n))s=!0;else for(let t in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,t)&&e.channel_versions[t]>(i[t]??n)){s=!0;break}let a=r.some(e=>"*"===t?!e.config?.tags?.includes($):t.includes(e.name));return s&&a}function oA(e,t,r,n,i=!1){let s,a=new Set;if(Array.isArray(n))a=new Set(n.filter(e=>r.writes.some(([t,r])=>t===e)));else{for(let[e]of r.writes)if(e===n){a=new Set([e]);break}a=a||new Set}if(i&&a.size>0){let i=Object.fromEntries(Object.entries(t).filter(([e,t])=>a.has(e))),o=new Set;for(let e in i){if(!Object.prototype.hasOwnProperty.call(i,e))continue;let t=i[e];sN(t)&&t.isAvailable()&&o.add(e)}let l=sL(e,i,-1,{channelsToSnapshot:o}),c=sV(i,l);oj(sd(l),c,[r],void 0,void 0),s=og({...t,...c},n)}else s=og(t,n);return s}function oO(e,t,r){for(let[e,n]of r)if(["__pregel_push","__pregel_tasks"].includes(e)&&null!=n){if(!G(n))throw new eb(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(n)}`);if(!(n.node in t))throw new eb(`Invalid node name "${n.node}" in Send packet`)}e(r)}let oI=new Set([N,F,j,T,P,c,h]),oT=new Set(U);function oj(e,t,r,n,i){let s=new Map;for(let e of r)s.set(e,e.path?.slice(0,3)||[]);r.sort((e,t)=>{let r=s.get(e),n=s.get(t);for(let e=0;e<Math.min(r.length,n.length);e+=1){if(r[e]<n[e])return -1;if(r[e]>n[e])return 1}return r.length-n.length});let a=sR(t),o=!1,l=new Set;for(let t of r)for(let r of(t.triggers.length>0&&(o=!0),e.versions_seen[t.name]??={},t.triggers))r in e.channel_versions&&(e.versions_seen[t.name][r]=e.channel_versions[r]),oT.has(r)||l.add(r);let c=function(e){let t;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t=null==t?e[r]:sg(t,e[r]));return t}(e.channel_versions),h=!1;for(let t of l)t in a&&a[t].consume()&&void 0!==n&&(e.channel_versions[t]=n(c),h=!0);let u={};for(let e of r)for(let[t,r]of e.writes)oI.has(t)||t in a&&(u[t]??=[],u[t].push(r));null!=c&&null!=n&&(c=h?n(c):c);let p=new Set;for(let[t,r]of Object.entries(u))if(t in a){let i,s=a[t];try{i=s.update(r)}catch(e){if(e.name===eb.unminifiable_name){let n=new eb(`Invalid update for channel "${t}" with values ${JSON.stringify(r)}: ${e.message}`);throw n.lc_error_code=e.lc_error_code,n}throw e}i&&void 0!==n&&(e.channel_versions[t]=n(c),s.isAvailable()&&p.add(t))}if(o)for(let t in a){if(!Object.prototype.hasOwnProperty.call(a,t))continue;let r=a[t];r.isAvailable()&&!p.has(t)&&r.update([])&&void 0!==n&&(e.channel_versions[t]=n(c),r.isAvailable()&&p.add(t))}if(o&&!function(e,t){if(null==t)return!1;for(let r of e)if(t[r])return!0;return!1}(p,i))for(let t in a){if(!Object.prototype.hasOwnProperty.call(a,t))continue;let r=a[t];r.finish()&&void 0!==n&&(e.channel_versions[t]=n(c),r.isAvailable()&&p.add(t))}return p}function oN(e,t,r,n,i,s,a){let o={},l=a.pendingWritesIndex?a:{...a,pendingWritesIndex:function(e){let t,r=new Map,n=new Set;if(e)for(let[i,s,a]of e){if("00000000-0000-0000-0000-000000000000"===i&&"__resume__"===s&&void 0===t&&(t=a),"__resume__"===s&&"00000000-0000-0000-0000-000000000000"!==i){let e=r.get(i);e||(e=[],r.set(i,e)),e.push(a)}"__error__"!==s&&n.add(i)}return{nullResume:t,resumeByTaskId:r,successfulWriteTaskIds:n}}(t)},c=n[V];if(c?.isAvailable()){let a=c.get().length;for(let c=0;c<a;c+=1){let a=oP([F,c],e,t,r,n,i,s,l);void 0!==a&&(o[a.id]=a)}}for(let a of function*(e,t,r){if(null!=r.updatedChannels&&null!=r.triggerToNodes){let e=new Set;for(let t of r.updatedChannels)for(let n of r.triggerToNodes[t]??[])e.add(n);yield*[...e].sort();return}if(!(()=>{for(let t in e.channel_versions)if(null!==e.channel_versions[t])return!1;return!0})())for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(yield e)}(e,r,l)){let c=oP([L,a],e,t,r,n,i,s,l);void 0!==c&&(o[c.id]=c)}return o}function oP(e,t,r,n,i,s,a,o){var l,c,h;let{step:p,checkpointer:f,manager:_}=o,b=s.configurable??{},S=b.checkpoint_ns??"";if("__pregel_push"===e[0]&&"object"==typeof(l=e[e.length-1])&&null!==l&&"__lg_type"in l&&"call"===l.__lg_type){let l=e[e.length-1],x=(c=l.name,h=l.func,new tb.RunnableSequence({name:c,first:new a8({func:e=>h(...e),name:c,trace:!1,recurse:!1}),last:new os([{channel:P,value:or}],[$])})),E=[F],C=""===S?l.name:`${S}|${l.name}`,O=eU(JSON.stringify([C,p.toString(),l.name,F,e[1],e[2]]),t.id),I=`${C}:${O}`,T=[...e.slice(0,3),!0],j={langgraph_step:p,langgraph_node:l.name,langgraph_triggers:E,langgraph_path:T,langgraph_checkpoint_ns:I,checkpoint_ns:I};if(!a)return{id:O,name:l.name,interrupts:[],path:T};{let e=[],a={checkpointId:t.id,checkpointNs:I,taskId:O,threadId:b.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:l.name,input:l.input,proc:x,writes:e,config:{...(0,np.patchConfig)((0,np.mergeConfigs)(s,{metadata:j,store:o.store??s.store}),{runName:l.name,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:O,[d]:t=>oO(t=>e.push(...t),n,t),[m]:(r,n=!1)=>oA(t,i,{name:l.name,writes:e,triggers:E,path:T},r,n),[g]:f??b.__pregel_checkpointer,[A]:{...b[A],[S]:t.id},[w]:oM({pendingWrites:r??[],taskId:O,currentTaskInput:l.input,resumeMap:s.configurable?.[v],namespaceHash:a1(I),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:I}}),executionInfo:a},triggers:E,retry_policy:l.retry,cache_key:l.cache?{key:a1((l.cache.keyFunc??JSON.stringify)([l.input])),ns:[u,l.name??"__dynamic__"],ttl:l.cache.ttl}:void 0,id:O,path:T,writers:[],timeout:l.timeout}}}if("__pregel_push"===e[0]){let l="number"==typeof e[1]?e[1]:parseInt(e[1],10);if(!i.__pregel_tasks?.isAvailable())return;let c=i[V].get();if(l<0||l>=c.length)return;let h=W(c[l])&&!G(c[l])?new q(c[l].node,c[l].args,void 0!==c[l].timeout?{timeout:c[l].timeout}:void 0):c[l];if(!W(h))return void console.warn(`Ignoring invalid packet ${JSON.stringify(h)} in pending sends.`);if(!(h.node in n))return void console.warn(`Ignoring unknown node name ${h.node} in pending sends.`);let x=[F],E=""===S?h.node:`${S}|${h.node}`,C=eU(JSON.stringify([E,p.toString(),h.node,F,l.toString()]),t.id),O=`${E}:${C}`,I={langgraph_step:p,langgraph_node:h.node,langgraph_triggers:x,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:O,checkpoint_ns:O};if(!a)return{id:C,name:h.node,interrupts:[],path:e};{let a=n[h.node],l=a.getNode();if(void 0!==l){void 0!==a.metadata&&(I={...I,...a.metadata});let c=[],E={checkpointId:t.id,checkpointNs:O,taskId:C,threadId:b.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:h.node,input:h.args,proc:l,subgraphs:a.subgraphs,writes:c,config:{...(0,np.patchConfig)((0,np.mergeConfigs)(s,{metadata:I,tags:a.tags,store:o.store??s.store}),{runName:h.node,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:C,[d]:e=>oO(e=>c.push(...e),n,e),[m]:(r,n=!1)=>oA(t,i,{name:h.node,writes:c,triggers:x,path:e},r,n),[g]:f??b.__pregel_checkpointer,[A]:{...b[A],[S]:t.id},[w]:oM({pendingWrites:r??[],taskId:C,currentTaskInput:h.args,resumeMap:s.configurable?.[v],namespaceHash:a1(O),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:E},triggers:x,retry_policy:a.retryPolicy,cache_key:a.cachePolicy?{key:a1((a.cachePolicy.keyFunc??JSON.stringify)([h.args])),ns:[u,a.name??"__dynamic__",h.node],ttl:a.cachePolicy.ttl}:void 0,id:C,path:e,writers:a.getWriters(),timeout:h.timeout??a.timeout}}}}else if("__pregel_pull"===e[0]){let l=e[1].toString(),c=n[l];if(void 0===c)return;if(r?.length){let e=eU(JSON.stringify([""===S?l:`${S}|${l}`,p.toString(),l,L,l]),t.id);if(o.pendingWritesIndex?o.pendingWritesIndex.successfulWriteTaskIds.has(e):r.some(t=>t[0]===e&&"__error__"!==t[1]))return}let h=ob(t.channel_versions);if(void 0===h)return;let x=t.versions_seen[l]??{},E=c.triggers.find(e=>!!i[e].isAvailable()&&(t.channel_versions[e]??h)>(x[e]??h));if(void 0!==E){let h=function(e,t,r){let n;if("object"!=typeof e.channels||Array.isArray(e.channels))if(Array.isArray(e.channels)){let r=!1;for(let i of e.channels)try{n=om(t,i,!1),r=!0;break}catch(e){if(e.name===ey.unminifiable_name)continue;throw e}if(!r)return}else throw Error(`Invalid channels type, expected list or dict, got ${e.channels}`);else for(let[r,i]of(n={},Object.entries(e.channels)))if(e.triggers.includes(i))try{n[r]=om(t,i,!1)}catch(e){if(e.name===ey.unminifiable_name)return;throw e}else if(i in t)try{n[r]=om(t,i,!1)}catch(e){if(e.name===ey.unminifiable_name)continue;throw e}return r&&void 0!==e.mapper&&(n=e.mapper(n)),n}(c,i,a);if(void 0===h)return;let x=""===S?l:`${S}|${l}`,C=eU(JSON.stringify([x,p.toString(),l,L,[E]]),t.id),O=`${x}:${C}`,I={langgraph_step:p,langgraph_node:l,langgraph_triggers:[E],langgraph_path:e,langgraph_checkpoint_ns:O,checkpoint_ns:O};if(!a)return{id:C,name:l,interrupts:[],path:e};{let a=c.getNode();if(void 0!==a){void 0!==c.metadata&&(I={...I,...c.metadata});let x=[],T={checkpointId:t.id,checkpointNs:O,taskId:C,threadId:b.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:l,input:h,proc:a,subgraphs:c.subgraphs,writes:x,config:{...(0,np.patchConfig)((0,np.mergeConfigs)(s,{metadata:I,tags:c.tags,store:o.store??s.store}),{runName:l,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:C,[d]:e=>oO(e=>{x.push(...e)},n,e),[m]:(r,n=!1)=>oA(t,i,{name:l,writes:x,triggers:[E],path:e},r,n),[g]:f??b.__pregel_checkpointer,[A]:{...b[A],[S]:t.id},[w]:oM({pendingWrites:r??[],taskId:C,currentTaskInput:h,resumeMap:s.configurable?.[v],namespaceHash:a1(O),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:T},triggers:[E],retry_policy:c.retryPolicy,cache_key:c.cachePolicy?{key:a1((c.cachePolicy.keyFunc??JSON.stringify)([h])),ns:[u,c.name??"__dynamic__",l],ttl:c.cachePolicy.ttl}:void 0,id:C,path:e,writers:c.getWriters(),timeout:c.timeout}}}}}}function oM({pendingWrites:e,taskId:t,currentTaskInput:r,resumeMap:n,namespaceHash:i,pendingWritesIndex:s}){let a=s?s.nullResume:e.find(([e,t])=>"00000000-0000-0000-0000-000000000000"===e&&"__resume__"===t)?.[2],o={callCounter:0,interruptCounter:-1,resume:(()=>{let r=s?(s.resumeByTaskId.get(t)??[]).flat():e.filter(([e,r])=>e===t&&"__resume__"===r).flatMap(([e,t,r])=>r);if(null!=n&&i in n){let e=n[i];r.push(e)}return r})(),nullResume:a,subgraphCounter:0,currentTaskInput:r,consumeNullResume:()=>{if(o.nullResume)return delete o.nullResume,e.splice(e.findIndex(([e,t])=>"00000000-0000-0000-0000-000000000000"===e&&"__resume__"===t),1),a}};return o}let o$={start:"\x1b[34m",end:"\x1b[0m"},oR={start:"\x1b[32m",end:"\x1b[0m"},oV={start:"\x1b[33;1m",end:"\x1b[0m"},oF=(e,t)=>`${e.start}${t}${e.end}`;function*oL(e){for(let{id:t,name:r,input:n,config:i,triggers:s,writes:a}of e)i?.tags?.includes("langsmith:hidden")||(yield{id:t,name:r,input:n,triggers:s,interrupts:a.filter(([e,r])=>e===t&&"__interrupt__"===r).map(([,e])=>e)})}function oD(e){let t={};for(let[n,i]of e){let e=String(n);if(e in t){var r;let n="object"==typeof(r=t[e])&&null!==r&&"$writes"in r&&Array.isArray(r.$writes)?t[e].$writes:[t[e]];n.push(i),t[e]={$writes:n}}else t[e]=i}return t}function oU(e,t,r,n){return e.map(e=>{let i=t.find(([t,r])=>t===e.id&&"__error__"===r)?.[2],s=t.filter(([t,r])=>t===e.id&&"__interrupt__"===r).map(([,,e])=>e),a=(()=>{if(i||s.length||!t.length)return;let r=t.findIndex(([t,r])=>t===e.id&&"__return__"===r);if(r>=0)return t[r][2];if("string"==typeof n)return t.find(([t,r])=>t===e.id&&r===n)?.[2];if(Array.isArray(n)){let r=t.filter(([t,r])=>t===e.id&&n.includes(r)).map(([,e,t])=>[e,t]);if(!r.length)return;return oD(r)}})();if(i)return{id:e.id,name:e.name,path:e.path,error:i,interrupts:s,result:a};let o=r?.[e.id];return{id:e.id,name:e.name,path:e.path,interrupts:s,...void 0!==o?{state:o}:{},result:a}})}function oB(e,t){let r=t.length;console.log([`${oF(o$,`[${e}:tasks]`)}`,`\x1b[1m Starting step ${e} with ${r} task${1===r?"":"s"}:\x1b[0m
80
- `,t.map(e=>`- ${oF(oR,String(e.name))} -> ${JSON.stringify(e.input,null,2)}`).join("\n")].join(""))}var oH=tn,oW=e3,oq=class extends oH.IterableReadableStream{_abortController;_innerReader;constructor(e,t){const r=e.getReader(),n=t??new AbortController;super({start:e=>(function t(){return r.read().then(({done:r,value:n})=>r?void e.close():(e.enqueue(n),t()))})()}),this._abortController=n,this._innerReader=r}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},oG=class extends oH.IterableReadableStream{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t;const r=new Promise(e=>{t=e});super({start:e=>{t(e)}}),r.then(e=>{this.controller=e}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){!this._closed&&this.controller&&(this.passthroughFn?.(e),this.controller.enqueue(e))}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){try{this.controller?.error(e)}finally{this._closed=!0}}},oK=class extends oW.BaseCallbackHandler{name="StreamToolsHandler";awaitHandlers=!0;streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,r,n,i,s,a,o){if(!s||i&&i.includes("langsmith:hidden"))return;let l=s.langgraph_checkpoint_ns?.split("|")??[],c={ns:l,toolCallId:o,toolName:a??"unknown",input:t};this.runs[r]=c,this.streamFn([l,"tools",{event:"on_tool_start",toolCallId:c.toolCallId,name:c.toolName,input:t}])}handleToolEvent(e,t){let r=this.runs[t];r&&this.streamFn([r.ns,"tools",{event:"on_tool_event",toolCallId:r.toolCallId,name:r.toolName,data:e}])}handleToolEnd(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_end",toolCallId:r.toolCallId,name:r.toolName,output:e}])}handleToolError(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_error",toolCallId:r.toolCallId,name:r.toolName,error:e}])}};function oz(e){return"object"==typeof e&&null!=e&&"configurable"in e&&"object"==typeof e.configurable&&null!=e.configurable}function oJ(e){return oz(e)&&e.configurable.thread_id?{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}:null}function oZ(e){if(oz(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([e])=>!e.startsWith("__"))),r={...e,configurable:t};return delete r.callbacks,r}return e}function oY(e){let t={...e,checkpoint:oJ(e.config),parent_checkpoint:oJ(e.parentConfig),config:oZ(e.config),parent_config:oZ(e.parentConfig),tasks:e.tasks.map(e=>{if(oz(e.state)){let t=oJ(e.state);if(null!=t){let r={...e,checkpoint:t};return delete r.state,r}}return e})};return delete t.parentConfig,t}var oQ=class{checkpointId;#A=new Set;constructor(e){this.checkpointId=e}#O(e){let t=e.includes(":")?e.slice(0,e.lastIndexOf(":")):e;return!this.#A.has(t)&&(this.#A.add(t),!0)}async getCheckpoint(e,t,r){if(this.#O(e)){let e=[];for await(let n of t.list(r,{before:{configurable:{checkpoint_id:this.checkpointId}},limit:1}))e.push(n);return e.length>0?e[0]:void 0}return await t.getTuple(r)??void 0}};let oX=new Uint8Array(16),o0=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,o1=function(e){return"string"==typeof e&&o0.test(e)},o4=[];for(let e=0;e<256;++e)o4.push((e+256).toString(16).slice(1));let o2=function(e,t,r){return t||e||!crypto.randomUUID?function(e,t,r){let n=(e=e||{}).random??e.rng?.()??crypto.getRandomValues(oX);if(n.length<16)throw Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((r=r||0)<0||r+16>t.length)throw RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return(o4[e[t+0]]+o4[e[t+1]]+o4[e[t+2]]+o4[e[t+3]]+"-"+o4[e[t+4]]+o4[e[t+5]]+"-"+o4[e[t+6]]+o4[e[t+7]]+"-"+o4[e[t+8]]+o4[e[t+9]]+"-"+o4[e[t+10]]+o4[e[t+11]]+o4[e[t+12]]+o4[e[t+13]]+o4[e[t+14]]+o4[e[t+15]]).toLowerCase()}(n)}(e,t,r):crypto.randomUUID()},o6=Symbol.for("INPUT_DONE"),o8=Symbol.for("INPUT_RESUMING");function o5(e){return void 0===e||""===e?[]:e.split("|")}var o3=class extends sj{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let r=this.queue.then(()=>this.cache[e](...t));return this.queue=r.then(()=>void 0,()=>void 0),r}},o9=class e{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;_exitDeltaWrites;_hasPersistedParent=!1;_initialCheckpointConfig;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";control;tasks={};stream;checkpointerPromises=new Set;isNested;resumeAtHead;_checkpointerChainedPromise=Promise.resolve();_trackCheckpointerPromise(e){let t=e.then(e=>(this.checkpointerPromises.delete(t),e),e=>{throw e});this.checkpointerPromises.add(t)}store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let e=!1;if("__start__"in this.checkpoint.channel_versions)e=!0;else for(let t in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,t)){e=!0;break}let t=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,r=null===this.input||void 0===this.input,n=X(this.input)&&null!=this.input.resume,i=this.input===o8,s=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return e&&(t||r||n||i||s)}get isReplaying(){return!this.skipDoneTasks}constructor(e){this.input=e.input,this.checkpointer=e.checkpointer,void 0!==this.checkpointer?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=oE,this.checkpoint=e.checkpoint,this.checkpointMetadata=e.checkpointMetadata,this.checkpointPreviousVersions=e.checkpointPreviousVersions,this.channels=e.channels,this.checkpointPendingWrites=e.checkpointPendingWrites,this.step=e.step,this.stop=e.stop,this.config=e.config,this.checkpointConfig=e.checkpointConfig,this.isNested=e.isNested,this.resumeAtHead=e.resumeAtHead,this.manager=e.manager,this.outputKeys=e.outputKeys,this.streamKeys=e.streamKeys,this.nodes=e.nodes,this.skipDoneTasks=e.skipDoneTasks,this.store=e.store,this.cache=e.cache?new o3(e.cache):void 0,this.stream=e.stream,this.checkpointNamespace=e.checkpointNamespace,this.prevCheckpointConfig=e.prevCheckpointConfig,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.durability=e.durability,this.debug=e.debug,this.triggerToNodes=e.triggerToNodes,this.control=this.config.control,this._exitDeltaWrites="exit"===this.durability&&null!=this.checkpointer?[]:void 0,this._hasPersistedParent=e.hasPersistedParent??!1,this._initialCheckpointConfig=e.checkpointConfig,this.checkpointIdSaved=e.checkpoint.id}static async initialize(t){let r,{config:n,stream:i}=t;void 0!==i&&n.configurable?.__pregel_stream!==void 0&&(i=function(...e){return new oG({passthroughFn:t=>{let r="checkpoints"===t[1]&&s8(t[2]);for(let n of e)(n.modes.has(t[1])||r)&&n.push(t)},modes:new Set(e.flatMap(e=>Array.from(e.modes)))})}(i,n.configurable[b]));let s=!n.configurable||!("checkpoint_id"in n.configurable),a=n.configurable?.[w];n.configurable&&a&&(a.subgraphCounter>0&&(n=ow(n,{[x]:[n.configurable[x],a.subgraphCounter.toString()].join("|")})),a.subgraphCounter+=1);let o=n.configurable?.checkpoint_id,l=m in(n.configurable??{});l||n.configurable?.checkpoint_ns===void 0||n.configurable?.checkpoint_ns===""||(n=ow(n,{checkpoint_ns:"",checkpoint_id:void 0}));let c=n;n.configurable?.checkpoint_id===void 0&&n.configurable?.checkpoint_map!==void 0&&n.configurable?.checkpoint_map?.[n.configurable?.checkpoint_ns]&&(c=ow(n,{checkpoint_id:n.configurable[A][n.configurable?.checkpoint_ns]}));let h=o5(n.configurable?.checkpoint_ns);t.checkpointer?c.configurable?.checkpoint_id?r=await t.checkpointer.getTuple(c):n.configurable?.__pregel_replay_state?(r=await n.configurable[O].getCheckpoint(n.configurable?.checkpoint_ns??"",t.checkpointer,c),n.configurable&&delete n.configurable[_]):r=await t.checkpointer.getTuple(c):r=void 0;let u=void 0!==r;r||(r={config:n,checkpoint:sp(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]}),c={...n,...r.config,configurable:{checkpoint_ns:"",...n.configurable,...r.config.configurable}};let p=r.parentConfig,d=sd(r.checkpoint),f={...r.metadata},g=r.pendingWrites??[],y=n.configurable?.checkpoint_ns,v=n.configurable?.[A];"string"==typeof y&&""!==y&&"object"==typeof v&&null!==v&&y in v&&g.length>0&&(g=g.filter(([,e])=>e!==j));let k=!1,S=c.configurable?.thread_id,E=c.configurable?.checkpoint_ns??"";t.checkpointer&&o&&"string"==typeof S&&(k=(await t.checkpointer.getTuple({configurable:{thread_id:S,checkpoint_ns:E}}))?.config.configurable?.checkpoint_id===o&&"update"!==f.source&&"fork"!==f.source);let C=await sD(t.channelSpecs,d,{saver:t.checkpointer,config:c}),I=(f.step??0)+1,T=I+(n.recursionLimit??25)+1,N={...d.channel_versions},P=t.store?new sA(t.store):void 0;return P&&await P.start(),new e({input:t.input,config:n,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:f,checkpointConfig:c,prevCheckpointConfig:p,checkpointNamespace:h,channels:C,isNested:l,resumeAtHead:k,manager:t.manager,skipDoneTasks:s,step:I,stop:T,checkpointPreviousVersions:N,checkpointPendingWrites:g,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:i,store:P,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes,hasPersistedParent:u})}_checkpointerPutAfterPrevious(e){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(e.config,e.checkpoint,e.metadata,e.newVersions)),this._trackCheckpointerPromise(this._checkpointerChainedPromise)}putWrites(e,t){let r=t;if(0===r.length)return;r.every(([e])=>e in s_)&&(r=Array.from(new Map(r.map(e=>[e[0],e])).values()));let n=!1;for(let e in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,e)&&"UntrackedValue"===this.channels[e].lc_graph_name){n=!0;break}let i=r;for(let[t,s]of(n&&(i=r.filter(([e])=>{let t=this.channels[e];return!t||"UntrackedValue"!==t.lc_graph_name}).map(([e,t])=>"__pregel_tasks"===e&&G(t)?[e,function(e,t){if("object"!=typeof e.args||null===e.args)return e;let r={};for(let[n,i]of Object.entries(e.args)){let e=t[n];e&&"UntrackedValue"===e.lc_graph_name||(r[n]=i)}return new q(e.node,r)}(t,this.channels)]:[e,t])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(t=>t[0]!==e),i))this.checkpointPendingWrites.push([e,t,s]);for(let[e,t]of i){let r=this.channels[e];null!=r&&sN(r)&&function e(t){if(null!=t&&"object"==typeof t){if(rX.BaseMessage.isInstance(t)){null==t.id&&(t.id=o2(),null!=t.lc_kwargs&&(t.lc_kwargs.id=t.id));return}if(Array.isArray(t)){for(let r of t)e(r);return}}}(t)}let s=ow(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:this.checkpoint.id});if("exit"!==this.durability&&null!=this.checkpointer&&this._trackCheckpointerPromise(this.checkpointer.putWrites(s,i,e)),this.tasks&&this._outputWrites(e,r),!t.length||!this.cache||!this.tasks)return;let a=this.tasks[e];null==a||null==a.cache_key||"__error__"!==t[0][0]&&"__interrupt__"!==t[0][0]&&this.cache.set([{key:[a.cache_key.ns,a.cache_key.key],value:a.writes,ttl:a.cache_key.ttl}])}_outputWrites(e,t,r=!1){let n=this.tasks[e];if(void 0!==n){if(void 0!==n.config&&(n.config.tags??[]).includes("langsmith:hidden"))return;if(t.length>0)if("__interrupt__"===t[0][0]){if(n.path?.[0]==="__pregel_push"&&n.path?.[n.path.length-1]===!0)return;let e=t.filter(e=>e[0]===T).flatMap(e=>e[1]);this._emit([["updates",{[T]:e}],["values",{[T]:e}]])}else"__error__"!==t[0][0]&&this._emit(a9(a5(function*(e,t,r){let n,i=t.filter(([e,t])=>(void 0===e.config||!e.config.tags?.includes("langsmith:hidden"))&&"__error__"!==t[0][0]&&"__interrupt__"!==t[0][0]);if(!i.length)return;n=i.some(([e])=>e.writes.some(([e,t])=>"__return__"===e))?i.flatMap(([e])=>e.writes.filter(([e,t])=>e===P).map(([t,r])=>[e.name,r])):Array.isArray(e)?i.flatMap(([t])=>{let{writes:r}=t,n={};for(let[t]of r)e.includes(t)&&(n[t]=(n[t]||0)+1);return Object.values(n).some(e=>e>1)?r.filter(([t])=>e.includes(t)).map(([e,r])=>[t.name,{[e]:r}]):[[t.name,Object.fromEntries(r.filter(([t])=>e.includes(t)))]]}):i.flatMap(([t])=>t.writes.filter(([t,r])=>t===e).map(([e,r])=>[t.name,r]));let s={};for(let[e,t]of n)e in s||(s[e]=[]),s[e].push(t);let a={};for(let e in s)if(1===s[e].length){let[t]=s[e];a[e]=t}else a[e]=s[e];r&&(a.__metadata__={cached:r}),yield a}(this.outputKeys,[[n,t]],r),"updates")));r||this._emit(a9(a5(function*(e,t){for(let[{id:r,name:n,config:i},s]of e)i?.tags?.includes("langsmith:hidden")||(yield{id:r,name:n,result:oD(s.filter(([e])=>Array.isArray(t)?t.includes(e):e===t)),interrupts:s.filter(e=>e[0]===T).map(e=>e[1])})}([[n,t]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let e=[],t=([e,t])=>`ns:${e.join(",")}|key:${t}`,r=[],n={};for(let e of Object.values(this.tasks))null==e.cache_key||e.writes.length||(r.push([e.cache_key.ns,e.cache_key.key]),n[t([e.cache_key.ns,e.cache_key.key])]=e);if(0===r.length)return[];for(let{key:i,value:s}of(await this.cache.get(r))){let r=n[t(i)];null!=r&&(r.writes.push(...s),e.push({task:r,result:s}))}return e}async tick(e){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:t=[]}=e;if("pending"!==this.status)throw Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if([o6,o8].includes(this.input))if(this.toInterrupt.length>0)throw this.status="interrupt_before",new eo;else{if(!Object.values(this.tasks).every(e=>e.writes.length>0))return!1;let e=Object.values(this.tasks),t=e.flatMap(e=>e.writes);this.updatedChannels=oj(this.checkpoint,this.channels,e,this.checkpointerGetNextVersion,this.triggerToNodes);let r=await a3(a5(oy(this.outputKeys,t,this.channels),"values"));if(void 0!==this._exitDeltaWrites)for(let[e,t,r]of this.checkpointPendingWrites){let n=this.channels[t];null!=n&&sN(n)&&this._exitDeltaWrites.push([this.step,e,t,r])}if(this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),this._emitValuesWithCheckpointMeta(r),oC(this.checkpoint,this.interruptAfter,e))throw this.status="interrupt_after",new eo;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[_]}else await this._first(t);if(this.step>this.stop)return this.status="out_of_steps",!1;this.tasks=oN(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels});let r=Object.values(this.tasks);if(this.checkpointer&&(this.stream.modes.has("checkpoints")||this.stream.modes.has("debug"))&&this._emit(await a3(a5(function*(e,t,r,n,i,s,a,o){function l(e){let t={};return null!=e.callbacks&&(t.callbacks=e.callbacks),null!=e.configurable&&(t.configurable=e.configurable),null!=e.maxConcurrency&&(t.max_concurrency=e.maxConcurrency),null!=e.metadata&&(t.metadata=e.metadata),null!=e.recursionLimit&&(t.recursion_limit=e.recursionLimit),null!=e.runId&&(t.run_id=e.runId),null!=e.runName&&(t.run_name=e.runName),null!=e.tags&&(t.tags=e.tags),t}let c=e.configurable?.checkpoint_ns,h={};for(let t of i){if(!(t.subgraphs?.length?t.subgraphs:[t.proc]).find(of))continue;let r=`${t.name}:${t.id}`;c&&(r=`${c}|${r}`),h[t.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:r}}}yield{config:l(e),values:og(t,r),metadata:n,next:i.map(e=>e.name),tasks:oU(i,s,h,o),parentConfig:a?l(a):void 0}}(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,r,this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),0===r.length)return this.status="done",!1;if(null!=this.control&&this.control.drainRequested)return this.status="draining",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[e,t,n]of this.checkpointPendingWrites){if("__error__"===t||"__error_source_node__"===t||"__interrupt__"===t||"__resume__"===t)continue;let i=r.find(t=>t.id===e);i&&i.writes.push([t,n])}for(let e of(this._resumeErrorHandlersIfApplicable(),r=Object.values(this.tasks)))e.writes.length>0&&this._outputWrites(e.id,e.writes,!0)}if(r.every(e=>e.writes.length>0))return this.tick({inputKeys:t});if(oC(this.checkpoint,this.interruptBefore,r))throw this.status="interrupt_before",new eo;if(this.stream.modes.has("tasks")||this.stream.modes.has("debug")){let e=await a3(a5(oL(r),"tasks"));this._emit(e)}return!0}async finishAndHandleError(e){"exit"===this.durability&&(!this.isNested||void 0!==e||this.checkpointNamespace.every(e=>!e.includes(":")))&&(await this._putExitDeltaWrites(),this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let t=this._suppressInterrupt(e);return(t||void 0===e)&&(this.output=og(this.channels,this.outputKeys)),t&&(void 0!==this.tasks&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(e=>e.writes.length>0)&&(this.updatedChannels=oj(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emitValuesWithCheckpointMeta(a9(a5(oy(this.outputKeys,Object.values(this.tasks).flatMap(e=>e.writes),this.channels),"values")))),ef(e)&&!e.interrupts.length&&this._emit([["updates",{[T]:[]}],["values",{[T]:[]}]],this.#I())),t}async acceptPush(e,t,r){if(this.interruptAfter?.length>0&&oC(this.checkpoint,this.interruptAfter,[e]))return void this.toInterrupt.push(e);let n=oP([F,e.path??[],t,e.id,r],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,e.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(n){if(this.interruptBefore?.length>0&&oC(this.checkpoint,this.interruptBefore,[n]))return void this.toInterrupt.push(n);for(let{task:e}of((this.stream.modes.has("tasks")||this.stream.modes.has("debug"))&&this._emit(a9(a5(oL([n]),"tasks"))),this.debug&&oB(this.step,[n]),this.tasks[n.id]=n,this.skipDoneTasks&&this._matchWrites({[n.id]:n}),await this._matchCachedWrites()))this._outputWrites(e.id,e.writes,!0);return n}}getErrorHandlerNode(e){return this.nodes[e]?.errorHandlerNode}isErrorHandlerNode(e){return this.nodes[e]?.isErrorHandler===!0}scheduleErrorHandler(e,t){let r=this.getErrorHandlerNode(String(e.name));if(!r)return;let n=function(e,t,r,n,i,s,a,o,l){let{step:c,checkpointer:h,manager:u}=l,p=s[t];if(void 0===p)return;let f=p.getNode();if(void 0===f)return;let _=o.configurable??{},b=_.checkpoint_ns??"",S=[F],x=""===b?t:`${b}|${t}`,E=eU(JSON.stringify([x,c.toString(),t,F,"node_error_handler",e.id]),n.id),O=`${x}:${E}`,I=[F,String(e.name),t,!1],T={langgraph_step:c,langgraph_node:t,langgraph_triggers:S,langgraph_path:I,langgraph_checkpoint_ns:O,checkpoint_ns:O};void 0!==p.metadata&&(T={...T,...p.metadata});let j=[],N={checkpointId:n.id,checkpointNs:O,taskId:E,threadId:_.thread_id,runId:null!=o.runId?String(o.runId):void 0,nodeAttempt:1};return{name:t,input:e.input,proc:f,subgraphs:p.subgraphs,writes:j,config:{...(0,np.patchConfig)((0,np.mergeConfigs)(o,{metadata:T,tags:p.tags,store:l.store??o.store}),{runName:t,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[y]:E,[d]:e=>oO(e=>j.push(...e),s,e),[m]:(e,r=!1)=>oA(n,a,{name:t,writes:j,triggers:S,path:I},e,r),[g]:h??_.__pregel_checkpointer,[A]:{..._[A],[b]:n.id},[w]:oM({pendingWrites:i??[],taskId:E,currentTaskInput:e.input,resumeMap:o.configurable?.[v],namespaceHash:a1(O)}),[k]:n.channel_values[M],[C]:new ec(String(e.name),r),checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:N},triggers:S,retry_policy:p.retryPolicy,cache_key:void 0,id:E,path:I,writers:p.getWriters()}}(e,r,t,this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,e.config??this.config,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(void 0!==n)return this.tasks[n.id]=n,this._emit(a9(a5(oL([n]),"tasks"))),this.debug&&oB(this.step,[n]),n}_resumeErrorHandlersIfApplicable(){let e=new Map;for(let[t,r]of this.checkpointPendingWrites){if("__error_source_node__"!==r)continue;let n=this.checkpointPendingWrites.find(([e,r])=>e===t&&"__error__"===r);if(void 0===n)continue;let i=n[2],s=Error(i?.message??String(i));i?.name&&(s.name=i.name),e.set(t,s)}for(let[t,r]of e){let e=this.tasks[t];void 0!==e&&this.getErrorHandlerNode(String(e.name))&&(0===e.writes.length&&e.writes.push([c,{message:r.message,name:r.name}]),this.scheduleErrorHandler(e,r))}}_suppressInterrupt(e){return ef(e)&&!this.isNested}async _first(e){let{configurable:t}=this.config,r=t?.[w];if(r&&void 0!==r.nullResume&&this.putWrites(D,[[j,r.nullResume]]),X(this.input)){let e=null!=this.input.resume;if(null!=this.input.resume&&"object"==typeof this.input.resume&&Object.keys(this.input.resume).every(a4)&&(this.config.configurable??={},this.config.configurable[v]=this.input.resume),e&&null==this.checkpointer)throw Error("Cannot use Command(resume=...) without checkpointer");let t={};for(let[e,r,n]of function*(e,t){if(e.graph===Q.PARENT)throw new eb("There is no parent graph.");if(e.goto){for(let t of Array.isArray(e.goto)?e.goto:[e.goto])if(G(t))yield[D,V,t];else if("string"==typeof t)yield[D,`branch:to:${t}`,"__start__"];else throw Error(`In Command.send, expected Send or string, got ${typeof t}`)}if(e.resume)if("object"==typeof e.resume&&Object.keys(e.resume).length&&Object.keys(e.resume).every(a4))for(let[r,n]of Object.entries(e.resume)){let e=t.filter(e=>e[0]===r&&"__resume__"===e[1]).map(e=>e[2]).slice(0,1)??[];e.push(n),yield[r,j,e]}else yield[D,j,e.resume];if(e.update){if("object"!=typeof e.update||!e.update)throw Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[t,r]of e.update)yield[D,t,r];else for(let[t,r]of Object.entries(e.update))yield[D,t,r]}}(this.input,this.checkpointPendingWrites))t[e]??=[],t[e].push([r,n]);if(0===Object.keys(t).length)throw new e_("Received empty Command input");for(let[e,r]of Object.entries(t))this.putWrites(e,r)}let n=(this.checkpointPendingWrites??[]).filter(e=>e[0]===D).map(e=>e.slice(1));n.length>0&&oj(this.checkpoint,this.channels,[{name:l,writes:n,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let i=X(this.input),s=i&&n.length>0,a=this.isReplaying&&(this.isNested&&t?.checkpoint_ns!==void 0&&t?.checkpoint_ns!==""&&t?.checkpoint_map!==void 0&&t.checkpoint_ns in t.checkpoint_map||!(i&&null!=this.input.resume||t?.__pregel_resuming===!0||this.resumeAtHead));a&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(e=>e[1]!==j));let o=this.isResuming;if(o||s){let e={...this.checkpoint.versions_seen[T]};for(let t in this.channels)Object.prototype.hasOwnProperty.call(this.channels,t)&&void 0!==this.checkpoint.channel_versions[t]&&(e[t]=this.checkpoint.channel_versions[t]);this.checkpoint.versions_seen[T]=e,a&&"update"!==this.checkpointMetadata.source&&"fork"!==this.checkpointMetadata.source&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(e=>e[1]!==T),await this._putCheckpoint({source:"fork"}));let t=await a3(a5(oy(this.outputKeys,!0,this.channels),"values"));o?this.input=o8:s&&(await this._putCheckpoint({source:"input"}),this.input=o6),this._emitValuesWithCheckpointMeta(t)}else{let t=await a3(o_(e,this.input));if(t.length>0){let e=oN(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=oj(this.checkpoint,this.channels,Object.values(e).concat([{name:l,writes:t,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes);let r=t.filter(([e])=>{let t=this.channels[e];return null!=t&&sN(t)});if(r.length>0)if(void 0!==this._exitDeltaWrites)for(let[e,t]of r)this._exitDeltaWrites.push([this.step,D,e,t]);else null!=this.checkpointer&&this.putWrites(D,r);await this._putCheckpoint({source:"input"}),this.input=o6}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=o6;else throw new e_(`Received no input writes for ${JSON.stringify(e,null,2)}`)}if(!this.isNested){let e;if(a){let t=this.checkpoint.id;("update"===this.checkpointMetadata.source||"fork"===this.checkpointMetadata.source)&&this.prevCheckpointConfig&&(t=this.prevCheckpointConfig.configurable?.checkpoint_id??t),e=new oQ(t)}this.config=ow(this.config,{[_]:this.isResuming,[O]:e})}}#I(){let e=this.checkpointNamespace;if(0!==e.length&&(1!==e.length||""!==e[0])||this.config.configurable?.__pregel_stream===void 0)return e;let t=function(e){if(!e)return[];let t="";for(let r of Object.keys(e))""!==r&&r.length>t.length&&(t=r);return o5(t)}(this.config.configurable?.[A]);return t.length>0?t:e}_emit(e,t=this.checkpointNamespace){for(let[r,n]of e)if(this.stream.modes.has(r)&&this.stream.push([t,r,n]),("checkpoints"===r||"tasks"===r)&&this.stream.modes.has("debug")){let e="checkpoints"===r?this.step-1:this.step,i=new Date().toISOString(),s="checkpoints"===r?"checkpoint":"object"==typeof n&&null!=n&&"result"in n?"task_result":"task";this.stream.push([t,"debug",{step:e,type:s,timestamp:i,payload:n}])}}_currentCheckpointMeta(){if(!this.checkpointMetadata||!this.checkpoint?.id)return;let e=this.prevCheckpointConfig?.configurable?.checkpoint_id;return{checkpoint:{id:this.checkpoint.id,...e?{parent_id:e}:{},step:this.checkpointMetadata.step,source:this.checkpointMetadata.source}}}_emitValuesWithCheckpointMeta(e){let t=this._currentCheckpointMeta();for(let[r,n]of e)"values"!==r||t?.checkpoint==null||this.stream.modes.has("checkpoints")||this.stream.push([this.checkpointNamespace,"checkpoints",t.checkpoint]),this.stream.modes.has(r)&&this.stream.push([this.checkpointNamespace,r,n])}_putCheckpoint(e){let t,r=this.checkpointMetadata===e,n=null!=this.checkpointer&&("exit"!==this.durability||r),i=e=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=ow(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??""});let t={...this.checkpoint.channel_versions},r=ov(this.checkpointPreviousVersions,t);this.checkpointPreviousVersions=t,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:sd(e),metadata:{...this.checkpointMetadata},newVersions:r}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};if(r)t={...this.checkpointMetadata.counters_since_delta_snapshot??{}};else{let r=this.checkpointMetadata.counters_since_delta_snapshot??{};t={};let n=this.updatedChannels??new Set;for(let e in this.channels){if(!Object.prototype.hasOwnProperty.call(this.channels,e)||!sN(this.channels[e]))continue;let[i,s]=r[e]??[0,0];t[e]=[n.has(e)?i+1:i,s+1]}this.checkpointMetadata={...e,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}}let s=n?sF(this.channels,t):new Set;for(let e of(this.checkpoint=sL(this.checkpoint,n?this.channels:void 0,this.step,{id:r?this.checkpoint.id:void 0,channelsToSnapshot:s,updatedChannels:this.updatedChannels,getNextVersion:n?e=>this.checkpointerGetNextVersion(e):void 0}),s))t[e]=[0,0];let a={};for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;let[r,n]=t[e];(0!==r||0!==n)&&(a[e]=[r,n])}Object.keys(a).length>0?this.checkpointMetadata.counters_since_delta_snapshot=a:delete this.checkpointMetadata.counters_since_delta_snapshot,n&&i(this.checkpoint),r||(this.step+=1)}async _putExitDeltaWrites(){let e;if(void 0===this._exitDeltaWrites||0===this._exitDeltaWrites.length||null==this.checkpointer||void 0===this._initialCheckpointConfig)return;let t=this.checkpointMetadata.counters_since_delta_snapshot??{},r=sF(this.channels,t),n=this._exitDeltaWrites.filter(([,,e])=>!r.has(e));if(0===n.length)return;if(this._hasPersistedParent)e=this._initialCheckpointConfig;else{let t=sp();t.id=this.checkpointIdSaved??t.id,t.ts=new Date().toISOString();let r=ow(this._initialCheckpointConfig,{[S]:void 0});e=ow(this._initialCheckpointConfig,{[S]:t.id}),this._trackCheckpointerPromise(this.checkpointer.put(r,t,{source:"loop",step:-2,parents:{}},{})),this.checkpointConfig=e}let i=ow(e,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:e.configurable?.[S]}),s=new Map,a=[];for(let[e,t,r,i]of n){let n=`${e}\u0000${t}`,o=s.get(n);void 0===o&&(o=[],s.set(n,o),a.push({key:n,step:e,tid:t})),o.push([r,i])}for(let{key:e,step:t,tid:r}of a){let n=`${String(t).padStart(8,"0")}-${r}`;this._trackCheckpointerPromise(this.checkpointer.putWrites(i,s.get(e),n))}}_flushPendingWrites(){if(null==this.checkpointer||0===this.checkpointPendingWrites.length)return;let e=ow(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:this.checkpoint.id}),t={};for(let[e,r,n]of this.checkpointPendingWrites)t[e]??=[],t[e].push([r,n]);for(let[r,n]of Object.entries(t))this._trackCheckpointerPromise(this.checkpointer.putWrites(e,n,r))}_matchWrites(e){for(let[t,r,n]of this.checkpointPendingWrites){if("__error__"===r||"__interrupt__"===r||"__resume__"===r)continue;let i=Object.values(e).find(e=>e.id===t);i&&i.writes.push([r,n])}for(let t of Object.values(e))t.writes.length>0&&this._outputWrites(t.id,t.writes,!0)}},o7=e3;function le(e,t,r){if(!e)return;let n=e.langgraph_checkpoint_ns,i=e.checkpoint_ns,s=n??i;if(s)return[s.split("|"),{tags:t,name:r,...e}]}var lt=class extends o7.BaseCallbackHandler{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,r,n=!1){if(n&&void 0!==t.id&&void 0!==this.seen[t.id])return;let i=t.id;null!=r&&((0,e6.isToolMessage)(t)?i??=`run-${r}-tool-${t.tool_call_id}`:((null==i||i===`run-${r}`)&&(i=this.stableMessageIdMap[r]??i??`run-${r}`),this.stableMessageIdMap[r]??=i)),i!==t.id&&(t.id=i,t.lc_kwargs.id=i),null!=t.id&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,r,n,i,s,a,o){!a||s&&(s.includes("langsmith:nostream")||s.includes("nostream"))||(this.metadatas[r]=le(a,s,o))}handleLLMNewToken(e,t,r,n,i,s){let a=s?.chunk;(this.emittedChatModelRunIds[r]=!0,void 0!==this.metadatas[r])&&((0,rX.isBaseMessage)(a?.message)?this._emit(this.metadatas[r],a.message,r):this._emit(this.metadatas[r],new tp.AIMessageChunk({content:e}),r))}handleLLMEnd(e,t){if(void 0!==this.metadatas[t]){if(!this.emittedChatModelRunIds[t]){let r=e.generations?.[0]?.[0];(0,rX.isBaseMessage)(r?.message)&&this._emit(this.metadatas[t],r?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,r,n,i,s,a,o){if(void 0!==s&&o===s.langgraph_node&&(void 0===i||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=le(s,i,o),"object"==typeof t)){for(let e of Object.values(t))if(((0,rX.isBaseMessage)(e)||(0,rX.isBaseMessageChunk)(e))&&void 0!==e.id)this.seen[e.id]=e;else if(Array.isArray(e))for(let t of e)((0,rX.isBaseMessage)(t)||(0,rX.isBaseMessageChunk)(t))&&void 0!==t.id&&(this.seen[t.id]=t)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],void 0!==r){if((0,rX.isBaseMessage)(e))this._emit(r,e,t,!0);else if(Array.isArray(e))for(let n of e)(0,rX.isBaseMessage)(n)&&this._emit(r,n,t,!0);else if(null!=e&&"object"==typeof e){for(let n of Object.values(e))if((0,rX.isBaseMessage)(n))this._emit(r,n,t,!0);else if(Array.isArray(n))for(let e of n)(0,rX.isBaseMessage)(e)&&this._emit(r,e,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}},lr=e3;function ln(e){if("response_metadata"in e&&"object"==typeof e.response_metadata&&null!=e.response_metadata)return e.response_metadata}function li(e){if("usage_metadata"in e&&"object"==typeof e.usage_metadata&&null!=e.usage_metadata)return e.usage_metadata}var ls=class extends lr.BaseCallbackHandler{name="StreamProtocolMessagesHandler";streamFn;metadatas={};seen={};streamedRunIds=new Set;stableMessageIdMap={};lc_prefer_chat_model_stream_events=!0;constructor(e){super(),this.streamFn=e}normalizeMessageId(e,t){let r=e.id;return null!=t&&(e6.ToolMessage.isInstance(e)?r??=`run-${t}-tool-${e.tool_call_id}`:((null==r||r===`run-${t}`)&&(r=this.stableMessageIdMap[t]??r??`run-${t}`),this.stableMessageIdMap[t]??=r)),r!==e.id&&(e.id=r,e.lc_kwargs.id=r),null!=e.id&&(this.seen[e.id]=e),e.id}emit(e,t,r){let n=null!=r?{...e[1],run_id:r}:e[1];this.streamFn([e[0],"messages",[t,n]])}emitFinalMessage(e,t,r,n=!1){let i=t.id??(null!=r?this.stableMessageIdMap[r]:void 0);if(n&&null!=i&&void 0!==this.seen[i])return;let s=this.normalizeMessageId(t,r),a="human"===t.type?"human":"system"===t.type?"system":"tool"===t.type?"tool":"ai",o="tool"===a&&e6.ToolMessage.isInstance(t)?t.tool_call_id:void 0;this.emit(e,{event:"message-start",...null!=s?{id:s}:{},..."ai"!==a?{role:a}:{},..."string"==typeof o?{tool_call_id:o}:{}},r),(Array.isArray(t.content)?t.content:"string"==typeof t.content&&t.content.length>0?[{type:"text",text:t.content}]:[]).forEach((t,n)=>{let i="number"==typeof t.index?t.index:n;this.emit(e,{event:"content-block-start",index:i,content:function(e){switch(e.type){case"text":return{type:"text",text:""};case"reasoning":return{type:"reasoning",reasoning:""};case"tool_call":case"tool_call_chunk":return{type:"tool_call_chunk",...null!=e.id?{id:e.id}:{},...null!=e.name?{name:e.name}:{},args:""};default:return e}}(t)},r);let s=function(e){switch(e.type){case"text":{let t="string"==typeof e.text?e.text:"";return t.length>0?{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"text-delta",text:t}}:void 0}case"reasoning":{let t="string"==typeof e.reasoning?e.reasoning:"";return t.length>0?{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"reasoning-delta",reasoning:t}}:void 0}case"tool_call_chunk":return{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"block-delta",fields:{...e,type:"tool_call_chunk"}}};default:return}}({...t,index:i});null!=s&&this.emit(e,s,r),this.emit(e,{event:"content-block-finish",index:i,content:t},r)}),this.emit(e,{event:"message-finish",...null!=li(t)?{usage:li(t)}:{},...null!=ln(t)?{responseMetadata:ln(t)}:{}},r)}handleChatModelStart(e,t,r,n,i,s,a,o){!a||s&&(s.includes("langsmith:nostream")||s.includes("nostream"))||(this.metadatas[r]=[a.langgraph_checkpoint_ns.split("|"),{tags:s,name:o,...a}])}handleLLMNewToken(){}handleChatModelStreamEvent(e,t){let r=this.metadatas[t];if(void 0===r)return;let n=e;if("message-start"===e.event){this.streamedRunIds.add(t);let r=e.id??`run-${t}`;this.seen[r]=!0,this.stableMessageIdMap[t]??=r,null==e.id&&(n={...e,id:r})}this.emit(r,n,t)}handleLLMEnd(e,t){let r=this.metadatas[t];if(void 0===r)return;let n=e.generations?.[0]?.[0],i=rX.BaseMessage.isInstance(n?.message)?n.message:void 0;if(null!=i)if(this.streamedRunIds.has(t)){let e=this.normalizeMessageId(i,t);null!=e&&(this.seen[e]=i)}else this.emitFinalMessage(r,i,t,!0);this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleLLMError(e,t){this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleChainStart(e,t,r,n,i,s,a,o){if(void 0!==s&&o===s.langgraph_node&&(void 0===i||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=[s.langgraph_checkpoint_ns.split("|"),{tags:i,name:o,...s}],"object"==typeof t)){for(let e of Object.values(t))if((rX.BaseMessage.isInstance(e)||rX.BaseMessageChunk.isInstance(e))&&void 0!==e.id)this.seen[e.id]=e;else if(Array.isArray(e))for(let t of e)(rX.BaseMessage.isInstance(t)||rX.BaseMessageChunk.isInstance(t))&&void 0!==t.id&&(this.seen[t.id]=t)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],void 0===r)return;let n=e=>{rX.BaseMessage.isInstance(e)&&!e6.ToolMessage.isInstance(e)&&this.emitFinalMessage(r,e,t,!0)};if(rX.BaseMessage.isInstance(e))n(e);else if(Array.isArray(e))for(let t of e)n(t);else if(null!=e&&"object"==typeof e)for(let t of Object.values(e))if(Array.isArray(t))for(let e of t)n(e);else n(t);delete this.stableMessageIdMap[t]}handleChainError(e,t){delete this.metadatas[t],delete this.stableMessageIdMap[t]}},la=e3,lo=class{active=!0;lastProgress=Date.now();refreshOn;constructor(e){this.refreshOn=e}touch(){this.lastProgress=Date.now()}autoTouch(){"auto"===this.refreshOn&&(this.lastProgress=Date.now())}close(){this.active=!1}},ll=class extends la.BaseCallbackHandler{name="IdleProgressCallbackHandler";awaitHandlers=!1;#T;constructor(e){super(),this.#T=e}#j=()=>{this.#T.autoTouch()};handleLLMStart=this.#j;handleChatModelStart=this.#j;handleLLMNewToken=this.#j;handleLLMEnd=this.#j;handleLLMError=this.#j;handleChainStart=this.#j;handleChainEnd=this.#j;handleChainError=this.#j;handleToolStart=this.#j;handleToolEnd=this.#j;handleToolError=this.#j;handleText=this.#j;handleRetrieverStart=this.#j;handleRetrieverEnd=this.#j;handleRetrieverError=this.#j;handleCustomEvent=this.#j};async function lc(e,t,r,n){let i,s,a,o=new lo(r.refreshOn??"auto"),l=new AbortController,{signal:c,dispose:h}=oS(t.signal,l.signal),u=function(e,t,r,n){let i=e.configurable??{},s={},a=i[d];"function"==typeof a&&(s[d]=e=>{if(t.active)return e&&e.length&&t.autoTouch(),a(e)});let o=i[f];"function"==typeof o&&(s[f]=(...e)=>{if(!t.active)throw Error(`Node "${n}" attempt was cancelled after its timeout fired`);return t.autoTouch(),o(...e)});let l={...Object.keys(s).length>0?ow(e,s):e};if(l.heartbeat=()=>{void 0!==r.idleTimeout&&t.touch()},"function"==typeof l.writer){let e=l.writer;l.writer=r=>{if(t.active)return t.autoTouch(),e(r)}}if((r.refreshOn??"auto")==="auto"&&void 0!==r.idleTimeout){let e=new ll(t),r=l.callbacks;if(void 0===r)l.callbacks=[e];else if(Array.isArray(r))l.callbacks=[...r,e];else{let t=r.copy();t.addHandler(e,!0),l.callbacks=t}}return l}({...t,signal:c},o,r,String(e.name)),p=Date.now(),m=n(u).then(e=>({type:"ok",value:e}),e=>({type:"err",error:e})),g=new Promise(e=>{if(void 0!==r.runTimeout&&(i=setTimeout(()=>e({type:"timeout",kind:"run"}),r.runTimeout)),void 0!==r.idleTimeout){let t=r.idleTimeout,n=()=>{let r=o.lastProgress+t-Date.now();r<=0?e({type:"timeout",kind:"idle"}):s=setTimeout(n,r)};s=setTimeout(n,t)}});try{a=await Promise.race([m,g])}finally{void 0!==i&&clearTimeout(i),void 0!==s&&clearTimeout(s)}if("timeout"!==a.type){let e=Date.now();void 0!==r.runTimeout&&e-p>=r.runTimeout?a={type:"timeout",kind:"run"}:void 0!==r.idleTimeout&&e-o.lastProgress>=r.idleTimeout&&(a={type:"timeout",kind:"idle"})}if("ok"===a.type)return h?.(),a.value;if("err"===a.type)throw h?.(),a.error;let _=Date.now()-p;throw o.close(),e.writes.splice(0,e.writes.length),l.abort(),h?.(),new em({node:String(e.name),elapsed:_,kind:a.kind,runTimeout:r.runTimeout,idleTimeout:r.idleTimeout})}let lh=[400,401,402,403,404,405,406,407,409],lu=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||"AbortError"===e.name||"GraphValueError"===e.name||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&lh.includes(+t))&&e?.error?.code!=="insufficient_quota"};async function lp(e,t,r,n){let i,s,a=e.retry_policy??t,o=0,l=e.config??{};r&&(l=ow(l,r)),l={...l,signal:n};let c=Date.now();for(null!=l.executionInfo&&(l.executionInfo={...l.executionInfo,nodeFirstAttemptTime:c});!n?.aborted;){e.writes.splice(0,e.writes.length),i=void 0;try{s=void 0!==e.timeout?await lc(e,l,e.timeout,t=>e.proc.invoke(e.input,t)):await e.proc.invoke(e.input,l);break}catch(h){if((i=h).pregelTaskId=e.id,ep(i)){let t=l?.configurable?.checkpoint_ns,r=i.command;if(r.graph===t){for(let t of e.writers)await t.invoke(r,l);i=void 0;break}if(r.graph===Q.PARENT){let e=s4(t);i.command=new Q({...i.command,graph:e})}}if(ed(i)||void 0===a||(o+=1)>=(a.maxAttempts??3)||!(a.retryOn??lu)(i))break;let t=a.initialInterval??500,r=Math.min(a.maxInterval??128e3,t*(a.backoffFactor??2)**(o-1)),n=a.jitter??!0?r+1e3*Math.random():r;await new Promise(e=>setTimeout(e,n));let s=i.name??i.constructor.unminifiable_name??i.constructor.name;(a?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${n.toFixed(2)}ms (attempt ${o}) after ${s}: ${i}`),null!=(l=ow(l,{[_]:!0})).executionInfo&&(l.executionInfo={...l.executionInfo,nodeAttempt:o+1,nodeFirstAttemptTime:c})}}return{task:e,result:s,error:i,signalAborted:n?.aborted}}let ld=Symbol.for("promiseAdded");var lf=class{nodeFinished;loop;handledExceptions=new WeakSet;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let t,{timeout:r,retryPolicy:n,onStepWrite:i,maxConcurrency:s}=e,a=new Set,o=new AbortController,l=o.signal,c=r?AbortSignal.timeout(r):void 0,h=Object.values(this.loop.tasks),u=h.filter(e=>0===e.writes.length),{signals:p,disposeCombinedSignal:d}=this._initializeAbortSignals({exceptionSignal:l,stepTimeoutSignal:c,signal:e.signal});for await(let{task:e,error:r,signalAborted:i}of this._executeTasksWithRetry(u,{signals:p,retryPolicy:n,maxConcurrency:s}))this._commit(e,r),void 0!==r&&this.handledExceptions.has(r)||(ef(r)||ed(r)&&!ef(t)?t=r:r&&(0===a.size||!i)&&(o.abort(),a.add(r)));if(d?.(),i?.(this.loop.step,h.map(e=>e.writes).flat()),1===a.size)throw Array.from(a)[0];if(a.size>1)throw AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(ef(t)||ea(t)||ed(t)&&this.loop.isNested)throw t}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:r}){let n=this.loop.config.configurable?.__pregel_abort_signals??{},i=n.externalAbortSignal??r,s=t??n.timeoutAbortSignal,{signal:a,dispose:o}=oS(i,s,e),l={externalAbortSignal:i,timeoutAbortSignal:s,composedAbortSignal:a};return this.loop.config=ow(this.loop.config,{[I]:l}),{signals:l,disposeCombinedSignal:o}}async *_executeTasksWithRetry(e,t){let r,n,{retryPolicy:i,maxConcurrency:s,signals:a}=t??{},o=((n={next:()=>void 0,wait:Promise.resolve(ld)}).wait=new Promise(function e(t){n.next=()=>{n.wait=new Promise(e),t(ld)}}),n),l={},c={executingTasksMap:l,barrier:o,retryPolicy:i,scheduleTask:async(e,t,r)=>this.loop.acceptPush(e,t,r)};if(a?.composedAbortSignal?.aborted)throw Error("Abort");let h=0,u=oS(a?.externalAbortSignal,a?.timeoutAbortSignal),p=u.signal?new Promise((e,t)=>{r=()=>t(Error("Abort")),u.signal?.addEventListener("abort",r,{once:!0})}):void 0;for(;(0===h||Object.keys(l).length>0)&&e.length;){for(;Object.values(l).length<(s??e.length)&&h<e.length;h+=1){let t=e[h];l[t.id]=lp(t,i,{[f]:lm?.bind(c,this,t)},a?.composedAbortSignal).catch(e=>({task:t,error:e,signalAborted:a?.composedAbortSignal?.aborted}))}let t=await Promise.race([...Object.values(l),...p?[p]:[],o.wait]);if(t===ld)continue;let{task:n,error:d}=t;if(void 0!==d&&!ed(d)&&!this.loop.isErrorHandlerNode(String(n.name))&&void 0!==this.loop.getErrorHandlerNode(String(n.name))){let e=this.loop.scheduleErrorHandler(n,d);void 0!==e&&(l[e.id]=lp(e,i,{[f]:lm?.bind(c,this,e)},a?.composedAbortSignal).catch(t=>({task:e,error:t,signalAborted:a?.composedAbortSignal?.aborted})),o.next())}yield t,null!=r&&(u.signal?.removeEventListener("abort",r),u.dispose?.()),delete l[t.task.id]}}_shouldRouteToErrorHandler(e){let t=String(e.name);return!this.loop.isErrorHandlerNode(t)&&void 0!==this.loop.getErrorHandlerNode(t)}_commit(e,t){if(void 0!==t)if(ef(t)){if(t.interrupts.length){let r=t.interrupts.map(e=>[T,e]),n=e.writes.filter(e=>e[0]===j);n.length&&r.push(...n),this.loop.putWrites(e.id,r)}}else ea(t)?e.writes.length&&this.loop.putWrites(e.id,e.writes):(ed(t)&&e.writes.length||(e.writes.push([c,{message:t.message,name:t.name}]),this._shouldRouteToErrorHandler(e)&&(e.writes.push([h,String(e.name)]),this.handledExceptions.add(t))),this.loop.putWrites(e.id,e.writes));else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),0===e.writes.length&&e.writes.push([N,null]),this.loop.putWrites(e.id,e.writes)}};async function lm(e,t,r,n,i,s={}){let a=t.config?.configurable?.[w];if(!a)throw Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let o=a.callCounter;a.callCounter+=1;let l=new ox({func:r,name:n,input:i,cache:s.cache,retry:s.retry,timeout:s.timeout,callbacks:s.callbacks}),h=await this.scheduleTask(t,o,l);if(!h)return;let u=this.executingTasksMap[h.id];if(void 0!==u)return u;if(h.writes.length>0){let e=h.writes.filter(([e])=>e===P),t=h.writes.filter(([e])=>e===c);if(e.length>0){if(1===e.length)return Promise.resolve(e[0][1]);throw Error(`BUG: multiple returns found for task ${h.name}__${h.id}`)}if(t.length>0){if(1===t.length){let e=t[0][1];return Promise.reject(e instanceof Error?e:Error(String(e)))}throw Error(`BUG: multiple errors found for task ${h.name}__${h.id}`)}return}{let t=lp(h,s.retry,{[f]:lm.bind(this,e,h)});return this.executingTasksMap[h.id]=t,this.barrier.next(),t.then(({result:e,error:t})=>t?Promise.reject(t):e)}}var lg=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function l_(e,t){if(Array.isArray(e)){for(let r of e)if(!(r in t))throw Error(`Key ${String(r)} not found in channels`)}else if(!(e in t))throw Error(`Key ${String(e)} not found in channels`)}var ly=class e extends sM{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(e){super(),this.unique=e?.unique??this.unique,this.accumulate=e?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let r=new e({unique:this.unique,accumulate:this.accumulate});return void 0!==t&&(r.seen=new Set(t[0]),r.values=t[1]),r}update(e){let t=!1;this.accumulate||(t=this.values.length>0,this.values=[]);let r=e.flat();if(r.length>0)if(this.unique)for(let e of r)this.seen.has(e)||(t=!0,this.seen.add(e),this.values.push(e));else t=!0,this.values.push(...r);return t}get(){if(0===this.values.length)throw new ey;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return 0!==this.values.length}},lb=tb,lv=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&void 0!==r)throw Error("Can't specify a key when subscribing to multiple channels");return new op({channels:"string"==typeof e?r?{[r]:e}:[e]:Object.fromEntries(e.map(e=>[e,e])),triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let t of e)r.push({channel:t,value:or,skipNone:!1});for(let[e,n]of Object.entries(t??{}))lb.Runnable.isRunnable(n)||"function"==typeof n?r.push({channel:e,value:or,skipNone:!0,mapper:(0,lb._coerceToRunnable)(n)}):r.push({channel:e,value:n,skipNone:!1});return new os(r)}},lw=class extends lb.Runnable{lc_namespace=["langgraph","pregel"];invoke(e,t){throw Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},lk=class extends lw{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;streamTransformers;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(null==t||Array.isArray(t)||(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&"Topic"!==this.channels.__pregel_tasks.lc_graph_name)throw Error(`Channel '${V}' is reserved and cannot be used in the graph.`);this.channels[V]=new ly({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.streamTransformers=e.streamTransformers??[],this.autoValidate&&this.validate()}withConfig(e){let{streamTransformers:t,...r}=e,n=(0,np.mergeConfigs)(this.config,r),i=[...this.streamTransformers,...t??[]];return new this.constructor({...this,config:n,streamTransformers:i})}validate(){for(let[e,t]of(!function({nodes:e,channels:t,inputChannels:r,outputChannels:n,streamChannels:i,interruptAfterNodes:s,interruptBeforeNodes:a}){if(!t)throw new lg("Channels not provided");let o=new Set,l=new Set;for(let[t,r]of Object.entries(e)){if("__interrupt__"===t)throw new lg(`"Node name ${T} is reserved"`);if(r.constructor===op)r.triggers.forEach(e=>o.add(e));else throw new lg(`Invalid node type ${typeof r}, expected PregelNode`)}for(let e of o)if(!(e in t))throw new lg(`Subscribed channel '${String(e)}' not in channels`);if(Array.isArray(r)){if(r.every(e=>!o.has(e)))throw new lg(`None of the input channels ${r} are subscribed to by any node`)}else if(!o.has(r))throw new lg(`Input channel ${String(r)} is not subscribed to by any node`);for(let e of(Array.isArray(n)?n.forEach(e=>l.add(e)):l.add(n),i&&!Array.isArray(i)?l.add(i):Array.isArray(i)&&i.forEach(e=>l.add(e)),l))if(!(e in t))throw new lg(`Output channel '${String(e)}' not in channels`);if(s&&"*"!==s){for(let t of s)if(!(t in e))throw new lg(`Node ${String(t)} not in nodes`)}if(a&&"*"!==a){for(let t of a)if(!(t in e))throw new lg(`Node ${String(t)} not in nodes`)}}({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore}),Object.entries(this.nodes)))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes))if(void 0===e||e.startsWith(r))for(let i of n.subgraphs?.length?n.subgraphs:[n.bound]){let n=of(i);if(void 0!==n){if(r===e)return void(yield[r,n]);if(void 0===e&&(yield[r,n]),t){let i=e;for(let[s,a]of(void 0!==e&&(i=e.slice(r.length+1)),n.getSubgraphs(i,t)))yield[`${r}|${s}`,a]}}}}async *getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(void 0===t)return{values:{},next:[],config:e,tasks:[]};let i=await sD(this.channels,t.checkpoint,{saver:"object"==typeof this.checkpointer?this.checkpointer:void 0,config:t.config??e});if(t.pendingWrites?.length){let e=t.pendingWrites.filter(([e,t])=>e===D).map(([e,t,r])=>[String(t),r]);e.length>0&&oj(t.checkpoint,i,[{name:l,writes:e,triggers:[]}],void 0,this.triggerToNodes)}let s=Object.values(oN(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),a=await a3(this.getSubgraphsAsync()),o=t.config.configurable?.checkpoint_ns??"",c={};for(let e of s){let n=a.find(([t])=>t===e.name);if(!n)continue;let i=`${String(e.name)}:${e.id}`;if(o&&(i=`${o}|${i}`),void 0===r){let r={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:i}};c[e.id]=r}else{let s={configurable:{[g]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:i}},a=n[1];c[e.id]=await a.getState(s,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let e=Object.fromEntries(s.map(e=>[e.id,e]));for(let[r,n,i]of t.pendingWrites)!["__error__","__interrupt__",eH].includes(n)&&r in e&&e[r].writes.push([String(n),i]);let r=s.filter(e=>e.writes.length>0);r.length>0&&oj(t.checkpoint,i,r,void 0,this.triggerToNodes)}let h=t?.metadata;h&&t?.config?.configurable?.thread_id&&(h={...h,thread_id:t.config.configurable.thread_id});let u=s.filter(e=>0===e.writes.length).map(e=>e.name);return{values:og(i,this.streamChannelsAsIs),next:u,tasks:oU(s,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:h,config:ok(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_read===void 0&&e.configurable?.__pregel_checkpointer===void 0){let i=s1(n);for await(let[n,s]of this.getSubgraphsAsync(i,!0))if(n===i)return await s.getState(a7(e,{[g]:r}),{subgraphs:t?.subgraphs})}let i=(0,np.mergeConfigs)(this.config,e),s=await r.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:s,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async *getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_checkpointer===void 0){let i=s1(n);for await(let[n,s]of this.getSubgraphsAsync(i,!0))if(n===i)return void(yield*s.getStateHistory(a7(e,{[g]:r}),t))}let i=(0,np.mergeConfigs)(this.config,e,{configurable:{checkpoint_ns:n}});for await(let e of r.list(i,t))yield this._prepareStateSnapshot({config:e.config,saved:e})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(0===t.length)throw Error("No supersteps provided");if(t.some(e=>0===e.updates.length))throw Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_checkpointer===void 0){let i=s1(n);for await(let[,n]of this.getSubgraphsAsync(i,!0))return await n.bulkUpdateState(a7(e,{[g]:r}),t);throw Error(`Subgraph "${i}" not found`)}let i=async(e,t)=>{let n=this.config?(0,np.mergeConfigs)(this.config,e):e,s=await r.getTuple(n),a=void 0!==s?sd(s.checkpoint):sp(),o={...s?.checkpoint.channel_versions},c=s?.metadata?.step??-1,h=a7(n,{checkpoint_ns:n.configurable?.checkpoint_ns??""}),u=n.metadata??{};s?.config.configurable&&(h=a7(n,s.config.configurable),u={...s.metadata,...u});let{values:p,asNode:f}=t[0];if(null==p&&void 0===f){if(t.length>1)throw new eb("Cannot create empty checkpoint with multiple updates");return ok(await r.put(h,sL(a,void 0,c),{source:"update",step:c+1,parents:s?.metadata?.parents??{}},{}),s?s.metadata:void 0)}let g=await sD(this.channels,a,{saver:r,config:s?.config??h});if(null===p&&"__end__"===f){if(t.length>1)throw new eb("Cannot apply multiple updates when clearing state");if(s){let e=oN(a,s.pendingWrites||[],this.nodes,g,s.config,!0,{step:(s.metadata?.step??-1)+1,checkpointer:r,store:this.store}),t=(s.pendingWrites||[]).filter(e=>e[0]===D).map(e=>e.slice(1));for(let[n,i,o]of(t.length>0&&oj(a,g,[{name:l,writes:t,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes),s.pendingWrites||[]))!["__error__","__interrupt__",eH].includes(i)&&n in e&&e[n].writes.push([i,o]);oj(a,g,Object.values(e),r.getNextVersion.bind(r),this.triggerToNodes)}return ok(await r.put(h,sL(a,g,c),{...u,source:"update",step:c+1,parents:s?.metadata?.parents??{}},ov(o,a.channel_versions)),s?s.metadata:void 0)}if("__copy__"===f){if(t.length>1)throw new eb("Cannot copy checkpoint with multiple updates");if(null==s)throw new eb("Cannot copy a non-existent checkpoint");let e=sL(a,void 0,c),n=await r.put(s.parentConfig??a7(s.config,{checkpoint_id:void 0}),e,{source:"fork",step:c+1,parents:s.metadata?.parents??{}},{});if(Array.isArray(p)&&0!==p.length&&p.every(e=>Array.isArray(e)&&2===e.length)){let t=Object.values(oN(e,s.pendingWrites,this.nodes,g,n,!1,{step:c+2})).reduce((e,{name:t,id:r})=>(e[t]??=[],e[t].push({id:r}),e),{}),r=p.reduce((e,r)=>{let[n,i]=r;e[i]??=[];let s=e[i].length,a=t[i]?.[s]?.id;return e[i].push({values:n,asNode:i,taskId:a}),e},{});return i(ok(n,s.metadata),Object.values(r).flat())}return ok(n,s.metadata)}if("__input__"===f){if(t.length>1)throw new eb("Cannot apply multiple updates when updating as input");let e=await a3(o_(this.inputChannels,p));if(0===e.length)throw new eb(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);oj(a,g,[{name:l,writes:e,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let n=s?.metadata?.step!=null?s.metadata.step+1:-1,i=await r.put(h,sL(a,g,n),{source:"input",step:n,parents:s?.metadata?.parents??{}},ov(o,a.channel_versions));return await r.putWrites(i,e,eU(l,a.id)),ok(i,s?s.metadata:void 0)}if(n.configurable?.checkpoint_id===void 0&&s?.pendingWrites!==void 0&&s.pendingWrites.length>0){let e=oN(a,s.pendingWrites,this.nodes,g,s.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(s.metadata?.step??-1)+1}),t=(s.pendingWrites??[]).filter(e=>e[0]===D).map(e=>e.slice(1));for(let[r,n,i]of(t.length>0&&oj(s.checkpoint,g,[{name:l,writes:t,triggers:[]}],void 0,this.triggerToNodes),s.pendingWrites))["__error__","__interrupt__",eH].includes(n)||void 0===e[r]||e[r].writes.push([n,i]);let r=Object.values(e).filter(e=>e.writes.length>0);r.length>0&&oj(a,g,r,void 0,this.triggerToNodes)}let _=Object.values(a.versions_seen).map(e=>Object.values(e)).flat().find(e=>!!e),y=[];if(1===t.length){let{values:e,asNode:r,taskId:n}=t[0];if(void 0===r&&1===Object.keys(this.nodes).length)[r]=Object.keys(this.nodes);else if(void 0===r&&void 0===_)"string"==typeof this.inputChannels&&void 0!==this.nodes[this.inputChannels]&&(r=this.inputChannels);else if(void 0===r){let e=Object.entries(a.versions_seen).map(([e,t])=>Object.values(t).map(t=>[t,e])).flat().filter(([e,t])=>t!==T).sort(([e],[t])=>sm(e,t));e&&(1===e.length?r=e[0][1]:e[e.length-1][0]!==e[e.length-2][0]&&(r=e[e.length-1][1]))}if(void 0===r)throw new eb('Ambiguous update, specify "asNode"');y.push({values:e,asNode:r,taskId:n})}else for(let{asNode:e,values:r,taskId:n}of t){if(null==e)throw new eb('"asNode" is required when applying multiple updates');y.push({values:r,asNode:e,taskId:n})}let b=[];for(let{asNode:e,values:t,taskId:r}of y){if(void 0===this.nodes[e])throw new eb(`Node "${e.toString()}" does not exist`);let n=this.nodes[e].getWriters();if(!n.length)throw new eb(`No writers found for node "${e.toString()}"`);b.push({name:e,input:t,proc:n.length>1?lb.RunnableSequence.from(n,{omitSequenceTags:!0}):n[0],writes:[],triggers:[T],id:r??eU("__interrupt__",a.id),writers:[]})}for(let e of b)await e.proc.invoke(e.input,(0,np.patchConfig)({...n,store:n?.store??this.store},{runName:n.runName??`${this.getName()}UpdateState`,configurable:{[d]:t=>e.writes.push(...t),[m]:(t,r=!1)=>oA(a,g,e,t,r)}}));for(let e of b){let t=e.writes.filter(e=>e[0]!==F);void 0!==s&&t.length>0&&await r.putWrites(h,t,e.id)}oj(a,g,b,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let v=ov(o,a.channel_versions),w=await r.put(h,sL(a,g,c+1),{source:"update",step:c+1,parents:s?.metadata?.parents??{}},v);for(let e of b){let t=e.writes.filter(e=>e[0]===F);t.length>0&&await r.putWrites(w,t,e.id)}return ok(w,s?s.metadata:void 0)},s=e;for(let{updates:e}of t)s=await i(s,e);return s}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let t,r,{debug:n,streamMode:i,inputKeys:s,outputKeys:a,interruptAfter:o,interruptBefore:l,...c}=e,h=!0,u=void 0!==n?n:this.debug,p=a;void 0===p?p=this.streamChannelsAsIs:l_(p,this.channels);let d=s;void 0===d?d=this.inputChannels:l_(d,this.channels);let f=l??this.interruptBefore??[],m=o??this.interruptAfter??[];if(void 0!==i?(t=Array.isArray(i)?i:[i],h="string"==typeof i):(t=e.configurable?.__pregel_task_id!==void 0?["values"]:this.streamMode,h=!0),!1===this.checkpointer)r=void 0;else if(void 0!==e&&e.configurable?.__pregel_checkpointer!==void 0)r=e.configurable[g];else if(!0===this.checkpointer)throw Error("checkpointer: true cannot be used for root graphs.");else r=this.checkpointer;let _=e.store??this.store,y=e.cache??this.cache;if(null!=e.durability&&null!=e.checkpointDuring)throw Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let b=(()=>{if(null!=e.checkpointDuring)return!1===e.checkpointDuring?"exit":"async"})();return[u,t,d,p,c,f,m,r,_,h,y,e.durability??b??e?.configurable?.__pregel_durability??"async"]}async stream(e,t){let r,n=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,signal:oS(t?.signal,n.signal).signal},s=await super.stream(e,i);return new oq(t?.encoding==="text/event-stream"?(r=new TextEncoder,new ReadableStream({async start(e){let t=t=>{e.enqueue(r.encode(`event: ${t.event}
79
+ `))}catch(t){e.error(t)}},async cancel(){await r.return?.()}})}get(e){if(e<0||e>=this.#t.length)throw RangeError(`StreamChannel index ${e} out of bounds (size=${this.#t.length})`);return this.#t[e]}get size(){return this.#t.length}get done(){return this.#n}close(){this.#n=!0,this.#a()}fail(e){this.#i=e,this.#n=!0,this.#a()}_wire(e){this.#s=e}_close(){this.close()}_fail(e){this.fail(e)}[Symbol.asyncIterator](){return this.iterate()}#a(){for(let e of this.#r.splice(0))e()}};function sZ(e){return sJ.isInstance(e)}e.s(["StreamChannel",()=>sJ,"isStreamChannel",()=>sZ],898060);let sY=Symbol("resolveValues"),sQ=Symbol("rejectValues");var sX=class{_events=sJ.local();_discoveries=sJ.local();#o=0;#l=!1;#i;#c=!1;#h=[];#u=[];#p=[];#d=new Map;#f=new Map;#m=[];#g=[];register(e,t){this.#d.set(s1(e),t)}addTransformer(e){let t=this._events.size;this.#u.push(e),e.onRegister&&e.onRegister({push:(e,t)=>this.push(e,t)});for(let r=0;r<t;r+=1)e.process(this._events.get(r));this.#l&&(void 0!==this.#i?e.fail?.(this.#i):e.finalize?.())}wireChannels(e){for(let[r,n]of Object.entries(e)){var t;if(sZ(n)){if(this.#p.push(n),"string"!=typeof n.channelName)continue;let e=(t=n.channelName,`custom:${t}`);n._wire(t=>{this._events.push({type:"event",seq:this.#o++,method:e,params:{namespace:this.#h,timestamp:Date.now(),data:t}})});continue}null!=n&&("object"==typeof n||"function"==typeof n)&&"function"==typeof n.then&&this.#g.push({name:r,promise:Promise.resolve(n)})}}push(e,t){"values"===t.method&&this.#f.set(s1(e),t.params.data);let r=this.#h;this.#h=e;let n=!0;for(let e of this.#u)e.process(t)||(n=!1);this.#h=r,n&&this._events.push({...t,seq:this.#o++})}close(){for(let[e,t]of(this.#l=!0,this.#f.entries())){let r=e?e.split("\0"):[];this.#d.get(s1(r))?.[sY](t)}let e=[];for(let t of this.#u){let r=t.finalize?.();null!=r&&"function"==typeof r.then&&e.push(r)}for(let e of this.#p)e._close();let t=this.#g;for(let r of(0===t.length&&0===e.length?(this._events.close(),this._discoveries.close()):Promise.allSettled([...e,...t.map(async({name:e,promise:t})=>{try{let r=await t;this._events.done||this._events.push({type:"event",seq:this.#o++,method:"custom",params:{namespace:[],timestamp:Date.now(),data:{name:e,payload:r}}})}catch{}})]).then(()=>{this._events.close(),this._discoveries.close()}),this.#d.values()))r[sY](void 0)}fail(e){for(let t of(this.#l=!0,this.#i=e,this.#u))t.fail?.(e);for(let t of this.#p)t._fail(e);for(let t of(this._events.fail(e),this._discoveries.fail(e),this.#d.values()))t[sQ](e)}markInterrupted(e){this.#c=!0,this.#m.push(...e)}get interrupted(){return this.#c}get interrupts(){return this.#m}subscribeEvents(e,t=0){let r=this._events.iterate(t);return{async next(){for(;;){let t=await r.next();if(t.done||s4(t.value.params.namespace,e))return t}}}}};async function s0(e,t){let r=0;try{for await(let n of e){let[e,i,s]=n;if("values"===i&&Y(s)){let e=s[T];t.markInterrupted(e.map(e=>({interruptId:e.id??"",payload:e.value})))}let a=sK({namespace:e,mode:i,payload:s,seq:r});for(let n of(r+=a.length,a))t.push(e,n)}}catch(e){t.fail(e);return}t.close()}function s1(e){return e.join("\0")}function s4(e,t){if(t.length>e.length)return!1;for(let r=0;r<t.length;r+=1)if(e[r]!==t[r])return!1;return!0}function s2(e,t,r=0){return{[Symbol.asyncIterator](){let n=e.iterate(r);return{async next(){for(;;){let e=await n.next();if(e.done)return{value:void 0,done:!0};if(s4(e.value.namespace,t))return{value:e.value,done:!1}}}}}}}let s6="root";function s3(e){if(0===e.length)return s6;let t=e[e.length-1],r=t.indexOf(":");return -1===r?t:t.slice(0,r)}function s8(e){if(e instanceof Error)return e.message;if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function s7(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function s5(e={}){let t,r=e.rootGraphName??s6,n=e.initialStatus??"running",i=e.emitRootOnRegister??!0,s=e.getGraphName??s3,a=e.serializeError??s8,o=e.getTerminalStatusOverride,l=sJ.local(),c=new Map,h=new Map,u=new Set,p=[],d=0,f=!1,m=e=>0===e.length?r:s(e),g=(e,r,n)=>{let s=s1(e),a=c.get(s),o=a?.graphName??m(e);if(null!=a&&a.status===r&&a.graphName===o&&n?.error==null)return;null==a?(a={namespace:e,graphName:o,status:r},c.set(s,a)):a.status=r;let h={event:r,graph_name:o,...n?.cause!=null?{cause:n.cause}:{},...n?.error!=null?{error:n.error}:{}},u=Date.now();if((l.push({namespace:e,timestamp:u,...h}),0!==e.length||i)&&null!=t){d+=1;try{t.push(e,{type:"event",seq:0,method:"lifecycle",params:{namespace:e,timestamp:u,data:h}})}finally{d-=1}}},_=e=>{let t=s1(e),r=c.get(t);return null==r&&(r={namespace:e,graphName:m(e),status:void 0},c.set(t,r)),r},y=()=>{if(0!==p.length)for(let e of p.splice(0,p.length)){let t=s1(e.namespace),r=c.get(t);null!=r&&"started"===r.status&&g(e.namespace,"completed")}},v=e=>{let t=s1(e.namespace),r=c.get(t);null==r||"started"!==r.status||p.some(e=>s1(e.namespace)===t)||p.push(e)},b=e=>{for(let t=1;t<=e.length;t+=1){let r=e.slice(0,t),n=s1(r);if(c.has(n))continue;_(r);let i=h.get(n);g(r,"started",null!=i?{cause:i}:void 0)}},w=()=>u.size>0?"interrupted":"completed",k=e=>{for(let t of c.values())0!==t.namespace.length&&"started"===t.status&&g(t.namespace,e);g([],e),l.close()},S=async()=>{if(null==o)return w();try{return await o()??w()}catch{return w()}};return{__native:!0,init:()=>({_lifecycleLog:l,lifecycle:s2(l,[],0)}),onRegister(e){t=e,_([]),i&&g([],n)},process(e){let t=e.params.namespace;if(d>0)return!0;let r="tasks"===e.method?function(e){if(s7(e)&&"result"in e&&"string"==typeof e.name&&"string"==typeof e.id&&!e.name.startsWith("__"))return{name:e.name,id:e.id}}(e.params.data):void 0;if(null!=r&&((e,t)=>{for(let r=p.length-1;r>=0;r-=1){let n=p[r];"node"===n.source.type&&n.source.node===t&&s1(n.source.parent)===s1(e)&&p.splice(r,1)}})(t,r.name),y(),"lifecycle"===e.method){let r=function(e){if(!s7(e)||"started"!==e.event)return;let t=e.cause;if(s7(t)&&"string"==typeof t.type)return t}(e.params.data);return null!=r&&h.set(s1(t),r),b(t),!1}if(b(t),"input"===e.method&&s7(e.params.data)&&"requested"===e.params.data.event){let t=e.params.data.id;"string"==typeof t&&u.add(t)}if(null!=r){let e,n=(e=[...t,`${r.name}:${r.id}`],c.get(s1(e))?.status==="started"?e:void 0);null!=n&&v({namespace:n,source:{type:"task"}})}if("updates"===e.method){let r=e.params.node;if("string"==typeof r&&!r.startsWith("__")){let e=((e,t)=>{let r=`${t}:`;for(let n of c.values()){if(n.namespace.length!==e.length+1||"started"!==n.status||!s4(n.namespace,e))continue;let i=n.namespace[n.namespace.length-1];if(i===t||i.startsWith(r))return n.namespace}})(t,r);null!=e&&v({namespace:e,source:{type:"node",parent:t,node:r}})}}return!0},finalize(){if(!f)return(f=!0,y(),null==o)?void k(w()):S().then(k).catch(e=>{l.fail(e)})},fail(e){if(f)return;f=!0;let t=a(e);for(let e of c.values())0!==e.namespace.length&&"started"===e.status&&g(e.namespace,"failed");g([],"failed",{error:t}),l.fail(e)}}}function s9(e){return"string"==typeof e.run_id?`run:${e.run_id}`:"message-start"===e.event&&"string"==typeof e.id?`message:${e.id}`:"__default__"}function ae(e,t){let r=sJ.local(),n=new Map,i=new Set;return{init:()=>({messages:r.toAsyncIterable()}),process(s){if("messages"!==s.method||!s4(s.params.namespace,e)||s.params.namespace.length!==e.length+1||void 0!==t&&s.params.node!==t)return!0;let a=s.params.data;switch(a.event){case"message-start":{let e=s9(a);if("tool"===a.role){i.add(e);break}let t=sJ.local(),o=Object.assign(new tK.ChatModelStream(t.toAsyncIterable()),{namespace:s.params.namespace,node:s.params.node});n.set(e,{source:t,stream:o}),t.push(a),r.push(o);break}case"content-block-start":case"content-block-delta":case"content-block-finish":case"error":if(i.has(s9(a)))break;n.get(s9(a))?.source.push(a);break;case"message-finish":{let e=s9(a);if(i.delete(e))break;let t=n.get(e);t&&(t.source.push(a),t.source.close(),n.delete(e))}}return!0},finalize(){for(let[e,t]of n)t.source.push({event:"message-finish"}),t.source.close(),n.delete(e);i.clear(),r.close()},fail(e){for(let[t,r]of n)r.source.fail(e),n.delete(t);i.clear(),r.fail(e)}}}function at(e,t,r=0){let n=t.length+1;return{[Symbol.asyncIterator](){let i=e.iterate(r);return{async next(){for(;;){let e=await i.next();if(e.done)return{value:void 0,done:!0};let{ns:r,stream:s}=e.value;if(r.length===n&&s4(r,t))return{value:s,done:!1}}}}}}}function ar(e,t){let{createStream:r}=t,n=new Set;return{__native:!0,init:()=>({_discoveries:e._discoveries,subgraphs:at(e._discoveries,[],0)}),process(t){let i=t.params.namespace;if(0===i.length)return!0;let s=i.slice(0,1),a=s1(s);if(n.has(a))return!0;n.add(a);let o=r(s,e._discoveries.size,e._events.size);return e.register(s,o),e._discoveries.push({ns:s,stream:o}),!0}}}function an(e){let t=sJ.local();return{init:()=>({_valuesLog:t}),process:r=>!("values"===r.method&&r.params.namespace.length===e.length&&s4(r.params.namespace,e))||(t.push(r.params.data),!0),finalize(){t.close()},fail(e){t.fail(e)}}}function ai(e){return"__native"in e&&!0===e.__native}e.s(["createLifecycleTransformer",()=>s5,"filterLifecycleEntries",()=>s2],971499),e.s(["createMessagesTransformer",()=>ae],581740),e.s(["createSubgraphDiscoveryTransformer",()=>ar,"filterSubgraphHandles",()=>at],325076),e.s(["createValuesTransformer",()=>an],447702),e.s(["isNativeTransformer",()=>ai],49797);let as=Symbol("setValuesLog"),aa=Symbol("setMessagesIterable"),ao=Symbol("setLifecycleIterable"),al=Symbol("setSubgraphsIterable"),ac={[Symbol.asyncIterator]:()=>({next:()=>Promise.resolve({value:void 0,done:!0})})};var ah=class{path;extensions;_mux;#_;#y;#v;#b;#w;#k;#S;#x;#E;#C;constructor(e,t,r=0,n=0,i,s){this.path=e,this._mux=t,this.#y=r,this.#_=n,this.extensions=i??{},this.#v=s??new AbortController,this.#k=new Promise((e,t)=>{this.#b=e,this.#w=t}),this.#k.catch(()=>{})}[Symbol.asyncIterator](){return this._mux.subscribeEvents(this.path,this.#_)}get subgraphs(){return this.#C?this.#C:at(this._mux._discoveries,this.path,this.#y)}get values(){let e=this.#S,t=this.#k,r=this._mux,n=this.#_,i=this.path,s=e?e.toAsyncIterable():{[Symbol.asyncIterator]:()=>{let e=r.subscribeEvents(i,n);return{async next(){for(;;){let t=await e.next();if(t.done)return{value:void 0,done:!0};if("values"===t.value.method&&t.value.params.namespace.length===i.length)return{value:t.value.params.data,done:!1}}}}}};return{[Symbol.asyncIterator]:()=>s[Symbol.asyncIterator](),then:t.then.bind(t)}}get messages(){if(this.#x)return this.#x;let e=ae(this.path),t=e.init();return this._mux.addTransformer(e),this.#x=t.messages,this.#x}get lifecycle(){return this.#E??ac}messagesFrom(e){let t=ae(this.path,e),r=t.init();return this._mux.addTransformer(t),r.messages}get output(){return this.#k}get interrupted(){return this._mux.interrupted}get interrupts(){return this._mux.interrupts}abort(e){this.#v.abort(e)}get signal(){return this.#v.signal}[sY](e){this.#b?.(e),this.#b=void 0}[sQ](e){this.#w?.(e),this.#w=void 0}[as](e){this.#S=e}[aa](e){this.#x=e}[ao](e){this.#E=e}[al](e){this.#C=e}},au=class extends ah{name;index;constructor(e,t,r=0,n=0,i,s){super(e,t,r,n,i,s);const a=e[e.length-1]??"",o=a.lastIndexOf(":");if(o>=0){this.name=a.slice(0,o);const e=a.slice(o+1);this.index=/^\d+$/.test(e)?Number(e):0}else this.name=a,this.index=0}};function ap(e,t=[],r){let{abortController:n}=r instanceof AbortController?{abortController:r}:r??{},i=new sX,s=s5(),a=s.init(),o=a._lifecycleLog,l=ar(i,{createStream:(e,t,r)=>{let n=new au(e,i,t,r);return n[al](at(i._discoveries,e,t)),n[ao](s2(o,e,o.size)),n}}),c=l.init();i.addTransformer(l),i.addTransformer(s);let h=an([]),u=ae([]);i.addTransformer(h),i.addTransformer(u);let p={},d=[];for(let e of t){let t=e();i.addTransformer(t);let r=t.init();ai(t)?d.push(r):Object.assign(p,r),"object"!=typeof r||null===r||ai(t)||i.wireChannels(r)}let f=new ah([],i,0,0,p,n);for(let e of d)Object.assign(f,e);let m=h.init();f[as](m._valuesLog);let g=u.init();return f[aa](g.messages),f[ao](a.lifecycle),f[al](c.subgraphs),i.register([],f),s0(e,i).catch(e=>{}),f}e.s(["GraphRunStream",()=>ah,"SubgraphRunStream",()=>au,"createGraphRunStream",()=>ap],180073);var ad=tK;e.s(["ChatModelStreamImpl",()=>ad.ChatModelStream],620454);var ad=tK;let af=e=>BigInt(e),am=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),ag=af("0x9E3779B1"),a_=af("0x85EBCA77"),ay=af("0xC2B2AE3D"),av=af("0x9E3779B185EBCA87"),ab=af("0xC2B2AE3D27D4EB4F"),aw=af("0x165667B19E3779F9"),ak=af("0x85EBCA77C2B2AE63"),aS=af("0x27D4EB2F165667C5"),ax=af("0x165667919E3779F9"),aE=af("0x9FB21C651E98DF25"),aC=(e=>{let t=e.length;if(t%2!=0)throw Error("String should have an even number of characters");let r=t/2,n=new Uint8Array(r),i=0,s=0;for(;s<r;){let t=e.slice(i,i+=2);n[s]=Number.parseInt(t,16),s+=1}return am(n)})("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),aA=(af(1)<<af(128))-af(1),aO=(af(1)<<af(64))-af(1),aI=(af(1)<<af(32))-af(1);function aT(e){if(!e)throw Error("Assert failed")}function aj(e,t,r){for(let n=0;n<8;n+=1){let i=t.getBigUint64(8*n,!0),s=i^r.getBigUint64(8*n,!0);e[1^n]+=i,e[n]+=(s&aI)*(s>>af(32)&aI)&aO}return e}function aN(e,t,r,n){for(let i=0;i<n;i+=1)aj(e,am(t,64*i),am(r,8*i));return e}function aP(e,t){for(let n=0;n<8;n+=1){var r;let i=t.getBigUint64(8*n,!0),s=e[n];s=((r=s)^r>>af(47)^i)*ag,e[n]=s&aO}return e}function aM(e,t){return aR(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(8,!0))}function a$(e,t,r){let n=r;return n+=aM(e.slice(0),am(t,0)),n+=aM(e.slice(2),am(t,16)),n+=aM(e.slice(4),am(t,32)),aL((n+=aM(e.slice(6),am(t,48)))&aO)}function aR(e,t){let r=e*t&aA;return r&aO^r>>af(64)}function aF(e,t,r){return aR((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+r)&aO,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-r)&aO)}function aV(e,t,r,n,i){let s=e&aO,a=e>>af(64)&aO;return s+=aF(t,n,i),s^=r.getBigUint64(0,!0)+r.getBigUint64(8,!0),s&=aO,a+=aF(r,am(n,16),i),a^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),(a&=aO)<<af(64)|s}function aL(e){let t=e;return t^=t>>af(37),t*=ax,t&=aO,t^=t>>af(32)}function aD(e){let t=e;return t^=t>>af(33),t*=ab,t&=aO,t^=t>>af(29),t*=aw,t&=aO,t^=t>>af(32)}function aH(e){return~e+af(1)&aO}function aB(e,t=af(0)){let r,n,i=new TextEncoder,s=am("string"==typeof e?i.encode(e):e),a=s.byteLength,o=e=>e.toString(16).padStart(32,"0");return a<=16?o(function(e,t){var r,n,i,s,a,o,l,c;let h,u,p,d,f,m=e.byteLength;if(aT(m<=16),m>8){let n,i,s,a,o,l,c,h;return aT((n=e.byteLength)>=9&&n<=16),i=(aC.getBigUint64(32,!0)^aC.getBigUint64(40,!0))+t&aO,s=(aC.getBigUint64(48,!0)^aC.getBigUint64(56,!0))-t&aO,l=((o=(e.getBigUint64(0,!0)^(a=e.getBigUint64(n-8,!0))^i)*av)&aO)+(af(n-1)<<af(54)),o=o&(aA^aO)|l,a^=s,o+=a+(a&aI)*(a_-af(1))<<af(64),o&=aA,o^=(r=o>>af(64),(c=new DataView(new ArrayBuffer(8))).setBigUint64(0,r,!0),c.getBigUint64(0,!1)),aL((h=(o&aO)*ab+((o>>af(64))*ab<<af(64))&aA)&aO)|aL(h>>af(64))<<af(64)}if(m>=4){let r,s,a,o;return aT((r=e.byteLength)>=4&&r<=8),s=e.getUint32(0,!0),a=e.getUint32(r-4,!0),o=((af(s)|af(a)<<af(32))^(aC.getBigUint64(16,!0)^aC.getBigUint64(24,!0))+t&aO)*(av+(af(r)<<af(2)))&aA,o+=(o&aO)<<af(65),o&=aA,o^=o>>af(67),(i=((n=o&aO)^n>>af(35))*aE&aO)^i>>af(28)|aL(o>>af(64))<<af(64)}return m>0?(s=e,a=aC,o=t,aT((u=s.byteLength)>0&&u<=3),d=((p=af(s.getUint8(u-1))|af(u<<8)|af(s.getUint8(0)<<16)|af(s.getUint8(u>>1)<<24))^(af(a.getUint32(0,!0))^af(a.getUint32(4,!0)))+o)&aO,f=(af(a.getUint32(8,!0))^af(a.getUint32(12,!0)))-o,(aD((((l=h=((h=((h=p)&af(65535))<<af(16)|(h&af(0xffff0000))>>af(16))&af(0xff00ff))<<af(8)|(h&af(0xff00ff00))>>af(8))<<(c=af(13))|l>>af(32)-c)&aI^f)&aO)&aO)<<af(64)|aD(d)):aD(t^aC.getBigUint64(64,!0)^aC.getBigUint64(72,!0))|aD(t^aC.getBigUint64(80,!0)^aC.getBigUint64(88,!0))<<af(64)}(s,t)):a<=128?o(function(e,t,r){let n=af(e.byteLength)*av&aO,i=af(e.byteLength-1)/af(32);for(;i>=0;){let s=Number(i);n=aV(n,am(e,16*s),am(e,e.byteLength-16*(s+1)),am(t,32*s),r),i-=af(1)}let s=n+(n>>af(64))&aO;s=aL(s);let a=(n&aO)*av+(n>>af(64))*ak+(af(e.byteLength)-r&aO)*ab;return a&=aO,s|(a=aH(aL(a)))<<af(64)}(s,aC,t)):a<=240?o(function(e,t,r){let n=af(e.byteLength)*av&aO;for(let i=32;i<160;i+=32)n=aV(n,am(e,i-32),am(e,i-16),am(t,i-32),r);n=aL(n&aO)|aL(n>>af(64))<<af(64);for(let i=160;i<=e.byteLength;i+=32)n=aV(n,am(e,i-32),am(e,i-16),am(t,3+i-160),r);let i=(n=aV(n,am(e,e.byteLength-16),am(e,e.byteLength-32),am(t,103),aH(r)))+(n>>af(64))&aO;i=aL(i);let s=(n&aO)*av+(n>>af(64))*ak+(af(e.byteLength)-r&aO)*ab;return s&=aO,i|(s=aH(aL(s)))<<af(64)}(s,aC,t)):o((r=new BigUint64Array([ay,av,ab,aw,ak,a_,aS,ag]),aT(s.byteLength>128),aT(8*(r=function(e,t,r,n,i){let s=e,a=Math.floor((r.byteLength-64)/8),o=64*a,l=Math.floor((t.byteLength-1)/o);for(let e=0;e<l;e+=1)s=i(s=aN(s,am(t,e*o),r,a),am(r,r.byteLength-64));{let e=Math.floor((t.byteLength-1-o*l)/64);s=n(s=aN(s,am(t,l*o),r,e),am(t,t.byteLength-64),am(r,r.byteLength-64-7))}return s}(r,s,aC,aj,aP)).length==64),n=a$(r,am(aC,11),af(s.byteLength)*av&aO),a$(r,am(aC,aC.byteLength-64-11),~(af(s.byteLength)*ab)&aO)<<af(64)|n))}function aU(e){return/^[0-9a-f]{32}$/.test(e)}function aW(e){let t=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(!t)throw Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw Error("No configurable found in config");if(!n.__pregel_checkpointer)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let i=n[w];i.interruptCounter+=1;let s=i.interruptCounter;if(i.resume.length>0&&s<i.resume.length)return n[d]?.([[j,i.resume]]),i.resume[s];if(void 0!==i.nullResume){if(i.resume.length!==s)throw Error(`Resume length mismatch: ${i.resume.length} !== ${s}`);let e=i.consumeNullResume();return i.resume.push(e),n[d]?.([[j,i.resume]]),e}let a=n[x]?.split("|");throw new eo([{id:a?aB(a.join("|")):void 0,value:e}])}e.s(["interrupt",()=>aW],35915);var aq=ta,aG=class extends aq.Runnable{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((i,s)=>{let a=(0,r9.patchConfig)(t,{callbacks:n?.getChild()});r.AsyncLocalStorageProviderSingleton.runWithConfig(a,async()=>{try{i(await this.func(e,a))}catch(e){s(e)}})})}async invoke(e,t){let n,i=sF(t),s=(0,r9.mergeConfigs)(this.config,i);return(n=this.trace?await this._callWithConfig(this._tracedInvoke,e,s):await r.AsyncLocalStorageProviderSingleton.runWithConfig(s,async()=>this.func(e,s)),aq.Runnable.isRunnable(n)&&this.recurse)?await r.AsyncLocalStorageProviderSingleton.runWithConfig(s,async()=>n.invoke(e,s)):n}};function*aK(e,t){if(void 0===t)yield*e;else for(let r of e)yield[t,r]}async function az(e){let t=[];for await(let r of(await e))t.push(r);return t}function aJ(e){let t=[];for(let r of e)t.push(r);return t}function aZ(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function aY(e){return null!=e&&"function"==typeof e&&e instanceof Object.getPrototypeOf(async function*(){}).constructor}function aQ(e){return null!=e&&"function"==typeof e&&e instanceof Object.getPrototypeOf(function*(){}).constructor}let aX={[Symbol.for("LG_PASSTHROUGH")]:!0};function a0(e){return"object"==typeof e&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}let a1=Symbol("IS_WRITER");var a4=class e extends aG{writes;constructor(e,t){super({writes:e,name:`ChannelWrite<${e.map(e=>G(e)?e.node:"channel"in e?e.channel:"...").join(",")}>`,tags:t,trace:!1,func:async(e,t)=>this._write(e,t??{})}),this.writes=e}async _write(t,r){let n=this.writes.map(e=>a6(e)&&a0(e.value)?{mapper:e.mapper,value:t}:a2(e)&&a0(e.value)?{channel:e.channel,value:t,skipNone:e.skipNone,mapper:e.mapper}:e);return await e.doWrite(r,n),t}static async doWrite(e,t){for(let e of t){if(a2(e)){if("__pregel_tasks"===e.channel)throw new ev("Cannot write to the reserved channel TASKS");if(a0(e.value))throw new ev("PASSTHROUGH value must be replaced")}if(a6(e)&&a0(e.value))throw new ev("PASSTHROUGH value must be replaced")}let r=[];for(let n of t)if(G(n))r.push([F,n]);else if(a6(n)){let t=await n.mapper.invoke(n.value,e);null!=t&&t.length>0&&r.push(...t)}else if(a2(n)){let t=void 0!==n.mapper?await n.mapper.invoke(n.value,e):n.value;if("object"==typeof t&&t?.[Symbol.for("LG_SKIP_WRITE")]!==void 0||n.skipNone&&void 0===t)continue;r.push([n.channel,t])}else throw Error(`Invalid write entry: ${JSON.stringify(n)}`);(e.configurable?.[d])(r)}static isWriter(t){return t instanceof e||a1 in t&&!!t[a1]}static registerWriter(e){return Object.defineProperty(e,a1,{value:!0})}};function a2(e){return void 0!==e&&"string"==typeof e.channel}function a6(e){return void 0!==e&&!a2(e)&&ta.Runnable.isRunnable(e.mapper)}var a3=ta,a8=e.i(412852),a7=class e extends aG{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,r,n=!1){super({trace:!1,func:(t,r)=>e.doRead(r,this.channel,this.fresh,this.mapper)}),this.fresh=n,this.mapper=r,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(e,t,r,n){let i=e.configurable?.[m];if(!i)throw Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return n?n(i(t,r)):i(t,r)}};let a5=new a8.RunnablePassthrough;var a9=class e extends a3.RunnableBinding{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=a5;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;timeout;subgraphs;ends;isErrorHandler;errorHandlerNode;constructor(e){const{channels:t,triggers:r,mapper:n,writers:i,bound:s,kwargs:a,metadata:o,retryPolicy:l,cachePolicy:c,timeout:h,tags:u,subgraphs:p,ends:d,isErrorHandler:f,errorHandlerNode:m}=e,g=[...e.config?.tags?e.config.tags:[],...u??[]];super({...e,bound:e.bound??a5,config:{...e.config?e.config:{},tags:g}}),this.channels=t,this.triggers=r,this.mapper=n,this.writers=i??this.writers,this.bound=s??this.bound,this.kwargs=a??this.kwargs,this.metadata=o??this.metadata,this.tags=g,this.retryPolicy=l,this.cachePolicy=c,this.timeout=h,this.subgraphs=p,this.ends=d,this.isErrorHandler=f,this.errorHandlerNode=m}getWriters(){let e=[...this.writers];for(;e.length>1&&e[e.length-1]instanceof a4&&e[e.length-2]instanceof a4;){let t=e.slice(-2),r=t[0].writes.concat(t[1].writes);e[e.length-2]=new a4(r,t[0].config?.tags),e.pop()}return e}getNode(){let e=this.getWriters();if(this.bound!==a5||0!==e.length)return this.bound===a5&&1===e.length?e[0]:this.bound===a5?new a3.RunnableSequence({first:e[0],middle:e.slice(1,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):e.length>0?new a3.RunnableSequence({first:this.bound,middle:e.slice(0,e.length-1),last:e[e.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw Error("channels must be a list");if("object"!=typeof this.channels)throw Error("all channels must be named when using .join()");return new e({channels:{...this.channels,...Object.fromEntries(t.map(e=>[e,e]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}pipe(t){return new e(a4.isWriter(t)?{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}:this.bound===a5?{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:(0,a3._coerceToRunnable)(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout}:{channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy,timeout:this.timeout})}};function oe(e){return"lg_is_pregel"in e&&!0===e.lg_is_pregel}function ot(e){let t=[e];for(let e of t)if(oe(e))return e;else"steps"in e&&Array.isArray(e.steps)&&t.push(...e.steps)}function or(e,t,r=!0,n=!1){try{return e[t].get()}catch(e){if(e.name===ey.unminifiable_name){if(n)return e;else if(r)return null}throw e}}function on(e,t,r=!0){if(!Array.isArray(t))return or(e,t);{let n={};for(let i of t)try{n[i]=or(e,i,!r)}catch(e){if(e.name===ey.unminifiable_name)continue}return n}}function*oi(e,t){if(null!=t)if(Array.isArray(e)&&"object"==typeof t&&!Array.isArray(t))for(let r in t)e.includes(r)&&(yield[r,t[r]]);else if(Array.isArray(e))throw Error('Input chunk must be an object when "inputChannels" is an array');else yield[e,t]}function*os(e,t,r){Array.isArray(e)?(!0===t||t.find(([t,r])=>e.includes(t)))&&(yield on(r,e)):(!0===t||t.some(([t,r])=>t===e))&&(yield or(r,e))}function oa(e){let t=typeof e[a];if("number"===t)return 0;if("string"===t)return"";for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t))continue;let r=typeof e[t];if("number"===r)return 0;if("string"===r)return"";break}}function oo(e,t){if(!(Object.keys(e).length>0))return t;{let r=oa(t);return Object.fromEntries(Object.entries(t).filter(([t,n])=>n>(e[t]??r)))}}function ol(e,t){return null===e?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function oc(e,t){let r=t?.parents??{};return Object.keys(r).length>0?ol(e,{[A]:{...r,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function oh(...e){let t=[...new Set(e.filter(Boolean))];if(0===t.length)return{signal:void 0,dispose:void 0};if(1===t.length)return{signal:t[0],dispose:void 0};let r=new AbortController,n=()=>{let e=t.find(e=>e.aborted)?.reason;r.abort(e),t.forEach(e=>e.removeEventListener("abort",n))};t.forEach(e=>e.addEventListener("abort",n,{once:!0}));let i=t.find(e=>e.aborted);return i&&r.abort(i.reason),{signal:r.signal,dispose:()=>{t.forEach(e=>e.removeEventListener("abort",n))}}}var ou=class{func;name;input;retry;cache;timeout;callbacks;__lg_type="call";constructor({func:e,name:t,input:r,retry:n,cache:i,timeout:s,callbacks:a}){this.func=e,this.name=t,this.input=r,this.retry=n,this.cache=i,this.timeout=s,this.callbacks=a}};let op=e=>void 0!==e?e+1:1;function od(e,t,r){let n=oa(e.channel_versions),i=e.versions_seen.__interrupt__??{},s=!1;if((e.channel_versions.__start__??n)>(i.__start__??n))s=!0;else for(let t in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,t)&&e.channel_versions[t]>(i[t]??n)){s=!0;break}let a=r.some(e=>"*"===t?!e.config?.tags?.includes($):t.includes(e.name));return s&&a}function of(e,t,r,n,i=!1){let s,a=new Set;if(Array.isArray(n))a=new Set(n.filter(e=>r.writes.some(([t,r])=>t===e)));else{for(let[e]of r.writes)if(e===n){a=new Set([e]);break}a=a||new Set}if(i&&a.size>0){let i=Object.fromEntries(Object.entries(t).filter(([e,t])=>a.has(e))),o=new Set;for(let e in i){if(!Object.prototype.hasOwnProperty.call(i,e))continue;let t=i[e];sv(t)&&t.isAvailable()&&o.add(e)}let l=sC(e,i,-1,{channelsToSnapshot:o}),c=sx(i,l);oy(se(l),c,[r],void 0,void 0),s=on({...t,...c},n)}else s=on(t,n);return s}function om(e,t,r){for(let[e,n]of r)if(["__pregel_push","__pregel_tasks"].includes(e)&&null!=n){if(!G(n))throw new ev(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(n)}`);if(!(n.node in t))throw new ev(`Invalid node name "${n.node}" in Send packet`)}e(r)}let og=new Set([N,V,j,T,P,c,h]),o_=new Set(H);function oy(e,t,r,n,i){let s=new Map;for(let e of r)s.set(e,e.path?.slice(0,3)||[]);r.sort((e,t)=>{let r=s.get(e),n=s.get(t);for(let e=0;e<Math.min(r.length,n.length);e+=1){if(r[e]<n[e])return -1;if(r[e]>n[e])return 1}return r.length-n.length});let a=sS(t),o=!1,l=new Set;for(let t of r)for(let r of(t.triggers.length>0&&(o=!0),e.versions_seen[t.name]??={},t.triggers))r in e.channel_versions&&(e.versions_seen[t.name][r]=e.channel_versions[r]),o_.has(r)||l.add(r);let c=function(e){let t;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t=null==t?e[r]:sn(t,e[r]));return t}(e.channel_versions),h=!1;for(let t of l)t in a&&a[t].consume()&&void 0!==n&&(e.channel_versions[t]=n(c),h=!0);let u={};for(let e of r)for(let[t,r]of e.writes)og.has(t)||t in a&&(u[t]??=[],u[t].push(r));null!=c&&null!=n&&(c=h?n(c):c);let p=new Set;for(let[t,r]of Object.entries(u))if(t in a){let i,s=a[t];try{i=s.update(r)}catch(e){if(e.name===ev.unminifiable_name){let n=new ev(`Invalid update for channel "${t}" with values ${JSON.stringify(r)}: ${e.message}`);throw n.lc_error_code=e.lc_error_code,n}throw e}i&&void 0!==n&&(e.channel_versions[t]=n(c),s.isAvailable()&&p.add(t))}if(o)for(let t in a){if(!Object.prototype.hasOwnProperty.call(a,t))continue;let r=a[t];r.isAvailable()&&!p.has(t)&&r.update([])&&void 0!==n&&(e.channel_versions[t]=n(c),r.isAvailable()&&p.add(t))}if(o&&!function(e,t){if(null==t)return!1;for(let r of e)if(t[r])return!0;return!1}(p,i))for(let t in a){if(!Object.prototype.hasOwnProperty.call(a,t))continue;let r=a[t];r.finish()&&void 0!==n&&(e.channel_versions[t]=n(c),r.isAvailable()&&p.add(t))}return p}function ov(e,t,r,n,i,s,a){let o={},l=a.pendingWritesIndex?a:{...a,pendingWritesIndex:function(e){let t,r=new Map,n=new Set;if(e)for(let[i,s,a]of e){if("00000000-0000-0000-0000-000000000000"===i&&"__resume__"===s&&void 0===t&&(t=a),"__resume__"===s&&"00000000-0000-0000-0000-000000000000"!==i){let e=r.get(i);e||(e=[],r.set(i,e)),e.push(a)}"__error__"!==s&&n.add(i)}return{nullResume:t,resumeByTaskId:r,successfulWriteTaskIds:n}}(t)},c=n[F];if(c?.isAvailable()){let a=c.get().length;for(let c=0;c<a;c+=1){let a=ob([V,c],e,t,r,n,i,s,l);void 0!==a&&(o[a.id]=a)}}for(let a of function*(e,t,r){if(null!=r.updatedChannels&&null!=r.triggerToNodes){let e=new Set;for(let t of r.updatedChannels)for(let n of r.triggerToNodes[t]??[])e.add(n);yield*[...e].sort();return}if(!(()=>{for(let t in e.channel_versions)if(null!==e.channel_versions[t])return!1;return!0})())for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&(yield e)}(e,r,l)){let c=ob([L,a],e,t,r,n,i,s,l);void 0!==c&&(o[c.id]=c)}return o}function ob(e,t,r,n,i,s,a,o){var l,c,h;let{step:p,checkpointer:f,manager:_}=o,v=s.configurable??{},S=v.checkpoint_ns??"";if("__pregel_push"===e[0]&&"object"==typeof(l=e[e.length-1])&&null!==l&&"__lg_type"in l&&"call"===l.__lg_type){let l=e[e.length-1],x=(c=l.name,h=l.func,new ta.RunnableSequence({name:c,first:new aG({func:e=>h(...e),name:c,trace:!1,recurse:!1}),last:new a4([{channel:P,value:aX}],[$])})),E=[V],C=""===S?l.name:`${S}|${l.name}`,O=eI(JSON.stringify([C,p.toString(),l.name,V,e[1],e[2]]),t.id),I=`${C}:${O}`,T=[...e.slice(0,3),!0],j={langgraph_step:p,langgraph_node:l.name,langgraph_triggers:E,langgraph_path:T,langgraph_checkpoint_ns:I,checkpoint_ns:I};if(!a)return{id:O,name:l.name,interrupts:[],path:T};{let e=[],a={checkpointId:t.id,checkpointNs:I,taskId:O,threadId:v.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:l.name,input:l.input,proc:x,writes:e,config:{...(0,r9.patchConfig)((0,r9.mergeConfigs)(s,{metadata:j,store:o.store??s.store}),{runName:l.name,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:O,[d]:t=>om(t=>e.push(...t),n,t),[m]:(r,n=!1)=>of(t,i,{name:l.name,writes:e,triggers:E,path:T},r,n),[g]:f??v.__pregel_checkpointer,[A]:{...v[A],[S]:t.id},[w]:ow({pendingWrites:r??[],taskId:O,currentTaskInput:l.input,resumeMap:s.configurable?.[b],namespaceHash:aB(I),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:I}}),executionInfo:a},triggers:E,retry_policy:l.retry,cache_key:l.cache?{key:aB((l.cache.keyFunc??JSON.stringify)([l.input])),ns:[u,l.name??"__dynamic__"],ttl:l.cache.ttl}:void 0,id:O,path:T,writers:[],timeout:l.timeout}}}if("__pregel_push"===e[0]){let l="number"==typeof e[1]?e[1]:parseInt(e[1],10);if(!i.__pregel_tasks?.isAvailable())return;let c=i[F].get();if(l<0||l>=c.length)return;let h=W(c[l])&&!G(c[l])?new q(c[l].node,c[l].args,void 0!==c[l].timeout?{timeout:c[l].timeout}:void 0):c[l];if(!W(h))return void console.warn(`Ignoring invalid packet ${JSON.stringify(h)} in pending sends.`);if(!(h.node in n))return void console.warn(`Ignoring unknown node name ${h.node} in pending sends.`);let x=[V],E=""===S?h.node:`${S}|${h.node}`,C=eI(JSON.stringify([E,p.toString(),h.node,V,l.toString()]),t.id),O=`${E}:${C}`,I={langgraph_step:p,langgraph_node:h.node,langgraph_triggers:x,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:O,checkpoint_ns:O};if(!a)return{id:C,name:h.node,interrupts:[],path:e};{let a=n[h.node],l=a.getNode();if(void 0!==l){void 0!==a.metadata&&(I={...I,...a.metadata});let c=[],E={checkpointId:t.id,checkpointNs:O,taskId:C,threadId:v.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:h.node,input:h.args,proc:l,subgraphs:a.subgraphs,writes:c,config:{...(0,r9.patchConfig)((0,r9.mergeConfigs)(s,{metadata:I,tags:a.tags,store:o.store??s.store}),{runName:h.node,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:C,[d]:e=>om(e=>c.push(...e),n,e),[m]:(r,n=!1)=>of(t,i,{name:h.node,writes:c,triggers:x,path:e},r,n),[g]:f??v.__pregel_checkpointer,[A]:{...v[A],[S]:t.id},[w]:ow({pendingWrites:r??[],taskId:C,currentTaskInput:h.args,resumeMap:s.configurable?.[b],namespaceHash:aB(O),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:E},triggers:x,retry_policy:a.retryPolicy,cache_key:a.cachePolicy?{key:aB((a.cachePolicy.keyFunc??JSON.stringify)([h.args])),ns:[u,a.name??"__dynamic__",h.node],ttl:a.cachePolicy.ttl}:void 0,id:C,path:e,writers:a.getWriters(),timeout:h.timeout??a.timeout}}}}else if("__pregel_pull"===e[0]){let l=e[1].toString(),c=n[l];if(void 0===c)return;if(r?.length){let e=eI(JSON.stringify([""===S?l:`${S}|${l}`,p.toString(),l,L,l]),t.id);if(o.pendingWritesIndex?o.pendingWritesIndex.successfulWriteTaskIds.has(e):r.some(t=>t[0]===e&&"__error__"!==t[1]))return}let h=oa(t.channel_versions);if(void 0===h)return;let x=t.versions_seen[l]??{},E=c.triggers.find(e=>!!i[e].isAvailable()&&(t.channel_versions[e]??h)>(x[e]??h));if(void 0!==E){let h=function(e,t,r){let n;if("object"!=typeof e.channels||Array.isArray(e.channels))if(Array.isArray(e.channels)){let r=!1;for(let i of e.channels)try{n=or(t,i,!1),r=!0;break}catch(e){if(e.name===ey.unminifiable_name)continue;throw e}if(!r)return}else throw Error(`Invalid channels type, expected list or dict, got ${e.channels}`);else for(let[r,i]of(n={},Object.entries(e.channels)))if(e.triggers.includes(i))try{n[r]=or(t,i,!1)}catch(e){if(e.name===ey.unminifiable_name)return;throw e}else if(i in t)try{n[r]=or(t,i,!1)}catch(e){if(e.name===ey.unminifiable_name)continue;throw e}return r&&void 0!==e.mapper&&(n=e.mapper(n)),n}(c,i,a);if(void 0===h)return;let x=""===S?l:`${S}|${l}`,C=eI(JSON.stringify([x,p.toString(),l,L,[E]]),t.id),O=`${x}:${C}`,I={langgraph_step:p,langgraph_node:l,langgraph_triggers:[E],langgraph_path:e,langgraph_checkpoint_ns:O,checkpoint_ns:O};if(!a)return{id:C,name:l,interrupts:[],path:e};{let a=c.getNode();if(void 0!==a){void 0!==c.metadata&&(I={...I,...c.metadata});let x=[],T={checkpointId:t.id,checkpointNs:O,taskId:C,threadId:v.thread_id,runId:null!=s.runId?String(s.runId):void 0,nodeAttempt:1};return{name:l,input:h,proc:a,subgraphs:c.subgraphs,writes:x,config:{...(0,r9.patchConfig)((0,r9.mergeConfigs)(s,{metadata:I,tags:c.tags,store:o.store??s.store}),{runName:l,callbacks:_?.getChild(`graph:step:${p}`),configurable:{[y]:C,[d]:e=>om(e=>{x.push(...e)},n,e),[m]:(r,n=!1)=>of(t,i,{name:l,writes:x,triggers:[E],path:e},r,n),[g]:f??v.__pregel_checkpointer,[A]:{...v[A],[S]:t.id},[w]:ow({pendingWrites:r??[],taskId:C,currentTaskInput:h,resumeMap:s.configurable?.[b],namespaceHash:aB(O),pendingWritesIndex:o.pendingWritesIndex}),[k]:t.channel_values[M],checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:T},triggers:[E],retry_policy:c.retryPolicy,cache_key:c.cachePolicy?{key:aB((c.cachePolicy.keyFunc??JSON.stringify)([h])),ns:[u,c.name??"__dynamic__",l],ttl:c.cachePolicy.ttl}:void 0,id:C,path:e,writers:c.getWriters(),timeout:c.timeout}}}}}}function ow({pendingWrites:e,taskId:t,currentTaskInput:r,resumeMap:n,namespaceHash:i,pendingWritesIndex:s}){let a=s?s.nullResume:e.find(([e,t])=>"00000000-0000-0000-0000-000000000000"===e&&"__resume__"===t)?.[2],o={callCounter:0,interruptCounter:-1,resume:(()=>{let r=s?(s.resumeByTaskId.get(t)??[]).flat():e.filter(([e,r])=>e===t&&"__resume__"===r).flatMap(([e,t,r])=>r);if(null!=n&&i in n){let e=n[i];r.push(e)}return r})(),nullResume:a,subgraphCounter:0,currentTaskInput:r,consumeNullResume:()=>{if(o.nullResume)return delete o.nullResume,e.splice(e.findIndex(([e,t])=>"00000000-0000-0000-0000-000000000000"===e&&"__resume__"===t),1),a}};return o}let ok={start:"\x1b[34m",end:"\x1b[0m"},oS={start:"\x1b[32m",end:"\x1b[0m"},ox={start:"\x1b[33;1m",end:"\x1b[0m"},oE=(e,t)=>`${e.start}${t}${e.end}`;function*oC(e){for(let{id:t,name:r,input:n,config:i,triggers:s,writes:a}of e)i?.tags?.includes("langsmith:hidden")||(yield{id:t,name:r,input:n,triggers:s,interrupts:a.filter(([e,r])=>e===t&&"__interrupt__"===r).map(([,e])=>e)})}function oA(e){let t={};for(let[n,i]of e){let e=String(n);if(e in t){var r;let n="object"==typeof(r=t[e])&&null!==r&&"$writes"in r&&Array.isArray(r.$writes)?t[e].$writes:[t[e]];n.push(i),t[e]={$writes:n}}else t[e]=i}return t}function oO(e,t,r,n){return e.map(e=>{let i=t.find(([t,r])=>t===e.id&&"__error__"===r)?.[2],s=t.filter(([t,r])=>t===e.id&&"__interrupt__"===r).map(([,,e])=>e),a=(()=>{if(i||s.length||!t.length)return;let r=t.findIndex(([t,r])=>t===e.id&&"__return__"===r);if(r>=0)return t[r][2];if("string"==typeof n)return t.find(([t,r])=>t===e.id&&r===n)?.[2];if(Array.isArray(n)){let r=t.filter(([t,r])=>t===e.id&&n.includes(r)).map(([,e,t])=>[e,t]);if(!r.length)return;return oA(r)}})();if(i)return{id:e.id,name:e.name,path:e.path,error:i,interrupts:s,result:a};let o=r?.[e.id];return{id:e.id,name:e.name,path:e.path,interrupts:s,...void 0!==o?{state:o}:{},result:a}})}function oI(e,t){let r=t.length;console.log([`${oE(ok,`[${e}:tasks]`)}`,`\x1b[1m Starting step ${e} with ${r} task${1===r?"":"s"}:\x1b[0m
80
+ `,t.map(e=>`- ${oE(oS,String(e.name))} -> ${JSON.stringify(e.input,null,2)}`).join("\n")].join(""))}var oT=e0,oj=ez,oN=class extends oT.IterableReadableStream{_abortController;_innerReader;constructor(e,t){const r=e.getReader(),n=t??new AbortController;super({start:e=>(function t(){return r.read().then(({done:r,value:n})=>r?void e.close():(e.enqueue(n),t()))})()}),this._abortController=n,this._innerReader=r}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock()}get signal(){return this._abortController.signal}},oP=class extends oT.IterableReadableStream{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t;const r=new Promise(e=>{t=e});super({start:e=>{t(e)}}),r.then(e=>{this.controller=e}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){!this._closed&&this.controller&&(this.passthroughFn?.(e),this.controller.enqueue(e))}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){try{this.controller?.error(e)}finally{this._closed=!0}}},oM=class extends oj.BaseCallbackHandler{name="StreamToolsHandler";awaitHandlers=!0;streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,r,n,i,s,a,o){if(!s||i&&i.includes("langsmith:hidden"))return;let l=s.langgraph_checkpoint_ns?.split("|")??[],c={ns:l,toolCallId:o,toolName:a??"unknown",input:t};this.runs[r]=c,this.streamFn([l,"tools",{event:"on_tool_start",toolCallId:c.toolCallId,name:c.toolName,input:t}])}handleToolEvent(e,t){let r=this.runs[t];r&&this.streamFn([r.ns,"tools",{event:"on_tool_event",toolCallId:r.toolCallId,name:r.toolName,data:e}])}handleToolEnd(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_end",toolCallId:r.toolCallId,name:r.toolName,output:e}])}handleToolError(e,t){let r=this.runs[t];delete this.runs[t],r&&this.streamFn([r.ns,"tools",{event:"on_tool_error",toolCallId:r.toolCallId,name:r.toolName,error:e}])}};function o$(e){return"object"==typeof e&&null!=e&&"configurable"in e&&"object"==typeof e.configurable&&null!=e.configurable}function oR(e){return o$(e)&&e.configurable.thread_id?{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}:null}function oF(e){if(o$(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([e])=>!e.startsWith("__"))),r={...e,configurable:t};return delete r.callbacks,r}return e}function oV(e){let t={...e,checkpoint:oR(e.config),parent_checkpoint:oR(e.parentConfig),config:oF(e.config),parent_config:oF(e.parentConfig),tasks:e.tasks.map(e=>{if(o$(e.state)){let t=oR(e.state);if(null!=t){let r={...e,checkpoint:t};return delete r.state,r}}return e})};return delete t.parentConfig,t}var oL=class{checkpointId;#A=new Set;constructor(e){this.checkpointId=e}#O(e){let t=e.includes(":")?e.slice(0,e.lastIndexOf(":")):e;return!this.#A.has(t)&&(this.#A.add(t),!0)}async getCheckpoint(e,t,r){if(this.#O(e)){let e=[];for await(let n of t.list(r,{before:{configurable:{checkpoint_id:this.checkpointId}},limit:1}))e.push(n);return e.length>0?e[0]:void 0}return await t.getTuple(r)??void 0}};let oD=Symbol.for("INPUT_DONE"),oH=Symbol.for("INPUT_RESUMING");function oB(e){return void 0===e||""===e?[]:e.split("|")}var oU=class extends sy{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let r=this.queue.then(()=>this.cache[e](...t));return this.queue=r.then(()=>void 0,()=>void 0),r}},oW=class e{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;_exitDeltaWrites;_hasPersistedParent=!1;_initialCheckpointConfig;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";control;tasks={};stream;checkpointerPromises=new Set;isNested;resumeAtHead;_checkpointerChainedPromise=Promise.resolve();_trackCheckpointerPromise(e){let t=e.then(e=>(this.checkpointerPromises.delete(t),e),e=>{throw e});this.checkpointerPromises.add(t)}store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let e=!1;if("__start__"in this.checkpoint.channel_versions)e=!0;else for(let t in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,t)){e=!0;break}let t=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,r=null===this.input||void 0===this.input,n=X(this.input)&&null!=this.input.resume,i=this.input===oH,s=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return e&&(t||r||n||i||s)}get isReplaying(){return!this.skipDoneTasks}constructor(e){this.input=e.input,this.checkpointer=e.checkpointer,void 0!==this.checkpointer?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=op,this.checkpoint=e.checkpoint,this.checkpointMetadata=e.checkpointMetadata,this.checkpointPreviousVersions=e.checkpointPreviousVersions,this.channels=e.channels,this.checkpointPendingWrites=e.checkpointPendingWrites,this.step=e.step,this.stop=e.stop,this.config=e.config,this.checkpointConfig=e.checkpointConfig,this.isNested=e.isNested,this.resumeAtHead=e.resumeAtHead,this.manager=e.manager,this.outputKeys=e.outputKeys,this.streamKeys=e.streamKeys,this.nodes=e.nodes,this.skipDoneTasks=e.skipDoneTasks,this.store=e.store,this.cache=e.cache?new oU(e.cache):void 0,this.stream=e.stream,this.checkpointNamespace=e.checkpointNamespace,this.prevCheckpointConfig=e.prevCheckpointConfig,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.durability=e.durability,this.debug=e.debug,this.triggerToNodes=e.triggerToNodes,this.control=this.config.control,this._exitDeltaWrites="exit"===this.durability&&null!=this.checkpointer?[]:void 0,this._hasPersistedParent=e.hasPersistedParent??!1,this._initialCheckpointConfig=e.checkpointConfig,this.checkpointIdSaved=e.checkpoint.id}static async initialize(t){let r,{config:n,stream:i}=t;void 0!==i&&n.configurable?.__pregel_stream!==void 0&&(i=function(...e){return new oP({passthroughFn:t=>{let r="checkpoints"===t[1]&&sG(t[2]);for(let n of e)(n.modes.has(t[1])||r)&&n.push(t)},modes:new Set(e.flatMap(e=>Array.from(e.modes)))})}(i,n.configurable[v]));let s=!n.configurable||!("checkpoint_id"in n.configurable),a=n.configurable?.[w];n.configurable&&a&&(a.subgraphCounter>0&&(n=ol(n,{[x]:[n.configurable[x],a.subgraphCounter.toString()].join("|")})),a.subgraphCounter+=1);let o=n.configurable?.checkpoint_id,l=m in(n.configurable??{});l||n.configurable?.checkpoint_ns===void 0||n.configurable?.checkpoint_ns===""||(n=ol(n,{checkpoint_ns:"",checkpoint_id:void 0}));let c=n;n.configurable?.checkpoint_id===void 0&&n.configurable?.checkpoint_map!==void 0&&n.configurable?.checkpoint_map?.[n.configurable?.checkpoint_ns]&&(c=ol(n,{checkpoint_id:n.configurable[A][n.configurable?.checkpoint_ns]}));let h=oB(n.configurable?.checkpoint_ns);t.checkpointer?c.configurable?.checkpoint_id?r=await t.checkpointer.getTuple(c):n.configurable?.__pregel_replay_state?(r=await n.configurable[O].getCheckpoint(n.configurable?.checkpoint_ns??"",t.checkpointer,c),n.configurable&&delete n.configurable[_]):r=await t.checkpointer.getTuple(c):r=void 0;let u=void 0!==r;r||(r={config:n,checkpoint:i9(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]}),c={...n,...r.config,configurable:{checkpoint_ns:"",...n.configurable,...r.config.configurable}};let p=r.parentConfig,d=se(r.checkpoint),f={...r.metadata},g=r.pendingWrites??[],y=n.configurable?.checkpoint_ns,b=n.configurable?.[A];"string"==typeof y&&""!==y&&"object"==typeof b&&null!==b&&y in b&&g.length>0&&(g=g.filter(([,e])=>e!==j));let k=!1,S=c.configurable?.thread_id,E=c.configurable?.checkpoint_ns??"";t.checkpointer&&o&&"string"==typeof S&&(k=(await t.checkpointer.getTuple({configurable:{thread_id:S,checkpoint_ns:E}}))?.config.configurable?.checkpoint_id===o&&"update"!==f.source&&"fork"!==f.source);let C=await sA(t.channelSpecs,d,{saver:t.checkpointer,config:c}),I=(f.step??0)+1,T=I+(n.recursionLimit??25)+1,N={...d.channel_versions},P=t.store?new sf(t.store):void 0;return P&&await P.start(),new e({input:t.input,config:n,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:f,checkpointConfig:c,prevCheckpointConfig:p,checkpointNamespace:h,channels:C,isNested:l,resumeAtHead:k,manager:t.manager,skipDoneTasks:s,step:I,stop:T,checkpointPreviousVersions:N,checkpointPendingWrites:g,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:i,store:P,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes,hasPersistedParent:u})}_checkpointerPutAfterPrevious(e){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(e.config,e.checkpoint,e.metadata,e.newVersions)),this._trackCheckpointerPromise(this._checkpointerChainedPromise)}putWrites(e,t){let r=t;if(0===r.length)return;r.every(([e])=>e in si)&&(r=Array.from(new Map(r.map(e=>[e[0],e])).values()));let n=!1;for(let e in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,e)&&"UntrackedValue"===this.channels[e].lc_graph_name){n=!0;break}let i=r;for(let[t,s]of(n&&(i=r.filter(([e])=>{let t=this.channels[e];return!t||"UntrackedValue"!==t.lc_graph_name}).map(([e,t])=>"__pregel_tasks"===e&&G(t)?[e,function(e,t){if("object"!=typeof e.args||null===e.args)return e;let r={};for(let[n,i]of Object.entries(e.args)){let e=t[n];e&&"UntrackedValue"===e.lc_graph_name||(r[n]=i)}return new q(e.node,r)}(t,this.channels)]:[e,t])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(t=>t[0]!==e),i))this.checkpointPendingWrites.push([e,t,s]);for(let[e,t]of i){let r=this.channels[e];null!=r&&sv(r)&&function e(t){if(null!=t&&"object"==typeof t){if(rD.BaseMessage.isInstance(t)){null==t.id&&(t.id=(0,eE.v4)(),null!=t.lc_kwargs&&(t.lc_kwargs.id=t.id));return}if(Array.isArray(t)){for(let r of t)e(r);return}}}(t)}let s=ol(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:this.checkpoint.id});if("exit"!==this.durability&&null!=this.checkpointer&&this._trackCheckpointerPromise(this.checkpointer.putWrites(s,i,e)),this.tasks&&this._outputWrites(e,r),!t.length||!this.cache||!this.tasks)return;let a=this.tasks[e];null==a||null==a.cache_key||"__error__"!==t[0][0]&&"__interrupt__"!==t[0][0]&&this.cache.set([{key:[a.cache_key.ns,a.cache_key.key],value:a.writes,ttl:a.cache_key.ttl}])}_outputWrites(e,t,r=!1){let n=this.tasks[e];if(void 0!==n){if(void 0!==n.config&&(n.config.tags??[]).includes("langsmith:hidden"))return;if(t.length>0)if("__interrupt__"===t[0][0]){if(n.path?.[0]==="__pregel_push"&&n.path?.[n.path.length-1]===!0)return;let e=t.filter(e=>e[0]===T).flatMap(e=>e[1]);this._emit([["updates",{[T]:e}],["values",{[T]:e}]])}else"__error__"!==t[0][0]&&this._emit(aJ(aK(function*(e,t,r){let n,i=t.filter(([e,t])=>(void 0===e.config||!e.config.tags?.includes("langsmith:hidden"))&&"__error__"!==t[0][0]&&"__interrupt__"!==t[0][0]);if(!i.length)return;n=i.some(([e])=>e.writes.some(([e,t])=>"__return__"===e))?i.flatMap(([e])=>e.writes.filter(([e,t])=>e===P).map(([t,r])=>[e.name,r])):Array.isArray(e)?i.flatMap(([t])=>{let{writes:r}=t,n={};for(let[t]of r)e.includes(t)&&(n[t]=(n[t]||0)+1);return Object.values(n).some(e=>e>1)?r.filter(([t])=>e.includes(t)).map(([e,r])=>[t.name,{[e]:r}]):[[t.name,Object.fromEntries(r.filter(([t])=>e.includes(t)))]]}):i.flatMap(([t])=>t.writes.filter(([t,r])=>t===e).map(([e,r])=>[t.name,r]));let s={};for(let[e,t]of n)e in s||(s[e]=[]),s[e].push(t);let a={};for(let e in s)if(1===s[e].length){let[t]=s[e];a[e]=t}else a[e]=s[e];r&&(a.__metadata__={cached:r}),yield a}(this.outputKeys,[[n,t]],r),"updates")));r||this._emit(aJ(aK(function*(e,t){for(let[{id:r,name:n,config:i},s]of e)i?.tags?.includes("langsmith:hidden")||(yield{id:r,name:n,result:oA(s.filter(([e])=>Array.isArray(t)?t.includes(e):e===t)),interrupts:s.filter(e=>e[0]===T).map(e=>e[1])})}([[n,t]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let e=[],t=([e,t])=>`ns:${e.join(",")}|key:${t}`,r=[],n={};for(let e of Object.values(this.tasks))null==e.cache_key||e.writes.length||(r.push([e.cache_key.ns,e.cache_key.key]),n[t([e.cache_key.ns,e.cache_key.key])]=e);if(0===r.length)return[];for(let{key:i,value:s}of(await this.cache.get(r))){let r=n[t(i)];null!=r&&(r.writes.push(...s),e.push({task:r,result:s}))}return e}async tick(e){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:t=[]}=e;if("pending"!==this.status)throw Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if([oD,oH].includes(this.input))if(this.toInterrupt.length>0)throw this.status="interrupt_before",new eo;else{if(!Object.values(this.tasks).every(e=>e.writes.length>0))return!1;let e=Object.values(this.tasks),t=e.flatMap(e=>e.writes);this.updatedChannels=oy(this.checkpoint,this.channels,e,this.checkpointerGetNextVersion,this.triggerToNodes);let r=await az(aK(os(this.outputKeys,t,this.channels),"values"));if(void 0!==this._exitDeltaWrites)for(let[e,t,r]of this.checkpointPendingWrites){let n=this.channels[t];null!=n&&sv(n)&&this._exitDeltaWrites.push([this.step,e,t,r])}if(this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),this._emitValuesWithCheckpointMeta(r),od(this.checkpoint,this.interruptAfter,e))throw this.status="interrupt_after",new eo;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[_]}else await this._first(t);if(this.step>this.stop)return this.status="out_of_steps",!1;this.tasks=ov(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels});let r=Object.values(this.tasks);if(this.checkpointer&&(this.stream.modes.has("checkpoints")||this.stream.modes.has("debug"))&&this._emit(await az(aK(function*(e,t,r,n,i,s,a,o){function l(e){let t={};return null!=e.callbacks&&(t.callbacks=e.callbacks),null!=e.configurable&&(t.configurable=e.configurable),null!=e.maxConcurrency&&(t.max_concurrency=e.maxConcurrency),null!=e.metadata&&(t.metadata=e.metadata),null!=e.recursionLimit&&(t.recursion_limit=e.recursionLimit),null!=e.runId&&(t.run_id=e.runId),null!=e.runName&&(t.run_name=e.runName),null!=e.tags&&(t.tags=e.tags),t}let c=e.configurable?.checkpoint_ns,h={};for(let t of i){if(!(t.subgraphs?.length?t.subgraphs:[t.proc]).find(ot))continue;let r=`${t.name}:${t.id}`;c&&(r=`${c}|${r}`),h[t.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:r}}}yield{config:l(e),values:on(t,r),metadata:n,next:i.map(e=>e.name),tasks:oO(i,s,h,o),parentConfig:a?l(a):void 0}}(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,r,this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),0===r.length)return this.status="done",!1;if(null!=this.control&&this.control.drainRequested)return this.status="draining",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[e,t,n]of this.checkpointPendingWrites){if("__error__"===t||"__error_source_node__"===t||"__interrupt__"===t||"__resume__"===t)continue;let i=r.find(t=>t.id===e);i&&i.writes.push([t,n])}for(let e of(this._resumeErrorHandlersIfApplicable(),r=Object.values(this.tasks)))e.writes.length>0&&this._outputWrites(e.id,e.writes,!0)}if(r.every(e=>e.writes.length>0))return this.tick({inputKeys:t});if(od(this.checkpoint,this.interruptBefore,r))throw this.status="interrupt_before",new eo;if(this.stream.modes.has("tasks")||this.stream.modes.has("debug")){let e=await az(aK(oC(r),"tasks"));this._emit(e)}return!0}async finishAndHandleError(e){"exit"===this.durability&&(!this.isNested||void 0!==e||this.checkpointNamespace.every(e=>!e.includes(":")))&&(await this._putExitDeltaWrites(),this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let t=this._suppressInterrupt(e);return(t||void 0===e)&&(this.output=on(this.channels,this.outputKeys)),t&&(void 0!==this.tasks&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(e=>e.writes.length>0)&&(this.updatedChannels=oy(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emitValuesWithCheckpointMeta(aJ(aK(os(this.outputKeys,Object.values(this.tasks).flatMap(e=>e.writes),this.channels),"values")))),ef(e)&&!e.interrupts.length&&this._emit([["updates",{[T]:[]}],["values",{[T]:[]}]],this.#I())),t}async acceptPush(e,t,r){if(this.interruptAfter?.length>0&&od(this.checkpoint,this.interruptAfter,[e]))return void this.toInterrupt.push(e);let n=ob([V,e.path??[],t,e.id,r],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,e.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(n){if(this.interruptBefore?.length>0&&od(this.checkpoint,this.interruptBefore,[n]))return void this.toInterrupt.push(n);for(let{task:e}of((this.stream.modes.has("tasks")||this.stream.modes.has("debug"))&&this._emit(aJ(aK(oC([n]),"tasks"))),this.debug&&oI(this.step,[n]),this.tasks[n.id]=n,this.skipDoneTasks&&this._matchWrites({[n.id]:n}),await this._matchCachedWrites()))this._outputWrites(e.id,e.writes,!0);return n}}getErrorHandlerNode(e){return this.nodes[e]?.errorHandlerNode}isErrorHandlerNode(e){return this.nodes[e]?.isErrorHandler===!0}scheduleErrorHandler(e,t){let r=this.getErrorHandlerNode(String(e.name));if(!r)return;let n=function(e,t,r,n,i,s,a,o,l){let{step:c,checkpointer:h,manager:u}=l,p=s[t];if(void 0===p)return;let f=p.getNode();if(void 0===f)return;let _=o.configurable??{},v=_.checkpoint_ns??"",S=[V],x=""===v?t:`${v}|${t}`,E=eI(JSON.stringify([x,c.toString(),t,V,"node_error_handler",e.id]),n.id),O=`${x}:${E}`,I=[V,String(e.name),t,!1],T={langgraph_step:c,langgraph_node:t,langgraph_triggers:S,langgraph_path:I,langgraph_checkpoint_ns:O,checkpoint_ns:O};void 0!==p.metadata&&(T={...T,...p.metadata});let j=[],N={checkpointId:n.id,checkpointNs:O,taskId:E,threadId:_.thread_id,runId:null!=o.runId?String(o.runId):void 0,nodeAttempt:1};return{name:t,input:e.input,proc:f,subgraphs:p.subgraphs,writes:j,config:{...(0,r9.patchConfig)((0,r9.mergeConfigs)(o,{metadata:T,tags:p.tags,store:l.store??o.store}),{runName:t,callbacks:u?.getChild(`graph:step:${c}`),configurable:{[y]:E,[d]:e=>om(e=>j.push(...e),s,e),[m]:(e,r=!1)=>of(n,a,{name:t,writes:j,triggers:S,path:I},e,r),[g]:h??_.__pregel_checkpointer,[A]:{..._[A],[v]:n.id},[w]:ow({pendingWrites:i??[],taskId:E,currentTaskInput:e.input,resumeMap:o.configurable?.[b],namespaceHash:aB(O)}),[k]:n.channel_values[M],[C]:new ec(String(e.name),r),checkpoint_id:void 0,checkpoint_ns:O}}),executionInfo:N},triggers:S,retry_policy:p.retryPolicy,cache_key:void 0,id:E,path:I,writers:p.getWriters()}}(e,r,t,this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,e.config??this.config,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(void 0!==n)return this.tasks[n.id]=n,this._emit(aJ(aK(oC([n]),"tasks"))),this.debug&&oI(this.step,[n]),n}_resumeErrorHandlersIfApplicable(){let e=new Map;for(let[t,r]of this.checkpointPendingWrites){if("__error_source_node__"!==r)continue;let n=this.checkpointPendingWrites.find(([e,r])=>e===t&&"__error__"===r);if(void 0===n)continue;let i=n[2],s=Error(i?.message??String(i));i?.name&&(s.name=i.name),e.set(t,s)}for(let[t,r]of e){let e=this.tasks[t];void 0!==e&&this.getErrorHandlerNode(String(e.name))&&(0===e.writes.length&&e.writes.push([c,{message:r.message,name:r.name}]),this.scheduleErrorHandler(e,r))}}_suppressInterrupt(e){return ef(e)&&!this.isNested}async _first(e){let{configurable:t}=this.config,r=t?.[w];if(r&&void 0!==r.nullResume&&this.putWrites(D,[[j,r.nullResume]]),X(this.input)){let e=null!=this.input.resume;if(null!=this.input.resume&&"object"==typeof this.input.resume&&Object.keys(this.input.resume).every(aU)&&(this.config.configurable??={},this.config.configurable[b]=this.input.resume),e&&null==this.checkpointer)throw Error("Cannot use Command(resume=...) without checkpointer");let t={};for(let[e,r,n]of function*(e,t){if(e.graph===Q.PARENT)throw new ev("There is no parent graph.");if(e.goto){for(let t of Array.isArray(e.goto)?e.goto:[e.goto])if(G(t))yield[D,F,t];else if("string"==typeof t)yield[D,`branch:to:${t}`,"__start__"];else throw Error(`In Command.send, expected Send or string, got ${typeof t}`)}if(e.resume)if("object"==typeof e.resume&&Object.keys(e.resume).length&&Object.keys(e.resume).every(aU))for(let[r,n]of Object.entries(e.resume)){let e=t.filter(e=>e[0]===r&&"__resume__"===e[1]).map(e=>e[2]).slice(0,1)??[];e.push(n),yield[r,j,e]}else yield[D,j,e.resume];if(e.update){if("object"!=typeof e.update||!e.update)throw Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[t,r]of e.update)yield[D,t,r];else for(let[t,r]of Object.entries(e.update))yield[D,t,r]}}(this.input,this.checkpointPendingWrites))t[e]??=[],t[e].push([r,n]);if(0===Object.keys(t).length)throw new e_("Received empty Command input");for(let[e,r]of Object.entries(t))this.putWrites(e,r)}let n=(this.checkpointPendingWrites??[]).filter(e=>e[0]===D).map(e=>e.slice(1));n.length>0&&oy(this.checkpoint,this.channels,[{name:l,writes:n,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let i=X(this.input),s=i&&n.length>0,a=this.isReplaying&&(this.isNested&&t?.checkpoint_ns!==void 0&&t?.checkpoint_ns!==""&&t?.checkpoint_map!==void 0&&t.checkpoint_ns in t.checkpoint_map||!(i&&null!=this.input.resume||t?.__pregel_resuming===!0||this.resumeAtHead));a&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(e=>e[1]!==j));let o=this.isResuming;if(o||s){let e={...this.checkpoint.versions_seen[T]};for(let t in this.channels)Object.prototype.hasOwnProperty.call(this.channels,t)&&void 0!==this.checkpoint.channel_versions[t]&&(e[t]=this.checkpoint.channel_versions[t]);this.checkpoint.versions_seen[T]=e,a&&"update"!==this.checkpointMetadata.source&&"fork"!==this.checkpointMetadata.source&&(this.checkpointPendingWrites=this.checkpointPendingWrites.filter(e=>e[1]!==T),await this._putCheckpoint({source:"fork"}));let t=await az(aK(os(this.outputKeys,!0,this.channels),"values"));o?this.input=oH:s&&(await this._putCheckpoint({source:"input"}),this.input=oD),this._emitValuesWithCheckpointMeta(t)}else{let t=await az(oi(e,this.input));if(t.length>0){let e=ov(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=oy(this.checkpoint,this.channels,Object.values(e).concat([{name:l,writes:t,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes);let r=t.filter(([e])=>{let t=this.channels[e];return null!=t&&sv(t)});if(r.length>0)if(void 0!==this._exitDeltaWrites)for(let[e,t]of r)this._exitDeltaWrites.push([this.step,D,e,t]);else null!=this.checkpointer&&this.putWrites(D,r);await this._putCheckpoint({source:"input"}),this.input=oD}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=oD;else throw new e_(`Received no input writes for ${JSON.stringify(e,null,2)}`)}if(!this.isNested){let e;if(a){let t=this.checkpoint.id;("update"===this.checkpointMetadata.source||"fork"===this.checkpointMetadata.source)&&this.prevCheckpointConfig&&(t=this.prevCheckpointConfig.configurable?.checkpoint_id??t),e=new oL(t)}this.config=ol(this.config,{[_]:this.isResuming,[O]:e})}}#I(){let e=this.checkpointNamespace;if(0!==e.length&&(1!==e.length||""!==e[0])||this.config.configurable?.__pregel_stream===void 0)return e;let t=function(e){if(!e)return[];let t="";for(let r of Object.keys(e))""!==r&&r.length>t.length&&(t=r);return oB(t)}(this.config.configurable?.[A]);return t.length>0?t:e}_emit(e,t=this.checkpointNamespace){for(let[r,n]of e)if(this.stream.modes.has(r)&&this.stream.push([t,r,n]),("checkpoints"===r||"tasks"===r)&&this.stream.modes.has("debug")){let e="checkpoints"===r?this.step-1:this.step,i=new Date().toISOString(),s="checkpoints"===r?"checkpoint":"object"==typeof n&&null!=n&&"result"in n?"task_result":"task";this.stream.push([t,"debug",{step:e,type:s,timestamp:i,payload:n}])}}_currentCheckpointMeta(){if(!this.checkpointMetadata||!this.checkpoint?.id)return;let e=this.prevCheckpointConfig?.configurable?.checkpoint_id;return{checkpoint:{id:this.checkpoint.id,...e?{parent_id:e}:{},step:this.checkpointMetadata.step,source:this.checkpointMetadata.source}}}_emitValuesWithCheckpointMeta(e){let t=this._currentCheckpointMeta();for(let[r,n]of e)"values"!==r||t?.checkpoint==null||this.stream.modes.has("checkpoints")||this.stream.push([this.checkpointNamespace,"checkpoints",t.checkpoint]),this.stream.modes.has(r)&&this.stream.push([this.checkpointNamespace,r,n])}_putCheckpoint(e){let t,r=this.checkpointMetadata===e,n=null!=this.checkpointer&&("exit"!==this.durability||r),i=e=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=ol(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??""});let t={...this.checkpoint.channel_versions},r=oo(this.checkpointPreviousVersions,t);this.checkpointPreviousVersions=t,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:se(e),metadata:{...this.checkpointMetadata},newVersions:r}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};if(r)t={...this.checkpointMetadata.counters_since_delta_snapshot??{}};else{let r=this.checkpointMetadata.counters_since_delta_snapshot??{};t={};let n=this.updatedChannels??new Set;for(let e in this.channels){if(!Object.prototype.hasOwnProperty.call(this.channels,e)||!sv(this.channels[e]))continue;let[i,s]=r[e]??[0,0];t[e]=[n.has(e)?i+1:i,s+1]}this.checkpointMetadata={...e,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}}let s=n?sE(this.channels,t):new Set;for(let e of(this.checkpoint=sC(this.checkpoint,n?this.channels:void 0,this.step,{id:r?this.checkpoint.id:void 0,channelsToSnapshot:s,updatedChannels:this.updatedChannels,getNextVersion:n?e=>this.checkpointerGetNextVersion(e):void 0}),s))t[e]=[0,0];let a={};for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;let[r,n]=t[e];(0!==r||0!==n)&&(a[e]=[r,n])}Object.keys(a).length>0?this.checkpointMetadata.counters_since_delta_snapshot=a:delete this.checkpointMetadata.counters_since_delta_snapshot,n&&i(this.checkpoint),r||(this.step+=1)}async _putExitDeltaWrites(){let e;if(void 0===this._exitDeltaWrites||0===this._exitDeltaWrites.length||null==this.checkpointer||void 0===this._initialCheckpointConfig)return;let t=this.checkpointMetadata.counters_since_delta_snapshot??{},r=sE(this.channels,t),n=this._exitDeltaWrites.filter(([,,e])=>!r.has(e));if(0===n.length)return;if(this._hasPersistedParent)e=this._initialCheckpointConfig;else{let t=i9();t.id=this.checkpointIdSaved??t.id,t.ts=new Date().toISOString();let r=ol(this._initialCheckpointConfig,{[S]:void 0});e=ol(this._initialCheckpointConfig,{[S]:t.id}),this._trackCheckpointerPromise(this.checkpointer.put(r,t,{source:"loop",step:-2,parents:{}},{})),this.checkpointConfig=e}let i=ol(e,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:e.configurable?.[S]}),s=new Map,a=[];for(let[e,t,r,i]of n){let n=`${e}\u0000${t}`,o=s.get(n);void 0===o&&(o=[],s.set(n,o),a.push({key:n,step:e,tid:t})),o.push([r,i])}for(let{key:e,step:t,tid:r}of a){let n=`${String(t).padStart(8,"0")}-${r}`;this._trackCheckpointerPromise(this.checkpointer.putWrites(i,s.get(e),n))}}_flushPendingWrites(){if(null==this.checkpointer||0===this.checkpointPendingWrites.length)return;let e=ol(this.checkpointConfig,{[x]:this.config.configurable?.checkpoint_ns??"",[S]:this.checkpoint.id}),t={};for(let[e,r,n]of this.checkpointPendingWrites)t[e]??=[],t[e].push([r,n]);for(let[r,n]of Object.entries(t))this._trackCheckpointerPromise(this.checkpointer.putWrites(e,n,r))}_matchWrites(e){for(let[t,r,n]of this.checkpointPendingWrites){if("__error__"===r||"__interrupt__"===r||"__resume__"===r)continue;let i=Object.values(e).find(e=>e.id===t);i&&i.writes.push([r,n])}for(let t of Object.values(e))t.writes.length>0&&this._outputWrites(t.id,t.writes,!0)}},oq=ez;function oG(e,t,r){if(!e)return;let n=e.langgraph_checkpoint_ns,i=e.checkpoint_ns,s=n??i;if(s)return[s.split("|"),{tags:t,name:r,...e}]}var oK=class extends oq.BaseCallbackHandler{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,r,n=!1){if(n&&void 0!==t.id&&void 0!==this.seen[t.id])return;let i=t.id;null!=r&&((0,eG.isToolMessage)(t)?i??=`run-${r}-tool-${t.tool_call_id}`:((null==i||i===`run-${r}`)&&(i=this.stableMessageIdMap[r]??i??`run-${r}`),this.stableMessageIdMap[r]??=i)),i!==t.id&&(t.id=i,t.lc_kwargs.id=i),null!=t.id&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,r,n,i,s,a,o){!a||s&&(s.includes("langsmith:nostream")||s.includes("nostream"))||(this.metadatas[r]=oG(a,s,o))}handleLLMNewToken(e,t,r,n,i,s){let a=s?.chunk;(this.emittedChatModelRunIds[r]=!0,void 0!==this.metadatas[r])&&((0,rD.isBaseMessage)(a?.message)?this._emit(this.metadatas[r],a.message,r):this._emit(this.metadatas[r],new e9.AIMessageChunk({content:e}),r))}handleLLMEnd(e,t){if(void 0!==this.metadatas[t]){if(!this.emittedChatModelRunIds[t]){let r=e.generations?.[0]?.[0];(0,rD.isBaseMessage)(r?.message)&&this._emit(this.metadatas[t],r?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,r,n,i,s,a,o){if(void 0!==s&&o===s.langgraph_node&&(void 0===i||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=oG(s,i,o),"object"==typeof t)){for(let e of Object.values(t))if(((0,rD.isBaseMessage)(e)||(0,rD.isBaseMessageChunk)(e))&&void 0!==e.id)this.seen[e.id]=e;else if(Array.isArray(e))for(let t of e)((0,rD.isBaseMessage)(t)||(0,rD.isBaseMessageChunk)(t))&&void 0!==t.id&&(this.seen[t.id]=t)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],void 0!==r){if((0,rD.isBaseMessage)(e))this._emit(r,e,t,!0);else if(Array.isArray(e))for(let n of e)(0,rD.isBaseMessage)(n)&&this._emit(r,n,t,!0);else if(null!=e&&"object"==typeof e){for(let n of Object.values(e))if((0,rD.isBaseMessage)(n))this._emit(r,n,t,!0);else if(Array.isArray(n))for(let e of n)(0,rD.isBaseMessage)(e)&&this._emit(r,e,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}},oz=ez;function oJ(e){if("response_metadata"in e&&"object"==typeof e.response_metadata&&null!=e.response_metadata)return e.response_metadata}function oZ(e){if("usage_metadata"in e&&"object"==typeof e.usage_metadata&&null!=e.usage_metadata)return e.usage_metadata}var oY=class extends oz.BaseCallbackHandler{name="StreamProtocolMessagesHandler";streamFn;metadatas={};seen={};streamedRunIds=new Set;stableMessageIdMap={};lc_prefer_chat_model_stream_events=!0;constructor(e){super(),this.streamFn=e}normalizeMessageId(e,t){let r=e.id;return null!=t&&(eG.ToolMessage.isInstance(e)?r??=`run-${t}-tool-${e.tool_call_id}`:((null==r||r===`run-${t}`)&&(r=this.stableMessageIdMap[t]??r??`run-${t}`),this.stableMessageIdMap[t]??=r)),r!==e.id&&(e.id=r,e.lc_kwargs.id=r),null!=e.id&&(this.seen[e.id]=e),e.id}emit(e,t,r){let n=null!=r?{...e[1],run_id:r}:e[1];this.streamFn([e[0],"messages",[t,n]])}emitFinalMessage(e,t,r,n=!1){let i=t.id??(null!=r?this.stableMessageIdMap[r]:void 0);if(n&&null!=i&&void 0!==this.seen[i])return;let s=this.normalizeMessageId(t,r),a="human"===t.type?"human":"system"===t.type?"system":"tool"===t.type?"tool":"ai",o="tool"===a&&eG.ToolMessage.isInstance(t)?t.tool_call_id:void 0;this.emit(e,{event:"message-start",...null!=s?{id:s}:{},..."ai"!==a?{role:a}:{},..."string"==typeof o?{tool_call_id:o}:{}},r),(Array.isArray(t.content)?t.content:"string"==typeof t.content&&t.content.length>0?[{type:"text",text:t.content}]:[]).forEach((t,n)=>{let i="number"==typeof t.index?t.index:n;this.emit(e,{event:"content-block-start",index:i,content:function(e){switch(e.type){case"text":return{type:"text",text:""};case"reasoning":return{type:"reasoning",reasoning:""};case"tool_call":case"tool_call_chunk":return{type:"tool_call_chunk",...null!=e.id?{id:e.id}:{},...null!=e.name?{name:e.name}:{},args:""};default:return e}}(t)},r);let s=function(e){switch(e.type){case"text":{let t="string"==typeof e.text?e.text:"";return t.length>0?{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"text-delta",text:t}}:void 0}case"reasoning":{let t="string"==typeof e.reasoning?e.reasoning:"";return t.length>0?{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"reasoning-delta",reasoning:t}}:void 0}case"tool_call_chunk":return{event:"content-block-delta",index:"number"==typeof e.index?e.index:0,delta:{type:"block-delta",fields:{...e,type:"tool_call_chunk"}}};default:return}}({...t,index:i});null!=s&&this.emit(e,s,r),this.emit(e,{event:"content-block-finish",index:i,content:t},r)}),this.emit(e,{event:"message-finish",...null!=oZ(t)?{usage:oZ(t)}:{},...null!=oJ(t)?{responseMetadata:oJ(t)}:{}},r)}handleChatModelStart(e,t,r,n,i,s,a,o){!a||s&&(s.includes("langsmith:nostream")||s.includes("nostream"))||(this.metadatas[r]=[a.langgraph_checkpoint_ns.split("|"),{tags:s,name:o,...a}])}handleLLMNewToken(){}handleChatModelStreamEvent(e,t){let r=this.metadatas[t];if(void 0===r)return;let n=e;if("message-start"===e.event){this.streamedRunIds.add(t);let r=e.id??`run-${t}`;this.seen[r]=!0,this.stableMessageIdMap[t]??=r,null==e.id&&(n={...e,id:r})}this.emit(r,n,t)}handleLLMEnd(e,t){let r=this.metadatas[t];if(void 0===r)return;let n=e.generations?.[0]?.[0],i=rD.BaseMessage.isInstance(n?.message)?n.message:void 0;if(null!=i)if(this.streamedRunIds.has(t)){let e=this.normalizeMessageId(i,t);null!=e&&(this.seen[e]=i)}else this.emitFinalMessage(r,i,t,!0);this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleLLMError(e,t){this.streamedRunIds.delete(t),delete this.metadatas[t],delete this.stableMessageIdMap[t]}handleChainStart(e,t,r,n,i,s,a,o){if(void 0!==s&&o===s.langgraph_node&&(void 0===i||!i.includes("langsmith:hidden"))&&(this.metadatas[r]=[s.langgraph_checkpoint_ns.split("|"),{tags:i,name:o,...s}],"object"==typeof t)){for(let e of Object.values(t))if((rD.BaseMessage.isInstance(e)||rD.BaseMessageChunk.isInstance(e))&&void 0!==e.id)this.seen[e.id]=e;else if(Array.isArray(e))for(let t of e)(rD.BaseMessage.isInstance(t)||rD.BaseMessageChunk.isInstance(t))&&void 0!==t.id&&(this.seen[t.id]=t)}}handleChainEnd(e,t){let r=this.metadatas[t];if(delete this.metadatas[t],void 0===r)return;let n=e=>{rD.BaseMessage.isInstance(e)&&!eG.ToolMessage.isInstance(e)&&this.emitFinalMessage(r,e,t,!0)};if(rD.BaseMessage.isInstance(e))n(e);else if(Array.isArray(e))for(let t of e)n(t);else if(null!=e&&"object"==typeof e)for(let t of Object.values(e))if(Array.isArray(t))for(let e of t)n(e);else n(t);delete this.stableMessageIdMap[t]}handleChainError(e,t){delete this.metadatas[t],delete this.stableMessageIdMap[t]}},oQ=ez,oX=class{active=!0;lastProgress=Date.now();refreshOn;constructor(e){this.refreshOn=e}touch(){this.lastProgress=Date.now()}autoTouch(){"auto"===this.refreshOn&&(this.lastProgress=Date.now())}close(){this.active=!1}},o0=class extends oQ.BaseCallbackHandler{name="IdleProgressCallbackHandler";awaitHandlers=!1;#T;constructor(e){super(),this.#T=e}#j=()=>{this.#T.autoTouch()};handleLLMStart=this.#j;handleChatModelStart=this.#j;handleLLMNewToken=this.#j;handleLLMEnd=this.#j;handleLLMError=this.#j;handleChainStart=this.#j;handleChainEnd=this.#j;handleChainError=this.#j;handleToolStart=this.#j;handleToolEnd=this.#j;handleToolError=this.#j;handleText=this.#j;handleRetrieverStart=this.#j;handleRetrieverEnd=this.#j;handleRetrieverError=this.#j;handleCustomEvent=this.#j};async function o1(e,t,r,n){let i,s,a,o=new oX(r.refreshOn??"auto"),l=new AbortController,{signal:c,dispose:h}=oh(t.signal,l.signal),u=function(e,t,r,n){let i=e.configurable??{},s={},a=i[d];"function"==typeof a&&(s[d]=e=>{if(t.active)return e&&e.length&&t.autoTouch(),a(e)});let o=i[f];"function"==typeof o&&(s[f]=(...e)=>{if(!t.active)throw Error(`Node "${n}" attempt was cancelled after its timeout fired`);return t.autoTouch(),o(...e)});let l={...Object.keys(s).length>0?ol(e,s):e};if(l.heartbeat=()=>{void 0!==r.idleTimeout&&t.touch()},"function"==typeof l.writer){let e=l.writer;l.writer=r=>{if(t.active)return t.autoTouch(),e(r)}}if((r.refreshOn??"auto")==="auto"&&void 0!==r.idleTimeout){let e=new o0(t),r=l.callbacks;if(void 0===r)l.callbacks=[e];else if(Array.isArray(r))l.callbacks=[...r,e];else{let t=r.copy();t.addHandler(e,!0),l.callbacks=t}}return l}({...t,signal:c},o,r,String(e.name)),p=Date.now(),m=n(u).then(e=>({type:"ok",value:e}),e=>({type:"err",error:e})),g=new Promise(e=>{if(void 0!==r.runTimeout&&(i=setTimeout(()=>e({type:"timeout",kind:"run"}),r.runTimeout)),void 0!==r.idleTimeout){let t=r.idleTimeout,n=()=>{let r=o.lastProgress+t-Date.now();r<=0?e({type:"timeout",kind:"idle"}):s=setTimeout(n,r)};s=setTimeout(n,t)}});try{a=await Promise.race([m,g])}finally{void 0!==i&&clearTimeout(i),void 0!==s&&clearTimeout(s)}if("timeout"!==a.type){let e=Date.now();void 0!==r.runTimeout&&e-p>=r.runTimeout?a={type:"timeout",kind:"run"}:void 0!==r.idleTimeout&&e-o.lastProgress>=r.idleTimeout&&(a={type:"timeout",kind:"idle"})}if("ok"===a.type)return h?.(),a.value;if("err"===a.type)throw h?.(),a.error;let _=Date.now()-p;throw o.close(),e.writes.splice(0,e.writes.length),l.abort(),h?.(),new em({node:String(e.name),elapsed:_,kind:a.kind,runTimeout:r.runTimeout,idleTimeout:r.idleTimeout})}let o4=[400,401,402,403,404,405,406,407,409],o2=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||"AbortError"===e.name||"GraphValueError"===e.name||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&o4.includes(+t))&&e?.error?.code!=="insufficient_quota"};async function o6(e,t,r,n){let i,s,a=e.retry_policy??t,o=0,l=e.config??{};r&&(l=ol(l,r)),l={...l,signal:n};let c=Date.now();for(null!=l.executionInfo&&(l.executionInfo={...l.executionInfo,nodeFirstAttemptTime:c});!n?.aborted;){e.writes.splice(0,e.writes.length),i=void 0;try{s=void 0!==e.timeout?await o1(e,l,e.timeout,t=>e.proc.invoke(e.input,t)):await e.proc.invoke(e.input,l);break}catch(h){if((i=h).pregelTaskId=e.id,ep(i)){let t=l?.configurable?.checkpoint_ns,r=i.command;if(r.graph===t){for(let t of e.writers)await t.invoke(r,l);i=void 0;break}if(r.graph===Q.PARENT){let e=sU(t);i.command=new Q({...i.command,graph:e})}}if(ed(i)||void 0===a||(o+=1)>=(a.maxAttempts??3)||!(a.retryOn??o2)(i))break;let t=a.initialInterval??500,r=Math.min(a.maxInterval??128e3,t*(a.backoffFactor??2)**(o-1)),n=a.jitter??!0?r+1e3*Math.random():r;await new Promise(e=>setTimeout(e,n));let s=i.name??i.constructor.unminifiable_name??i.constructor.name;(a?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${n.toFixed(2)}ms (attempt ${o}) after ${s}: ${i}`),null!=(l=ol(l,{[_]:!0})).executionInfo&&(l.executionInfo={...l.executionInfo,nodeAttempt:o+1,nodeFirstAttemptTime:c})}}return{task:e,result:s,error:i,signalAborted:n?.aborted}}let o3=Symbol.for("promiseAdded");var o8=class{nodeFinished;loop;handledExceptions=new WeakSet;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let t,{timeout:r,retryPolicy:n,onStepWrite:i,maxConcurrency:s}=e,a=new Set,o=new AbortController,l=o.signal,c=r?AbortSignal.timeout(r):void 0,h=Object.values(this.loop.tasks),u=h.filter(e=>0===e.writes.length),{signals:p,disposeCombinedSignal:d}=this._initializeAbortSignals({exceptionSignal:l,stepTimeoutSignal:c,signal:e.signal});for await(let{task:e,error:r,signalAborted:i}of this._executeTasksWithRetry(u,{signals:p,retryPolicy:n,maxConcurrency:s}))this._commit(e,r),void 0!==r&&this.handledExceptions.has(r)||(ef(r)||ed(r)&&!ef(t)?t=r:r&&(0===a.size||!i)&&(o.abort(),a.add(r)));if(d?.(),i?.(this.loop.step,h.map(e=>e.writes).flat()),1===a.size)throw Array.from(a)[0];if(a.size>1)throw AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(ef(t)||ea(t)||ed(t)&&this.loop.isNested)throw t}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:r}){let n=this.loop.config.configurable?.__pregel_abort_signals??{},i=n.externalAbortSignal??r,s=t??n.timeoutAbortSignal,{signal:a,dispose:o}=oh(i,s,e),l={externalAbortSignal:i,timeoutAbortSignal:s,composedAbortSignal:a};return this.loop.config=ol(this.loop.config,{[I]:l}),{signals:l,disposeCombinedSignal:o}}async *_executeTasksWithRetry(e,t){let r,n,{retryPolicy:i,maxConcurrency:s,signals:a}=t??{},o=((n={next:()=>void 0,wait:Promise.resolve(o3)}).wait=new Promise(function e(t){n.next=()=>{n.wait=new Promise(e),t(o3)}}),n),l={},c={executingTasksMap:l,barrier:o,retryPolicy:i,scheduleTask:async(e,t,r)=>this.loop.acceptPush(e,t,r)};if(a?.composedAbortSignal?.aborted)throw Error("Abort");let h=0,u=oh(a?.externalAbortSignal,a?.timeoutAbortSignal),p=u.signal?new Promise((e,t)=>{r=()=>t(Error("Abort")),u.signal?.addEventListener("abort",r,{once:!0})}):void 0;for(;(0===h||Object.keys(l).length>0)&&e.length;){for(;Object.values(l).length<(s??e.length)&&h<e.length;h+=1){let t=e[h];l[t.id]=o6(t,i,{[f]:o7?.bind(c,this,t)},a?.composedAbortSignal).catch(e=>({task:t,error:e,signalAborted:a?.composedAbortSignal?.aborted}))}let t=await Promise.race([...Object.values(l),...p?[p]:[],o.wait]);if(t===o3)continue;let{task:n,error:d}=t;if(void 0!==d&&!ed(d)&&!this.loop.isErrorHandlerNode(String(n.name))&&void 0!==this.loop.getErrorHandlerNode(String(n.name))){let e=this.loop.scheduleErrorHandler(n,d);void 0!==e&&(l[e.id]=o6(e,i,{[f]:o7?.bind(c,this,e)},a?.composedAbortSignal).catch(t=>({task:e,error:t,signalAborted:a?.composedAbortSignal?.aborted})),o.next())}yield t,null!=r&&(u.signal?.removeEventListener("abort",r),u.dispose?.()),delete l[t.task.id]}}_shouldRouteToErrorHandler(e){let t=String(e.name);return!this.loop.isErrorHandlerNode(t)&&void 0!==this.loop.getErrorHandlerNode(t)}_commit(e,t){if(void 0!==t)if(ef(t)){if(t.interrupts.length){let r=t.interrupts.map(e=>[T,e]),n=e.writes.filter(e=>e[0]===j);n.length&&r.push(...n),this.loop.putWrites(e.id,r)}}else ea(t)?e.writes.length&&this.loop.putWrites(e.id,e.writes):(ed(t)&&e.writes.length||(e.writes.push([c,{message:t.message,name:t.name}]),this._shouldRouteToErrorHandler(e)&&(e.writes.push([h,String(e.name)]),this.handledExceptions.add(t))),this.loop.putWrites(e.id,e.writes));else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),0===e.writes.length&&e.writes.push([N,null]),this.loop.putWrites(e.id,e.writes)}};async function o7(e,t,r,n,i,s={}){let a=t.config?.configurable?.[w];if(!a)throw Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let o=a.callCounter;a.callCounter+=1;let l=new ou({func:r,name:n,input:i,cache:s.cache,retry:s.retry,timeout:s.timeout,callbacks:s.callbacks}),h=await this.scheduleTask(t,o,l);if(!h)return;let u=this.executingTasksMap[h.id];if(void 0!==u)return u;if(h.writes.length>0){let e=h.writes.filter(([e])=>e===P),t=h.writes.filter(([e])=>e===c);if(e.length>0){if(1===e.length)return Promise.resolve(e[0][1]);throw Error(`BUG: multiple returns found for task ${h.name}__${h.id}`)}if(t.length>0){if(1===t.length){let e=t[0][1];return Promise.reject(e instanceof Error?e:Error(String(e)))}throw Error(`BUG: multiple errors found for task ${h.name}__${h.id}`)}return}{let t=o6(h,s.retry,{[f]:o7.bind(this,e,h)});return this.executingTasksMap[h.id]=t,this.barrier.next(),t.then(({result:e,error:t})=>t?Promise.reject(t):e)}}var o5=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function o9(e,t){if(Array.isArray(e)){for(let r of e)if(!(r in t))throw Error(`Key ${String(r)} not found in channels`)}else if(!(e in t))throw Error(`Key ${String(e)} not found in channels`)}var le=class e extends sw{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(e){super(),this.unique=e?.unique??this.unique,this.accumulate=e?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let r=new e({unique:this.unique,accumulate:this.accumulate});return void 0!==t&&(r.seen=new Set(t[0]),r.values=t[1]),r}update(e){let t=!1;this.accumulate||(t=this.values.length>0,this.values=[]);let r=e.flat();if(r.length>0)if(this.unique)for(let e of r)this.seen.has(e)||(t=!0,this.seen.add(e),this.values.push(e));else t=!0,this.values.push(...r);return t}get(){if(0===this.values.length)throw new ey;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return 0!==this.values.length}},lt=ta,lr=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&void 0!==r)throw Error("Can't specify a key when subscribing to multiple channels");return new a9({channels:"string"==typeof e?r?{[r]:e}:[e]:Object.fromEntries(e.map(e=>[e,e])),triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let t of e)r.push({channel:t,value:aX,skipNone:!1});for(let[e,n]of Object.entries(t??{}))lt.Runnable.isRunnable(n)||"function"==typeof n?r.push({channel:e,value:aX,skipNone:!0,mapper:(0,lt._coerceToRunnable)(n)}):r.push({channel:e,value:n,skipNone:!1});return new a4(r)}},ln=class extends lt.Runnable{lc_namespace=["langgraph","pregel"];invoke(e,t){throw Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},li=class extends ln{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;streamTransformers;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(null==t||Array.isArray(t)||(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&"Topic"!==this.channels.__pregel_tasks.lc_graph_name)throw Error(`Channel '${F}' is reserved and cannot be used in the graph.`);this.channels[F]=new le({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.streamTransformers=e.streamTransformers??[],this.autoValidate&&this.validate()}withConfig(e){let{streamTransformers:t,...r}=e,n=(0,r9.mergeConfigs)(this.config,r),i=[...this.streamTransformers,...t??[]];return new this.constructor({...this,config:n,streamTransformers:i})}validate(){for(let[e,t]of(!function({nodes:e,channels:t,inputChannels:r,outputChannels:n,streamChannels:i,interruptAfterNodes:s,interruptBeforeNodes:a}){if(!t)throw new o5("Channels not provided");let o=new Set,l=new Set;for(let[t,r]of Object.entries(e)){if("__interrupt__"===t)throw new o5(`"Node name ${T} is reserved"`);if(r.constructor===a9)r.triggers.forEach(e=>o.add(e));else throw new o5(`Invalid node type ${typeof r}, expected PregelNode`)}for(let e of o)if(!(e in t))throw new o5(`Subscribed channel '${String(e)}' not in channels`);if(Array.isArray(r)){if(r.every(e=>!o.has(e)))throw new o5(`None of the input channels ${r} are subscribed to by any node`)}else if(!o.has(r))throw new o5(`Input channel ${String(r)} is not subscribed to by any node`);for(let e of(Array.isArray(n)?n.forEach(e=>l.add(e)):l.add(n),i&&!Array.isArray(i)?l.add(i):Array.isArray(i)&&i.forEach(e=>l.add(e)),l))if(!(e in t))throw new o5(`Output channel '${String(e)}' not in channels`);if(s&&"*"!==s){for(let t of s)if(!(t in e))throw new o5(`Node ${String(t)} not in nodes`)}if(a&&"*"!==a){for(let t of a)if(!(t in e))throw new o5(`Node ${String(t)} not in nodes`)}}({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore}),Object.entries(this.nodes)))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes))if(void 0===e||e.startsWith(r))for(let i of n.subgraphs?.length?n.subgraphs:[n.bound]){let n=ot(i);if(void 0!==n){if(r===e)return void(yield[r,n]);if(void 0===e&&(yield[r,n]),t){let i=e;for(let[s,a]of(void 0!==e&&(i=e.slice(r.length+1)),n.getSubgraphs(i,t)))yield[`${r}|${s}`,a]}}}}async *getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(void 0===t)return{values:{},next:[],config:e,tasks:[]};let i=await sA(this.channels,t.checkpoint,{saver:"object"==typeof this.checkpointer?this.checkpointer:void 0,config:t.config??e});if(t.pendingWrites?.length){let e=t.pendingWrites.filter(([e,t])=>e===D).map(([e,t,r])=>[String(t),r]);e.length>0&&oy(t.checkpoint,i,[{name:l,writes:e,triggers:[]}],void 0,this.triggerToNodes)}let s=Object.values(ov(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),a=await az(this.getSubgraphsAsync()),o=t.config.configurable?.checkpoint_ns??"",c={};for(let e of s){let n=a.find(([t])=>t===e.name);if(!n)continue;let i=`${String(e.name)}:${e.id}`;if(o&&(i=`${o}|${i}`),void 0===r){let r={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:i}};c[e.id]=r}else{let s={configurable:{[g]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:i}},a=n[1];c[e.id]=await a.getState(s,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let e=Object.fromEntries(s.map(e=>[e.id,e]));for(let[r,n,i]of t.pendingWrites)!["__error__","__interrupt__",ej].includes(n)&&r in e&&e[r].writes.push([String(n),i]);let r=s.filter(e=>e.writes.length>0);r.length>0&&oy(t.checkpoint,i,r,void 0,this.triggerToNodes)}let h=t?.metadata;h&&t?.config?.configurable?.thread_id&&(h={...h,thread_id:t.config.configurable.thread_id});let u=s.filter(e=>0===e.writes.length).map(e=>e.name);return{values:on(i,this.streamChannelsAsIs),next:u,tasks:oO(s,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:h,config:oc(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_read===void 0&&e.configurable?.__pregel_checkpointer===void 0){let i=sB(n);for await(let[n,s]of this.getSubgraphsAsync(i,!0))if(n===i)return await s.getState(aZ(e,{[g]:r}),{subgraphs:t?.subgraphs})}let i=(0,r9.mergeConfigs)(this.config,e),s=await r.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:s,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async *getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_checkpointer===void 0){let i=sB(n);for await(let[n,s]of this.getSubgraphsAsync(i,!0))if(n===i)return void(yield*s.getStateHistory(aZ(e,{[g]:r}),t))}let i=(0,r9.mergeConfigs)(this.config,e,{configurable:{checkpoint_ns:n}});for await(let e of r.list(i,t))yield this._prepareStateSnapshot({config:e.config,saved:e})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new ei("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(0===t.length)throw Error("No supersteps provided");if(t.some(e=>0===e.updates.length))throw Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(""!==n&&e.configurable?.__pregel_checkpointer===void 0){let i=sB(n);for await(let[,n]of this.getSubgraphsAsync(i,!0))return await n.bulkUpdateState(aZ(e,{[g]:r}),t);throw Error(`Subgraph "${i}" not found`)}let i=async(e,t)=>{let n=this.config?(0,r9.mergeConfigs)(this.config,e):e,s=await r.getTuple(n),a=void 0!==s?se(s.checkpoint):i9(),o={...s?.checkpoint.channel_versions},c=s?.metadata?.step??-1,h=aZ(n,{checkpoint_ns:n.configurable?.checkpoint_ns??""}),u=n.metadata??{};s?.config.configurable&&(h=aZ(n,s.config.configurable),u={...s.metadata,...u});let{values:p,asNode:f}=t[0];if(null==p&&void 0===f){if(t.length>1)throw new ev("Cannot create empty checkpoint with multiple updates");return oc(await r.put(h,sC(a,void 0,c),{source:"update",step:c+1,parents:s?.metadata?.parents??{}},{}),s?s.metadata:void 0)}let g=await sA(this.channels,a,{saver:r,config:s?.config??h});if(null===p&&"__end__"===f){if(t.length>1)throw new ev("Cannot apply multiple updates when clearing state");if(s){let e=ov(a,s.pendingWrites||[],this.nodes,g,s.config,!0,{step:(s.metadata?.step??-1)+1,checkpointer:r,store:this.store}),t=(s.pendingWrites||[]).filter(e=>e[0]===D).map(e=>e.slice(1));for(let[n,i,o]of(t.length>0&&oy(a,g,[{name:l,writes:t,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes),s.pendingWrites||[]))!["__error__","__interrupt__",ej].includes(i)&&n in e&&e[n].writes.push([i,o]);oy(a,g,Object.values(e),r.getNextVersion.bind(r),this.triggerToNodes)}return oc(await r.put(h,sC(a,g,c),{...u,source:"update",step:c+1,parents:s?.metadata?.parents??{}},oo(o,a.channel_versions)),s?s.metadata:void 0)}if("__copy__"===f){if(t.length>1)throw new ev("Cannot copy checkpoint with multiple updates");if(null==s)throw new ev("Cannot copy a non-existent checkpoint");let e=sC(a,void 0,c),n=await r.put(s.parentConfig??aZ(s.config,{checkpoint_id:void 0}),e,{source:"fork",step:c+1,parents:s.metadata?.parents??{}},{});if(Array.isArray(p)&&0!==p.length&&p.every(e=>Array.isArray(e)&&2===e.length)){let t=Object.values(ov(e,s.pendingWrites,this.nodes,g,n,!1,{step:c+2})).reduce((e,{name:t,id:r})=>(e[t]??=[],e[t].push({id:r}),e),{}),r=p.reduce((e,r)=>{let[n,i]=r;e[i]??=[];let s=e[i].length,a=t[i]?.[s]?.id;return e[i].push({values:n,asNode:i,taskId:a}),e},{});return i(oc(n,s.metadata),Object.values(r).flat())}return oc(n,s.metadata)}if("__input__"===f){if(t.length>1)throw new ev("Cannot apply multiple updates when updating as input");let e=await az(oi(this.inputChannels,p));if(0===e.length)throw new ev(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);oy(a,g,[{name:l,writes:e,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let n=s?.metadata?.step!=null?s.metadata.step+1:-1,i=await r.put(h,sC(a,g,n),{source:"input",step:n,parents:s?.metadata?.parents??{}},oo(o,a.channel_versions));return await r.putWrites(i,e,eI(l,a.id)),oc(i,s?s.metadata:void 0)}if(n.configurable?.checkpoint_id===void 0&&s?.pendingWrites!==void 0&&s.pendingWrites.length>0){let e=ov(a,s.pendingWrites,this.nodes,g,s.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(s.metadata?.step??-1)+1}),t=(s.pendingWrites??[]).filter(e=>e[0]===D).map(e=>e.slice(1));for(let[r,n,i]of(t.length>0&&oy(s.checkpoint,g,[{name:l,writes:t,triggers:[]}],void 0,this.triggerToNodes),s.pendingWrites))["__error__","__interrupt__",ej].includes(n)||void 0===e[r]||e[r].writes.push([n,i]);let r=Object.values(e).filter(e=>e.writes.length>0);r.length>0&&oy(a,g,r,void 0,this.triggerToNodes)}let _=Object.values(a.versions_seen).map(e=>Object.values(e)).flat().find(e=>!!e),y=[];if(1===t.length){let{values:e,asNode:r,taskId:n}=t[0];if(void 0===r&&1===Object.keys(this.nodes).length)[r]=Object.keys(this.nodes);else if(void 0===r&&void 0===_)"string"==typeof this.inputChannels&&void 0!==this.nodes[this.inputChannels]&&(r=this.inputChannels);else if(void 0===r){let e=Object.entries(a.versions_seen).map(([e,t])=>Object.values(t).map(t=>[t,e])).flat().filter(([e,t])=>t!==T).sort(([e],[t])=>sr(e,t));e&&(1===e.length?r=e[0][1]:e[e.length-1][0]!==e[e.length-2][0]&&(r=e[e.length-1][1]))}if(void 0===r)throw new ev('Ambiguous update, specify "asNode"');y.push({values:e,asNode:r,taskId:n})}else for(let{asNode:e,values:r,taskId:n}of t){if(null==e)throw new ev('"asNode" is required when applying multiple updates');y.push({values:r,asNode:e,taskId:n})}let v=[];for(let{asNode:e,values:t,taskId:r}of y){if(void 0===this.nodes[e])throw new ev(`Node "${e.toString()}" does not exist`);let n=this.nodes[e].getWriters();if(!n.length)throw new ev(`No writers found for node "${e.toString()}"`);v.push({name:e,input:t,proc:n.length>1?lt.RunnableSequence.from(n,{omitSequenceTags:!0}):n[0],writes:[],triggers:[T],id:r??eI("__interrupt__",a.id),writers:[]})}for(let e of v)await e.proc.invoke(e.input,(0,r9.patchConfig)({...n,store:n?.store??this.store},{runName:n.runName??`${this.getName()}UpdateState`,configurable:{[d]:t=>e.writes.push(...t),[m]:(t,r=!1)=>of(a,g,e,t,r)}}));for(let e of v){let t=e.writes.filter(e=>e[0]!==V);void 0!==s&&t.length>0&&await r.putWrites(h,t,e.id)}oy(a,g,v,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let b=oo(o,a.channel_versions),w=await r.put(h,sC(a,g,c+1),{source:"update",step:c+1,parents:s?.metadata?.parents??{}},b);for(let e of v){let t=e.writes.filter(e=>e[0]===V);t.length>0&&await r.putWrites(w,t,e.id)}return oc(w,s?s.metadata:void 0)},s=e;for(let{updates:e}of t)s=await i(s,e);return s}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let t,r,{debug:n,streamMode:i,inputKeys:s,outputKeys:a,interruptAfter:o,interruptBefore:l,...c}=e,h=!0,u=void 0!==n?n:this.debug,p=a;void 0===p?p=this.streamChannelsAsIs:o9(p,this.channels);let d=s;void 0===d?d=this.inputChannels:o9(d,this.channels);let f=l??this.interruptBefore??[],m=o??this.interruptAfter??[];if(void 0!==i?(t=Array.isArray(i)?i:[i],h="string"==typeof i):(t=e.configurable?.__pregel_task_id!==void 0?["values"]:this.streamMode,h=!0),!1===this.checkpointer)r=void 0;else if(void 0!==e&&e.configurable?.__pregel_checkpointer!==void 0)r=e.configurable[g];else if(!0===this.checkpointer)throw Error("checkpointer: true cannot be used for root graphs.");else r=this.checkpointer;let _=e.store??this.store,y=e.cache??this.cache;if(null!=e.durability&&null!=e.checkpointDuring)throw Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let v=(()=>{if(null!=e.checkpointDuring)return!1===e.checkpointDuring?"exit":"async"})();return[u,t,d,p,c,f,m,r,_,h,y,e.durability??v??e?.configurable?.__pregel_durability??"async"]}async stream(e,t){let r,n=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,signal:oh(t?.signal,n.signal).signal},s=await super.stream(e,i);return new oN(t?.encoding==="text/event-stream"?(r=new TextEncoder,new ReadableStream({async start(e){let t=t=>{e.enqueue(r.encode(`event: ${t.event}
81
81
  data: ${JSON.stringify(t.data,function(e,t){let r=this[e];if(null!=r&&"object"==typeof r&&"toDict"in r&&"function"==typeof r.toDict){let{type:e,data:t}=r.toDict();return{...t,type:e}}return t})}
82
82
 
83
- `))};try{for await(let e of s){let[r,n,i]=e,s=i;"debug"===n&&"checkpoint"===i.type&&(s={...i,payload:oY(i.payload)}),"checkpoints"===n&&(s=oY(i)),t({event:r?.length?`${n}|${r.join("|")}`:n,data:s})}}catch(e){t({event:"error",data:e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}})}e.close()}})):s,n)}async #N(e,t){let{version:r,encoding:n,transformers:i,...s}=t,a={recursionLimit:this.config?.recursionLimit,...s,configurable:{...this.config?.configurable,...s?.configurable},version:r,streamMode:s6,subgraphs:!0,encoding:void 0},o=this.stream(e,a),l=aE({[Symbol.asyncIterator]:async function*(){for await(let e of(await o))yield e}},[...this.streamTransformers??[],...i??[]]);if("text/event-stream"===n){let e,t=new AbortController;return t.signal.addEventListener("abort",()=>l.abort(t.signal.reason),{once:!0}),new oq((e=new TextEncoder,new ReadableStream({async start(t){try{for await(let r of l){let n=r.params.namespace,i=n.length?`${r.method}|${n.join("|")}`:r.method;t.enqueue(e.encode(`event: ${i}
83
+ `))};try{for await(let e of s){let[r,n,i]=e,s=i;"debug"===n&&"checkpoint"===i.type&&(s={...i,payload:oV(i.payload)}),"checkpoints"===n&&(s=oV(i)),t({event:r?.length?`${n}|${r.join("|")}`:n,data:s})}}catch(e){t({event:"error",data:e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}})}e.close()}})):s,n)}async #N(e,t){let{version:r,encoding:n,transformers:i,...s}=t,a={recursionLimit:this.config?.recursionLimit,...s,configurable:{...this.config?.configurable,...s?.configurable},version:r,streamMode:sq,subgraphs:!0,encoding:void 0},o=this.stream(e,a),l=ap({[Symbol.asyncIterator]:async function*(){for await(let e of(await o))yield e}},[...this.streamTransformers??[],...i??[]]);if("text/event-stream"===n){let e,t=new AbortController;return t.signal.addEventListener("abort",()=>l.abort(t.signal.reason),{once:!0}),new oN((e=new TextEncoder,new ReadableStream({async start(t){try{for await(let r of l){let n=r.params.namespace,i=n.length?`${r.method}|${n.join("|")}`:r.method;t.enqueue(e.encode(`event: ${i}
84
84
  data: ${JSON.stringify(r.params.data??{})}
85
85
 
86
86
  `))}}catch(r){t.enqueue(e.encode(`event: error
87
87
  data: ${JSON.stringify({message:String(r)})}
88
88
 
89
- `))}finally{t.close()}}})),t)}return l}streamEvents(e,t,r){if("v3"===t.version)return this.#N(e,t);let n=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,callbacks:((e,t)=>{if(e||t)return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t})(this.config?.callbacks,t?.callbacks),signal:oS(t?.signal,n.signal).signal};return new oq(super.streamEvents(e,i,r),n)}async _validateInput(e){return e}async _validateContext(e){return e}async *_streamIterator(e,t){let r,n,i="version"in(t??{})?void 0:t?.encoding??void 0,s=t?.subgraphs,a=t?.version==="v3",o=sZ(this.config,t);if(void 0===o.recursionLimit||o.recursionLimit<1)throw Error('Passed "recursionLimit" must be at least 1.');if(void 0!==this.checkpointer&&!1!==this.checkpointer&&void 0===o.configurable)throw Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let l=await this._validateInput(e),{runId:c,...h}=o,[u,p,,d,f,m,g,_,y,v,w,k]=this._defaults(h);f.metadata={ls_integration:"langgraph",...f.metadata},void 0!==f.context?f.context=await this._validateContext(f.context):f.configurable=await this._validateContext(f.configurable);let S=new oG({modes:new Set(p)});if(!0===this.checkpointer){f.configurable??={};let e=f.configurable.checkpoint_ns??"";f.configurable[x]=e.split("|").map(e=>e.split(":")[0]).join("|")}if(p.includes("messages")){let e=a?new ls(e=>S.push(e)):new lt(e=>S.push(e)),{callbacks:t}=f;if(void 0===t)f.callbacks=[e];else if(Array.isArray(t))f.callbacks=t.concat(e);else{let r=t.copy();r.addHandler(e,!0),f.callbacks=r}}if(p.includes("tools")){let e=new oK(e=>S.push(e)),{callbacks:t}=f;if(void 0===t)f.callbacks=[e];else if(Array.isArray(t))f.callbacks=t.concat(e);else{let r=t.copy();r.addHandler(e,!0),f.callbacks=r}}f.writer??=e=>{if(!p.includes("custom"))return;let t=sX()?.configurable?.[x]?.split("|").slice(0,-1);S.push([t??[],"custom",e])},f.interrupt??=this.userInterrupt??a2,null==f.serverInfo&&(f.serverInfo=function(e){let t,r=e.metadata??{},n=e.configurable??{},i=n.assistant_id??r.assistant_id,s=n.graph_id??r.graph_id,a=n.langgraph_auth_user;if(null!=a&&"object"==typeof a&&"identity"in a&&(t=a),null!=i||null!=s||null!=t)return{assistantId:null!=i?String(i):"",graphId:null!=s?String(s):"",user:t}}(f)),f.control??=new s2;let C={tracerInheritableMetadata:function(e){let t=e.configurable;if(!t)return;let r={};for(let[e,n]of Object.entries(t))!function(e,t){let r=e.toLowerCase(),n=!1;for(let e of lS)if(r.includes(e)){n=!0;break}return e.startsWith("__")||"string"!=typeof t&&"number"!=typeof t&&"boolean"!=typeof t||n}(e,n)&&(r[e]=n);return Object.keys(r).length>0?r:void 0}(f)},A=await (await tr.CallbackManager._configureSync(f?.callbacks,void 0,f?.tags,void 0,f?.metadata,void 0,C))?.handleChainStart(this.toJSON(),!e||Array.isArray(e)||e instanceof Date||"object"!=typeof e?{input:e}:e,c,void 0,void 0,void 0,f?.runName??this.getName()),O=sR(this.channels),I=(async()=>{try{r=await o9.initialize({input:l,config:f,checkpointer:_,nodes:this.nodes,channelSpecs:O,outputKeys:d,streamKeys:this.streamChannelsAsIs,store:y,cache:w,stream:S,interruptAfter:g,interruptBefore:m,manager:A,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:k});let e=new lf({loop:r,nodeFinished:f.configurable?.[E]});t?.subgraphs&&(r.config.configurable={...r.config.configurable,[b]:r.stream}),await this._runLoop({loop:r,runner:e,debug:u,config:f}),"sync"===k&&await Promise.all(r?.checkpointerPromises??[])}catch(e){n=e}finally{try{r&&(await r.store?.stop(),await r.cache?.stop()),await Promise.all(r?.checkpointerPromises??[])}catch(e){n=n??e}n?(await new Promise(e=>{queueMicrotask(e)}),S.error(n)):S.close()}})();try{for await(let e of S){if(void 0===e)throw Error("Data structure error.");let[r,n,o]=e,l="version"in(t??{});if(p.includes(n)||"checkpoints"===n&&s8(o)&&(a||l&&s&&p.includes("values"))){if("text/event-stream"===i){s?yield[r,n,o]:yield[null,n,o];continue}s&&!v?yield[r,n,o]:v?s?yield[r,o]:yield o:yield[n,o]}}}catch(e){throw await A?.handleChainError(n),e}finally{await I}await A?.handleChainEnd(r?.output??{},c,void 0,void 0,void 0)}async invoke(e,t){let r,n=t?.streamMode??"values",i={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n,encoding:void 0},s=[],a=await this.stream(e,i),o=[];for await(let e of a)"values"===n?Y(e)?o.push(e[T]):r=e:s.push(e);if("values"===n){if(o.length>0){let e=o.flat(1);if(null==r)return{[T]:e};if("object"==typeof r)return{...r,[T]:e}}return r}return s}async _runLoop(e){let t,{loop:r,runner:n,debug:i,config:s}=e;try{for(;await r.tick({inputKeys:this.inputChannels});){var a,o,l;for(let{task:e}of(await r._matchCachedWrites()))r._outputWrites(e.id,e.writes,!0);i&&(a=r.checkpointMetadata.step,o=r.channels,l=this.streamChannelsList,console.log([`${oF(o$,`[${a}:checkpoint]`)}`,`\x1b[1m State at the end of step ${a}:\x1b[0m
90
- `,JSON.stringify(og(o,l),null,2)].join(""))),i&&oB(r.step,Object.values(r.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(e,t)=>{i&&function(e,t,r){let n={};for(let[e,i]of t)r.includes(e)&&(n[e]||(n[e]=[]),n[e].push(i));console.log([`${oF(o$,`[${e}:writes]`)}`,`\x1b[1m Finished step ${e} with writes to ${Object.keys(n).length} channel${1!==Object.keys(n).length?"s":""}:\x1b[0m
91
- `,Object.entries(n).map(([e,t])=>`- ${oF(oV,e)} -> ${t.map(e=>JSON.stringify(e)).join(", ")}`).join("\n")].join(""))}(e,t,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if("draining"===r.status){if(null==r.control)throw Error("Draining status requires run control");throw new es(r.control.drainReason??"shutdown")}if("out_of_steps"===r.status)throw new en(`Recursion limit of ${s.recursionLimit} reached without hitting a stop condition. You can increase the limit by setting the "recursionLimit" config key.`,{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(e){if(t=e,!await r.finishAndHandleError(t))throw e}finally{void 0===t&&await r.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};let lS=new Set(["key","token","secret","password","auth"]);var lx=class e extends sM{lc_graph_name="EphemeralValue";guard;value=[];constructor(e=!0){super(),this.guard=e}fromCheckpoint(t){let r=new e(this.guard);return void 0!==t&&(r.value=[t]),r}update(e){if(0===e.length){let e=this.value.length>0;return this.value=[],e}if(1!==e.length&&this.guard)throw new eb("EphemeralValue can only receive one value per step.");return this.value=[e[e.length-1]],!0}get(){if(0===this.value.length)throw new ey;return this.value[0]}checkpoint(){if(0===this.value.length)throw new ey;return this.value[0]}isAvailable(){return 0!==this.value.length}},lE=e.i(469719),lC=class{path;ends;constructor(e){tb.Runnable.isRunnable(e.path)?this.path=e.path:this.path=(0,tb._coerceToRunnable)(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((e,t)=>(e[t]=t,e),{}):e.pathMap}run(e,t){return os.registerWriter(new a8({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(e){throw e.name===el.unminifiable_name&&console.warn("[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.\nNodeInterrupt should only be thrown inside a node, not in edge conditions."),e}}}))}async _route(e,t,r,n){let i,s=await this.path.invoke(n?n(t):e,t);if(Array.isArray(s)||(s=[s]),(i=this.ends?s.map(e=>G(e)?e:this.ends[e]):s).some(e=>!e))throw Error("Branch condition returned unknown or null destination");if(i.filter(G).some(e=>"__end__"===e.node))throw new eb("Cannot send a packet to the END node");return await r(i,t)??e}},lA=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){let t=e.length>=1&&"string"!=typeof e[0]?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(0===t.length)throw Error("No nodes provided in `addNode`");for(let[e,r,n]of t){for(let t of["|",":"])if(e.includes(t))throw Error(`"${t}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),e in this.nodes)throw Error(`Node \`${e}\` already present.`);if("__end__"===e)throw Error(`Node \`${e}\` is reserved.`);let t=(0,tb._coerceToRunnable)(r);this.nodes[e]={runnable:t,metadata:n?.metadata,subgraphs:od(t)?[t]:n?.subgraphs,ends:n?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),"__end__"===e)throw Error("END cannot be a start node");if("__start__"===t)throw Error("START cannot be an end node");if(Array.from(this.edges).some(([t])=>t===e)&&!("channels"in this))throw Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n="object"==typeof e?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),tb.Runnable.isRunnable(n.path)||(n.path=(0,tb._coerceToRunnable)(n.path));let i="RunnableLambda"===n.path.getName()?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][i])throw Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][i]=new lC(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(a,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,o)}compile({checkpointer:e,interruptBefore:t,interruptAfter:r,name:n,transformers:i}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(r)?r:[]]);let s=new lO({builder:this,checkpointer:e,interruptAfter:r,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[a]:new lx,[o]:new lx},inputChannels:a,outputChannels:o,streamChannels:[],streamMode:"values",name:n,streamTransformers:i});for(let[e,t]of Object.entries(this.nodes))s.attachNode(e,t);for(let[e,t]of this.edges)s.attachEdge(e,t);for(let[e,t]of Object.entries(this.branches))for(let[r,n]of Object.entries(t))s.attachBranch(e,r,n);return s.validate()}validate(e){let t=new Set([...this.allEdges].map(([e,t])=>e));for(let[e]of Object.entries(this.branches))t.add(e);for(let e of t)if("__start__"!==e&&!(e in this.nodes))throw Error(`Found edge starting at unknown node \`${e}\``);let r=new Set([...this.allEdges].map(([e,t])=>t));for(let[e,t]of Object.entries(this.branches))for(let n of Object.values(t))if(null!=n.ends)for(let e of Object.values(n.ends))r.add(e);else for(let t of(r.add(o),Object.keys(this.nodes)))t!==e&&r.add(t);for(let e of Object.values(this.nodes))for(let t of e.ends??[])r.add(t);if(Object.values(this.nodes).some(e=>e.isErrorHandler))for(let e of Object.keys(this.nodes))r.add(e);for(let e of Object.keys(this.nodes))if(!this.nodes[e].isErrorHandler&&!r.has(e))throw new ew(`Node \`${e}\` is not reachable.
89
+ `))}finally{t.close()}}})),t)}return l}streamEvents(e,t,r){if("v3"===t.version)return this.#N(e,t);let n=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,callbacks:((e,t)=>{if(e||t)return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t})(this.config?.callbacks,t?.callbacks),signal:oh(t?.signal,n.signal).signal};return new oN(super.streamEvents(e,i,r),n)}async _validateInput(e){return e}async _validateContext(e){return e}async *_streamIterator(e,t){let r,n,i="version"in(t??{})?void 0:t?.encoding??void 0,s=t?.subgraphs,a=t?.version==="v3",o=sF(this.config,t);if(void 0===o.recursionLimit||o.recursionLimit<1)throw Error('Passed "recursionLimit" must be at least 1.');if(void 0!==this.checkpointer&&!1!==this.checkpointer&&void 0===o.configurable)throw Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let l=await this._validateInput(e),{runId:c,...h}=o,[u,p,,d,f,m,g,_,y,b,w,k]=this._defaults(h);f.metadata={ls_integration:"langgraph",...f.metadata},void 0!==f.context?f.context=await this._validateContext(f.context):f.configurable=await this._validateContext(f.configurable);let S=new oP({modes:new Set(p)});if(!0===this.checkpointer){f.configurable??={};let e=f.configurable.checkpoint_ns??"";f.configurable[x]=e.split("|").map(e=>e.split(":")[0]).join("|")}if(p.includes("messages")){let e=a?new oY(e=>S.push(e)):new oK(e=>S.push(e)),{callbacks:t}=f;if(void 0===t)f.callbacks=[e];else if(Array.isArray(t))f.callbacks=t.concat(e);else{let r=t.copy();r.addHandler(e,!0),f.callbacks=r}}if(p.includes("tools")){let e=new oM(e=>S.push(e)),{callbacks:t}=f;if(void 0===t)f.callbacks=[e];else if(Array.isArray(t))f.callbacks=t.concat(e);else{let r=t.copy();r.addHandler(e,!0),f.callbacks=r}}f.writer??=e=>{if(!p.includes("custom"))return;let t=sD()?.configurable?.[x]?.split("|").slice(0,-1);S.push([t??[],"custom",e])},f.interrupt??=this.userInterrupt??aW,null==f.serverInfo&&(f.serverInfo=function(e){let t,r=e.metadata??{},n=e.configurable??{},i=n.assistant_id??r.assistant_id,s=n.graph_id??r.graph_id,a=n.langgraph_auth_user;if(null!=a&&"object"==typeof a&&"identity"in a&&(t=a),null!=i||null!=s||null!=t)return{assistantId:null!=i?String(i):"",graphId:null!=s?String(s):"",user:t}}(f)),f.control??=new sW;let C={tracerInheritableMetadata:function(e){let t=e.configurable;if(!t)return;let r={};for(let[e,n]of Object.entries(t))!function(e,t){let r=e.toLowerCase(),n=!1;for(let e of ls)if(r.includes(e)){n=!0;break}return e.startsWith("__")||"string"!=typeof t&&"number"!=typeof t&&"boolean"!=typeof t||n}(e,n)&&(r[e]=n);return Object.keys(r).length>0?r:void 0}(f)},A=await (await eX.CallbackManager._configureSync(f?.callbacks,void 0,f?.tags,void 0,f?.metadata,void 0,C))?.handleChainStart(this.toJSON(),!e||Array.isArray(e)||e instanceof Date||"object"!=typeof e?{input:e}:e,c,void 0,void 0,void 0,f?.runName??this.getName()),O=sS(this.channels),I=(async()=>{try{r=await oW.initialize({input:l,config:f,checkpointer:_,nodes:this.nodes,channelSpecs:O,outputKeys:d,streamKeys:this.streamChannelsAsIs,store:y,cache:w,stream:S,interruptAfter:g,interruptBefore:m,manager:A,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:k});let e=new o8({loop:r,nodeFinished:f.configurable?.[E]});t?.subgraphs&&(r.config.configurable={...r.config.configurable,[v]:r.stream}),await this._runLoop({loop:r,runner:e,debug:u,config:f}),"sync"===k&&await Promise.all(r?.checkpointerPromises??[])}catch(e){n=e}finally{try{r&&(await r.store?.stop(),await r.cache?.stop()),await Promise.all(r?.checkpointerPromises??[])}catch(e){n=n??e}n?(await new Promise(e=>{queueMicrotask(e)}),S.error(n)):S.close()}})();try{for await(let e of S){if(void 0===e)throw Error("Data structure error.");let[r,n,o]=e,l="version"in(t??{});if(p.includes(n)||"checkpoints"===n&&sG(o)&&(a||l&&s&&p.includes("values"))){if("text/event-stream"===i){s?yield[r,n,o]:yield[null,n,o];continue}s&&!b?yield[r,n,o]:b?s?yield[r,o]:yield o:yield[n,o]}}}catch(e){throw await A?.handleChainError(n),e}finally{await I}await A?.handleChainEnd(r?.output??{},c,void 0,void 0,void 0)}async invoke(e,t){let r,n=t?.streamMode??"values",i={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n,encoding:void 0},s=[],a=await this.stream(e,i),o=[];for await(let e of a)"values"===n?Y(e)?o.push(e[T]):r=e:s.push(e);if("values"===n){if(o.length>0){let e=o.flat(1);if(null==r)return{[T]:e};if("object"==typeof r)return{...r,[T]:e}}return r}return s}async _runLoop(e){let t,{loop:r,runner:n,debug:i,config:s}=e;try{for(;await r.tick({inputKeys:this.inputChannels});){var a,o,l;for(let{task:e}of(await r._matchCachedWrites()))r._outputWrites(e.id,e.writes,!0);i&&(a=r.checkpointMetadata.step,o=r.channels,l=this.streamChannelsList,console.log([`${oE(ok,`[${a}:checkpoint]`)}`,`\x1b[1m State at the end of step ${a}:\x1b[0m
90
+ `,JSON.stringify(on(o,l),null,2)].join(""))),i&&oI(r.step,Object.values(r.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(e,t)=>{i&&function(e,t,r){let n={};for(let[e,i]of t)r.includes(e)&&(n[e]||(n[e]=[]),n[e].push(i));console.log([`${oE(ok,`[${e}:writes]`)}`,`\x1b[1m Finished step ${e} with writes to ${Object.keys(n).length} channel${1!==Object.keys(n).length?"s":""}:\x1b[0m
91
+ `,Object.entries(n).map(([e,t])=>`- ${oE(ox,e)} -> ${t.map(e=>JSON.stringify(e)).join(", ")}`).join("\n")].join(""))}(e,t,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if("draining"===r.status){if(null==r.control)throw Error("Draining status requires run control");throw new es(r.control.drainReason??"shutdown")}if("out_of_steps"===r.status)throw new en(`Recursion limit of ${s.recursionLimit} reached without hitting a stop condition. You can increase the limit by setting the "recursionLimit" config key.`,{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(e){if(t=e,!await r.finishAndHandleError(t))throw e}finally{void 0===t&&await r.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};let ls=new Set(["key","token","secret","password","auth"]);var la=class e extends sw{lc_graph_name="EphemeralValue";guard;value=[];constructor(e=!0){super(),this.guard=e}fromCheckpoint(t){let r=new e(this.guard);return void 0!==t&&(r.value=[t]),r}update(e){if(0===e.length){let e=this.value.length>0;return this.value=[],e}if(1!==e.length&&this.guard)throw new ev("EphemeralValue can only receive one value per step.");return this.value=[e[e.length-1]],!0}get(){if(0===this.value.length)throw new ey;return this.value[0]}checkpoint(){if(0===this.value.length)throw new ey;return this.value[0]}isAvailable(){return 0!==this.value.length}},lo=e.i(469719),ll=class{path;ends;constructor(e){ta.Runnable.isRunnable(e.path)?this.path=e.path:this.path=(0,ta._coerceToRunnable)(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((e,t)=>(e[t]=t,e),{}):e.pathMap}run(e,t){return a4.registerWriter(new aG({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(e){throw e.name===el.unminifiable_name&&console.warn("[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.\nNodeInterrupt should only be thrown inside a node, not in edge conditions."),e}}}))}async _route(e,t,r,n){let i,s=await this.path.invoke(n?n(t):e,t);if(Array.isArray(s)||(s=[s]),(i=this.ends?s.map(e=>G(e)?e:this.ends[e]):s).some(e=>!e))throw Error("Branch condition returned unknown or null destination");if(i.filter(G).some(e=>"__end__"===e.node))throw new ev("Cannot send a packet to the END node");return await r(i,t)??e}},lc=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){let t=e.length>=1&&"string"!=typeof e[0]?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(0===t.length)throw Error("No nodes provided in `addNode`");for(let[e,r,n]of t){for(let t of["|",":"])if(e.includes(t))throw Error(`"${t}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),e in this.nodes)throw Error(`Node \`${e}\` already present.`);if("__end__"===e)throw Error(`Node \`${e}\` is reserved.`);let t=(0,ta._coerceToRunnable)(r);this.nodes[e]={runnable:t,metadata:n?.metadata,subgraphs:oe(t)?[t]:n?.subgraphs,ends:n?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),"__end__"===e)throw Error("END cannot be a start node");if("__start__"===t)throw Error("START cannot be an end node");if(Array.from(this.edges).some(([t])=>t===e)&&!("channels"in this))throw Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n="object"==typeof e?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),ta.Runnable.isRunnable(n.path)||(n.path=(0,ta._coerceToRunnable)(n.path));let i="RunnableLambda"===n.path.getName()?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][i])throw Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][i]=new ll(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(a,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,o)}compile({checkpointer:e,interruptBefore:t,interruptAfter:r,name:n,transformers:i}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(r)?r:[]]);let s=new lh({builder:this,checkpointer:e,interruptAfter:r,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[a]:new la,[o]:new la},inputChannels:a,outputChannels:o,streamChannels:[],streamMode:"values",name:n,streamTransformers:i});for(let[e,t]of Object.entries(this.nodes))s.attachNode(e,t);for(let[e,t]of this.edges)s.attachEdge(e,t);for(let[e,t]of Object.entries(this.branches))for(let[r,n]of Object.entries(t))s.attachBranch(e,r,n);return s.validate()}validate(e){let t=new Set([...this.allEdges].map(([e,t])=>e));for(let[e]of Object.entries(this.branches))t.add(e);for(let e of t)if("__start__"!==e&&!(e in this.nodes))throw Error(`Found edge starting at unknown node \`${e}\``);let r=new Set([...this.allEdges].map(([e,t])=>t));for(let[e,t]of Object.entries(this.branches))for(let n of Object.values(t))if(null!=n.ends)for(let e of Object.values(n.ends))r.add(e);else for(let t of(r.add(o),Object.keys(this.nodes)))t!==e&&r.add(t);for(let e of Object.values(this.nodes))for(let t of e.ends??[])r.add(t);if(Object.values(this.nodes).some(e=>e.isErrorHandler))for(let e of Object.keys(this.nodes))r.add(e);for(let e of Object.keys(this.nodes))if(!this.nodes[e].isErrorHandler&&!r.has(e))throw new ew(`Node \`${e}\` is not reachable.
92
92
 
93
93
  If you are returning Command objects from your node,
94
94
  make sure you are passing names of potential destination nodes as an "ends" array
95
- into ".addNode(..., { ends: ["node1", "node2"] })".`,{lc_error_code:"UNREACHABLE_NODE"});for(let e of r)if("__end__"!==e&&!(e in this.nodes))throw Error(`Found edge ending at unknown node \`${e}\``);if(e){for(let t of e)if(!(t in this.nodes))throw Error(`Interrupt node \`${t}\` is not present`)}this.compiled=!0}},lO=class extends lk{builder;constructor({builder:e,...t}){super(t),this.builder=e}withConfig(e){return super.withConfig(e)}attachNode(e,t){this.channels[e]=new lx,this.nodes[e]=new op({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new os([{channel:e,value:or}],[$])),this.streamChannels.push(e)}attachEdge(e,t){if("__end__"===t){if("__start__"===e)throw Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new os([{channel:o,value:or}],[$]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){for(let n of("__start__"!==e||this.nodes.__start__||(this.nodes[a]=lv.subscribeTo(a,{tags:[$]})),this.nodes[e].pipe(r.run(r=>new os(r.map(r=>G(r)?r:{channel:"__end__"===r?o:`branch:${e}:${t}:${r}`,value:or}),[$]))),r.ends?Object.values(r.ends):Object.keys(this.nodes)))if("__end__"!==n){let r=`branch:${e}:${t}:${n}`;this.channels[r]=new lx,this.nodes[n].triggers.push(r),this.nodes[n].channels.push(r)}}async getGraphAsync(e){let t=e?.xray,r=new tc.Graph,n={[a]:r.addNode({schema:lE.z.any()},a)},i={},s={};t&&(s=Object.fromEntries((await a3(this.getSubgraphsAsync())).filter(e=>lI(e[1]))));let l=[];function c(e,t,s,a=!1){if("__end__"===t&&void 0===i.__end__&&(i[o]=r.addNode({schema:lE.z.any()},o)),void 0!==n[e]){if(void 0===i[t])throw Error(`End node ${t} not found!`);return l.push({src:e,dest:t,conditional:a}),r.addEdge(n[e],i[t],s!==t?s:void 0,a)}}for(let[a,o]of Object.entries(this.builder.nodes)){let l=lT(a),c=o.runnable,u=o.metadata??{};if(this.interruptBefore?.includes(a)&&this.interruptAfter?.includes(a)?u.__interrupt="before,after":this.interruptBefore?.includes(a)?u.__interrupt="before":this.interruptAfter?.includes(a)&&(u.__interrupt="after"),t){let o="number"==typeof t?t-1:t,p=void 0!==s[a]?await s[a].getGraphAsync({...e,xray:o}):c.getGraph(e);if(p.trimFirstNode(),p.trimLastNode(),Object.keys(p.nodes).length>1){let[e,t]=r.extend(p,l);if(void 0===e)throw Error(`Could not extend subgraph "${a}" due to missing entrypoint.`);function h(e,t){if(void 0!==e&&!o1(e))return e;if(!t||!t.lc_runnable)return t.name??"UnknownSchema";try{let e=t.getName();return e=e.startsWith("Runnable")?e.slice(8):e}catch{return t.getName()}}void 0!==t&&(n[l]={name:h(t.id,t.data),...t}),i[l]={name:h(e.id,e.data),...e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}for(let[e,t]of[...this.builder.allEdges].sort(([e],[t])=>e<t?-1:+(t>e)))c(lT(e),lT(t));for(let[e,t]of Object.entries(this.builder.branches)){let r={...Object.fromEntries(Object.keys(this.builder.nodes).filter(t=>t!==e).map(e=>[lT(e),lT(e)])),[o]:o};for(let n of Object.values(t)){for(let[t,i]of Object.entries(void 0!==n.ends?n.ends:r))c(lT(e),lT(i),t,!0)}}for(let[e,t]of Object.entries(this.builder.nodes))if(void 0!==t.ends)for(let r of t.ends)c(lT(e),lT(r),void 0,!0);return lj(this.builder.nodes,l,c),r}getGraph(e){let t=e?.xray,r=new tc.Graph,n={[a]:r.addNode({schema:lE.z.any()},a)},i={},s={};t&&(s=Object.fromEntries(a9(this.getSubgraphs()).filter(e=>lI(e[1]))));let l=[];function c(e,t,s,a=!1){if("__end__"===t&&void 0===i.__end__&&(i[o]=r.addNode({schema:lE.z.any()},o)),void 0!==n[e]){if(void 0===i[t])throw Error(`End node ${t} not found!`);return l.push({src:e,dest:t,conditional:a}),r.addEdge(n[e],i[t],s!==t?s:void 0,a)}}for(let[a,o]of Object.entries(this.builder.nodes)){let l=lT(a),c=o.runnable,u=o.metadata??{};if(this.interruptBefore?.includes(a)&&this.interruptAfter?.includes(a)?u.__interrupt="before,after":this.interruptBefore?.includes(a)?u.__interrupt="before":this.interruptAfter?.includes(a)&&(u.__interrupt="after"),t){let o="number"==typeof t?t-1:t,p=void 0!==s[a]?s[a].getGraph({...e,xray:o}):c.getGraph(e);if(p.trimFirstNode(),p.trimLastNode(),Object.keys(p.nodes).length>1){let[e,t]=r.extend(p,l);if(void 0===e)throw Error(`Could not extend subgraph "${a}" due to missing entrypoint.`);function h(e,t){if(void 0!==e&&!o1(e))return e;if(!t||!t.lc_runnable)return t.name??"UnknownSchema";try{let e=t.getName();return e=e.startsWith("Runnable")?e.slice(8):e}catch{return t.getName()}}void 0!==t&&(n[l]={name:h(t.id,t.data),...t}),i[l]={name:h(e.id,e.data),...e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}for(let[e,t]of[...this.builder.allEdges].sort(([e],[t])=>e<t?-1:+(t>e)))c(lT(e),lT(t));for(let[e,t]of Object.entries(this.builder.branches)){let r={...Object.fromEntries(Object.keys(this.builder.nodes).filter(t=>t!==e).map(e=>[lT(e),lT(e)])),[o]:o};for(let n of Object.values(t)){for(let[t,i]of Object.entries(void 0!==n.ends?n.ends:r))c(lT(e),lT(i),t,!0)}}for(let[e,t]of Object.entries(this.builder.nodes))if(void 0!==t.ends)for(let r of t.ends)c(lT(e),lT(r),void 0,!0);return lj(this.builder.nodes,l,c),r}};function lI(e){return"function"==typeof e.attachNode&&"function"==typeof e.attachEdge}function lT(e){return"subgraph"===e?`"${e}"`:e}function lj(e,t,r){let n=new Set(t.map(e=>e.src));for(let i of[...new Set(t.filter(e=>!e.conditional&&"__end__"!==e.dest).map(e=>e.dest))].sort()){if(n.has(i))continue;let t=Object.keys(e).find(e=>lT(e)===i);void 0!==t&&e[t]?.isErrorHandler||r(i,o)}}function lN(e){return"object"==typeof e&&null!==e&&"~standard"in e&&"object"==typeof e["~standard"]&&null!==e["~standard"]&&"validate"in e["~standard"]}function lP(e){return"object"==typeof e&&null!==e&&"~standard"in e&&"object"==typeof e["~standard"]&&null!==e["~standard"]&&"jsonSchema"in e["~standard"]}function lM(e){return lN(e)&&lP(e)}function l$(e){if(lP(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function lR(e){if(null!=e&&lN(e))try{let t=e["~standard"].validate(void 0);if(t&&"object"==typeof t&&!("then"in t&&"function"==typeof t.then)&&!t.issues){let e=t.value;return()=>e}}catch{}}e.s(["Branch",()=>lC,"CompiledGraph",()=>lO,"Graph",()=>lA],499566),e.s(["isSerializableSchema",()=>lM,"isStandardJSONSchema",()=>lP,"isStandardSchema",()=>lN],799329),e.s(["getJsonSchemaFromSchema",()=>l$,"getSchemaDefaultGetter",()=>lR],925566);var lV=class e extends sM{lc_graph_name="DeltaChannel";value;reducer;snapshotFrequency;initialValueFactory;constructor(e,t){super();const r=t?.snapshotFrequency??1e3;if(!Number.isInteger(r)||r<=0)throw Error(`snapshotFrequency must be a positive integer, got ${r}`);this.reducer=e,this.snapshotFrequency=r,this.initialValueFactory=t?.initialValueFactory??(()=>[]),this.value=void 0}fromCheckpoint(t){let r=new e(this.reducer,{snapshotFrequency:this.snapshotFrequency,initialValueFactory:this.initialValueFactory});if(void 0===t)r.value=this.initialValueFactory();else null!=t&&"object"==typeof t&&"DeltaSnapshot"===t.lg_name?r.value=t.value:r.value=t;return r}replayWrites(e){let t=e.map(e=>e[2]);if(0===t.length)return;let r=this.value,n=0;for(let e=0;e<t.length;e+=1){let[i,s]=J(t[e]);i&&(r=null!=s?s:this.initialValueFactory(),n=e+1)}let i=t.slice(n);this.value=i.length>0?this.reducer(r,i):r}update(e){let t;if(0===e.length)return!1;for(let r=0;r<e.length;r+=1)if(Z(e[r])){if(void 0!==t)throw new eb("Can receive only one Overwrite value per step.");t=r}if(void 0!==t){let[,r]=J(e[t]),n=null!=r?r:this.initialValueFactory(),i=e.slice(t+1);return this.value=i.length>0?this.reducer(n,i):n,!0}let r=void 0===this.value?this.initialValueFactory():this.value;return this.value=this.reducer(r,e),!0}get(){if(void 0===this.value)throw new ey;return this.value}checkpoint(){}isAvailable(){return void 0!==this.value}equals(e){return this===e||null!=e&&"DeltaChannel"===e.lc_graph_name&&this.snapshotFrequency===e.snapshotFrequency&&this.reducer===e.reducer}};e.s(["DeltaChannel",()=>lV],207147);let lF=Symbol.for("langgraph.channel.missing");var lL=class e extends sM{lc_graph_name="UntrackedValue";guard;_value=lF;initialValueFactory;constructor(e){super(),this.guard=e?.guard??!0,this.initialValueFactory=e?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new e({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(e){if(0===e.length)return!1;if(1!==e.length&&this.guard)throw new eb("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=e[e.length-1],!0}get(){if(this._value===lF)throw new ey;return this._value}checkpoint(){}isAvailable(){return this._value!==lF}};e.s(["UntrackedValueChannel",()=>lL],424701);let lD=Symbol.for("langgraph.state.reduced_value");var lU=class{[lD]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return"object"==typeof e&&null!==e&&lD in e&&!0===e[lD]}};e.s(["ReducedValue",()=>lU],376533);let lB=Symbol.for("langgraph.state.untracked_value");var lH=class{[lB]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return"object"==typeof e&&null!==e&&lB in e}};e.s(["UntrackedValue",()=>lH],869891);let lW=(e,t)=>e.size===t.size&&[...e].every(e=>t.has(e));var lq=class e extends sM{lc_graph_name="NamedBarrierValue";names;seen;constructor(e){super(),this.names=e,this.seen=new Set}fromCheckpoint(t){let r=new e(this.names);return void 0!==t&&(r.seen=new Set(t)),r}update(e){let t=!1;for(let r of e)if(this.names.has(r))this.seen.has(r)||(this.seen.add(r),t=!0);else throw new eb(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!lW(this.names,this.seen))throw new ey}checkpoint(){return[...this.seen]}consume(){return!!(this.seen&&this.names&&lW(this.seen,this.names))&&(this.seen=new Set,!0)}isAvailable(){return!!this.names&&lW(this.names,this.seen)}},lG=class e extends sM{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(e){super(),this.names=e,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new e(this.names);if(void 0!==t){let[e,n]=t;r.seen=new Set(e),r.finished=n}return r}update(e){let t=!1;for(let r of e)if(this.names.has(r)&&!this.seen.has(r))this.seen.add(r),t=!0;else if(!this.names.has(r))throw new eb(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!this.finished||!lW(this.names,this.seen))throw new ey}checkpoint(){return[[...this.seen],this.finished]}consume(){return!!(this.finished&&this.seen&&this.names&&lW(this.seen,this.names))&&(this.seen=new Set,this.finished=!1,!0)}finish(){return!!(!this.finished&&this.names&&lW(this.names,this.seen))&&(this.finished=!0,!0)}isAvailable(){return this.finished&&!!this.names&&lW(this.names,this.seen)}};let lK=Symbol.for("langgraph.state.state_schema");var lz=class{[lK]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(lU.isInstance(r)){let n=lR(r.valueSchema);e[t]=new sU(r.reducer,n)}else if(lH.isInstance(r)){let n=r.schema?lR(r.schema):void 0;e[t]=new lL({guard:r.guard,initialValueFactory:n})}else if(lN(r))e[t]=new sB(lR(r));else throw Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(lU.isInstance(n)?(i=l$(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):lH.isInstance(n)?i=n.schema?l$(n.schema):void 0:lN(n)&&(i=l$(n)),i){e[r]=i;(lU.isInstance(n)?void 0===lR(n.valueSchema):lH.isInstance(n)?!n.schema||void 0===lR(n.schema):void 0===lR(n))&&t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;lU.isInstance(r)?(n=l$(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):lH.isInstance(r)?n=r.schema?l$(r.schema):void 0:lN(r)&&(n=l$(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(null==e||"object"!=typeof e)return e;let t={};for(let[r,n]of Object.entries(e)){let e,i=this.fields[r];if(void 0===i){t[r]=n;continue}if(lU.isInstance(i)){let[s,a]=J(n);if(s){e=i.valueSchema;let n=await e["~standard"].validate(a);if(n.issues)throw Error(`Validation failed for field "${r}": ${JSON.stringify(n.issues)}`);t[r]={[K]:n.value};continue}e=i.inputSchema}else lH.isInstance(i)?e=i.schema:lN(i)&&(e=i);if(e){let i=await e["~standard"].validate(n);if(i.issues)throw Error(`Validation failed for field "${r}": ${JSON.stringify(i.issues)}`);t[r]=i.value}else t[r]=n}return t}static isInstance(e){return"object"==typeof e&&null!==e&&lK in e&&!0===e[lK]}};e.s(["StateSchema",()=>lz],134946);var lJ=e.i(65955);function lZ(e,t){let r,n=Array.isArray(e)?e:[e],i=Array.isArray(t)?t:[t],s=n.map(r4.coerceMessageLikeToMessage),a=i.map(r4.coerceMessageLikeToMessage);for(let e of s)(null===e.id||void 0===e.id)&&(e.id=o2(),e.lc_kwargs.id=e.id);for(let e=0;e<a.length;e+=1){let t=a[e];(null===t.id||void 0===t.id)&&(t.id=o2(),t.lc_kwargs.id=t.id),lJ.RemoveMessage.isInstance(t)&&"__remove_all__"===t.id&&(r=e)}if(null!=r)return a.slice(r+1);let o=[...s],l=new Map(o.map((e,t)=>[e.id,t])),c=new Set;for(let e of a){let t=l.get(e.id);if(void 0!==t)lJ.RemoveMessage.isInstance(e)?c.add(e.id):(c.delete(e.id),o[t]=e);else{if(lJ.RemoveMessage.isInstance(e))throw Error(`Attempting to delete a message with an ID that doesn't exist ('${e.id}')`);l.set(e.id,o.length),o.push(e)}}return o.filter(e=>!c.has(e.id))}function lY(e,t){let r=[];for(let e of t)Array.isArray(e)?r.push(...e):r.push(e);let n=e.length>0&&rX.BaseMessage.isInstance(e[0])?e:e.map(r4.coerceMessageLikeToMessage),i=r.map(r4.coerceMessageLikeToMessage),s=new Map;for(let e=0;e<n.length;e+=1){let t=n[e].id;null!=t&&s.set(t,e)}let a=[...n];for(let e of i){let t=e.id;null==t?a.push(e):lJ.RemoveMessage.isInstance(e)?s.has(t)&&(a[s.get(t)]=null,s.delete(t)):s.has(t)?a[s.get(t)]=e:(s.set(t,a.length),a.push(e))}return a.filter(e=>null!==e)}e.s(["REMOVE_ALL_MESSAGES",()=>"__remove_all__","messagesDeltaReducer",()=>lY,"messagesStateReducer",()=>lZ],642439);let lQ=new lU(lE.z.custom().default(()=>[]),{inputSchema:lE.z.custom(),reducer:lZ,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});e.s(["MessagesValue",()=>lQ],335516);var lX=e.i(238073),l0=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={};for(let[r,n]of Object.entries((0,lX.getInteropZodObjectShape)(e))){let e=this.get(n);e?.reducer?t[r]=new sU(e.reducer.fn,e.default):t[r]=new sB(e?.default)}return t}getExtendedChannelSchemas(e,t){if(0===Object.keys(t).length)return e;let r=Object.entries(t).filter(([,e])=>!0===e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}:${t}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let r=Object.entries((0,lX.getInteropZodObjectShape)(e)).map(([e,r])=>{let n=this.get(r),i=t.withReducerSchema?n?.reducer?.schema??r:r;if(t.withJsonSchemaExtrasAsDescription&&n?.jsonSchemaExtra){let e=(0,lX.getSchemaDescription)(i)??(0,lX.getSchemaDescription)(r),t=JSON.stringify({...n.jsonSchemaExtra,description:e});i=i.describe(`lg:${t}`)}return[e,i]});i=(0,lX.extendInteropZodObject)(e,Object.fromEntries(r)),(0,lX.isZodSchemaV3)(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=(0,lX.interopZodObjectPartial)(i)),n.set(e,i),this._extensionCache.set(r,n),i}};let l1=new l0;function l4(e,t){if(t.reducer&&!t.default){let r=(0,lX.getInteropZodDefaultGetter)(e);null!=r&&(t.default=r)}if(!t.reducer)return l1.extend(e,()=>t),e;{let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return l1.extend(r,()=>t),r}}function l2(e){return null!=e&&!!(lz.isInstance(e)||(0,lX.isInteropZodObject)(e)||"object"==typeof e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(e=>"function"==typeof e||sP(e)))}e.s(["META_EXTRAS_DESCRIPTION_PREFIX",()=>"lg:","SchemaMetaRegistry",()=>l0,"schemaMetaRegistry",()=>l1,"withLangGraph",()=>l4],590434);let l6="__root__",l8="__default_error_handler__",l5=Symbol.for("langgraph.state.partial");var l3=class extends lA{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=l1;_configSchema;_configRuntimeSchema;_interrupt;_writer;_nodeDefaults={};constructor(e,t){super();const r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new eS;const i=this._getChannelsFromSchema(n);this._schemaDefinition=i,lz.isInstance(n)?this._schemaRuntimeDefinition=n:(0,lX.isInteropZodObject)(n)&&(this._schemaRuntimeDefinition=n),r.input&&(lz.isInstance(r.input)||(0,lX.isInteropZodObject)(r.input))?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=l5,r.output&&(lz.isInstance(r.output)||(0,lX.isInteropZodObject)(r.output))?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;const s=r.input?this._getChannelsFromSchema(r.input):i,a=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=s,this._outputDefinition=a,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&(0,lX.isInteropZodObject)(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}setNodeDefaults(e){return void 0!==e.retryPolicy&&(this._nodeDefaults.retryPolicy=e.retryPolicy),void 0!==e.cachePolicy&&(this._nodeDefaults.cachePolicy="boolean"==typeof e.cachePolicy?e.cachePolicy?{}:void 0:e.cachePolicy),void 0!==e.timeout&&(this._nodeDefaults.timeout=s(e.timeout)),void 0!==e.errorHandler&&(this._nodeDefaults.errorHandler=e.errorHandler),this}_createDefaultErrorHandlerSpec(){let e=this._nodeDefaults.errorHandler;if(void 0!==e)return{runnable:new a8({func:(t,r)=>e(t,r?.configurable?.[C],r),name:l8,trace:!1}),metadata:void 0,input:this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0}}_normalizeToStateGraphInit(e,t){var r;if(function(e){if("object"!=typeof e||null==e)return!1;let t="state"in e&&l2(e.state),r="stateSchema"in e&&l2(e.stateSchema),n="input"in e&&l2(e.input);return(!!t||!!r||!!n)&&(!("input"in e)||null==e.input||!!l2(e.input))&&(!("output"in e)||null==e.output||!!l2(e.output))}(e))return(0,lX.isInteropZodObject)(t)||sW.isInstance(t)?{...e,context:t}:{...e,input:e.input??t?.input,output:e.output??t?.output,context:e.context??t?.context,interrupt:e.interrupt??t?.interrupt,writer:e.writer??t?.writer,nodes:e.nodes??t?.nodes};if(l2(e))return(0,lX.isInteropZodObject)(t)||sW.isInstance(t)?{state:e,context:t}:{state:e,input:t?.input,output:t?.output,context:t?.context,interrupt:t?.interrupt,writer:t?.writer,nodes:t?.nodes};if("object"==typeof(r=e)&&null!==r&&void 0!==r.channels)return{state:function(e){let t={};for(let[r,n]of Object.entries(e))t[r]=sG(n);return t}(e.channels)};throw new eS}_getChannelsFromSchema(e){if(lz.isInstance(e))return e.getChannels();if((0,lX.isInteropZodObject)(e))return this._metaRegistry.getChannelsForSchema(e);if("object"==typeof e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name)return e.spec;if("object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new eS("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(e=>[e,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e))for(let[t,r]of(this._schemaDefinitions.set(e,e),Object.entries(e))){let e;if(e="function"==typeof r?r():r,void 0!==this.channels[t]){if(!this.channels[t].equals(e)&&"LastValue"!==e.lc_graph_name)throw Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=e}}addNode(...e){let t=e.length>=1&&"string"!=typeof e[0]?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([e,t])=>[e,t]):[[e[0],e[1],e[2]]];if(0===t.length)throw Error("No nodes provided in `addNode`");for(let[e,r,n]of t){let t,i,a;if(e in this.channels)throw Error(`${e} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let t of["|",":"])if(e.includes(t))throw Error(`"${t}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),e in this.nodes)throw Error(`Node \`${e}\` already present.`);if("__end__"===e||"__start__"===e)throw Error(`Node \`${e}\` is reserved.`);let o=this._schemaDefinition;n?.input!==void 0&&(o=this._getChannelsFromSchema(n.input)),this._addSchema(o),t=tb.Runnable.isRunnable(r)?r:"function"==typeof r?new a8({func:r,name:e,trace:!1}):(0,tb._coerceToRunnable)(r);let l=n?.cachePolicy;if(void 0!==l&&(i="boolean"==typeof l?!!l&&{}:l),n?.errorHandler!==void 0){if((a=`__error_handler__${e}`)in this.nodes)throw Error(`Cannot add error handler to node \`${e}\`: the reserved name \`${a}\` is already in use. StateGraph registers \`__error_handler__<nodeName>\` when you pass \`errorHandler\` in addNode options. Remove or rename the existing node with that name (for example, you may have added it manually).`);let t=n.errorHandler,r={runnable:new a8({func:(e,r)=>t(e,r?.configurable?.[C],r),name:a,trace:!1}),metadata:void 0,input:o??this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0};this.nodes[a]=r}let c={runnable:t,retryPolicy:n?.retryPolicy,cachePolicy:i,timeout:s(n?.timeout),metadata:n?.metadata,input:o??this._schemaDefinition,subgraphs:od(t)?[t]:n?.subgraphs,ends:n?.ends,defer:n?.defer,errorHandlerNode:a};this.nodes[e]=c}return this}addEdge(e,t){if("string"==typeof e)return super.addEdge(e,t);for(let t of(this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e)){if("__end__"===t)throw Error("END cannot be a start node");if(!Object.keys(this.nodes).some(e=>e===t))throw Error(`Need to add a node named "${t}" first`)}if("__end__"===t)throw Error("END cannot be an end node");if(!Object.keys(this.nodes).some(e=>e===t))throw Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t,r=Array.isArray(e)?e:Object.entries(e);if(0===r.length)throw Error("Sequence requires at least one node.");for(let[e,n,i]of r){if(e in this.nodes)throw Error(`Node names must be unique: node with the name "${e}" already exists.`);this.addNode(e,n,i),null!=t&&this.addEdge(t,e),t=e}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:a,transformers:o}={}){let l=this._createDefaultErrorHandlerSpec();if(void 0!==l){if(l8 in this.nodes)throw Error(`Cannot apply a default error handler: the reserved node name \`${l8}\` is already in use. setNodeDefaults({ errorHandler }) registers a node with that name; rename the conflicting node.`);this.nodes[l8]=l}try{return this._compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:a,transformers:o,defaultErrorHandlerNode:void 0!==l?l8:void 0})}finally{void 0!==l&&delete this.nodes[l8]}}_compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:o,transformers:l,defaultErrorHandlerNode:c}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let h=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=1===h.length&&h[0]===l6?l6:h,p=Object.keys(this.channels),d=1===p.length&&p[0]===l6?l6:p,f=this._interrupt,m=new l9({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[a]:new lx},inputChannels:a,outputChannels:u,streamChannels:d,streamMode:"updates",store:t,cache:r,name:s,description:o,userInterrupt:f,streamTransformers:l});m.attachNode(a);let g=this._nodeDefaults,_=void 0!==g.retryPolicy||void 0!==g.cachePolicy||void 0!==g.timeout||void 0!==c;for(let[e,t]of Object.entries(this.nodes)){let r=!0===t.isErrorHandler,n=_?{...t,retryPolicy:t.retryPolicy??g.retryPolicy,cachePolicy:r||!1===t.cachePolicy?void 0:t.cachePolicy??g.cachePolicy,timeout:t.timeout??g.timeout,errorHandlerNode:r||void 0===c||void 0!==t.errorHandlerNode?t.errorHandlerNode:c}:t;m.attachNode(e,n)}for(let[e]of(m.attachBranch(a,R,ce(),{withReader:!1}),Object.entries(this.nodes)))m.attachBranch(e,R,ce(),{withReader:!1});for(let[e,t]of this.edges)m.attachEdge(e,t);for(let[e,t]of this.waitingEdges)m.attachEdge(e,t);for(let[e,t]of Object.entries(this.branches))for(let[r,n]of Object.entries(t))m.attachBranch(e,r,n);return m.validate()}},l9=class extends lO{description;_metaRegistry=l1;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;r="__start__"===e?Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([e])=>e):Object.keys(this.builder.channels);let n=async e=>{if(null==e||0===e.length)return e;let t=this.builder._schemaRuntimeDefinition;if(lz.isInstance(t)){let r=new Set(t.getChannelKeys());return Promise.all(e.map(async([e,n])=>{if(!r.has(e))return[e,n];let i=await t.validateInput({[e]:n});return[e,Object.prototype.hasOwnProperty.call(i,e)?i[e]:n]}))}if((0,lX.isInteropZodObject)(t)){let r=new Set(Object.keys((0,lX.getInteropZodObjectShape)(t)));if(0===e.filter(([e])=>r.has(e)).length)return e;let n=(0,lX.interopZodObjectPartial)(this._metaRegistry.getExtendedChannelSchemas(t,{withReducerSchema:!0})),i=(0,lX.interopZodObjectPartial)(t);return e.map(([e,t])=>{if(!r.has(e))return[e,t];let[s,a]=J(t);if(s){let r=(0,lX.interopParse)(i,{[e]:a});return[e,Object.prototype.hasOwnProperty.call(r,e)?{[K]:r[e]}:t]}let o=(0,lX.interopParse)(n,{[e]:t});return[e,Object.prototype.hasOwnProperty.call(o,e)?o[e]:t]})}return e};async function i(t){if(!t)return null;if(X(t))return t.graph===Q.PARENT?null:n(t._updateAsTuples().filter(([e])=>r.includes(e)));if(Array.isArray(t)&&t.length>0&&t.some(X)){let e=[];for(let n of t)if(X(n)){if(n.graph===Q.PARENT)continue;e.push(...n._updateAsTuples().filter(([e])=>r.includes(e)))}else{let t=await i(n);t&&e.push(...t??[])}return n(e)}{if("object"==typeof t&&!Array.isArray(t))return n(Object.entries(t).filter(([e])=>r.includes(e)));let i=Array.isArray(t)?"array":typeof t;throw new eb(`Expected node "${e.toString()}" to return an object or an array containing at least one Command object, received ${i}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}let s=[{value:or,mapper:new a8({func:r.length&&r[0]===l6?function(e){if(X(e))return e.graph===Q.PARENT?null:e._updateAsTuples();if(Array.isArray(e)&&e.length>0&&e.some(e=>X(e))){let t=[];for(let r of e)if(X(r)){if(r.graph===Q.PARENT)continue;t.push(...r._updateAsTuples())}else t.push([l6,r]);return t}return null!=e?[[l6,e]]:null}:i,trace:!1,recurse:!1})}];if("__start__"===e)this.nodes[e]=new op({tags:[$],triggers:[a],channels:[a],writers:[new os(s,[$])]});else{let r=t?.input??this.builder._schemaDefinition,n=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(r)).map(e=>[e,e])),i=1===Object.keys(n).length&&l6 in n,a=`branch:to:${e}`;this.channels[a]=t?.defer?new sH:new lx(!1);let o=t?.cachePolicy;this.nodes[e]=new op({triggers:[a],channels:i?Object.keys(n):n,writers:[new os(s,[$])],mapper:i?void 0:e=>Object.fromEntries(Object.entries(e).filter(([e])=>e in n)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:!1===o?void 0:o,timeout:t?.timeout,subgraphs:t?.subgraphs,ends:t?.ends,isErrorHandler:t?.isErrorHandler,errorHandlerNode:t?.errorHandlerNode})}}attachEdge(e,t){if("__end__"!==t){if("string"==typeof e)this.nodes[e].writers.push(new os([{channel:`branch:to:${t}`,value:null}],[$]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;for(let n of(this.channels[r]=this.builder.nodes[t].defer?new lG(new Set(e)):new lq(new Set(e)),this.nodes[t].triggers.push(r),e))this.nodes[n].writers.push(new os([{channel:r,value:n}],[$]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(t,r)=>{let n=t.filter(e=>e!==o);if(!n.length)return;let i=n.map(t=>G(t)?t:{channel:"__end__"===t?t:`branch:to:${t}`,value:e});await os.doWrite({...r,tags:(r.tags??[]).concat([$])},i)};this.nodes[e].writers.push(r.run(i,n.withReader?e=>oh.doRead(e,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){let t;if(null==e)return e;let r=this.builder._inputRuntimeDefinition,n=this.builder._schemaRuntimeDefinition;if(lz.isInstance(r))return X(e)?(e.update&&(e.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),e):await r.validateInput(e);if(r===l5&&lz.isInstance(n))return X(e)?(e.update&&(e.update=await n.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),e):await n.validateInput(e);let i=(t=e=>{if(null!=e)return this._metaRegistry.getExtendedChannelSchemas(e,{withReducerSchema:!0})},(0,lX.isInteropZodObject)(r)?t(r):r===l5?(0,lX.isInteropZodObject)(n)?(0,lX.interopZodObjectPartial)(t(n)):void 0:void 0);if(X(e)){if(e.update&&null!=i){let t=Array.isArray(e.update)?Object.fromEntries(e.update):e.update,r=(0,lX.interopParse)(i,t);e.update=Object.fromEntries(Object.keys(t).map(e=>[e,r[e]]))}return e}return null!=i?(0,lX.interopParse)(i,e):e}isInterrupted(e){return Y(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return(0,lX.isInteropZodObject)(t)&&(0,lX.interopParse)(t,e),e}};function l7(e){if(G(e))return[e];let t=[];X(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(X));let r=[];for(let e of t){if(e.graph===Q.PARENT)throw new eu(e);G(e.goto)||"string"==typeof e.goto?r.push(e.goto):Array.isArray(e.goto)&&r.push(...e.goto)}return r}function ce(){return new lC({path:new a8({func:l7,tags:[$],trace:!1,recurse:!1,name:"<control_branch>"})})}e.s(["CompiledStateGraph",()=>l9,"StateGraph",()=>l3],179480);var ct=class extends l3{constructor(){super({channels:{__root__:{reducer:lZ,default:()=>[]}}})}};function cr(e,t){let{stateKey:r,...n}=t??{},i=sZ(n),s=r??"messages";null===r&&(s=void 0);let a=(0,r4.coerceMessageLikeToMessage)(e);if(!a.id)throw Error("Message ID is required.");let o=(Array.isArray(i.callbacks)?i.callbacks:void 0!==i.callbacks?i.callbacks.handlers:[]).find(e=>"name"in e&&"StreamMessagesHandler"===e.name);if(o){let e=i.metadata??{},t=(e.langgraph_checkpoint_ns??"").split("|");o._emit([t,e],a,void 0,!1)}return s&&i.configurable?.__pregel_send?.([[s,a]]),a}function cn(e,t){let n,i="string"==typeof e?{name:e,retry:void 0,cachePolicy:void 0,timeout:void 0}:e,{name:a,retry:o}=i,l=s(i.timeout);if(oe(t)||ot(t))throw Error("Generators are disallowed as tasks. For streaming responses, use config.write.");let c=i.cachePolicy??("cache"in i?i.cache:void 0);return n="boolean"==typeof c?c?{}:void 0:c,(...e)=>(function({func:e,name:t,cache:n,retry:i,timeout:s},...a){let o=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if("function"==typeof o.configurable?.__pregel_call)return o.configurable[f](e,t,a,{retry:i,cache:n,timeout:s,callbacks:o.callbacks});throw Error("Async local storage not initialized. Please call initializeAsyncLocalStorageSingleton() before using this function.")})({func:t,name:a,retry:o,cache:n,timeout:l},...e)}e.s(["MessageGraph",()=>ct,"pushMessage",()=>cr],836548);let ci=function(e,t){let{name:r,checkpointer:n,store:i,cache:l}="string"==typeof e?{name:e,checkpointer:void 0,store:void 0}:e,c=s("string"==typeof e?void 0:e.timeout);if(oe(t)||ot(t))throw Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let h=new a8({func:(e,r)=>t(e,r),name:r,trace:!1,recurse:!1});function u(e){return"object"==typeof e&&null!==e&&"__lg_type"in e&&"__pregel_final"===e.__lg_type}return new lk({name:r,checkpointer:n,nodes:{[r]:new op({bound:h,triggers:[a],channels:[a],timeout:c,writers:[new os([{channel:o,value:or,mapper:new a8({name:"pluckReturnValue",func:e=>u(e)?e.value:e})},{channel:M,value:or,mapper:new a8({name:"pluckSaveValue",func:e=>u(e)?e.save:e})}],[$])]})},channels:{[a]:new lx,[o]:new sB,[M]:new sB},inputChannels:a,outputChannels:o,streamChannels:o,streamMode:"updates",store:i,cache:l})};function cs(){return r.AsyncLocalStorageProviderSingleton.getRunnableConfig().configurable?.[k]}ci.final=function({value:e,save:t}){return{value:e,save:t,__lg_type:"__pregel_final"}},e.s(["entrypoint",()=>ci,"getPreviousState",()=>cs,"task",()=>cn],80677);var ca=e.i(322632);let co=sq.Root({messages:sq({reducer:lZ,default:()=>[]})}),cl={reducer:{fn:lZ},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},cc=ca.z.object({messages:l4(ca.z.custom(),cl)});function ch(e){let t=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(!t)throw Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw Error("No configurable found in config");return n.writer?.(e)}e.s(["MessagesAnnotation",()=>co,"MessagesZodMeta",()=>cl,"MessagesZodState",()=>cc],588771),e.s(["writer",()=>ch],469220);var aC=t5;r.AsyncLocalStorageProviderSingleton.initializeGlobalInstance(new n.AsyncLocalStorage),e.s([],785211)}];
95
+ into ".addNode(..., { ends: ["node1", "node2"] })".`,{lc_error_code:"UNREACHABLE_NODE"});for(let e of r)if("__end__"!==e&&!(e in this.nodes))throw Error(`Found edge ending at unknown node \`${e}\``);if(e){for(let t of e)if(!(t in this.nodes))throw Error(`Interrupt node \`${t}\` is not present`)}this.compiled=!0}},lh=class extends li{builder;constructor({builder:e,...t}){super(t),this.builder=e}withConfig(e){return super.withConfig(e)}attachNode(e,t){this.channels[e]=new la,this.nodes[e]=new a9({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new a4([{channel:e,value:aX}],[$])),this.streamChannels.push(e)}attachEdge(e,t){if("__end__"===t){if("__start__"===e)throw Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new a4([{channel:o,value:aX}],[$]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){for(let n of("__start__"!==e||this.nodes.__start__||(this.nodes[a]=lr.subscribeTo(a,{tags:[$]})),this.nodes[e].pipe(r.run(r=>new a4(r.map(r=>G(r)?r:{channel:"__end__"===r?o:`branch:${e}:${t}:${r}`,value:aX}),[$]))),r.ends?Object.values(r.ends):Object.keys(this.nodes)))if("__end__"!==n){let r=`branch:${e}:${t}:${n}`;this.channels[r]=new la,this.nodes[n].triggers.push(r),this.nodes[n].channels.push(r)}}async getGraphAsync(e){let t=e?.xray,r=new e8.Graph,n={[a]:r.addNode({schema:lo.z.any()},a)},i={},s={};t&&(s=Object.fromEntries((await az(this.getSubgraphsAsync())).filter(e=>lu(e[1]))));let l=[];function c(e,t,s,a=!1){if("__end__"===t&&void 0===i.__end__&&(i[o]=r.addNode({schema:lo.z.any()},o)),void 0!==n[e]){if(void 0===i[t])throw Error(`End node ${t} not found!`);return l.push({src:e,dest:t,conditional:a}),r.addEdge(n[e],i[t],s!==t?s:void 0,a)}}for(let[a,o]of Object.entries(this.builder.nodes)){let l=lp(a),c=o.runnable,u=o.metadata??{};if(this.interruptBefore?.includes(a)&&this.interruptAfter?.includes(a)?u.__interrupt="before,after":this.interruptBefore?.includes(a)?u.__interrupt="before":this.interruptAfter?.includes(a)&&(u.__interrupt="after"),t){let o="number"==typeof t?t-1:t,p=void 0!==s[a]?await s[a].getGraphAsync({...e,xray:o}):c.getGraph(e);if(p.trimFirstNode(),p.trimLastNode(),Object.keys(p.nodes).length>1){let[e,t]=r.extend(p,l);if(void 0===e)throw Error(`Could not extend subgraph "${a}" due to missing entrypoint.`);function h(e,t){if(void 0!==e&&!(0,eE.validate)(e))return e;if(!t||!t.lc_runnable)return t.name??"UnknownSchema";try{let e=t.getName();return e=e.startsWith("Runnable")?e.slice(8):e}catch{return t.getName()}}void 0!==t&&(n[l]={name:h(t.id,t.data),...t}),i[l]={name:h(e.id,e.data),...e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}for(let[e,t]of[...this.builder.allEdges].sort(([e],[t])=>e<t?-1:+(t>e)))c(lp(e),lp(t));for(let[e,t]of Object.entries(this.builder.branches)){let r={...Object.fromEntries(Object.keys(this.builder.nodes).filter(t=>t!==e).map(e=>[lp(e),lp(e)])),[o]:o};for(let n of Object.values(t)){for(let[t,i]of Object.entries(void 0!==n.ends?n.ends:r))c(lp(e),lp(i),t,!0)}}for(let[e,t]of Object.entries(this.builder.nodes))if(void 0!==t.ends)for(let r of t.ends)c(lp(e),lp(r),void 0,!0);return ld(this.builder.nodes,l,c),r}getGraph(e){let t=e?.xray,r=new e8.Graph,n={[a]:r.addNode({schema:lo.z.any()},a)},i={},s={};t&&(s=Object.fromEntries(aJ(this.getSubgraphs()).filter(e=>lu(e[1]))));let l=[];function c(e,t,s,a=!1){if("__end__"===t&&void 0===i.__end__&&(i[o]=r.addNode({schema:lo.z.any()},o)),void 0!==n[e]){if(void 0===i[t])throw Error(`End node ${t} not found!`);return l.push({src:e,dest:t,conditional:a}),r.addEdge(n[e],i[t],s!==t?s:void 0,a)}}for(let[a,o]of Object.entries(this.builder.nodes)){let l=lp(a),c=o.runnable,u=o.metadata??{};if(this.interruptBefore?.includes(a)&&this.interruptAfter?.includes(a)?u.__interrupt="before,after":this.interruptBefore?.includes(a)?u.__interrupt="before":this.interruptAfter?.includes(a)&&(u.__interrupt="after"),t){let o="number"==typeof t?t-1:t,p=void 0!==s[a]?s[a].getGraph({...e,xray:o}):c.getGraph(e);if(p.trimFirstNode(),p.trimLastNode(),Object.keys(p.nodes).length>1){let[e,t]=r.extend(p,l);if(void 0===e)throw Error(`Could not extend subgraph "${a}" due to missing entrypoint.`);function h(e,t){if(void 0!==e&&!(0,eE.validate)(e))return e;if(!t||!t.lc_runnable)return t.name??"UnknownSchema";try{let e=t.getName();return e=e.startsWith("Runnable")?e.slice(8):e}catch{return t.getName()}}void 0!==t&&(n[l]={name:h(t.id,t.data),...t}),i[l]={name:h(e.id,e.data),...e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}else{let e=r.addNode(c,l,u);n[l]=e,i[l]=e}}for(let[e,t]of[...this.builder.allEdges].sort(([e],[t])=>e<t?-1:+(t>e)))c(lp(e),lp(t));for(let[e,t]of Object.entries(this.builder.branches)){let r={...Object.fromEntries(Object.keys(this.builder.nodes).filter(t=>t!==e).map(e=>[lp(e),lp(e)])),[o]:o};for(let n of Object.values(t)){for(let[t,i]of Object.entries(void 0!==n.ends?n.ends:r))c(lp(e),lp(i),t,!0)}}for(let[e,t]of Object.entries(this.builder.nodes))if(void 0!==t.ends)for(let r of t.ends)c(lp(e),lp(r),void 0,!0);return ld(this.builder.nodes,l,c),r}};function lu(e){return"function"==typeof e.attachNode&&"function"==typeof e.attachEdge}function lp(e){return"subgraph"===e?`"${e}"`:e}function ld(e,t,r){let n=new Set(t.map(e=>e.src));for(let i of[...new Set(t.filter(e=>!e.conditional&&"__end__"!==e.dest).map(e=>e.dest))].sort()){if(n.has(i))continue;let t=Object.keys(e).find(e=>lp(e)===i);void 0!==t&&e[t]?.isErrorHandler||r(i,o)}}function lf(e){return"object"==typeof e&&null!==e&&"~standard"in e&&"object"==typeof e["~standard"]&&null!==e["~standard"]&&"validate"in e["~standard"]}function lm(e){return"object"==typeof e&&null!==e&&"~standard"in e&&"object"==typeof e["~standard"]&&null!==e["~standard"]&&"jsonSchema"in e["~standard"]}function lg(e){return lf(e)&&lm(e)}function l_(e){if(lm(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function ly(e){if(null!=e&&lf(e))try{let t=e["~standard"].validate(void 0);if(t&&"object"==typeof t&&!("then"in t&&"function"==typeof t.then)&&!t.issues){let e=t.value;return()=>e}}catch{}}e.s(["Branch",()=>ll,"CompiledGraph",()=>lh,"Graph",()=>lc],499566),e.s(["isSerializableSchema",()=>lg,"isStandardJSONSchema",()=>lm,"isStandardSchema",()=>lf],799329),e.s(["getJsonSchemaFromSchema",()=>l_,"getSchemaDefaultGetter",()=>ly],925566);var lv=class e extends sw{lc_graph_name="DeltaChannel";value;reducer;snapshotFrequency;initialValueFactory;constructor(e,t){super();const r=t?.snapshotFrequency??1e3;if(!Number.isInteger(r)||r<=0)throw Error(`snapshotFrequency must be a positive integer, got ${r}`);this.reducer=e,this.snapshotFrequency=r,this.initialValueFactory=t?.initialValueFactory??(()=>[]),this.value=void 0}fromCheckpoint(t){let r=new e(this.reducer,{snapshotFrequency:this.snapshotFrequency,initialValueFactory:this.initialValueFactory});if(void 0===t)r.value=this.initialValueFactory();else null!=t&&"object"==typeof t&&"DeltaSnapshot"===t.lg_name?r.value=t.value:r.value=t;return r}replayWrites(e){let t=e.map(e=>e[2]);if(0===t.length)return;let r=this.value,n=0;for(let e=0;e<t.length;e+=1){let[i,s]=J(t[e]);i&&(r=null!=s?s:this.initialValueFactory(),n=e+1)}let i=t.slice(n);this.value=i.length>0?this.reducer(r,i):r}update(e){let t;if(0===e.length)return!1;for(let r=0;r<e.length;r+=1)if(Z(e[r])){if(void 0!==t)throw new ev("Can receive only one Overwrite value per step.");t=r}if(void 0!==t){let[,r]=J(e[t]),n=null!=r?r:this.initialValueFactory(),i=e.slice(t+1);return this.value=i.length>0?this.reducer(n,i):n,!0}let r=void 0===this.value?this.initialValueFactory():this.value;return this.value=this.reducer(r,e),!0}get(){if(void 0===this.value)throw new ey;return this.value}checkpoint(){}isAvailable(){return void 0!==this.value}equals(e){return this===e||null!=e&&"DeltaChannel"===e.lc_graph_name&&this.snapshotFrequency===e.snapshotFrequency&&this.reducer===e.reducer}};e.s(["DeltaChannel",()=>lv],207147);let lb=Symbol.for("langgraph.channel.missing");var lw=class e extends sw{lc_graph_name="UntrackedValue";guard;_value=lb;initialValueFactory;constructor(e){super(),this.guard=e?.guard??!0,this.initialValueFactory=e?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new e({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(e){if(0===e.length)return!1;if(1!==e.length&&this.guard)throw new ev("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=e[e.length-1],!0}get(){if(this._value===lb)throw new ey;return this._value}checkpoint(){}isAvailable(){return this._value!==lb}};e.s(["UntrackedValueChannel",()=>lw],424701);let lk=Symbol.for("langgraph.state.reduced_value");var lS=class{[lk]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return"object"==typeof e&&null!==e&&lk in e&&!0===e[lk]}};e.s(["ReducedValue",()=>lS],376533);let lx=Symbol.for("langgraph.state.untracked_value");var lE=class{[lx]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return"object"==typeof e&&null!==e&&lx in e}};e.s(["UntrackedValue",()=>lE],869891);let lC=(e,t)=>e.size===t.size&&[...e].every(e=>t.has(e));var lA=class e extends sw{lc_graph_name="NamedBarrierValue";names;seen;constructor(e){super(),this.names=e,this.seen=new Set}fromCheckpoint(t){let r=new e(this.names);return void 0!==t&&(r.seen=new Set(t)),r}update(e){let t=!1;for(let r of e)if(this.names.has(r))this.seen.has(r)||(this.seen.add(r),t=!0);else throw new ev(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!lC(this.names,this.seen))throw new ey}checkpoint(){return[...this.seen]}consume(){return!!(this.seen&&this.names&&lC(this.seen,this.names))&&(this.seen=new Set,!0)}isAvailable(){return!!this.names&&lC(this.names,this.seen)}},lO=class e extends sw{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(e){super(),this.names=e,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new e(this.names);if(void 0!==t){let[e,n]=t;r.seen=new Set(e),r.finished=n}return r}update(e){let t=!1;for(let r of e)if(this.names.has(r)&&!this.seen.has(r))this.seen.add(r),t=!0;else if(!this.names.has(r))throw new ev(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return t}get(){if(!this.finished||!lC(this.names,this.seen))throw new ey}checkpoint(){return[[...this.seen],this.finished]}consume(){return!!(this.finished&&this.seen&&this.names&&lC(this.seen,this.names))&&(this.seen=new Set,this.finished=!1,!0)}finish(){return!!(!this.finished&&this.names&&lC(this.names,this.seen))&&(this.finished=!0,!0)}isAvailable(){return this.finished&&!!this.names&&lC(this.names,this.seen)}};let lI=Symbol.for("langgraph.state.state_schema");var lT=class{[lI]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(lS.isInstance(r)){let n=ly(r.valueSchema);e[t]=new sO(r.reducer,n)}else if(lE.isInstance(r)){let n=r.schema?ly(r.schema):void 0;e[t]=new lw({guard:r.guard,initialValueFactory:n})}else if(lf(r))e[t]=new sI(ly(r));else throw Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(lS.isInstance(n)?(i=l_(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):lE.isInstance(n)?i=n.schema?l_(n.schema):void 0:lf(n)&&(i=l_(n)),i){e[r]=i;(lS.isInstance(n)?void 0===ly(n.valueSchema):lE.isInstance(n)?!n.schema||void 0===ly(n.schema):void 0===ly(n))&&t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;lS.isInstance(r)?(n=l_(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):lE.isInstance(r)?n=r.schema?l_(r.schema):void 0:lf(r)&&(n=l_(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(null==e||"object"!=typeof e)return e;let t={};for(let[r,n]of Object.entries(e)){let e,i=this.fields[r];if(void 0===i){t[r]=n;continue}if(lS.isInstance(i)){let[s,a]=J(n);if(s){e=i.valueSchema;let n=await e["~standard"].validate(a);if(n.issues)throw Error(`Validation failed for field "${r}": ${JSON.stringify(n.issues)}`);t[r]={[K]:n.value};continue}e=i.inputSchema}else lE.isInstance(i)?e=i.schema:lf(i)&&(e=i);if(e){let i=await e["~standard"].validate(n);if(i.issues)throw Error(`Validation failed for field "${r}": ${JSON.stringify(i.issues)}`);t[r]=i.value}else t[r]=n}return t}static isInstance(e){return"object"==typeof e&&null!==e&&lI in e&&!0===e[lI]}};e.s(["StateSchema",()=>lT],134946);var lj=e.i(65955);function lN(e,t){let r,n=Array.isArray(e)?e:[e],i=Array.isArray(t)?t:[t],s=n.map(rU.coerceMessageLikeToMessage),a=i.map(rU.coerceMessageLikeToMessage);for(let e of s)(null===e.id||void 0===e.id)&&(e.id=(0,eE.v4)(),e.lc_kwargs.id=e.id);for(let e=0;e<a.length;e+=1){let t=a[e];(null===t.id||void 0===t.id)&&(t.id=(0,eE.v4)(),t.lc_kwargs.id=t.id),lj.RemoveMessage.isInstance(t)&&"__remove_all__"===t.id&&(r=e)}if(null!=r)return a.slice(r+1);let o=[...s],l=new Map(o.map((e,t)=>[e.id,t])),c=new Set;for(let e of a){let t=l.get(e.id);if(void 0!==t)lj.RemoveMessage.isInstance(e)?c.add(e.id):(c.delete(e.id),o[t]=e);else{if(lj.RemoveMessage.isInstance(e))throw Error(`Attempting to delete a message with an ID that doesn't exist ('${e.id}')`);l.set(e.id,o.length),o.push(e)}}return o.filter(e=>!c.has(e.id))}function lP(e,t){let r=[];for(let e of t)Array.isArray(e)?r.push(...e):r.push(e);let n=e.length>0&&rD.BaseMessage.isInstance(e[0])?e:e.map(rU.coerceMessageLikeToMessage),i=r.map(rU.coerceMessageLikeToMessage),s=new Map;for(let e=0;e<n.length;e+=1){let t=n[e].id;null!=t&&s.set(t,e)}let a=[...n];for(let e of i){let t=e.id;null==t?a.push(e):lj.RemoveMessage.isInstance(e)?s.has(t)&&(a[s.get(t)]=null,s.delete(t)):s.has(t)?a[s.get(t)]=e:(s.set(t,a.length),a.push(e))}return a.filter(e=>null!==e)}e.s(["REMOVE_ALL_MESSAGES",()=>"__remove_all__","messagesDeltaReducer",()=>lP,"messagesStateReducer",()=>lN],642439);let lM=new lS(lo.z.custom().default(()=>[]),{inputSchema:lo.z.custom(),reducer:lN,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});e.s(["MessagesValue",()=>lM],335516);var l$=e.i(238073),lR=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={};for(let[r,n]of Object.entries((0,l$.getInteropZodObjectShape)(e))){let e=this.get(n);e?.reducer?t[r]=new sO(e.reducer.fn,e.default):t[r]=new sI(e?.default)}return t}getExtendedChannelSchemas(e,t){if(0===Object.keys(t).length)return e;let r=Object.entries(t).filter(([,e])=>!0===e).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>`${e}:${t}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let r=Object.entries((0,l$.getInteropZodObjectShape)(e)).map(([e,r])=>{let n=this.get(r),i=t.withReducerSchema?n?.reducer?.schema??r:r;if(t.withJsonSchemaExtrasAsDescription&&n?.jsonSchemaExtra){let e=(0,l$.getSchemaDescription)(i)??(0,l$.getSchemaDescription)(r),t=JSON.stringify({...n.jsonSchemaExtra,description:e});i=i.describe(`lg:${t}`)}return[e,i]});i=(0,l$.extendInteropZodObject)(e,Object.fromEntries(r)),(0,l$.isZodSchemaV3)(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=(0,l$.interopZodObjectPartial)(i)),n.set(e,i),this._extensionCache.set(r,n),i}};let lF=new lR;function lV(e,t){if(t.reducer&&!t.default){let r=(0,l$.getInteropZodDefaultGetter)(e);null!=r&&(t.default=r)}if(!t.reducer)return lF.extend(e,()=>t),e;{let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return lF.extend(r,()=>t),r}}function lL(e){return null!=e&&!!(lT.isInstance(e)||(0,l$.isInteropZodObject)(e)||"object"==typeof e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name||"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(e=>"function"==typeof e||sb(e)))}e.s(["META_EXTRAS_DESCRIPTION_PREFIX",()=>"lg:","SchemaMetaRegistry",()=>lR,"schemaMetaRegistry",()=>lF,"withLangGraph",()=>lV],590434);let lD="__root__",lH="__default_error_handler__",lB=Symbol.for("langgraph.state.partial");var lU=class extends lc{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=lF;_configSchema;_configRuntimeSchema;_interrupt;_writer;_nodeDefaults={};constructor(e,t){super();const r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new eS;const i=this._getChannelsFromSchema(n);this._schemaDefinition=i,lT.isInstance(n)?this._schemaRuntimeDefinition=n:(0,l$.isInteropZodObject)(n)&&(this._schemaRuntimeDefinition=n),r.input&&(lT.isInstance(r.input)||(0,l$.isInteropZodObject)(r.input))?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=lB,r.output&&(lT.isInstance(r.output)||(0,l$.isInteropZodObject)(r.output))?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;const s=r.input?this._getChannelsFromSchema(r.input):i,a=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=s,this._outputDefinition=a,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&(0,l$.isInteropZodObject)(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}setNodeDefaults(e){return void 0!==e.retryPolicy&&(this._nodeDefaults.retryPolicy=e.retryPolicy),void 0!==e.cachePolicy&&(this._nodeDefaults.cachePolicy="boolean"==typeof e.cachePolicy?e.cachePolicy?{}:void 0:e.cachePolicy),void 0!==e.timeout&&(this._nodeDefaults.timeout=s(e.timeout)),void 0!==e.errorHandler&&(this._nodeDefaults.errorHandler=e.errorHandler),this}_createDefaultErrorHandlerSpec(){let e=this._nodeDefaults.errorHandler;if(void 0!==e)return{runnable:new aG({func:(t,r)=>e(t,r?.configurable?.[C],r),name:lH,trace:!1}),metadata:void 0,input:this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0}}_normalizeToStateGraphInit(e,t){var r;if(function(e){if("object"!=typeof e||null==e)return!1;let t="state"in e&&lL(e.state),r="stateSchema"in e&&lL(e.stateSchema),n="input"in e&&lL(e.input);return(!!t||!!r||!!n)&&(!("input"in e)||null==e.input||!!lL(e.input))&&(!("output"in e)||null==e.output||!!lL(e.output))}(e))return(0,l$.isInteropZodObject)(t)||sj.isInstance(t)?{...e,context:t}:{...e,input:e.input??t?.input,output:e.output??t?.output,context:e.context??t?.context,interrupt:e.interrupt??t?.interrupt,writer:e.writer??t?.writer,nodes:e.nodes??t?.nodes};if(lL(e))return(0,l$.isInteropZodObject)(t)||sj.isInstance(t)?{state:e,context:t}:{state:e,input:t?.input,output:t?.output,context:t?.context,interrupt:t?.interrupt,writer:t?.writer,nodes:t?.nodes};if("object"==typeof(r=e)&&null!==r&&void 0!==r.channels)return{state:function(e){let t={};for(let[r,n]of Object.entries(e))t[r]=sP(n);return t}(e.channels)};throw new eS}_getChannelsFromSchema(e){if(lT.isInstance(e))return e.getChannels();if((0,l$.isInteropZodObject)(e))return this._metaRegistry.getChannelsForSchema(e);if("object"==typeof e&&"lc_graph_name"in e&&"AnnotationRoot"===e.lc_graph_name)return e.spec;if("object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new eS("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(e=>[e,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e))for(let[t,r]of(this._schemaDefinitions.set(e,e),Object.entries(e))){let e;if(e="function"==typeof r?r():r,void 0!==this.channels[t]){if(!this.channels[t].equals(e)&&"LastValue"!==e.lc_graph_name)throw Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=e}}addNode(...e){let t=e.length>=1&&"string"!=typeof e[0]?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([e,t])=>[e,t]):[[e[0],e[1],e[2]]];if(0===t.length)throw Error("No nodes provided in `addNode`");for(let[e,r,n]of t){let t,i,a;if(e in this.channels)throw Error(`${e} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let t of["|",":"])if(e.includes(t))throw Error(`"${t}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),e in this.nodes)throw Error(`Node \`${e}\` already present.`);if("__end__"===e||"__start__"===e)throw Error(`Node \`${e}\` is reserved.`);let o=this._schemaDefinition;n?.input!==void 0&&(o=this._getChannelsFromSchema(n.input)),this._addSchema(o),t=ta.Runnable.isRunnable(r)?r:"function"==typeof r?new aG({func:r,name:e,trace:!1}):(0,ta._coerceToRunnable)(r);let l=n?.cachePolicy;if(void 0!==l&&(i="boolean"==typeof l?!!l&&{}:l),n?.errorHandler!==void 0){if((a=`__error_handler__${e}`)in this.nodes)throw Error(`Cannot add error handler to node \`${e}\`: the reserved name \`${a}\` is already in use. StateGraph registers \`__error_handler__<nodeName>\` when you pass \`errorHandler\` in addNode options. Remove or rename the existing node with that name (for example, you may have added it manually).`);let t=n.errorHandler,r={runnable:new aG({func:(e,r)=>t(e,r?.configurable?.[C],r),name:a,trace:!1}),metadata:void 0,input:o??this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0};this.nodes[a]=r}let c={runnable:t,retryPolicy:n?.retryPolicy,cachePolicy:i,timeout:s(n?.timeout),metadata:n?.metadata,input:o??this._schemaDefinition,subgraphs:oe(t)?[t]:n?.subgraphs,ends:n?.ends,defer:n?.defer,errorHandlerNode:a};this.nodes[e]=c}return this}addEdge(e,t){if("string"==typeof e)return super.addEdge(e,t);for(let t of(this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e)){if("__end__"===t)throw Error("END cannot be a start node");if(!Object.keys(this.nodes).some(e=>e===t))throw Error(`Need to add a node named "${t}" first`)}if("__end__"===t)throw Error("END cannot be an end node");if(!Object.keys(this.nodes).some(e=>e===t))throw Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t,r=Array.isArray(e)?e:Object.entries(e);if(0===r.length)throw Error("Sequence requires at least one node.");for(let[e,n,i]of r){if(e in this.nodes)throw Error(`Node names must be unique: node with the name "${e}" already exists.`);this.addNode(e,n,i),null!=t&&this.addEdge(t,e),t=e}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:a,transformers:o}={}){let l=this._createDefaultErrorHandlerSpec();if(void 0!==l){if(lH in this.nodes)throw Error(`Cannot apply a default error handler: the reserved node name \`${lH}\` is already in use. setNodeDefaults({ errorHandler }) registers a node with that name; rename the conflicting node.`);this.nodes[lH]=l}try{return this._compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:a,transformers:o,defaultErrorHandlerNode:void 0!==l?lH:void 0})}finally{void 0!==l&&delete this.nodes[lH]}}_compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:s,description:o,transformers:l,defaultErrorHandlerNode:c}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let h=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=1===h.length&&h[0]===lD?lD:h,p=Object.keys(this.channels),d=1===p.length&&p[0]===lD?lD:p,f=this._interrupt,m=new lW({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[a]:new la},inputChannels:a,outputChannels:u,streamChannels:d,streamMode:"updates",store:t,cache:r,name:s,description:o,userInterrupt:f,streamTransformers:l});m.attachNode(a);let g=this._nodeDefaults,_=void 0!==g.retryPolicy||void 0!==g.cachePolicy||void 0!==g.timeout||void 0!==c;for(let[e,t]of Object.entries(this.nodes)){let r=!0===t.isErrorHandler,n=_?{...t,retryPolicy:t.retryPolicy??g.retryPolicy,cachePolicy:r||!1===t.cachePolicy?void 0:t.cachePolicy??g.cachePolicy,timeout:t.timeout??g.timeout,errorHandlerNode:r||void 0===c||void 0!==t.errorHandlerNode?t.errorHandlerNode:c}:t;m.attachNode(e,n)}for(let[e]of(m.attachBranch(a,R,lG(),{withReader:!1}),Object.entries(this.nodes)))m.attachBranch(e,R,lG(),{withReader:!1});for(let[e,t]of this.edges)m.attachEdge(e,t);for(let[e,t]of this.waitingEdges)m.attachEdge(e,t);for(let[e,t]of Object.entries(this.branches))for(let[r,n]of Object.entries(t))m.attachBranch(e,r,n);return m.validate()}},lW=class extends lh{description;_metaRegistry=lF;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;r="__start__"===e?Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([e])=>e):Object.keys(this.builder.channels);let n=async e=>{if(null==e||0===e.length)return e;let t=this.builder._schemaRuntimeDefinition;if(lT.isInstance(t)){let r=new Set(t.getChannelKeys());return Promise.all(e.map(async([e,n])=>{if(!r.has(e))return[e,n];let i=await t.validateInput({[e]:n});return[e,Object.prototype.hasOwnProperty.call(i,e)?i[e]:n]}))}if((0,l$.isInteropZodObject)(t)){let r=new Set(Object.keys((0,l$.getInteropZodObjectShape)(t)));if(0===e.filter(([e])=>r.has(e)).length)return e;let n=(0,l$.interopZodObjectPartial)(this._metaRegistry.getExtendedChannelSchemas(t,{withReducerSchema:!0})),i=(0,l$.interopZodObjectPartial)(t);return e.map(([e,t])=>{if(!r.has(e))return[e,t];let[s,a]=J(t);if(s){let r=(0,l$.interopParse)(i,{[e]:a});return[e,Object.prototype.hasOwnProperty.call(r,e)?{[K]:r[e]}:t]}let o=(0,l$.interopParse)(n,{[e]:t});return[e,Object.prototype.hasOwnProperty.call(o,e)?o[e]:t]})}return e};async function i(t){if(!t)return null;if(X(t))return t.graph===Q.PARENT?null:n(t._updateAsTuples().filter(([e])=>r.includes(e)));if(Array.isArray(t)&&t.length>0&&t.some(X)){let e=[];for(let n of t)if(X(n)){if(n.graph===Q.PARENT)continue;e.push(...n._updateAsTuples().filter(([e])=>r.includes(e)))}else{let t=await i(n);t&&e.push(...t??[])}return n(e)}{if("object"==typeof t&&!Array.isArray(t))return n(Object.entries(t).filter(([e])=>r.includes(e)));let i=Array.isArray(t)?"array":typeof t;throw new ev(`Expected node "${e.toString()}" to return an object or an array containing at least one Command object, received ${i}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}let s=[{value:aX,mapper:new aG({func:r.length&&r[0]===lD?function(e){if(X(e))return e.graph===Q.PARENT?null:e._updateAsTuples();if(Array.isArray(e)&&e.length>0&&e.some(e=>X(e))){let t=[];for(let r of e)if(X(r)){if(r.graph===Q.PARENT)continue;t.push(...r._updateAsTuples())}else t.push([lD,r]);return t}return null!=e?[[lD,e]]:null}:i,trace:!1,recurse:!1})}];if("__start__"===e)this.nodes[e]=new a9({tags:[$],triggers:[a],channels:[a],writers:[new a4(s,[$])]});else{let r=t?.input??this.builder._schemaDefinition,n=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(r)).map(e=>[e,e])),i=1===Object.keys(n).length&&lD in n,a=`branch:to:${e}`;this.channels[a]=t?.defer?new sT:new la(!1);let o=t?.cachePolicy;this.nodes[e]=new a9({triggers:[a],channels:i?Object.keys(n):n,writers:[new a4(s,[$])],mapper:i?void 0:e=>Object.fromEntries(Object.entries(e).filter(([e])=>e in n)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:!1===o?void 0:o,timeout:t?.timeout,subgraphs:t?.subgraphs,ends:t?.ends,isErrorHandler:t?.isErrorHandler,errorHandlerNode:t?.errorHandlerNode})}}attachEdge(e,t){if("__end__"!==t){if("string"==typeof e)this.nodes[e].writers.push(new a4([{channel:`branch:to:${t}`,value:null}],[$]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;for(let n of(this.channels[r]=this.builder.nodes[t].defer?new lO(new Set(e)):new lA(new Set(e)),this.nodes[t].triggers.push(r),e))this.nodes[n].writers.push(new a4([{channel:r,value:n}],[$]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(t,r)=>{let n=t.filter(e=>e!==o);if(!n.length)return;let i=n.map(t=>G(t)?t:{channel:"__end__"===t?t:`branch:to:${t}`,value:e});await a4.doWrite({...r,tags:(r.tags??[]).concat([$])},i)};this.nodes[e].writers.push(r.run(i,n.withReader?e=>a7.doRead(e,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){let t;if(null==e)return e;let r=this.builder._inputRuntimeDefinition,n=this.builder._schemaRuntimeDefinition;if(lT.isInstance(r))return X(e)?(e.update&&(e.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),e):await r.validateInput(e);if(r===lB&&lT.isInstance(n))return X(e)?(e.update&&(e.update=await n.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),e):await n.validateInput(e);let i=(t=e=>{if(null!=e)return this._metaRegistry.getExtendedChannelSchemas(e,{withReducerSchema:!0})},(0,l$.isInteropZodObject)(r)?t(r):r===lB?(0,l$.isInteropZodObject)(n)?(0,l$.interopZodObjectPartial)(t(n)):void 0:void 0);if(X(e)){if(e.update&&null!=i){let t=Array.isArray(e.update)?Object.fromEntries(e.update):e.update,r=(0,l$.interopParse)(i,t);e.update=Object.fromEntries(Object.keys(t).map(e=>[e,r[e]]))}return e}return null!=i?(0,l$.interopParse)(i,e):e}isInterrupted(e){return Y(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return(0,l$.isInteropZodObject)(t)&&(0,l$.interopParse)(t,e),e}};function lq(e){if(G(e))return[e];let t=[];X(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(X));let r=[];for(let e of t){if(e.graph===Q.PARENT)throw new eu(e);G(e.goto)||"string"==typeof e.goto?r.push(e.goto):Array.isArray(e.goto)&&r.push(...e.goto)}return r}function lG(){return new ll({path:new aG({func:lq,tags:[$],trace:!1,recurse:!1,name:"<control_branch>"})})}e.s(["CompiledStateGraph",()=>lW,"StateGraph",()=>lU],179480);var lK=class extends lU{constructor(){super({channels:{__root__:{reducer:lN,default:()=>[]}}})}};function lz(e,t){let{stateKey:r,...n}=t??{},i=sF(n),s=r??"messages";null===r&&(s=void 0);let a=(0,rU.coerceMessageLikeToMessage)(e);if(!a.id)throw Error("Message ID is required.");let o=(Array.isArray(i.callbacks)?i.callbacks:void 0!==i.callbacks?i.callbacks.handlers:[]).find(e=>"name"in e&&"StreamMessagesHandler"===e.name);if(o){let e=i.metadata??{},t=(e.langgraph_checkpoint_ns??"").split("|");o._emit([t,e],a,void 0,!1)}return s&&i.configurable?.__pregel_send?.([[s,a]]),a}function lJ(e,t){let n,i="string"==typeof e?{name:e,retry:void 0,cachePolicy:void 0,timeout:void 0}:e,{name:a,retry:o}=i,l=s(i.timeout);if(aY(t)||aQ(t))throw Error("Generators are disallowed as tasks. For streaming responses, use config.write.");let c=i.cachePolicy??("cache"in i?i.cache:void 0);return n="boolean"==typeof c?c?{}:void 0:c,(...e)=>(function({func:e,name:t,cache:n,retry:i,timeout:s},...a){let o=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if("function"==typeof o.configurable?.__pregel_call)return o.configurable[f](e,t,a,{retry:i,cache:n,timeout:s,callbacks:o.callbacks});throw Error("Async local storage not initialized. Please call initializeAsyncLocalStorageSingleton() before using this function.")})({func:t,name:a,retry:o,cache:n,timeout:l},...e)}e.s(["MessageGraph",()=>lK,"pushMessage",()=>lz],836548);let lZ=function(e,t){let{name:r,checkpointer:n,store:i,cache:l}="string"==typeof e?{name:e,checkpointer:void 0,store:void 0}:e,c=s("string"==typeof e?void 0:e.timeout);if(aY(t)||aQ(t))throw Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let h=new aG({func:(e,r)=>t(e,r),name:r,trace:!1,recurse:!1});function u(e){return"object"==typeof e&&null!==e&&"__lg_type"in e&&"__pregel_final"===e.__lg_type}return new li({name:r,checkpointer:n,nodes:{[r]:new a9({bound:h,triggers:[a],channels:[a],timeout:c,writers:[new a4([{channel:o,value:aX,mapper:new aG({name:"pluckReturnValue",func:e=>u(e)?e.value:e})},{channel:M,value:aX,mapper:new aG({name:"pluckSaveValue",func:e=>u(e)?e.save:e})}],[$])]})},channels:{[a]:new la,[o]:new sI,[M]:new sI},inputChannels:a,outputChannels:o,streamChannels:o,streamMode:"updates",store:i,cache:l})};function lY(){return r.AsyncLocalStorageProviderSingleton.getRunnableConfig().configurable?.[k]}lZ.final=function({value:e,save:t}){return{value:e,save:t,__lg_type:"__pregel_final"}},e.s(["entrypoint",()=>lZ,"getPreviousState",()=>lY,"task",()=>lJ],80677);var lQ=e.i(322632);let lX=sN.Root({messages:sN({reducer:lN,default:()=>[]})}),l0={reducer:{fn:lN},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},l1=lQ.z.object({messages:lV(lQ.z.custom(),l0)});function l4(e){let t=r.AsyncLocalStorageProviderSingleton.getRunnableConfig();if(!t)throw Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw Error("No configurable found in config");return n.writer?.(e)}e.s(["MessagesAnnotation",()=>lX,"MessagesZodMeta",()=>l0,"MessagesZodState",()=>l1],588771),e.s(["writer",()=>l4],469220);var ad=tK;r.AsyncLocalStorageProviderSingleton.initializeGlobalInstance(new n.AsyncLocalStorage),e.s([],785211)}];
96
96
 
97
97
  //# sourceMappingURL=node_modules_%40langchain_langgraph_dist_index_23ed4b74.js.map