@librechat/agents 3.4.7 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/agents/AgentContext.cjs +0 -356
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/agents/projection.cjs +0 -9
- package/dist/cjs/agents/projection.cjs.map +1 -1
- package/dist/cjs/common/constants.cjs +0 -26
- package/dist/cjs/common/constants.cjs.map +1 -1
- package/dist/cjs/common/enum.cjs +0 -85
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/events.cjs +0 -14
- package/dist/cjs/events.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +1 -909
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +7 -272
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/graphs/applyGraphRuntimeConfig.cjs.map +1 -1
- package/dist/cjs/graphs/createGraph.cjs.map +1 -1
- package/dist/cjs/hitl/askUserQuestion.cjs +0 -53
- package/dist/cjs/hitl/askUserQuestion.cjs.map +1 -1
- package/dist/cjs/hitl/askUserQuestions.cjs +0 -20
- package/dist/cjs/hitl/askUserQuestions.cjs.map +1 -1
- package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs +0 -6
- package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs.map +1 -1
- package/dist/cjs/hooks/HookRegistry.cjs +0 -127
- package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
- package/dist/cjs/hooks/createToolPolicyHook.cjs +0 -38
- package/dist/cjs/hooks/createToolPolicyHook.cjs.map +1 -1
- package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +0 -77
- package/dist/cjs/hooks/createWorkspacePolicyHook.cjs.map +1 -1
- package/dist/cjs/hooks/executeHooks.cjs +0 -79
- package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
- package/dist/cjs/hooks/index.cjs +0 -16
- package/dist/cjs/hooks/index.cjs.map +1 -1
- package/dist/cjs/hooks/matchers.cjs +0 -104
- package/dist/cjs/hooks/matchers.cjs.map +1 -1
- package/dist/cjs/hooks/types.cjs +0 -8
- package/dist/cjs/hooks/types.cjs.map +1 -1
- package/dist/cjs/instrumentation.cjs +0 -14
- package/dist/cjs/instrumentation.cjs.map +1 -1
- package/dist/cjs/langfuse.cjs +0 -75
- package/dist/cjs/langfuse.cjs.map +1 -1
- package/dist/cjs/langfuseConfig.cjs.map +1 -1
- package/dist/cjs/langfuseRuntimeContext.cjs +0 -13
- package/dist/cjs/langfuseRuntimeContext.cjs.map +1 -1
- package/dist/cjs/langfuseRuntimeScope.cjs +0 -4
- package/dist/cjs/langfuseRuntimeScope.cjs.map +1 -1
- package/dist/cjs/langfuseSpanRegistry.cjs +0 -28
- package/dist/cjs/langfuseSpanRegistry.cjs.map +1 -1
- package/dist/cjs/langfuseToolOutputTracing.cjs +0 -3
- package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
- package/dist/cjs/langfuseTraceShaping.cjs +0 -74
- package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/index.cjs +0 -3
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +1 -111
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +0 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/stream_events.cjs +0 -8
- package/dist/cjs/llm/anthropic/utils/stream_events.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/cachePoints.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/index.cjs +1 -95
- package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +0 -78
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +0 -24
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/contextOverflowRecovery.cjs +0 -62
- package/dist/cjs/llm/contextOverflowRecovery.cjs.map +1 -1
- package/dist/cjs/llm/fake.cjs.map +1 -1
- package/dist/cjs/llm/google/index.cjs +2 -21
- package/dist/cjs/llm/google/index.cjs.map +1 -1
- package/dist/cjs/llm/google/utils/common.cjs +0 -35
- package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
- package/dist/cjs/llm/init.cjs +0 -9
- package/dist/cjs/llm/init.cjs.map +1 -1
- package/dist/cjs/llm/invoke.cjs +1 -270
- package/dist/cjs/llm/invoke.cjs.map +1 -1
- package/dist/cjs/llm/mistral/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +0 -99
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/streamMetadata.cjs +0 -21
- package/dist/cjs/llm/openai/streamMetadata.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/index.cjs +0 -1
- package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/toolCache.cjs +0 -6
- package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
- package/dist/cjs/llm/preempt.cjs +0 -75
- package/dist/cjs/llm/preempt.cjs.map +1 -1
- package/dist/cjs/llm/providers.cjs.map +1 -1
- package/dist/cjs/llm/request.cjs +0 -10
- package/dist/cjs/llm/request.cjs.map +1 -1
- package/dist/cjs/llm/stream/chunkAdapters.cjs +0 -62
- package/dist/cjs/llm/stream/chunkAdapters.cjs.map +1 -1
- package/dist/cjs/llm/stream/smoother.cjs +0 -58
- package/dist/cjs/llm/stream/smoother.cjs.map +1 -1
- package/dist/cjs/llm/streamLimits.cjs +4 -293
- package/dist/cjs/llm/streamLimits.cjs.map +1 -1
- package/dist/cjs/llm/truncation.cjs +0 -36
- package/dist/cjs/llm/truncation.cjs.map +1 -1
- package/dist/cjs/llm/vertexai/index.cjs +0 -330
- package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
- package/dist/cjs/messages/alternation.cjs +0 -43
- package/dist/cjs/messages/alternation.cjs.map +1 -1
- package/dist/cjs/messages/anthropicToolCache.cjs +0 -45
- package/dist/cjs/messages/anthropicToolCache.cjs.map +1 -1
- package/dist/cjs/messages/assistantPhase.cjs +0 -12
- package/dist/cjs/messages/assistantPhase.cjs.map +1 -1
- package/dist/cjs/messages/budget.cjs +0 -9
- package/dist/cjs/messages/budget.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +0 -172
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/content.cjs +0 -9
- package/dist/cjs/messages/content.cjs.map +1 -1
- package/dist/cjs/messages/contextPruning.cjs +0 -15
- package/dist/cjs/messages/contextPruning.cjs.map +1 -1
- package/dist/cjs/messages/contextPruningSettings.cjs +0 -3
- package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -1
- package/dist/cjs/messages/core.cjs +0 -48
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +1 -345
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/handoffCue.cjs +0 -36
- package/dist/cjs/messages/handoffCue.cjs.map +1 -1
- package/dist/cjs/messages/ids.cjs.map +1 -1
- package/dist/cjs/messages/injected.cjs +0 -33
- package/dist/cjs/messages/injected.cjs.map +1 -1
- package/dist/cjs/messages/langchain.cjs +0 -14
- package/dist/cjs/messages/langchain.cjs.map +1 -1
- package/dist/cjs/messages/prune.cjs +1 -184
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/messages/recency.cjs +0 -32
- package/dist/cjs/messages/recency.cjs.map +1 -1
- package/dist/cjs/messages/reducer.cjs +0 -30
- package/dist/cjs/messages/reducer.cjs.map +1 -1
- package/dist/cjs/messages/tools.cjs +0 -14
- package/dist/cjs/messages/tools.cjs.map +1 -1
- package/dist/cjs/openai/index.cjs.map +1 -1
- package/dist/cjs/prompts/activityLabel.cjs +9 -79
- package/dist/cjs/prompts/activityLabel.cjs.map +1 -1
- package/dist/cjs/responses/index.cjs.map +1 -1
- package/dist/cjs/run.cjs +2 -538
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/session/AgentSession.cjs +1 -17
- package/dist/cjs/session/AgentSession.cjs.map +1 -1
- package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
- package/dist/cjs/session/handlers.cjs +0 -7
- package/dist/cjs/session/handlers.cjs.map +1 -1
- package/dist/cjs/session/ids.cjs.map +1 -1
- package/dist/cjs/session/messageSerialization.cjs +0 -4
- package/dist/cjs/session/messageSerialization.cjs.map +1 -1
- package/dist/cjs/stream.cjs +1 -93
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/index.cjs +0 -27
- package/dist/cjs/summarization/index.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +0 -273
- package/dist/cjs/summarization/node.cjs.map +1 -1
- package/dist/cjs/tools/BashExecutor.cjs +0 -35
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +0 -24
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/Calculator.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +0 -13
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +0 -101
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/ReadFile.cjs.map +1 -1
- package/dist/cjs/tools/SkillTool.cjs +0 -5
- package/dist/cjs/tools/SkillTool.cjs.map +1 -1
- package/dist/cjs/tools/SubagentTool.cjs +0 -10
- package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +6 -1038
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/ToolSearch.cjs +0 -179
- package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +0 -39
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -1
- package/dist/cjs/tools/eagerEventExecution.cjs +0 -6
- package/dist/cjs/tools/eagerEventExecution.cjs.map +1 -1
- package/dist/cjs/tools/handlers.cjs +1 -41
- package/dist/cjs/tools/handlers.cjs.map +1 -1
- package/dist/cjs/tools/intentArg.cjs +1 -132
- package/dist/cjs/tools/intentArg.cjs.map +1 -1
- package/dist/cjs/tools/local/CompileCheckTool.cjs +0 -25
- package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
- package/dist/cjs/tools/local/FileCheckpointer.cjs +0 -23
- package/dist/cjs/tools/local/FileCheckpointer.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalCodingTools.cjs +0 -80
- package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs +0 -126
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalExecutionTools.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +0 -12
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/local/attachments.cjs +0 -44
- package/dist/cjs/tools/local/attachments.cjs.map +1 -1
- package/dist/cjs/tools/local/bashAst.cjs +0 -16
- package/dist/cjs/tools/local/bashAst.cjs.map +1 -1
- package/dist/cjs/tools/local/editStrategies.cjs +0 -14
- package/dist/cjs/tools/local/editStrategies.cjs.map +1 -1
- package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
- package/dist/cjs/tools/local/syntaxCheck.cjs +0 -31
- package/dist/cjs/tools/local/syntaxCheck.cjs.map +1 -1
- package/dist/cjs/tools/local/textEncoding.cjs +0 -11
- package/dist/cjs/tools/local/textEncoding.cjs.map +1 -1
- package/dist/cjs/tools/local/workspaceFS.cjs +0 -33
- package/dist/cjs/tools/local/workspaceFS.cjs.map +1 -1
- package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
- package/dist/cjs/tools/schema.cjs +0 -8
- package/dist/cjs/tools/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/anthropic.cjs +0 -9
- package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
- package/dist/cjs/tools/search/content.cjs.map +1 -1
- package/dist/cjs/tools/search/crw-scraper.cjs +0 -33
- package/dist/cjs/tools/search/crw-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/crw-search.cjs +0 -2
- package/dist/cjs/tools/search/crw-search.cjs.map +1 -1
- package/dist/cjs/tools/search/firecrawl.cjs +0 -25
- package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
- package/dist/cjs/tools/search/format.cjs +0 -30
- package/dist/cjs/tools/search/format.cjs.map +1 -1
- package/dist/cjs/tools/search/highlights.cjs +0 -16
- package/dist/cjs/tools/search/highlights.cjs.map +1 -1
- package/dist/cjs/tools/search/keenable-scraper.cjs +0 -8
- package/dist/cjs/tools/search/keenable-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/keenable-search.cjs +0 -7
- package/dist/cjs/tools/search/keenable-search.cjs.map +1 -1
- package/dist/cjs/tools/search/rerankers.cjs +0 -35
- package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
- package/dist/cjs/tools/search/schema.cjs +0 -1
- package/dist/cjs/tools/search/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/search.cjs +1 -14
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/serper-scraper.cjs +0 -46
- package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/tavily-search.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs +0 -25
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/cjs/tools/search/utils.cjs +0 -8
- package/dist/cjs/tools/search/utils.cjs.map +1 -1
- package/dist/cjs/tools/skillCatalog.cjs +0 -6
- package/dist/cjs/tools/skillCatalog.cjs.map +1 -1
- package/dist/cjs/tools/streamedToolCallSeals.cjs +0 -6
- package/dist/cjs/tools/streamedToolCallSeals.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +0 -2
- package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +3 -213
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
- package/dist/cjs/tools/subagent/childGraphConfig.cjs +0 -4
- package/dist/cjs/tools/subagent/childGraphConfig.cjs.map +1 -1
- package/dist/cjs/tools/subagent/runtimeLimits.cjs.map +1 -1
- package/dist/cjs/tools/toolOutputReferences.cjs +1 -322
- package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
- package/dist/cjs/types/hitl.cjs +0 -5
- package/dist/cjs/types/hitl.cjs.map +1 -1
- package/dist/cjs/utils/callbacks.cjs.map +1 -1
- package/dist/cjs/utils/errors.cjs +14 -165
- package/dist/cjs/utils/errors.cjs.map +1 -1
- package/dist/cjs/utils/events.cjs +0 -10
- package/dist/cjs/utils/events.cjs.map +1 -1
- package/dist/cjs/utils/graph.cjs.map +1 -1
- package/dist/cjs/utils/handlers.cjs +0 -3
- package/dist/cjs/utils/handlers.cjs.map +1 -1
- package/dist/cjs/utils/llm.cjs +0 -1
- package/dist/cjs/utils/llm.cjs.map +1 -1
- package/dist/cjs/utils/misc.cjs +0 -16
- package/dist/cjs/utils/misc.cjs.map +1 -1
- package/dist/cjs/utils/proxy.cjs +0 -26
- package/dist/cjs/utils/proxy.cjs.map +1 -1
- package/dist/cjs/utils/run.cjs +0 -6
- package/dist/cjs/utils/run.cjs.map +1 -1
- package/dist/cjs/utils/schema.cjs +0 -5
- package/dist/cjs/utils/schema.cjs.map +1 -1
- package/dist/cjs/utils/title.cjs +0 -6
- package/dist/cjs/utils/title.cjs.map +1 -1
- package/dist/cjs/utils/tokens.cjs +0 -113
- package/dist/cjs/utils/tokens.cjs.map +1 -1
- package/dist/cjs/utils/toolContent.cjs +0 -41
- package/dist/cjs/utils/toolContent.cjs.map +1 -1
- package/dist/cjs/utils/truncation.cjs +0 -61
- package/dist/cjs/utils/truncation.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +0 -356
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/agents/projection.mjs +0 -9
- package/dist/esm/agents/projection.mjs.map +1 -1
- package/dist/esm/common/constants.mjs +0 -26
- package/dist/esm/common/constants.mjs.map +1 -1
- package/dist/esm/common/enum.mjs +0 -85
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/events.mjs +0 -14
- package/dist/esm/events.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +1 -909
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +7 -272
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/graphs/applyGraphRuntimeConfig.mjs.map +1 -1
- package/dist/esm/graphs/createGraph.mjs.map +1 -1
- package/dist/esm/hitl/askUserQuestion.mjs +0 -53
- package/dist/esm/hitl/askUserQuestion.mjs.map +1 -1
- package/dist/esm/hitl/askUserQuestions.mjs +0 -20
- package/dist/esm/hitl/askUserQuestions.mjs.map +1 -1
- package/dist/esm/hitl/askUserQuestionsInterrupt.mjs +0 -6
- package/dist/esm/hitl/askUserQuestionsInterrupt.mjs.map +1 -1
- package/dist/esm/hooks/HookRegistry.mjs +0 -127
- package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
- package/dist/esm/hooks/createToolPolicyHook.mjs +0 -38
- package/dist/esm/hooks/createToolPolicyHook.mjs.map +1 -1
- package/dist/esm/hooks/createWorkspacePolicyHook.mjs +0 -77
- package/dist/esm/hooks/createWorkspacePolicyHook.mjs.map +1 -1
- package/dist/esm/hooks/executeHooks.mjs +0 -79
- package/dist/esm/hooks/executeHooks.mjs.map +1 -1
- package/dist/esm/hooks/index.mjs +0 -16
- package/dist/esm/hooks/index.mjs.map +1 -1
- package/dist/esm/hooks/matchers.mjs +0 -104
- package/dist/esm/hooks/matchers.mjs.map +1 -1
- package/dist/esm/hooks/types.mjs +0 -8
- package/dist/esm/hooks/types.mjs.map +1 -1
- package/dist/esm/instrumentation.mjs +0 -14
- package/dist/esm/instrumentation.mjs.map +1 -1
- package/dist/esm/langfuse.mjs +0 -75
- package/dist/esm/langfuse.mjs.map +1 -1
- package/dist/esm/langfuseConfig.mjs.map +1 -1
- package/dist/esm/langfuseRuntimeContext.mjs +0 -13
- package/dist/esm/langfuseRuntimeContext.mjs.map +1 -1
- package/dist/esm/langfuseRuntimeScope.mjs +0 -4
- package/dist/esm/langfuseRuntimeScope.mjs.map +1 -1
- package/dist/esm/langfuseSpanRegistry.mjs +0 -28
- package/dist/esm/langfuseSpanRegistry.mjs.map +1 -1
- package/dist/esm/langfuseToolOutputTracing.mjs +0 -3
- package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
- package/dist/esm/langfuseTraceShaping.mjs +0 -74
- package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
- package/dist/esm/llm/anthropic/index.mjs +0 -3
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/types.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +1 -111
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs +0 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/stream_events.mjs +0 -8
- package/dist/esm/llm/anthropic/utils/stream_events.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
- package/dist/esm/llm/bedrock/cachePoints.mjs.map +1 -1
- package/dist/esm/llm/bedrock/index.mjs +1 -95
- package/dist/esm/llm/bedrock/index.mjs.map +1 -1
- package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +0 -78
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs +0 -24
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/contextOverflowRecovery.mjs +0 -62
- package/dist/esm/llm/contextOverflowRecovery.mjs.map +1 -1
- package/dist/esm/llm/fake.mjs.map +1 -1
- package/dist/esm/llm/google/index.mjs +2 -21
- package/dist/esm/llm/google/index.mjs.map +1 -1
- package/dist/esm/llm/google/utils/common.mjs +0 -35
- package/dist/esm/llm/google/utils/common.mjs.map +1 -1
- package/dist/esm/llm/init.mjs +0 -9
- package/dist/esm/llm/init.mjs.map +1 -1
- package/dist/esm/llm/invoke.mjs +1 -270
- package/dist/esm/llm/invoke.mjs.map +1 -1
- package/dist/esm/llm/mistral/index.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +0 -99
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/streamMetadata.mjs +0 -21
- package/dist/esm/llm/openai/streamMetadata.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/index.mjs +0 -1
- package/dist/esm/llm/openrouter/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/toolCache.mjs +0 -6
- package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
- package/dist/esm/llm/preempt.mjs +0 -75
- package/dist/esm/llm/preempt.mjs.map +1 -1
- package/dist/esm/llm/providers.mjs.map +1 -1
- package/dist/esm/llm/request.mjs +0 -10
- package/dist/esm/llm/request.mjs.map +1 -1
- package/dist/esm/llm/stream/chunkAdapters.mjs +0 -62
- package/dist/esm/llm/stream/chunkAdapters.mjs.map +1 -1
- package/dist/esm/llm/stream/smoother.mjs +0 -58
- package/dist/esm/llm/stream/smoother.mjs.map +1 -1
- package/dist/esm/llm/streamLimits.mjs +4 -293
- package/dist/esm/llm/streamLimits.mjs.map +1 -1
- package/dist/esm/llm/truncation.mjs +0 -36
- package/dist/esm/llm/truncation.mjs.map +1 -1
- package/dist/esm/llm/vertexai/index.mjs +0 -330
- package/dist/esm/llm/vertexai/index.mjs.map +1 -1
- package/dist/esm/messages/alternation.mjs +0 -43
- package/dist/esm/messages/alternation.mjs.map +1 -1
- package/dist/esm/messages/anthropicToolCache.mjs +0 -45
- package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
- package/dist/esm/messages/assistantPhase.mjs +0 -12
- package/dist/esm/messages/assistantPhase.mjs.map +1 -1
- package/dist/esm/messages/budget.mjs +0 -9
- package/dist/esm/messages/budget.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +0 -172
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/content.mjs +0 -9
- package/dist/esm/messages/content.mjs.map +1 -1
- package/dist/esm/messages/contextPruning.mjs +0 -15
- package/dist/esm/messages/contextPruning.mjs.map +1 -1
- package/dist/esm/messages/contextPruningSettings.mjs +0 -3
- package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
- package/dist/esm/messages/core.mjs +0 -48
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +1 -345
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/handoffCue.mjs +0 -36
- package/dist/esm/messages/handoffCue.mjs.map +1 -1
- package/dist/esm/messages/ids.mjs.map +1 -1
- package/dist/esm/messages/injected.mjs +0 -33
- package/dist/esm/messages/injected.mjs.map +1 -1
- package/dist/esm/messages/langchain.mjs +0 -14
- package/dist/esm/messages/langchain.mjs.map +1 -1
- package/dist/esm/messages/prune.mjs +1 -184
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/messages/recency.mjs +0 -32
- package/dist/esm/messages/recency.mjs.map +1 -1
- package/dist/esm/messages/reducer.mjs +0 -30
- package/dist/esm/messages/reducer.mjs.map +1 -1
- package/dist/esm/messages/tools.mjs +0 -14
- package/dist/esm/messages/tools.mjs.map +1 -1
- package/dist/esm/openai/index.mjs.map +1 -1
- package/dist/esm/prompts/activityLabel.mjs +9 -79
- package/dist/esm/prompts/activityLabel.mjs.map +1 -1
- package/dist/esm/responses/index.mjs.map +1 -1
- package/dist/esm/run.mjs +2 -538
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/session/AgentSession.mjs +1 -17
- package/dist/esm/session/AgentSession.mjs.map +1 -1
- package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
- package/dist/esm/session/handlers.mjs +0 -7
- package/dist/esm/session/handlers.mjs.map +1 -1
- package/dist/esm/session/ids.mjs.map +1 -1
- package/dist/esm/session/messageSerialization.mjs +0 -4
- package/dist/esm/session/messageSerialization.mjs.map +1 -1
- package/dist/esm/stream.mjs +1 -93
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/index.mjs +0 -27
- package/dist/esm/summarization/index.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +0 -273
- package/dist/esm/summarization/node.mjs.map +1 -1
- package/dist/esm/tools/BashExecutor.mjs +0 -35
- package/dist/esm/tools/BashExecutor.mjs.map +1 -1
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs +0 -24
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/Calculator.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +0 -13
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +0 -101
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/ReadFile.mjs.map +1 -1
- package/dist/esm/tools/SkillTool.mjs +0 -5
- package/dist/esm/tools/SkillTool.mjs.map +1 -1
- package/dist/esm/tools/SubagentTool.mjs +0 -10
- package/dist/esm/tools/SubagentTool.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +6 -1038
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/ToolSearch.mjs +0 -179
- package/dist/esm/tools/ToolSearch.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +0 -39
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
- package/dist/esm/tools/eagerEventExecution.mjs +0 -6
- package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
- package/dist/esm/tools/handlers.mjs +1 -41
- package/dist/esm/tools/handlers.mjs.map +1 -1
- package/dist/esm/tools/intentArg.mjs +1 -132
- package/dist/esm/tools/intentArg.mjs.map +1 -1
- package/dist/esm/tools/local/CompileCheckTool.mjs +0 -25
- package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
- package/dist/esm/tools/local/FileCheckpointer.mjs +0 -23
- package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
- package/dist/esm/tools/local/LocalCodingTools.mjs +0 -80
- package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
- package/dist/esm/tools/local/LocalExecutionEngine.mjs +0 -126
- package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
- package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +0 -12
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/local/attachments.mjs +0 -44
- package/dist/esm/tools/local/attachments.mjs.map +1 -1
- package/dist/esm/tools/local/bashAst.mjs +0 -16
- package/dist/esm/tools/local/bashAst.mjs.map +1 -1
- package/dist/esm/tools/local/editStrategies.mjs +0 -14
- package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
- package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
- package/dist/esm/tools/local/syntaxCheck.mjs +0 -31
- package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
- package/dist/esm/tools/local/textEncoding.mjs +0 -11
- package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
- package/dist/esm/tools/local/workspaceFS.mjs +0 -33
- package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
- package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
- package/dist/esm/tools/schema.mjs +0 -8
- package/dist/esm/tools/schema.mjs.map +1 -1
- package/dist/esm/tools/search/anthropic.mjs +0 -9
- package/dist/esm/tools/search/anthropic.mjs.map +1 -1
- package/dist/esm/tools/search/content.mjs.map +1 -1
- package/dist/esm/tools/search/crw-scraper.mjs +0 -33
- package/dist/esm/tools/search/crw-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/crw-search.mjs +0 -2
- package/dist/esm/tools/search/crw-search.mjs.map +1 -1
- package/dist/esm/tools/search/firecrawl.mjs +0 -25
- package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
- package/dist/esm/tools/search/format.mjs +0 -30
- package/dist/esm/tools/search/format.mjs.map +1 -1
- package/dist/esm/tools/search/highlights.mjs +0 -16
- package/dist/esm/tools/search/highlights.mjs.map +1 -1
- package/dist/esm/tools/search/keenable-scraper.mjs +0 -8
- package/dist/esm/tools/search/keenable-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/keenable-search.mjs +0 -7
- package/dist/esm/tools/search/keenable-search.mjs.map +1 -1
- package/dist/esm/tools/search/rerankers.mjs +0 -35
- package/dist/esm/tools/search/rerankers.mjs.map +1 -1
- package/dist/esm/tools/search/schema.mjs +0 -1
- package/dist/esm/tools/search/schema.mjs.map +1 -1
- package/dist/esm/tools/search/search.mjs +1 -14
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/serper-scraper.mjs +0 -46
- package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs +0 -25
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/esm/tools/search/utils.mjs +0 -8
- package/dist/esm/tools/search/utils.mjs.map +1 -1
- package/dist/esm/tools/skillCatalog.mjs +0 -6
- package/dist/esm/tools/skillCatalog.mjs.map +1 -1
- package/dist/esm/tools/streamedToolCallSeals.mjs +0 -6
- package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -2
- package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +3 -213
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
- package/dist/esm/tools/subagent/childGraphConfig.mjs +0 -4
- package/dist/esm/tools/subagent/childGraphConfig.mjs.map +1 -1
- package/dist/esm/tools/subagent/runtimeLimits.mjs.map +1 -1
- package/dist/esm/tools/toolOutputReferences.mjs +1 -322
- package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
- package/dist/esm/types/hitl.mjs +0 -5
- package/dist/esm/types/hitl.mjs.map +1 -1
- package/dist/esm/utils/callbacks.mjs.map +1 -1
- package/dist/esm/utils/errors.mjs +14 -165
- package/dist/esm/utils/errors.mjs.map +1 -1
- package/dist/esm/utils/events.mjs +0 -10
- package/dist/esm/utils/events.mjs.map +1 -1
- package/dist/esm/utils/graph.mjs.map +1 -1
- package/dist/esm/utils/handlers.mjs +0 -3
- package/dist/esm/utils/handlers.mjs.map +1 -1
- package/dist/esm/utils/llm.mjs +0 -1
- package/dist/esm/utils/llm.mjs.map +1 -1
- package/dist/esm/utils/misc.mjs +0 -16
- package/dist/esm/utils/misc.mjs.map +1 -1
- package/dist/esm/utils/proxy.mjs +0 -26
- package/dist/esm/utils/proxy.mjs.map +1 -1
- package/dist/esm/utils/run.mjs +0 -6
- package/dist/esm/utils/run.mjs.map +1 -1
- package/dist/esm/utils/schema.mjs +0 -5
- package/dist/esm/utils/schema.mjs.map +1 -1
- package/dist/esm/utils/title.mjs +0 -6
- package/dist/esm/utils/title.mjs.map +1 -1
- package/dist/esm/utils/tokens.mjs +0 -113
- package/dist/esm/utils/tokens.mjs.map +1 -1
- package/dist/esm/utils/toolContent.mjs +0 -41
- package/dist/esm/utils/toolContent.mjs.map +1 -1
- package/dist/esm/utils/truncation.mjs +0 -61
- package/dist/esm/utils/truncation.mjs.map +1 -1
- package/dist/types/agents/AgentContext.d.ts +3 -3
- package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +3 -3
- package/dist/types/agents/projection.d.ts +1 -1
- package/dist/types/events.d.ts +2 -2
- package/dist/types/graphs/Graph.d.ts +11 -11
- package/dist/types/graphs/MultiAgentGraph.d.ts +2 -2
- package/dist/types/graphs/createGraph.d.ts +4 -4
- package/dist/types/graphs/graphFactory.d.ts +1 -1
- package/dist/types/hitl/askUserQuestion.d.ts +1 -1
- package/dist/types/hitl/askUserQuestions.d.ts +1 -1
- package/dist/types/hitl/askUserQuestionsInterrupt.d.ts +1 -1
- package/dist/types/hooks/types.d.ts +1 -1
- package/dist/types/instrumentation.d.ts +1 -1
- package/dist/types/langfuse.d.ts +3 -3
- package/dist/types/langfuseConfig.d.ts +2 -2
- package/dist/types/langfuseRuntimeContext.d.ts +1 -1
- package/dist/types/langfuseRuntimeScope.d.ts +2 -2
- package/dist/types/langfuseSpanRegistry.d.ts +1 -1
- package/dist/types/langfuseToolOutputTracing.d.ts +3 -3
- package/dist/types/llm/anthropic/index.d.ts +1 -1
- package/dist/types/llm/bedrock/index.d.ts +1 -1
- package/dist/types/llm/bedrock/toolCache.d.ts +2 -2
- package/dist/types/llm/contextOverflowRecovery.d.ts +2 -2
- package/dist/types/llm/google/index.d.ts +1 -1
- package/dist/types/llm/init.d.ts +2 -2
- package/dist/types/llm/invoke.d.ts +6 -6
- package/dist/types/llm/mistral/index.d.ts +1 -1
- package/dist/types/llm/openai/index.d.ts +2 -2
- package/dist/types/llm/openrouter/index.d.ts +2 -2
- package/dist/types/llm/openrouter/toolCache.d.ts +2 -2
- package/dist/types/llm/providers.d.ts +2 -2
- package/dist/types/llm/request.d.ts +2 -2
- package/dist/types/llm/stream/chunkAdapters.d.ts +1 -1
- package/dist/types/llm/streamLimits.d.ts +1 -1
- package/dist/types/llm/truncation.d.ts +1 -1
- package/dist/types/llm/vertexai/index.d.ts +1 -1
- package/dist/types/messages/alternation.d.ts +1 -1
- package/dist/types/messages/anthropicToolCache.d.ts +2 -2
- package/dist/types/messages/assistantPhase.d.ts +3 -3
- package/dist/types/messages/budget.d.ts +1 -1
- package/dist/types/messages/cache.d.ts +1 -1
- package/dist/types/messages/contextPruning.d.ts +2 -2
- package/dist/types/messages/core.d.ts +2 -2
- package/dist/types/messages/format.d.ts +2 -2
- package/dist/types/messages/ids.d.ts +2 -2
- package/dist/types/messages/injected.d.ts +1 -1
- package/dist/types/messages/langchain.d.ts +1 -1
- package/dist/types/messages/prune.d.ts +3 -3
- package/dist/types/openai/index.d.ts +1 -1
- package/dist/types/prompts/activityLabel.d.ts +2 -2
- package/dist/types/responses/index.d.ts +1 -1
- package/dist/types/run.d.ts +3 -3
- package/dist/types/session/handlers.d.ts +1 -1
- package/dist/types/session/types.d.ts +1 -1
- package/dist/types/stream.d.ts +4 -4
- package/dist/types/summarization/index.d.ts +1 -1
- package/dist/types/summarization/node.d.ts +6 -6
- package/dist/types/test/mockTools.d.ts +1 -1
- package/dist/types/tools/BashExecutor.d.ts +2 -2
- package/dist/types/tools/BashProgrammaticToolCalling.d.ts +2 -2
- package/dist/types/tools/CodeExecutor.d.ts +3 -3
- package/dist/types/tools/CodeSessionFileSummary.d.ts +1 -1
- package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
- package/dist/types/tools/ReadFile.d.ts +1 -1
- package/dist/types/tools/SkillTool.d.ts +1 -1
- package/dist/types/tools/SubagentTool.d.ts +3 -3
- package/dist/types/tools/ToolNode.d.ts +5 -5
- package/dist/types/tools/ToolSearch.d.ts +2 -2
- package/dist/types/tools/cloudflare/CloudflareBridgeRuntime.d.ts +1 -1
- package/dist/types/tools/cloudflare/CloudflareProgrammaticToolCalling.d.ts +1 -1
- package/dist/types/tools/cloudflare/CloudflareSandboxExecutionEngine.d.ts +2 -2
- package/dist/types/tools/cloudflare/CloudflareSandboxTools.d.ts +1 -1
- package/dist/types/tools/eagerEventExecution.d.ts +1 -1
- package/dist/types/tools/handlers.d.ts +3 -3
- package/dist/types/tools/intentArg.d.ts +1 -1
- package/dist/types/tools/local/CompileCheckTool.d.ts +2 -2
- package/dist/types/tools/local/FileCheckpointer.d.ts +1 -1
- package/dist/types/tools/local/LocalCodingTools.d.ts +2 -2
- package/dist/types/tools/local/LocalExecutionEngine.d.ts +1 -1
- package/dist/types/tools/local/LocalExecutionTools.d.ts +1 -1
- package/dist/types/tools/local/LocalProgrammaticToolCalling.d.ts +1 -1
- package/dist/types/tools/local/bashAst.d.ts +1 -1
- package/dist/types/tools/local/resolveLocalExecutionTools.d.ts +1 -1
- package/dist/types/tools/local/syntaxCheck.d.ts +1 -1
- package/dist/types/tools/ptcTimeout.d.ts +1 -1
- package/dist/types/tools/schema.d.ts +1 -1
- package/dist/types/tools/search/anthropic.d.ts +1 -1
- package/dist/types/tools/skillCatalog.d.ts +1 -1
- package/dist/types/tools/subagent/SubagentExecutor.d.ts +5 -5
- package/dist/types/tools/subagent/SubagentReplay.d.ts +3 -3
- package/dist/types/tools/subagent/childGraphConfig.d.ts +2 -2
- package/dist/types/types/activityLabel.d.ts +3 -3
- package/dist/types/types/graph.d.ts +7 -7
- package/dist/types/types/llm.d.ts +9 -9
- package/dist/types/types/run.d.ts +7 -7
- package/dist/types/types/stream.d.ts +5 -5
- package/dist/types/types/summarize.d.ts +2 -2
- package/dist/types/types/tools.d.ts +5 -5
- package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +1 -1
- package/dist/types/utils/errors.d.ts +1 -1
- package/dist/types/utils/events.d.ts +1 -1
- package/dist/types/utils/handlers.d.ts +3 -3
- package/dist/types/utils/llm.d.ts +1 -1
- package/dist/types/utils/llmConfig.d.ts +1 -1
- package/dist/types/utils/title.d.ts +1 -1
- package/package.json +10 -3
- package/src/__tests__/stream.eagerArgsDivergence.test.ts +0 -911
- package/src/__tests__/stream.eagerEventExecution.test.ts +0 -5046
- package/src/__tests__/stream.streamLimits.test.ts +0 -1982
- package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +0 -448
- package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +0 -655
- package/src/agents/__tests__/AgentContext.openrouter.live.test.ts +0 -128
- package/src/agents/__tests__/AgentContext.overflow.test.ts +0 -205
- package/src/agents/__tests__/AgentContext.test.ts +0 -2425
- package/src/agents/__tests__/projection.test.ts +0 -73
- package/src/agents/__tests__/promptCacheLiveHelpers.ts +0 -175
- package/src/aggregator.test.ts +0 -1214
- package/src/graphs/__tests__/Graph.breakerLifecycle.test.ts +0 -273
- package/src/graphs/__tests__/Graph.closeRunStep.test.ts +0 -385
- package/src/graphs/__tests__/Graph.contextOverflow.test.ts +0 -1766
- package/src/graphs/__tests__/Graph.preemptSignal.test.ts +0 -126
- package/src/graphs/__tests__/Graph.reasoning.test.ts +0 -1717
- package/src/graphs/__tests__/Graph.subagentResumeState.test.ts +0 -80
- package/src/graphs/__tests__/MultiAgentGraph.test.ts +0 -177
- package/src/graphs/__tests__/composition.smoke.test.ts +0 -509
- package/src/graphs/__tests__/createGraph.test.ts +0 -206
- package/src/hooks/__tests__/HookRegistry.test.ts +0 -334
- package/src/hooks/__tests__/compactHooks.test.ts +0 -250
- package/src/hooks/__tests__/createToolPolicyHook.test.ts +0 -268
- package/src/hooks/__tests__/createWorkspacePolicyHook.test.ts +0 -405
- package/src/hooks/__tests__/executeHooks.test.ts +0 -1294
- package/src/hooks/__tests__/integration.test.ts +0 -337
- package/src/hooks/__tests__/matchers.test.ts +0 -238
- package/src/hooks/__tests__/preemptBoundary.test.ts +0 -152
- package/src/hooks/__tests__/toolHooks.test.ts +0 -669
- package/src/llm/__tests__/contextOverflowRecovery.test.ts +0 -401
- package/src/llm/__tests__/fallbackOverflow.test.ts +0 -287
- package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
- package/src/llm/anthropic/inherited-content-utils.spec.ts +0 -249
- package/src/llm/anthropic/inherited-stream-events.spec.ts +0 -1259
- package/src/llm/anthropic/inherited-strict.spec.ts +0 -302
- package/src/llm/anthropic/llm.spec.ts +0 -3394
- package/src/llm/anthropic/utils/cross-provider-reasoning.test.ts +0 -383
- package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +0 -110
- package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -508
- package/src/llm/anthropic/utils/streaming-tool-input.test.ts +0 -361
- package/src/llm/anthropic/utils/stripPrefillCache.test.ts +0 -111
- package/src/llm/anthropic/utils/tool-id-normalization.test.ts +0 -287
- package/src/llm/bedrock/inherited-cache.spec.ts +0 -144
- package/src/llm/bedrock/inherited.spec.ts +0 -724
- package/src/llm/bedrock/llm.spec.ts +0 -1533
- package/src/llm/bedrock/streamSealDispatch.test.ts +0 -331
- package/src/llm/bedrock/toolCache.test.ts +0 -194
- package/src/llm/bedrock/utils/cross-provider-reasoning.test.ts +0 -131
- package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +0 -122
- package/src/llm/bedrock/utils/message_inputs.test.ts +0 -650
- package/src/llm/bedrock/utils/message_outputs.test.ts +0 -85
- package/src/llm/bedrock/utils/toolResultCachePoint.test.ts +0 -118
- package/src/llm/custom-chat-models.smoke.test.ts +0 -1966
- package/src/llm/google/data/gettysburg10.wav +0 -0
- package/src/llm/google/data/hotdog.jpg +0 -0
- package/src/llm/google/inherited-stream-events.spec.ts +0 -350
- package/src/llm/google/llm.spec.ts +0 -1388
- package/src/llm/google/streamSmoothing.test.ts +0 -121
- package/src/llm/google/utils/common.test.ts +0 -196
- package/src/llm/invoke.alternation.test.ts +0 -87
- package/src/llm/invoke.handoffCue.test.ts +0 -112
- package/src/llm/invoke.streamLimits.test.ts +0 -142
- package/src/llm/invoke.test.ts +0 -1198
- package/src/llm/mistral/streamSmoothing.test.ts +0 -97
- package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
- package/src/llm/openai/contentBlocks.test.ts +0 -381
- package/src/llm/openai/deepseek.test.ts +0 -747
- package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
- package/src/llm/openai/inherited-xai.spec.ts +0 -416
- package/src/llm/openai/llm.spec.ts +0 -1774
- package/src/llm/openai/managedRequests.test.ts +0 -182
- package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
- package/src/llm/openai/streamMetadata.spec.ts +0 -86
- package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
- package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
- package/src/llm/openai/utils/messages.test.ts +0 -488
- package/src/llm/openrouter/reasoning.test.ts +0 -561
- package/src/llm/openrouter/toolCache.test.ts +0 -134
- package/src/llm/preempt.test.ts +0 -323
- package/src/llm/stream/chunkAdapters.test.ts +0 -202
- package/src/llm/stream/reassembly.test.ts +0 -241
- package/src/llm/stream/smoother.bench.test.ts +0 -155
- package/src/llm/stream/smoother.test.ts +0 -519
- package/src/llm/streamLimits.test.ts +0 -450
- package/src/llm/truncation.test.ts +0 -242
- package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
- package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
- package/src/llm/vertexai/llm.spec.ts +0 -159
- package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
- package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
- package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
- package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
- package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
- package/src/messages/__tests__/observationMasking.test.ts +0 -312
- package/src/messages/__tests__/recency.test.ts +0 -267
- package/src/messages/__tests__/tools.test.ts +0 -473
- package/src/messages/alternation.test.ts +0 -212
- package/src/messages/assistantPhase.test.ts +0 -75
- package/src/messages/cache.tail.test.ts +0 -533
- package/src/messages/cache.test.ts +0 -2166
- package/src/messages/content.test.ts +0 -362
- package/src/messages/contextPruning.test.ts +0 -184
- package/src/messages/ensureThinkingBlock.test.ts +0 -1427
- package/src/messages/foldToollessToolBlocks.test.ts +0 -596
- package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
- package/src/messages/formatAgentMessages.skills.test.ts +0 -513
- package/src/messages/formatAgentMessages.steer.test.ts +0 -598
- package/src/messages/formatAgentMessages.test.ts +0 -8111
- package/src/messages/formatAgentMessages.tools.test.ts +0 -522
- package/src/messages/formatMessage.test.ts +0 -693
- package/src/messages/handoffCue.test.ts +0 -96
- package/src/messages/injected.test.ts +0 -107
- package/src/messages/labelContentByAgent.test.ts +0 -962
- package/src/messages/reducer.spec.ts +0 -32
- package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
- package/src/messages/tailCacheConversion.test.ts +0 -161
- package/src/openai/__tests__/openai.test.ts +0 -337
- package/src/responses/__tests__/responses.test.ts +0 -652
- package/src/scripts/abort.ts +0 -157
- package/src/scripts/activity-labels/captured.json +0 -56
- package/src/scripts/activity-labels/checks.cjs +0 -205
- package/src/scripts/activity-labels/corpus.cjs +0 -473
- package/src/scripts/activity-labels/report.cjs +0 -203
- package/src/scripts/activity-labels/rescore.cjs +0 -102
- package/src/scripts/activity-labels/run.ts +0 -705
- package/src/scripts/activity-labels/variants.ts +0 -71
- package/src/scripts/ant_web_search.ts +0 -159
- package/src/scripts/ant_web_search_edge_case.ts +0 -163
- package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
- package/src/scripts/args.ts +0 -48
- package/src/scripts/bedrock-cache-debug.ts +0 -250
- package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
- package/src/scripts/bedrock-merge-test.ts +0 -107
- package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
- package/src/scripts/bench-prompt-cache.ts +0 -479
- package/src/scripts/caching.ts +0 -132
- package/src/scripts/cli.ts +0 -172
- package/src/scripts/cli2.ts +0 -133
- package/src/scripts/cli3.ts +0 -184
- package/src/scripts/cli4.ts +0 -191
- package/src/scripts/cli5.ts +0 -191
- package/src/scripts/code_exec.ts +0 -214
- package/src/scripts/code_exec_files.ts +0 -237
- package/src/scripts/code_exec_multi_session.ts +0 -237
- package/src/scripts/code_exec_ptc.ts +0 -335
- package/src/scripts/code_exec_session.ts +0 -283
- package/src/scripts/code_exec_simple.ts +0 -148
- package/src/scripts/compare_pi_vs_ours.ts +0 -1259
- package/src/scripts/content.ts +0 -139
- package/src/scripts/context-overflow-probe.ts +0 -997
- package/src/scripts/empty_input.ts +0 -137
- package/src/scripts/handoff-test.ts +0 -134
- package/src/scripts/local_engine.ts +0 -166
- package/src/scripts/local_engine_checkpointer.ts +0 -205
- package/src/scripts/local_engine_compile.ts +0 -263
- package/src/scripts/local_engine_hooks.ts +0 -226
- package/src/scripts/local_engine_image.ts +0 -201
- package/src/scripts/local_engine_ptc.ts +0 -151
- package/src/scripts/local_engine_workspace.ts +0 -258
- package/src/scripts/memory.ts +0 -107
- package/src/scripts/multi-agent-chain.ts +0 -332
- package/src/scripts/multi-agent-conditional.ts +0 -222
- package/src/scripts/multi-agent-document-review-chain.ts +0 -198
- package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
- package/src/scripts/multi-agent-parallel-start.ts +0 -265
- package/src/scripts/multi-agent-parallel.ts +0 -395
- package/src/scripts/multi-agent-sequence.ts +0 -217
- package/src/scripts/multi-agent-subagent.ts +0 -246
- package/src/scripts/multi-agent-supervisor.ts +0 -366
- package/src/scripts/multi-agent-test.ts +0 -187
- package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
- package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
- package/src/scripts/parallel-full-metadata-test.ts +0 -241
- package/src/scripts/parallel-tools-test.ts +0 -341
- package/src/scripts/preempt-probe.ts +0 -330
- package/src/scripts/preempt-scenarios.ts +0 -388
- package/src/scripts/programmatic_exec.ts +0 -387
- package/src/scripts/programmatic_exec_agent.ts +0 -232
- package/src/scripts/search.ts +0 -147
- package/src/scripts/sequential-full-metadata-test.ts +0 -198
- package/src/scripts/session_live.ts +0 -548
- package/src/scripts/simple.ts +0 -226
- package/src/scripts/single-agent-metadata-test.ts +0 -196
- package/src/scripts/stream.ts +0 -141
- package/src/scripts/subagent-configurable-inheritance.ts +0 -252
- package/src/scripts/subagent-event-driven-debug.ts +0 -190
- package/src/scripts/subagent-tools-debug.ts +0 -160
- package/src/scripts/subagent-usage-sink.ts +0 -176
- package/src/scripts/summarization-recency.ts +0 -462
- package/src/scripts/test-custom-prompt-key.ts +0 -145
- package/src/scripts/test-handoff-input.ts +0 -170
- package/src/scripts/test-handoff-preamble.ts +0 -278
- package/src/scripts/test-handoff-steering.ts +0 -430
- package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
- package/src/scripts/test-parallel-agent-labeling.ts +0 -327
- package/src/scripts/test-parallel-handoffs.ts +0 -292
- package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
- package/src/scripts/test-thinking-handoff.ts +0 -156
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
- package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
- package/src/scripts/test-tools-before-handoff.ts +0 -222
- package/src/scripts/test_code_api.ts +0 -354
- package/src/scripts/thinking-bedrock.ts +0 -160
- package/src/scripts/thinking-vertexai.ts +0 -168
- package/src/scripts/thinking.ts +0 -172
- package/src/scripts/tool_search.ts +0 -153
- package/src/scripts/tools.ts +0 -163
- package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
- package/src/session/__tests__/handlers.test.ts +0 -161
- package/src/specs/activity-label-observability.live.test.ts +0 -262
- package/src/specs/activity-label-observability.test.ts +0 -167
- package/src/specs/activity-label-prompt.test.ts +0 -359
- package/src/specs/activity-label-trace-seed.test.ts +0 -47
- package/src/specs/activity-phase-label.test.ts +0 -306
- package/src/specs/agent-handoffs.live.test.ts +0 -140
- package/src/specs/agent-handoffs.test.ts +0 -2465
- package/src/specs/anthropic.simple.test.ts +0 -453
- package/src/specs/ask-user-question-batch.test.ts +0 -289
- package/src/specs/ask-user-questions.live.test.ts +0 -185
- package/src/specs/ask-user-questions.test.ts +0 -293
- package/src/specs/azure.simple.test.ts +0 -502
- package/src/specs/bedrock-toolless.live.test.ts +0 -123
- package/src/specs/bedrock-truncation.live.test.ts +0 -191
- package/src/specs/cache.simple.test.ts +0 -416
- package/src/specs/context-accuracy.live.test.ts +0 -409
- package/src/specs/context-overflow-recovery.live.test.ts +0 -213
- package/src/specs/context-usage-event.test.ts +0 -117
- package/src/specs/context-usage.live.test.ts +0 -297
- package/src/specs/custom-event-await.test.ts +0 -304
- package/src/specs/deepseek.simple.test.ts +0 -290
- package/src/specs/deterministic-trace-id.test.ts +0 -43
- package/src/specs/discovered-tools.test.ts +0 -217
- package/src/specs/durability-checkpoint.integration.test.ts +0 -243
- package/src/specs/graph-subagent.live.test.ts +0 -242
- package/src/specs/graph-subagent.test.ts +0 -322
- package/src/specs/handoffCue.test.ts +0 -165
- package/src/specs/langfuse-callbacks.test.ts +0 -1578
- package/src/specs/langfuse-config.test.ts +0 -247
- package/src/specs/langfuse-instrumentation.test.ts +0 -393
- package/src/specs/langfuse-metadata.test.ts +0 -245
- package/src/specs/langfuse-routing.integration.test.ts +0 -844
- package/src/specs/langfuse-runtime-context.test.ts +0 -92
- package/src/specs/langfuse-span-registry.test.ts +0 -87
- package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
- package/src/specs/langfuse-trace-shaping.test.ts +0 -591
- package/src/specs/moonshot.simple.test.ts +0 -367
- package/src/specs/multi-agent-summarization.test.ts +0 -396
- package/src/specs/openai.simple.test.ts +0 -315
- package/src/specs/openrouter.simple.test.ts +0 -275
- package/src/specs/preemptSeal.test.ts +0 -678
- package/src/specs/prune.test.ts +0 -3741
- package/src/specs/reasoning.test.ts +0 -201
- package/src/specs/run-step-timestamps.test.ts +0 -414
- package/src/specs/spec.utils.ts +0 -15
- package/src/specs/subagent.test.ts +0 -864
- package/src/specs/summarization-unit.test.ts +0 -973
- package/src/specs/summarization.test.ts +0 -3823
- package/src/specs/summarize-prune.test.ts +0 -376
- package/src/specs/thinking-handoff.test.ts +0 -621
- package/src/specs/thinking-prune.test.ts +0 -827
- package/src/specs/token-accounting-e2e.test.ts +0 -1034
- package/src/specs/token-accounting-pipeline.test.ts +0 -1008
- package/src/specs/token-distribution-edge-case.test.ts +0 -315
- package/src/specs/token-memoization.test.ts +0 -40
- package/src/specs/tokens.test.ts +0 -1000
- package/src/specs/tool-error-resume.test.ts +0 -194
- package/src/specs/tool-error.test.ts +0 -198
- package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
- package/src/stream.dispatch.test.ts +0 -63
- package/src/stream.test.ts +0 -144
- package/src/summarization/__tests__/aggregator.test.ts +0 -236
- package/src/summarization/__tests__/node.test.ts +0 -1996
- package/src/summarization/__tests__/trigger.test.ts +0 -149
- package/src/summarization/chunkHandler.test.ts +0 -196
- package/src/test/mockTools.ts +0 -386
- package/src/tools/Calculator.test.ts +0 -278
- package/src/tools/__tests__/BashExecutor.test.ts +0 -108
- package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
- package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
- package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
- package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
- package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
- package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
- package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
- package/src/tools/__tests__/ReadFile.test.ts +0 -44
- package/src/tools/__tests__/SkillTool.test.ts +0 -442
- package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
- package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
- package/src/tools/__tests__/SubagentTool.test.ts +0 -149
- package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
- package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
- package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
- package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
- package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
- package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
- package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
- package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
- package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
- package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
- package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
- package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
- package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
- package/src/tools/__tests__/directToolHooks.test.ts +0 -700
- package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
- package/src/tools/__tests__/handlers.test.ts +0 -997
- package/src/tools/__tests__/hitl.test.ts +0 -4663
- package/src/tools/__tests__/intentArg.test.ts +0 -357
- package/src/tools/__tests__/intentCoverage.test.ts +0 -139
- package/src/tools/__tests__/localToolNames.test.ts +0 -75
- package/src/tools/__tests__/skillCatalog.test.ts +0 -161
- package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
- package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
- package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
- package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
- package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
- package/src/tools/search/content.test.ts +0 -173
- package/src/tools/search/crw.test.ts +0 -836
- package/src/tools/search/format.test.ts +0 -242
- package/src/tools/search/http-agent.test.ts +0 -133
- package/src/tools/search/jina-reranker.test.ts +0 -306
- package/src/tools/search/keenable-scraper.test.ts +0 -153
- package/src/tools/search/keenable.test.ts +0 -183
- package/src/tools/search/outcome.test.ts +0 -90
- package/src/tools/search/output.md +0 -2775
- package/src/tools/search/rag-api-reranker.test.ts +0 -891
- package/src/tools/search/source-processing.test.ts +0 -516
- package/src/tools/search/tavily.test.ts +0 -965
- package/src/tools/search/test.html +0 -884
- package/src/tools/search/test.md +0 -643
- package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
- package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
- package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
- package/src/utils/__tests__/apportion.test.ts +0 -32
- package/src/utils/__tests__/errors.test.ts +0 -270
- package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
- package/src/utils/__tests__/redactSecrets.test.ts +0 -56
- package/src/utils/__tests__/truncation.test.ts +0 -66
- package/src/utils/llm.test.ts +0 -18
- package/src/utils/proxy.test.ts +0 -176
- package/src/utils/toolContent.test.ts +0 -1432
package/dist/cjs/llm/init.cjs
CHANGED
|
@@ -6,15 +6,6 @@ const require_index$2 = require("./openai/index.cjs");
|
|
|
6
6
|
const require_providers = require("./providers.cjs");
|
|
7
7
|
let _langchain_google_vertexai = require("@langchain/google-vertexai");
|
|
8
8
|
//#region src/llm/init.ts
|
|
9
|
-
/**
|
|
10
|
-
* Creates a chat model instance for a given provider, applies provider-specific
|
|
11
|
-
* field assignments, and optionally binds tools.
|
|
12
|
-
*
|
|
13
|
-
* This is the single entry point for model creation across the codebase — used
|
|
14
|
-
* by both the agent graph (main LLM) and the summarization node (compaction LLM).
|
|
15
|
-
* An optional `override` model can be passed to skip construction entirely
|
|
16
|
-
* (useful for cached/reused model instances or test fakes).
|
|
17
|
-
*/
|
|
18
9
|
function initializeModel({ provider, clientOptions, tools, override }) {
|
|
19
10
|
const model = override ?? new (require_providers.getChatModelClass(provider))(clientOptions ?? {});
|
|
20
11
|
if (require_llm.isOpenAILike(provider) && (model instanceof require_index$2.ChatOpenAI || model instanceof require_index$2.AzureChatOpenAI)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.cjs","names":["getChatModelClass","isOpenAILike","ChatOpenAI","AzureChatOpenAI","ChatVertexAI"],"sources":["../../../src/llm/init.ts"],"
|
|
1
|
+
{"version":3,"file":"init.cjs","names":["getChatModelClass","isOpenAILike","ChatOpenAI","AzureChatOpenAI","ChatVertexAI"],"sources":["../../../src/llm/init.ts"],"mappings":";;;;;;;;AAiBA,SAAgB,gBAAgB,EAC9B,UACA,eACA,OACA,YAMW;CACX,MAAM,QACJ,YACA,KAAKA,kBAAAA,kBAAkB,QAAQ,GAAG,iBAAkB,CAAC,CAAW;CAElE,IACEC,YAAAA,aAAa,QAAQ,MACpB,iBAAiBC,gBAAAA,cAAc,iBAAiBC,gBAAAA,kBACjD;EACA,MAAM,OAAO;EACb,IAAI,MAAM;GACR,MAAM,cAAc,KAAK;GACzB,MAAM,OAAO,KAAK;GAClB,MAAM,mBAAmB,KAAK;GAC9B,MAAM,kBAAkB,KAAK;GAC7B,MAAM,IAAI,KAAK;EACjB;CACF,OAAO,IAAI,aAAA,cAAmC,iBAAiBC,2BAAAA,cAAc;EAC3E,MAAM,OAAO;EACb,IAAI,MAAM;GACR,MAAM,cAAc,KAAK;GACzB,MAAM,OAAO,KAAK;GAClB,MAAM,OAAO,KAAK;GAClB,MAAM,cAAc,KAAK;GACzB,MAAM,mBAAmB,KAAK;GAC9B,MAAM,kBAAkB,KAAK;GAC7B,MAAM,kBAAkB,KAAK;EAC/B;CACF;CAEA,IAAI,CAAC,SAAS,MAAM,WAAW,GAC7B,OAAO;CAGT,OAAQ,MAA2B,UAAU,KAAK;AACpD"}
|
package/dist/cjs/llm/invoke.cjs
CHANGED
|
@@ -21,7 +21,6 @@ let _langchain_core_messages = require("@langchain/core/messages");
|
|
|
21
21
|
let _langchain_core_callbacks_manager = require("@langchain/core/callbacks/manager");
|
|
22
22
|
let _langchain_core_utils_stream = require("@langchain/core/utils/stream");
|
|
23
23
|
//#region src/llm/invoke.ts
|
|
24
|
-
/** Unique per-model-attempt sequence; see the stamp in `attemptInvoke`. */
|
|
25
24
|
let streamLimitAttemptSeq = 0;
|
|
26
25
|
function usesNativeOpenAIResponses(model, provider, callOptions) {
|
|
27
26
|
if (!require_llm.isOpenAILike(provider)) return false;
|
|
@@ -54,11 +53,6 @@ function usesNativeOpenAIResponses(model, provider, callOptions) {
|
|
|
54
53
|
}
|
|
55
54
|
return false;
|
|
56
55
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Produces the exact provider-facing message representation before a model
|
|
59
|
-
* adapter serializes it. This is shared by invocation and Graph's final budget
|
|
60
|
-
* guard so structured tool output cannot grow after the payload was measured.
|
|
61
|
-
*/
|
|
62
56
|
function projectMessagesForProvider({ model, messages, provider, maxToolResultChars, callOptions }) {
|
|
63
57
|
const nativeOpenAIResponses = usesNativeOpenAIResponses(model, provider, callOptions);
|
|
64
58
|
const providerInputMessages = require_core.projectToolStreamContentForProvider(messages, nativeOpenAIResponses ? "native" : "fallback", maxToolResultChars);
|
|
@@ -69,16 +63,6 @@ function projectMessagesForProvider({ model, messages, provider, maxToolResultCh
|
|
|
69
63
|
if (provider === "bedrock") return require_cache.stripAnthropicCacheControl(require_core.projectComputerCallOutputsToText(require_core.projectCacheControlledToolOutputsToText(providerInputMessages, maxToolResultChars)));
|
|
70
64
|
return require_core.projectComputerCallOutputsToText(require_core.projectStructuredToolOutputsToText(require_core.projectSingleTextToolOutputsToText(require_cache.stripAnthropicCacheControl(require_cache.stripBedrockCacheControl(providerInputMessages)), maxToolResultChars), maxToolResultChars));
|
|
71
65
|
}
|
|
72
|
-
/**
|
|
73
|
-
* The registered handler that owns content-part dispatch, if any.
|
|
74
|
-
*
|
|
75
|
-
* Detected by brand rather than by `instanceof`: a host that registers
|
|
76
|
-
* `new ChatModelStreamHandler()` to opt out of sealing gets wrapped by
|
|
77
|
-
* `createRunHandlers` on every `AgentSession` run, and by
|
|
78
|
-
* `composeEventHandlers` on a key collision. Both wrappers forward to the same
|
|
79
|
-
* dispatcher while failing an identity check, so an identity test would
|
|
80
|
-
* silently revoke the opt-out documented on `StreamPreemption`.
|
|
81
|
-
*/
|
|
82
66
|
function getRegisteredDefaultChatStreamHandler(context) {
|
|
83
67
|
const handler = context?.handlerRegistry?.getHandler("on_chat_model_stream");
|
|
84
68
|
return require_stream.dispatchesChatModelStream(handler) ? handler : void 0;
|
|
@@ -117,10 +101,6 @@ function getStreamHandlingChunk({ current, next, provider }) {
|
|
|
117
101
|
additional_kwargs: removeReasoningDetails(next.additional_kwargs)
|
|
118
102
|
}));
|
|
119
103
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Best-effort output-token count for a sealed turn, used only when the
|
|
122
|
-
* provider never got to send its usage chunk.
|
|
123
|
-
*/
|
|
124
104
|
function countSealedTokens(context, metadata, messages) {
|
|
125
105
|
try {
|
|
126
106
|
const counter = context?.getAgentContext(metadata).tokenCounter;
|
|
@@ -132,17 +112,6 @@ function countSealedTokens(context, metadata, messages) {
|
|
|
132
112
|
return;
|
|
133
113
|
}
|
|
134
114
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Instruction overhead the provider processed but that never appears in the
|
|
137
|
-
* message array: `createCallModel` pipes the model through
|
|
138
|
-
* `agentContext.systemRunnable` and binds tool schemas AFTER `messages` is
|
|
139
|
-
* formed, so the system prompt, dynamic instructions, summary and tool
|
|
140
|
-
* schemas are all billed yet invisible here.
|
|
141
|
-
*
|
|
142
|
-
* Read per-node via `getAgentContext(metadata)` rather than the graph-level
|
|
143
|
-
* accessor, which is hardcoded to `defaultAgentId` and would report the wrong
|
|
144
|
-
* agent's overhead in a `MultiAgentGraph`.
|
|
145
|
-
*/
|
|
146
115
|
function sealedInstructionOverhead(context, metadata) {
|
|
147
116
|
try {
|
|
148
117
|
const agentContext = context?.getAgentContext(metadata);
|
|
@@ -151,27 +120,6 @@ function sealedInstructionOverhead(context, metadata) {
|
|
|
151
120
|
return 0;
|
|
152
121
|
}
|
|
153
122
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Best-effort usage for a turn the provider never got to bill us for.
|
|
156
|
-
*
|
|
157
|
-
* The prompt matters as much as the completion: the provider processed the
|
|
158
|
-
* ENTIRE prompt — messages plus instruction overhead — before we sealed, and
|
|
159
|
-
* every resume re-sends it, so under-counting input hides the expensive half
|
|
160
|
-
* of a preempted run.
|
|
161
|
-
*
|
|
162
|
-
* ESTIMATE, NOT MEASUREMENT. Messages are counted with the host's tokenizer
|
|
163
|
-
* rather than the provider's, and `toolSchemaTokens` applies a heuristic
|
|
164
|
-
* multiplier. It is also an over-count on the fallback path, where
|
|
165
|
-
* `tryFallbackProviders` builds a bare model with no `systemRunnable` pipe so
|
|
166
|
-
* the system prompt genuinely is not sent. Accepted rather than threaded
|
|
167
|
-
* through a flag: only the fallback-plus-seal combination is affected, and an
|
|
168
|
-
* over-count is safer than the previous fabricated `input_tokens: 0`.
|
|
169
|
-
*
|
|
170
|
-
* Marked `estimated_usage` so calibration can refuse to learn from it — a
|
|
171
|
-
* ratio derived from the same counter that produced the estimate is
|
|
172
|
-
* self-consistent by construction and would drag a provider's real
|
|
173
|
-
* calibration toward 1.0.
|
|
174
|
-
*/
|
|
175
123
|
function synthesizeSealedUsage(context, chunk, prompt, metadata) {
|
|
176
124
|
if (chunk.usage_metadata != null) return;
|
|
177
125
|
const outputTokens = countSealedTokens(context, metadata, [chunk]);
|
|
@@ -200,37 +148,6 @@ function getMessageText(chunk) {
|
|
|
200
148
|
}
|
|
201
149
|
return text;
|
|
202
150
|
}
|
|
203
|
-
/**
|
|
204
|
-
* Ends the real model run for a turn that was sealed mid-stream.
|
|
205
|
-
*
|
|
206
|
-
* Mandatory, not cosmetic. `@langchain/core`'s `_streamIterator` calls
|
|
207
|
-
* `handleLLMEnd` after its try/catch with no `finally`, so breaking out of the
|
|
208
|
-
* consumer's `for await` produces a *return* completion that fires neither
|
|
209
|
-
* `handleLLMError` nor `handleLLMEnd`. The run would stay open in every
|
|
210
|
-
* callback handler: the host records no usage — and since each seal re-sends
|
|
211
|
-
* the whole prompt, N preemptions cost N unrecorded prompts — while LangSmith
|
|
212
|
-
* and Langfuse hold a span that never closes.
|
|
213
|
-
*
|
|
214
|
-
* `runId` cannot be dictated from here (the bound runnable consumes
|
|
215
|
-
* `config.runId` for its own run and hands the chat model a fresh one), but it
|
|
216
|
-
* can be OBSERVED: the capture handler installed at the `model.stream` call
|
|
217
|
-
* records it from `handleChatModelStart`, which fires before the first chunk.
|
|
218
|
-
* Rebuilding the manager against that id closes the real run, and the host's
|
|
219
|
-
* `on_chat_model_end` then arrives through the ordinary `streamEvents` path.
|
|
220
|
-
*
|
|
221
|
-
* Falls back to a custom-event dispatch if the id was never observed, so the
|
|
222
|
-
* host still records usage even when the native close is unavailable.
|
|
223
|
-
*/
|
|
224
|
-
/**
|
|
225
|
-
* Every callbacks source the real model run would compose beyond the per-call
|
|
226
|
-
* config. `model` here is whatever `createCallModel` produced — with tools
|
|
227
|
-
* that is `bindTools(...)`'s `RunnableBinding`, and a system runnable pipes a
|
|
228
|
-
* `RunnableSequence` on top — while `clientOptions.callbacks` lives on the
|
|
229
|
-
* chat model at the BOTTOM of that stack. Walks `bound` (bindings) and
|
|
230
|
-
* `last`/`steps` (sequences), collecting each wrapper's own `callbacks` and
|
|
231
|
-
* any binding-config callbacks along the way, since the binding merges its
|
|
232
|
-
* config into the call before the chat model composes.
|
|
233
|
-
*/
|
|
234
151
|
function collectModelCallbackSources(model) {
|
|
235
152
|
const sources = [];
|
|
236
153
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -244,12 +161,6 @@ function collectModelCallbackSources(model) {
|
|
|
244
161
|
}
|
|
245
162
|
return sources;
|
|
246
163
|
}
|
|
247
|
-
/**
|
|
248
|
-
* The serving model's id, read through the same wrapper stack
|
|
249
|
-
* `collectModelCallbackSources` walks — `bindTools` returns a
|
|
250
|
-
* `RunnableBinding` and a system runnable pipes a `RunnableSequence`, and
|
|
251
|
-
* neither exposes the chat model's `model` at the top level.
|
|
252
|
-
*/
|
|
253
164
|
function resolveServingModelId(model) {
|
|
254
165
|
const seen = /* @__PURE__ */ new Set();
|
|
255
166
|
let current = model;
|
|
@@ -265,17 +176,6 @@ async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model
|
|
|
265
176
|
synthesizeSealedUsage(context, chunk, prompt, metadata);
|
|
266
177
|
if (llmRunId != null) try {
|
|
267
178
|
let callbackManager = await (0, _langchain_core_runnables.getCallbackManagerForConfig)(config);
|
|
268
|
-
/**
|
|
269
|
-
* The real model run composes the per-call config's callbacks WITH the
|
|
270
|
-
* model's own (`CallbackManager.configure(config.callbacks,
|
|
271
|
-
* this.callbacks, …)` in `@langchain/core`'s base chat model), so a
|
|
272
|
-
* handler supplied via `clientOptions.callbacks` received
|
|
273
|
-
* `handleChatModelStart` for this run. Rebuilding from the config alone
|
|
274
|
-
* would close the run for every handler EXCEPT those — leaving their
|
|
275
|
-
* span open forever. Composed the same way the real run composes:
|
|
276
|
-
* model callbacks appended non-inheritable, parent run id preserved by
|
|
277
|
-
* `copy`, tracers deduped by `configure`.
|
|
278
|
-
*/
|
|
279
179
|
for (const source of collectModelCallbackSources(model)) callbackManager = _langchain_core_callbacks_manager.CallbackManager.configure(callbackManager ?? void 0, source) ?? callbackManager;
|
|
280
180
|
if (callbackManager != null) {
|
|
281
181
|
const runManager = new _langchain_core_callbacks_manager.CallbackManagerForLLMRun(llmRunId, callbackManager.handlers, callbackManager.inheritableHandlers, callbackManager.tags, callbackManager.inheritableTags, callbackManager.metadata, callbackManager.inheritableMetadata, callbackManager.getParentRunId());
|
|
@@ -290,10 +190,6 @@ async function endSealedModelRun(context, chunk, prompt, llmRunId, config, model
|
|
|
290
190
|
return;
|
|
291
191
|
}
|
|
292
192
|
} catch (e) {
|
|
293
|
-
/**
|
|
294
|
-
* A sealed answer that reaches the user is worth more than a tidy
|
|
295
|
-
* trace. Fall through to the custom event rather than failing the run.
|
|
296
|
-
*/
|
|
297
193
|
console.warn("[attemptInvoke] Native close of the sealed model run failed; falling back to a custom event:", e instanceof Error ? e.message : e);
|
|
298
194
|
}
|
|
299
195
|
await require_events.safeDispatchCustomEvent("on_chat_model_end", { output: chunk }, config);
|
|
@@ -306,35 +202,16 @@ function appendStreamChunk({ current, next, provider }) {
|
|
|
306
202
|
provider
|
|
307
203
|
}));
|
|
308
204
|
}
|
|
309
|
-
/**
|
|
310
|
-
* One model attempt. Stamps the attempt identity into callback metadata
|
|
311
|
-
* (see the generation-key notes in `streamLimits.ts`), leases the attempt's
|
|
312
|
-
* accounting for its LIFETIME, and releases both from `finally`: retention
|
|
313
|
-
* must follow the attempt — a cancellation-ignoring straggler keeps its
|
|
314
|
-
* original budget no matter how many runs start and reset while it drains.
|
|
315
|
-
*/
|
|
316
205
|
async function attemptInvoke(params, config) {
|
|
317
206
|
const stampedConfig = {
|
|
318
207
|
...config,
|
|
319
208
|
metadata: {
|
|
320
209
|
...config?.metadata ?? {},
|
|
321
210
|
["__invoked_provider"]: params.provider,
|
|
322
|
-
/**
|
|
323
|
-
* One `attemptInvoke` call is one model attempt; primary, fallback,
|
|
324
|
-
* and retry attempts within a node otherwise share the same langgraph
|
|
325
|
-
* metadata, so without a unique attempt stamp a fallback re-streaming
|
|
326
|
-
* a tool call from scratch would be charged the failed primary's
|
|
327
|
-
* partial bytes (or a same-named sibling fallback's) and could
|
|
328
|
-
* falsely trip the stream limits. The stamp rides the same metadata
|
|
329
|
-
* rebuild that already attributes the serving provider.
|
|
330
|
-
*/
|
|
331
211
|
[require_streamLimits.STREAM_LIMIT_ATTEMPT_KEY]: ++streamLimitAttemptSeq
|
|
332
212
|
}
|
|
333
213
|
};
|
|
334
214
|
const rawLeaseTarget = params.context ?? params.streamLimitState;
|
|
335
|
-
/** No lease when no guard can fire: the lease only protects accounting
|
|
336
|
-
* entries, and fully disabled guards must allocate no bookkeeping at
|
|
337
|
-
* all — per-attempt included. */
|
|
338
215
|
const leaseTarget = rawLeaseTarget != null && require_streamLimits.streamLimitAccountingEnabled(rawLeaseTarget) ? rawLeaseTarget : void 0;
|
|
339
216
|
const generationKey = leaseTarget != null ? require_streamLimits.resolveGenerationKey(stampedConfig.metadata) : void 0;
|
|
340
217
|
if (leaseTarget != null && generationKey != null) require_streamLimits.registerActiveStreamLimitGeneration(leaseTarget, generationKey);
|
|
@@ -345,13 +222,6 @@ async function attemptInvoke(params, config) {
|
|
|
345
222
|
}
|
|
346
223
|
}
|
|
347
224
|
async function attemptInvokeBody({ model, messages, provider, context, onChunk }, config) {
|
|
348
|
-
/**
|
|
349
|
-
* Pull the run-scoped tool output registry off the graph (when one
|
|
350
|
-
* exists) and project ToolMessages carrying ref metadata into a
|
|
351
|
-
* transient annotated copy. The original `messages` array stays
|
|
352
|
-
* untouched so the graph state never sees `[ref: …]` / `_ref`
|
|
353
|
-
* payload.
|
|
354
|
-
*/
|
|
355
225
|
const invocationMessages = projectMessagesForProvider({
|
|
356
226
|
model,
|
|
357
227
|
messages,
|
|
@@ -361,55 +231,10 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
361
231
|
const registry = context?.getOrCreateToolOutputRegistry();
|
|
362
232
|
const runId = config.configurable?.run_id;
|
|
363
233
|
const annotated = require_toolOutputReferences.annotateMessagesForLLM(invocationMessages, registry, runId);
|
|
364
|
-
/**
|
|
365
|
-
* Keyed on the provider ACTUALLY serving this call, not the agent's primary.
|
|
366
|
-
* `createCallModel` normalizes for the primary, but `tryFallbackProviders`
|
|
367
|
-
* re-sends the same array — so an OpenAI primary that fails after a boundary
|
|
368
|
-
* injected two human turns would hand a Bedrock or Mistral fallback the
|
|
369
|
-
* consecutive user turns those APIs reject, and the recovery request would
|
|
370
|
-
* fail for a reason unrelated to the original failure.
|
|
371
|
-
*
|
|
372
|
-
* `attemptInvoke` is the single funnel for primary, fallback and
|
|
373
|
-
* summarization calls, so applying it here covers all three. Idempotent, so
|
|
374
|
-
* the primary simply re-runs a no-op over already-coalesced messages.
|
|
375
|
-
*/
|
|
376
|
-
/**
|
|
377
|
-
* Serving-provider re-keying for the predecessor handoff cue (#345). The
|
|
378
|
-
* PRIMARY's cue is baked in createCallModel's measured transform stage —
|
|
379
|
-
* appending after measurement could push a just-fits prompt over budget —
|
|
380
|
-
* so this funnel only corrects for fallbacks crossing provider families:
|
|
381
|
-
* a tolerant primary falling back to a Claude surface gains the cue here,
|
|
382
|
-
* and an Anthropic primary falling back to OpenAI/Mistral/Nova has the
|
|
383
|
-
* Claude-only synthetic turn stripped. Both helpers are identity on their
|
|
384
|
-
* no-op paths, so the primary's own pass re-runs for free.
|
|
385
|
-
*
|
|
386
|
-
* The serving model id is read through the wrapper stack (`bindTools`'
|
|
387
|
-
* binding, a system runnable's sequence) — a wrapper's top-level `.model`
|
|
388
|
-
* is undefined, and `isAnthropicLike` would otherwise default a wrapped
|
|
389
|
-
* Bedrock-Nova model to Claude. The context cast is widened deliberately:
|
|
390
|
-
* the type says every context is a full Graph, but summarization passes
|
|
391
|
-
* none and long-standing tests pass partial stubs.
|
|
392
|
-
*/
|
|
393
234
|
const isRunProduced = context?.isRunProducedMessage;
|
|
394
235
|
const cued = require_llm.isAnthropicLike(provider, { model: resolveServingModelId(model) }) ? require_handoffCue.appendPredecessorHandoffCue(annotated, isRunProduced == null ? void 0 : (message) => isRunProduced.call(context, message)) : require_handoffCue.removePredecessorHandoffCue(annotated);
|
|
395
236
|
const messagesForProvider = require_alternation.strictAlternationProviders.has(provider) ? require_alternation.coalesceAdjacentUserTurns(cued) : cued;
|
|
396
|
-
/**
|
|
397
|
-
* Stamp the provider that is ACTUALLY serving this invocation onto the
|
|
398
|
-
* callback metadata. `attemptInvoke` is the single funnel for primary,
|
|
399
|
-
* fallback, and summarization model calls, so consumers that need
|
|
400
|
-
* provider attribution per call (the subagent usage-capture handler)
|
|
401
|
-
* read this key instead of trusting static agent config — which is
|
|
402
|
-
* wrong for fallback-served calls — or `ls_provider` — which derived
|
|
403
|
-
* providers inherit from their base class.
|
|
404
|
-
*/
|
|
405
237
|
if (model.stream) {
|
|
406
|
-
/**
|
|
407
|
-
* Observed, not dictated. `handleChatModelStart` fires with the chat
|
|
408
|
-
* model's real run id before the first chunk, which is the only way to
|
|
409
|
-
* name the run a seal has to close — pinning `config.runId` does not
|
|
410
|
-
* survive the bound runnable. Installed only when preemption is
|
|
411
|
-
* configured, so a run that cannot seal carries no extra handler.
|
|
412
|
-
*/
|
|
413
238
|
let sealedRunId;
|
|
414
239
|
const streamConfig = context?.preemption == null ? config : {
|
|
415
240
|
...config,
|
|
@@ -421,11 +246,6 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
421
246
|
let finalChunk;
|
|
422
247
|
let preempted = false;
|
|
423
248
|
const registeredStreamHandler = getRegisteredDefaultChatStreamHandler(context);
|
|
424
|
-
/** A sibling's trip aborts the composed signal, but an adapter that
|
|
425
|
-
* ignores cancellation keeps yielding — and text-only chunks with the
|
|
426
|
-
* event cap off never throw in enforcement, so nothing else would stop
|
|
427
|
-
* the drain. Checked on every yielded chunk in all three loops;
|
|
428
|
-
* throwing closes the iterator and tears down the provider stream. */
|
|
429
249
|
const throwIfBreakerTripped = () => {
|
|
430
250
|
const signal = config.signal;
|
|
431
251
|
if (signal?.aborted === true && signal.reason instanceof require_streamLimits.StreamLimitExceededError) throw signal.reason;
|
|
@@ -434,11 +254,6 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
434
254
|
const attemptMetadata = config.metadata;
|
|
435
255
|
for await (const chunk of stream) {
|
|
436
256
|
throwIfBreakerTripped();
|
|
437
|
-
/** An onChunk consumer replaces the stream handler entirely, so
|
|
438
|
-
* stream limits are enforced here for every such caller — public
|
|
439
|
-
* package consumers get no other accounting. The internal
|
|
440
|
-
* summarization onChunk charges producer-side itself and passes no
|
|
441
|
-
* context, precisely so this claim and its own never stack. */
|
|
442
257
|
if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
443
258
|
graph: context,
|
|
444
259
|
metadata: attemptMetadata,
|
|
@@ -462,18 +277,7 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
462
277
|
provider
|
|
463
278
|
});
|
|
464
279
|
if (handlingChunk != null) await streamHandler.handle("on_chat_model_stream", { chunk: handlingChunk }, metadata, context);
|
|
465
|
-
else if (context != null)
|
|
466
|
-
/**
|
|
467
|
-
* A replay-skipped chunk yields no handling chunk, and in this
|
|
468
|
-
* local branch no `streamEvents` consumer judges the wire event
|
|
469
|
-
* either — yet a cumulative OpenRouter replay can still carry
|
|
470
|
-
* `tool_call_chunks` or complete `tool_calls` that are appended
|
|
471
|
-
* below. Charge the full limits (event budget and argument bytes)
|
|
472
|
-
* directly so neither cap can be bypassed. Consumer side: the
|
|
473
|
-
* local handler.handle call above claims as consumer, and one
|
|
474
|
-
* reused chunk object can alternate between these two arms.
|
|
475
|
-
*/
|
|
476
|
-
require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
280
|
+
else if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
477
281
|
graph: context,
|
|
478
282
|
metadata,
|
|
479
283
|
chunk,
|
|
@@ -484,18 +288,6 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
484
288
|
next: chunk,
|
|
485
289
|
provider
|
|
486
290
|
});
|
|
487
|
-
/**
|
|
488
|
-
* Only this loop may seal. The registered-handler branch below
|
|
489
|
-
* dispatches through `run.ts`'s decoupled `streamEvents` consumer,
|
|
490
|
-
* which can lag the accumulated chunk — sealing there would let the
|
|
491
|
-
* host index a content part the user has not been shown yet.
|
|
492
|
-
*/
|
|
493
|
-
/**
|
|
494
|
-
* Cheap poll first, shape check second, budget claim last. The claim
|
|
495
|
-
* is what makes this safe under a parallel `MultiAgentGraph`: several
|
|
496
|
-
* agents share one graph and can each see the poll as true, but only
|
|
497
|
-
* one can take the slot, and a chunk that cannot seal never spends it.
|
|
498
|
-
*/
|
|
499
291
|
if (context?.shouldPreemptStream() === true && require_preempt.canSealPreempt(finalChunk) && context.claimPreemptSeal()) {
|
|
500
292
|
preempted = true;
|
|
501
293
|
break;
|
|
@@ -503,23 +295,9 @@ async function attemptInvokeBody({ model, messages, provider, context, onChunk }
|
|
|
503
295
|
}
|
|
504
296
|
} else {
|
|
505
297
|
const metadata = config.metadata;
|
|
506
|
-
/**
|
|
507
|
-
* The original wire chunk still reaches the registered handler through
|
|
508
|
-
* `streamEvents` (where the late-reasoning skip discards it AFTER the
|
|
509
|
-
* event guard counts it), so this inline re-dispatch of the transformed
|
|
510
|
-
* chunk is marked to not consume a second event-budget slot. Allocated
|
|
511
|
-
* once per attempt, only when a transformation occurs.
|
|
512
|
-
*/
|
|
513
298
|
let redispatchMetadata;
|
|
514
299
|
for await (const chunk of stream) {
|
|
515
300
|
throwIfBreakerTripped();
|
|
516
|
-
/**
|
|
517
|
-
* Charged synchronously, ahead of the decoupled `streamEvents`
|
|
518
|
-
* reader that will echo this same chunk to the registered handler:
|
|
519
|
-
* a lagging reader would otherwise let an oversized complete call
|
|
520
|
-
* return to LangGraph and reach ToolNode before the queued handler
|
|
521
|
-
* throws. The chunk is marked so the echo skips accounting.
|
|
522
|
-
*/
|
|
523
301
|
if (context != null) require_streamLimits.enforceStreamLimitsForWireChunk({
|
|
524
302
|
graph: context,
|
|
525
303
|
metadata,
|
|
@@ -569,43 +347,22 @@ function attachFallbackErrorContext(error, fallbackContext) {
|
|
|
569
347
|
if (typeof error !== "object" || error === null) return;
|
|
570
348
|
fallbackErrorContexts.set(error, fallbackContext);
|
|
571
349
|
}
|
|
572
|
-
/** Reads back the fallback attribution attached by `tryFallbackProviders`. */
|
|
573
350
|
function getFallbackErrorContext(error) {
|
|
574
351
|
if (typeof error !== "object" || error === null) return;
|
|
575
352
|
return fallbackErrorContexts.get(error);
|
|
576
353
|
}
|
|
577
|
-
/** Returns every fallback overflow retained from an exhausted provider chain. */
|
|
578
354
|
function getFallbackOverflowCandidates(error) {
|
|
579
355
|
if (typeof error !== "object" || error === null) return [];
|
|
580
356
|
return [...fallbackOverflowCandidates.get(error) ?? []];
|
|
581
357
|
}
|
|
582
|
-
/**
|
|
583
|
-
* Best-effort read of the configured model name from client options.
|
|
584
|
-
* Providers disagree on the key (`model` vs `modelName`).
|
|
585
|
-
*/
|
|
586
358
|
function extractClientOptionsModel(clientOptions) {
|
|
587
359
|
const options = clientOptions;
|
|
588
360
|
if (typeof options?.model === "string" && options.model !== "") return options.model;
|
|
589
361
|
if (typeof options?.modelName === "string" && options.modelName !== "") return options.modelName;
|
|
590
362
|
}
|
|
591
|
-
/**
|
|
592
|
-
* Attempts each fallback provider in order until one succeeds.
|
|
593
|
-
*
|
|
594
|
-
* When every fallback fails, a context overflow among them is thrown in
|
|
595
|
-
* preference to whichever failure happened to come last. An overflow is the
|
|
596
|
-
* one failure the caller can act on — it compacts and retries — and losing it
|
|
597
|
-
* behind a later unrelated error would surface a dead end instead. Ordinary
|
|
598
|
-
* failures still throw last-error-wins.
|
|
599
|
-
*/
|
|
600
363
|
async function tryFallbackProviders({ fallbacks, tools, messages, config, primaryError, context, onChunk, streamLimitState, overflowContext, prepareProviderMessages }) {
|
|
601
364
|
const isOverflow = (error, contextOverride = overflowContext) => require_errors.getContextOverflowInfo(error, contextOverride) != null;
|
|
602
365
|
let lastError = primaryError;
|
|
603
|
-
/**
|
|
604
|
-
* Tracked apart from the primary's overflow. A caller reaching this
|
|
605
|
-
* function with an overflowing primary has already failed to recover from
|
|
606
|
-
* it, so a fallback overflow — which may sit against a different window and
|
|
607
|
-
* output allowance — is the more useful of the two to surface.
|
|
608
|
-
*/
|
|
609
366
|
const overflowCandidates = [];
|
|
610
367
|
const primaryOverflowError = isOverflow(primaryError) ? primaryError : void 0;
|
|
611
368
|
for (const fb of fallbacks) try {
|
|
@@ -614,13 +371,6 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
614
371
|
clientOptions: fb.clientOptions,
|
|
615
372
|
tools
|
|
616
373
|
});
|
|
617
|
-
/**
|
|
618
|
-
* Stamp the fallback's configured model onto callback metadata so
|
|
619
|
-
* per-call attribution (subagent usage capture) doesn't fall back to
|
|
620
|
-
* the PRIMARY config's model when the provider reports no
|
|
621
|
-
* `ls_model_name`. The serving provider is stamped uniformly by
|
|
622
|
-
* `attemptInvoke` (`INVOKED_PROVIDER`).
|
|
623
|
-
*/
|
|
624
374
|
const fbModelName = extractClientOptionsModel(fb.clientOptions);
|
|
625
375
|
const fbConfig = fbModelName == null ? config : {
|
|
626
376
|
...config,
|
|
@@ -637,10 +387,6 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
637
387
|
maxContextTokens: fb.maxContextTokens,
|
|
638
388
|
config: fbConfig
|
|
639
389
|
}) ?? messages;
|
|
640
|
-
/** A sibling can trip the breaker while the preparation above is
|
|
641
|
-
* awaited — and the catch below only sees attempts that THROW, so a
|
|
642
|
-
* provider that ignores an aborted signal and succeeds would resolve
|
|
643
|
-
* a run that must reject. Check before every fallback invocation. */
|
|
644
390
|
if (config?.signal?.aborted === true && config.signal.reason instanceof require_streamLimits.StreamLimitExceededError) throw config.signal.reason;
|
|
645
391
|
return await attemptInvoke({
|
|
646
392
|
model: fbModel,
|
|
@@ -651,16 +397,7 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
651
397
|
streamLimitState
|
|
652
398
|
}, fbConfig);
|
|
653
399
|
} catch (e) {
|
|
654
|
-
/**
|
|
655
|
-
* A tripped stream circuit breaker is a deliberate abort, not a
|
|
656
|
-
* provider failure. Continuing would try the remaining fallbacks and a
|
|
657
|
-
* succeeding one would resolve a run that must reject.
|
|
658
|
-
*/
|
|
659
400
|
if (e instanceof require_streamLimits.StreamLimitExceededError) throw e;
|
|
660
|
-
/** A parallel sibling's trip aborts this branch's composed signal, and
|
|
661
|
-
* a provider can surface that as a generic abort error; advancing to
|
|
662
|
-
* the next fallback would start new provider work after the safety
|
|
663
|
-
* abort. Rethrow the breaker's own reason instead. */
|
|
664
401
|
if (config?.signal?.aborted === true && config.signal.reason instanceof require_streamLimits.StreamLimitExceededError) throw config.signal.reason;
|
|
665
402
|
lastError = e;
|
|
666
403
|
if (isOverflow(e, {
|
|
@@ -681,12 +418,6 @@ async function tryFallbackProviders({ fallbacks, tools, messages, config, primar
|
|
|
681
418
|
}
|
|
682
419
|
continue;
|
|
683
420
|
}
|
|
684
|
-
/**
|
|
685
|
-
* Preference order: a fallback overflow, then the primary's overflow, then
|
|
686
|
-
* whichever failure came last. An overflow is the only one of the three a
|
|
687
|
-
* caller can act on, and the fallback's carries the client attribution that
|
|
688
|
-
* makes a correct retry budget possible.
|
|
689
|
-
*/
|
|
690
421
|
const preferred = overflowCandidates[0]?.error ?? primaryOverflowError ?? lastError;
|
|
691
422
|
if (overflowCandidates.length > 0 && typeof preferred === "object" && preferred !== null) fallbackOverflowCandidates.set(preferred, overflowCandidates);
|
|
692
423
|
if (preferred !== void 0) throw preferred;
|