@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childGraphConfig.mjs","names":[],"sources":["../../../../src/tools/subagent/childGraphConfig.ts"],"sourcesContent":["import type {\n AgentInputs,\n ExecutableSubagentConfig,\n ExecutableSubagentConfigEntry,\n GraphEdge,\n GraphSubagentConfig,\n ResolvedSingleAgentSubagentConfig,\n ResolvedSubagentConfig,\n ResolvedSubagentConfigEntry,\n SubagentConfig,\n SubagentConfigEntry,\n} from '@/types';\nimport type { AgentContext } from '@/agents/AgentContext';\nimport {\n MAX_GRAPH_SUBAGENT_MEMBERS,\n MAX_GRAPH_SUBAGENT_TURNS,\n} from './runtimeLimits';\n\nconst RESERVED_GRAPH_MEMBER_IDS = new Set([\n '__start__',\n '__end__',\n 'messages',\n 'agentMessages',\n 'subagentResult',\n]);\n\ntype ChildGraphPlanBase = {\n subjectAgentId: string;\n checkpointNodeId: string;\n agents: AgentInputs[];\n memberInputs: ReadonlyMap<string, AgentInputs>;\n};\n\nexport type ChildGraphPlan =\n | (ChildGraphPlanBase & {\n kind: 'agent';\n })\n | (ChildGraphPlanBase & {\n kind: 'graph';\n edges: GraphEdge[];\n entryAgentId: string;\n resultAgentId: string;\n });\n\ntype CreateChildGraphPlanParams = {\n config: ResolvedSubagentConfigEntry;\n executionSuffix: string;\n parentAgentId?: string;\n parentMaxDepth: number;\n keepToolDefinitions: boolean;\n};\n\ntype UnvalidatedGraphSubagentConfig = Omit<\n GraphSubagentConfig,\n 'allowNested' | 'edges'\n> & { allowNested?: boolean; edges: GraphEdge[] };\n\ntype GraphSubagentConfigCandidate = {\n kind?: unknown;\n type?: unknown;\n name?: unknown;\n description?: unknown;\n maxTurns?: unknown;\n allowNested?: unknown;\n agents?: unknown;\n edges?: unknown;\n entryAgentId?: unknown;\n resultAgentId?: unknown;\n configId?: unknown;\n agentInputs?: unknown;\n resolveAgentInputs?: unknown;\n self?: unknown;\n};\n\nfunction isObject(value: unknown): value is object {\n return value != null && typeof value === 'object';\n}\n\nfunction isNonEmptyString(value: unknown): value is string {\n return typeof value === 'string' && value.trim() !== '';\n}\n\nexport function isGraphSubagentConfig(\n config: SubagentConfigEntry\n): config is GraphSubagentConfig {\n return (config as { kind?: unknown }).kind === 'graph';\n}\n\nfunction assertGraphSubagentConfigShape(\n input: unknown\n): asserts input is UnvalidatedGraphSubagentConfig {\n if (!isObject(input)) {\n throw new Error('Graph subagent config must be an object.');\n }\n const candidate = input as GraphSubagentConfigCandidate;\n const configType = isNonEmptyString(candidate.type)\n ? candidate.type\n : '<unknown>';\n if (candidate.kind !== 'graph') {\n throw new Error(`Graph subagent \"${configType}\" must set kind to \"graph\".`);\n }\n for (const [field, value] of [\n ['type', candidate.type],\n ['name', candidate.name],\n ['description', candidate.description],\n ['entryAgentId', candidate.entryAgentId],\n ['resultAgentId', candidate.resultAgentId],\n ] as const) {\n if (!isNonEmptyString(value)) {\n throw new Error(\n `Graph subagent \"${configType}\" must define a non-empty ${field}.`\n );\n }\n }\n if (!Array.isArray(candidate.agents)) {\n throw new Error(`Graph subagent \"${configType}\" agents must be an array.`);\n }\n const agents: unknown[] = candidate.agents;\n for (const agent of agents) {\n if (!isObject(agent)) {\n throw new Error(\n `Graph subagent \"${configType}\" agents must contain objects.`\n );\n }\n }\n if (!Array.isArray(candidate.edges)) {\n throw new Error(`Graph subagent \"${configType}\" edges must be an array.`);\n }\n const edges: unknown[] = candidate.edges;\n for (const edge of edges) {\n if (!isObject(edge)) {\n throw new Error(\n `Graph subagent \"${configType}\" edges must contain objects.`\n );\n }\n }\n if (\n candidate.allowNested != null &&\n typeof candidate.allowNested !== 'boolean'\n ) {\n throw new Error(\n `Graph subagent \"${configType}\" allowNested must be a boolean.`\n );\n }\n if (\n candidate.maxTurns != null &&\n (typeof candidate.maxTurns !== 'number' ||\n !Number.isSafeInteger(candidate.maxTurns) ||\n candidate.maxTurns <= 0)\n ) {\n throw new Error(\n `Graph subagent \"${configType}\" maxTurns must be a positive safe integer.`\n );\n }\n if (\n candidate.agentInputs !== undefined ||\n candidate.resolveAgentInputs !== undefined ||\n candidate.configId !== undefined ||\n candidate.self !== undefined\n ) {\n throw new Error(\n `Graph subagent \"${configType}\" cannot define agentInputs or self, or lazy fields configId/resolveAgentInputs.`\n );\n }\n}\n\nfunction getEndpoints(endpoint: string | string[]): string[] {\n return Array.isArray(endpoint) ? endpoint : [endpoint];\n}\n\nfunction assertNonEmptyUniqueEndpoints(\n endpoints: string[],\n label: string,\n edgeIndex: number\n): void {\n if (endpoints.length === 0) {\n throw new Error(\n `Graph subagent edge ${edgeIndex} must include at least one ${label} agent.`\n );\n }\n const seen = new Set<string>();\n for (const endpoint of endpoints) {\n if (typeof endpoint !== 'string' || endpoint.trim() === '') {\n throw new Error(\n `Graph subagent edge ${edgeIndex} contains a blank ${label} agent ID.`\n );\n }\n if (seen.has(endpoint)) {\n throw new Error(\n `Graph subagent edge ${edgeIndex} repeats ${label} agent \"${endpoint}\".`\n );\n }\n seen.add(endpoint);\n }\n}\n\nfunction visitReachable(\n start: string,\n adjacency: ReadonlyMap<string, ReadonlySet<string>>\n): Set<string> {\n const visited = new Set<string>();\n const pending = [start];\n while (pending.length > 0) {\n const current = pending.pop();\n if (current == null || visited.has(current)) {\n continue;\n }\n visited.add(current);\n for (const next of adjacency.get(current) ?? []) {\n if (!visited.has(next)) {\n pending.push(next);\n }\n }\n }\n return visited;\n}\n\nexport function validateGraphSubagentConfig(config: unknown): void {\n assertGraphSubagentConfigShape(config);\n if (config.agents.length === 0) {\n throw new Error(`Graph subagent \"${config.type}\" must include an agent.`);\n }\n if (config.agents.length > MAX_GRAPH_SUBAGENT_MEMBERS) {\n throw new Error(\n `Graph subagent \"${config.type}\" cannot exceed ${MAX_GRAPH_SUBAGENT_MEMBERS} agents.`\n );\n }\n if (config.maxTurns != null && config.maxTurns > MAX_GRAPH_SUBAGENT_TURNS) {\n throw new Error(\n `Graph subagent \"${config.type}\" maxTurns exceeds the safe graph recursion budget.`\n );\n }\n if (config.allowNested === true) {\n throw new Error(\n `Graph subagent \"${config.type}\" cannot enable allowNested because graph-member nesting and resume semantics are outside this MVP.`\n );\n }\n\n const agentIds = new Set<string>();\n for (const agent of config.agents) {\n if (typeof agent.agentId !== 'string' || agent.agentId.trim() === '') {\n throw new Error(\n `Graph subagent \"${config.type}\" contains a blank agent ID.`\n );\n }\n if (agentIds.has(agent.agentId)) {\n throw new Error(\n `Graph subagent \"${config.type}\" contains duplicate agent ID \"${agent.agentId}\".`\n );\n }\n if (\n RESERVED_GRAPH_MEMBER_IDS.has(agent.agentId) ||\n agent.agentId.includes('|') ||\n agent.agentId.includes(':')\n ) {\n throw new Error(\n `Graph subagent \"${config.type}\" agent ID \"${agent.agentId}\" is reserved by the graph runtime.`\n );\n }\n agentIds.add(agent.agentId);\n }\n\n if (!agentIds.has(config.entryAgentId)) {\n throw new Error(\n `Graph subagent \"${config.type}\" entryAgentId \"${config.entryAgentId}\" is not a configured agent.`\n );\n }\n if (!agentIds.has(config.resultAgentId)) {\n throw new Error(\n `Graph subagent \"${config.type}\" resultAgentId \"${config.resultAgentId}\" is not a configured agent.`\n );\n }\n\n const adjacency = new Map<string, Set<string>>();\n const reverseAdjacency = new Map<string, Set<string>>();\n const incomingEdgeSources = new Map<string, string[][]>();\n const promptedEdges: Array<{\n edgeIndex: number;\n destinations: string[];\n }> = [];\n const directedEdges = new Set<string>();\n for (const agentId of agentIds) {\n adjacency.set(agentId, new Set());\n reverseAdjacency.set(agentId, new Set());\n }\n\n for (let edgeIndex = 0; edgeIndex < config.edges.length; edgeIndex++) {\n const edge = config.edges[edgeIndex];\n if (edge.edgeType !== 'direct') {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} must set edgeType to \"direct\".`\n );\n }\n if (edge.condition != null) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} cannot define a condition.`\n );\n }\n if (edge.promptKey != null) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} cannot define promptKey.`\n );\n }\n const runtimePrompt = (edge as { prompt?: unknown }).prompt;\n if (\n runtimePrompt != null &&\n typeof runtimePrompt !== 'string' &&\n typeof runtimePrompt !== 'function'\n ) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} prompt must be a string or function.`\n );\n }\n const runtimeExcludeResults = (edge as { excludeResults?: unknown })\n .excludeResults;\n if (\n runtimeExcludeResults != null &&\n typeof runtimeExcludeResults !== 'boolean'\n ) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} excludeResults must be a boolean.`\n );\n }\n\n const sources = getEndpoints(edge.from);\n const destinations = getEndpoints(edge.to);\n assertNonEmptyUniqueEndpoints(sources, 'source', edgeIndex);\n assertNonEmptyUniqueEndpoints(destinations, 'destination', edgeIndex);\n if (runtimePrompt != null && runtimePrompt !== '') {\n promptedEdges.push({ edgeIndex, destinations });\n } else if (runtimeExcludeResults != null) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} cannot define excludeResults without a prompt.`\n );\n }\n\n for (const endpoint of [...sources, ...destinations]) {\n if (!agentIds.has(endpoint)) {\n throw new Error(\n `Graph subagent \"${config.type}\" edge ${edgeIndex} references unknown agent \"${endpoint}\".`\n );\n }\n }\n\n for (const destination of destinations) {\n const incomingGroups = incomingEdgeSources.get(destination) ?? [];\n incomingGroups.push(sources);\n incomingEdgeSources.set(destination, incomingGroups);\n if (\n edge.prompt != null &&\n edge.prompt !== '' &&\n agentIds.has(`fan_in_${destination}_prompt`)\n ) {\n throw new Error(\n `Graph subagent \"${config.type}\" agent ID \"fan_in_${destination}_prompt\" conflicts with a generated prompt node.`\n );\n }\n for (const source of sources) {\n if (source === destination) {\n throw new Error(\n `Graph subagent \"${config.type}\" cannot contain self-edge \"${source}\".`\n );\n }\n const edgeKey = `${source}\\u0000${destination}`;\n if (directedEdges.has(edgeKey)) {\n throw new Error(\n `Graph subagent \"${config.type}\" repeats edge \"${source}\" -> \"${destination}\".`\n );\n }\n directedEdges.add(edgeKey);\n adjacency.get(source)!.add(destination);\n reverseAdjacency.get(destination)!.add(source);\n }\n }\n }\n\n for (const [destination, incomingGroups] of incomingEdgeSources) {\n const incomingSources = reverseAdjacency.get(destination)!;\n if (incomingSources.size <= 1) {\n continue;\n }\n if (\n incomingGroups.length !== 1 ||\n incomingGroups[0].length !== incomingSources.size\n ) {\n throw new Error(\n `Graph subagent \"${config.type}\" fan-in to \"${destination}\" must use one edge with an array-valued from field.`\n );\n }\n }\n\n const isSimpleChain = [...agentIds].every(\n (agentId) =>\n adjacency.get(agentId)!.size <= 1 &&\n reverseAdjacency.get(agentId)!.size <= 1\n );\n for (const { edgeIndex, destinations } of promptedEdges) {\n if (destinations.length !== 1) {\n throw new Error(\n `Graph subagent \"${config.type}\" prompted edge ${edgeIndex} must have exactly one destination.`\n );\n }\n if (!isSimpleChain && destinations[0] !== config.resultAgentId) {\n throw new Error(\n `Graph subagent \"${config.type}\" prompted edge ${edgeIndex} must target resultAgentId \"${config.resultAgentId}\" after parallel branches converge.`\n );\n }\n }\n\n const roots = [...agentIds].filter(\n (agentId) => reverseAdjacency.get(agentId)!.size === 0\n );\n if (roots.length !== 1 || roots[0] !== config.entryAgentId) {\n throw new Error(\n `Graph subagent \"${config.type}\" must have entryAgentId \"${config.entryAgentId}\" as its only root.`\n );\n }\n const sinks = [...agentIds].filter(\n (agentId) => adjacency.get(agentId)!.size === 0\n );\n if (sinks.length !== 1 || sinks[0] !== config.resultAgentId) {\n throw new Error(\n `Graph subagent \"${config.type}\" must have resultAgentId \"${config.resultAgentId}\" as its only sink.`\n );\n }\n\n const remainingIncoming = new Map<string, number>();\n const ready: string[] = [];\n for (const agentId of agentIds) {\n const incomingCount = reverseAdjacency.get(agentId)!.size;\n remainingIncoming.set(agentId, incomingCount);\n if (incomingCount === 0) {\n ready.push(agentId);\n }\n }\n let visitedCount = 0;\n while (ready.length > 0) {\n const current = ready.pop()!;\n visitedCount++;\n for (const destination of adjacency.get(current) ?? []) {\n const incomingCount = remainingIncoming.get(destination)! - 1;\n remainingIncoming.set(destination, incomingCount);\n if (incomingCount === 0) {\n ready.push(destination);\n }\n }\n }\n if (visitedCount !== agentIds.size) {\n throw new Error(`Graph subagent \"${config.type}\" must be acyclic.`);\n }\n\n const reachableFromEntry = visitReachable(config.entryAgentId, adjacency);\n const canReachResult = visitReachable(config.resultAgentId, reverseAdjacency);\n if (\n reachableFromEntry.size !== agentIds.size ||\n canReachResult.size !== agentIds.size\n ) {\n throw new Error(\n `Every agent in graph subagent \"${config.type}\" must be reachable from entryAgentId and able to reach resultAgentId.`\n );\n }\n}\n\nfunction normalizeSingleAgentConfig(\n config: SubagentConfig,\n parentContext: AgentContext\n): ExecutableSubagentConfig | null {\n const candidate = config as GraphSubagentConfigCandidate;\n if (\n candidate.kind === 'agent' &&\n (candidate.agents !== undefined ||\n candidate.edges !== undefined ||\n candidate.entryAgentId !== undefined ||\n candidate.resultAgentId !== undefined)\n ) {\n throw new Error(\n `Single-agent subagent \"${config.type}\" cannot define graph topology fields.`\n );\n }\n if (config.self === true && config.resolveAgentInputs != null) {\n throw new Error(\n `Subagent \"${config.type}\" cannot combine self with resolveAgentInputs.`\n );\n }\n if (config.agentInputs != null) {\n return config as ResolvedSingleAgentSubagentConfig;\n }\n if (config.self === true && parentContext._sourceInputs != null) {\n return {\n ...config,\n agentInputs: { ...parentContext._sourceInputs },\n };\n }\n if (config.resolveAgentInputs == null) {\n return null;\n }\n if (!isNonEmptyString(config.configId)) {\n throw new Error(\n `Lazy subagent \"${config.type}\" requires a non-empty \"configId\".`\n );\n }\n return config as ExecutableSubagentConfig;\n}\n\n/** Normalize eager, self, lazy, and graph subagent entries for advertisement. */\nexport function normalizeSubagentConfigEntries(\n configs: SubagentConfigEntry[],\n parentContext: AgentContext\n): ExecutableSubagentConfigEntry[] {\n const normalized: ExecutableSubagentConfigEntry[] = [];\n const seenTypes = new Set<string>();\n for (const config of configs) {\n let executable: ExecutableSubagentConfigEntry | null;\n if (isGraphSubagentConfig(config)) {\n validateGraphSubagentConfig(config);\n executable = config;\n } else {\n executable = normalizeSingleAgentConfig(config, parentContext);\n }\n if (executable == null) {\n continue;\n }\n if (seenTypes.has(executable.type)) {\n throw new Error(\n `Duplicate subagent type \"${executable.type}\". Each SubagentConfig must have a unique \"type\" field.`\n );\n }\n seenTypes.add(executable.type);\n normalized.push(executable);\n }\n return normalized;\n}\n\n/** Resolve self-spawn inputs and validate explicit graph configs. */\nexport function resolveSubagentConfigEntries(\n configs: SubagentConfigEntry[],\n parentContext: AgentContext\n): ResolvedSubagentConfigEntry[] {\n return normalizeSubagentConfigEntries(configs, parentContext).filter(\n (config): config is ResolvedSubagentConfigEntry =>\n isGraphSubagentConfig(config) || config.agentInputs != null\n );\n}\n\n/** Resolve legacy single-agent configs with the original public signature. */\nexport function resolveSubagentConfigs(\n configs: SubagentConfig[],\n parentContext: AgentContext\n): ResolvedSubagentConfig[] {\n const graphConfig = configs.find(isGraphSubagentConfig);\n if (graphConfig != null) {\n throw new Error(\n `Graph subagent \"${graphConfig.type}\" requires resolveSubagentConfigEntries().`\n );\n }\n return resolveSubagentConfigEntries(\n configs,\n parentContext\n ) as ResolvedSubagentConfig[];\n}\n\n/** Normalize legacy single-agent configs while rejecting graph entries. */\nexport function normalizeSubagentConfigs(\n configs: SubagentConfig[],\n parentContext: AgentContext\n): ExecutableSubagentConfig[] {\n const graphConfig = configs.find(isGraphSubagentConfig);\n if (graphConfig != null) {\n throw new Error(\n `Graph subagent \"${graphConfig.type}\" requires normalizeSubagentConfigEntries().`\n );\n }\n return normalizeSubagentConfigEntries(\n configs,\n parentContext\n ) as ExecutableSubagentConfig[];\n}\n\nfunction prepareChildInputs({\n agentInputs,\n agentId,\n self,\n allowNested,\n parentMaxDepth,\n keepToolDefinitions,\n}: {\n agentInputs: AgentInputs;\n agentId: string;\n self: boolean;\n allowNested: boolean;\n parentMaxDepth: number;\n keepToolDefinitions: boolean;\n}): AgentInputs {\n const childInputs: AgentInputs = {\n ...agentInputs,\n agentId,\n toolDefinitions: keepToolDefinitions\n ? agentInputs.toolDefinitions\n : undefined,\n initialSummary: undefined,\n discoveredTools: undefined,\n graphTools: self ? undefined : agentInputs.graphTools,\n };\n if (allowNested) {\n childInputs.maxSubagentDepth = Math.max(0, parentMaxDepth - 1);\n } else {\n childInputs.subagentConfigs = undefined;\n childInputs.maxSubagentDepth = undefined;\n }\n return childInputs;\n}\n\nexport function buildChildInputs(\n config: ResolvedSubagentConfig,\n childAgentId: string,\n parentMaxDepth: number,\n keepToolDefinitions: boolean = false\n): AgentInputs {\n return prepareChildInputs({\n agentInputs: config.agentInputs,\n agentId: childAgentId,\n self: config.self === true,\n allowNested: config.allowNested === true,\n parentMaxDepth,\n keepToolDefinitions,\n });\n}\n\nexport function buildGraphChildInputs(\n config: GraphSubagentConfig,\n parentMaxDepth: number,\n keepToolDefinitions: boolean = false\n): AgentInputs[] {\n return config.agents.map((agentInputs) =>\n prepareChildInputs({\n agentInputs,\n agentId: agentInputs.agentId,\n self: false,\n allowNested: false,\n parentMaxDepth,\n keepToolDefinitions,\n })\n );\n}\n\nexport function createChildGraphPlan({\n config,\n executionSuffix,\n parentAgentId,\n parentMaxDepth,\n keepToolDefinitions,\n}: CreateChildGraphPlanParams): ChildGraphPlan {\n if (isGraphSubagentConfig(config)) {\n validateGraphSubagentConfig(config);\n const agents = buildGraphChildInputs(\n config,\n parentMaxDepth,\n keepToolDefinitions\n );\n return {\n kind: 'graph',\n subjectAgentId: `${parentAgentId ?? 'agent'}_subgraph_${executionSuffix}`,\n checkpointNodeId: config.resultAgentId,\n agents,\n memberInputs: new Map(\n agents.map((agentInputs) => [agentInputs.agentId, agentInputs])\n ),\n edges: config.edges.map((edge) => ({\n ...edge,\n from: Array.isArray(edge.from) ? [...edge.from] : edge.from,\n to: Array.isArray(edge.to) ? [...edge.to] : edge.to,\n })),\n entryAgentId: config.entryAgentId,\n resultAgentId: config.resultAgentId,\n };\n }\n\n const childAgentId =\n config.agentInputs.agentId ||\n `${parentAgentId ?? 'agent'}_sub_${executionSuffix}`;\n const childInputs = buildChildInputs(\n config,\n childAgentId,\n parentMaxDepth,\n keepToolDefinitions\n );\n return {\n kind: 'agent',\n subjectAgentId: childAgentId,\n checkpointNodeId: childAgentId,\n agents: [childInputs],\n memberInputs: new Map([[childAgentId, childInputs]]),\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"childGraphConfig.mjs","names":[],"sources":["../../../../src/tools/subagent/childGraphConfig.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeLimits.mjs","names":[],"sources":["../../../../src/tools/subagent/runtimeLimits.ts"],"
|
|
1
|
+
{"version":3,"file":"runtimeLimits.mjs","names":[],"sources":["../../../../src/tools/subagent/runtimeLimits.ts"],"mappings":"AAGA,MAAa,2BAA2B,KAAK,MAC3C,OAAO,mBAAA,EAET"}
|
|
@@ -3,30 +3,6 @@ import { isComputerCallOutputMessage } from "../utils/toolContent.mjs";
|
|
|
3
3
|
import "./intentArg.mjs";
|
|
4
4
|
import { ToolMessage } from "@langchain/core/messages";
|
|
5
5
|
//#region src/tools/toolOutputReferences.ts
|
|
6
|
-
/**
|
|
7
|
-
* Tool output reference registry.
|
|
8
|
-
*
|
|
9
|
-
* When enabled via `RunConfig.toolOutputReferences.enabled`, ToolNode
|
|
10
|
-
* stores each successful tool output under a stable key
|
|
11
|
-
* (`tool<idx>turn<turn>`) where `idx` is the tool's position within a
|
|
12
|
-
* ToolNode batch and `turn` is the batch index within the run
|
|
13
|
-
* (incremented once per ToolNode invocation).
|
|
14
|
-
*
|
|
15
|
-
* Subsequent tool calls can pipe a previous output into their args by
|
|
16
|
-
* embedding `{{tool<idx>turn<turn>}}` inside any string argument;
|
|
17
|
-
* {@link ToolOutputReferenceRegistry.resolve} walks the args and
|
|
18
|
-
* substitutes the placeholders immediately before invocation.
|
|
19
|
-
*
|
|
20
|
-
* The registry stores the *raw, untruncated* tool output so a later
|
|
21
|
-
* `{{…}}` substitution pipes the full payload into the next tool —
|
|
22
|
-
* even when the LLM only saw a head+tail-truncated preview in
|
|
23
|
-
* `ToolMessage.content`. Outputs are stored without any annotation
|
|
24
|
-
* (the `_ref` key or the `[ref: ...]` prefix seen by the LLM is
|
|
25
|
-
* strictly a UX signal attached to `ToolMessage.content`). Keeping the
|
|
26
|
-
* registry pristine means downstream bash/jq piping receives the
|
|
27
|
-
* complete, verbatim output with no injected fields.
|
|
28
|
-
*/
|
|
29
|
-
/** Parses a stringified JSON object arg; undefined for anything else. */
|
|
30
6
|
function parseStringifiedArgsObject(value) {
|
|
31
7
|
if (!value.trim().startsWith("{")) return;
|
|
32
8
|
try {
|
|
@@ -36,106 +12,34 @@ function parseStringifiedArgsObject(value) {
|
|
|
36
12
|
return;
|
|
37
13
|
}
|
|
38
14
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Non-global matcher for a single `{{tool<i>turn<n>}}` placeholder.
|
|
41
|
-
* Exported for consumers that want to detect references (e.g., syntax
|
|
42
|
-
* highlighting, docs). The stateful `g` variant lives inside the
|
|
43
|
-
* registry so nobody trips on `lastIndex`.
|
|
44
|
-
*/
|
|
45
15
|
const TOOL_OUTPUT_REF_PATTERN = /\{\{(tool\d+turn\d+)\}\}/;
|
|
46
|
-
/** Object key used when a parsed-object output has `_ref` injected. */
|
|
47
16
|
const TOOL_OUTPUT_REF_KEY = "_ref";
|
|
48
|
-
/**
|
|
49
|
-
* Object key used to carry unresolved reference warnings on a parsed-
|
|
50
|
-
* object output. Using a dedicated field instead of a trailing text
|
|
51
|
-
* line keeps the annotated `ToolMessage.content` parseable as JSON for
|
|
52
|
-
* downstream consumers that rely on the object shape.
|
|
53
|
-
*/
|
|
54
17
|
const TOOL_OUTPUT_UNRESOLVED_KEY = "_unresolved_refs";
|
|
55
|
-
/** Single-line prefix prepended to non-object tool outputs so the LLM sees the reference key. */
|
|
56
18
|
function buildReferencePrefix(key) {
|
|
57
19
|
return `[ref: ${key}]`;
|
|
58
20
|
}
|
|
59
|
-
/** Stable registry key for a tool output. */
|
|
60
21
|
function buildReferenceKey(toolIndex, turn) {
|
|
61
22
|
return `tool${toolIndex}turn${turn}`;
|
|
62
23
|
}
|
|
63
24
|
const EMPTY_ENTRIES = /* @__PURE__ */ new Map();
|
|
64
|
-
/**
|
|
65
|
-
* Per-run state bucket held inside the registry. Each distinct
|
|
66
|
-
* `run_id` gets its own bucket so overlapping concurrent runs on a
|
|
67
|
-
* shared registry cannot leak outputs, turn counters, or warn-memos
|
|
68
|
-
* into one another.
|
|
69
|
-
*/
|
|
70
25
|
var RunStateBucket = class {
|
|
71
26
|
entries = /* @__PURE__ */ new Map();
|
|
72
27
|
totalSize = 0;
|
|
73
28
|
turnCounter = 0;
|
|
74
29
|
warnedNonStringTools = /* @__PURE__ */ new Set();
|
|
75
30
|
};
|
|
76
|
-
/**
|
|
77
|
-
* Anonymous (`run_id` absent) bucket key. Anonymous batches are
|
|
78
|
-
* treated as fresh runs on every invocation — see `nextTurn`.
|
|
79
|
-
*/
|
|
80
31
|
const ANON_RUN_KEY = "\0anon";
|
|
81
|
-
/**
|
|
82
|
-
* Default upper bound on the number of concurrently-tracked runs per
|
|
83
|
-
* registry. When exceeded, the oldest run's bucket (by insertion
|
|
84
|
-
* order) is evicted. Keeps memory bounded when a ToolNode is reused
|
|
85
|
-
* across many runs without explicit `releaseRun` calls.
|
|
86
|
-
*/
|
|
87
32
|
const DEFAULT_MAX_ACTIVE_RUNS = 32;
|
|
88
|
-
/**
|
|
89
|
-
* Ordered map of reference-key → stored output, partitioned by run so
|
|
90
|
-
* concurrent / interleaved runs sharing one registry cannot leak
|
|
91
|
-
* outputs between each other.
|
|
92
|
-
*
|
|
93
|
-
* Each public method takes a `runId` which selects the run's bucket.
|
|
94
|
-
* Hosts typically get one registry per run via `Graph`, in which
|
|
95
|
-
* case only a single bucket is ever populated; the partitioning
|
|
96
|
-
* exists so the registry also behaves correctly when a single
|
|
97
|
-
* instance is reused directly.
|
|
98
|
-
*/
|
|
99
33
|
var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
100
34
|
runStates = /* @__PURE__ */ new Map();
|
|
101
35
|
maxOutputSize;
|
|
102
36
|
maxTotalSize;
|
|
103
37
|
maxActiveRuns;
|
|
104
|
-
/**
|
|
105
|
-
* Local stateful matcher used only by `replaceInString`. Kept
|
|
106
|
-
* off-module so callers of the exported `TOOL_OUTPUT_REF_PATTERN`
|
|
107
|
-
* never see a stale `lastIndex`.
|
|
108
|
-
*/
|
|
109
38
|
static PLACEHOLDER_MATCHER = /\{\{(tool\d+turn\d+)\}\}/g;
|
|
110
39
|
constructor(options = {}) {
|
|
111
|
-
/**
|
|
112
|
-
* Per-output default is the same ~400 KB budget as the standard
|
|
113
|
-
* tool-result truncation (`HARD_MAX_TOOL_RESULT_CHARS`). This
|
|
114
|
-
* keeps a single `{{…}}` substitution at a size that is safe to
|
|
115
|
-
* pass through typical shell `ARG_MAX` limits and matches what
|
|
116
|
-
* the LLM would otherwise have seen. Hosts that want larger per-
|
|
117
|
-
* output payloads (API consumers, long JSON streams) can raise
|
|
118
|
-
* the cap explicitly up to the 5 MB total budget.
|
|
119
|
-
*/
|
|
120
40
|
const perOutput = options.maxOutputSize != null && options.maxOutputSize > 0 ? options.maxOutputSize : HARD_MAX_TOOL_RESULT_CHARS;
|
|
121
|
-
/**
|
|
122
|
-
* Clamp a caller-supplied `maxTotalSize` to
|
|
123
|
-
* `HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE` (5 MB) so the documented
|
|
124
|
-
* absolute cap is enforced regardless of host config —
|
|
125
|
-
* `calculateMaxTotalToolOutputSize` already applies the same
|
|
126
|
-
* upper bound on its computed default, but the user-provided
|
|
127
|
-
* branch was bypassing it.
|
|
128
|
-
*/
|
|
129
41
|
const totalRaw = options.maxTotalSize != null && options.maxTotalSize > 0 ? Math.min(options.maxTotalSize, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE) : calculateMaxTotalToolOutputSize(perOutput);
|
|
130
42
|
this.maxTotalSize = totalRaw;
|
|
131
|
-
/**
|
|
132
|
-
* The per-output cap can never exceed the per-run aggregate cap:
|
|
133
|
-
* if a single entry were allowed to be larger than `maxTotalSize`,
|
|
134
|
-
* the eviction loop would either blow the cap (to keep the entry)
|
|
135
|
-
* or self-evict a just-stored value. Clamping here turns
|
|
136
|
-
* `maxTotalSize` into a hard upper bound on *any* state the
|
|
137
|
-
* registry retains per run.
|
|
138
|
-
*/
|
|
139
43
|
this.maxOutputSize = Math.min(perOutput, totalRaw);
|
|
140
44
|
this.maxActiveRuns = options.maxActiveRuns != null && options.maxActiveRuns > 0 ? options.maxActiveRuns : DEFAULT_MAX_ACTIVE_RUNS;
|
|
141
45
|
}
|
|
@@ -155,7 +59,6 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
155
59
|
}
|
|
156
60
|
return state;
|
|
157
61
|
}
|
|
158
|
-
/** Registers (or replaces) the output stored under `key` for `runId`. */
|
|
159
62
|
set(runId, key, value) {
|
|
160
63
|
const bucket = this.getOrCreate(runId);
|
|
161
64
|
const clipped = value.length > this.maxOutputSize ? value.slice(0, this.maxOutputSize) : value;
|
|
@@ -168,83 +71,40 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
168
71
|
bucket.totalSize += clipped.length;
|
|
169
72
|
this.evictWithinBucket(bucket);
|
|
170
73
|
}
|
|
171
|
-
/** Returns the stored value for `key` in `runId`'s bucket, or `undefined`. */
|
|
172
74
|
get(runId, key) {
|
|
173
75
|
return this.runStates.get(this.keyFor(runId))?.entries.get(key);
|
|
174
76
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Returns `true` when `key` is currently stored in `runId`'s bucket.
|
|
177
|
-
* Used by {@link annotateMessagesForLLM} to gate transient annotation
|
|
178
|
-
* on whether the registry still owns the referenced output (a stale
|
|
179
|
-
* `_refKey` from a prior run silently no-ops here).
|
|
180
|
-
*/
|
|
181
77
|
has(runId, key) {
|
|
182
78
|
return this.runStates.get(this.keyFor(runId))?.entries.has(key) ?? false;
|
|
183
79
|
}
|
|
184
|
-
/** Total number of registered outputs across every run bucket. */
|
|
185
80
|
get size() {
|
|
186
81
|
let n = 0;
|
|
187
82
|
for (const bucket of this.runStates.values()) n += bucket.entries.size;
|
|
188
83
|
return n;
|
|
189
84
|
}
|
|
190
|
-
/** Maximum characters retained per output (post-clip). */
|
|
191
85
|
get perOutputLimit() {
|
|
192
86
|
return this.maxOutputSize;
|
|
193
87
|
}
|
|
194
|
-
/** Maximum total characters retained *per run*. */
|
|
195
88
|
get totalLimit() {
|
|
196
89
|
return this.maxTotalSize;
|
|
197
90
|
}
|
|
198
|
-
/** Drops every run's state. */
|
|
199
91
|
clear() {
|
|
200
92
|
this.runStates.clear();
|
|
201
93
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Explicitly release `runId`'s state. Safe to call when a run has
|
|
204
|
-
* finished. Hosts sharing one registry across runs should call this
|
|
205
|
-
* to reclaim memory deterministically; otherwise LRU eviction kicks
|
|
206
|
-
* in when `maxActiveRuns` runs accumulate.
|
|
207
|
-
*/
|
|
208
94
|
releaseRun(runId) {
|
|
209
95
|
this.runStates.delete(this.keyFor(runId));
|
|
210
96
|
}
|
|
211
|
-
/**
|
|
212
|
-
* Claims the next batch turn synchronously from `runId`'s bucket.
|
|
213
|
-
*
|
|
214
|
-
* Must be called once at the start of each ToolNode batch before
|
|
215
|
-
* any `await`, so concurrent invocations within the same run see
|
|
216
|
-
* distinct turn values (reads are effectively atomic by JS's
|
|
217
|
-
* single-threaded execution of the sync prefix).
|
|
218
|
-
*
|
|
219
|
-
* If `runId` is missing the anonymous bucket is dropped and a
|
|
220
|
-
* fresh one created so each anonymous call behaves as its own run.
|
|
221
|
-
*/
|
|
222
97
|
nextTurn(runId) {
|
|
223
98
|
if (runId == null) this.runStates.delete(ANON_RUN_KEY);
|
|
224
99
|
const bucket = this.getOrCreate(runId);
|
|
225
100
|
return bucket.turnCounter++;
|
|
226
101
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Records that `toolName` has been warned about in `runId` (returns
|
|
229
|
-
* `true` on the first call per run, `false` after). Used by
|
|
230
|
-
* ToolNode to emit one log line per offending tool per run when a
|
|
231
|
-
* `ToolMessage.content` isn't a string.
|
|
232
|
-
*/
|
|
233
102
|
claimWarnOnce(runId, toolName) {
|
|
234
103
|
const bucket = this.getOrCreate(runId);
|
|
235
104
|
if (bucket.warnedNonStringTools.has(toolName)) return false;
|
|
236
105
|
bucket.warnedNonStringTools.add(toolName);
|
|
237
106
|
return true;
|
|
238
107
|
}
|
|
239
|
-
/**
|
|
240
|
-
* Walks `args` and replaces every `{{tool<i>turn<n>}}` placeholder in
|
|
241
|
-
* string values with the stored output *from `runId`'s bucket*. Non-
|
|
242
|
-
* string values and object keys are left untouched. Unresolved
|
|
243
|
-
* references are left in-place and reported so the caller can
|
|
244
|
-
* surface them to the LLM. When no placeholder appears anywhere in
|
|
245
|
-
* the serialized args, the original input is returned without
|
|
246
|
-
* walking the tree.
|
|
247
|
-
*/
|
|
248
108
|
resolve(runId, args, options) {
|
|
249
109
|
if (!hasAnyPlaceholder(args)) return {
|
|
250
110
|
resolved: args,
|
|
@@ -253,23 +113,11 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
253
113
|
const bucket = this.runStates.get(this.keyFor(runId));
|
|
254
114
|
return this.resolveAgainst(bucket?.entries ?? EMPTY_ENTRIES, args, options);
|
|
255
115
|
}
|
|
256
|
-
/**
|
|
257
|
-
* Captures a frozen snapshot of `runId`'s current entries and
|
|
258
|
-
* returns a view that resolves placeholders against *only* that
|
|
259
|
-
* snapshot. The snapshot is decoupled from the live registry, so
|
|
260
|
-
* subsequent `set()` calls (for example, same-turn direct outputs
|
|
261
|
-
* registering while an event branch is still in flight) are
|
|
262
|
-
* invisible to the snapshot's `resolve`. Used by the mixed
|
|
263
|
-
* direct+event dispatch path to preserve same-turn isolation when
|
|
264
|
-
* a `PreToolUse` hook rewrites event args after directs have
|
|
265
|
-
* completed.
|
|
266
|
-
*/
|
|
267
116
|
snapshot(runId) {
|
|
268
117
|
const bucket = this.runStates.get(this.keyFor(runId));
|
|
269
118
|
const entries = bucket ? new Map(bucket.entries) : EMPTY_ENTRIES;
|
|
270
119
|
return { resolve: (args, options) => this.resolveAgainst(entries, args, options) };
|
|
271
120
|
}
|
|
272
|
-
/** Captures the checkpoint-safe state needed to resume one run bucket. */
|
|
273
121
|
snapshotState(runId) {
|
|
274
122
|
const bucket = this.runStates.get(this.keyFor(runId));
|
|
275
123
|
return {
|
|
@@ -281,7 +129,6 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
281
129
|
warnedNonStringTools: [...bucket?.warnedNonStringTools ?? []]
|
|
282
130
|
};
|
|
283
131
|
}
|
|
284
|
-
/** Restores a checkpointed run bucket under the current resume scope. */
|
|
285
132
|
restoreState(runId, state) {
|
|
286
133
|
this.releaseRun(runId);
|
|
287
134
|
const bucket = this.getOrCreate(runId);
|
|
@@ -296,14 +143,6 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
296
143
|
};
|
|
297
144
|
const exemptIntentKey = options?.substituteIntentKey !== true;
|
|
298
145
|
const unresolved = /* @__PURE__ */ new Set();
|
|
299
|
-
/**
|
|
300
|
-
* Providers may deliver the args OBJECT as a JSON string. A plain
|
|
301
|
-
* string-root transform would expand placeholders inside the `intent`
|
|
302
|
-
* label too, bypassing the top-level exclusion below — parse, transform
|
|
303
|
-
* key-aware, and re-serialize so the label stays verbatim while every
|
|
304
|
-
* other field still substitutes. Only taken when an `intent` key is
|
|
305
|
-
* actually present; other strings keep the fast raw-string path.
|
|
306
|
-
*/
|
|
307
146
|
if (exemptIntentKey && typeof args === "string") {
|
|
308
147
|
const parsedRoot = parseStringifiedArgsObject(args);
|
|
309
148
|
if (parsedRoot != null && "intent" in parsedRoot) return {
|
|
@@ -322,14 +161,7 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
322
161
|
if (value !== null && typeof value === "object") {
|
|
323
162
|
const source = value;
|
|
324
163
|
const next = {};
|
|
325
|
-
for (const [key, item] of Object.entries(source))
|
|
326
|
-
/**
|
|
327
|
-
* The top-level `intent` arg is a display label, never a data
|
|
328
|
-
* channel: expanding a `{{tool<i>turn<n>}}` placeholder there would
|
|
329
|
-
* dump a stored output (up to the registry cap) into a single-line
|
|
330
|
-
* UI label and persist it with the message. Left verbatim instead.
|
|
331
|
-
*/
|
|
332
|
-
next[key] = exemptRootIntent && key === "intent" ? item : this.transform(entries, item, unresolved);
|
|
164
|
+
for (const [key, item] of Object.entries(source)) next[key] = exemptRootIntent && key === "intent" ? item : this.transform(entries, item, unresolved);
|
|
333
165
|
return next;
|
|
334
166
|
}
|
|
335
167
|
return value;
|
|
@@ -356,11 +188,6 @@ var ToolOutputReferenceRegistry = class ToolOutputReferenceRegistry {
|
|
|
356
188
|
}
|
|
357
189
|
}
|
|
358
190
|
};
|
|
359
|
-
/**
|
|
360
|
-
* Cheap pre-check: returns true if any string value in `args` contains
|
|
361
|
-
* the `{{tool` substring. Lets `resolve()` skip the deep tree walk (and
|
|
362
|
-
* its object allocations) for the common case of plain args.
|
|
363
|
-
*/
|
|
364
191
|
function hasAnyPlaceholder(value) {
|
|
365
192
|
if (typeof value === "string") return value.indexOf("{{tool") !== -1;
|
|
366
193
|
if (Array.isArray(value)) {
|
|
@@ -373,32 +200,6 @@ function hasAnyPlaceholder(value) {
|
|
|
373
200
|
}
|
|
374
201
|
return false;
|
|
375
202
|
}
|
|
376
|
-
/**
|
|
377
|
-
* Annotates `content` with a reference key and/or unresolved-ref
|
|
378
|
-
* warnings so the LLM sees both alongside the tool output.
|
|
379
|
-
*
|
|
380
|
-
* Behavior:
|
|
381
|
-
* - If `content` parses as a plain (non-array, non-null) JSON object
|
|
382
|
-
* and the object does not already have a conflicting `_ref` key,
|
|
383
|
-
* the reference key and (when present) `_unresolved_refs` array
|
|
384
|
-
* are injected as object fields, preserving JSON validity for
|
|
385
|
-
* downstream consumers that parse the output.
|
|
386
|
-
* - Otherwise (string output, JSON array/primitive, parse failure,
|
|
387
|
-
* or `_ref` collision), a `[ref: <key>]\n` prefix line is
|
|
388
|
-
* prepended and unresolved refs are appended as a trailing
|
|
389
|
-
* `[unresolved refs: …]` line.
|
|
390
|
-
*
|
|
391
|
-
* The annotated string is what the LLM sees as `ToolMessage.content`.
|
|
392
|
-
* The *original* (un-annotated) value is what gets stored in the
|
|
393
|
-
* registry, so downstream piping remains pristine.
|
|
394
|
-
*
|
|
395
|
-
* @param content Raw (post-truncation) tool output.
|
|
396
|
-
* @param key Reference key for this output, or undefined when
|
|
397
|
-
* there is nothing to register (errors etc.).
|
|
398
|
-
* @param unresolved Reference keys that failed to resolve during
|
|
399
|
-
* argument substitution. Surfaced so the LLM can
|
|
400
|
-
* self-correct its next tool call.
|
|
401
|
-
*/
|
|
402
203
|
function annotateToolOutputWithReference(content, key, unresolved = []) {
|
|
403
204
|
const hasRefKey = key != null;
|
|
404
205
|
const hasUnresolved = unresolved.length > 0;
|
|
@@ -420,25 +221,8 @@ function tryInjectRefIntoJsonObject(content, key, unresolved) {
|
|
|
420
221
|
const obj = parsed;
|
|
421
222
|
const injectingRef = key != null;
|
|
422
223
|
const injectingUnresolved = unresolved.length > 0;
|
|
423
|
-
/**
|
|
424
|
-
* Reject the JSON-injection path (fall back to prefix form) when
|
|
425
|
-
* either of our keys collides with real payload data:
|
|
426
|
-
* - `_ref` collision: existing value is non-null and differs from
|
|
427
|
-
* the key we're about to inject.
|
|
428
|
-
* - `_unresolved_refs` collision: existing value is non-null and
|
|
429
|
-
* is not a deep-equal match for the array we'd inject.
|
|
430
|
-
* This keeps us from silently overwriting legitimate tool output.
|
|
431
|
-
*/
|
|
432
224
|
if (injectingRef && "_ref" in obj && obj["_ref"] !== key && obj["_ref"] != null) return null;
|
|
433
225
|
if (injectingUnresolved && "_unresolved_refs" in obj && obj["_unresolved_refs"] != null && !arraysShallowEqual(obj["_unresolved_refs"], unresolved)) return null;
|
|
434
|
-
/**
|
|
435
|
-
* Only strip the framework-owned key we're actually injecting —
|
|
436
|
-
* leave everything else (including a pre-existing `_ref` on the
|
|
437
|
-
* unresolved-only path, or a pre-existing `_unresolved_refs` on a
|
|
438
|
-
* plain-annotation path) untouched so we annotate rather than
|
|
439
|
-
* mutate downstream payload data. Our injected keys land first in
|
|
440
|
-
* the serialized JSON so the LLM sees them before the body.
|
|
441
|
-
*/
|
|
442
226
|
const omitKeys = /* @__PURE__ */ new Set();
|
|
443
227
|
if (injectingRef) omitKeys.add(TOOL_OUTPUT_REF_KEY);
|
|
444
228
|
if (injectingUnresolved) omitKeys.add(TOOL_OUTPUT_UNRESOLVED_KEY);
|
|
@@ -455,49 +239,12 @@ function arraysShallowEqual(a, b) {
|
|
|
455
239
|
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
|
|
456
240
|
return true;
|
|
457
241
|
}
|
|
458
|
-
/**
|
|
459
|
-
* Lazy projection that, given a registry and a runId, returns a new
|
|
460
|
-
* `messages` array where each `ToolMessage` carrying ref metadata is
|
|
461
|
-
* projected into a transient copy with annotated content (when the ref
|
|
462
|
-
* is live in the registry) and with the framework-owned `additional_
|
|
463
|
-
* kwargs` keys (`_refKey`, `_refScope`, `_unresolvedRefs`) stripped
|
|
464
|
-
* regardless of whether annotation applied. The original input array
|
|
465
|
-
* and its messages are never mutated.
|
|
466
|
-
*
|
|
467
|
-
* Annotation is gated on registry presence: a stale `_refKey` from a
|
|
468
|
-
* prior run (e.g. one that survived in persisted history) silently
|
|
469
|
-
* no-ops on the *content* side. The strip-metadata side still runs so
|
|
470
|
-
* stale framework keys never leak onto the wire under any custom or
|
|
471
|
-
* future provider serializer that might transmit `additional_kwargs`.
|
|
472
|
-
* `_unresolvedRefs` is always meaningful and is not gated.
|
|
473
|
-
*
|
|
474
|
-
* **Feature-disabled fast path:** when the host hasn't enabled the
|
|
475
|
-
* tool-output-reference feature, the registry is `undefined` and this
|
|
476
|
-
* function returns the input array reference-equal *without iterating
|
|
477
|
-
* a single message*. The loop is exclusive to the feature-enabled
|
|
478
|
-
* code path.
|
|
479
|
-
*/
|
|
480
242
|
function annotateMessagesForLLM(messages, registry, runId) {
|
|
481
243
|
if (registry == null) return messages;
|
|
482
|
-
/**
|
|
483
|
-
* Lazy-allocate the output array so the common case (no ToolMessage
|
|
484
|
-
* carries framework metadata) returns the input reference-equal with
|
|
485
|
-
* zero allocations beyond the per-message predicate checks.
|
|
486
|
-
*/
|
|
487
244
|
let out;
|
|
488
245
|
for (let i = 0; i < messages.length; i++) {
|
|
489
246
|
const m = messages[i];
|
|
490
247
|
if (m._getType() !== "tool") continue;
|
|
491
|
-
/**
|
|
492
|
-
* `additional_kwargs` is untyped at the LangChain layer
|
|
493
|
-
* (`Record<string, unknown>`), so persisted or client-supplied
|
|
494
|
-
* ToolMessages can carry arbitrary shapes — including primitives
|
|
495
|
-
* (a malformed serializer might write a string, or `null`).
|
|
496
|
-
* Guard with a runtime object check before the `in` probes
|
|
497
|
-
* because the `in` operator throws `TypeError` on primitives.
|
|
498
|
-
* A single malformed message must never crash the provider call
|
|
499
|
-
* path; skip its annotation/strip and continue.
|
|
500
|
-
*/
|
|
501
248
|
const rawMeta = m.additional_kwargs;
|
|
502
249
|
if (rawMeta == null || typeof rawMeta !== "object") continue;
|
|
503
250
|
const meta = rawMeta;
|
|
@@ -512,14 +259,6 @@ function annotateMessagesForLLM(messages, registry, runId) {
|
|
|
512
259
|
}
|
|
513
260
|
const refKey = readRefKey(meta);
|
|
514
261
|
const unresolved = readUnresolvedRefs(meta);
|
|
515
|
-
/**
|
|
516
|
-
* Prefer the message-stamped `_refScope` for the registry lookup.
|
|
517
|
-
* For named runs it equals the current `runId`; for anonymous
|
|
518
|
-
* invocations it carries the per-batch synthetic scope minted by
|
|
519
|
-
* ToolNode (`\0anon-<n>`), which `runId` from config cannot
|
|
520
|
-
* recover. Falling back to `runId` keeps backward compatibility
|
|
521
|
-
* with messages stamped before this field existed.
|
|
522
|
-
*/
|
|
523
262
|
const lookupScope = readRefScope(meta) ?? runId;
|
|
524
263
|
const liveRef = refKey != null && registry.has(lookupScope, refKey) ? refKey : void 0;
|
|
525
264
|
const annotates = liveRef != null || unresolved.length > 0;
|
|
@@ -527,22 +266,6 @@ function annotateMessagesForLLM(messages, registry, runId) {
|
|
|
527
266
|
let nextContent = tm.content;
|
|
528
267
|
if (annotates && typeof tm.content === "string") nextContent = annotateToolOutputWithReference(tm.content, liveRef, unresolved);
|
|
529
268
|
else if (annotates && Array.isArray(tm.content)) {
|
|
530
|
-
/**
|
|
531
|
-
* Array tool content. The string annotator can't run — this notably
|
|
532
|
-
* includes a tail tool result that prompt caching rewrote from a string
|
|
533
|
-
* into a text-block array to host its `cache_control` / `cachePoint`
|
|
534
|
-
* marker (the `_refKey` survives on `additional_kwargs`). Project the
|
|
535
|
-
* same markers the string path would, as leading text blocks: the live
|
|
536
|
-
* `[ref: …]` prefix and/or the unresolved-refs warning. Without this the
|
|
537
|
-
* common tool-result tail loses its reference marker once cached.
|
|
538
|
-
*
|
|
539
|
-
* `as unknown as ToolMessage['content']` is unavoidable: LangChain's
|
|
540
|
-
* content union does not accept a freshly built mixed array literal even
|
|
541
|
-
* though the structural shape is valid at runtime. The double-cast is
|
|
542
|
-
* structurally safe — every original block is preserved and only
|
|
543
|
-
* `{ type: 'text', text }` blocks (which all providers accept) are
|
|
544
|
-
* prepended.
|
|
545
|
-
*/
|
|
546
269
|
const prefixBlocks = [];
|
|
547
270
|
if (liveRef != null) prefixBlocks.push({
|
|
548
271
|
type: "text",
|
|
@@ -554,43 +277,19 @@ function annotateMessagesForLLM(messages, registry, runId) {
|
|
|
554
277
|
});
|
|
555
278
|
if (prefixBlocks.length > 0) nextContent = [...prefixBlocks, ...tm.content];
|
|
556
279
|
}
|
|
557
|
-
/**
|
|
558
|
-
* Project unconditionally: even when no annotation applies (stale
|
|
559
|
-
* `_refKey` or non-annotatable content), `cloneToolMessageWithContent`
|
|
560
|
-
* runs `stripFrameworkRefMetadata` on `additional_kwargs` so the
|
|
561
|
-
* framework-owned keys never reach the wire.
|
|
562
|
-
*/
|
|
563
280
|
out ??= messages.slice();
|
|
564
281
|
out[i] = cloneToolMessageWithContent(tm, nextContent);
|
|
565
282
|
}
|
|
566
283
|
return out ?? messages;
|
|
567
284
|
}
|
|
568
|
-
/**
|
|
569
|
-
* Reads `_refKey` defensively from untyped `additional_kwargs`. Returns
|
|
570
|
-
* undefined for non-string values so a malformed field cannot poison
|
|
571
|
-
* the registry lookup or downstream string operations.
|
|
572
|
-
*/
|
|
573
285
|
function readRefKey(meta) {
|
|
574
286
|
const v = meta?._refKey;
|
|
575
287
|
return typeof v === "string" ? v : void 0;
|
|
576
288
|
}
|
|
577
|
-
/**
|
|
578
|
-
* Reads `_refScope` defensively from untyped `additional_kwargs`.
|
|
579
|
-
* Mirrors {@link readRefKey} — non-string scopes are dropped (the
|
|
580
|
-
* caller falls back to the run-derived scope) rather than passed into
|
|
581
|
-
* the registry as a malformed key.
|
|
582
|
-
*/
|
|
583
289
|
function readRefScope(meta) {
|
|
584
290
|
const v = meta?._refScope;
|
|
585
291
|
return typeof v === "string" ? v : void 0;
|
|
586
292
|
}
|
|
587
|
-
/**
|
|
588
|
-
* Reads `_unresolvedRefs` defensively from untyped `additional_kwargs`.
|
|
589
|
-
* Returns an empty array for any non-array value, and filters out
|
|
590
|
-
* non-string entries from a real array. Without this guard, a hydrated
|
|
591
|
-
* ToolMessage carrying e.g. `_unresolvedRefs: 'tool0turn0'` would crash
|
|
592
|
-
* `attemptInvoke` on the eventual `.length` / `.join(...)` call.
|
|
593
|
-
*/
|
|
594
293
|
function readUnresolvedRefs(meta) {
|
|
595
294
|
const v = meta?._unresolvedRefs;
|
|
596
295
|
if (!Array.isArray(v)) return [];
|
|
@@ -598,19 +297,6 @@ function readUnresolvedRefs(meta) {
|
|
|
598
297
|
for (const item of v) if (typeof item === "string") out.push(item);
|
|
599
298
|
return out;
|
|
600
299
|
}
|
|
601
|
-
/**
|
|
602
|
-
* Builds a fresh `ToolMessage` that mirrors `tm`'s identity fields with
|
|
603
|
-
* the supplied `content`. Every `ToolMessage` field but `content` is
|
|
604
|
-
* carried over so the projection is structurally identical to the
|
|
605
|
-
* original from a LangChain serializer's perspective.
|
|
606
|
-
*
|
|
607
|
-
* `additional_kwargs` is rebuilt with the framework-owned ref keys
|
|
608
|
-
* stripped. Defensive: LangChain's standard provider serializers do not
|
|
609
|
-
* transmit `additional_kwargs` to provider HTTP APIs, but a custom
|
|
610
|
-
* adapter or future LangChain change could. Stripping keeps the
|
|
611
|
-
* implementation correct under any serializer behavior at the cost of a
|
|
612
|
-
* shallow object spread per annotated message.
|
|
613
|
-
*/
|
|
614
300
|
function cloneToolMessageWithContent(tm, content) {
|
|
615
301
|
return new ToolMessage({
|
|
616
302
|
id: tm.id,
|
|
@@ -623,13 +309,6 @@ function cloneToolMessageWithContent(tm, content) {
|
|
|
623
309
|
content
|
|
624
310
|
});
|
|
625
311
|
}
|
|
626
|
-
/**
|
|
627
|
-
* Returns a copy of `kwargs` with `_refKey`, `_refScope`, and
|
|
628
|
-
* `_unresolvedRefs` removed. Returns the input reference-equal when
|
|
629
|
-
* none of those keys are present so the no-strip path stays cheap;
|
|
630
|
-
* returns `undefined` when stripping leaves the object empty so the
|
|
631
|
-
* caller can drop the field entirely.
|
|
632
|
-
*/
|
|
633
312
|
function stripFrameworkRefMetadata(kwargs) {
|
|
634
313
|
if (kwargs == null) return void 0;
|
|
635
314
|
if (!("_refKey" in kwargs) && !("_refScope" in kwargs) && !("_unresolvedRefs" in kwargs)) return kwargs;
|