@librechat/agents 3.4.7 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/package.json +35 -32
- package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +0 -52
- package/dist/types/test/mockTools.d.ts +0 -28
- package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +0 -40
- 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
|
@@ -16,24 +16,7 @@ import { getMaxOutputTokensKey } from "../llm/request.mjs";
|
|
|
16
16
|
import { AIMessage, HumanMessage, SystemMessage, ToolMessage } from "@langchain/core/messages";
|
|
17
17
|
//#region src/summarization/node.ts
|
|
18
18
|
const SUMMARIZATION_PARAM_KEYS = new Set(["maxSummaryTokens"]);
|
|
19
|
-
/**
|
|
20
|
-
* Default number of recent user-led turns preserved verbatim during
|
|
21
|
-
* compaction. A turn begins at a HumanMessage and includes every
|
|
22
|
-
* following AIMessage and ToolMessage up to the next HumanMessage.
|
|
23
|
-
* The most recent turn is always retained regardless of this value;
|
|
24
|
-
* the default of `2` additionally keeps the prior exchange so the
|
|
25
|
-
* model has fresh context on what just happened. Setting
|
|
26
|
-
* `retainRecent.turns` to `0` reverts to the legacy "summarize every
|
|
27
|
-
* message" behavior.
|
|
28
|
-
*/
|
|
29
|
-
/**
|
|
30
|
-
* Token overhead of the XML wrapper + instruction text added around the
|
|
31
|
-
* summary at injection time in AgentContext.buildSystemRunnable:
|
|
32
|
-
* `<summary>\n${text}\n</summary>\n\nYour context window was compacted...`
|
|
33
|
-
* ~33 tokens on Anthropic, ~24-27 on OpenAI. Using 33 as a safe ceiling.
|
|
34
|
-
*/
|
|
35
19
|
const SUMMARY_WRAPPER_OVERHEAD_TOKENS = 33;
|
|
36
|
-
/** Structured checkpoint prompt for fresh summarization (no prior summary). */
|
|
37
20
|
const DEFAULT_SUMMARIZATION_PROMPT = `Hold on, before you continue I need you to write me a checkpoint of everything so far. Your context window is filling up and this checkpoint replaces the messages above, so capture everything you need to pick right back up.
|
|
38
21
|
|
|
39
22
|
Don't second-guess or fact-check anything you did, your tool results reflect exactly what happened. If a tool result appears truncated, that's just a display artifact from context management: the tool executed fully. Just record what you did and what you observed. Only the checkpoint, don't respond to me or continue the conversation.
|
|
@@ -68,7 +51,6 @@ Rules:
|
|
|
68
51
|
- Preserve exact identifiers, names, errors, and references verbatim
|
|
69
52
|
- Short declarative sentences
|
|
70
53
|
- Skip empty sections`;
|
|
71
|
-
/** Prompt for re-compaction when a prior summary exists. */
|
|
72
54
|
const DEFAULT_UPDATE_SUMMARIZATION_PROMPT = `Hold on again, update your checkpoint. Merge the new messages into your existing checkpoint and give me a single consolidated replacement.
|
|
73
55
|
|
|
74
56
|
Keep it roughly the same length as your last checkpoint. Compress older details to make room for what's new, don't just append. Give recent actions more detail, compress older items to one-liners.
|
|
@@ -94,11 +76,6 @@ function separateParameters(parameters) {
|
|
|
94
76
|
maxSummaryTokens
|
|
95
77
|
};
|
|
96
78
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Generates a structural metadata summary without making an LLM call.
|
|
99
|
-
* Used as a last-resort fallback when all summarization attempts fail.
|
|
100
|
-
* Preserves tool names and message counts so the agent retains basic context.
|
|
101
|
-
*/
|
|
102
79
|
function generateMetadataStub(messages) {
|
|
103
80
|
const counts = {};
|
|
104
81
|
const toolNames = /* @__PURE__ */ new Set();
|
|
@@ -113,15 +90,8 @@ function generateMetadataStub(messages) {
|
|
|
113
90
|
if (toolNames.size > 0) lines.push(`[Tools used: ${Array.from(toolNames).join(", ")}]`);
|
|
114
91
|
return lines.join("\n");
|
|
115
92
|
}
|
|
116
|
-
/** Maximum number of tool failures to include in the enrichment section. */
|
|
117
93
|
const MAX_TOOL_FAILURES = 8;
|
|
118
|
-
/** Maximum chars per failure summary line. */
|
|
119
94
|
const MAX_TOOL_FAILURE_CHARS = 240;
|
|
120
|
-
/**
|
|
121
|
-
* Extracts failed tool results from messages and formats them as a structured
|
|
122
|
-
* section. LLMs often omit specific failure details (exit codes, error messages)
|
|
123
|
-
* from their summaries, this mechanical enrichment guarantees they survive.
|
|
124
|
-
*/
|
|
125
95
|
function extractToolFailuresSection(messages) {
|
|
126
96
|
const failures = [];
|
|
127
97
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -145,20 +115,9 @@ function extractToolFailuresSection(messages) {
|
|
|
145
115
|
if (failures.length > MAX_TOOL_FAILURES) lines.push(`- ...and ${failures.length - MAX_TOOL_FAILURES} more`);
|
|
146
116
|
return `\n\n## Tool Failures\n${lines.join("\n")}`;
|
|
147
117
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Appends mechanical enrichment sections to an LLM-generated summary.
|
|
150
|
-
* Tool failures are appended verbatim because LLMs often omit specific
|
|
151
|
-
* error details from their summaries.
|
|
152
|
-
*/
|
|
153
118
|
function enrichSummary(summaryText, messages) {
|
|
154
119
|
return summaryText + extractToolFailuresSection(messages);
|
|
155
120
|
}
|
|
156
|
-
/**
|
|
157
|
-
* Restores pre-masking tool content onto the messages array using
|
|
158
|
-
* `pendingOriginalToolContent` stored on AgentContext. Only allocates
|
|
159
|
-
* a new array when there are entries to restore; otherwise returns the
|
|
160
|
-
* input reference unchanged.
|
|
161
|
-
*/
|
|
162
121
|
function restoreOriginalToolContent(messages, originalToolContent, maxContextTokens) {
|
|
163
122
|
if (originalToolContent == null || originalToolContent.size === 0) return messages;
|
|
164
123
|
const restorable = [];
|
|
@@ -171,11 +130,6 @@ function restoreOriginalToolContent(messages, originalToolContent, maxContextTok
|
|
|
171
130
|
});
|
|
172
131
|
}
|
|
173
132
|
if (restorable.length === 0) return messages;
|
|
174
|
-
/**
|
|
175
|
-
* Restored originals improve checkpoint quality, but they still feed a
|
|
176
|
-
* provider call. Share one tool-result budget across every restoration so
|
|
177
|
-
* several previously masked results cannot overflow the summarizer.
|
|
178
|
-
*/
|
|
179
133
|
let remainingChars = calculateMaxToolResultChars(maxContextTokens);
|
|
180
134
|
const restored = [...messages];
|
|
181
135
|
for (let i = 0; i < restorable.length; i++) {
|
|
@@ -187,7 +141,6 @@ function restoreOriginalToolContent(messages, originalToolContent, maxContextTok
|
|
|
187
141
|
}
|
|
188
142
|
return restored;
|
|
189
143
|
}
|
|
190
|
-
/** Assembles the summarization model's client options from agent and config. */
|
|
191
144
|
function buildSummarizationClientConfig(agentContext, summarizationConfig) {
|
|
192
145
|
const provider = summarizationConfig?.provider ?? agentContext.provider;
|
|
193
146
|
const modelName = summarizationConfig?.model;
|
|
@@ -214,54 +167,12 @@ function buildSummarizationClientConfig(agentContext, summarizationConfig) {
|
|
|
214
167
|
updatePromptText
|
|
215
168
|
};
|
|
216
169
|
}
|
|
217
|
-
/** Computes the token count for a summary, preferring provider output tokens when available. */
|
|
218
170
|
function computeSummaryTokenCount(summaryText, summaryUsage, tokenCounter) {
|
|
219
171
|
const providerOutputTokens = Number(summaryUsage?.output_tokens) || 0;
|
|
220
172
|
if (providerOutputTokens > 0) return providerOutputTokens + SUMMARY_WRAPPER_OVERHEAD_TOKENS;
|
|
221
173
|
if (tokenCounter) return tokenCounter(new SystemMessage(summaryText)) + SUMMARY_WRAPPER_OVERHEAD_TOKENS;
|
|
222
174
|
return 0;
|
|
223
175
|
}
|
|
224
|
-
/**
|
|
225
|
-
* Names the first retained message so the summary declares its own extent
|
|
226
|
-
* rather than leaving the next run to infer coverage from where the block
|
|
227
|
-
* happens to sit.
|
|
228
|
-
*
|
|
229
|
-
* Anchored to the retained side, not the covered side. One source message can
|
|
230
|
-
* expand into several messages — a steer splits an assistant entry into
|
|
231
|
-
* pre-steer, steer, and post-steer entries sharing its ID — and the recency
|
|
232
|
-
* split lands on any human-type message, including the steer. Naming the last
|
|
233
|
-
* *covered* message would then name a half-covered ID with no correct reading;
|
|
234
|
-
* naming the first *retained* message makes that same message the anchor, so it
|
|
235
|
-
* survives whole and everything before it is unambiguously covered.
|
|
236
|
-
*
|
|
237
|
-
* Synthetic entries are skipped, because they can sit *before* a resolvable
|
|
238
|
-
* one. `formatAgentMessages` reconstructs skill bodies inside its payload loop
|
|
239
|
-
* (see the `pendingSkillNames` block) and keeps processing payload entries
|
|
240
|
-
* afterwards, so an unstamped skill body — which `messagesStateReducer` then
|
|
241
|
-
* gives a UUID no payload entry carries — is followed by stamped messages.
|
|
242
|
-
* Anchoring on the UUID would look resolvable at write time and degrade to
|
|
243
|
-
* positional trimming on read, dropping the retained tail. Skipping it reaches
|
|
244
|
-
* the stamped message behind it.
|
|
245
|
-
*
|
|
246
|
-
* `convertInjectedMessages` records `injected` on everything it builds, which is
|
|
247
|
-
* what makes this decidable: `isMeta` and `source` are both optional on
|
|
248
|
-
* `InjectedMessage`, so a bare entry carries no marker of its own, and an
|
|
249
|
-
* injected `source: 'steer'` is otherwise indistinguishable from a replayed one.
|
|
250
|
-
* The remaining `isMeta`/`source` checks cover the constructors that build
|
|
251
|
-
* synthetic entries directly instead of going through that funnel — hook context
|
|
252
|
-
* in `ToolNode` and `StandardGraph`, handoff cues, reconstructed skill bodies.
|
|
253
|
-
*
|
|
254
|
-
* `steer` is exempt from the `source` check because a replayed steer *is*
|
|
255
|
-
* correlated with its payload entry; rejecting every marked `source` once
|
|
256
|
-
* dropped exactly those retained steers. Injected steers are still caught, by
|
|
257
|
-
* `injected`.
|
|
258
|
-
*
|
|
259
|
-
* Known limitation: a payload entry that omits `messageId` is never stamped, so
|
|
260
|
-
* the reducer's UUID is recorded and cannot resolve on the next run. There is no
|
|
261
|
-
* write-time fix — such an entry has no stable ID to name in the next payload
|
|
262
|
-
* either — and the reader's positional fallback is what `main` already does, so
|
|
263
|
-
* the anchor degrades rather than misleads.
|
|
264
|
-
*/
|
|
265
176
|
function isSyntheticContext(message) {
|
|
266
177
|
const { additional_kwargs: kwargs } = message;
|
|
267
178
|
if (kwargs.injected === true || kwargs.isMeta === true) return true;
|
|
@@ -277,7 +188,6 @@ function resolveSummaryCoverage(messagesToRetain) {
|
|
|
277
188
|
if (id != null && id !== "") return { retainedFromMessageId: id };
|
|
278
189
|
}
|
|
279
190
|
}
|
|
280
|
-
/** Constructs the SummaryContentBlock persisted in the run step and dispatched to events. */
|
|
281
191
|
function buildSummaryBlock(params) {
|
|
282
192
|
return {
|
|
283
193
|
type: "summary",
|
|
@@ -297,12 +207,6 @@ function buildSummaryBlock(params) {
|
|
|
297
207
|
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
298
208
|
};
|
|
299
209
|
}
|
|
300
|
-
/**
|
|
301
|
-
* Extracts an HTTP status code from a thrown LLM-provider error. Returns
|
|
302
|
-
* `undefined` for non-object values (including `null` or `undefined`, both
|
|
303
|
-
* valid `throw` targets in JS) so callers never dereference a nullish
|
|
304
|
-
* value.
|
|
305
|
-
*/
|
|
306
210
|
function extractHttpStatus(err) {
|
|
307
211
|
if (err == null || typeof err !== "object") return;
|
|
308
212
|
const errRecord = err;
|
|
@@ -316,11 +220,6 @@ function extractHttpStatus(err) {
|
|
|
316
220
|
if (typeof nested === "number") return nested;
|
|
317
221
|
}
|
|
318
222
|
}
|
|
319
|
-
/**
|
|
320
|
-
* Formats a provider-level error for logging. Returns both a human-readable
|
|
321
|
-
* suffix (safe to include in the message string so it survives any host-side
|
|
322
|
-
* formatter) and a structured metadata bag for rich log backends.
|
|
323
|
-
*/
|
|
324
223
|
function describeProviderError(err, provider, modelName) {
|
|
325
224
|
const providerLabel = `${provider}/${modelName ?? "(no-model)"}`;
|
|
326
225
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
@@ -340,17 +239,6 @@ function describeProviderError(err, provider, modelName) {
|
|
|
340
239
|
data
|
|
341
240
|
};
|
|
342
241
|
}
|
|
343
|
-
/**
|
|
344
|
-
* Formats an exhausted-fallback error. `tryFallbackProviders` throws the
|
|
345
|
-
* last fallback provider's error, which may be from any of the configured
|
|
346
|
-
* fallbacks — not the primary — so we label the log with the list of
|
|
347
|
-
* fallback providers attempted rather than mis-attributing to the primary.
|
|
348
|
-
*
|
|
349
|
-
* Entries in `fallbacks` are normally strongly typed, but we defend against
|
|
350
|
-
* malformed runtime config (null/undefined entries, missing `provider`
|
|
351
|
-
* field) so a recoverable summarization failure is never promoted to an
|
|
352
|
-
* uncaught exception from inside the logging path.
|
|
353
|
-
*/
|
|
354
242
|
function describeFallbackError(err, fallbacks) {
|
|
355
243
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
356
244
|
const list = Array.isArray(fallbacks) ? fallbacks : [];
|
|
@@ -376,10 +264,6 @@ function describeFallbackError(err, fallbacks) {
|
|
|
376
264
|
data
|
|
377
265
|
};
|
|
378
266
|
}
|
|
379
|
-
/**
|
|
380
|
-
* Runs the summarization LLM call with primary + fallback providers,
|
|
381
|
-
* falling back to a metadata stub when all calls fail.
|
|
382
|
-
*/
|
|
383
267
|
async function executeSummarizationWithFallback(params) {
|
|
384
268
|
const { agentContext, messages, clientConfig, summarizeConfig, stepId, usePromptCache, log, graph } = params;
|
|
385
269
|
const priorSummaryText = agentContext.getSummaryText()?.trim() ?? "";
|
|
@@ -414,22 +298,7 @@ async function executeSummarizationWithFallback(params) {
|
|
|
414
298
|
...primaryDescribed.data,
|
|
415
299
|
messagesToRefineCount: messages.length
|
|
416
300
|
});
|
|
417
|
-
/**
|
|
418
|
-
* A tripped stream circuit breaker is a safety abort, not a
|
|
419
|
-
* summarization failure to recover from: retrying on fallback providers
|
|
420
|
-
* would spend more provider work after the limit fired, and degrading to
|
|
421
|
-
* the metadata stub would let the run continue (and periodic compaction
|
|
422
|
-
* commit the stub) despite the `StreamLimits` contract that a breach
|
|
423
|
-
* rejects the run. Rethrown so the summarize node fails the run with
|
|
424
|
-
* the actionable limit error, consistent with agent turns and subagents.
|
|
425
|
-
*/
|
|
426
301
|
if (primaryError instanceof StreamLimitExceededError) throw primaryError;
|
|
427
|
-
/** A parallel branch's trip aborts the composed summarization signal,
|
|
428
|
-
* and a provider can surface that as a generic abort error; entering
|
|
429
|
-
* fallback recovery or degrading to the metadata stub would continue
|
|
430
|
-
* work after the run-wide safety abort. Checked on BOTH channels: the
|
|
431
|
-
* graph's own breaker, and the composed config signal that carries a
|
|
432
|
-
* parent run's trip into subagent child graphs. */
|
|
433
302
|
{
|
|
434
303
|
const trippedReason = findStreamLimitAbortReason(graph?.getBreakerSignal?.(), summarizeConfig?.signal);
|
|
435
304
|
if (trippedReason != null) throw trippedReason;
|
|
@@ -474,7 +343,6 @@ async function executeSummarizationWithFallback(params) {
|
|
|
474
343
|
usedMetadataStub
|
|
475
344
|
};
|
|
476
345
|
}
|
|
477
|
-
/** Dispatches run step completion, ON_SUMMARIZE_COMPLETE, and rebuilds token map. */
|
|
478
346
|
async function dispatchCompletionEvents(params) {
|
|
479
347
|
const { graph, runnableConfig, stepId, summaryBlock, agentContext, runStep, summaryUsage, agentId, messagesAfterCount } = params;
|
|
480
348
|
runStep.summary = summaryBlock;
|
|
@@ -512,9 +380,6 @@ async function dispatchCompletionEvents(params) {
|
|
|
512
380
|
}
|
|
513
381
|
agentContext.rebuildTokenMapAfterSummarization({});
|
|
514
382
|
}
|
|
515
|
-
/** Composes the run's breaker signal (when the adapter provides one) into a
|
|
516
|
-
* summarization attempt's config, so breaches in sibling branches cancel
|
|
517
|
-
* summaries too. */
|
|
518
383
|
function withBreakerSignal(config, graph) {
|
|
519
384
|
const breakerSignal = graph?.getBreakerSignal?.();
|
|
520
385
|
if (breakerSignal == null) return config;
|
|
@@ -529,22 +394,11 @@ function withBreakerSignal(config, graph) {
|
|
|
529
394
|
signal: AbortSignal.any([existing, breakerSignal])
|
|
530
395
|
};
|
|
531
396
|
}
|
|
532
|
-
/** First stream-limit reason found on any of the given signals. Checked
|
|
533
|
-
* alongside the graph's own breaker because a subagent child graph receives
|
|
534
|
-
* a ROOT sibling's trip through its constructor/invocation signal — the
|
|
535
|
-
* child's private breaker never fires for it. */
|
|
536
397
|
function findStreamLimitAbortReason(...signals) {
|
|
537
398
|
for (const signal of signals) if (signal?.aborted === true && signal.reason instanceof StreamLimitExceededError) return signal.reason;
|
|
538
399
|
}
|
|
539
400
|
function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId }) {
|
|
540
401
|
return async (state, config) => {
|
|
541
|
-
/** The breaker signal is captured at node ENTRY, before dispatchRunStep,
|
|
542
|
-
* ON_SUMMARIZE_START, or PreCompact awaits: a sibling's trip plus a
|
|
543
|
-
* prompt next run can reset the controller during one of those awaits,
|
|
544
|
-
* and resolving the live accessor later would bind this summarization
|
|
545
|
-
* to the fresh controller. `Object.create` freezes the signal while
|
|
546
|
-
* DELEGATING every other adapter member — spreading would snapshot the
|
|
547
|
-
* charge-credit accessor pair and detach it from graph resets. */
|
|
548
402
|
const entryBreakerController = adapterGraph.getBreakerController?.();
|
|
549
403
|
const entryBreakerSignal = entryBreakerController?.signal ?? adapterGraph.getBreakerSignal?.();
|
|
550
404
|
const entryBreakerEpoch = adapterGraph.getBreakerEpoch?.();
|
|
@@ -554,22 +408,8 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
554
408
|
});
|
|
555
409
|
const request = state.summarizationRequest;
|
|
556
410
|
if (request == null) return { summarizationRequest: void 0 };
|
|
557
|
-
/** Already-tripped-at-entry: a parallel sibling's breach failed the run
|
|
558
|
-
* before this node was scheduled — via this graph's own breaker or, in
|
|
559
|
-
* a subagent child graph, the parent trip on the invocation signal.
|
|
560
|
-
* Rethrow before dispatching steps, hooks, or the model call — an
|
|
561
|
-
* adapter that doesn't synchronously reject an aborted signal would
|
|
562
|
-
* otherwise spend summarization provider work on a failed run. */
|
|
563
411
|
const entryTripReason = findStreamLimitAbortReason(entryBreakerSignal, config?.signal);
|
|
564
412
|
if (entryTripReason != null) throw entryTripReason;
|
|
565
|
-
/**
|
|
566
|
-
* Overflow recovery routes through this node purely to get back to the
|
|
567
|
-
* agent node with a corrected budget, and deliberately spends no model
|
|
568
|
-
* call on its first attempt: re-pruning under the raised context pressure
|
|
569
|
-
* drives the pruner's tool-output compression and masking, which is
|
|
570
|
-
* cheaper than a summary and cannot lose message content. Summarization
|
|
571
|
-
* is also skipped outright when the caller never enabled it.
|
|
572
|
-
*/
|
|
573
413
|
if (request.reason === "overflow" && (request.allowSummarization !== true || agentContext.summarizationEnabled !== true)) {
|
|
574
414
|
emitAgentLog(config, "debug", "summarize", "Overflow recovery re-prune — compressing tool output without a summarization call", {
|
|
575
415
|
maxContextTokens: agentContext.maxContextTokens,
|
|
@@ -593,16 +433,6 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
593
433
|
});
|
|
594
434
|
return { summarizationRequest: void 0 };
|
|
595
435
|
}
|
|
596
|
-
/**
|
|
597
|
-
* Capture the original-tool-content map locally before doing the
|
|
598
|
-
* split. We need it in three places: to restore the head for
|
|
599
|
-
* summarizer quality, to leave intact on the skip path (state is
|
|
600
|
-
* unchanged), and — critically — to carry forward the tail-relevant
|
|
601
|
-
* entries on the summarize-fired path. Clearing it eagerly here
|
|
602
|
-
* would lose the originals for masked tool messages that the
|
|
603
|
-
* recency window keeps in the tail; a future summarization could
|
|
604
|
-
* then only summarize the masked stub instead of the full payload.
|
|
605
|
-
*/
|
|
606
436
|
const originalPending = agentContext.pendingOriginalToolContent;
|
|
607
437
|
const restoredMessages = restoreOriginalToolContent(state.messages, originalPending, agentContext.maxContextTokens);
|
|
608
438
|
const runnableConfig = config ?? graph.config;
|
|
@@ -612,28 +442,8 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
612
442
|
tokens: retainRecent?.tokens,
|
|
613
443
|
tokenCounter: agentContext.tokenCounter
|
|
614
444
|
});
|
|
615
|
-
/**
|
|
616
|
-
* Use the *masked* messages for the retained tail so that any
|
|
617
|
-
* truncation prune applied to oversized ToolMessage content stays
|
|
618
|
-
* truncated in live state. The summarizer above reads the restored
|
|
619
|
-
* (full-content) head for summary quality, but reinjecting restored
|
|
620
|
-
* tool payloads into state would defeat masking and bloat the
|
|
621
|
-
* checkpoint, forcing more expensive re-pruning on later turns.
|
|
622
|
-
* `restoreOriginalToolContent` returns an array with identical
|
|
623
|
-
* length and structure to `state.messages` (replacements only at
|
|
624
|
-
* specific indices), so the same tailStartIndex slices both arrays
|
|
625
|
-
* at the same turn boundary.
|
|
626
|
-
*/
|
|
627
445
|
const messagesToRetain = state.messages.slice(tailStartIndex);
|
|
628
446
|
if (messagesToRefine.length === 0) {
|
|
629
|
-
/**
|
|
630
|
-
* Recency window covers the entire conversation — there is no
|
|
631
|
-
* older content to summarize. Skipping prevents the model from
|
|
632
|
-
* destroying the user's most recent message (e.g. a large pasted
|
|
633
|
-
* payload on the first turn) by replacing it with a generic
|
|
634
|
-
* checkpoint summary. Mark the trigger so the same unchanged
|
|
635
|
-
* state is not re-evaluated on the next prune cycle.
|
|
636
|
-
*/
|
|
637
447
|
emitAgentLog(config, "debug", "summarize", "Summarization skipped — recency window retains all messages", {
|
|
638
448
|
messagesRetained: messagesToRetain.length,
|
|
639
449
|
retainTurns: retainRecent?.turns ?? 2
|
|
@@ -710,36 +520,13 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
710
520
|
metadata: {
|
|
711
521
|
...config.metadata,
|
|
712
522
|
agent_id: request.agentId,
|
|
713
|
-
/** Canonical agent-identity key, overwritten by every component
|
|
714
|
-
* that stamps identity (graph model path, ToolNode, here) so the
|
|
715
|
-
* closest stamper always wins via spread order — Langfuse scope
|
|
716
|
-
* trust relies on it (see `isForeignScope`). */
|
|
717
523
|
agentId: request.agentId,
|
|
718
524
|
summarization_provider: clientConfig.provider,
|
|
719
525
|
summarization_model: clientConfig.modelName,
|
|
720
|
-
/**
|
|
721
|
-
* Per-call model attribution for usage consumers (the subagent
|
|
722
|
-
* usage-capture handler): the summarizer's model can differ from
|
|
723
|
-
* the agent's primary, and providers that emit no `ls_model_name`
|
|
724
|
-
* would otherwise be billed against the primary config's model.
|
|
725
|
-
* Omitted for self-summarize (no explicit model — the primary
|
|
726
|
-
* config fallback is then correct). `tryFallbackProviders`
|
|
727
|
-
* overrides this per fallback attempt; `INVOKED_PROVIDER` is
|
|
728
|
-
* stamped by `attemptInvoke` itself.
|
|
729
|
-
*/
|
|
730
526
|
...clientConfig.modelName != null && clientConfig.modelName !== "" ? { ["__invoked_model"]: clientConfig.modelName } : {},
|
|
731
|
-
/** Entry-captured breaker epoch: the wire consumer epoch-gates
|
|
732
|
-
* old-run summary chunks exactly like model-attempt chunks —
|
|
733
|
-
* without the stamp, a straggling summary from a failed run
|
|
734
|
-
* reads as current and could abort the next run's controller. */
|
|
735
527
|
...entryBreakerEpoch != null ? { [STREAM_LIMIT_EPOCH_KEY]: entryBreakerEpoch } : {}
|
|
736
528
|
}
|
|
737
529
|
} : void 0;
|
|
738
|
-
/** Rechecked after the pre-call awaits (dispatchRunStep,
|
|
739
|
-
* ON_SUMMARIZE_START, PreCompact): a sibling can trip the breaker while
|
|
740
|
-
* this node is paused in one of them, and a provider that doesn't
|
|
741
|
-
* synchronously reject an aborted signal would still start the
|
|
742
|
-
* summarization call. Mirrors the model node's pre-invoke recheck. */
|
|
743
530
|
{
|
|
744
531
|
const preCallTrip = findStreamLimitAbortReason(entryBreakerSignal, config?.signal);
|
|
745
532
|
if (preCallTrip != null) throw preCallTrip;
|
|
@@ -754,22 +541,9 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
754
541
|
log,
|
|
755
542
|
graph
|
|
756
543
|
});
|
|
757
|
-
/**
|
|
758
|
-
* The metadata stub describes the history rather than summarizing it, so
|
|
759
|
-
* committing it means removing the head and keeping nothing of what it
|
|
760
|
-
* said. That trade is never worth making to paper over an overflow: the
|
|
761
|
-
* recovery would "succeed" only by destroying the conversation it was
|
|
762
|
-
* supposed to preserve. Leave state untouched and let the provider error
|
|
763
|
-
* surface instead.
|
|
764
|
-
*/
|
|
765
544
|
if (usedMetadataStub === true && request.reason === "overflow") {
|
|
766
545
|
log("warn", "Overflow summarization failed; keeping history rather than replacing it with a metadata stub");
|
|
767
546
|
agentContext.markSummarizationTriggered(state.messages.length);
|
|
768
|
-
/**
|
|
769
|
-
* The run step was already dispatched, so it has to be resolved here or
|
|
770
|
-
* consumers tracking step lifecycle keep an unfinished placeholder for
|
|
771
|
-
* the rest of the run.
|
|
772
|
-
*/
|
|
773
547
|
await graph.dispatchRunStepCompleted(stepId, {
|
|
774
548
|
type: "summary",
|
|
775
549
|
summary: placeholderSummary
|
|
@@ -827,26 +601,7 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
827
601
|
agentId: request.agentId,
|
|
828
602
|
messagesAfterCount: messagesToRetain.length
|
|
829
603
|
});
|
|
830
|
-
/**
|
|
831
|
-
* `dispatchCompletionEvents` calls `rebuildTokenMapAfterSummarization({})`
|
|
832
|
-
* which resets the dedupe baseline to 0 — correct under the legacy
|
|
833
|
-
* "remove-all only" shape where no messages survived, but stale once
|
|
834
|
-
* the recency window keeps a tail. Realign the baseline to the
|
|
835
|
-
* surviving tail length so a subsequent prune cycle on the unchanged
|
|
836
|
-
* tail short-circuits via `shouldSkipSummarization` instead of
|
|
837
|
-
* looping back into another summarize call.
|
|
838
|
-
*/
|
|
839
604
|
agentContext.markSummarizationTriggered(messagesToRetain.length);
|
|
840
|
-
/**
|
|
841
|
-
* Carry forward the original-content entries that correspond to the
|
|
842
|
-
* retained tail, reindexed for the post-removeAll state where tail
|
|
843
|
-
* messages start at index 0. Without this, a future summarization
|
|
844
|
-
* that pulls these tail messages into its head would only see the
|
|
845
|
-
* masked stubs (since `setSummary` clears `pruneMessages`, and the
|
|
846
|
-
* fresh pruner at the next turn has no record of prior masks).
|
|
847
|
-
* Entries for indices < `tailStartIndex` belong to messages we just
|
|
848
|
-
* summarized — they are no longer reachable so they are dropped.
|
|
849
|
-
*/
|
|
850
605
|
if (originalPending != null && originalPending.size > 0) {
|
|
851
606
|
const tailPending = /* @__PURE__ */ new Map();
|
|
852
607
|
for (const [idx, content] of originalPending) if (idx >= tailStartIndex) tailPending.set(idx - tailStartIndex, content);
|
|
@@ -858,7 +613,6 @@ function createSummarizeNode({ agentContext, graph: adapterGraph, generateStepId
|
|
|
858
613
|
};
|
|
859
614
|
};
|
|
860
615
|
}
|
|
861
|
-
/** Extracts text from an LLM response, skipping reasoning/thinking blocks. */
|
|
862
616
|
function extractResponseText(response) {
|
|
863
617
|
const { content } = response;
|
|
864
618
|
if (typeof content === "string") return content.trim();
|
|
@@ -881,29 +635,10 @@ function buildSummarizationInstruction(promptText, updatePromptText, priorSummar
|
|
|
881
635
|
if (priorSummaryText) parts.push(`\n\n<previous-summary>\n${priorSummaryText}\n</previous-summary>`);
|
|
882
636
|
return parts.join("");
|
|
883
637
|
}
|
|
884
|
-
/** Creates an `onChunk` callback that dispatches `ON_SUMMARIZE_DELTA` events for streaming. */
|
|
885
638
|
function createSummarizationChunkHandler({ stepId, config, provider, reasoningKey = "reasoning_content", graph }) {
|
|
886
639
|
if (stepId == null || stepId === "" || !config) return;
|
|
887
640
|
const limitMetadata = config.metadata;
|
|
888
641
|
return (chunk, attemptMetadata) => {
|
|
889
|
-
/**
|
|
890
|
-
* Charged as `producer` so it PAIRS with the run's registered stream
|
|
891
|
-
* handler: inside a live run the provider callbacks route each chunk
|
|
892
|
-
* through the graph's `on_chat_model_stream` consumer too, and two
|
|
893
|
-
* same-side consumer claims would charge the chunk twice — halving an
|
|
894
|
-
* opt-in event cap. Standalone callers (tests, custom hosts, runs with
|
|
895
|
-
* no registered handler) still get single-sided enforcement from this
|
|
896
|
-
* one claim. Summarization deliberately passes NO `context` to
|
|
897
|
-
* `attemptInvoke`, whose onChunk branch would otherwise add a second
|
|
898
|
-
* producer claim. A breach trips the run's shared breaker (the
|
|
899
|
-
* ENTRY-captured controller when the adapter provides one) before
|
|
900
|
-
* rethrowing: this producer claim wins the race, so the wire consumer's
|
|
901
|
-
* breaker-aborting catch never fires for the same chunk — without the
|
|
902
|
-
* trip here, sibling model calls, tools, and subagents would keep
|
|
903
|
-
* consuming quota while the summary branch rejects.
|
|
904
|
-
* `executeSummarizationWithFallback` then rethrows past fallbacks and
|
|
905
|
-
* the metadata stub, failing the run like any other breach.
|
|
906
|
-
*/
|
|
907
642
|
if (graph != null) try {
|
|
908
643
|
enforceStreamLimitsForWireChunk({
|
|
909
644
|
graph,
|
|
@@ -946,12 +681,6 @@ function traceConfig(config, stage) {
|
|
|
946
681
|
}
|
|
947
682
|
};
|
|
948
683
|
}
|
|
949
|
-
/**
|
|
950
|
-
* Cache-friendly compaction: sends raw conversation messages with the
|
|
951
|
-
* summarization instruction appended as the final HumanMessage.
|
|
952
|
-
* Providers with prompt caching get a cache hit on the system prompt +
|
|
953
|
-
* tool definitions prefix.
|
|
954
|
-
*/
|
|
955
684
|
async function summarizeWithCacheHit({ model, messages, promptText, updatePromptText, priorSummaryText, config, stepId, provider, reasoningKey, graph, usePromptCache, promptCacheTtl, log }) {
|
|
956
685
|
const instruction = buildSummarizationInstruction(promptText, updatePromptText, priorSummaryText);
|
|
957
686
|
const fullMessages = [...messages, new HumanMessage(instruction)];
|
|
@@ -966,8 +695,6 @@ async function summarizeWithCacheHit({ model, messages, promptText, updatePrompt
|
|
|
966
695
|
reasoningKey,
|
|
967
696
|
graph
|
|
968
697
|
}),
|
|
969
|
-
/** Accounting lease only (summarization passes no `context` so its
|
|
970
|
-
* producer claim never stacks with the onChunk handler's). */
|
|
971
698
|
streamLimitState: graph
|
|
972
699
|
}, withBreakerSignal(traceConfig(config, "cache_hit_compaction"), graph))).messages?.[0];
|
|
973
700
|
const text = responseMsg ? extractResponseText(responseMsg) : "";
|