@langchain/react 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +301 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +29 -0
  4. package/dist/index.cjs +38 -0
  5. package/dist/index.d.cts +12 -0
  6. package/dist/index.d.cts.map +1 -0
  7. package/dist/index.d.ts +12 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +5 -0
  10. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/channels/base.d.cts +83 -0
  11. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/channels/base.d.cts.map +1 -0
  12. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/channels/base.d.ts +83 -0
  13. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/channels/base.d.ts.map +1 -0
  14. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/index.d.cts +3 -0
  15. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/index.d.ts +3 -0
  16. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/meta.d.cts +108 -0
  17. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/meta.d.cts.map +1 -0
  18. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/meta.d.ts +108 -0
  19. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/meta.d.ts.map +1 -0
  20. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/plugin.d.cts +31 -0
  21. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/plugin.d.cts.map +1 -0
  22. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/plugin.d.ts +31 -0
  23. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/plugin.d.ts.map +1 -0
  24. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/zod-registry.d.cts +49 -0
  25. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/zod-registry.d.cts.map +1 -0
  26. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/zod-registry.d.ts +49 -0
  27. package/dist/node_modules/.pnpm/@langchain_langgraph@1.1.5_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___z_0d5e45651b6fb9f696195862204d53c7/node_modules/@langchain/langgraph/dist/graph/zod/zod-registry.d.ts.map +1 -0
  28. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/ReactAgent.d.cts +3 -0
  29. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/ReactAgent.d.ts +3 -0
  30. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/index.d.cts +4 -0
  31. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/index.d.ts +4 -0
  32. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/contextEditing.d.cts +3 -0
  33. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/contextEditing.d.ts +3 -0
  34. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/dynamicSystemPrompt.d.cts +1 -0
  35. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/dynamicSystemPrompt.d.ts +1 -0
  36. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/hitl.d.cts +1 -0
  37. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/hitl.d.ts +1 -0
  38. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/llmToolSelector.d.cts +1 -0
  39. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/llmToolSelector.d.ts +1 -0
  40. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelCallLimit.d.cts +1 -0
  41. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelCallLimit.d.ts +1 -0
  42. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelFallback.d.cts +1 -0
  43. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelFallback.d.ts +1 -0
  44. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelRetry.d.cts +1 -0
  45. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/modelRetry.d.ts +1 -0
  46. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/pii.d.cts +1 -0
  47. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/pii.d.ts +1 -0
  48. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/piiRedaction.d.cts +1 -0
  49. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/piiRedaction.d.ts +1 -0
  50. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/provider/anthropic/promptCaching.d.cts +1 -0
  51. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/provider/anthropic/promptCaching.d.ts +1 -0
  52. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/provider/openai/moderation.d.cts +1 -0
  53. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/provider/openai/moderation.d.ts +1 -0
  54. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/summarization.d.cts +2 -0
  55. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/summarization.d.ts +2 -0
  56. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/todoListMiddleware.d.cts +2 -0
  57. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/todoListMiddleware.d.ts +2 -0
  58. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolCallLimit.d.cts +1 -0
  59. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolCallLimit.d.ts +1 -0
  60. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolEmulator.d.cts +1 -0
  61. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolEmulator.d.ts +1 -0
  62. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolRetry.d.cts +1 -0
  63. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/toolRetry.d.ts +1 -0
  64. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/types.d.cts +3 -0
  65. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware/types.d.ts +3 -0
  66. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware.d.cts +2 -0
  67. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/middleware.d.ts +2 -0
  68. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/types.d.cts +3 -0
  69. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/agents/types.d.ts +3 -0
  70. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/index.d.cts +23 -0
  71. package/dist/node_modules/.pnpm/langchain@1.2.27_@langchain_core@1.1.28_openai@6.16.0_ws@8.19.0_zod@4.3.5___openai@6.16_37b31122102851880bcc0afaeba68edd/node_modules/langchain/dist/index.d.ts +23 -0
  72. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.d.cts +155 -0
  73. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.d.cts.map +1 -0
  74. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.d.ts +155 -0
  75. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/ZodError.d.ts.map +1 -0
  76. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.d.cts +13 -0
  77. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.d.cts.map +1 -0
  78. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.d.ts +13 -0
  79. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/errorUtil.d.ts.map +1 -0
  80. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.d.cts +63 -0
  81. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.d.cts.map +1 -0
  82. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.d.ts +63 -0
  83. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/parseUtil.d.ts.map +1 -0
  84. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.d.cts +5 -0
  85. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.d.cts.map +1 -0
  86. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.d.ts +5 -0
  87. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/typeAliases.d.ts.map +1 -0
  88. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.d.cts +64 -0
  89. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.d.cts.map +1 -0
  90. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.d.ts +64 -0
  91. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/helpers/util.d.ts.map +1 -0
  92. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/standard-schema.d.cts +106 -0
  93. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/standard-schema.d.cts.map +1 -0
  94. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/standard-schema.d.ts +106 -0
  95. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/standard-schema.d.ts.map +1 -0
  96. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.d.cts +291 -0
  97. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.d.cts.map +1 -0
  98. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.d.ts +291 -0
  99. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v3/types.d.ts.map +1 -0
  100. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.d.cts +29 -0
  101. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.d.cts.map +1 -0
  102. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.d.ts +29 -0
  103. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/checks.d.ts.map +1 -0
  104. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.d.cts +29 -0
  105. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.d.cts.map +1 -0
  106. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.d.ts +29 -0
  107. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/core.d.ts.map +1 -0
  108. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.d.cts +105 -0
  109. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.d.cts.map +1 -0
  110. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.d.ts +105 -0
  111. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/errors.d.ts.map +1 -0
  112. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.cts +70 -0
  113. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.cts.map +1 -0
  114. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.ts +70 -0
  115. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/json-schema.d.ts.map +1 -0
  116. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.d.cts +24 -0
  117. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.d.cts.map +1 -0
  118. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.d.ts +24 -0
  119. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/registries.d.ts.map +1 -0
  120. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.d.cts +97 -0
  121. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.d.cts.map +1 -0
  122. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.d.ts +97 -0
  123. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/schemas.d.ts.map +1 -0
  124. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.cts +79 -0
  125. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.cts.map +1 -0
  126. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.ts +79 -0
  127. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/standard-schema.d.ts.map +1 -0
  128. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.cts +52 -0
  129. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.cts.map +1 -0
  130. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.ts +52 -0
  131. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/to-json-schema.d.ts.map +1 -0
  132. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.d.cts +17 -0
  133. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.d.cts.map +1 -0
  134. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.d.ts +17 -0
  135. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/util.d.ts.map +1 -0
  136. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.d.cts +9 -0
  137. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.d.cts.map +1 -0
  138. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.d.ts +9 -0
  139. package/dist/node_modules/.pnpm/zod@4.3.5/node_modules/zod/v4/core/versions.d.ts.map +1 -0
  140. package/dist/react-ui/client.cjs +138 -0
  141. package/dist/react-ui/client.cjs.map +1 -0
  142. package/dist/react-ui/client.d.cts +80 -0
  143. package/dist/react-ui/client.d.cts.map +1 -0
  144. package/dist/react-ui/client.d.ts +80 -0
  145. package/dist/react-ui/client.d.ts.map +1 -0
  146. package/dist/react-ui/client.js +132 -0
  147. package/dist/react-ui/client.js.map +1 -0
  148. package/dist/react-ui/index.cjs +15 -0
  149. package/dist/react-ui/index.cjs.map +1 -0
  150. package/dist/react-ui/index.d.cts +3 -0
  151. package/dist/react-ui/index.d.ts +3 -0
  152. package/dist/react-ui/index.js +9 -0
  153. package/dist/react-ui/index.js.map +1 -0
  154. package/dist/react-ui/server/index.cjs +6 -0
  155. package/dist/react-ui/server/index.d.cts +3 -0
  156. package/dist/react-ui/server/index.d.ts +3 -0
  157. package/dist/react-ui/server/index.js +4 -0
  158. package/dist/react-ui/server/server.cjs +57 -0
  159. package/dist/react-ui/server/server.cjs.map +1 -0
  160. package/dist/react-ui/server/server.d.cts +54 -0
  161. package/dist/react-ui/server/server.d.cts.map +1 -0
  162. package/dist/react-ui/server/server.d.ts +54 -0
  163. package/dist/react-ui/server/server.d.ts.map +1 -0
  164. package/dist/react-ui/server/server.js +56 -0
  165. package/dist/react-ui/server/server.js.map +1 -0
  166. package/dist/react-ui/types.cjs +38 -0
  167. package/dist/react-ui/types.cjs.map +1 -0
  168. package/dist/react-ui/types.d.cts +25 -0
  169. package/dist/react-ui/types.d.cts.map +1 -0
  170. package/dist/react-ui/types.d.ts +25 -0
  171. package/dist/react-ui/types.d.ts.map +1 -0
  172. package/dist/react-ui/types.js +35 -0
  173. package/dist/react-ui/types.js.map +1 -0
  174. package/dist/stream.cjs +18 -0
  175. package/dist/stream.cjs.map +1 -0
  176. package/dist/stream.custom.cjs +162 -0
  177. package/dist/stream.custom.cjs.map +1 -0
  178. package/dist/stream.custom.d.cts +3 -0
  179. package/dist/stream.custom.d.ts +4 -0
  180. package/dist/stream.custom.js +161 -0
  181. package/dist/stream.custom.js.map +1 -0
  182. package/dist/stream.d.cts +193 -0
  183. package/dist/stream.d.cts.map +1 -0
  184. package/dist/stream.d.ts +193 -0
  185. package/dist/stream.d.ts.map +1 -0
  186. package/dist/stream.js +17 -0
  187. package/dist/stream.js.map +1 -0
  188. package/dist/stream.lgp.cjs +623 -0
  189. package/dist/stream.lgp.cjs.map +1 -0
  190. package/dist/stream.lgp.js +622 -0
  191. package/dist/stream.lgp.js.map +1 -0
  192. package/dist/thread.cjs +21 -0
  193. package/dist/thread.cjs.map +1 -0
  194. package/dist/thread.js +20 -0
  195. package/dist/thread.js.map +1 -0
  196. package/dist/types.d.cts +93 -0
  197. package/dist/types.d.cts.map +1 -0
  198. package/dist/types.d.ts +93 -0
  199. package/dist/types.d.ts.map +1 -0
  200. package/package.json +106 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.lgp.cjs","names":["Client","MessageTupleManager","StreamManager","toMessageClass","PendingRunsTracker","useControllableThreadId","StreamError"],"sources":["../src/stream.lgp.tsx"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\n\n\"use client\";\n\nimport {\n type RefObject,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { BaseMessage } from \"@langchain/core/messages\";\nimport type {\n Message,\n ThreadState,\n Interrupt,\n StreamMode,\n StreamEvent,\n BagTemplate,\n ToolProgress,\n ToolsStreamEvent,\n} from \"@langchain/langgraph-sdk\";\nimport { Client, getClientConfigHash } from \"@langchain/langgraph-sdk/client\";\nimport {\n filterStream,\n unique,\n StreamError,\n getBranchContext,\n getMessagesMetadataMap,\n StreamManager,\n MessageTupleManager,\n extractInterrupts,\n toMessageClass,\n PendingRunsTracker,\n type EventStreamEvent,\n type AnyStreamOptions,\n type UseStreamOptions,\n type GetUpdateType,\n type GetCustomEventType,\n type GetInterruptType,\n type GetConfigurableType,\n type GetToolCallsType,\n type RunCallbackMeta,\n type MessageMetadata,\n type UseStreamThread,\n} from \"@langchain/langgraph-sdk/ui\";\nimport { getToolCallsWithResults } from \"@langchain/langgraph-sdk/utils\";\nimport { useControllableThreadId } from \"./thread.js\";\nimport type { UseStream, SubmitOptions } from \"./types.js\";\n\nfunction getFetchHistoryKey(\n client: Client,\n threadId: string | undefined | null,\n limit: boolean | number,\n) {\n return [getClientConfigHash(client), threadId, limit].join(\":\");\n}\n\nfunction fetchHistory<StateType extends Record<string, unknown>>(\n client: Client,\n threadId: string,\n options?: { limit?: boolean | number },\n) {\n if (options?.limit === false) {\n return client.threads.getState<StateType>(threadId).then((state) => {\n if (state.checkpoint == null) return [];\n return [state];\n });\n }\n\n const limit = typeof options?.limit === \"number\" ? options.limit : 10;\n return client.threads.getHistory<StateType>(threadId, { limit });\n}\n\nfunction useThreadHistory<StateType extends Record<string, unknown>>(\n client: Client,\n threadId: string | undefined | null,\n limit: boolean | number,\n options: {\n passthrough: boolean;\n submittingRef: RefObject<string | null>;\n onError?: (error: unknown, run?: RunCallbackMeta) => void;\n },\n): UseStreamThread<StateType> {\n const key = getFetchHistoryKey(client, threadId, limit);\n const [state, setState] = useState<{\n key: string | undefined;\n data: ThreadState<StateType>[] | undefined;\n error: unknown | undefined;\n isLoading: boolean;\n }>(() => ({\n key: undefined,\n data: undefined,\n error: undefined,\n isLoading: threadId != null,\n }));\n\n const clientRef = useRef(client);\n clientRef.current = client;\n\n const onErrorRef = useRef(options?.onError);\n onErrorRef.current = options?.onError;\n\n const fetcher = useCallback(\n (\n threadId: string | undefined | null,\n limit: boolean | number,\n ): Promise<ThreadState<StateType>[]> => {\n // If only passthrough is enabled, don't fetch history\n if (options.passthrough) return Promise.resolve([]);\n\n const client = clientRef.current;\n const key = getFetchHistoryKey(client, threadId, limit);\n\n if (threadId != null) {\n setState((state) => {\n if (state.key === key) return { ...state, isLoading: true };\n return { key, data: undefined, error: undefined, isLoading: true };\n });\n return fetchHistory<StateType>(client, threadId, { limit }).then(\n (data) => {\n setState((state) => {\n if (state.key !== key) return state;\n return { key, data, error: undefined, isLoading: false };\n });\n return data;\n },\n (error) => {\n setState((state) => {\n if (state.key !== key) return state;\n return { key, data: state.data, error, isLoading: false };\n });\n onErrorRef.current?.(error);\n return Promise.reject(error);\n },\n );\n }\n\n setState({ key, data: undefined, error: undefined, isLoading: false });\n return Promise.resolve([]);\n },\n [options.passthrough],\n );\n\n useEffect(() => {\n // Skip if a stream is already in progress, no need to fetch history\n if (\n options.submittingRef.current != null &&\n options.submittingRef.current === threadId\n ) {\n return;\n }\n\n void fetcher(threadId, limit);\n // The `threadId` and `limit` arguments are already present in `key`\n // Thus we don't need to include them in the dependency array\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fetcher, key]);\n\n return {\n data: state.data,\n error: state.error,\n isLoading: state.isLoading,\n mutate: (mutateId?: string) => fetcher(mutateId ?? threadId, limit),\n };\n}\n\nfunction useTrackStreamMode() {\n const trackStreamModeRef = useRef<Exclude<StreamMode, \"messages\">[]>([]);\n\n const trackStreamMode = useCallback(\n (...mode: Exclude<StreamMode, \"messages\">[]) => {\n const ref = trackStreamModeRef.current;\n for (const m of mode) {\n if (!ref.includes(m)) ref.push(m);\n }\n },\n [],\n );\n\n return [trackStreamModeRef, trackStreamMode] as [\n typeof trackStreamModeRef,\n typeof trackStreamMode,\n ];\n}\n\nfunction useCallbackStreamMode<\n StateType extends Record<string, unknown> = Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate,\n>(options: UseStreamOptions<StateType, Bag>) {\n const hasUpdateListener = options.onUpdateEvent != null;\n const hasCustomListener = options.onCustomEvent != null;\n const hasLangChainListener = options.onLangChainEvent != null;\n const hasDebugListener = options.onDebugEvent != null;\n const hasCheckpointListener = options.onCheckpointEvent != null;\n const hasTaskListener = options.onTaskEvent != null;\n\n return useMemo(() => {\n const modes: Exclude<StreamMode, \"messages\">[] = [];\n if (hasUpdateListener) modes.push(\"updates\");\n if (hasCustomListener) modes.push(\"custom\");\n if (hasLangChainListener) modes.push(\"events\");\n if (hasDebugListener) modes.push(\"debug\");\n if (hasCheckpointListener) modes.push(\"checkpoints\");\n if (hasTaskListener) modes.push(\"tasks\");\n return modes;\n }, [\n hasUpdateListener,\n hasCustomListener,\n hasLangChainListener,\n hasDebugListener,\n hasCheckpointListener,\n hasTaskListener,\n ]);\n}\n\nexport function useStreamLGP<\n StateType extends Record<string, unknown> = Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate,\n>(options: AnyStreamOptions<StateType, Bag>): UseStream<StateType, Bag> {\n type UpdateType = GetUpdateType<Bag, StateType>;\n type CustomType = GetCustomEventType<Bag>;\n type InterruptType = GetInterruptType<Bag>;\n type ConfigurableType = GetConfigurableType<Bag>;\n type ToolCallType = GetToolCallsType<StateType>;\n\n const reconnectOnMountRef = useRef(options.reconnectOnMount);\n const runMetadataStorage = useMemo(() => {\n if (typeof window === \"undefined\") return null;\n const storage = reconnectOnMountRef.current;\n if (storage === true) return window.sessionStorage;\n if (typeof storage === \"function\") return storage();\n return null;\n }, []);\n\n const client = useMemo(\n () =>\n options.client ??\n new Client({\n apiUrl: options.apiUrl,\n apiKey: options.apiKey,\n callerOptions: options.callerOptions,\n defaultHeaders: options.defaultHeaders,\n }),\n [\n options.client,\n options.apiKey,\n options.apiUrl,\n options.callerOptions,\n options.defaultHeaders,\n ],\n );\n\n const [messageManager] = useState(() => new MessageTupleManager());\n const [stream] = useState(\n () =>\n new StreamManager<StateType, Bag>(messageManager, {\n throttle: options.throttle ?? false,\n subagentToolNames: options.subagentToolNames,\n filterSubagentMessages: options.filterSubagentMessages,\n toMessage: options.toMessage ?? toMessageClass,\n }),\n );\n\n const [pendingRuns] = useState(\n () =>\n new PendingRunsTracker<\n StateType,\n SubmitOptions<StateType, ConfigurableType>\n >(),\n );\n\n useSyncExternalStore(\n pendingRuns.subscribe,\n pendingRuns.getSnapshot,\n pendingRuns.getSnapshot,\n );\n\n const [trackStreamModeRef, trackStreamMode] = useTrackStreamMode();\n const callbackStreamMode = useCallbackStreamMode(options);\n\n const getMessages = (value: StateType): Message[] => {\n const messagesKey = options.messagesKey ?? \"messages\";\n return Array.isArray(value[messagesKey]) ? value[messagesKey] : [];\n };\n\n const setMessages = (current: StateType, messages: Message[]): StateType => {\n const messagesKey = options.messagesKey ?? \"messages\";\n return { ...current, [messagesKey]: messages };\n };\n\n useSyncExternalStore(\n stream.subscribe,\n stream.getSnapshot,\n stream.getSnapshot,\n );\n\n const [threadId, onThreadId] = useControllableThreadId(options);\n\n const threadIdRef = useRef<string | null>(threadId);\n const threadIdStreamingRef = useRef<string | null>(null);\n\n // Cancel the stream if thread ID has changed\n useEffect(() => {\n if (threadIdRef.current !== threadId) {\n threadIdRef.current = threadId;\n stream.clear();\n }\n }, [threadId, stream]);\n\n const switchThread = useCallback(\n (newThreadId: string | null) => {\n if (newThreadId !== threadIdRef.current) {\n const prevThreadId = threadIdRef.current;\n threadIdRef.current = newThreadId;\n stream.clear();\n\n const removed = pendingRuns.removeAll();\n if (prevThreadId && removed.length > 0) {\n void Promise.all(\n removed.map((e) => client.runs.cancel(prevThreadId, e.id)),\n );\n }\n\n onThreadId(newThreadId);\n }\n },\n [stream, pendingRuns, onThreadId, client],\n );\n\n const historyLimit =\n typeof options.fetchStateHistory === \"object\" &&\n options.fetchStateHistory != null\n ? (options.fetchStateHistory.limit ?? false)\n : (options.fetchStateHistory ?? false);\n\n const builtInHistory = useThreadHistory<StateType>(\n client,\n threadId,\n historyLimit,\n {\n passthrough: options.thread != null,\n submittingRef: threadIdStreamingRef,\n onError: options.onError,\n },\n );\n const history = options.thread ?? builtInHistory;\n\n const [branch, setBranch] = useState<string>(\"\");\n const branchContext = getBranchContext(branch, history.data ?? undefined);\n\n const [toolProgressMap, setToolProgressMap] = useState<\n Map<string, ToolProgress>\n >(new Map());\n\n const handleToolEvent = useCallback((data: ToolsStreamEvent[\"data\"]) => {\n setToolProgressMap((prev) => {\n const next = new Map(prev);\n const key = data.toolCallId ?? data.name;\n const existing = next.get(key);\n\n switch (data.event) {\n case \"on_tool_start\": {\n next.set(key, {\n toolCallId: data.toolCallId,\n name: data.name,\n state: \"starting\",\n input: data.input,\n });\n break;\n }\n case \"on_tool_event\": {\n if (existing) {\n next.set(key, { ...existing, state: \"running\", data: data.data });\n }\n break;\n }\n case \"on_tool_end\": {\n if (existing) {\n next.set(key, {\n ...existing,\n state: \"completed\",\n result: data.output,\n });\n }\n break;\n }\n case \"on_tool_error\": {\n if (existing) {\n next.set(key, { ...existing, state: \"error\", error: data.error });\n }\n break;\n }\n default: {\n throw new Error(\n `Unexpected tool event: ${(data as { event: string }).event}`,\n );\n }\n }\n\n return next;\n });\n }, []);\n\n const historyValues =\n branchContext.threadHead?.values ??\n options.initialValues ??\n ({} as StateType);\n\n // Reconstruct subagents from history when:\n // 1. History is loaded (not loading, has data)\n // 2. No active stream is running\n // 3. Subagent filtering is enabled (otherwise subagents aren't tracked)\n // This ensures subagent visualization persists after page refresh or stream completion\n const historyMessages = getMessages(historyValues);\n const shouldReconstructSubagents =\n options.filterSubagentMessages &&\n !stream.isLoading &&\n !history.isLoading &&\n historyMessages.length > 0;\n\n useEffect(() => {\n if (shouldReconstructSubagents) {\n // skipIfPopulated: true ensures we don't overwrite subagents from active streaming\n stream.reconstructSubagents(historyMessages, { skipIfPopulated: true });\n }\n // We intentionally only run this when shouldReconstructSubagents changes\n // to avoid unnecessary reconstructions during streaming\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [shouldReconstructSubagents, historyMessages.length]);\n\n const historyError = (() => {\n const error = branchContext.threadHead?.tasks?.at(-1)?.error;\n if (error == null) return undefined;\n try {\n const parsed = JSON.parse(error) as unknown;\n if (StreamError.isStructuredError(parsed)) return new StreamError(parsed);\n return parsed;\n } catch {\n // do nothing\n }\n return error;\n })();\n\n const messageMetadata = getMessagesMetadataMap({\n initialValues: options.initialValues,\n history: history.data,\n getMessages,\n branchContext,\n });\n\n const stop = () =>\n stream.stop(historyValues, {\n onStop: (args) => {\n if (runMetadataStorage && threadId) {\n const runId = runMetadataStorage.getItem(`lg:stream:${threadId}`);\n if (runId) void client.runs.cancel(threadId, runId);\n runMetadataStorage.removeItem(`lg:stream:${threadId}`);\n }\n\n options.onStop?.(args);\n },\n });\n\n // --- TRANSPORT ---\n const submitDirect = async (\n values: UpdateType | null | undefined,\n submitOptions?: SubmitOptions<StateType, ConfigurableType>,\n ) => {\n setToolProgressMap(new Map());\n\n // Unbranch things\n const checkpointId = submitOptions?.checkpoint?.checkpoint_id;\n setBranch(\n checkpointId != null\n ? (branchContext.branchByCheckpoint[checkpointId]?.branch ?? \"\")\n : \"\",\n );\n\n // When `fetchStateHistory` is requested, thus we assume that branching\n // is enabled. We then need to include the implicit branch.\n const includeImplicitBranch =\n historyLimit === true || typeof historyLimit === \"number\";\n\n const shouldRefetch =\n // We're expecting the whole thread state in onFinish\n options.onFinish != null ||\n // We're fetching history, thus we need the latest checkpoint\n // to ensure we're not accidentally submitting to a wrong branch\n includeImplicitBranch;\n\n let callbackMeta: RunCallbackMeta | undefined;\n let rejoinKey: `lg:stream:${string}` | undefined;\n let usableThreadId = threadId;\n\n const shouldAbortPrevious =\n (submitOptions?.multitaskStrategy === \"interrupt\" ||\n submitOptions?.multitaskStrategy === \"rollback\") &&\n stream.isLoading;\n\n await stream.start(\n async (signal: AbortSignal) => {\n stream.setStreamValues((values) => {\n const prev = { ...historyValues, ...values };\n if (submitOptions?.optimisticValues != null) {\n return {\n ...prev,\n ...(typeof submitOptions.optimisticValues === \"function\"\n ? submitOptions.optimisticValues(prev)\n : submitOptions.optimisticValues),\n };\n }\n\n return { ...prev };\n });\n\n if (!usableThreadId) {\n const thread = await client.threads.create({\n threadId: submitOptions?.threadId,\n metadata: submitOptions?.metadata,\n signal,\n });\n\n usableThreadId = thread.thread_id;\n\n // Pre-emptively update the thread ID before\n // stream cancellation is kicked off and thread\n // is being refetched\n threadIdRef.current = usableThreadId;\n threadIdStreamingRef.current = usableThreadId;\n\n onThreadId(usableThreadId);\n }\n\n if (!usableThreadId) {\n throw new Error(\"Failed to obtain valid thread ID.\");\n }\n\n threadIdStreamingRef.current = usableThreadId;\n\n const streamMode = unique([\n ...(submitOptions?.streamMode ?? []),\n ...trackStreamModeRef.current,\n ...callbackStreamMode,\n ]);\n\n let checkpoint =\n submitOptions?.checkpoint ??\n (includeImplicitBranch\n ? branchContext.threadHead?.checkpoint\n : undefined) ??\n undefined;\n\n // Avoid specifying a checkpoint if user explicitly set it to null\n if (submitOptions?.checkpoint === null) checkpoint = undefined;\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n if (checkpoint != null) delete checkpoint.thread_id;\n const streamResumable =\n submitOptions?.streamResumable ?? !!runMetadataStorage;\n\n return client.runs.stream(usableThreadId, options.assistantId, {\n input: values as Record<string, unknown>,\n config: submitOptions?.config,\n context: submitOptions?.context,\n command: submitOptions?.command,\n\n interruptBefore: submitOptions?.interruptBefore,\n interruptAfter: submitOptions?.interruptAfter,\n metadata: submitOptions?.metadata,\n multitaskStrategy: submitOptions?.multitaskStrategy,\n onCompletion: submitOptions?.onCompletion,\n onDisconnect:\n submitOptions?.onDisconnect ??\n (streamResumable ? \"continue\" : \"cancel\"),\n\n signal,\n\n checkpoint,\n streamMode,\n streamSubgraphs: submitOptions?.streamSubgraphs,\n streamResumable,\n durability: submitOptions?.durability,\n onRunCreated(params) {\n callbackMeta = {\n run_id: params.run_id,\n thread_id: params.thread_id ?? usableThreadId!,\n };\n\n if (runMetadataStorage) {\n rejoinKey = `lg:stream:${usableThreadId}`;\n runMetadataStorage.setItem(rejoinKey, callbackMeta.run_id);\n }\n\n options.onCreated?.(callbackMeta);\n },\n }) as AsyncGenerator<\n EventStreamEvent<StateType, UpdateType, CustomType>\n >;\n },\n {\n getMessages,\n setMessages,\n\n initialValues: historyValues,\n callbacks: {\n ...options,\n onToolEvent: (data, opts) => {\n handleToolEvent(data);\n options.onToolEvent?.(data, opts);\n },\n },\n\n async onSuccess() {\n if (rejoinKey) runMetadataStorage?.removeItem(rejoinKey);\n\n if (shouldRefetch) {\n const newHistory = await history.mutate(usableThreadId!);\n const lastHead = newHistory?.at(0);\n if (lastHead) {\n // We now have the latest update from /history\n // Thus we can clear the local stream state\n options.onFinish?.(lastHead, callbackMeta);\n return null;\n }\n }\n\n return undefined;\n },\n onError(error) {\n options.onError?.(error, callbackMeta);\n },\n onFinish() {\n threadIdStreamingRef.current = null;\n },\n },\n { abortPrevious: shouldAbortPrevious },\n );\n };\n\n const submitDirectRef = useRef(submitDirect);\n submitDirectRef.current = submitDirect;\n\n const submittingRef = useRef(false);\n\n const submit = async (\n values: UpdateType | null | undefined,\n submitOptions?: SubmitOptions<StateType, ConfigurableType>,\n ) => {\n if (stream.isLoading || submittingRef.current) {\n const shouldAbort =\n submitOptions?.multitaskStrategy === \"interrupt\" ||\n submitOptions?.multitaskStrategy === \"rollback\";\n\n if (shouldAbort) {\n submittingRef.current = true;\n try {\n await submitDirect(values, submitOptions);\n } finally {\n submittingRef.current = false;\n }\n return;\n }\n\n const usableThreadId = threadIdRef.current ?? threadId;\n if (usableThreadId) {\n const run = await client.runs.create(\n usableThreadId,\n options.assistantId,\n {\n input: values as Record<string, unknown>,\n config: submitOptions?.config,\n context: submitOptions?.context,\n command: submitOptions?.command,\n interruptBefore: submitOptions?.interruptBefore,\n interruptAfter: submitOptions?.interruptAfter,\n metadata: submitOptions?.metadata,\n multitaskStrategy: \"enqueue\",\n streamResumable: true,\n streamSubgraphs: submitOptions?.streamSubgraphs,\n durability: submitOptions?.durability,\n },\n );\n\n pendingRuns.add({\n id: run.run_id,\n values: values as Partial<StateType> | null | undefined,\n options: submitOptions,\n createdAt: new Date(run.created_at),\n });\n return;\n }\n }\n\n submittingRef.current = true;\n try {\n await submitDirect(values, submitOptions);\n } finally {\n submittingRef.current = false;\n }\n };\n\n const joinStream = async (\n runId: string,\n lastEventId?: string,\n joinOptions?: {\n streamMode?: StreamMode | StreamMode[];\n filter?: (event: {\n id?: string;\n event: StreamEvent;\n data: unknown;\n }) => boolean;\n },\n ) => {\n setToolProgressMap(new Map());\n\n // eslint-disable-next-line no-param-reassign\n lastEventId ??= \"-1\";\n if (!threadId) return;\n\n const callbackMeta: RunCallbackMeta = {\n thread_id: threadId,\n run_id: runId,\n };\n\n await stream.start(\n async (signal: AbortSignal) => {\n threadIdStreamingRef.current = threadId;\n const stream = client.runs.joinStream(threadId, runId, {\n signal,\n lastEventId,\n streamMode: joinOptions?.streamMode,\n }) as AsyncGenerator<\n EventStreamEvent<StateType, UpdateType, CustomType>\n >;\n\n return joinOptions?.filter != null\n ? filterStream(stream, joinOptions.filter)\n : stream;\n },\n {\n getMessages,\n setMessages,\n\n initialValues: historyValues,\n callbacks: {\n ...options,\n onToolEvent: (data, opts) => {\n handleToolEvent(data);\n options.onToolEvent?.(data, opts);\n },\n },\n async onSuccess() {\n runMetadataStorage?.removeItem(`lg:stream:${threadId}`);\n const newHistory = await history.mutate(threadId);\n const lastHead = newHistory?.at(0);\n if (lastHead) options.onFinish?.(lastHead, callbackMeta);\n },\n onError(error) {\n options.onError?.(error, callbackMeta);\n },\n onFinish() {\n threadIdStreamingRef.current = null;\n },\n },\n );\n };\n\n const joinStreamRef = useRef<typeof joinStream>(joinStream);\n joinStreamRef.current = joinStream;\n\n // Drain pending server-side runs when the stream finishes\n useEffect(() => {\n if (!stream.isLoading && !submittingRef.current && pendingRuns.size > 0) {\n const next = pendingRuns.shift();\n if (next) {\n submittingRef.current = true;\n void joinStreamRef.current(next.id).finally(() => {\n submittingRef.current = false;\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [stream.isLoading, pendingRuns.size]);\n\n const reconnectKey = useMemo(() => {\n if (!runMetadataStorage || stream.isLoading) return undefined;\n if (typeof window === \"undefined\") return undefined;\n const runId = runMetadataStorage?.getItem(`lg:stream:${threadId}`);\n if (!runId) return undefined;\n return { runId, threadId };\n }, [runMetadataStorage, stream.isLoading, threadId]);\n\n const shouldReconnect = !!runMetadataStorage;\n const reconnectRef = useRef({ threadId, shouldReconnect });\n\n useEffect(() => {\n // reset shouldReconnect when switching threads\n if (reconnectRef.current.threadId !== threadId) {\n reconnectRef.current = { threadId, shouldReconnect };\n }\n }, [threadId, shouldReconnect]);\n\n useEffect(() => {\n if (reconnectKey && reconnectRef.current.shouldReconnect) {\n reconnectRef.current.shouldReconnect = false;\n void joinStreamRef.current?.(reconnectKey.runId);\n }\n }, [reconnectKey]);\n\n const error = stream.error ?? historyError ?? history.error;\n const values = stream.values ?? historyValues;\n\n return {\n get values() {\n trackStreamMode(\"values\");\n return values;\n },\n\n client,\n assistantId: options.assistantId,\n\n error,\n isLoading: stream.isLoading,\n\n stop,\n submit,\n switchThread,\n\n joinStream,\n\n branch,\n setBranch,\n\n get history() {\n if (historyLimit === false) {\n throw new Error(\n \"`fetchStateHistory` must be set to `true` to use `history`\",\n );\n }\n\n return branchContext.flatHistory;\n },\n\n isThreadLoading: history.isLoading && history.data == null,\n\n get experimental_branchTree() {\n if (historyLimit === false) {\n throw new Error(\n \"`fetchStateHistory` must be set to `true` to use `experimental_branchTree`\",\n );\n }\n\n return branchContext.branchTree;\n },\n\n get interrupts(): Interrupt<InterruptType>[] {\n if (\n values != null &&\n \"__interrupt__\" in values &&\n Array.isArray(values.__interrupt__)\n ) {\n const valueInterrupts = values.__interrupt__;\n if (valueInterrupts.length === 0) return [{ when: \"breakpoint\" }];\n return valueInterrupts;\n }\n\n // If we're deferring to old interrupt detection logic, don't show the interrupt if the stream is loading\n if (stream.isLoading) return [];\n\n // Collect interrupts from ALL tasks (not just the last one)\n const allTasks = branchContext.threadHead?.tasks ?? [];\n const allInterrupts = allTasks.flatMap((t) => t.interrupts ?? []);\n\n if (allInterrupts.length > 0) {\n return allInterrupts as Interrupt<InterruptType>[];\n }\n\n // check if there's a next task present (breakpoint-style interrupt)\n const next = branchContext.threadHead?.next ?? [];\n if (!next.length || error != null) return [];\n return [{ when: \"breakpoint\" }];\n },\n\n get interrupt() {\n return extractInterrupts<InterruptType>(values, {\n error,\n isLoading: stream.isLoading,\n threadState: branchContext.threadHead,\n });\n },\n\n get messages(): BaseMessage[] {\n trackStreamMode(\"messages-tuple\", \"values\");\n return getMessages(values) as unknown as BaseMessage[];\n },\n\n get toolCalls() {\n trackStreamMode(\"messages-tuple\", \"values\");\n const msgs = getMessages(values) as Message<ToolCallType>[];\n return getToolCallsWithResults<ToolCallType>(msgs);\n },\n\n get toolProgress(): ToolProgress[] {\n trackStreamMode(\"tools\");\n return Array.from(toolProgressMap.values());\n },\n\n getToolCalls(message) {\n trackStreamMode(\"messages-tuple\", \"values\");\n const msgs = getMessages(values) as Message<ToolCallType>[];\n const allToolCalls = getToolCallsWithResults<ToolCallType>(msgs);\n return allToolCalls.filter((tc) => tc.aiMessage.id === message.id);\n },\n\n getMessagesMetadata(\n message: BaseMessage,\n index?: number,\n ): MessageMetadata<StateType> | undefined {\n trackStreamMode(\"values\");\n\n const streamMetadata = messageManager.get(message.id)?.metadata;\n const historyMetadata = messageMetadata?.find(\n (m) => m.messageId === (message.id ?? index),\n );\n\n if (streamMetadata != null || historyMetadata != null) {\n return {\n ...historyMetadata,\n streamMetadata,\n } as MessageMetadata<StateType>;\n }\n\n return undefined;\n },\n\n get subagents() {\n trackStreamMode(\"updates\", \"messages-tuple\");\n return stream.getSubagents();\n },\n\n get activeSubagents() {\n trackStreamMode(\"updates\", \"messages-tuple\");\n return stream.getActiveSubagents();\n },\n\n getSubagent(toolCallId: string) {\n trackStreamMode(\"updates\", \"messages-tuple\");\n return stream.getSubagent(toolCallId);\n },\n\n getSubagentsByType(type: string) {\n trackStreamMode(\"updates\", \"messages-tuple\");\n return stream.getSubagentsByType(type);\n },\n\n getSubagentsByMessage(messageId: string) {\n trackStreamMode(\"updates\", \"messages-tuple\");\n return stream.getSubagentsByMessage(messageId);\n },\n\n queue: {\n get entries() {\n return pendingRuns.entries;\n },\n get size() {\n return pendingRuns.size;\n },\n async cancel(id: string) {\n const usableThreadId = threadIdRef.current ?? threadId;\n const removed = pendingRuns.remove(id);\n if (removed && usableThreadId) {\n await client.runs.cancel(usableThreadId, id);\n }\n return removed;\n },\n async clear() {\n const usableThreadId = threadIdRef.current ?? threadId;\n const removed = pendingRuns.removeAll();\n if (usableThreadId && removed.length > 0) {\n await Promise.all(\n removed.map((e) => client.runs.cancel(usableThreadId!, e.id)),\n );\n }\n },\n },\n };\n}\n"],"mappings":"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"}