langchain 1.0.0-alpha.7 → 1.0.0-alpha.8
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.
- package/dist/agents/ReactAgent.cjs +2 -2
- package/dist/agents/ReactAgent.cjs.map +1 -1
- package/dist/agents/ReactAgent.js +2 -2
- package/dist/agents/ReactAgent.js.map +1 -1
- package/dist/agents/RunnableCallable.cjs +10 -0
- package/dist/agents/RunnableCallable.cjs.map +1 -1
- package/dist/agents/RunnableCallable.d.cts +5 -0
- package/dist/agents/RunnableCallable.d.cts.map +1 -1
- package/dist/agents/RunnableCallable.d.ts +5 -0
- package/dist/agents/RunnableCallable.d.ts.map +1 -1
- package/dist/agents/RunnableCallable.js +10 -0
- package/dist/agents/RunnableCallable.js.map +1 -1
- package/dist/agents/annotation.cjs +14 -0
- package/dist/agents/annotation.cjs.map +1 -1
- package/dist/agents/annotation.d.cts +12 -7
- package/dist/agents/annotation.d.cts.map +1 -1
- package/dist/agents/annotation.d.ts +11 -6
- package/dist/agents/annotation.d.ts.map +1 -1
- package/dist/agents/annotation.js +12 -1
- package/dist/agents/annotation.js.map +1 -1
- package/dist/agents/errors.d.cts +9 -2
- package/dist/agents/errors.d.cts.map +1 -1
- package/dist/agents/errors.d.ts +9 -2
- package/dist/agents/errors.d.ts.map +1 -1
- package/dist/agents/index.cjs +3 -0
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +6 -5
- package/dist/agents/index.d.cts.map +1 -1
- package/dist/agents/index.d.ts +6 -5
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/interrupt.d.cts +5 -16
- package/dist/agents/interrupt.d.cts.map +1 -1
- package/dist/agents/interrupt.d.ts +3 -17
- package/dist/agents/interrupt.d.ts.map +1 -1
- package/dist/agents/interrupt.js +3 -1
- package/dist/agents/middlewareAgent/ReactAgent.cjs +145 -28
- package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
- package/dist/agents/middlewareAgent/ReactAgent.d.cts +92 -12
- package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/ReactAgent.d.ts +92 -12
- package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/ReactAgent.js +145 -28
- package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/callLimit.cjs +128 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.d.cts +119 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.d.ts +119 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.js +127 -0
- package/dist/agents/middlewareAgent/middleware/callLimit.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.cjs +278 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts +239 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts +239 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.js +276 -0
- package/dist/agents/middlewareAgent/middleware/contextEditing.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +1 -1
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +2 -2
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +2 -2
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +1 -1
- package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/hitl.cjs +38 -8
- package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware/hitl.d.cts +130 -25
- package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/hitl.d.ts +129 -24
- package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/hitl.js +38 -8
- package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/index.cjs +26 -6
- package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware/index.d.cts +10 -3
- package/dist/agents/middlewareAgent/middleware/index.d.ts +10 -3
- package/dist/agents/middlewareAgent/middleware/index.js +17 -4
- package/dist/agents/middlewareAgent/middleware/index.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs +193 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts +83 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts +83 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.js +192 -0
- package/dist/agents/middlewareAgent/middleware/llmToolSelector.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.cjs +67 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts +45 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts +45 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.js +67 -0
- package/dist/agents/middlewareAgent/middleware/modelFallback.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs +333 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts +155 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts +155 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.js +332 -0
- package/dist/agents/middlewareAgent/middleware/piiRedaction.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +50 -38
- package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +18 -18
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +17 -17
- package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/promptCaching.js +50 -38
- package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/summarization.cjs +3 -23
- package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware/summarization.d.cts +10 -17
- package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/summarization.d.ts +2 -9
- package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/middleware/summarization.js +3 -22
- package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -1
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs +242 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts +158 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts +158 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.js +240 -0
- package/dist/agents/middlewareAgent/middleware/toolCallLimit.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware/utils.cjs +26 -0
- package/dist/agents/middlewareAgent/middleware/utils.cjs.map +1 -0
- package/dist/agents/middlewareAgent/middleware/utils.d.cts +13 -0
- package/dist/agents/middlewareAgent/middleware/utils.d.cts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/utils.d.ts +13 -0
- package/dist/agents/middlewareAgent/middleware/utils.d.ts.map +1 -0
- package/dist/agents/middlewareAgent/middleware/utils.js +25 -0
- package/dist/agents/middlewareAgent/middleware/utils.js.map +1 -0
- package/dist/agents/middlewareAgent/middleware.cjs +1 -0
- package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
- package/dist/agents/middlewareAgent/middleware.d.cts +14 -3
- package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/middleware.d.ts +14 -3
- package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
- package/dist/agents/middlewareAgent/middleware.js +1 -0
- package/dist/agents/middlewareAgent/middleware.js.map +1 -1
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +2 -2
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +2 -2
- package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
- package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +172 -78
- package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
- package/dist/agents/middlewareAgent/nodes/AgentNode.js +173 -79
- package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +2 -2
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +2 -2
- package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
- package/dist/agents/middlewareAgent/nodes/middleware.cjs +11 -10
- package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
- package/dist/agents/middlewareAgent/nodes/middleware.js +12 -11
- package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
- package/dist/agents/middlewareAgent/nodes/utils.cjs +8 -30
- package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
- package/dist/agents/middlewareAgent/nodes/utils.js +9 -30
- package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
- package/dist/agents/middlewareAgent/types.d.cts +56 -51
- package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
- package/dist/agents/middlewareAgent/types.d.ts +56 -51
- package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
- package/dist/agents/nodes/ToolNode.d.cts +1 -1
- package/dist/agents/tests/utils.cjs +77 -0
- package/dist/agents/tests/utils.cjs.map +1 -0
- package/dist/agents/tests/utils.d.cts +53 -0
- package/dist/agents/tests/utils.d.cts.map +1 -0
- package/dist/agents/tests/utils.d.ts +53 -0
- package/dist/agents/tests/utils.d.ts.map +1 -0
- package/dist/agents/tests/utils.js +76 -0
- package/dist/agents/tests/utils.js.map +1 -0
- package/dist/agents/types.cjs +7 -0
- package/dist/agents/types.cjs.map +1 -0
- package/dist/agents/types.d.cts +38 -4
- package/dist/agents/types.d.cts.map +1 -1
- package/dist/agents/types.d.ts +38 -4
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/agents/types.js +6 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/chat_models/universal.cjs +7 -0
- package/dist/chat_models/universal.cjs.map +1 -1
- package/dist/chat_models/universal.d.cts +7 -2
- package/dist/chat_models/universal.d.cts.map +1 -1
- package/dist/chat_models/universal.d.ts +7 -2
- package/dist/chat_models/universal.d.ts.map +1 -1
- package/dist/chat_models/universal.js +7 -0
- package/dist/chat_models/universal.js.map +1 -1
- package/dist/hub/base.cjs +4 -1
- package/dist/hub/base.cjs.map +1 -1
- package/dist/hub/base.js +4 -1
- package/dist/hub/base.js.map +1 -1
- package/dist/index.cjs +64 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -9
- package/dist/index.d.ts +18 -9
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/load/import_constants.cjs +0 -19
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js +0 -19
- package/dist/load/import_constants.js.map +1 -1
- package/dist/load/import_map.cjs +2 -113
- package/dist/load/import_map.cjs.map +1 -1
- package/dist/load/import_map.js +3 -114
- package/dist/load/import_map.js.map +1 -1
- package/dist/load/serializable.d.cts +1 -10
- package/dist/load/serializable.d.ts +1 -10
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs +5 -4
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs.map +1 -1
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js +3 -2
- package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js.map +1 -1
- package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs +83 -0
- package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js +79 -0
- package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs +16 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js +13 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs +77 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js +74 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs +115 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs.map +1 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js +112 -0
- package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js.map +1 -0
- package/dist/storage/encoder_backed.cjs +1 -1
- package/dist/storage/encoder_backed.d.cts +1 -1
- package/dist/storage/encoder_backed.d.ts +1 -1
- package/dist/storage/encoder_backed.js +1 -1
- package/dist/storage/file_system.cjs +1 -1
- package/dist/storage/file_system.js +1 -1
- package/package.json +36 -649
- package/dist/agents/middlewareAgent/middleware/bigTool.cjs +0 -162
- package/dist/agents/middlewareAgent/middleware/bigTool.cjs.map +0 -1
- package/dist/agents/middlewareAgent/middleware/bigTool.d.cts +0 -113
- package/dist/agents/middlewareAgent/middleware/bigTool.d.cts.map +0 -1
- package/dist/agents/middlewareAgent/middleware/bigTool.d.ts +0 -113
- package/dist/agents/middlewareAgent/middleware/bigTool.d.ts.map +0 -1
- package/dist/agents/middlewareAgent/middleware/bigTool.js +0 -161
- package/dist/agents/middlewareAgent/middleware/bigTool.js.map +0 -1
- package/dist/chains/analyze_documents_chain.cjs +0 -83
- package/dist/chains/analyze_documents_chain.cjs.map +0 -1
- package/dist/chains/analyze_documents_chain.d.cts +0 -58
- package/dist/chains/analyze_documents_chain.d.cts.map +0 -1
- package/dist/chains/analyze_documents_chain.d.ts +0 -58
- package/dist/chains/analyze_documents_chain.d.ts.map +0 -1
- package/dist/chains/analyze_documents_chain.js +0 -82
- package/dist/chains/analyze_documents_chain.js.map +0 -1
- package/dist/chains/api/api_chain.cjs +0 -100
- package/dist/chains/api/api_chain.cjs.map +0 -1
- package/dist/chains/api/api_chain.d.cts +0 -63
- package/dist/chains/api/api_chain.d.cts.map +0 -1
- package/dist/chains/api/api_chain.d.ts +0 -63
- package/dist/chains/api/api_chain.d.ts.map +0 -1
- package/dist/chains/api/api_chain.js +0 -100
- package/dist/chains/api/api_chain.js.map +0 -1
- package/dist/chains/api/prompts.cjs +0 -38
- package/dist/chains/api/prompts.cjs.map +0 -1
- package/dist/chains/api/prompts.js +0 -36
- package/dist/chains/api/prompts.js.map +0 -1
- package/dist/chains/base.cjs +0 -180
- package/dist/chains/base.cjs.map +0 -1
- package/dist/chains/base.d.cts +0 -88
- package/dist/chains/base.d.cts.map +0 -1
- package/dist/chains/base.d.ts +0 -88
- package/dist/chains/base.d.ts.map +0 -1
- package/dist/chains/base.js +0 -179
- package/dist/chains/base.js.map +0 -1
- package/dist/chains/chat_vector_db_chain.cjs +0 -130
- package/dist/chains/chat_vector_db_chain.cjs.map +0 -1
- package/dist/chains/chat_vector_db_chain.d.cts +0 -62
- package/dist/chains/chat_vector_db_chain.d.cts.map +0 -1
- package/dist/chains/chat_vector_db_chain.d.ts +0 -62
- package/dist/chains/chat_vector_db_chain.d.ts.map +0 -1
- package/dist/chains/chat_vector_db_chain.js +0 -129
- package/dist/chains/chat_vector_db_chain.js.map +0 -1
- package/dist/chains/combine_docs_chain.cjs +0 -275
- package/dist/chains/combine_docs_chain.cjs.map +0 -1
- package/dist/chains/combine_docs_chain.d.cts +0 -126
- package/dist/chains/combine_docs_chain.d.cts.map +0 -1
- package/dist/chains/combine_docs_chain.d.ts +0 -126
- package/dist/chains/combine_docs_chain.d.ts.map +0 -1
- package/dist/chains/combine_docs_chain.js +0 -272
- package/dist/chains/combine_docs_chain.js.map +0 -1
- package/dist/chains/combine_documents/base.cjs +0 -22
- package/dist/chains/combine_documents/base.cjs.map +0 -1
- package/dist/chains/combine_documents/base.js +0 -18
- package/dist/chains/combine_documents/base.js.map +0 -1
- package/dist/chains/combine_documents/index.cjs +0 -16
- package/dist/chains/combine_documents/index.cjs.map +0 -1
- package/dist/chains/combine_documents/index.d.cts +0 -2
- package/dist/chains/combine_documents/index.d.ts +0 -2
- package/dist/chains/combine_documents/index.js +0 -10
- package/dist/chains/combine_documents/index.js.map +0 -1
- package/dist/chains/combine_documents/reduce.cjs +0 -73
- package/dist/chains/combine_documents/reduce.cjs.map +0 -1
- package/dist/chains/combine_documents/reduce.d.cts +0 -36
- package/dist/chains/combine_documents/reduce.d.cts.map +0 -1
- package/dist/chains/combine_documents/reduce.d.ts +0 -36
- package/dist/chains/combine_documents/reduce.d.ts.map +0 -1
- package/dist/chains/combine_documents/reduce.js +0 -66
- package/dist/chains/combine_documents/reduce.js.map +0 -1
- package/dist/chains/combine_documents/stuff.cjs +0 -41
- package/dist/chains/combine_documents/stuff.cjs.map +0 -1
- package/dist/chains/combine_documents/stuff.d.cts +0 -40
- package/dist/chains/combine_documents/stuff.d.cts.map +0 -1
- package/dist/chains/combine_documents/stuff.d.ts +0 -40
- package/dist/chains/combine_documents/stuff.d.ts.map +0 -1
- package/dist/chains/combine_documents/stuff.js +0 -40
- package/dist/chains/combine_documents/stuff.js.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.cjs +0 -131
- package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -79
- package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -79
- package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_chain.js +0 -131
- package/dist/chains/constitutional_ai/constitutional_chain.js.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.cjs +0 -322
- package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -50
- package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -50
- package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_principle.js +0 -320
- package/dist/chains/constitutional_ai/constitutional_principle.js.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs +0 -96
- package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +0 -1
- package/dist/chains/constitutional_ai/constitutional_prompts.js +0 -94
- package/dist/chains/constitutional_ai/constitutional_prompts.js.map +0 -1
- package/dist/chains/conversation.cjs +0 -50
- package/dist/chains/conversation.cjs.map +0 -1
- package/dist/chains/conversation.d.cts +0 -34
- package/dist/chains/conversation.d.cts.map +0 -1
- package/dist/chains/conversation.d.ts +0 -34
- package/dist/chains/conversation.d.ts.map +0 -1
- package/dist/chains/conversation.js +0 -48
- package/dist/chains/conversation.js.map +0 -1
- package/dist/chains/conversational_retrieval_chain.cjs +0 -218
- package/dist/chains/conversational_retrieval_chain.cjs.map +0 -1
- package/dist/chains/conversational_retrieval_chain.d.cts +0 -152
- package/dist/chains/conversational_retrieval_chain.d.cts.map +0 -1
- package/dist/chains/conversational_retrieval_chain.d.ts +0 -152
- package/dist/chains/conversational_retrieval_chain.d.ts.map +0 -1
- package/dist/chains/conversational_retrieval_chain.js +0 -217
- package/dist/chains/conversational_retrieval_chain.js.map +0 -1
- package/dist/chains/graph_qa/cypher.cjs +0 -133
- package/dist/chains/graph_qa/cypher.cjs.map +0 -1
- package/dist/chains/graph_qa/cypher.d.cts +0 -76
- package/dist/chains/graph_qa/cypher.d.cts.map +0 -1
- package/dist/chains/graph_qa/cypher.d.ts +0 -76
- package/dist/chains/graph_qa/cypher.d.ts.map +0 -1
- package/dist/chains/graph_qa/cypher.js +0 -126
- package/dist/chains/graph_qa/cypher.js.map +0 -1
- package/dist/chains/graph_qa/prompts.cjs +0 -46
- package/dist/chains/graph_qa/prompts.cjs.map +0 -1
- package/dist/chains/graph_qa/prompts.js +0 -44
- package/dist/chains/graph_qa/prompts.js.map +0 -1
- package/dist/chains/history_aware_retriever.cjs +0 -55
- package/dist/chains/history_aware_retriever.cjs.map +0 -1
- package/dist/chains/history_aware_retriever.d.cts +0 -64
- package/dist/chains/history_aware_retriever.d.cts.map +0 -1
- package/dist/chains/history_aware_retriever.d.ts +0 -64
- package/dist/chains/history_aware_retriever.d.ts.map +0 -1
- package/dist/chains/history_aware_retriever.js +0 -49
- package/dist/chains/history_aware_retriever.js.map +0 -1
- package/dist/chains/index.cjs +0 -106
- package/dist/chains/index.cjs.map +0 -1
- package/dist/chains/index.d.cts +0 -25
- package/dist/chains/index.d.ts +0 -25
- package/dist/chains/index.js +0 -67
- package/dist/chains/index.js.map +0 -1
- package/dist/chains/llm_chain.cjs +0 -155
- package/dist/chains/llm_chain.cjs.map +0 -1
- package/dist/chains/llm_chain.d.cts +0 -97
- package/dist/chains/llm_chain.d.cts.map +0 -1
- package/dist/chains/llm_chain.d.ts +0 -97
- package/dist/chains/llm_chain.d.ts.map +0 -1
- package/dist/chains/llm_chain.js +0 -154
- package/dist/chains/llm_chain.js.map +0 -1
- package/dist/chains/load.cjs +0 -48
- package/dist/chains/load.cjs.map +0 -1
- package/dist/chains/load.d.cts +0 -30
- package/dist/chains/load.d.cts.map +0 -1
- package/dist/chains/load.d.ts +0 -30
- package/dist/chains/load.d.ts.map +0 -1
- package/dist/chains/load.js +0 -42
- package/dist/chains/load.js.map +0 -1
- package/dist/chains/openai_functions/base.cjs +0 -139
- package/dist/chains/openai_functions/base.cjs.map +0 -1
- package/dist/chains/openai_functions/base.d.cts +0 -172
- package/dist/chains/openai_functions/base.d.cts.map +0 -1
- package/dist/chains/openai_functions/base.d.ts +0 -172
- package/dist/chains/openai_functions/base.d.ts.map +0 -1
- package/dist/chains/openai_functions/base.js +0 -137
- package/dist/chains/openai_functions/base.js.map +0 -1
- package/dist/chains/openai_functions/extraction.cjs +0 -71
- package/dist/chains/openai_functions/extraction.cjs.map +0 -1
- package/dist/chains/openai_functions/extraction.d.cts +0 -29
- package/dist/chains/openai_functions/extraction.d.cts.map +0 -1
- package/dist/chains/openai_functions/extraction.d.ts +0 -29
- package/dist/chains/openai_functions/extraction.d.ts.map +0 -1
- package/dist/chains/openai_functions/extraction.js +0 -69
- package/dist/chains/openai_functions/extraction.js.map +0 -1
- package/dist/chains/openai_functions/index.cjs +0 -33
- package/dist/chains/openai_functions/index.cjs.map +0 -1
- package/dist/chains/openai_functions/index.d.cts +0 -5
- package/dist/chains/openai_functions/index.d.ts +0 -5
- package/dist/chains/openai_functions/index.js +0 -21
- package/dist/chains/openai_functions/index.js.map +0 -1
- package/dist/chains/openai_functions/openapi.cjs +0 -287
- package/dist/chains/openai_functions/openapi.cjs.map +0 -1
- package/dist/chains/openai_functions/openapi.d.cts +0 -61
- package/dist/chains/openai_functions/openapi.d.cts.map +0 -1
- package/dist/chains/openai_functions/openapi.d.ts +0 -61
- package/dist/chains/openai_functions/openapi.d.ts.map +0 -1
- package/dist/chains/openai_functions/openapi.js +0 -285
- package/dist/chains/openai_functions/openapi.js.map +0 -1
- package/dist/chains/openai_functions/tagging.cjs +0 -72
- package/dist/chains/openai_functions/tagging.cjs.map +0 -1
- package/dist/chains/openai_functions/tagging.d.cts +0 -47
- package/dist/chains/openai_functions/tagging.d.cts.map +0 -1
- package/dist/chains/openai_functions/tagging.d.ts +0 -47
- package/dist/chains/openai_functions/tagging.d.ts.map +0 -1
- package/dist/chains/openai_functions/tagging.js +0 -70
- package/dist/chains/openai_functions/tagging.js.map +0 -1
- package/dist/chains/query_constructor/index.cjs +0 -145
- package/dist/chains/query_constructor/index.cjs.map +0 -1
- package/dist/chains/query_constructor/index.d.cts +0 -82
- package/dist/chains/query_constructor/index.d.cts.map +0 -1
- package/dist/chains/query_constructor/index.d.ts +0 -82
- package/dist/chains/query_constructor/index.d.ts.map +0 -1
- package/dist/chains/query_constructor/index.js +0 -130
- package/dist/chains/query_constructor/index.js.map +0 -1
- package/dist/chains/query_constructor/ir.cjs +0 -22
- package/dist/chains/query_constructor/ir.cjs.map +0 -1
- package/dist/chains/query_constructor/ir.d.cts +0 -1
- package/dist/chains/query_constructor/ir.d.ts +0 -1
- package/dist/chains/query_constructor/ir.js +0 -12
- package/dist/chains/query_constructor/ir.js.map +0 -1
- package/dist/chains/query_constructor/parser.cjs +0 -80
- package/dist/chains/query_constructor/parser.cjs.map +0 -1
- package/dist/chains/query_constructor/parser.d.cts +0 -43
- package/dist/chains/query_constructor/parser.d.cts.map +0 -1
- package/dist/chains/query_constructor/parser.d.ts +0 -43
- package/dist/chains/query_constructor/parser.d.ts.map +0 -1
- package/dist/chains/query_constructor/parser.js +0 -79
- package/dist/chains/query_constructor/parser.js.map +0 -1
- package/dist/chains/query_constructor/prompt.cjs +0 -137
- package/dist/chains/query_constructor/prompt.cjs.map +0 -1
- package/dist/chains/query_constructor/prompt.d.cts +0 -22
- package/dist/chains/query_constructor/prompt.d.cts.map +0 -1
- package/dist/chains/query_constructor/prompt.d.ts +0 -22
- package/dist/chains/query_constructor/prompt.d.ts.map +0 -1
- package/dist/chains/query_constructor/prompt.js +0 -132
- package/dist/chains/query_constructor/prompt.js.map +0 -1
- package/dist/chains/question_answering/load.cjs +0 -99
- package/dist/chains/question_answering/load.cjs.map +0 -1
- package/dist/chains/question_answering/load.d.cts +0 -72
- package/dist/chains/question_answering/load.d.cts.map +0 -1
- package/dist/chains/question_answering/load.d.ts +0 -72
- package/dist/chains/question_answering/load.d.ts.map +0 -1
- package/dist/chains/question_answering/load.js +0 -96
- package/dist/chains/question_answering/load.js.map +0 -1
- package/dist/chains/question_answering/map_reduce_prompts.cjs +0 -61
- package/dist/chains/question_answering/map_reduce_prompts.cjs.map +0 -1
- package/dist/chains/question_answering/map_reduce_prompts.js +0 -59
- package/dist/chains/question_answering/map_reduce_prompts.js.map +0 -1
- package/dist/chains/question_answering/refine_prompts.cjs +0 -60
- package/dist/chains/question_answering/refine_prompts.cjs.map +0 -1
- package/dist/chains/question_answering/refine_prompts.js +0 -58
- package/dist/chains/question_answering/refine_prompts.js.map +0 -1
- package/dist/chains/question_answering/stuff_prompts.cjs +0 -20
- package/dist/chains/question_answering/stuff_prompts.cjs.map +0 -1
- package/dist/chains/question_answering/stuff_prompts.js +0 -19
- package/dist/chains/question_answering/stuff_prompts.js.map +0 -1
- package/dist/chains/retrieval.cjs +0 -55
- package/dist/chains/retrieval.cjs.map +0 -1
- package/dist/chains/retrieval.d.cts +0 -77
- package/dist/chains/retrieval.d.cts.map +0 -1
- package/dist/chains/retrieval.d.ts +0 -77
- package/dist/chains/retrieval.d.ts.map +0 -1
- package/dist/chains/retrieval.js +0 -49
- package/dist/chains/retrieval.js.map +0 -1
- package/dist/chains/retrieval_qa.cjs +0 -106
- package/dist/chains/retrieval_qa.cjs.map +0 -1
- package/dist/chains/retrieval_qa.d.cts +0 -81
- package/dist/chains/retrieval_qa.d.cts.map +0 -1
- package/dist/chains/retrieval_qa.d.ts +0 -81
- package/dist/chains/retrieval_qa.d.ts.map +0 -1
- package/dist/chains/retrieval_qa.js +0 -106
- package/dist/chains/retrieval_qa.js.map +0 -1
- package/dist/chains/router/llm_router.cjs +0 -50
- package/dist/chains/router/llm_router.cjs.map +0 -1
- package/dist/chains/router/llm_router.d.cts +0 -54
- package/dist/chains/router/llm_router.d.cts.map +0 -1
- package/dist/chains/router/llm_router.d.ts +0 -54
- package/dist/chains/router/llm_router.d.ts.map +0 -1
- package/dist/chains/router/llm_router.js +0 -50
- package/dist/chains/router/llm_router.js.map +0 -1
- package/dist/chains/router/multi_prompt.cjs +0 -116
- package/dist/chains/router/multi_prompt.cjs.map +0 -1
- package/dist/chains/router/multi_prompt.d.cts +0 -76
- package/dist/chains/router/multi_prompt.d.cts.map +0 -1
- package/dist/chains/router/multi_prompt.d.ts +0 -76
- package/dist/chains/router/multi_prompt.d.ts.map +0 -1
- package/dist/chains/router/multi_prompt.js +0 -115
- package/dist/chains/router/multi_prompt.js.map +0 -1
- package/dist/chains/router/multi_prompt_prompt.cjs +0 -22
- package/dist/chains/router/multi_prompt_prompt.cjs.map +0 -1
- package/dist/chains/router/multi_prompt_prompt.js +0 -21
- package/dist/chains/router/multi_prompt_prompt.js.map +0 -1
- package/dist/chains/router/multi_retrieval_prompt.cjs +0 -22
- package/dist/chains/router/multi_retrieval_prompt.cjs.map +0 -1
- package/dist/chains/router/multi_retrieval_prompt.js +0 -21
- package/dist/chains/router/multi_retrieval_prompt.js.map +0 -1
- package/dist/chains/router/multi_retrieval_qa.cjs +0 -137
- package/dist/chains/router/multi_retrieval_qa.cjs.map +0 -1
- package/dist/chains/router/multi_retrieval_qa.d.cts +0 -100
- package/dist/chains/router/multi_retrieval_qa.d.cts.map +0 -1
- package/dist/chains/router/multi_retrieval_qa.d.ts +0 -100
- package/dist/chains/router/multi_retrieval_qa.d.ts.map +0 -1
- package/dist/chains/router/multi_retrieval_qa.js +0 -136
- package/dist/chains/router/multi_retrieval_qa.js.map +0 -1
- package/dist/chains/router/multi_route.cjs +0 -69
- package/dist/chains/router/multi_route.cjs.map +0 -1
- package/dist/chains/router/multi_route.d.cts +0 -69
- package/dist/chains/router/multi_route.d.cts.map +0 -1
- package/dist/chains/router/multi_route.d.ts +0 -69
- package/dist/chains/router/multi_route.d.ts.map +0 -1
- package/dist/chains/router/multi_route.js +0 -68
- package/dist/chains/router/multi_route.js.map +0 -1
- package/dist/chains/router/utils.cjs +0 -18
- package/dist/chains/router/utils.cjs.map +0 -1
- package/dist/chains/router/utils.js +0 -17
- package/dist/chains/router/utils.js.map +0 -1
- package/dist/chains/sequential_chain.cjs +0 -255
- package/dist/chains/sequential_chain.cjs.map +0 -1
- package/dist/chains/sequential_chain.d.cts +0 -158
- package/dist/chains/sequential_chain.d.cts.map +0 -1
- package/dist/chains/sequential_chain.d.ts +0 -158
- package/dist/chains/sequential_chain.d.ts.map +0 -1
- package/dist/chains/sequential_chain.js +0 -254
- package/dist/chains/sequential_chain.js.map +0 -1
- package/dist/chains/serde.d.cts +0 -156
- package/dist/chains/serde.d.cts.map +0 -1
- package/dist/chains/serde.d.ts +0 -156
- package/dist/chains/serde.d.ts.map +0 -1
- package/dist/chains/sql_db/index.cjs +0 -35
- package/dist/chains/sql_db/index.cjs.map +0 -1
- package/dist/chains/sql_db/index.d.cts +0 -3
- package/dist/chains/sql_db/index.d.ts +0 -3
- package/dist/chains/sql_db/index.js +0 -21
- package/dist/chains/sql_db/index.js.map +0 -1
- package/dist/chains/sql_db/sql_db_chain.cjs +0 -196
- package/dist/chains/sql_db/sql_db_chain.cjs.map +0 -1
- package/dist/chains/sql_db/sql_db_chain.d.cts +0 -124
- package/dist/chains/sql_db/sql_db_chain.d.cts.map +0 -1
- package/dist/chains/sql_db/sql_db_chain.d.ts +0 -124
- package/dist/chains/sql_db/sql_db_chain.d.ts.map +0 -1
- package/dist/chains/sql_db/sql_db_chain.js +0 -194
- package/dist/chains/sql_db/sql_db_chain.js.map +0 -1
- package/dist/chains/sql_db/sql_db_prompt.cjs +0 -194
- package/dist/chains/sql_db/sql_db_prompt.cjs.map +0 -1
- package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -44
- package/dist/chains/sql_db/sql_db_prompt.d.cts.map +0 -1
- package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -44
- package/dist/chains/sql_db/sql_db_prompt.d.ts.map +0 -1
- package/dist/chains/sql_db/sql_db_prompt.js +0 -186
- package/dist/chains/sql_db/sql_db_prompt.js.map +0 -1
- package/dist/chains/summarization/load.cjs +0 -74
- package/dist/chains/summarization/load.cjs.map +0 -1
- package/dist/chains/summarization/load.d.cts +0 -33
- package/dist/chains/summarization/load.d.cts.map +0 -1
- package/dist/chains/summarization/load.d.ts +0 -33
- package/dist/chains/summarization/load.d.ts.map +0 -1
- package/dist/chains/summarization/load.js +0 -74
- package/dist/chains/summarization/load.js.map +0 -1
- package/dist/chains/summarization/refine_prompts.cjs +0 -24
- package/dist/chains/summarization/refine_prompts.cjs.map +0 -1
- package/dist/chains/summarization/refine_prompts.js +0 -23
- package/dist/chains/summarization/refine_prompts.js.map +0 -1
- package/dist/chains/summarization/stuff_prompts.cjs +0 -19
- package/dist/chains/summarization/stuff_prompts.cjs.map +0 -1
- package/dist/chains/summarization/stuff_prompts.js +0 -18
- package/dist/chains/summarization/stuff_prompts.js.map +0 -1
- package/dist/chains/transform.cjs +0 -43
- package/dist/chains/transform.cjs.map +0 -1
- package/dist/chains/transform.d.cts +0 -44
- package/dist/chains/transform.d.cts.map +0 -1
- package/dist/chains/transform.d.ts +0 -44
- package/dist/chains/transform.d.ts.map +0 -1
- package/dist/chains/transform.js +0 -43
- package/dist/chains/transform.js.map +0 -1
- package/dist/chains/vector_db_qa.cjs +0 -95
- package/dist/chains/vector_db_qa.cjs.map +0 -1
- package/dist/chains/vector_db_qa.d.cts +0 -66
- package/dist/chains/vector_db_qa.d.cts.map +0 -1
- package/dist/chains/vector_db_qa.d.ts +0 -66
- package/dist/chains/vector_db_qa.d.ts.map +0 -1
- package/dist/chains/vector_db_qa.js +0 -95
- package/dist/chains/vector_db_qa.js.map +0 -1
- package/dist/document.cjs +0 -21
- package/dist/document.cjs.map +0 -1
- package/dist/document.d.cts +0 -2
- package/dist/document.d.ts +0 -2
- package/dist/document.js +0 -10
- package/dist/document.js.map +0 -1
- package/dist/document_loaders/base.cjs +0 -22
- package/dist/document_loaders/base.cjs.map +0 -1
- package/dist/document_loaders/base.d.cts +0 -1
- package/dist/document_loaders/base.d.ts +0 -1
- package/dist/document_loaders/base.js +0 -12
- package/dist/document_loaders/base.js.map +0 -1
- package/dist/document_loaders/fs/buffer.cjs +0 -69
- package/dist/document_loaders/fs/buffer.cjs.map +0 -1
- package/dist/document_loaders/fs/buffer.d.cts +0 -46
- package/dist/document_loaders/fs/buffer.d.cts.map +0 -1
- package/dist/document_loaders/fs/buffer.d.ts +0 -46
- package/dist/document_loaders/fs/buffer.d.ts.map +0 -1
- package/dist/document_loaders/fs/buffer.js +0 -63
- package/dist/document_loaders/fs/buffer.js.map +0 -1
- package/dist/document_loaders/fs/directory.cjs +0 -116
- package/dist/document_loaders/fs/directory.cjs.map +0 -1
- package/dist/document_loaders/fs/directory.d.cts +0 -76
- package/dist/document_loaders/fs/directory.d.cts.map +0 -1
- package/dist/document_loaders/fs/directory.d.ts +0 -76
- package/dist/document_loaders/fs/directory.d.ts.map +0 -1
- package/dist/document_loaders/fs/directory.js +0 -109
- package/dist/document_loaders/fs/directory.js.map +0 -1
- package/dist/document_loaders/fs/json.cjs +0 -128
- package/dist/document_loaders/fs/json.cjs.map +0 -1
- package/dist/document_loaders/fs/json.d.cts +0 -65
- package/dist/document_loaders/fs/json.d.cts.map +0 -1
- package/dist/document_loaders/fs/json.d.ts +0 -65
- package/dist/document_loaders/fs/json.d.ts.map +0 -1
- package/dist/document_loaders/fs/json.js +0 -121
- package/dist/document_loaders/fs/json.js.map +0 -1
- package/dist/document_loaders/fs/multi_file.cjs +0 -82
- package/dist/document_loaders/fs/multi_file.cjs.map +0 -1
- package/dist/document_loaders/fs/multi_file.d.cts +0 -43
- package/dist/document_loaders/fs/multi_file.d.cts.map +0 -1
- package/dist/document_loaders/fs/multi_file.d.ts +0 -43
- package/dist/document_loaders/fs/multi_file.d.ts.map +0 -1
- package/dist/document_loaders/fs/multi_file.js +0 -76
- package/dist/document_loaders/fs/multi_file.js.map +0 -1
- package/dist/document_loaders/fs/text.cjs +0 -101
- package/dist/document_loaders/fs/text.cjs.map +0 -1
- package/dist/document_loaders/fs/text.d.cts +0 -57
- package/dist/document_loaders/fs/text.d.cts.map +0 -1
- package/dist/document_loaders/fs/text.d.ts +0 -57
- package/dist/document_loaders/fs/text.d.ts.map +0 -1
- package/dist/document_loaders/fs/text.js +0 -95
- package/dist/document_loaders/fs/text.js.map +0 -1
- package/dist/evaluation/agents/index.cjs +0 -1
- package/dist/evaluation/agents/index.js +0 -1
- package/dist/evaluation/agents/prompt.cjs +0 -132
- package/dist/evaluation/agents/prompt.cjs.map +0 -1
- package/dist/evaluation/agents/prompt.js +0 -130
- package/dist/evaluation/agents/prompt.js.map +0 -1
- package/dist/evaluation/agents/trajectory.cjs +0 -132
- package/dist/evaluation/agents/trajectory.cjs.map +0 -1
- package/dist/evaluation/agents/trajectory.d.cts +0 -61
- package/dist/evaluation/agents/trajectory.d.cts.map +0 -1
- package/dist/evaluation/agents/trajectory.d.ts +0 -61
- package/dist/evaluation/agents/trajectory.d.ts.map +0 -1
- package/dist/evaluation/agents/trajectory.js +0 -130
- package/dist/evaluation/agents/trajectory.js.map +0 -1
- package/dist/evaluation/base.cjs +0 -169
- package/dist/evaluation/base.cjs.map +0 -1
- package/dist/evaluation/base.d.cts +0 -240
- package/dist/evaluation/base.d.cts.map +0 -1
- package/dist/evaluation/base.d.ts +0 -240
- package/dist/evaluation/base.d.ts.map +0 -1
- package/dist/evaluation/base.js +0 -164
- package/dist/evaluation/base.js.map +0 -1
- package/dist/evaluation/comparison/index.cjs +0 -1
- package/dist/evaluation/comparison/index.js +0 -1
- package/dist/evaluation/comparison/pairwise.cjs +0 -178
- package/dist/evaluation/comparison/pairwise.cjs.map +0 -1
- package/dist/evaluation/comparison/pairwise.d.cts +0 -56
- package/dist/evaluation/comparison/pairwise.d.cts.map +0 -1
- package/dist/evaluation/comparison/pairwise.d.ts +0 -56
- package/dist/evaluation/comparison/pairwise.d.ts.map +0 -1
- package/dist/evaluation/comparison/pairwise.js +0 -175
- package/dist/evaluation/comparison/pairwise.js.map +0 -1
- package/dist/evaluation/comparison/prompt.cjs +0 -77
- package/dist/evaluation/comparison/prompt.cjs.map +0 -1
- package/dist/evaluation/comparison/prompt.js +0 -75
- package/dist/evaluation/comparison/prompt.js.map +0 -1
- package/dist/evaluation/criteria/criteria.cjs +0 -164
- package/dist/evaluation/criteria/criteria.cjs.map +0 -1
- package/dist/evaluation/criteria/criteria.d.cts +0 -85
- package/dist/evaluation/criteria/criteria.d.cts.map +0 -1
- package/dist/evaluation/criteria/criteria.d.ts +0 -85
- package/dist/evaluation/criteria/criteria.d.ts.map +0 -1
- package/dist/evaluation/criteria/criteria.js +0 -161
- package/dist/evaluation/criteria/criteria.js.map +0 -1
- package/dist/evaluation/criteria/index.cjs +0 -1
- package/dist/evaluation/criteria/index.js +0 -1
- package/dist/evaluation/criteria/prompt.cjs +0 -50
- package/dist/evaluation/criteria/prompt.cjs.map +0 -1
- package/dist/evaluation/criteria/prompt.js +0 -48
- package/dist/evaluation/criteria/prompt.js.map +0 -1
- package/dist/evaluation/embedding_distance/base.cjs +0 -108
- package/dist/evaluation/embedding_distance/base.cjs.map +0 -1
- package/dist/evaluation/embedding_distance/base.d.cts +0 -82
- package/dist/evaluation/embedding_distance/base.d.cts.map +0 -1
- package/dist/evaluation/embedding_distance/base.d.ts +0 -82
- package/dist/evaluation/embedding_distance/base.d.ts.map +0 -1
- package/dist/evaluation/embedding_distance/base.js +0 -105
- package/dist/evaluation/embedding_distance/base.js.map +0 -1
- package/dist/evaluation/embedding_distance/index.cjs +0 -1
- package/dist/evaluation/embedding_distance/index.js +0 -1
- package/dist/evaluation/index.cjs +0 -54
- package/dist/evaluation/index.cjs.map +0 -1
- package/dist/evaluation/index.d.cts +0 -8
- package/dist/evaluation/index.d.ts +0 -8
- package/dist/evaluation/index.js +0 -35
- package/dist/evaluation/index.js.map +0 -1
- package/dist/evaluation/loader.cjs +0 -57
- package/dist/evaluation/loader.cjs.map +0 -1
- package/dist/evaluation/loader.d.cts +0 -38
- package/dist/evaluation/loader.d.cts.map +0 -1
- package/dist/evaluation/loader.d.ts +0 -38
- package/dist/evaluation/loader.d.ts.map +0 -1
- package/dist/evaluation/loader.js +0 -56
- package/dist/evaluation/loader.js.map +0 -1
- package/dist/evaluation/qa/eval_chain.cjs +0 -41
- package/dist/evaluation/qa/eval_chain.cjs.map +0 -1
- package/dist/evaluation/qa/eval_chain.d.cts +0 -22
- package/dist/evaluation/qa/eval_chain.d.cts.map +0 -1
- package/dist/evaluation/qa/eval_chain.d.ts +0 -22
- package/dist/evaluation/qa/eval_chain.d.ts.map +0 -1
- package/dist/evaluation/qa/eval_chain.js +0 -41
- package/dist/evaluation/qa/eval_chain.js.map +0 -1
- package/dist/evaluation/qa/index.cjs +0 -1
- package/dist/evaluation/qa/index.js +0 -1
- package/dist/evaluation/qa/prompt.cjs +0 -31
- package/dist/evaluation/qa/prompt.cjs.map +0 -1
- package/dist/evaluation/qa/prompt.js +0 -30
- package/dist/evaluation/qa/prompt.js.map +0 -1
- package/dist/evaluation/types.d.cts +0 -40
- package/dist/evaluation/types.d.cts.map +0 -1
- package/dist/evaluation/types.d.ts +0 -40
- package/dist/evaluation/types.d.ts.map +0 -1
- package/dist/langchain-core/dist/load/map_keys.d.cts +0 -10
- package/dist/langchain-core/dist/load/map_keys.d.cts.map +0 -1
- package/dist/langchain-core/dist/load/serializable.d.cts +0 -82
- package/dist/langchain-core/dist/load/serializable.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/base.d.cts +0 -125
- package/dist/langchain-core/dist/messages/base.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/content/base.d.cts +0 -22
- package/dist/langchain-core/dist/messages/content/base.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/content/data.d.cts +0 -96
- package/dist/langchain-core/dist/messages/content/data.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/content/index.d.cts +0 -121
- package/dist/langchain-core/dist/messages/content/index.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/content/multimodal.d.cts +0 -110
- package/dist/langchain-core/dist/messages/content/multimodal.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/content/tools.d.cts +0 -214
- package/dist/langchain-core/dist/messages/content/tools.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/message.d.cts +0 -598
- package/dist/langchain-core/dist/messages/message.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/metadata.d.cts +0 -97
- package/dist/langchain-core/dist/messages/metadata.d.cts.map +0 -1
- package/dist/langchain-core/dist/messages/utils.d.cts +0 -75
- package/dist/langchain-core/dist/messages/utils.d.cts.map +0 -1
- package/dist/langchain-core/dist/prompt_values.d.cts +0 -13
- package/dist/langchain-core/dist/prompt_values.d.cts.map +0 -1
- package/dist/langchain-core/dist/utils/types/index.d.cts +0 -8
- package/dist/langchain-core/dist/utils/types/index.d.cts.map +0 -1
- package/dist/libs/langchain-core/dist/load/map_keys.d.ts +0 -10
- package/dist/libs/langchain-core/dist/load/map_keys.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/load/serializable.d.ts +0 -82
- package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/base.d.ts +0 -125
- package/dist/libs/langchain-core/dist/messages/base.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/content/base.d.ts +0 -22
- package/dist/libs/langchain-core/dist/messages/content/base.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/content/data.d.ts +0 -96
- package/dist/libs/langchain-core/dist/messages/content/data.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/content/index.d.ts +0 -121
- package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts +0 -110
- package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +0 -214
- package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/message.d.ts +0 -598
- package/dist/libs/langchain-core/dist/messages/message.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/metadata.d.ts +0 -97
- package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/messages/utils.d.ts +0 -75
- package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/prompt_values.d.ts +0 -13
- package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/utils/types/index.d.ts +0 -10
- package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +0 -1
- package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +0 -1
- package/dist/load/map_keys.d.cts +0 -8
- package/dist/load/map_keys.d.cts.map +0 -1
- package/dist/load/map_keys.d.ts +0 -8
- package/dist/load/map_keys.d.ts.map +0 -1
- package/dist/load/serializable.d.cts.map +0 -1
- package/dist/load/serializable.d.ts.map +0 -1
- package/dist/memory/buffer_memory.cjs +0 -80
- package/dist/memory/buffer_memory.cjs.map +0 -1
- package/dist/memory/buffer_memory.d.cts +0 -67
- package/dist/memory/buffer_memory.d.cts.map +0 -1
- package/dist/memory/buffer_memory.d.ts +0 -67
- package/dist/memory/buffer_memory.d.ts.map +0 -1
- package/dist/memory/buffer_memory.js +0 -79
- package/dist/memory/buffer_memory.js.map +0 -1
- package/dist/memory/buffer_token_memory.cjs +0 -80
- package/dist/memory/buffer_token_memory.cjs.map +0 -1
- package/dist/memory/buffer_token_memory.d.cts +0 -67
- package/dist/memory/buffer_token_memory.d.cts.map +0 -1
- package/dist/memory/buffer_token_memory.d.ts +0 -67
- package/dist/memory/buffer_token_memory.d.ts.map +0 -1
- package/dist/memory/buffer_token_memory.js +0 -79
- package/dist/memory/buffer_token_memory.js.map +0 -1
- package/dist/memory/buffer_window_memory.cjs +0 -77
- package/dist/memory/buffer_window_memory.cjs.map +0 -1
- package/dist/memory/buffer_window_memory.d.cts +0 -64
- package/dist/memory/buffer_window_memory.d.cts.map +0 -1
- package/dist/memory/buffer_window_memory.d.ts +0 -64
- package/dist/memory/buffer_window_memory.d.ts.map +0 -1
- package/dist/memory/buffer_window_memory.js +0 -76
- package/dist/memory/buffer_window_memory.js.map +0 -1
- package/dist/memory/chat_memory.cjs +0 -53
- package/dist/memory/chat_memory.cjs.map +0 -1
- package/dist/memory/chat_memory.d.cts +0 -42
- package/dist/memory/chat_memory.d.cts.map +0 -1
- package/dist/memory/chat_memory.d.ts +0 -42
- package/dist/memory/chat_memory.d.ts.map +0 -1
- package/dist/memory/chat_memory.js +0 -47
- package/dist/memory/chat_memory.js.map +0 -1
- package/dist/memory/combined_memory.cjs +0 -88
- package/dist/memory/combined_memory.cjs.map +0 -1
- package/dist/memory/combined_memory.d.cts +0 -60
- package/dist/memory/combined_memory.d.cts.map +0 -1
- package/dist/memory/combined_memory.d.ts +0 -60
- package/dist/memory/combined_memory.d.ts.map +0 -1
- package/dist/memory/combined_memory.js +0 -88
- package/dist/memory/combined_memory.js.map +0 -1
- package/dist/memory/entity_memory.cjs +0 -144
- package/dist/memory/entity_memory.cjs.map +0 -1
- package/dist/memory/entity_memory.d.cts +0 -99
- package/dist/memory/entity_memory.d.cts.map +0 -1
- package/dist/memory/entity_memory.d.ts +0 -99
- package/dist/memory/entity_memory.d.ts.map +0 -1
- package/dist/memory/entity_memory.js +0 -143
- package/dist/memory/entity_memory.js.map +0 -1
- package/dist/memory/index.cjs +0 -85
- package/dist/memory/index.cjs.map +0 -1
- package/dist/memory/index.d.cts +0 -14
- package/dist/memory/index.d.ts +0 -14
- package/dist/memory/index.js +0 -39
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/prompt.cjs +0 -124
- package/dist/memory/prompt.cjs.map +0 -1
- package/dist/memory/prompt.d.cts +0 -12
- package/dist/memory/prompt.d.cts.map +0 -1
- package/dist/memory/prompt.d.ts +0 -12
- package/dist/memory/prompt.d.ts.map +0 -1
- package/dist/memory/prompt.js +0 -120
- package/dist/memory/prompt.js.map +0 -1
- package/dist/memory/stores/entity/base.cjs +0 -13
- package/dist/memory/stores/entity/base.cjs.map +0 -1
- package/dist/memory/stores/entity/base.d.cts +0 -18
- package/dist/memory/stores/entity/base.d.cts.map +0 -1
- package/dist/memory/stores/entity/base.d.ts +0 -18
- package/dist/memory/stores/entity/base.d.ts.map +0 -1
- package/dist/memory/stores/entity/base.js +0 -12
- package/dist/memory/stores/entity/base.js.map +0 -1
- package/dist/memory/stores/entity/in_memory.cjs +0 -64
- package/dist/memory/stores/entity/in_memory.cjs.map +0 -1
- package/dist/memory/stores/entity/in_memory.js +0 -64
- package/dist/memory/stores/entity/in_memory.js.map +0 -1
- package/dist/memory/summary.cjs +0 -127
- package/dist/memory/summary.cjs.map +0 -1
- package/dist/memory/summary.d.cts +0 -101
- package/dist/memory/summary.d.cts.map +0 -1
- package/dist/memory/summary.d.ts +0 -101
- package/dist/memory/summary.d.ts.map +0 -1
- package/dist/memory/summary.js +0 -125
- package/dist/memory/summary.js.map +0 -1
- package/dist/memory/summary_buffer.cjs +0 -117
- package/dist/memory/summary_buffer.cjs.map +0 -1
- package/dist/memory/summary_buffer.d.cts +0 -90
- package/dist/memory/summary_buffer.d.cts.map +0 -1
- package/dist/memory/summary_buffer.d.ts +0 -90
- package/dist/memory/summary_buffer.d.ts.map +0 -1
- package/dist/memory/summary_buffer.js +0 -116
- package/dist/memory/summary_buffer.js.map +0 -1
- package/dist/memory/vector_store.cjs +0 -87
- package/dist/memory/vector_store.cjs.map +0 -1
- package/dist/memory/vector_store.d.cts +0 -81
- package/dist/memory/vector_store.d.cts.map +0 -1
- package/dist/memory/vector_store.d.ts +0 -81
- package/dist/memory/vector_store.d.ts.map +0 -1
- package/dist/memory/vector_store.js +0 -86
- package/dist/memory/vector_store.js.map +0 -1
- package/dist/output_parsers/combining.cjs +0 -61
- package/dist/output_parsers/combining.cjs.map +0 -1
- package/dist/output_parsers/combining.d.cts +0 -46
- package/dist/output_parsers/combining.d.cts.map +0 -1
- package/dist/output_parsers/combining.d.ts +0 -46
- package/dist/output_parsers/combining.d.ts.map +0 -1
- package/dist/output_parsers/combining.js +0 -60
- package/dist/output_parsers/combining.js.map +0 -1
- package/dist/output_parsers/datetime.cjs +0 -46
- package/dist/output_parsers/datetime.cjs.map +0 -1
- package/dist/output_parsers/datetime.d.cts +0 -33
- package/dist/output_parsers/datetime.d.cts.map +0 -1
- package/dist/output_parsers/datetime.d.ts +0 -33
- package/dist/output_parsers/datetime.d.ts.map +0 -1
- package/dist/output_parsers/datetime.js +0 -45
- package/dist/output_parsers/datetime.js.map +0 -1
- package/dist/output_parsers/expression.cjs +0 -86
- package/dist/output_parsers/expression.cjs.map +0 -1
- package/dist/output_parsers/expression.d.cts +0 -53
- package/dist/output_parsers/expression.d.cts.map +0 -1
- package/dist/output_parsers/expression.d.ts +0 -53
- package/dist/output_parsers/expression.d.ts.map +0 -1
- package/dist/output_parsers/expression.js +0 -79
- package/dist/output_parsers/expression.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +0 -38
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +0 -38
- package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/base.cjs +0 -130
- package/dist/output_parsers/expression_type_handlers/base.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -108
- package/dist/output_parsers/expression_type_handlers/base.d.cts.map +0 -1
- package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -108
- package/dist/output_parsers/expression_type_handlers/base.d.ts.map +0 -1
- package/dist/output_parsers/expression_type_handlers/base.js +0 -129
- package/dist/output_parsers/expression_type_handlers/base.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +0 -38
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +0 -38
- package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +0 -64
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +0 -64
- package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.cjs +0 -68
- package/dist/output_parsers/expression_type_handlers/factory.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -35
- package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -35
- package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +0 -1
- package/dist/output_parsers/expression_type_handlers/factory.js +0 -68
- package/dist/output_parsers/expression_type_handlers/factory.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +0 -299
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +0 -298
- package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +0 -40
- package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js +0 -40
- package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +0 -48
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +0 -48
- package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +0 -36
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +0 -36
- package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +0 -40
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +0 -40
- package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +0 -45
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +0 -45
- package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +0 -37
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +0 -1
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +0 -37
- package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +0 -1
- package/dist/output_parsers/expression_type_handlers/types.d.cts +0 -95
- package/dist/output_parsers/expression_type_handlers/types.d.cts.map +0 -1
- package/dist/output_parsers/expression_type_handlers/types.d.ts +0 -95
- package/dist/output_parsers/expression_type_handlers/types.d.ts.map +0 -1
- package/dist/output_parsers/fix.cjs +0 -92
- package/dist/output_parsers/fix.cjs.map +0 -1
- package/dist/output_parsers/fix.d.cts +0 -60
- package/dist/output_parsers/fix.d.cts.map +0 -1
- package/dist/output_parsers/fix.d.ts +0 -60
- package/dist/output_parsers/fix.d.ts.map +0 -1
- package/dist/output_parsers/fix.js +0 -91
- package/dist/output_parsers/fix.js.map +0 -1
- package/dist/output_parsers/http_response.cjs +0 -53
- package/dist/output_parsers/http_response.cjs.map +0 -1
- package/dist/output_parsers/http_response.d.cts +0 -33
- package/dist/output_parsers/http_response.d.cts.map +0 -1
- package/dist/output_parsers/http_response.d.ts +0 -33
- package/dist/output_parsers/http_response.d.ts.map +0 -1
- package/dist/output_parsers/http_response.js +0 -52
- package/dist/output_parsers/http_response.js.map +0 -1
- package/dist/output_parsers/index.cjs +0 -74
- package/dist/output_parsers/index.cjs.map +0 -1
- package/dist/output_parsers/index.d.cts +0 -11
- package/dist/output_parsers/index.d.ts +0 -11
- package/dist/output_parsers/index.js +0 -37
- package/dist/output_parsers/index.js.map +0 -1
- package/dist/output_parsers/noop.cjs +0 -43
- package/dist/output_parsers/noop.cjs.map +0 -1
- package/dist/output_parsers/noop.js +0 -42
- package/dist/output_parsers/noop.js.map +0 -1
- package/dist/output_parsers/openai_functions.cjs +0 -145
- package/dist/output_parsers/openai_functions.cjs.map +0 -1
- package/dist/output_parsers/openai_functions.d.cts +0 -85
- package/dist/output_parsers/openai_functions.d.cts.map +0 -1
- package/dist/output_parsers/openai_functions.d.ts +0 -85
- package/dist/output_parsers/openai_functions.d.ts.map +0 -1
- package/dist/output_parsers/openai_functions.js +0 -142
- package/dist/output_parsers/openai_functions.js.map +0 -1
- package/dist/output_parsers/openai_tools.cjs +0 -89
- package/dist/output_parsers/openai_tools.cjs.map +0 -1
- package/dist/output_parsers/openai_tools.d.cts +0 -69
- package/dist/output_parsers/openai_tools.d.cts.map +0 -1
- package/dist/output_parsers/openai_tools.d.ts +0 -69
- package/dist/output_parsers/openai_tools.d.ts.map +0 -1
- package/dist/output_parsers/openai_tools.js +0 -87
- package/dist/output_parsers/openai_tools.js.map +0 -1
- package/dist/output_parsers/prompts.cjs +0 -25
- package/dist/output_parsers/prompts.cjs.map +0 -1
- package/dist/output_parsers/prompts.js +0 -24
- package/dist/output_parsers/prompts.js.map +0 -1
- package/dist/output_parsers/regex.cjs +0 -74
- package/dist/output_parsers/regex.cjs.map +0 -1
- package/dist/output_parsers/regex.d.cts +0 -49
- package/dist/output_parsers/regex.d.cts.map +0 -1
- package/dist/output_parsers/regex.d.ts +0 -49
- package/dist/output_parsers/regex.d.ts.map +0 -1
- package/dist/output_parsers/regex.js +0 -73
- package/dist/output_parsers/regex.js.map +0 -1
- package/dist/output_parsers/router.cjs +0 -40
- package/dist/output_parsers/router.cjs.map +0 -1
- package/dist/output_parsers/router.d.cts +0 -36
- package/dist/output_parsers/router.d.cts.map +0 -1
- package/dist/output_parsers/router.d.ts +0 -36
- package/dist/output_parsers/router.d.ts.map +0 -1
- package/dist/output_parsers/router.js +0 -39
- package/dist/output_parsers/router.js.map +0 -1
- package/dist/output_parsers/structured.cjs +0 -164
- package/dist/output_parsers/structured.cjs.map +0 -1
- package/dist/output_parsers/structured.d.cts +0 -97
- package/dist/output_parsers/structured.d.cts.map +0 -1
- package/dist/output_parsers/structured.d.ts +0 -97
- package/dist/output_parsers/structured.d.ts.map +0 -1
- package/dist/output_parsers/structured.js +0 -161
- package/dist/output_parsers/structured.js.map +0 -1
- package/dist/retrievers/contextual_compression.cjs +0 -53
- package/dist/retrievers/contextual_compression.cjs.map +0 -1
- package/dist/retrievers/contextual_compression.d.cts +0 -42
- package/dist/retrievers/contextual_compression.d.cts.map +0 -1
- package/dist/retrievers/contextual_compression.d.ts +0 -42
- package/dist/retrievers/contextual_compression.d.ts.map +0 -1
- package/dist/retrievers/contextual_compression.js +0 -47
- package/dist/retrievers/contextual_compression.js.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract.cjs +0 -103
- package/dist/retrievers/document_compressors/chain_extract.cjs.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -47
- package/dist/retrievers/document_compressors/chain_extract.d.cts.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract.d.ts +0 -47
- package/dist/retrievers/document_compressors/chain_extract.d.ts.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract.js +0 -97
- package/dist/retrievers/document_compressors/chain_extract.js.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +0 -16
- package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +0 -1
- package/dist/retrievers/document_compressors/chain_extract_prompt.js +0 -15
- package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.cjs +0 -74
- package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -58
- package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -58
- package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +0 -1
- package/dist/retrievers/document_compressors/embeddings_filter.js +0 -68
- package/dist/retrievers/document_compressors/embeddings_filter.js.map +0 -1
- package/dist/retrievers/document_compressors/index.cjs +0 -69
- package/dist/retrievers/document_compressors/index.cjs.map +0 -1
- package/dist/retrievers/document_compressors/index.d.cts +0 -61
- package/dist/retrievers/document_compressors/index.d.cts.map +0 -1
- package/dist/retrievers/document_compressors/index.d.ts +0 -61
- package/dist/retrievers/document_compressors/index.d.ts.map +0 -1
- package/dist/retrievers/document_compressors/index.js +0 -62
- package/dist/retrievers/document_compressors/index.js.map +0 -1
- package/dist/retrievers/ensemble.cjs +0 -76
- package/dist/retrievers/ensemble.cjs.map +0 -1
- package/dist/retrievers/ensemble.d.cts +0 -39
- package/dist/retrievers/ensemble.d.cts.map +0 -1
- package/dist/retrievers/ensemble.d.ts +0 -39
- package/dist/retrievers/ensemble.d.ts.map +0 -1
- package/dist/retrievers/ensemble.js +0 -70
- package/dist/retrievers/ensemble.js.map +0 -1
- package/dist/retrievers/hyde.cjs +0 -128
- package/dist/retrievers/hyde.cjs.map +0 -1
- package/dist/retrievers/hyde.d.cts +0 -61
- package/dist/retrievers/hyde.d.cts.map +0 -1
- package/dist/retrievers/hyde.d.ts +0 -61
- package/dist/retrievers/hyde.d.ts.map +0 -1
- package/dist/retrievers/hyde.js +0 -121
- package/dist/retrievers/hyde.js.map +0 -1
- package/dist/retrievers/matryoshka_retriever.cjs +0 -116
- package/dist/retrievers/matryoshka_retriever.cjs.map +0 -1
- package/dist/retrievers/matryoshka_retriever.d.cts +0 -99
- package/dist/retrievers/matryoshka_retriever.d.cts.map +0 -1
- package/dist/retrievers/matryoshka_retriever.d.ts +0 -99
- package/dist/retrievers/matryoshka_retriever.d.ts.map +0 -1
- package/dist/retrievers/matryoshka_retriever.js +0 -110
- package/dist/retrievers/matryoshka_retriever.js.map +0 -1
- package/dist/retrievers/multi_query.cjs +0 -150
- package/dist/retrievers/multi_query.cjs.map +0 -1
- package/dist/retrievers/multi_query.d.cts +0 -59
- package/dist/retrievers/multi_query.d.cts.map +0 -1
- package/dist/retrievers/multi_query.d.ts +0 -59
- package/dist/retrievers/multi_query.d.ts.map +0 -1
- package/dist/retrievers/multi_query.js +0 -144
- package/dist/retrievers/multi_query.js.map +0 -1
- package/dist/retrievers/multi_vector.cjs +0 -67
- package/dist/retrievers/multi_vector.cjs.map +0 -1
- package/dist/retrievers/multi_vector.d.cts +0 -51
- package/dist/retrievers/multi_vector.d.cts.map +0 -1
- package/dist/retrievers/multi_vector.d.ts +0 -51
- package/dist/retrievers/multi_vector.d.ts.map +0 -1
- package/dist/retrievers/multi_vector.js +0 -61
- package/dist/retrievers/multi_vector.js.map +0 -1
- package/dist/retrievers/parent_document.cjs +0 -137
- package/dist/retrievers/parent_document.cjs.map +0 -1
- package/dist/retrievers/parent_document.d.cts +0 -92
- package/dist/retrievers/parent_document.d.cts.map +0 -1
- package/dist/retrievers/parent_document.d.ts +0 -92
- package/dist/retrievers/parent_document.d.ts.map +0 -1
- package/dist/retrievers/parent_document.js +0 -131
- package/dist/retrievers/parent_document.js.map +0 -1
- package/dist/retrievers/score_threshold.cjs +0 -43
- package/dist/retrievers/score_threshold.cjs.map +0 -1
- package/dist/retrievers/score_threshold.d.cts +0 -20
- package/dist/retrievers/score_threshold.d.cts.map +0 -1
- package/dist/retrievers/score_threshold.d.ts +0 -20
- package/dist/retrievers/score_threshold.d.ts.map +0 -1
- package/dist/retrievers/score_threshold.js +0 -37
- package/dist/retrievers/score_threshold.js.map +0 -1
- package/dist/retrievers/self_query/functional.cjs +0 -21
- package/dist/retrievers/self_query/functional.cjs.map +0 -1
- package/dist/retrievers/self_query/functional.d.cts +0 -2
- package/dist/retrievers/self_query/functional.d.ts +0 -2
- package/dist/retrievers/self_query/functional.js +0 -10
- package/dist/retrievers/self_query/functional.js.map +0 -1
- package/dist/retrievers/self_query/index.cjs +0 -130
- package/dist/retrievers/self_query/index.cjs.map +0 -1
- package/dist/retrievers/self_query/index.d.cts +0 -79
- package/dist/retrievers/self_query/index.d.cts.map +0 -1
- package/dist/retrievers/self_query/index.d.ts +0 -79
- package/dist/retrievers/self_query/index.d.ts.map +0 -1
- package/dist/retrievers/self_query/index.js +0 -106
- package/dist/retrievers/self_query/index.js.map +0 -1
- package/dist/retrievers/time_weighted.cjs +0 -236
- package/dist/retrievers/time_weighted.cjs.map +0 -1
- package/dist/retrievers/time_weighted.d.cts +0 -142
- package/dist/retrievers/time_weighted.d.cts.map +0 -1
- package/dist/retrievers/time_weighted.d.ts +0 -142
- package/dist/retrievers/time_weighted.d.ts.map +0 -1
- package/dist/retrievers/time_weighted.js +0 -228
- package/dist/retrievers/time_weighted.js.map +0 -1
- package/dist/sql_db.cjs +0 -119
- package/dist/sql_db.cjs.map +0 -1
- package/dist/sql_db.d.cts +0 -60
- package/dist/sql_db.d.cts.map +0 -1
- package/dist/sql_db.d.ts +0 -60
- package/dist/sql_db.d.ts.map +0 -1
- package/dist/sql_db.js +0 -113
- package/dist/sql_db.js.map +0 -1
- package/dist/stores/doc/base.cjs +0 -20
- package/dist/stores/doc/base.cjs.map +0 -1
- package/dist/stores/doc/base.d.cts +0 -15
- package/dist/stores/doc/base.d.cts.map +0 -1
- package/dist/stores/doc/base.d.ts +0 -15
- package/dist/stores/doc/base.d.ts.map +0 -1
- package/dist/stores/doc/base.js +0 -14
- package/dist/stores/doc/base.js.map +0 -1
- package/dist/stores/doc/in_memory.cjs +0 -94
- package/dist/stores/doc/in_memory.cjs.map +0 -1
- package/dist/stores/doc/in_memory.d.cts +0 -53
- package/dist/stores/doc/in_memory.d.cts.map +0 -1
- package/dist/stores/doc/in_memory.d.ts +0 -53
- package/dist/stores/doc/in_memory.d.ts.map +0 -1
- package/dist/stores/doc/in_memory.js +0 -87
- package/dist/stores/doc/in_memory.js.map +0 -1
- package/dist/stores/file/base.cjs +0 -13
- package/dist/stores/file/base.cjs.map +0 -1
- package/dist/stores/file/base.d.cts +0 -15
- package/dist/stores/file/base.d.cts.map +0 -1
- package/dist/stores/file/base.d.ts +0 -15
- package/dist/stores/file/base.d.ts.map +0 -1
- package/dist/stores/file/base.js +0 -12
- package/dist/stores/file/base.js.map +0 -1
- package/dist/stores/file/in_memory.cjs +0 -53
- package/dist/stores/file/in_memory.cjs.map +0 -1
- package/dist/stores/file/in_memory.d.cts +0 -33
- package/dist/stores/file/in_memory.d.cts.map +0 -1
- package/dist/stores/file/in_memory.d.ts +0 -33
- package/dist/stores/file/in_memory.d.ts.map +0 -1
- package/dist/stores/file/in_memory.js +0 -47
- package/dist/stores/file/in_memory.js.map +0 -1
- package/dist/stores/file/node.cjs +0 -52
- package/dist/stores/file/node.cjs.map +0 -1
- package/dist/stores/file/node.d.cts +0 -29
- package/dist/stores/file/node.d.cts.map +0 -1
- package/dist/stores/file/node.d.ts +0 -29
- package/dist/stores/file/node.d.ts.map +0 -1
- package/dist/stores/file/node.js +0 -46
- package/dist/stores/file/node.js.map +0 -1
- package/dist/stores/message/in_memory.cjs +0 -21
- package/dist/stores/message/in_memory.cjs.map +0 -1
- package/dist/stores/message/in_memory.d.cts +0 -2
- package/dist/stores/message/in_memory.d.ts +0 -2
- package/dist/stores/message/in_memory.js +0 -10
- package/dist/stores/message/in_memory.js.map +0 -1
- package/dist/text_splitter.cjs +0 -22
- package/dist/text_splitter.cjs.map +0 -1
- package/dist/text_splitter.d.cts +0 -1
- package/dist/text_splitter.d.ts +0 -1
- package/dist/text_splitter.js +0 -12
- package/dist/text_splitter.js.map +0 -1
- package/dist/tools/chain.cjs +0 -36
- package/dist/tools/chain.cjs.map +0 -1
- package/dist/tools/chain.d.cts +0 -32
- package/dist/tools/chain.d.cts.map +0 -1
- package/dist/tools/chain.d.ts +0 -32
- package/dist/tools/chain.d.ts.map +0 -1
- package/dist/tools/chain.js +0 -30
- package/dist/tools/chain.js.map +0 -1
- package/dist/tools/fs.cjs +0 -56
- package/dist/tools/fs.cjs.map +0 -1
- package/dist/tools/fs.d.cts +0 -92
- package/dist/tools/fs.d.cts.map +0 -1
- package/dist/tools/fs.d.ts +0 -92
- package/dist/tools/fs.d.ts.map +0 -1
- package/dist/tools/fs.js +0 -54
- package/dist/tools/fs.js.map +0 -1
- package/dist/tools/index.cjs +0 -68
- package/dist/tools/index.cjs.map +0 -1
- package/dist/tools/index.d.cts +0 -8
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.js +0 -30
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/json.cjs +0 -107
- package/dist/tools/json.cjs.map +0 -1
- package/dist/tools/json.d.cts +0 -65
- package/dist/tools/json.d.cts.map +0 -1
- package/dist/tools/json.d.ts +0 -65
- package/dist/tools/json.d.ts.map +0 -1
- package/dist/tools/json.js +0 -104
- package/dist/tools/json.js.map +0 -1
- package/dist/tools/render.cjs +0 -55
- package/dist/tools/render.cjs.map +0 -1
- package/dist/tools/render.d.cts +0 -32
- package/dist/tools/render.d.cts.map +0 -1
- package/dist/tools/render.d.ts +0 -32
- package/dist/tools/render.d.ts.map +0 -1
- package/dist/tools/render.js +0 -48
- package/dist/tools/render.js.map +0 -1
- package/dist/tools/requests.cjs +0 -73
- package/dist/tools/requests.cjs.map +0 -1
- package/dist/tools/requests.d.cts +0 -56
- package/dist/tools/requests.d.cts.map +0 -1
- package/dist/tools/requests.d.ts +0 -56
- package/dist/tools/requests.d.ts.map +0 -1
- package/dist/tools/requests.js +0 -71
- package/dist/tools/requests.js.map +0 -1
- package/dist/tools/retriever.cjs +0 -30
- package/dist/tools/retriever.cjs.map +0 -1
- package/dist/tools/retriever.d.cts +0 -19
- package/dist/tools/retriever.d.cts.map +0 -1
- package/dist/tools/retriever.d.ts +0 -19
- package/dist/tools/retriever.d.ts.map +0 -1
- package/dist/tools/retriever.js +0 -24
- package/dist/tools/retriever.js.map +0 -1
- package/dist/tools/sql.cjs +0 -165
- package/dist/tools/sql.cjs.map +0 -1
- package/dist/tools/sql.d.cts +0 -86
- package/dist/tools/sql.d.cts.map +0 -1
- package/dist/tools/sql.d.ts +0 -86
- package/dist/tools/sql.d.ts.map +0 -1
- package/dist/tools/sql.js +0 -156
- package/dist/tools/sql.js.map +0 -1
- package/dist/tools/vectorstore.cjs +0 -45
- package/dist/tools/vectorstore.cjs.map +0 -1
- package/dist/tools/vectorstore.d.cts +0 -40
- package/dist/tools/vectorstore.d.cts.map +0 -1
- package/dist/tools/vectorstore.d.ts +0 -40
- package/dist/tools/vectorstore.d.ts.map +0 -1
- package/dist/tools/vectorstore.js +0 -44
- package/dist/tools/vectorstore.js.map +0 -1
- package/dist/tools/webbrowser.cjs +0 -176
- package/dist/tools/webbrowser.cjs.map +0 -1
- package/dist/tools/webbrowser.d.cts +0 -69
- package/dist/tools/webbrowser.d.cts.map +0 -1
- package/dist/tools/webbrowser.d.ts +0 -69
- package/dist/tools/webbrowser.d.ts.map +0 -1
- package/dist/tools/webbrowser.js +0 -168
- package/dist/tools/webbrowser.js.map +0 -1
- package/dist/types/expression-parser.d.cts +0 -91
- package/dist/types/expression-parser.d.cts.map +0 -1
- package/dist/types/expression-parser.d.ts +0 -91
- package/dist/types/expression-parser.d.ts.map +0 -1
- package/dist/types/type-utils.d.cts +0 -7
- package/dist/types/type-utils.d.cts.map +0 -1
- package/dist/types/type-utils.d.ts +0 -7
- package/dist/types/type-utils.d.ts.map +0 -1
- package/dist/util/document.cjs +0 -23
- package/dist/util/document.cjs.map +0 -1
- package/dist/util/document.d.cts +0 -15
- package/dist/util/document.d.cts.map +0 -1
- package/dist/util/document.d.ts +0 -15
- package/dist/util/document.d.ts.map +0 -1
- package/dist/util/document.js +0 -17
- package/dist/util/document.js.map +0 -1
- package/dist/util/entrypoint_deprecation.cjs +0 -1
- package/dist/util/entrypoint_deprecation.js +0 -1
- package/dist/util/env.cjs +0 -2
- package/dist/util/env.js +0 -1
- package/dist/util/extname.cjs +0 -7
- package/dist/util/extname.cjs.map +0 -1
- package/dist/util/extname.js +0 -6
- package/dist/util/extname.js.map +0 -1
- package/dist/util/hub.cjs +0 -39
- package/dist/util/hub.cjs.map +0 -1
- package/dist/util/hub.js +0 -38
- package/dist/util/hub.js.map +0 -1
- package/dist/util/load.cjs +0 -15
- package/dist/util/load.cjs.map +0 -1
- package/dist/util/load.d.cts +0 -6
- package/dist/util/load.d.cts.map +0 -1
- package/dist/util/load.d.ts +0 -6
- package/dist/util/load.d.ts.map +0 -1
- package/dist/util/load.js +0 -14
- package/dist/util/load.js.map +0 -1
- package/dist/util/math.cjs +0 -22
- package/dist/util/math.cjs.map +0 -1
- package/dist/util/math.d.cts +0 -1
- package/dist/util/math.d.ts +0 -1
- package/dist/util/math.js +0 -12
- package/dist/util/math.js.map +0 -1
- package/dist/util/ml-distance/distances.cjs +0 -35
- package/dist/util/ml-distance/distances.cjs.map +0 -1
- package/dist/util/ml-distance/distances.js +0 -33
- package/dist/util/ml-distance/distances.js.map +0 -1
- package/dist/util/ml-distance/similarities.cjs +0 -23
- package/dist/util/ml-distance/similarities.cjs.map +0 -1
- package/dist/util/ml-distance/similarities.d.cts +0 -11
- package/dist/util/ml-distance/similarities.d.cts.map +0 -1
- package/dist/util/ml-distance/similarities.d.ts +0 -11
- package/dist/util/ml-distance/similarities.d.ts.map +0 -1
- package/dist/util/ml-distance/similarities.js +0 -22
- package/dist/util/ml-distance/similarities.js.map +0 -1
- package/dist/util/ml-distance-euclidean/euclidean.cjs +0 -14
- package/dist/util/ml-distance-euclidean/euclidean.cjs.map +0 -1
- package/dist/util/ml-distance-euclidean/euclidean.js +0 -13
- package/dist/util/ml-distance-euclidean/euclidean.js.map +0 -1
- package/dist/util/openapi.cjs +0 -149
- package/dist/util/openapi.cjs.map +0 -1
- package/dist/util/openapi.d.cts +0 -83
- package/dist/util/openapi.d.cts.map +0 -1
- package/dist/util/openapi.d.ts +0 -83
- package/dist/util/openapi.d.ts.map +0 -1
- package/dist/util/openapi.js +0 -148
- package/dist/util/openapi.js.map +0 -1
- package/dist/util/parse.cjs +0 -22
- package/dist/util/parse.cjs.map +0 -1
- package/dist/util/parse.js +0 -21
- package/dist/util/parse.js.map +0 -1
- package/dist/util/set.cjs +0 -35
- package/dist/util/set.cjs.map +0 -1
- package/dist/util/set.js +0 -32
- package/dist/util/set.js.map +0 -1
- package/dist/util/sql_utils.cjs +0 -178
- package/dist/util/sql_utils.cjs.map +0 -1
- package/dist/util/sql_utils.d.cts +0 -31
- package/dist/util/sql_utils.d.cts.map +0 -1
- package/dist/util/sql_utils.d.ts +0 -31
- package/dist/util/sql_utils.d.ts.map +0 -1
- package/dist/util/sql_utils.js +0 -173
- package/dist/util/sql_utils.js.map +0 -1
- package/dist/util/time.cjs +0 -25
- package/dist/util/time.cjs.map +0 -1
- package/dist/util/time.d.cts +0 -10
- package/dist/util/time.d.cts.map +0 -1
- package/dist/util/time.d.ts +0 -10
- package/dist/util/time.d.ts.map +0 -1
- package/dist/util/time.js +0 -19
- package/dist/util/time.js.map +0 -1
- package/dist/vectorstores/memory.cjs +0 -265
- package/dist/vectorstores/memory.cjs.map +0 -1
- package/dist/vectorstores/memory.d.cts +0 -216
- package/dist/vectorstores/memory.d.cts.map +0 -1
- package/dist/vectorstores/memory.d.ts +0 -216
- package/dist/vectorstores/memory.d.ts.map +0 -1
- package/dist/vectorstores/memory.js +0 -259
- package/dist/vectorstores/memory.js.map +0 -1
|
@@ -52,7 +52,7 @@ var ReactAgent = class {
|
|
|
52
52
|
/**
|
|
53
53
|
* add single tool node for all tools
|
|
54
54
|
*/
|
|
55
|
-
if (toolClasses.length > 0) {
|
|
55
|
+
if (toolClasses.filter(require_utils.isClientTool).length > 0) {
|
|
56
56
|
const toolNode = new require_ToolNode.ToolNode(toolClasses.filter(require_utils.isClientTool), { signal: this.options.signal });
|
|
57
57
|
allNodeWorkflows.addNode("tools", toolNode);
|
|
58
58
|
}
|
|
@@ -82,7 +82,7 @@ var ReactAgent = class {
|
|
|
82
82
|
/**
|
|
83
83
|
* add edges for tools node
|
|
84
84
|
*/
|
|
85
|
-
if (toolClasses.length > 0) if (shouldReturnDirect.size > 0) allNodeWorkflows.addConditionalEdges("tools", this.#createToolsRouter(shouldReturnDirect), [this.#getEntryPoint(), __langchain_langgraph.END]);
|
|
85
|
+
if (toolClasses.filter(require_utils.isClientTool).length > 0) if (shouldReturnDirect.size > 0) allNodeWorkflows.addConditionalEdges("tools", this.#createToolsRouter(shouldReturnDirect), [this.#getEntryPoint(), __langchain_langgraph.END]);
|
|
86
86
|
else allNodeWorkflows.addEdge("tools", this.#getEntryPoint());
|
|
87
87
|
/**
|
|
88
88
|
* compile the graph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactAgent.cjs","names":["options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >","#toolBehaviorVersion","validateLLMHasNoBoundTools","isClientTool","enhanceStateSchemaWithMessageReducer","createAgentAnnotationConditional","StateGraph","AgentNode","#inputSchema","ToolNode","START","#getEntryPoint","#getPostModelHookPaths","#createPostModelHookRouter","#getModelPaths","#createModelRouter","#createToolsRouter","END","#graph","toolClasses: (ClientTool | ServerTool)[]","paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[]","state: InternalAgentState<StructuredResponseFormat>","ToolMessage","AIMessage","Send","paths: (\"tools\" | typeof END)[]","shouldReturnDirect: Set<string>","params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }"],"sources":["../../src/agents/ReactAgent.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n AnnotationRoot,\n StateGraph,\n END,\n START,\n Send,\n CompiledStateGraph,\n MessagesAnnotation,\n} from \"@langchain/langgraph\";\nimport { ToolMessage, AIMessage } from \"@langchain/core/messages\";\n\nimport {\n createAgentAnnotationConditional,\n ReactAgentAnnotation,\n} from \"./annotation.js\";\nimport { isClientTool, validateLLMHasNoBoundTools } from \"./utils.js\";\nimport { AgentNode } from \"./nodes/AgentNode.js\";\nimport { ToolNode } from \"./nodes/ToolNode.js\";\nimport type {\n CreateAgentParams,\n ClientTool,\n ServerTool,\n InternalAgentState,\n WithStateGraphNodes,\n} from \"./types.js\";\nimport {\n enhanceStateSchemaWithMessageReducer,\n type AnyAnnotationRoot,\n type ToAnnotationRoot,\n type ResponseFormatUndefined,\n} from \"./annotation.js\";\n\ntype AgentGraph<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> = CompiledStateGraph<\n ToAnnotationRoot<StateSchema>[\"State\"],\n ToAnnotationRoot<StateSchema>[\"Update\"],\n any,\n typeof MessagesAnnotation.spec & ToAnnotationRoot<StateSchema>[\"spec\"],\n ReactAgentAnnotation<StructuredResponseFormat>[\"spec\"] &\n ToAnnotationRoot<StateSchema>[\"spec\"],\n ToAnnotationRoot<ContextSchema>[\"spec\"],\n unknown\n>;\n\nexport class ReactAgent<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> {\n #graph: AgentGraph<StateSchema, StructuredResponseFormat, ContextSchema>;\n\n #inputSchema?: AnnotationRoot<ToAnnotationRoot<StateSchema>[\"spec\"]>;\n\n #toolBehaviorVersion: \"v1\" | \"v2\" = \"v2\";\n\n constructor(\n public options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >\n ) {\n this.#toolBehaviorVersion = options.version ?? this.#toolBehaviorVersion;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n if (options.llm && typeof options.llm !== \"function\") {\n validateLLMHasNoBoundTools(options.llm);\n }\n\n /**\n * validate that model and llm options are not provided together\n */\n if (options.llm && options.model) {\n throw new Error(\"Cannot provide both `model` and `llm` options.\");\n }\n\n /**\n * validate that either model or llm option is provided\n */\n if (!options.llm && !options.model) {\n throw new Error(\n \"Either `model` or `llm` option must be provided to create an agent.\"\n );\n }\n\n const toolClasses = Array.isArray(options.tools)\n ? options.tools\n : options.tools.tools;\n\n /**\n * If any of the tools are configured to return_directly after running,\n * our graph needs to check if these were called\n */\n const shouldReturnDirect = new Set(\n toolClasses\n .filter(isClientTool)\n .filter((tool) => \"returnDirect\" in tool && tool.returnDirect)\n .map((tool) => tool.name)\n );\n\n const schema = this.options.stateSchema\n ? enhanceStateSchemaWithMessageReducer(this.options.stateSchema)\n : createAgentAnnotationConditional<StructuredResponseFormat>(\n this.options.responseFormat !== undefined\n );\n\n const workflow = new StateGraph(schema, this.options.contextSchema);\n\n const allNodeWorkflows = workflow as WithStateGraphNodes<\n \"pre_model_hook\" | \"post_model_hook\" | \"tools\" | \"agent\",\n typeof workflow\n >;\n\n /**\n * Add Nodes\n */\n allNodeWorkflows.addNode(\n \"agent\",\n new AgentNode({\n llm: this.options.llm,\n model: this.options.model,\n prompt: this.options.prompt,\n includeAgentName: this.options.includeAgentName,\n name: this.options.name,\n responseFormat: this.options.responseFormat,\n toolClasses,\n shouldReturnDirect,\n signal: this.options.signal,\n }),\n {\n input: this.#inputSchema,\n }\n );\n\n /**\n * add single tool node for all tools\n */\n if (toolClasses.length > 0) {\n const toolNode = new ToolNode(toolClasses.filter(isClientTool), {\n signal: this.options.signal,\n });\n allNodeWorkflows.addNode(\"tools\", toolNode);\n }\n\n /**\n * setup preModelHook\n */\n if (options.preModelHook) {\n allNodeWorkflows.addNode(\"pre_model_hook\", options.preModelHook);\n }\n\n /**\n * setup postModelHook\n */\n if (options.postModelHook) {\n allNodeWorkflows.addNode(\"post_model_hook\", options.postModelHook);\n }\n\n /**\n * Add Edges\n */\n allNodeWorkflows.addEdge(START, this.#getEntryPoint());\n\n if (this.options.preModelHook) {\n allNodeWorkflows.addEdge(\"pre_model_hook\", \"agent\");\n }\n\n if (this.options.postModelHook) {\n allNodeWorkflows.addEdge(\"agent\", \"post_model_hook\");\n const postHookPaths = this.#getPostModelHookPaths(\n toolClasses.filter(isClientTool)\n );\n if (postHookPaths.length === 1) {\n allNodeWorkflows.addEdge(\"post_model_hook\", postHookPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"post_model_hook\",\n this.#createPostModelHookRouter(),\n postHookPaths\n );\n }\n } else {\n const modelPaths = this.#getModelPaths(toolClasses.filter(isClientTool));\n if (modelPaths.length === 1) {\n allNodeWorkflows.addEdge(\"agent\", modelPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"agent\",\n this.#createModelRouter(),\n modelPaths\n );\n }\n }\n\n /**\n * add edges for tools node\n */\n if (toolClasses.length > 0) {\n if (shouldReturnDirect.size > 0) {\n allNodeWorkflows.addConditionalEdges(\n \"tools\",\n this.#createToolsRouter(shouldReturnDirect),\n [this.#getEntryPoint(), END]\n );\n } else {\n allNodeWorkflows.addEdge(\"tools\", this.#getEntryPoint());\n }\n }\n\n /**\n * compile the graph\n */\n this.#graph = allNodeWorkflows.compile({\n checkpointer: this.options.checkpointer ?? this.options.checkpointSaver,\n interruptBefore: this.options.interruptBefore,\n interruptAfter: this.options.interruptAfter,\n store: this.options.store,\n name: this.options.name,\n description: this.options.description,\n });\n }\n\n /**\n * Get the compiled graph.\n */\n get graph(): AgentGraph<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n > {\n return this.#graph;\n }\n\n #getEntryPoint() {\n const entryPoint = this.options.preModelHook ? \"pre_model_hook\" : \"agent\";\n return entryPoint;\n }\n\n /**\n * Get possible edge destinations from post_model_hook node.\n */\n #getPostModelHookPaths(toolClasses: (ClientTool | ServerTool)[]) {\n const paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[] = [];\n if (toolClasses.length > 0) {\n paths.push(this.#getEntryPoint(), \"tools\");\n }\n paths.push(END);\n return paths;\n }\n\n #createPostModelHookRouter() {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const toolMessages = messages.filter(ToolMessage.isInstance);\n const lastAiMessage = messages.filter(AIMessage.isInstance).at(-1);\n const pendingToolCalls = lastAiMessage?.tool_calls?.filter(\n (call) => !toolMessages.some((m) => m.tool_call_id === call.id)\n );\n\n if (pendingToolCalls && pendingToolCalls.length > 0) {\n /**\n * The tool node processes a single message.\n * All tool calls in the message are executed in parallel within the tool node.\n * @deprecated likely to be removed in the next version of the agent\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * The tool node processes a single tool call. Tool calls are distributed across\n * multiple instances of the tool node using the Send API.\n */\n return pendingToolCalls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n }\n\n if (ToolMessage.isInstance(messages.at(-1))) {\n return this.#getEntryPoint();\n }\n\n return END;\n };\n }\n\n /**\n * Get possible edge destinations from model node.\n * @param toolClasses names of tools to call\n * @returns list of possible edge destinations\n */\n #getModelPaths(\n toolClasses: (ClientTool | ServerTool)[]\n ): (\"tools\" | typeof END)[] {\n const paths: (\"tools\" | typeof END)[] = [];\n if (toolClasses.length > 0) {\n paths.push(\"tools\");\n }\n\n paths.push(END);\n\n return paths;\n }\n\n /**\n * Create routing function for model node conditional edges.\n */\n #createModelRouter() {\n /**\n * determine if the agent should continue or not\n */\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages.at(-1);\n\n if (\n !AIMessage.isInstance(lastMessage) ||\n !lastMessage.tool_calls ||\n lastMessage.tool_calls.length === 0\n ) {\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n return END;\n }\n\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n /**\n * The tool node processes a single message.\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * Route to tools node\n */\n return lastMessage.tool_calls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n };\n }\n\n /**\n * Create routing function for tools node conditional edges.\n */\n #createToolsRouter(shouldReturnDirect: Set<string>) {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages[messages.length - 1];\n\n // Check if we just executed a returnDirect tool\n if (\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n shouldReturnDirect.has(lastMessage.name)\n ) {\n // If we have a response format, route to agent to generate structured response\n // Otherwise, return directly\n return this.options.responseFormat ? this.#getEntryPoint() : END;\n }\n\n // For non-returnDirect tools, always route back to agent\n return this.#getEntryPoint();\n };\n }\n\n /**\n * @inheritdoc\n */\n get invoke(): AgentGraph<StateSchema, StructuredResponseFormat>[\"invoke\"] {\n return this.#graph.invoke.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get stream(): AgentGraph<StateSchema, StructuredResponseFormat>[\"stream\"] {\n return this.#graph.stream.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get streamEvents(): AgentGraph<\n StateSchema,\n StructuredResponseFormat\n >[\"streamEvents\"] {\n return this.#graph.streamEvents.bind(this.#graph);\n }\n\n /**\n * Visualize the graph as a PNG image.\n * @param params - Parameters for the drawMermaidPng method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns PNG image as a buffer\n */\n async drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n const image = await representation.drawMermaidPng(params);\n const arrayBuffer = await image.arrayBuffer();\n const buffer = new Uint8Array(arrayBuffer);\n return buffer;\n }\n\n /**\n * Draw the graph as a Mermaid string.\n * @param params - Parameters for the drawMermaid method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns Mermaid string\n */\n async drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n return representation.drawMermaid(params);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReactAgent.cjs","names":["options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >","#toolBehaviorVersion","validateLLMHasNoBoundTools","isClientTool","enhanceStateSchemaWithMessageReducer","createAgentAnnotationConditional","StateGraph","AgentNode","#inputSchema","ToolNode","START","#getEntryPoint","#getPostModelHookPaths","#createPostModelHookRouter","#getModelPaths","#createModelRouter","#createToolsRouter","END","#graph","toolClasses: (ClientTool | ServerTool)[]","paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[]","state: InternalAgentState<StructuredResponseFormat>","ToolMessage","AIMessage","Send","paths: (\"tools\" | typeof END)[]","shouldReturnDirect: Set<string>","params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }"],"sources":["../../src/agents/ReactAgent.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n AnnotationRoot,\n StateGraph,\n END,\n START,\n Send,\n CompiledStateGraph,\n MessagesAnnotation,\n} from \"@langchain/langgraph\";\nimport { ToolMessage, AIMessage } from \"@langchain/core/messages\";\n\nimport {\n createAgentAnnotationConditional,\n ReactAgentAnnotation,\n} from \"./annotation.js\";\nimport { isClientTool, validateLLMHasNoBoundTools } from \"./utils.js\";\nimport { AgentNode } from \"./nodes/AgentNode.js\";\nimport { ToolNode } from \"./nodes/ToolNode.js\";\nimport type {\n CreateAgentParams,\n ClientTool,\n ServerTool,\n InternalAgentState,\n WithStateGraphNodes,\n} from \"./types.js\";\nimport {\n enhanceStateSchemaWithMessageReducer,\n type AnyAnnotationRoot,\n type ToAnnotationRoot,\n type ResponseFormatUndefined,\n} from \"./annotation.js\";\n\ntype AgentGraph<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> = CompiledStateGraph<\n ToAnnotationRoot<StateSchema>[\"State\"],\n ToAnnotationRoot<StateSchema>[\"Update\"],\n any,\n typeof MessagesAnnotation.spec & ToAnnotationRoot<StateSchema>[\"spec\"],\n ReactAgentAnnotation<StructuredResponseFormat>[\"spec\"] &\n ToAnnotationRoot<StateSchema>[\"spec\"],\n ToAnnotationRoot<ContextSchema>[\"spec\"],\n unknown\n>;\n\nexport class ReactAgent<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> {\n #graph: AgentGraph<StateSchema, StructuredResponseFormat, ContextSchema>;\n\n #inputSchema?: AnnotationRoot<ToAnnotationRoot<StateSchema>[\"spec\"]>;\n\n #toolBehaviorVersion: \"v1\" | \"v2\" = \"v2\";\n\n constructor(\n public options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >\n ) {\n this.#toolBehaviorVersion = options.version ?? this.#toolBehaviorVersion;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n if (options.llm && typeof options.llm !== \"function\") {\n validateLLMHasNoBoundTools(options.llm);\n }\n\n /**\n * validate that model and llm options are not provided together\n */\n if (options.llm && options.model) {\n throw new Error(\"Cannot provide both `model` and `llm` options.\");\n }\n\n /**\n * validate that either model or llm option is provided\n */\n if (!options.llm && !options.model) {\n throw new Error(\n \"Either `model` or `llm` option must be provided to create an agent.\"\n );\n }\n\n const toolClasses = Array.isArray(options.tools)\n ? options.tools\n : options.tools.tools;\n\n /**\n * If any of the tools are configured to return_directly after running,\n * our graph needs to check if these were called\n */\n const shouldReturnDirect = new Set(\n toolClasses\n .filter(isClientTool)\n .filter((tool) => \"returnDirect\" in tool && tool.returnDirect)\n .map((tool) => tool.name)\n );\n\n const schema = this.options.stateSchema\n ? enhanceStateSchemaWithMessageReducer(this.options.stateSchema)\n : createAgentAnnotationConditional<StructuredResponseFormat>(\n this.options.responseFormat !== undefined\n );\n\n const workflow = new StateGraph(schema, this.options.contextSchema);\n\n const allNodeWorkflows = workflow as WithStateGraphNodes<\n \"pre_model_hook\" | \"post_model_hook\" | \"tools\" | \"agent\",\n typeof workflow\n >;\n\n /**\n * Add Nodes\n */\n allNodeWorkflows.addNode(\n \"agent\",\n new AgentNode({\n llm: this.options.llm,\n model: this.options.model,\n prompt: this.options.prompt,\n includeAgentName: this.options.includeAgentName,\n name: this.options.name,\n responseFormat: this.options.responseFormat,\n toolClasses,\n shouldReturnDirect,\n signal: this.options.signal,\n }),\n {\n input: this.#inputSchema,\n }\n );\n\n /**\n * add single tool node for all tools\n */\n if (toolClasses.filter(isClientTool).length > 0) {\n const toolNode = new ToolNode(toolClasses.filter(isClientTool), {\n signal: this.options.signal,\n });\n allNodeWorkflows.addNode(\"tools\", toolNode);\n }\n\n /**\n * setup preModelHook\n */\n if (options.preModelHook) {\n allNodeWorkflows.addNode(\"pre_model_hook\", options.preModelHook);\n }\n\n /**\n * setup postModelHook\n */\n if (options.postModelHook) {\n allNodeWorkflows.addNode(\"post_model_hook\", options.postModelHook);\n }\n\n /**\n * Add Edges\n */\n allNodeWorkflows.addEdge(START, this.#getEntryPoint());\n\n if (this.options.preModelHook) {\n allNodeWorkflows.addEdge(\"pre_model_hook\", \"agent\");\n }\n\n if (this.options.postModelHook) {\n allNodeWorkflows.addEdge(\"agent\", \"post_model_hook\");\n const postHookPaths = this.#getPostModelHookPaths(\n toolClasses.filter(isClientTool)\n );\n if (postHookPaths.length === 1) {\n allNodeWorkflows.addEdge(\"post_model_hook\", postHookPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"post_model_hook\",\n this.#createPostModelHookRouter(),\n postHookPaths\n );\n }\n } else {\n const modelPaths = this.#getModelPaths(toolClasses.filter(isClientTool));\n if (modelPaths.length === 1) {\n allNodeWorkflows.addEdge(\"agent\", modelPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"agent\",\n this.#createModelRouter(),\n modelPaths\n );\n }\n }\n\n /**\n * add edges for tools node\n */\n if (toolClasses.filter(isClientTool).length > 0) {\n if (shouldReturnDirect.size > 0) {\n allNodeWorkflows.addConditionalEdges(\n \"tools\",\n this.#createToolsRouter(shouldReturnDirect),\n [this.#getEntryPoint(), END]\n );\n } else {\n allNodeWorkflows.addEdge(\"tools\", this.#getEntryPoint());\n }\n }\n\n /**\n * compile the graph\n */\n this.#graph = allNodeWorkflows.compile({\n checkpointer: this.options.checkpointer ?? this.options.checkpointSaver,\n interruptBefore: this.options.interruptBefore,\n interruptAfter: this.options.interruptAfter,\n store: this.options.store,\n name: this.options.name,\n description: this.options.description,\n });\n }\n\n /**\n * Get the compiled graph.\n */\n get graph(): AgentGraph<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n > {\n return this.#graph;\n }\n\n #getEntryPoint() {\n const entryPoint = this.options.preModelHook ? \"pre_model_hook\" : \"agent\";\n return entryPoint;\n }\n\n /**\n * Get possible edge destinations from post_model_hook node.\n */\n #getPostModelHookPaths(toolClasses: (ClientTool | ServerTool)[]) {\n const paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[] = [];\n if (toolClasses.length > 0) {\n paths.push(this.#getEntryPoint(), \"tools\");\n }\n paths.push(END);\n return paths;\n }\n\n #createPostModelHookRouter() {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const toolMessages = messages.filter(ToolMessage.isInstance);\n const lastAiMessage = messages.filter(AIMessage.isInstance).at(-1);\n const pendingToolCalls = lastAiMessage?.tool_calls?.filter(\n (call) => !toolMessages.some((m) => m.tool_call_id === call.id)\n );\n\n if (pendingToolCalls && pendingToolCalls.length > 0) {\n /**\n * The tool node processes a single message.\n * All tool calls in the message are executed in parallel within the tool node.\n * @deprecated likely to be removed in the next version of the agent\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * The tool node processes a single tool call. Tool calls are distributed across\n * multiple instances of the tool node using the Send API.\n */\n return pendingToolCalls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n }\n\n if (ToolMessage.isInstance(messages.at(-1))) {\n return this.#getEntryPoint();\n }\n\n return END;\n };\n }\n\n /**\n * Get possible edge destinations from model node.\n * @param toolClasses names of tools to call\n * @returns list of possible edge destinations\n */\n #getModelPaths(\n toolClasses: (ClientTool | ServerTool)[]\n ): (\"tools\" | typeof END)[] {\n const paths: (\"tools\" | typeof END)[] = [];\n if (toolClasses.length > 0) {\n paths.push(\"tools\");\n }\n\n paths.push(END);\n\n return paths;\n }\n\n /**\n * Create routing function for model node conditional edges.\n */\n #createModelRouter() {\n /**\n * determine if the agent should continue or not\n */\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages.at(-1);\n\n if (\n !AIMessage.isInstance(lastMessage) ||\n !lastMessage.tool_calls ||\n lastMessage.tool_calls.length === 0\n ) {\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n return END;\n }\n\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n /**\n * The tool node processes a single message.\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * Route to tools node\n */\n return lastMessage.tool_calls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n };\n }\n\n /**\n * Create routing function for tools node conditional edges.\n */\n #createToolsRouter(shouldReturnDirect: Set<string>) {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages[messages.length - 1];\n\n // Check if we just executed a returnDirect tool\n if (\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n shouldReturnDirect.has(lastMessage.name)\n ) {\n // If we have a response format, route to agent to generate structured response\n // Otherwise, return directly\n return this.options.responseFormat ? this.#getEntryPoint() : END;\n }\n\n // For non-returnDirect tools, always route back to agent\n return this.#getEntryPoint();\n };\n }\n\n /**\n * @inheritdoc\n */\n get invoke(): AgentGraph<StateSchema, StructuredResponseFormat>[\"invoke\"] {\n return this.#graph.invoke.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get stream(): AgentGraph<StateSchema, StructuredResponseFormat>[\"stream\"] {\n return this.#graph.stream.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get streamEvents(): AgentGraph<\n StateSchema,\n StructuredResponseFormat\n >[\"streamEvents\"] {\n return this.#graph.streamEvents.bind(this.#graph);\n }\n\n /**\n * Visualize the graph as a PNG image.\n * @param params - Parameters for the drawMermaidPng method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns PNG image as a buffer\n */\n async drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n const image = await representation.drawMermaidPng(params);\n const arrayBuffer = await image.arrayBuffer();\n const buffer = new Uint8Array(arrayBuffer);\n return buffer;\n }\n\n /**\n * Draw the graph as a Mermaid string.\n * @param params - Parameters for the drawMermaid method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns Mermaid string\n */\n async drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n return representation.drawMermaid(params);\n }\n}\n"],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ var ReactAgent = class {
|
|
|
51
51
|
/**
|
|
52
52
|
* add single tool node for all tools
|
|
53
53
|
*/
|
|
54
|
-
if (toolClasses.length > 0) {
|
|
54
|
+
if (toolClasses.filter(isClientTool).length > 0) {
|
|
55
55
|
const toolNode = new ToolNode(toolClasses.filter(isClientTool), { signal: this.options.signal });
|
|
56
56
|
allNodeWorkflows.addNode("tools", toolNode);
|
|
57
57
|
}
|
|
@@ -81,7 +81,7 @@ var ReactAgent = class {
|
|
|
81
81
|
/**
|
|
82
82
|
* add edges for tools node
|
|
83
83
|
*/
|
|
84
|
-
if (toolClasses.length > 0) if (shouldReturnDirect.size > 0) allNodeWorkflows.addConditionalEdges("tools", this.#createToolsRouter(shouldReturnDirect), [this.#getEntryPoint(), END]);
|
|
84
|
+
if (toolClasses.filter(isClientTool).length > 0) if (shouldReturnDirect.size > 0) allNodeWorkflows.addConditionalEdges("tools", this.#createToolsRouter(shouldReturnDirect), [this.#getEntryPoint(), END]);
|
|
85
85
|
else allNodeWorkflows.addEdge("tools", this.#getEntryPoint());
|
|
86
86
|
/**
|
|
87
87
|
* compile the graph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactAgent.js","names":["options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >","#toolBehaviorVersion","#inputSchema","#getEntryPoint","#getPostModelHookPaths","#createPostModelHookRouter","#getModelPaths","#createModelRouter","#createToolsRouter","#graph","toolClasses: (ClientTool | ServerTool)[]","paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[]","state: InternalAgentState<StructuredResponseFormat>","paths: (\"tools\" | typeof END)[]","shouldReturnDirect: Set<string>","params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }"],"sources":["../../src/agents/ReactAgent.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n AnnotationRoot,\n StateGraph,\n END,\n START,\n Send,\n CompiledStateGraph,\n MessagesAnnotation,\n} from \"@langchain/langgraph\";\nimport { ToolMessage, AIMessage } from \"@langchain/core/messages\";\n\nimport {\n createAgentAnnotationConditional,\n ReactAgentAnnotation,\n} from \"./annotation.js\";\nimport { isClientTool, validateLLMHasNoBoundTools } from \"./utils.js\";\nimport { AgentNode } from \"./nodes/AgentNode.js\";\nimport { ToolNode } from \"./nodes/ToolNode.js\";\nimport type {\n CreateAgentParams,\n ClientTool,\n ServerTool,\n InternalAgentState,\n WithStateGraphNodes,\n} from \"./types.js\";\nimport {\n enhanceStateSchemaWithMessageReducer,\n type AnyAnnotationRoot,\n type ToAnnotationRoot,\n type ResponseFormatUndefined,\n} from \"./annotation.js\";\n\ntype AgentGraph<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> = CompiledStateGraph<\n ToAnnotationRoot<StateSchema>[\"State\"],\n ToAnnotationRoot<StateSchema>[\"Update\"],\n any,\n typeof MessagesAnnotation.spec & ToAnnotationRoot<StateSchema>[\"spec\"],\n ReactAgentAnnotation<StructuredResponseFormat>[\"spec\"] &\n ToAnnotationRoot<StateSchema>[\"spec\"],\n ToAnnotationRoot<ContextSchema>[\"spec\"],\n unknown\n>;\n\nexport class ReactAgent<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> {\n #graph: AgentGraph<StateSchema, StructuredResponseFormat, ContextSchema>;\n\n #inputSchema?: AnnotationRoot<ToAnnotationRoot<StateSchema>[\"spec\"]>;\n\n #toolBehaviorVersion: \"v1\" | \"v2\" = \"v2\";\n\n constructor(\n public options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >\n ) {\n this.#toolBehaviorVersion = options.version ?? this.#toolBehaviorVersion;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n if (options.llm && typeof options.llm !== \"function\") {\n validateLLMHasNoBoundTools(options.llm);\n }\n\n /**\n * validate that model and llm options are not provided together\n */\n if (options.llm && options.model) {\n throw new Error(\"Cannot provide both `model` and `llm` options.\");\n }\n\n /**\n * validate that either model or llm option is provided\n */\n if (!options.llm && !options.model) {\n throw new Error(\n \"Either `model` or `llm` option must be provided to create an agent.\"\n );\n }\n\n const toolClasses = Array.isArray(options.tools)\n ? options.tools\n : options.tools.tools;\n\n /**\n * If any of the tools are configured to return_directly after running,\n * our graph needs to check if these were called\n */\n const shouldReturnDirect = new Set(\n toolClasses\n .filter(isClientTool)\n .filter((tool) => \"returnDirect\" in tool && tool.returnDirect)\n .map((tool) => tool.name)\n );\n\n const schema = this.options.stateSchema\n ? enhanceStateSchemaWithMessageReducer(this.options.stateSchema)\n : createAgentAnnotationConditional<StructuredResponseFormat>(\n this.options.responseFormat !== undefined\n );\n\n const workflow = new StateGraph(schema, this.options.contextSchema);\n\n const allNodeWorkflows = workflow as WithStateGraphNodes<\n \"pre_model_hook\" | \"post_model_hook\" | \"tools\" | \"agent\",\n typeof workflow\n >;\n\n /**\n * Add Nodes\n */\n allNodeWorkflows.addNode(\n \"agent\",\n new AgentNode({\n llm: this.options.llm,\n model: this.options.model,\n prompt: this.options.prompt,\n includeAgentName: this.options.includeAgentName,\n name: this.options.name,\n responseFormat: this.options.responseFormat,\n toolClasses,\n shouldReturnDirect,\n signal: this.options.signal,\n }),\n {\n input: this.#inputSchema,\n }\n );\n\n /**\n * add single tool node for all tools\n */\n if (toolClasses.length > 0) {\n const toolNode = new ToolNode(toolClasses.filter(isClientTool), {\n signal: this.options.signal,\n });\n allNodeWorkflows.addNode(\"tools\", toolNode);\n }\n\n /**\n * setup preModelHook\n */\n if (options.preModelHook) {\n allNodeWorkflows.addNode(\"pre_model_hook\", options.preModelHook);\n }\n\n /**\n * setup postModelHook\n */\n if (options.postModelHook) {\n allNodeWorkflows.addNode(\"post_model_hook\", options.postModelHook);\n }\n\n /**\n * Add Edges\n */\n allNodeWorkflows.addEdge(START, this.#getEntryPoint());\n\n if (this.options.preModelHook) {\n allNodeWorkflows.addEdge(\"pre_model_hook\", \"agent\");\n }\n\n if (this.options.postModelHook) {\n allNodeWorkflows.addEdge(\"agent\", \"post_model_hook\");\n const postHookPaths = this.#getPostModelHookPaths(\n toolClasses.filter(isClientTool)\n );\n if (postHookPaths.length === 1) {\n allNodeWorkflows.addEdge(\"post_model_hook\", postHookPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"post_model_hook\",\n this.#createPostModelHookRouter(),\n postHookPaths\n );\n }\n } else {\n const modelPaths = this.#getModelPaths(toolClasses.filter(isClientTool));\n if (modelPaths.length === 1) {\n allNodeWorkflows.addEdge(\"agent\", modelPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"agent\",\n this.#createModelRouter(),\n modelPaths\n );\n }\n }\n\n /**\n * add edges for tools node\n */\n if (toolClasses.length > 0) {\n if (shouldReturnDirect.size > 0) {\n allNodeWorkflows.addConditionalEdges(\n \"tools\",\n this.#createToolsRouter(shouldReturnDirect),\n [this.#getEntryPoint(), END]\n );\n } else {\n allNodeWorkflows.addEdge(\"tools\", this.#getEntryPoint());\n }\n }\n\n /**\n * compile the graph\n */\n this.#graph = allNodeWorkflows.compile({\n checkpointer: this.options.checkpointer ?? this.options.checkpointSaver,\n interruptBefore: this.options.interruptBefore,\n interruptAfter: this.options.interruptAfter,\n store: this.options.store,\n name: this.options.name,\n description: this.options.description,\n });\n }\n\n /**\n * Get the compiled graph.\n */\n get graph(): AgentGraph<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n > {\n return this.#graph;\n }\n\n #getEntryPoint() {\n const entryPoint = this.options.preModelHook ? \"pre_model_hook\" : \"agent\";\n return entryPoint;\n }\n\n /**\n * Get possible edge destinations from post_model_hook node.\n */\n #getPostModelHookPaths(toolClasses: (ClientTool | ServerTool)[]) {\n const paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[] = [];\n if (toolClasses.length > 0) {\n paths.push(this.#getEntryPoint(), \"tools\");\n }\n paths.push(END);\n return paths;\n }\n\n #createPostModelHookRouter() {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const toolMessages = messages.filter(ToolMessage.isInstance);\n const lastAiMessage = messages.filter(AIMessage.isInstance).at(-1);\n const pendingToolCalls = lastAiMessage?.tool_calls?.filter(\n (call) => !toolMessages.some((m) => m.tool_call_id === call.id)\n );\n\n if (pendingToolCalls && pendingToolCalls.length > 0) {\n /**\n * The tool node processes a single message.\n * All tool calls in the message are executed in parallel within the tool node.\n * @deprecated likely to be removed in the next version of the agent\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * The tool node processes a single tool call. Tool calls are distributed across\n * multiple instances of the tool node using the Send API.\n */\n return pendingToolCalls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n }\n\n if (ToolMessage.isInstance(messages.at(-1))) {\n return this.#getEntryPoint();\n }\n\n return END;\n };\n }\n\n /**\n * Get possible edge destinations from model node.\n * @param toolClasses names of tools to call\n * @returns list of possible edge destinations\n */\n #getModelPaths(\n toolClasses: (ClientTool | ServerTool)[]\n ): (\"tools\" | typeof END)[] {\n const paths: (\"tools\" | typeof END)[] = [];\n if (toolClasses.length > 0) {\n paths.push(\"tools\");\n }\n\n paths.push(END);\n\n return paths;\n }\n\n /**\n * Create routing function for model node conditional edges.\n */\n #createModelRouter() {\n /**\n * determine if the agent should continue or not\n */\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages.at(-1);\n\n if (\n !AIMessage.isInstance(lastMessage) ||\n !lastMessage.tool_calls ||\n lastMessage.tool_calls.length === 0\n ) {\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n return END;\n }\n\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n /**\n * The tool node processes a single message.\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * Route to tools node\n */\n return lastMessage.tool_calls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n };\n }\n\n /**\n * Create routing function for tools node conditional edges.\n */\n #createToolsRouter(shouldReturnDirect: Set<string>) {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages[messages.length - 1];\n\n // Check if we just executed a returnDirect tool\n if (\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n shouldReturnDirect.has(lastMessage.name)\n ) {\n // If we have a response format, route to agent to generate structured response\n // Otherwise, return directly\n return this.options.responseFormat ? this.#getEntryPoint() : END;\n }\n\n // For non-returnDirect tools, always route back to agent\n return this.#getEntryPoint();\n };\n }\n\n /**\n * @inheritdoc\n */\n get invoke(): AgentGraph<StateSchema, StructuredResponseFormat>[\"invoke\"] {\n return this.#graph.invoke.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get stream(): AgentGraph<StateSchema, StructuredResponseFormat>[\"stream\"] {\n return this.#graph.stream.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get streamEvents(): AgentGraph<\n StateSchema,\n StructuredResponseFormat\n >[\"streamEvents\"] {\n return this.#graph.streamEvents.bind(this.#graph);\n }\n\n /**\n * Visualize the graph as a PNG image.\n * @param params - Parameters for the drawMermaidPng method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns PNG image as a buffer\n */\n async drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n const image = await representation.drawMermaidPng(params);\n const arrayBuffer = await image.arrayBuffer();\n const buffer = new Uint8Array(arrayBuffer);\n return buffer;\n }\n\n /**\n * Draw the graph as a Mermaid string.\n * @param params - Parameters for the drawMermaid method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns Mermaid string\n */\n async drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n return representation.drawMermaid(params);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReactAgent.js","names":["options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >","#toolBehaviorVersion","#inputSchema","#getEntryPoint","#getPostModelHookPaths","#createPostModelHookRouter","#getModelPaths","#createModelRouter","#createToolsRouter","#graph","toolClasses: (ClientTool | ServerTool)[]","paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[]","state: InternalAgentState<StructuredResponseFormat>","paths: (\"tools\" | typeof END)[]","shouldReturnDirect: Set<string>","params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }"],"sources":["../../src/agents/ReactAgent.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\nimport {\n AnnotationRoot,\n StateGraph,\n END,\n START,\n Send,\n CompiledStateGraph,\n MessagesAnnotation,\n} from \"@langchain/langgraph\";\nimport { ToolMessage, AIMessage } from \"@langchain/core/messages\";\n\nimport {\n createAgentAnnotationConditional,\n ReactAgentAnnotation,\n} from \"./annotation.js\";\nimport { isClientTool, validateLLMHasNoBoundTools } from \"./utils.js\";\nimport { AgentNode } from \"./nodes/AgentNode.js\";\nimport { ToolNode } from \"./nodes/ToolNode.js\";\nimport type {\n CreateAgentParams,\n ClientTool,\n ServerTool,\n InternalAgentState,\n WithStateGraphNodes,\n} from \"./types.js\";\nimport {\n enhanceStateSchemaWithMessageReducer,\n type AnyAnnotationRoot,\n type ToAnnotationRoot,\n type ResponseFormatUndefined,\n} from \"./annotation.js\";\n\ntype AgentGraph<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> = CompiledStateGraph<\n ToAnnotationRoot<StateSchema>[\"State\"],\n ToAnnotationRoot<StateSchema>[\"Update\"],\n any,\n typeof MessagesAnnotation.spec & ToAnnotationRoot<StateSchema>[\"spec\"],\n ReactAgentAnnotation<StructuredResponseFormat>[\"spec\"] &\n ToAnnotationRoot<StateSchema>[\"spec\"],\n ToAnnotationRoot<ContextSchema>[\"spec\"],\n unknown\n>;\n\nexport class ReactAgent<\n StateSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot,\n StructuredResponseFormat extends\n | Record<string, any>\n | ResponseFormatUndefined = Record<string, any>,\n ContextSchema extends AnyAnnotationRoot | InteropZodObject = AnyAnnotationRoot\n> {\n #graph: AgentGraph<StateSchema, StructuredResponseFormat, ContextSchema>;\n\n #inputSchema?: AnnotationRoot<ToAnnotationRoot<StateSchema>[\"spec\"]>;\n\n #toolBehaviorVersion: \"v1\" | \"v2\" = \"v2\";\n\n constructor(\n public options: CreateAgentParams<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n >\n ) {\n this.#toolBehaviorVersion = options.version ?? this.#toolBehaviorVersion;\n\n /**\n * Check if the LLM already has bound tools and throw if it does.\n */\n if (options.llm && typeof options.llm !== \"function\") {\n validateLLMHasNoBoundTools(options.llm);\n }\n\n /**\n * validate that model and llm options are not provided together\n */\n if (options.llm && options.model) {\n throw new Error(\"Cannot provide both `model` and `llm` options.\");\n }\n\n /**\n * validate that either model or llm option is provided\n */\n if (!options.llm && !options.model) {\n throw new Error(\n \"Either `model` or `llm` option must be provided to create an agent.\"\n );\n }\n\n const toolClasses = Array.isArray(options.tools)\n ? options.tools\n : options.tools.tools;\n\n /**\n * If any of the tools are configured to return_directly after running,\n * our graph needs to check if these were called\n */\n const shouldReturnDirect = new Set(\n toolClasses\n .filter(isClientTool)\n .filter((tool) => \"returnDirect\" in tool && tool.returnDirect)\n .map((tool) => tool.name)\n );\n\n const schema = this.options.stateSchema\n ? enhanceStateSchemaWithMessageReducer(this.options.stateSchema)\n : createAgentAnnotationConditional<StructuredResponseFormat>(\n this.options.responseFormat !== undefined\n );\n\n const workflow = new StateGraph(schema, this.options.contextSchema);\n\n const allNodeWorkflows = workflow as WithStateGraphNodes<\n \"pre_model_hook\" | \"post_model_hook\" | \"tools\" | \"agent\",\n typeof workflow\n >;\n\n /**\n * Add Nodes\n */\n allNodeWorkflows.addNode(\n \"agent\",\n new AgentNode({\n llm: this.options.llm,\n model: this.options.model,\n prompt: this.options.prompt,\n includeAgentName: this.options.includeAgentName,\n name: this.options.name,\n responseFormat: this.options.responseFormat,\n toolClasses,\n shouldReturnDirect,\n signal: this.options.signal,\n }),\n {\n input: this.#inputSchema,\n }\n );\n\n /**\n * add single tool node for all tools\n */\n if (toolClasses.filter(isClientTool).length > 0) {\n const toolNode = new ToolNode(toolClasses.filter(isClientTool), {\n signal: this.options.signal,\n });\n allNodeWorkflows.addNode(\"tools\", toolNode);\n }\n\n /**\n * setup preModelHook\n */\n if (options.preModelHook) {\n allNodeWorkflows.addNode(\"pre_model_hook\", options.preModelHook);\n }\n\n /**\n * setup postModelHook\n */\n if (options.postModelHook) {\n allNodeWorkflows.addNode(\"post_model_hook\", options.postModelHook);\n }\n\n /**\n * Add Edges\n */\n allNodeWorkflows.addEdge(START, this.#getEntryPoint());\n\n if (this.options.preModelHook) {\n allNodeWorkflows.addEdge(\"pre_model_hook\", \"agent\");\n }\n\n if (this.options.postModelHook) {\n allNodeWorkflows.addEdge(\"agent\", \"post_model_hook\");\n const postHookPaths = this.#getPostModelHookPaths(\n toolClasses.filter(isClientTool)\n );\n if (postHookPaths.length === 1) {\n allNodeWorkflows.addEdge(\"post_model_hook\", postHookPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"post_model_hook\",\n this.#createPostModelHookRouter(),\n postHookPaths\n );\n }\n } else {\n const modelPaths = this.#getModelPaths(toolClasses.filter(isClientTool));\n if (modelPaths.length === 1) {\n allNodeWorkflows.addEdge(\"agent\", modelPaths[0]);\n } else {\n allNodeWorkflows.addConditionalEdges(\n \"agent\",\n this.#createModelRouter(),\n modelPaths\n );\n }\n }\n\n /**\n * add edges for tools node\n */\n if (toolClasses.filter(isClientTool).length > 0) {\n if (shouldReturnDirect.size > 0) {\n allNodeWorkflows.addConditionalEdges(\n \"tools\",\n this.#createToolsRouter(shouldReturnDirect),\n [this.#getEntryPoint(), END]\n );\n } else {\n allNodeWorkflows.addEdge(\"tools\", this.#getEntryPoint());\n }\n }\n\n /**\n * compile the graph\n */\n this.#graph = allNodeWorkflows.compile({\n checkpointer: this.options.checkpointer ?? this.options.checkpointSaver,\n interruptBefore: this.options.interruptBefore,\n interruptAfter: this.options.interruptAfter,\n store: this.options.store,\n name: this.options.name,\n description: this.options.description,\n });\n }\n\n /**\n * Get the compiled graph.\n */\n get graph(): AgentGraph<\n StateSchema,\n StructuredResponseFormat,\n ContextSchema\n > {\n return this.#graph;\n }\n\n #getEntryPoint() {\n const entryPoint = this.options.preModelHook ? \"pre_model_hook\" : \"agent\";\n return entryPoint;\n }\n\n /**\n * Get possible edge destinations from post_model_hook node.\n */\n #getPostModelHookPaths(toolClasses: (ClientTool | ServerTool)[]) {\n const paths: (typeof END | \"agent\" | \"pre_model_hook\" | \"tools\")[] = [];\n if (toolClasses.length > 0) {\n paths.push(this.#getEntryPoint(), \"tools\");\n }\n paths.push(END);\n return paths;\n }\n\n #createPostModelHookRouter() {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const toolMessages = messages.filter(ToolMessage.isInstance);\n const lastAiMessage = messages.filter(AIMessage.isInstance).at(-1);\n const pendingToolCalls = lastAiMessage?.tool_calls?.filter(\n (call) => !toolMessages.some((m) => m.tool_call_id === call.id)\n );\n\n if (pendingToolCalls && pendingToolCalls.length > 0) {\n /**\n * The tool node processes a single message.\n * All tool calls in the message are executed in parallel within the tool node.\n * @deprecated likely to be removed in the next version of the agent\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * The tool node processes a single tool call. Tool calls are distributed across\n * multiple instances of the tool node using the Send API.\n */\n return pendingToolCalls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n }\n\n if (ToolMessage.isInstance(messages.at(-1))) {\n return this.#getEntryPoint();\n }\n\n return END;\n };\n }\n\n /**\n * Get possible edge destinations from model node.\n * @param toolClasses names of tools to call\n * @returns list of possible edge destinations\n */\n #getModelPaths(\n toolClasses: (ClientTool | ServerTool)[]\n ): (\"tools\" | typeof END)[] {\n const paths: (\"tools\" | typeof END)[] = [];\n if (toolClasses.length > 0) {\n paths.push(\"tools\");\n }\n\n paths.push(END);\n\n return paths;\n }\n\n /**\n * Create routing function for model node conditional edges.\n */\n #createModelRouter() {\n /**\n * determine if the agent should continue or not\n */\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages.at(-1);\n\n if (\n !AIMessage.isInstance(lastMessage) ||\n !lastMessage.tool_calls ||\n lastMessage.tool_calls.length === 0\n ) {\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n return END;\n }\n\n if (this.options.postModelHook) {\n return \"post_model_hook\";\n }\n\n /**\n * The tool node processes a single message.\n */\n if (this.#toolBehaviorVersion === \"v1\") {\n return \"tools\";\n }\n\n /**\n * Route to tools node\n */\n return lastMessage.tool_calls.map(\n (toolCall) => new Send(\"tools\", { ...state, lg_tool_call: toolCall })\n );\n };\n }\n\n /**\n * Create routing function for tools node conditional edges.\n */\n #createToolsRouter(shouldReturnDirect: Set<string>) {\n return (state: InternalAgentState<StructuredResponseFormat>) => {\n const messages = state.messages;\n const lastMessage = messages[messages.length - 1];\n\n // Check if we just executed a returnDirect tool\n if (\n ToolMessage.isInstance(lastMessage) &&\n lastMessage.name &&\n shouldReturnDirect.has(lastMessage.name)\n ) {\n // If we have a response format, route to agent to generate structured response\n // Otherwise, return directly\n return this.options.responseFormat ? this.#getEntryPoint() : END;\n }\n\n // For non-returnDirect tools, always route back to agent\n return this.#getEntryPoint();\n };\n }\n\n /**\n * @inheritdoc\n */\n get invoke(): AgentGraph<StateSchema, StructuredResponseFormat>[\"invoke\"] {\n return this.#graph.invoke.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get stream(): AgentGraph<StateSchema, StructuredResponseFormat>[\"stream\"] {\n return this.#graph.stream.bind(this.#graph);\n }\n\n /**\n * @inheritdoc\n */\n get streamEvents(): AgentGraph<\n StateSchema,\n StructuredResponseFormat\n >[\"streamEvents\"] {\n return this.#graph.streamEvents.bind(this.#graph);\n }\n\n /**\n * Visualize the graph as a PNG image.\n * @param params - Parameters for the drawMermaidPng method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns PNG image as a buffer\n */\n async drawMermaidPng(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n const image = await representation.drawMermaidPng(params);\n const arrayBuffer = await image.arrayBuffer();\n const buffer = new Uint8Array(arrayBuffer);\n return buffer;\n }\n\n /**\n * Draw the graph as a Mermaid string.\n * @param params - Parameters for the drawMermaid method.\n * @param params.withStyles - Whether to include styles in the graph.\n * @param params.curveStyle - The style of the graph's curves.\n * @param params.nodeColors - The colors of the graph's nodes.\n * @param params.wrapLabelNWords - The maximum number of words to wrap in a node's label.\n * @param params.backgroundColor - The background color of the graph.\n * @returns Mermaid string\n */\n async drawMermaid(params?: {\n withStyles?: boolean;\n curveStyle?: string;\n nodeColors?: Record<string, string>;\n wrapLabelNWords?: number;\n backgroundColor?: string;\n }) {\n const representation = await this.#graph.getGraphAsync();\n return representation.drawMermaid(params);\n }\n}\n"],"mappings":"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"}
|
|
@@ -21,6 +21,16 @@ var RunnableCallable = class extends __langchain_core_runnables.Runnable {
|
|
|
21
21
|
getState() {
|
|
22
22
|
return this.#state;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* This allows us to set the state of the runnable, e.g. for model and middleware nodes.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
setState(state) {
|
|
29
|
+
this.#state = {
|
|
30
|
+
...this.#state,
|
|
31
|
+
...state
|
|
32
|
+
};
|
|
33
|
+
}
|
|
24
34
|
async invoke(input, options) {
|
|
25
35
|
const mergedConfig = (0, __langchain_core_runnables.mergeConfigs)(this.config, options);
|
|
26
36
|
const returnValue = await __langchain_core_singletons.AsyncLocalStorageProviderSingleton.runWithConfig(mergedConfig, async () => this.func(input, mergedConfig));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnableCallable.cjs","names":["Runnable","fields: RunnableCallableArgs<I, O>","#state","input: I","options?: Partial<RunnableConfig> | undefined","AsyncLocalStorageProviderSingleton"],"sources":["../../src/agents/RunnableCallable.ts"],"sourcesContent":["import {\n mergeConfigs,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\n\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n func: RunnableCallableArgs<I, O>[\"func\"];\n\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n\n config?: RunnableConfig;\n\n trace = true;\n\n recurse = true;\n\n #state: Awaited<O>;\n\n constructor(fields: RunnableCallableArgs<I, O>) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n getState(): Awaited<O> {\n return this.#state;\n }\n\n async invoke(\n input: I,\n options?: Partial<RunnableConfig> | undefined\n ): Promise<O> {\n const mergedConfig = mergeConfigs(this.config, options);\n\n const returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig as I)\n );\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => (returnValue as Runnable<I, O>).invoke(input, mergedConfig)\n );\n }\n\n this.#state = returnValue;\n return returnValue;\n }\n}\n"],"mappings":";;;;;AA0BA,IAAa,mBAAb,cAAgEA,oCAAe;CAC7E,eAAyB,CAAC,WAAY;CAEtC;CAEA;CAEA;CAEA,QAAQ;CAER,UAAU;CAEV;CAEA,YAAYC,QAAoC;EAC9C,OAAO;EACP,KAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;EACvC,KAAK,OAAO,OAAO;EACnB,KAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,KAAM,IAAG;EACpD,KAAK,UAAU,OAAO,WAAW,KAAK;CACvC;CAED,WAAuB;AACrB,SAAO,KAAKC;CACb;CAED,MAAM,
|
|
1
|
+
{"version":3,"file":"RunnableCallable.cjs","names":["Runnable","fields: RunnableCallableArgs<I, O>","#state","state: Awaited<O>","input: I","options?: Partial<RunnableConfig> | undefined","AsyncLocalStorageProviderSingleton"],"sources":["../../src/agents/RunnableCallable.ts"],"sourcesContent":["import {\n mergeConfigs,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\n\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n func: RunnableCallableArgs<I, O>[\"func\"];\n\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n\n config?: RunnableConfig;\n\n trace = true;\n\n recurse = true;\n\n #state: Awaited<O>;\n\n constructor(fields: RunnableCallableArgs<I, O>) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n getState(): Awaited<O> {\n return this.#state;\n }\n\n /**\n * This allows us to set the state of the runnable, e.g. for model and middleware nodes.\n * @internal\n */\n setState(state: Awaited<O>) {\n this.#state = {\n ...this.#state,\n ...state,\n };\n }\n\n async invoke(\n input: I,\n options?: Partial<RunnableConfig> | undefined\n ): Promise<O> {\n const mergedConfig = mergeConfigs(this.config, options);\n\n const returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig as I)\n );\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => (returnValue as Runnable<I, O>).invoke(input, mergedConfig)\n );\n }\n\n this.#state = returnValue;\n return returnValue;\n }\n}\n"],"mappings":";;;;;AA0BA,IAAa,mBAAb,cAAgEA,oCAAe;CAC7E,eAAyB,CAAC,WAAY;CAEtC;CAEA;CAEA;CAEA,QAAQ;CAER,UAAU;CAEV;CAEA,YAAYC,QAAoC;EAC9C,OAAO;EACP,KAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;EACvC,KAAK,OAAO,OAAO;EACnB,KAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,KAAM,IAAG;EACpD,KAAK,UAAU,OAAO,WAAW,KAAK;CACvC;CAED,WAAuB;AACrB,SAAO,KAAKC;CACb;;;;;CAMD,SAASC,OAAmB;EAC1B,KAAKD,SAAS;GACZ,GAAG,KAAKA;GACR,GAAG;EACJ;CACF;CAED,MAAM,OACJE,OACAC,SACY;EACZ,MAAM,4DAA4B,KAAK,QAAQ,QAAQ;EAEvD,MAAM,cAAc,MAAMC,+DAAmC,cAC3D,cACA,YAAY,KAAK,KAAK,OAAO,aAAkB,CAChD;AAED,MAAIN,oCAAS,WAAW,YAAY,IAAI,KAAK,QAC3C,QAAO,MAAMM,+DAAmC,cAC9C,cACA,YAAa,YAA+B,OAAO,OAAO,aAAa,CACxE;EAGH,KAAKJ,SAAS;AACd,SAAO;CACR;AACF"}
|
|
@@ -29,6 +29,11 @@ declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O>
|
|
|
29
29
|
recurse: boolean;
|
|
30
30
|
constructor(fields: RunnableCallableArgs<I, O>);
|
|
31
31
|
getState(): Awaited<O>;
|
|
32
|
+
/**
|
|
33
|
+
* This allows us to set the state of the runnable, e.g. for model and middleware nodes.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
setState(state: Awaited<O>): void;
|
|
32
37
|
invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;
|
|
33
38
|
}
|
|
34
39
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnableCallable.d.cts","names":["Runnable","RunnableConfig","RunnableCallableArgs","I","O","Promise","RunnableCallable","Awaited","Partial"],"sources":["../../src/agents/RunnableCallable.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n #private;\n lc_namespace: string[];\n func: RunnableCallableArgs<I, O>[\"func\"];\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs<I, O>);\n getState(): Awaited<O>;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\n"],"mappings":";;;UACiBE;;AAAjB;;EAAqC,IAQjBC,CAAAA,EAAAA,MAAAA;EAAC;;;EAAkB,IAAA,EAAA,CAAA,GAAA,IAAA,EAAnBA,CAAmB,EAAA,EAAA,GAAXC,CAAW,GAAPC,OAAO,CAACD,CAAD,CAAA;EAUlBE;;;EAA6D,IAAEF,CAAAA,EAAAA,MAAAA,EAAAA;EAAC;;;EAGvD,OACED,CAAAA,EAAAA,OAAAA;;AAArBD,cAJUI,gBAIVJ,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ6DF,QAI7DE,CAJsEC,CAItED,EAJyEE,CAIzEF,CAAAA,CAAAA;EAAoB,CAAA,OAClBD;EAAc,YAGkBE,EAAAA,MAAAA,EAAAA;EAAC,IAAEC,EALtCF,oBAKsCE,CALjBD,CAKiBC,EALdA,CAKcA,CAAAA,CAAAA,MAAAA,CAAAA;EAAC,IAAzBF,CAAAA,EAJbA,oBAIaA,CAJQC,CAIRD,EAJWE,CAIXF,CAAAA,CAAAA,MAAAA,CAAAA;EAAoB,MACpBE,CAAAA,EAJXH,cAIWG;EAAC,KAATG,EAAAA,OAAAA;EAAO,
|
|
1
|
+
{"version":3,"file":"RunnableCallable.d.cts","names":["Runnable","RunnableConfig","RunnableCallableArgs","I","O","Promise","RunnableCallable","Awaited","Partial"],"sources":["../../src/agents/RunnableCallable.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n #private;\n lc_namespace: string[];\n func: RunnableCallableArgs<I, O>[\"func\"];\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs<I, O>);\n getState(): Awaited<O>;\n /**\n * This allows us to set the state of the runnable, e.g. for model and middleware nodes.\n * @internal\n */\n setState(state: Awaited<O>): void;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\n"],"mappings":";;;UACiBE;;AAAjB;;EAAqC,IAQjBC,CAAAA,EAAAA,MAAAA;EAAC;;;EAAkB,IAAA,EAAA,CAAA,GAAA,IAAA,EAAnBA,CAAmB,EAAA,EAAA,GAAXC,CAAW,GAAPC,OAAO,CAACD,CAAD,CAAA;EAUlBE;;;EAA6D,IAAEF,CAAAA,EAAAA,MAAAA,EAAAA;EAAC;;;EAGvD,OACED,CAAAA,EAAAA,OAAAA;;AAArBD,cAJUI,gBAIVJ,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ6DF,QAI7DE,CAJsEC,CAItED,EAJyEE,CAIzEF,CAAAA,CAAAA;EAAoB,CAAA,OAClBD;EAAc,YAGkBE,EAAAA,MAAAA,EAAAA;EAAC,IAAEC,EALtCF,oBAKsCE,CALjBD,CAKiBC,EALdA,CAKcA,CAAAA,CAAAA,MAAAA,CAAAA;EAAC,IAAzBF,CAAAA,EAJbA,oBAIaA,CAJQC,CAIRD,EAJWE,CAIXF,CAAAA,CAAAA,MAAAA,CAAAA;EAAoB,MACpBE,CAAAA,EAJXH,cAIWG;EAAC,KAATG,EAAAA,OAAAA;EAAO,OAKKH,EAAAA,OAAAA;EAAC,WAATG,CAAAA,MAAAA,EANIL,oBAMJK,CANyBJ,CAMzBI,EAN4BH,CAM5BG,CAAAA;EAAO,QACTJ,CAAAA,CAAAA,EANFI,OAMEJ,CANMC,CAMND,CAAAA;EAAC;;;;EAAyD,QAfJH,CAAAA,KAAAA,EAcpDO,OAdoDP,CAc5CI,CAd4CJ,CAAAA,CAAAA,EAAAA,IAAAA;EAAQ,MAAA,CAAA,KAAA,EAe9DG,CAf8D,EAAA,OAAA,CAAA,EAejDK,OAfiD,CAezCP,cAfyC,CAAA,GAAA,SAAA,CAAA,EAeXI,OAfW,CAeHD,CAfG,CAAA"}
|
|
@@ -29,6 +29,11 @@ declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O>
|
|
|
29
29
|
recurse: boolean;
|
|
30
30
|
constructor(fields: RunnableCallableArgs<I, O>);
|
|
31
31
|
getState(): Awaited<O>;
|
|
32
|
+
/**
|
|
33
|
+
* This allows us to set the state of the runnable, e.g. for model and middleware nodes.
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
setState(state: Awaited<O>): void;
|
|
32
37
|
invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;
|
|
33
38
|
}
|
|
34
39
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnableCallable.d.ts","names":["Runnable","RunnableConfig","RunnableCallableArgs","I","O","Promise","RunnableCallable","Awaited","Partial"],"sources":["../../src/agents/RunnableCallable.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n #private;\n lc_namespace: string[];\n func: RunnableCallableArgs<I, O>[\"func\"];\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs<I, O>);\n getState(): Awaited<O>;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\n"],"mappings":";;;UACiBE;;AAAjB;;EAAqC,IAQjBC,CAAAA,EAAAA,MAAAA;EAAC;;;EAAkB,IAAA,EAAA,CAAA,GAAA,IAAA,EAAnBA,CAAmB,EAAA,EAAA,GAAXC,CAAW,GAAPC,OAAO,CAACD,CAAD,CAAA;EAUlBE;;;EAA6D,IAAEF,CAAAA,EAAAA,MAAAA,EAAAA;EAAC;;;EAGvD,OACED,CAAAA,EAAAA,OAAAA;;AAArBD,cAJUI,gBAIVJ,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ6DF,QAI7DE,CAJsEC,CAItED,EAJyEE,CAIzEF,CAAAA,CAAAA;EAAoB,CAAA,OAClBD;EAAc,YAGkBE,EAAAA,MAAAA,EAAAA;EAAC,IAAEC,EALtCF,oBAKsCE,CALjBD,CAKiBC,EALdA,CAKcA,CAAAA,CAAAA,MAAAA,CAAAA;EAAC,IAAzBF,CAAAA,EAJbA,oBAIaA,CAJQC,CAIRD,EAJWE,CAIXF,CAAAA,CAAAA,MAAAA,CAAAA;EAAoB,MACpBE,CAAAA,EAJXH,cAIWG;EAAC,KAATG,EAAAA,OAAAA;EAAO,
|
|
1
|
+
{"version":3,"file":"RunnableCallable.d.ts","names":["Runnable","RunnableConfig","RunnableCallableArgs","I","O","Promise","RunnableCallable","Awaited","Partial"],"sources":["../../src/agents/RunnableCallable.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n #private;\n lc_namespace: string[];\n func: RunnableCallableArgs<I, O>[\"func\"];\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs<I, O>);\n getState(): Awaited<O>;\n /**\n * This allows us to set the state of the runnable, e.g. for model and middleware nodes.\n * @internal\n */\n setState(state: Awaited<O>): void;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\n"],"mappings":";;;UACiBE;;AAAjB;;EAAqC,IAQjBC,CAAAA,EAAAA,MAAAA;EAAC;;;EAAkB,IAAA,EAAA,CAAA,GAAA,IAAA,EAAnBA,CAAmB,EAAA,EAAA,GAAXC,CAAW,GAAPC,OAAO,CAACD,CAAD,CAAA;EAUlBE;;;EAA6D,IAAEF,CAAAA,EAAAA,MAAAA,EAAAA;EAAC;;;EAGvD,OACED,CAAAA,EAAAA,OAAAA;;AAArBD,cAJUI,gBAIVJ,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ6DF,QAI7DE,CAJsEC,CAItED,EAJyEE,CAIzEF,CAAAA,CAAAA;EAAoB,CAAA,OAClBD;EAAc,YAGkBE,EAAAA,MAAAA,EAAAA;EAAC,IAAEC,EALtCF,oBAKsCE,CALjBD,CAKiBC,EALdA,CAKcA,CAAAA,CAAAA,MAAAA,CAAAA;EAAC,IAAzBF,CAAAA,EAJbA,oBAIaA,CAJQC,CAIRD,EAJWE,CAIXF,CAAAA,CAAAA,MAAAA,CAAAA;EAAoB,MACpBE,CAAAA,EAJXH,cAIWG;EAAC,KAATG,EAAAA,OAAAA;EAAO,OAKKH,EAAAA,OAAAA;EAAC,WAATG,CAAAA,MAAAA,EANIL,oBAMJK,CANyBJ,CAMzBI,EAN4BH,CAM5BG,CAAAA;EAAO,QACTJ,CAAAA,CAAAA,EANFI,OAMEJ,CANMC,CAMND,CAAAA;EAAC;;;;EAAyD,QAfJH,CAAAA,KAAAA,EAcpDO,OAdoDP,CAc5CI,CAd4CJ,CAAAA,CAAAA,EAAAA,IAAAA;EAAQ,MAAA,CAAA,KAAA,EAe9DG,CAf8D,EAAA,OAAA,CAAA,EAejDK,OAfiD,CAezCP,cAfyC,CAAA,GAAA,SAAA,CAAA,EAeXI,OAfW,CAeHD,CAfG,CAAA"}
|
|
@@ -20,6 +20,16 @@ var RunnableCallable = class extends Runnable {
|
|
|
20
20
|
getState() {
|
|
21
21
|
return this.#state;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* This allows us to set the state of the runnable, e.g. for model and middleware nodes.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
setState(state) {
|
|
28
|
+
this.#state = {
|
|
29
|
+
...this.#state,
|
|
30
|
+
...state
|
|
31
|
+
};
|
|
32
|
+
}
|
|
23
33
|
async invoke(input, options) {
|
|
24
34
|
const mergedConfig = mergeConfigs(this.config, options);
|
|
25
35
|
const returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(mergedConfig, async () => this.func(input, mergedConfig));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnableCallable.js","names":["fields: RunnableCallableArgs<I, O>","#state","input: I","options?: Partial<RunnableConfig> | undefined"],"sources":["../../src/agents/RunnableCallable.ts"],"sourcesContent":["import {\n mergeConfigs,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\n\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n func: RunnableCallableArgs<I, O>[\"func\"];\n\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n\n config?: RunnableConfig;\n\n trace = true;\n\n recurse = true;\n\n #state: Awaited<O>;\n\n constructor(fields: RunnableCallableArgs<I, O>) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n getState(): Awaited<O> {\n return this.#state;\n }\n\n async invoke(\n input: I,\n options?: Partial<RunnableConfig> | undefined\n ): Promise<O> {\n const mergedConfig = mergeConfigs(this.config, options);\n\n const returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig as I)\n );\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => (returnValue as Runnable<I, O>).invoke(input, mergedConfig)\n );\n }\n\n this.#state = returnValue;\n return returnValue;\n }\n}\n"],"mappings":";;;;AA0BA,IAAa,mBAAb,cAAgE,SAAe;CAC7E,eAAyB,CAAC,WAAY;CAEtC;CAEA;CAEA;CAEA,QAAQ;CAER,UAAU;CAEV;CAEA,YAAYA,QAAoC;EAC9C,OAAO;EACP,KAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;EACvC,KAAK,OAAO,OAAO;EACnB,KAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,KAAM,IAAG;EACpD,KAAK,UAAU,OAAO,WAAW,KAAK;CACvC;CAED,WAAuB;AACrB,SAAO,KAAKC;CACb;CAED,MAAM,
|
|
1
|
+
{"version":3,"file":"RunnableCallable.js","names":["fields: RunnableCallableArgs<I, O>","#state","state: Awaited<O>","input: I","options?: Partial<RunnableConfig> | undefined"],"sources":["../../src/agents/RunnableCallable.ts"],"sourcesContent":["import {\n mergeConfigs,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\n\nexport interface RunnableCallableArgs<I, O> {\n /**\n * The name of the runnable.\n */\n name?: string;\n /**\n * The function to call.\n */\n func: (...args: I[]) => O | Promise<O>;\n /**\n * The tags to add to the runnable.\n */\n tags?: string[];\n /**\n * Whether to recurse the runnable.\n */\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n func: RunnableCallableArgs<I, O>[\"func\"];\n\n tags?: RunnableCallableArgs<I, O>[\"tags\"];\n\n config?: RunnableConfig;\n\n trace = true;\n\n recurse = true;\n\n #state: Awaited<O>;\n\n constructor(fields: RunnableCallableArgs<I, O>) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n getState(): Awaited<O> {\n return this.#state;\n }\n\n /**\n * This allows us to set the state of the runnable, e.g. for model and middleware nodes.\n * @internal\n */\n setState(state: Awaited<O>) {\n this.#state = {\n ...this.#state,\n ...state,\n };\n }\n\n async invoke(\n input: I,\n options?: Partial<RunnableConfig> | undefined\n ): Promise<O> {\n const mergedConfig = mergeConfigs(this.config, options);\n\n const returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig as I)\n );\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => (returnValue as Runnable<I, O>).invoke(input, mergedConfig)\n );\n }\n\n this.#state = returnValue;\n return returnValue;\n }\n}\n"],"mappings":";;;;AA0BA,IAAa,mBAAb,cAAgE,SAAe;CAC7E,eAAyB,CAAC,WAAY;CAEtC;CAEA;CAEA;CAEA,QAAQ;CAER,UAAU;CAEV;CAEA,YAAYA,QAAoC;EAC9C,OAAO;EACP,KAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;EACvC,KAAK,OAAO,OAAO;EACnB,KAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,KAAM,IAAG;EACpD,KAAK,UAAU,OAAO,WAAW,KAAK;CACvC;CAED,WAAuB;AACrB,SAAO,KAAKC;CACb;;;;;CAMD,SAASC,OAAmB;EAC1B,KAAKD,SAAS;GACZ,GAAG,KAAKA;GACR,GAAG;EACJ;CACF;CAED,MAAM,OACJE,OACAC,SACY;EACZ,MAAM,eAAe,aAAa,KAAK,QAAQ,QAAQ;EAEvD,MAAM,cAAc,MAAM,mCAAmC,cAC3D,cACA,YAAY,KAAK,KAAK,OAAO,aAAkB,CAChD;AAED,MAAI,SAAS,WAAW,YAAY,IAAI,KAAK,QAC3C,QAAO,MAAM,mCAAmC,cAC9C,cACA,YAAa,YAA+B,OAAO,OAAO,aAAa,CACxE;EAGH,KAAKH,SAAS;AACd,SAAO;CACR;AACF"}
|
|
@@ -13,6 +13,17 @@ const PreHookAnnotation = __langchain_langgraph.Annotation.Root({
|
|
|
13
13
|
default: () => []
|
|
14
14
|
})
|
|
15
15
|
});
|
|
16
|
+
const createAgentBaseAnnotation = () => __langchain_langgraph.Annotation.Root({ messages: (0, __langchain_langgraph.Annotation)({
|
|
17
|
+
reducer: __langchain_langgraph.messagesStateReducer,
|
|
18
|
+
default: () => []
|
|
19
|
+
}) });
|
|
20
|
+
const createAgentAnnotation = () => __langchain_langgraph.Annotation.Root({
|
|
21
|
+
messages: (0, __langchain_langgraph.Annotation)({
|
|
22
|
+
reducer: __langchain_langgraph.messagesStateReducer,
|
|
23
|
+
default: () => []
|
|
24
|
+
}),
|
|
25
|
+
structuredResponse: (0, __langchain_langgraph.Annotation)()
|
|
26
|
+
});
|
|
16
27
|
function createAgentAnnotationConditional(hasStructuredResponse = true) {
|
|
17
28
|
const baseAnnotation = { messages: (0, __langchain_langgraph.Annotation)({
|
|
18
29
|
reducer: __langchain_langgraph.messagesStateReducer,
|
|
@@ -144,6 +155,9 @@ function createAnnotationForZodType(zodType) {
|
|
|
144
155
|
}
|
|
145
156
|
|
|
146
157
|
//#endregion
|
|
158
|
+
exports.PreHookAnnotation = PreHookAnnotation;
|
|
159
|
+
exports.createAgentAnnotation = createAgentAnnotation;
|
|
147
160
|
exports.createAgentAnnotationConditional = createAgentAnnotationConditional;
|
|
161
|
+
exports.createAgentBaseAnnotation = createAgentBaseAnnotation;
|
|
148
162
|
exports.enhanceStateSchemaWithMessageReducer = enhanceStateSchemaWithMessageReducer;
|
|
149
163
|
//# sourceMappingURL=annotation.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.cjs","names":["PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>","Annotation","messagesStateReducer","stateSchema: AnyAnnotationRoot | InteropZodObject","annotationFields: Record<string, any>","_: unknown","update: unknown","current: unknown[]","update: unknown[]","config: (typeof ZOD_TYPE_CONFIGS)[keyof typeof ZOD_TYPE_CONFIGS]","defaultValueFn: () => unknown","zodType: any","config"],"sources":["../../src/agents/annotation.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport {\n Annotation,\n Messages,\n AnnotationRoot,\n messagesStateReducer,\n type BinaryOperatorAggregate,\n type LastValue,\n} from \"@langchain/langgraph\";\nimport type { InteropZodToStateDefinition } from \"@langchain/langgraph/zod\";\nimport {\n isInteropZodSchema,\n getInteropZodObjectShape,\n getInteropZodDefaultGetter,\n type InteropZodObject,\n} from \"@langchain/core/utils/types\";\n\n/**\n * Special type to indicate that no response format is provided.\n * When this type is used, the structuredResponse property should not be present in the result.\n */\nexport type ResponseFormatUndefined = {\n __responseFormatUndefined: true;\n};\n\nexport const PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> = Annotation.Root({\n llmInputMessages: Annotation<BaseMessage[], Messages>({\n reducer: (_, update) => messagesStateReducer([], update),\n default: () => [],\n }),\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n});\nexport type PreHookAnnotation = typeof PreHookAnnotation;\n\n// Base annotation without structuredResponse (for ResponseFormatUndefined)\nexport const createAgentBaseAnnotation = () =>\n Annotation.Root({\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n });\n\n// Full annotation with structuredResponse (for regular cases)\nexport const createAgentAnnotation = <\n T extends Record<string, any> = Record<string, any>\n>(): AnnotationRoot<{\n structuredResponse: LastValue<T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> =>\n Annotation.Root({\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n structuredResponse: Annotation<T>(),\n });\n\n// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse\nexport function createAgentAnnotationConditional<\n T extends Record<string, any> | ResponseFormatUndefined\n>(\n hasStructuredResponse = true\n): AnnotationRoot<{\n structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> {\n const baseAnnotation = {\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n };\n\n if (!hasStructuredResponse) {\n return Annotation.Root(baseAnnotation) as AnnotationRoot<{\n structuredResponse: LastValue<\n T extends ResponseFormatUndefined ? never : T\n >;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n }>;\n }\n\n return Annotation.Root({\n ...baseAnnotation,\n structuredResponse:\n Annotation<T extends ResponseFormatUndefined ? never : T>(),\n });\n}\n\n// Helper type to select the right annotation based on the response format type\nexport type ReactAgentAnnotation<\n T extends Record<string, any> | ResponseFormatUndefined\n> = T extends ResponseFormatUndefined\n ? ReturnType<typeof createAgentBaseAnnotation>\n : T extends Record<string, any>\n ? ReturnType<typeof createAgentAnnotation<T>>\n : never;\n\nexport type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> =\n A extends AnyAnnotationRoot\n ? A\n : A extends InteropZodObject\n ? AnnotationRoot<InteropZodToStateDefinition<A>>\n : never;\n\nexport type AnyAnnotationRoot = AnnotationRoot<any>;\n\n/**\n * Enhances a state schema to ensure proper message handling.\n * If a Zod schema is provided, it creates an annotation that includes the messagesStateReducer\n * and infers appropriate reducers for all other fields.\n *\n * @param stateSchema - The state schema to enhance.\n * @returns The enhanced state schema.\n */\nexport function enhanceStateSchemaWithMessageReducer(\n stateSchema: AnyAnnotationRoot | InteropZodObject\n) {\n /**\n * If it's already an annotation, return as-is\n */\n if (typeof stateSchema === \"object\" && \"State\" in stateSchema) {\n return stateSchema;\n }\n\n /**\n * If it's a Zod schema, create annotations for all fields\n */\n if (isInteropZodSchema(stateSchema)) {\n const shape = getInteropZodObjectShape(stateSchema);\n const annotationFields: Record<string, any> = {};\n\n /**\n * Process each field in the Zod schema\n */\n for (const [key, zodType] of Object.entries(shape)) {\n annotationFields[key] =\n key === \"messages\"\n ? /**\n * Special handling for messages field - always use messagesStateReducer\n */\n Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n })\n : /**\n * For other fields, create appropriate annotations based on type\n */\n createAnnotationForZodType(zodType);\n }\n\n /**\n * Ensure messages field exists even if not in the Zod schema\n */\n if (!annotationFields.messages) {\n annotationFields.messages = Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n });\n }\n\n return Annotation.Root(annotationFields);\n }\n\n /**\n * Fallback: create a base annotation with message reducer only\n */\n return Annotation.Root({\n messages: Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n });\n}\n\n/**\n * Type configuration for different Zod types\n */\nconst ZOD_TYPE_CONFIGS = {\n ZodString: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: \"\",\n },\n ZodNumber: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: 0,\n },\n ZodBoolean: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: false,\n },\n ZodArray: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: [] as unknown[],\n },\n ZodRecord: {\n reducer: (current: unknown[], update: unknown[]) => ({\n ...current,\n ...update,\n }),\n fallbackDefault: {} as Record<string, unknown>,\n },\n ZodObject: {\n reducer: (current: unknown[], update: unknown[]) => ({\n ...current,\n ...update,\n }),\n fallbackDefault: {} as Record<string, unknown>,\n },\n} as const;\n\n/**\n * Creates an annotation based on type configuration and default value\n */\nfunction createAnnotationFromConfig(\n config: (typeof ZOD_TYPE_CONFIGS)[keyof typeof ZOD_TYPE_CONFIGS],\n defaultValueFn: () => unknown\n) {\n return Annotation<any>({\n reducer: config.reducer,\n default: defaultValueFn,\n });\n}\n\n/**\n * Creates an appropriate annotation for a given Zod type.\n */\nfunction createAnnotationForZodType(zodType: any): any {\n const typeName = zodType._def?.typeName;\n const defaultGetter = getInteropZodDefaultGetter(zodType);\n const isOptional = typeName === \"ZodOptional\";\n\n /**\n * Handle Zod wrapper first\n */\n if (\n typeName === \"ZodDefault\" ||\n typeName === \"ZodOptional\" ||\n typeName === \"ZodNullable\"\n ) {\n const innerTypeName = zodType._def.innerType._def?.typeName;\n const config =\n ZOD_TYPE_CONFIGS[innerTypeName as keyof typeof ZOD_TYPE_CONFIGS];\n return config\n ? createAnnotationFromConfig(\n config,\n () =>\n defaultGetter?.() ||\n (isOptional ? undefined : config?.fallbackDefault)\n )\n : Annotation<unknown>({\n reducer: (_: unknown, update: unknown) => update,\n default: () => defaultGetter?.(),\n });\n }\n\n /**\n * Handle regular types\n */\n const config = ZOD_TYPE_CONFIGS[typeName as keyof typeof ZOD_TYPE_CONFIGS];\n if (config) {\n return createAnnotationFromConfig(\n config,\n () => defaultGetter?.() || config?.fallbackDefault\n );\n }\n\n /**\n * Fallback for unknown types\n */\n return Annotation<unknown>({\n reducer: (_: unknown, update: unknown) => update,\n default: () => defaultGetter?.(),\n });\n}\n"],"mappings":";;;;;AA0BA,MAAaA,oBAGRC,iCAAW,KAAK;CACnB,wDAAsD;EACpD,SAAS,CAAC,GAAG,2DAAgC,CAAE,GAAE,OAAO;EACxD,SAAS,MAAM,CAAE;CAClB,EAAC;CACF,gDAA8C;EAC5C,SAASC;EACT,SAAS,MAAM,CAAE;CAClB,EAAC;AACH,EAAC;AA4BF,SAAgB,iCAGd,wBAAwB,MAIvB;CACD,MAAM,iBAAiB,EACrB,gDAA8C;EAC5C,SAASA;EACT,SAAS,MAAM,CAAE;CAClB,EAAC,CACH;AAED,KAAI,CAAC,sBACH,QAAOD,iCAAW,KAAK,eAAe;AAQxC,QAAOA,iCAAW,KAAK;EACrB,GAAG;EACH,2DAC6D;CAC9D,EAAC;AACH;;;;;;;;;AA4BD,SAAgB,qCACdE,aACA;;;;AAIA,KAAI,OAAO,gBAAgB,YAAY,WAAW,YAChD,QAAO;;;;AAMT,0DAAuB,YAAY,EAAE;EACnC,MAAM,mEAAiC,YAAY;EACnD,MAAMC,mBAAwC,CAAE;;;;AAKhD,OAAK,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,QAAQ,MAAM,EAChD,iBAAiB,OACf,QAAQ,mDAIsB;GACxB,SAASF;GACT,SAAS,MAAM,CAAE;EAClB,EAAC,GAIF,2BAA2B,QAAQ;;;;AAM3C,MAAI,CAAC,iBAAiB,UACpB,iBAAiB,iDAAqC;GACpD,SAASA;GACT,SAAS,MAAM,CAAE;EAClB,EAAC;AAGJ,SAAOD,iCAAW,KAAK,iBAAiB;CACzC;;;;AAKD,QAAOA,iCAAW,KAAK,EACrB,gDAAoC;EAClC,SAASC;EACT,SAAS,MAAM,CAAE;CAClB,EAAC,CACH,EAAC;AACH;;;;AAKD,MAAM,mBAAmB;CACvB,WAAW;EACT,SAAS,CAACG,GAAYC,WAAoB;EAC1C,iBAAiB;CAClB;CACD,WAAW;EACT,SAAS,CAACD,GAAYC,WAAoB;EAC1C,iBAAiB;CAClB;CACD,YAAY;EACV,SAAS,CAACD,GAAYC,WAAoB;EAC1C,iBAAiB;CAClB;CACD,UAAU;EACR,SAAS,CAACD,GAAYC,WAAoB;EAC1C,iBAAiB,CAAE;CACpB;CACD,WAAW;EACT,SAAS,CAACC,SAAoBC,YAAuB;GACnD,GAAG;GACH,GAAG;EACJ;EACD,iBAAiB,CAAE;CACpB;CACD,WAAW;EACT,SAAS,CAACD,SAAoBC,YAAuB;GACnD,GAAG;GACH,GAAG;EACJ;EACD,iBAAiB,CAAE;CACpB;AACF;;;;AAKD,SAAS,2BACPC,QACAC,gBACA;AACA,8CAAuB;EACrB,SAAS,OAAO;EAChB,SAAS;CACV,EAAC;AACH;;;;AAKD,SAAS,2BAA2BC,SAAmB;CACrD,MAAM,WAAW,QAAQ,MAAM;CAC/B,MAAM,6EAA2C,QAAQ;CACzD,MAAM,aAAa,aAAa;;;;AAKhC,KACE,aAAa,gBACb,aAAa,iBACb,aAAa,eACb;EACA,MAAM,gBAAgB,QAAQ,KAAK,UAAU,MAAM;EACnD,MAAMC,WACJ,iBAAiB;AACnB,SAAOA,WACH,2BACEA,UACA,MACE,iBAAiB,KAChB,aAAa,SAAYA,UAAQ,iBACrC,yCACmB;GAClB,SAAS,CAACP,GAAYC,WAAoB;GAC1C,SAAS,MAAM,iBAAiB;EACjC,EAAC;CACP;;;;CAKD,MAAM,SAAS,iBAAiB;AAChC,KAAI,OACF,QAAO,2BACL,QACA,MAAM,iBAAiB,IAAI,QAAQ,gBACpC;;;;AAMH,8CAA2B;EACzB,SAAS,CAACD,GAAYC,WAAoB;EAC1C,SAAS,MAAM,iBAAiB;CACjC,EAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"annotation.cjs","names":["PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>","Annotation","messagesStateReducer","stateSchema: AnyAnnotationRoot | InteropZodObject","annotationFields: Record<string, any>","_: unknown","update: unknown","current: unknown[]","update: unknown[]","config: (typeof ZOD_TYPE_CONFIGS)[keyof typeof ZOD_TYPE_CONFIGS]","defaultValueFn: () => unknown","zodType: any","config"],"sources":["../../src/agents/annotation.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport {\n Annotation,\n Messages,\n AnnotationRoot,\n messagesStateReducer,\n type BinaryOperatorAggregate,\n type LastValue,\n} from \"@langchain/langgraph\";\nimport type { InteropZodToStateDefinition } from \"@langchain/langgraph/zod\";\nimport {\n isInteropZodSchema,\n getInteropZodObjectShape,\n getInteropZodDefaultGetter,\n type InteropZodObject,\n} from \"@langchain/core/utils/types\";\n\n/**\n * Special type to indicate that no response format is provided.\n * When this type is used, the structuredResponse property should not be present in the result.\n */\nexport type ResponseFormatUndefined = {\n __responseFormatUndefined: true;\n};\n\nexport const PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> = Annotation.Root({\n llmInputMessages: Annotation<BaseMessage[], Messages>({\n reducer: (_, update) => messagesStateReducer([], update),\n default: () => [],\n }),\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n});\nexport type PreHookAnnotation = typeof PreHookAnnotation;\n\n// Base annotation without structuredResponse (for ResponseFormatUndefined)\nexport const createAgentBaseAnnotation = () =>\n Annotation.Root({\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n });\n\n// Full annotation with structuredResponse (for regular cases)\nexport const createAgentAnnotation = <\n T extends Record<string, any> = Record<string, any>\n>(): AnnotationRoot<{\n structuredResponse: LastValue<T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> =>\n Annotation.Root({\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n structuredResponse: Annotation<T>(),\n });\n\n// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse\nexport function createAgentAnnotationConditional<\n T extends Record<string, any> | ResponseFormatUndefined\n>(\n hasStructuredResponse = true\n): AnnotationRoot<{\n structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}> {\n const baseAnnotation = {\n messages: Annotation<BaseMessage[], Messages>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n };\n\n if (!hasStructuredResponse) {\n return Annotation.Root(baseAnnotation) as AnnotationRoot<{\n structuredResponse: LastValue<\n T extends ResponseFormatUndefined ? never : T\n >;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n }>;\n }\n\n return Annotation.Root({\n ...baseAnnotation,\n structuredResponse:\n Annotation<T extends ResponseFormatUndefined ? never : T>(),\n });\n}\n\n// Helper type to select the right annotation based on the response format type\nexport type ReactAgentAnnotation<\n T extends Record<string, any> | ResponseFormatUndefined\n> = T extends ResponseFormatUndefined\n ? ReturnType<typeof createAgentBaseAnnotation>\n : T extends Record<string, any>\n ? ReturnType<typeof createAgentAnnotation<T>>\n : never;\n\nexport type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> =\n A extends AnyAnnotationRoot\n ? A\n : A extends InteropZodObject\n ? AnnotationRoot<InteropZodToStateDefinition<A>>\n : never;\n\nexport type AnyAnnotationRoot = AnnotationRoot<any>;\n\n/**\n * Enhances a state schema to ensure proper message handling.\n * If a Zod schema is provided, it creates an annotation that includes the messagesStateReducer\n * and infers appropriate reducers for all other fields.\n *\n * @param stateSchema - The state schema to enhance.\n * @returns The enhanced state schema.\n */\nexport function enhanceStateSchemaWithMessageReducer(\n stateSchema: AnyAnnotationRoot | InteropZodObject\n) {\n /**\n * If it's already an annotation, return as-is\n */\n if (typeof stateSchema === \"object\" && \"State\" in stateSchema) {\n return stateSchema;\n }\n\n /**\n * If it's a Zod schema, create annotations for all fields\n */\n if (isInteropZodSchema(stateSchema)) {\n const shape = getInteropZodObjectShape(stateSchema);\n const annotationFields: Record<string, any> = {};\n\n /**\n * Process each field in the Zod schema\n */\n for (const [key, zodType] of Object.entries(shape)) {\n annotationFields[key] =\n key === \"messages\"\n ? /**\n * Special handling for messages field - always use messagesStateReducer\n */\n Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n })\n : /**\n * For other fields, create appropriate annotations based on type\n */\n createAnnotationForZodType(zodType);\n }\n\n /**\n * Ensure messages field exists even if not in the Zod schema\n */\n if (!annotationFields.messages) {\n annotationFields.messages = Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n });\n }\n\n return Annotation.Root(annotationFields);\n }\n\n /**\n * Fallback: create a base annotation with message reducer only\n */\n return Annotation.Root({\n messages: Annotation<BaseMessage[]>({\n reducer: messagesStateReducer,\n default: () => [],\n }),\n });\n}\n\n/**\n * Type configuration for different Zod types\n */\nconst ZOD_TYPE_CONFIGS = {\n ZodString: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: \"\",\n },\n ZodNumber: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: 0,\n },\n ZodBoolean: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: false,\n },\n ZodArray: {\n reducer: (_: unknown, update: unknown) => update,\n fallbackDefault: [] as unknown[],\n },\n ZodRecord: {\n reducer: (current: unknown[], update: unknown[]) => ({\n ...current,\n ...update,\n }),\n fallbackDefault: {} as Record<string, unknown>,\n },\n ZodObject: {\n reducer: (current: unknown[], update: unknown[]) => ({\n ...current,\n ...update,\n }),\n fallbackDefault: {} as Record<string, unknown>,\n },\n} as const;\n\n/**\n * Creates an annotation based on type configuration and default value\n */\nfunction createAnnotationFromConfig(\n config: (typeof ZOD_TYPE_CONFIGS)[keyof typeof ZOD_TYPE_CONFIGS],\n defaultValueFn: () => unknown\n) {\n return Annotation<any>({\n reducer: config.reducer,\n default: defaultValueFn,\n });\n}\n\n/**\n * Creates an appropriate annotation for a given Zod type.\n */\nfunction createAnnotationForZodType(zodType: any): any {\n const typeName = zodType._def?.typeName;\n const defaultGetter = getInteropZodDefaultGetter(zodType);\n const isOptional = typeName === \"ZodOptional\";\n\n /**\n * Handle Zod wrapper first\n */\n if (\n typeName === \"ZodDefault\" ||\n typeName === \"ZodOptional\" ||\n typeName === \"ZodNullable\"\n ) {\n const innerTypeName = zodType._def.innerType._def?.typeName;\n const config =\n ZOD_TYPE_CONFIGS[innerTypeName as keyof typeof ZOD_TYPE_CONFIGS];\n return config\n ? createAnnotationFromConfig(\n config,\n () =>\n defaultGetter?.() ||\n (isOptional ? undefined : config?.fallbackDefault)\n )\n : Annotation<unknown>({\n reducer: (_: unknown, update: unknown) => update,\n default: () => defaultGetter?.(),\n });\n }\n\n /**\n * Handle regular types\n */\n const config = ZOD_TYPE_CONFIGS[typeName as keyof typeof ZOD_TYPE_CONFIGS];\n if (config) {\n return createAnnotationFromConfig(\n config,\n () => defaultGetter?.() || config?.fallbackDefault\n );\n }\n\n /**\n * Fallback for unknown types\n */\n return Annotation<unknown>({\n reducer: (_: unknown, update: unknown) => update,\n default: () => defaultGetter?.(),\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { InteropZodObject } from "@langchain/core/utils/types";
|
|
2
|
-
import
|
|
3
|
-
import * as _langchain_core_messages23 from "@langchain/core/messages";
|
|
2
|
+
import * as _langchain_core_messages0 from "@langchain/core/messages";
|
|
4
3
|
import { BaseMessage } from "@langchain/core/messages";
|
|
4
|
+
import { AnnotationRoot, BinaryOperatorAggregate, LastValue, Messages } from "@langchain/langgraph";
|
|
5
5
|
import { InteropZodToStateDefinition } from "@langchain/langgraph/zod";
|
|
6
6
|
|
|
7
7
|
//#region src/agents/annotation.d.ts
|
|
@@ -20,15 +20,18 @@ declare const PreHookAnnotation: AnnotationRoot<{
|
|
|
20
20
|
type PreHookAnnotation = typeof PreHookAnnotation;
|
|
21
21
|
// Base annotation without structuredResponse (for ResponseFormatUndefined)
|
|
22
22
|
declare const createAgentBaseAnnotation: () => AnnotationRoot<{
|
|
23
|
-
messages: BinaryOperatorAggregate<BaseMessage<
|
|
23
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], Messages>;
|
|
24
24
|
}>;
|
|
25
25
|
// Full annotation with structuredResponse (for regular cases)
|
|
26
26
|
declare const createAgentAnnotation: <T extends Record<string, any> = Record<string, any>>() => AnnotationRoot<{
|
|
27
27
|
structuredResponse: LastValue<T>;
|
|
28
|
-
messages: BinaryOperatorAggregate<BaseMessage<
|
|
28
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], Messages>;
|
|
29
29
|
}>;
|
|
30
30
|
// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse
|
|
31
|
-
|
|
31
|
+
declare function createAgentAnnotationConditional<T extends Record<string, any> | ResponseFormatUndefined>(hasStructuredResponse?: boolean): AnnotationRoot<{
|
|
32
|
+
structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;
|
|
33
|
+
messages: BinaryOperatorAggregate<BaseMessage[], Messages>;
|
|
34
|
+
}>;
|
|
32
35
|
// Helper type to select the right annotation based on the response format type
|
|
33
36
|
type ReactAgentAnnotation<T extends Record<string, any> | ResponseFormatUndefined> = T extends ResponseFormatUndefined ? ReturnType<typeof createAgentBaseAnnotation> : T extends Record<string, any> ? ReturnType<typeof createAgentAnnotation<T>> : never;
|
|
34
37
|
type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> = A extends AnyAnnotationRoot ? A : A extends InteropZodObject ? AnnotationRoot<InteropZodToStateDefinition<A>> : never;
|
|
@@ -41,7 +44,9 @@ type AnyAnnotationRoot = AnnotationRoot<any>;
|
|
|
41
44
|
* @param stateSchema - The state schema to enhance.
|
|
42
45
|
* @returns The enhanced state schema.
|
|
43
46
|
*/
|
|
44
|
-
|
|
47
|
+
declare function enhanceStateSchemaWithMessageReducer(stateSchema: AnyAnnotationRoot | InteropZodObject): AnnotationRoot<{
|
|
48
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[]>;
|
|
49
|
+
}> | AnyAnnotationRoot;
|
|
45
50
|
//#endregion
|
|
46
|
-
export { AnyAnnotationRoot, PreHookAnnotation, ReactAgentAnnotation, ResponseFormatUndefined, ToAnnotationRoot };
|
|
51
|
+
export { AnyAnnotationRoot, PreHookAnnotation, ReactAgentAnnotation, ResponseFormatUndefined, ToAnnotationRoot, createAgentAnnotation, createAgentAnnotationConditional, createAgentBaseAnnotation, enhanceStateSchemaWithMessageReducer };
|
|
47
52
|
//# sourceMappingURL=annotation.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.d.cts","names":["BaseMessage","Messages","AnnotationRoot","BinaryOperatorAggregate","LastValue","InteropZodToStateDefinition","InteropZodObject","ResponseFormatUndefined","PreHookAnnotation","createAgentBaseAnnotation","
|
|
1
|
+
{"version":3,"file":"annotation.d.cts","names":["BaseMessage","Messages","AnnotationRoot","BinaryOperatorAggregate","LastValue","InteropZodToStateDefinition","InteropZodObject","ResponseFormatUndefined","PreHookAnnotation","createAgentBaseAnnotation","_langchain_core_messages0","MessageStructure","MessageType","createAgentAnnotation","Record","T","createAgentAnnotationConditional","ReactAgentAnnotation","ReturnType","ToAnnotationRoot","AnyAnnotationRoot","A","enhanceStateSchemaWithMessageReducer"],"sources":["../../src/agents/annotation.d.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { Messages, AnnotationRoot, type BinaryOperatorAggregate, type LastValue } from \"@langchain/langgraph\";\nimport type { InteropZodToStateDefinition } from \"@langchain/langgraph/zod\";\nimport { type InteropZodObject } from \"@langchain/core/utils/types\";\n/**\n * Special type to indicate that no response format is provided.\n * When this type is used, the structuredResponse property should not be present in the result.\n */\nexport type ResponseFormatUndefined = {\n __responseFormatUndefined: true;\n};\nexport declare const PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>;\nexport type PreHookAnnotation = typeof PreHookAnnotation;\n// Base annotation without structuredResponse (for ResponseFormatUndefined)\nexport declare const createAgentBaseAnnotation: () => AnnotationRoot<{\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], Messages>;\n}>;\n// Full annotation with structuredResponse (for regular cases)\nexport declare const createAgentAnnotation: <T extends Record<string, any> = Record<string, any>>() => AnnotationRoot<{\n structuredResponse: LastValue<T>;\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], Messages>;\n}>;\n// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse\nexport declare function createAgentAnnotationConditional<T extends Record<string, any> | ResponseFormatUndefined>(hasStructuredResponse?: boolean): AnnotationRoot<{\n structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>;\n// Helper type to select the right annotation based on the response format type\nexport type ReactAgentAnnotation<T extends Record<string, any> | ResponseFormatUndefined> = T extends ResponseFormatUndefined ? ReturnType<typeof createAgentBaseAnnotation> : T extends Record<string, any> ? ReturnType<typeof createAgentAnnotation<T>> : never;\nexport type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> = A extends AnyAnnotationRoot ? A : A extends InteropZodObject ? AnnotationRoot<InteropZodToStateDefinition<A>> : never;\nexport type AnyAnnotationRoot = AnnotationRoot<any>;\n/**\n * Enhances a state schema to ensure proper message handling.\n * If a Zod schema is provided, it creates an annotation that includes the messagesStateReducer\n * and infers appropriate reducers for all other fields.\n *\n * @param stateSchema - The state schema to enhance.\n * @returns The enhanced state schema.\n */\nexport declare function enhanceStateSchemaWithMessageReducer(stateSchema: AnyAnnotationRoot | InteropZodObject): AnnotationRoot<{\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[]>;\n}> | AnyAnnotationRoot;\n"],"mappings":";;;;;;;;;;AASA;AAGA;AAGE,KANUO,uBAAAA,GAMV;EAAA,yBAF4CP,EAAAA,IAAAA;CAAW;AAAnCG,cADDK,iBACCL,EADkBD,cAClBC,CAAAA;EAAuB,gBACPH,EADhBG,uBACgBH,CADQA,WACRA,EAAAA,EADuBC,QACvBD,CAAAA;EAAW,QAAIC,EAAvCE,uBAAuCF,CAAfD,WAAeC,EAAAA,EAAAA,QAAAA,CAAAA;CAAQ,CAAA;AAFrBC,KAI5BM,iBAAAA,GAJ4BN,OAIDM,iBAJCN;AAAc;AAI1CM,cAESC,yBAFkBD,EAAAA,GAAAA,GAEeN,cAFE,CAAA;EAEnCO,QAAAA,EACPN,uBACZ,CADoCH,WACpC,CAAAU,yBAAAA,CADmFC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CACxI,EAAA,EADwJX,QACxJ,CAAA;CAAA,CAAA;;AADmGS,cAGhFG,qBAHqHD,EAAAA,CAAAA,UAGnFE,MAHmFF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAG7DE,MAH6DF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,GAAAA,GAGnCV,cAHmCU,CAAAA;EAAW,kBAA/GZ,EAIdI,SAJcJ,CAIJe,CAJIf,CAAAA;EAAW,QAAyGC,EAK5IE,uBAL4IF,CAKpHD,WALoHC,CAIzHS,yBAAAA,CACoDC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CALgBX,EAAAA,EAKAA,QALAA,CAAAA;CAAQ,CAAA;;AAD9F,iBAS5Ce,gCAT4C,CAAA,UASDF,MATC,CAAA,MAAA,EAAA,GAAA,CAAA,GASqBP,uBATrB,CAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,CAAA,EASgFL,cAThF,CAAA;EAI/CW,kBAAAA,EAMGT,SAHtB,CAGgCW,CAHhC,SAG0CR,uBAH1C,GAAA,KAAA,GAG4EQ,CAH5E,CAAA;EAAA,QAAA,EAIYZ,uBAJZ,CAIoCH,WAJpC,EAAA,EAImDC,QAJnD,CAAA;CAAA,CAAA;;AAFgCc,KAStBE,oBATsBF,CAAAA,UASSD,MATTC,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAS+BR,uBAT/BQ,CAAAA,GAS0DA,CAT1DA,SASoER,uBATpEQ,GAS8FG,UAT9FH,CAAAA,OASgHN,yBAThHM,CAAAA,GAS6IA,CAT7IA,SASuJD,MATvJC,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAS6KG,UAT7KH,CAAAA,OAS+LF,qBAT/LE,CASqNA,CATrNA,CAAAA,CAAAA,GAAAA,KAAAA;AAAVX,KAUZe,gBAVYf,CAAAA,UAUegB,iBAVfhB,GAUmCE,gBAVnCF,CAAAA,GAUuDiB,CAVvDjB,SAUiEgB,iBAVjEhB,GAUqFiB,CAVrFjB,GAUyFiB,CAVzFjB,SAUmGE,gBAVnGF,GAUsHF,cAVtHE,CAUqIC,2BAVrID,CAUiKiB,CAVjKjB,CAAAA,CAAAA,GAAAA,KAAAA;AAASM,KAWrBU,iBAAAA,GAAoBlB,cAVqDS,CAAAA,GAAAA,CAAAA;;;;;;AAFgC;AAKrH;;AAAmEG,iBAgB3CQ,oCAAAA,CAhB2CR,WAAAA,EAgBOM,iBAhBPN,GAgB2BR,gBAhB3BQ,CAAAA,EAgB8CZ,cAhB9CY,CAAAA;EAAM,QAAgBP,EAiB3EJ,uBAjB2EI,CAiBnDP,WAjBmDO,CAgBqBG,yBAAAA,CACzBC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CAjBjDL,EAAAA,EAiBiEP,WAjBjEO,CAiBxCG,yBAAAA,CAAwJC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CAjBrKL,EAAAA,CAAAA;CAAuB,CAAA,GAkB3Ga,iBAjB6BL"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _langchain_core_messages0 from "@langchain/core/messages";
|
|
2
2
|
import { BaseMessage } from "@langchain/core/messages";
|
|
3
3
|
import { AnnotationRoot, BinaryOperatorAggregate, LastValue, Messages } from "@langchain/langgraph";
|
|
4
4
|
import { InteropZodObject } from "@langchain/core/utils/types";
|
|
@@ -20,15 +20,18 @@ declare const PreHookAnnotation: AnnotationRoot<{
|
|
|
20
20
|
type PreHookAnnotation = typeof PreHookAnnotation;
|
|
21
21
|
// Base annotation without structuredResponse (for ResponseFormatUndefined)
|
|
22
22
|
declare const createAgentBaseAnnotation: () => AnnotationRoot<{
|
|
23
|
-
messages: BinaryOperatorAggregate<BaseMessage<
|
|
23
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], Messages>;
|
|
24
24
|
}>;
|
|
25
25
|
// Full annotation with structuredResponse (for regular cases)
|
|
26
26
|
declare const createAgentAnnotation: <T extends Record<string, any> = Record<string, any>>() => AnnotationRoot<{
|
|
27
27
|
structuredResponse: LastValue<T>;
|
|
28
|
-
messages: BinaryOperatorAggregate<BaseMessage<
|
|
28
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], Messages>;
|
|
29
29
|
}>;
|
|
30
30
|
// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse
|
|
31
|
-
|
|
31
|
+
declare function createAgentAnnotationConditional<T extends Record<string, any> | ResponseFormatUndefined>(hasStructuredResponse?: boolean): AnnotationRoot<{
|
|
32
|
+
structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;
|
|
33
|
+
messages: BinaryOperatorAggregate<BaseMessage[], Messages>;
|
|
34
|
+
}>;
|
|
32
35
|
// Helper type to select the right annotation based on the response format type
|
|
33
36
|
type ReactAgentAnnotation<T extends Record<string, any> | ResponseFormatUndefined> = T extends ResponseFormatUndefined ? ReturnType<typeof createAgentBaseAnnotation> : T extends Record<string, any> ? ReturnType<typeof createAgentAnnotation<T>> : never;
|
|
34
37
|
type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> = A extends AnyAnnotationRoot ? A : A extends InteropZodObject ? AnnotationRoot<InteropZodToStateDefinition<A>> : never;
|
|
@@ -41,7 +44,9 @@ type AnyAnnotationRoot = AnnotationRoot<any>;
|
|
|
41
44
|
* @param stateSchema - The state schema to enhance.
|
|
42
45
|
* @returns The enhanced state schema.
|
|
43
46
|
*/
|
|
44
|
-
|
|
47
|
+
declare function enhanceStateSchemaWithMessageReducer(stateSchema: AnyAnnotationRoot | InteropZodObject): AnnotationRoot<{
|
|
48
|
+
messages: BinaryOperatorAggregate<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[]>;
|
|
49
|
+
}> | AnyAnnotationRoot;
|
|
45
50
|
//#endregion
|
|
46
|
-
export { AnyAnnotationRoot, PreHookAnnotation, ReactAgentAnnotation, ResponseFormatUndefined, ToAnnotationRoot };
|
|
51
|
+
export { AnyAnnotationRoot, PreHookAnnotation, ReactAgentAnnotation, ResponseFormatUndefined, ToAnnotationRoot, createAgentAnnotation, createAgentAnnotationConditional, createAgentBaseAnnotation, enhanceStateSchemaWithMessageReducer };
|
|
47
52
|
//# sourceMappingURL=annotation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.d.ts","names":["BaseMessage","Messages","AnnotationRoot","BinaryOperatorAggregate","LastValue","InteropZodToStateDefinition","InteropZodObject","ResponseFormatUndefined","PreHookAnnotation","createAgentBaseAnnotation","
|
|
1
|
+
{"version":3,"file":"annotation.d.ts","names":["BaseMessage","Messages","AnnotationRoot","BinaryOperatorAggregate","LastValue","InteropZodToStateDefinition","InteropZodObject","ResponseFormatUndefined","PreHookAnnotation","createAgentBaseAnnotation","_langchain_core_messages0","MessageStructure","MessageType","createAgentAnnotation","Record","T","createAgentAnnotationConditional","ReactAgentAnnotation","ReturnType","ToAnnotationRoot","AnyAnnotationRoot","A","enhanceStateSchemaWithMessageReducer"],"sources":["../../src/agents/annotation.d.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { Messages, AnnotationRoot, type BinaryOperatorAggregate, type LastValue } from \"@langchain/langgraph\";\nimport type { InteropZodToStateDefinition } from \"@langchain/langgraph/zod\";\nimport { type InteropZodObject } from \"@langchain/core/utils/types\";\n/**\n * Special type to indicate that no response format is provided.\n * When this type is used, the structuredResponse property should not be present in the result.\n */\nexport type ResponseFormatUndefined = {\n __responseFormatUndefined: true;\n};\nexport declare const PreHookAnnotation: AnnotationRoot<{\n llmInputMessages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>;\nexport type PreHookAnnotation = typeof PreHookAnnotation;\n// Base annotation without structuredResponse (for ResponseFormatUndefined)\nexport declare const createAgentBaseAnnotation: () => AnnotationRoot<{\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], Messages>;\n}>;\n// Full annotation with structuredResponse (for regular cases)\nexport declare const createAgentAnnotation: <T extends Record<string, any> = Record<string, any>>() => AnnotationRoot<{\n structuredResponse: LastValue<T>;\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], Messages>;\n}>;\n// Create annotation conditionally - for ResponseFormatUndefined, don't include structuredResponse\nexport declare function createAgentAnnotationConditional<T extends Record<string, any> | ResponseFormatUndefined>(hasStructuredResponse?: boolean): AnnotationRoot<{\n structuredResponse: LastValue<T extends ResponseFormatUndefined ? never : T>;\n messages: BinaryOperatorAggregate<BaseMessage[], Messages>;\n}>;\n// Helper type to select the right annotation based on the response format type\nexport type ReactAgentAnnotation<T extends Record<string, any> | ResponseFormatUndefined> = T extends ResponseFormatUndefined ? ReturnType<typeof createAgentBaseAnnotation> : T extends Record<string, any> ? ReturnType<typeof createAgentAnnotation<T>> : never;\nexport type ToAnnotationRoot<A extends AnyAnnotationRoot | InteropZodObject> = A extends AnyAnnotationRoot ? A : A extends InteropZodObject ? AnnotationRoot<InteropZodToStateDefinition<A>> : never;\nexport type AnyAnnotationRoot = AnnotationRoot<any>;\n/**\n * Enhances a state schema to ensure proper message handling.\n * If a Zod schema is provided, it creates an annotation that includes the messagesStateReducer\n * and infers appropriate reducers for all other fields.\n *\n * @param stateSchema - The state schema to enhance.\n * @returns The enhanced state schema.\n */\nexport declare function enhanceStateSchemaWithMessageReducer(stateSchema: AnyAnnotationRoot | InteropZodObject): AnnotationRoot<{\n messages: BinaryOperatorAggregate<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[]>;\n}> | AnyAnnotationRoot;\n"],"mappings":";;;;;;;;;;AASA;AAGA;AAGE,KANUO,uBAAAA,GAMV;EAAA,yBAF4CP,EAAAA,IAAAA;CAAW;AAAnCG,cADDK,iBACCL,EADkBD,cAClBC,CAAAA;EAAuB,gBACPH,EADhBG,uBACgBH,CADQA,WACRA,EAAAA,EADuBC,QACvBD,CAAAA;EAAW,QAAIC,EAAvCE,uBAAuCF,CAAfD,WAAeC,EAAAA,EAAAA,QAAAA,CAAAA;CAAQ,CAAA;AAFrBC,KAI5BM,iBAAAA,GAJ4BN,OAIDM,iBAJCN;AAAc;AAI1CM,cAESC,yBAFkBD,EAAAA,GAAAA,GAEeN,cAFE,CAAA;EAEnCO,QAAAA,EACPN,uBACZ,CADoCH,WACpC,CAAAU,yBAAAA,CADmFC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CACxI,EAAA,EADwJX,QACxJ,CAAA;CAAA,CAAA;;AADmGS,cAGhFG,qBAHqHD,EAAAA,CAAAA,UAGnFE,MAHmFF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAG7DE,MAH6DF,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,CAAAA,GAAAA,GAGnCV,cAHmCU,CAAAA;EAAW,kBAA/GZ,EAIdI,SAJcJ,CAIJe,CAJIf,CAAAA;EAAW,QAAyGC,EAK5IE,uBAL4IF,CAKpHD,WALoHC,CAIzHS,yBAAAA,CACoDC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CALgBX,EAAAA,EAKAA,QALAA,CAAAA;CAAQ,CAAA;;AAD9F,iBAS5Ce,gCAT4C,CAAA,UASDF,MATC,CAAA,MAAA,EAAA,GAAA,CAAA,GASqBP,uBATrB,CAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,CAAA,EASgFL,cAThF,CAAA;EAI/CW,kBAAAA,EAMGT,SAHtB,CAGgCW,CAHhC,SAG0CR,uBAH1C,GAAA,KAAA,GAG4EQ,CAH5E,CAAA;EAAA,QAAA,EAIYZ,uBAJZ,CAIoCH,WAJpC,EAAA,EAImDC,QAJnD,CAAA;CAAA,CAAA;;AAFgCc,KAStBE,oBATsBF,CAAAA,UASSD,MATTC,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAS+BR,uBAT/BQ,CAAAA,GAS0DA,CAT1DA,SASoER,uBATpEQ,GAS8FG,UAT9FH,CAAAA,OASgHN,yBAThHM,CAAAA,GAS6IA,CAT7IA,SASuJD,MATvJC,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,GAS6KG,UAT7KH,CAAAA,OAS+LF,qBAT/LE,CASqNA,CATrNA,CAAAA,CAAAA,GAAAA,KAAAA;AAAVX,KAUZe,gBAVYf,CAAAA,UAUegB,iBAVfhB,GAUmCE,gBAVnCF,CAAAA,GAUuDiB,CAVvDjB,SAUiEgB,iBAVjEhB,GAUqFiB,CAVrFjB,GAUyFiB,CAVzFjB,SAUmGE,gBAVnGF,GAUsHF,cAVtHE,CAUqIC,2BAVrID,CAUiKiB,CAVjKjB,CAAAA,CAAAA,GAAAA,KAAAA;AAASM,KAWrBU,iBAAAA,GAAoBlB,cAVqDS,CAAAA,GAAAA,CAAAA;;;;;;AAFgC;AAKrH;;AAAmEG,iBAgB3CQ,oCAAAA,CAhB2CR,WAAAA,EAgBOM,iBAhBPN,GAgB2BR,gBAhB3BQ,CAAAA,EAgB8CZ,cAhB9CY,CAAAA;EAAM,QAAgBP,EAiB3EJ,uBAjB2EI,CAiBnDP,WAjBmDO,CAgBqBG,yBAAAA,CACzBC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CAjBjDL,EAAAA,EAiBiEP,WAjBjEO,CAiBxCG,yBAAAA,CAAwJC,gBAAAA,EAAgBD,yBAAAA,CAAqCE,WAAAA,CAjBrKL,EAAAA,CAAAA;CAAuB,CAAA,GAkB3Ga,iBAjB6BL"}
|