@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
|
@@ -11,20 +11,7 @@ const STREAM_BOUNDARIES = new Set([
|
|
|
11
11
|
":"
|
|
12
12
|
]);
|
|
13
13
|
const STREAM_ABORT_MESSAGE = "AbortError: User aborted the request.";
|
|
14
|
-
/**
|
|
15
|
-
* How long generator teardown waits for the background producer to observe a
|
|
16
|
-
* consumer close before abandoning it. Well-behaved streams settle in
|
|
17
|
-
* microseconds (the next enqueue throws); a stalled provider that ignores
|
|
18
|
-
* aborts otherwise blocks teardown — and abort propagation — indefinitely.
|
|
19
|
-
* An abandoned producer still self-terminates on its next enqueue attempt.
|
|
20
|
-
*/
|
|
21
14
|
const PRODUCER_CLOSE_GRACE_MS = 1e3;
|
|
22
|
-
/**
|
|
23
|
-
* Resolves a configured stream delay to its effective value (default 25ms;
|
|
24
|
-
* 0 disables smoothing). Non-finite inputs (NaN from a malformed config
|
|
25
|
-
* value, ±Infinity) normalize to the default rather than poisoning piece
|
|
26
|
-
* arithmetic downstream.
|
|
27
|
-
*/
|
|
28
15
|
function resolveStreamDelay(delay) {
|
|
29
16
|
if (delay == null || !Number.isFinite(delay)) return 25;
|
|
30
17
|
return Math.max(0, delay);
|
|
@@ -38,27 +25,15 @@ function findStreamChunkBoundary(text, minSize) {
|
|
|
38
25
|
for (let position = minSize; position < scanEnd; position++) if (STREAM_BOUNDARIES.has(text[position])) return position + 1;
|
|
39
26
|
return scanEnd;
|
|
40
27
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Backlog-proportional piece sizing: emit enough per tick that the current
|
|
43
|
-
* backlog drains in ~`targetLatencyMs`, so render lag stays pinned near the
|
|
44
|
-
* target regardless of how fast the provider streams. Token-sized arrivals
|
|
45
|
-
* never exceed the minimum piece, matching the legacy fixed-size splitter.
|
|
46
|
-
*/
|
|
47
28
|
function computeAdaptivePieceSize(bufferedTextLength, tickMs, targetLatencyMs = 250) {
|
|
48
29
|
if (bufferedTextLength <= 0) return 4;
|
|
49
30
|
if (tickMs <= 0 || targetLatencyMs <= 0) return bufferedTextLength;
|
|
50
31
|
return Math.max(4, Math.ceil(bufferedTextLength * tickMs / targetLatencyMs));
|
|
51
32
|
}
|
|
52
|
-
/**
|
|
53
|
-
* A cadence, not an additive sleep: time the consumer already spent since the
|
|
54
|
-
* last visible emission counts against the target delay, so slow downstream
|
|
55
|
-
* handlers never compound latency.
|
|
56
|
-
*/
|
|
57
33
|
function getCadencedStreamDelay({ targetDelay, lastVisibleTextAt, now }) {
|
|
58
34
|
if (targetDelay <= 0 || lastVisibleTextAt == null) return 0;
|
|
59
35
|
return Math.max(0, targetDelay - (now - lastVisibleTextAt));
|
|
60
36
|
}
|
|
61
|
-
/** Abort-aware sleep that resolves (never rejects) on abort; callers re-check the signal. */
|
|
62
37
|
async function waitForStreamDelay(delay, signal) {
|
|
63
38
|
if (delay <= 0 || isSignalAborted(signal)) return;
|
|
64
39
|
await new Promise((resolve) => {
|
|
@@ -76,23 +51,8 @@ async function waitForStreamDelay(delay, signal) {
|
|
|
76
51
|
if (isSignalAborted(signal)) onAbort();
|
|
77
52
|
});
|
|
78
53
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Bounded producer/consumer smoothing engine.
|
|
81
|
-
*
|
|
82
|
-
* The producer drains `source` eagerly into a bounded queue (the buffer is the
|
|
83
|
-
* backlog measurement adaptive sizing needs); at capacity it parks, applying
|
|
84
|
-
* backpressure to the underlying stream. The consumer emits paced pieces,
|
|
85
|
-
* decrementing the text budget and waking the producer *before* each cadenced
|
|
86
|
-
* sleep so the provider stream keeps being read during pacing.
|
|
87
|
-
*
|
|
88
|
-
* `delayMs <= 0` disables smoothing entirely: every item passes through FIFO,
|
|
89
|
-
* unsplit and undelayed.
|
|
90
|
-
*/
|
|
91
54
|
async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
|
|
92
55
|
if (!(delayMs > 0)) {
|
|
93
|
-
/** Disabled smoothing preserves fully lazy streaming: no background
|
|
94
|
-
* producer, no read-ahead — each provider chunk is pulled only when the
|
|
95
|
-
* consumer asks, exactly like the pre-engine pass-through paths. */
|
|
96
56
|
for await (const item of source) {
|
|
97
57
|
if (isSignalAborted(signal)) {
|
|
98
58
|
abortUpstream?.();
|
|
@@ -127,9 +87,6 @@ async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
|
|
|
127
87
|
const hasQueuedItems = () => queuedItemIndex < queuedItems.length;
|
|
128
88
|
const getQueuedItemCount = () => queuedItems.length - queuedItemIndex;
|
|
129
89
|
const isQueueAtCapacity = () => getQueuedItemCount() >= 256 || bufferedTextLength >= 8192;
|
|
130
|
-
/** Abort-aware: a consumer parked on an empty queue must wake when the
|
|
131
|
-
* signal fires even if the provider stream never honors the abort — the
|
|
132
|
-
* loop's top-of-iteration check then throws the canonical error. */
|
|
133
90
|
const waitForNextItem = async () => {
|
|
134
91
|
if (hasQueuedItems() || producerState.done || producerState.failed || isSignalAborted(signal)) return;
|
|
135
92
|
await new Promise((resolve) => {
|
|
@@ -185,14 +142,6 @@ async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
|
|
|
185
142
|
bufferedTextLength += textLength;
|
|
186
143
|
notifyConsumerForItem();
|
|
187
144
|
};
|
|
188
|
-
/**
|
|
189
|
-
* Oversized splittable items are segmented at admission so a single giant
|
|
190
|
-
* provider chunk cannot blow past the text budget: each segment re-checks
|
|
191
|
-
* capacity, so the producer parks mid-chunk once the buffer fills — the
|
|
192
|
-
* same bound the legacy split-before-enqueue queues enforced. The wrapped
|
|
193
|
-
* emit maps segment-local pieces back to chunk-global isFirst/isLast so
|
|
194
|
-
* provider clone contracts are unaffected.
|
|
195
|
-
*/
|
|
196
145
|
const enqueueSegmented = async (item) => {
|
|
197
146
|
if (!item.smooth || item.atomic === true || item.text.length <= 4096) {
|
|
198
147
|
await enqueue(item);
|
|
@@ -272,9 +221,6 @@ async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
|
|
|
272
221
|
current = void 0;
|
|
273
222
|
continue;
|
|
274
223
|
}
|
|
275
|
-
/** Once the producer is done the backlog is final: drain it linearly
|
|
276
|
-
* across the remaining target window instead of letting the
|
|
277
|
-
* proportional formula decay geometrically and stretch the tail. */
|
|
278
224
|
if (producerState.done && drainTicksRemaining == null) drainTicksRemaining = Math.max(1, Math.floor(250 / delayMs));
|
|
279
225
|
const tickBudget = drainTicksRemaining != null ? Math.max(4, Math.ceil(bufferedTextLength / drainTicksRemaining)) : computeAdaptivePieceSize(bufferedTextLength, delayMs);
|
|
280
226
|
if (drainTicksRemaining != null && drainTicksRemaining > 1) drainTicksRemaining -= 1;
|
|
@@ -297,10 +243,6 @@ async function* smoothStream({ source, delayMs, signal, abortUpstream }) {
|
|
|
297
243
|
});
|
|
298
244
|
continue;
|
|
299
245
|
}
|
|
300
|
-
/** One cadence tick drains up to the adaptive budget ACROSS queued
|
|
301
|
-
* items, so token-sized provider deltas coalesce instead of costing a
|
|
302
|
-
* full tick each; passthrough items flush free mid-batch (FIFO), and
|
|
303
|
-
* atomic items end the batch to take their own tick. */
|
|
304
246
|
let consumed = 0;
|
|
305
247
|
while (consumed < tickBudget) {
|
|
306
248
|
if (isSignalAborted(signal)) throwAborted();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoother.mjs","names":["iterator"],"sources":["../../../../src/llm/stream/smoother.ts"],"sourcesContent":["export const DEFAULT_STREAM_DELAY = 25;\nexport const SMOOTH_TARGET_LATENCY_MS = 250;\nexport const MAX_STREAM_QUEUE_CHUNKS = 256;\nexport const MAX_STREAM_QUEUE_TEXT_CHARS = 8192;\nexport const MAX_SMOOTH_ITEM_SEGMENT_CHARS = 4096;\nexport const STREAM_CHUNK_MIN_SIZE = 4;\nexport const STREAM_BOUNDARIES: ReadonlySet<string> = new Set([\n ' ',\n '.',\n ',',\n '!',\n '?',\n ';',\n ':',\n]);\n\nexport const STREAM_ABORT_MESSAGE = 'AbortError: User aborted the request.';\nexport const STREAM_PRODUCER_FAILURE = 'Stream producer failed.';\n\n/**\n * How long generator teardown waits for the background producer to observe a\n * consumer close before abandoning it. Well-behaved streams settle in\n * microseconds (the next enqueue throws); a stalled provider that ignores\n * aborts otherwise blocks teardown — and abort propagation — indefinitely.\n * An abandoned producer still self-terminates on its next enqueue attempt.\n */\nexport const PRODUCER_CLOSE_GRACE_MS = 1000;\n\n/**\n * Resolves a configured stream delay to its effective value (default 25ms;\n * 0 disables smoothing). Non-finite inputs (NaN from a malformed config\n * value, ±Infinity) normalize to the default rather than poisoning piece\n * arithmetic downstream.\n */\nexport function resolveStreamDelay(delay?: number): number {\n if (delay == null || !Number.isFinite(delay)) {\n return DEFAULT_STREAM_DELAY;\n }\n return Math.max(0, delay);\n}\n\nexport function isSignalAborted(signal?: AbortSignal): boolean {\n return signal?.aborted === true;\n}\n\n/**\n * How far past the target size the word-boundary search may extend before\n * hard-cutting. Natural language hits a boundary within a few characters;\n * boundary-free runs (base64, minified data, long identifiers) must not\n * stretch a piece — or an admission segment — arbitrarily far past its\n * budget.\n */\nexport const STREAM_BOUNDARY_LOOKAHEAD_CHARS = 64;\n\nexport function findStreamChunkBoundary(\n text: string,\n minSize: number\n): number {\n if (minSize >= text.length) {\n return text.length;\n }\n\n const scanEnd = Math.min(\n text.length,\n minSize + STREAM_BOUNDARY_LOOKAHEAD_CHARS\n );\n for (let position = minSize; position < scanEnd; position++) {\n if (STREAM_BOUNDARIES.has(text[position])) {\n return position + 1;\n }\n }\n\n return scanEnd;\n}\n\n/**\n * Backlog-proportional piece sizing: emit enough per tick that the current\n * backlog drains in ~`targetLatencyMs`, so render lag stays pinned near the\n * target regardless of how fast the provider streams. Token-sized arrivals\n * never exceed the minimum piece, matching the legacy fixed-size splitter.\n */\nexport function computeAdaptivePieceSize(\n bufferedTextLength: number,\n tickMs: number,\n targetLatencyMs: number = SMOOTH_TARGET_LATENCY_MS\n): number {\n if (bufferedTextLength <= 0) {\n return STREAM_CHUNK_MIN_SIZE;\n }\n if (tickMs <= 0 || targetLatencyMs <= 0) {\n return bufferedTextLength;\n }\n return Math.max(\n STREAM_CHUNK_MIN_SIZE,\n Math.ceil((bufferedTextLength * tickMs) / targetLatencyMs)\n );\n}\n\n/**\n * A cadence, not an additive sleep: time the consumer already spent since the\n * last visible emission counts against the target delay, so slow downstream\n * handlers never compound latency.\n */\nexport function getCadencedStreamDelay({\n targetDelay,\n lastVisibleTextAt,\n now,\n}: {\n targetDelay: number;\n lastVisibleTextAt?: number;\n now: number;\n}): number {\n if (targetDelay <= 0 || lastVisibleTextAt == null) {\n return 0;\n }\n return Math.max(0, targetDelay - (now - lastVisibleTextAt));\n}\n\n/** Abort-aware sleep that resolves (never rejects) on abort; callers re-check the signal. */\nexport async function waitForStreamDelay(\n delay: number,\n signal?: AbortSignal\n): Promise<void> {\n if (delay <= 0 || isSignalAborted(signal)) {\n return;\n }\n await new Promise<void>((resolve) => {\n const timeoutRef: { current?: ReturnType<typeof setTimeout> } = {};\n const onAbort = (): void => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n signal?.removeEventListener('abort', onAbort);\n resolve();\n };\n timeoutRef.current = setTimeout(() => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n }, delay);\n signal?.addEventListener('abort', onAbort, { once: true });\n if (isSignalAborted(signal)) {\n onAbort();\n }\n });\n}\n\nexport type SmoothPiece = {\n text: string;\n isFirst: boolean;\n isLast: boolean;\n};\n\n/**\n * One classified unit of provider stream output.\n *\n * - `smooth: true` — visible text, paced at the configured cadence and (unless\n * `atomic`) sliced adaptively at dequeue time.\n * - `atomic: true` — paced as a single piece, never split (text-bearing chunks\n * whose metadata cannot survive slicing, e.g. logprobs / finish_reason).\n * - `smooth: false` — passthrough: tool-call deltas, usage-only, id-only and\n * seal chunks. Zero delay, strict FIFO with the text around them.\n *\n * `emit` builds the provider-specific output for one piece; `isFirst` lets\n * providers keep usage_metadata on only the first piece of a split.\n */\nexport type SmoothItem<TEmit> = {\n text: string;\n smooth: boolean;\n atomic?: boolean;\n emit: (piece: SmoothPiece) => TEmit;\n};\n\ntype ProducerState = {\n done: boolean;\n failed: boolean;\n error?: unknown;\n};\n\ntype QueuedSmoothItem<TEmit> = {\n item: SmoothItem<TEmit>;\n textLength: number;\n};\n\n/**\n * Bounded producer/consumer smoothing engine.\n *\n * The producer drains `source` eagerly into a bounded queue (the buffer is the\n * backlog measurement adaptive sizing needs); at capacity it parks, applying\n * backpressure to the underlying stream. The consumer emits paced pieces,\n * decrementing the text budget and waking the producer *before* each cadenced\n * sleep so the provider stream keeps being read during pacing.\n *\n * `delayMs <= 0` disables smoothing entirely: every item passes through FIFO,\n * unsplit and undelayed.\n */\nexport async function* smoothStream<TEmit>({\n source,\n delayMs,\n signal,\n abortUpstream,\n}: {\n source: AsyncIterable<SmoothItem<TEmit>>;\n delayMs: number;\n signal?: AbortSignal;\n abortUpstream?: () => void;\n}): AsyncGenerator<TEmit> {\n if (!(delayMs > 0)) {\n /** Disabled smoothing preserves fully lazy streaming: no background\n * producer, no read-ahead — each provider chunk is pulled only when the\n * consumer asks, exactly like the pre-engine pass-through paths. */\n for await (const item of source) {\n if (isSignalAborted(signal)) {\n abortUpstream?.();\n throw new Error(STREAM_ABORT_MESSAGE);\n }\n yield item.emit({ text: item.text, isFirst: true, isLast: true });\n }\n return;\n }\n\n const queuedItems: QueuedSmoothItem<TEmit>[] = [];\n const producerState: ProducerState = { done: false, failed: false };\n let queuedItemIndex = 0;\n let bufferedTextLength = 0;\n let consumerClosed = false;\n let notifyConsumer: (() => void) | undefined;\n let notifyProducer: (() => void) | undefined;\n\n const notifyConsumerForItem = (): void => {\n notifyConsumer?.();\n notifyConsumer = undefined;\n };\n\n const notifyProducerForSpace = (): void => {\n notifyProducer?.();\n notifyProducer = undefined;\n };\n\n const hasQueuedItems = (): boolean => queuedItemIndex < queuedItems.length;\n\n const getQueuedItemCount = (): number =>\n queuedItems.length - queuedItemIndex;\n\n const isQueueAtCapacity = (): boolean =>\n getQueuedItemCount() >= MAX_STREAM_QUEUE_CHUNKS ||\n bufferedTextLength >= MAX_STREAM_QUEUE_TEXT_CHARS;\n\n /** Abort-aware: a consumer parked on an empty queue must wake when the\n * signal fires even if the provider stream never honors the abort — the\n * loop's top-of-iteration check then throws the canonical error. */\n const waitForNextItem = async (): Promise<void> => {\n if (\n hasQueuedItems() ||\n producerState.done ||\n producerState.failed ||\n isSignalAborted(signal)\n ) {\n return;\n }\n await new Promise<void>((resolve) => {\n const onAbort = (): void => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n };\n notifyConsumer = (): void => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n };\n signal?.addEventListener('abort', onAbort, { once: true });\n if (isSignalAborted(signal)) {\n onAbort();\n }\n });\n };\n\n const waitForQueueSpace = async (): Promise<void> => {\n while (\n isQueueAtCapacity() &&\n !consumerClosed &&\n !isSignalAborted(signal)\n ) {\n await new Promise<void>((resolve) => {\n const onAbort = (): void => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n };\n const onSpace = (): void => {\n signal?.removeEventListener('abort', onAbort);\n resolve();\n };\n notifyProducer = onSpace;\n signal?.addEventListener('abort', onAbort, { once: true });\n if (isSignalAborted(signal)) {\n onAbort();\n }\n });\n }\n };\n\n const dequeue = (): QueuedSmoothItem<TEmit> | undefined => {\n if (!hasQueuedItems()) {\n return undefined;\n }\n const queuedItem = queuedItems[queuedItemIndex];\n queuedItemIndex++;\n if (queuedItemIndex > 128 && queuedItemIndex * 2 >= queuedItems.length) {\n queuedItems.splice(0, queuedItemIndex);\n queuedItemIndex = 0;\n }\n return queuedItem;\n };\n\n const throwAborted = (): never => {\n abortUpstream?.();\n throw new Error(STREAM_ABORT_MESSAGE);\n };\n\n const enqueue = async (item: SmoothItem<TEmit>): Promise<void> => {\n await waitForQueueSpace();\n if (consumerClosed || isSignalAborted(signal)) {\n throwAborted();\n }\n const textLength = item.smooth ? item.text.length : 0;\n queuedItems.push({ item, textLength });\n bufferedTextLength += textLength;\n notifyConsumerForItem();\n };\n\n /**\n * Oversized splittable items are segmented at admission so a single giant\n * provider chunk cannot blow past the text budget: each segment re-checks\n * capacity, so the producer parks mid-chunk once the buffer fills — the\n * same bound the legacy split-before-enqueue queues enforced. The wrapped\n * emit maps segment-local pieces back to chunk-global isFirst/isLast so\n * provider clone contracts are unaffected.\n */\n const enqueueSegmented = async (item: SmoothItem<TEmit>): Promise<void> => {\n if (\n !item.smooth ||\n item.atomic === true ||\n item.text.length <= MAX_SMOOTH_ITEM_SEGMENT_CHARS\n ) {\n await enqueue(item);\n return;\n }\n\n const segments: { start: number; end: number }[] = [];\n let offset = 0;\n while (offset < item.text.length) {\n const end =\n offset +\n findStreamChunkBoundary(\n item.text.slice(offset),\n MAX_SMOOTH_ITEM_SEGMENT_CHARS\n );\n segments.push({ start: offset, end });\n offset = end;\n }\n\n for (let i = 0; i < segments.length; i++) {\n const isFirstSegment = i === 0;\n const isLastSegment = i === segments.length - 1;\n await enqueue({\n text: item.text.slice(segments[i].start, segments[i].end),\n smooth: true,\n emit: (piece) =>\n item.emit({\n text: piece.text,\n isFirst: isFirstSegment && piece.isFirst,\n isLast: isLastSegment && piece.isLast,\n }),\n });\n }\n };\n\n const producer = (async (): Promise<void> => {\n try {\n for await (const item of source) {\n if (isSignalAborted(signal)) {\n throwAborted();\n }\n await enqueueSegmented(item);\n }\n } catch (error) {\n producerState.failed = true;\n producerState.error = error;\n } finally {\n producerState.done = true;\n notifyConsumerForItem();\n }\n })();\n\n let hasEmittedText = false;\n let lastVisibleTextAt: number | undefined;\n let drainTicksRemaining: number | undefined;\n let current: QueuedSmoothItem<TEmit> | undefined;\n let headOffset = 0;\n let keepStreaming = true;\n try {\n while (keepStreaming) {\n if (isSignalAborted(signal)) {\n throwAborted();\n }\n\n if (current == null) {\n await waitForNextItem();\n current = dequeue();\n headOffset = 0;\n }\n\n if (current == null) {\n if (producerState.failed) {\n throw producerState.error ?? new Error(STREAM_PRODUCER_FAILURE);\n }\n if (producerState.done) {\n keepStreaming = false;\n }\n continue;\n }\n\n const { item } = current;\n\n if (!item.smooth) {\n notifyProducerForSpace();\n current = undefined;\n yield item.emit({ text: item.text, isFirst: true, isLast: true });\n continue;\n }\n\n if (item.text === '') {\n bufferedTextLength = Math.max(\n 0,\n bufferedTextLength - current.textLength\n );\n notifyProducerForSpace();\n current = undefined;\n continue;\n }\n\n /** Once the producer is done the backlog is final: drain it linearly\n * across the remaining target window instead of letting the\n * proportional formula decay geometrically and stretch the tail. */\n if (producerState.done && drainTicksRemaining == null) {\n drainTicksRemaining = Math.max(\n 1,\n Math.floor(SMOOTH_TARGET_LATENCY_MS / delayMs)\n );\n }\n const tickBudget =\n drainTicksRemaining != null\n ? Math.max(\n STREAM_CHUNK_MIN_SIZE,\n Math.ceil(bufferedTextLength / drainTicksRemaining)\n )\n : computeAdaptivePieceSize(bufferedTextLength, delayMs);\n if (drainTicksRemaining != null && drainTicksRemaining > 1) {\n drainTicksRemaining -= 1;\n }\n\n await waitForStreamDelay(\n getCadencedStreamDelay({\n targetDelay: hasEmittedText ? delayMs : 0,\n lastVisibleTextAt,\n now: Date.now(),\n }),\n signal\n );\n if (isSignalAborted(signal)) {\n throwAborted();\n }\n hasEmittedText = true;\n lastVisibleTextAt = Date.now();\n\n if (item.atomic === true) {\n bufferedTextLength = Math.max(\n 0,\n bufferedTextLength - current.textLength\n );\n notifyProducerForSpace();\n current = undefined;\n yield item.emit({ text: item.text, isFirst: true, isLast: true });\n continue;\n }\n\n /** One cadence tick drains up to the adaptive budget ACROSS queued\n * items, so token-sized provider deltas coalesce instead of costing a\n * full tick each; passthrough items flush free mid-batch (FIFO), and\n * atomic items end the batch to take their own tick. */\n let consumed = 0;\n while (consumed < tickBudget) {\n if (isSignalAborted(signal)) {\n throwAborted();\n }\n if (current == null) {\n if (!hasQueuedItems()) {\n break;\n }\n current = dequeue();\n headOffset = 0;\n if (current == null) {\n break;\n }\n }\n\n const batchItem = current.item;\n if (!batchItem.smooth) {\n notifyProducerForSpace();\n current = undefined;\n yield batchItem.emit({\n text: batchItem.text,\n isFirst: true,\n isLast: true,\n });\n continue;\n }\n if (batchItem.text === '') {\n bufferedTextLength = Math.max(\n 0,\n bufferedTextLength - current.textLength\n );\n notifyProducerForSpace();\n current = undefined;\n continue;\n }\n if (batchItem.atomic === true) {\n break;\n }\n\n const remainingText = batchItem.text.slice(headOffset);\n const pieceLength = findStreamChunkBoundary(\n remainingText,\n tickBudget - consumed\n );\n const pieceEnd = headOffset + pieceLength;\n const piece = batchItem.text.slice(headOffset, pieceEnd);\n const isFirst = headOffset === 0;\n const isLast = pieceEnd === batchItem.text.length;\n\n bufferedTextLength = Math.max(0, bufferedTextLength - piece.length);\n notifyProducerForSpace();\n if (isLast) {\n current = undefined;\n } else {\n headOffset = pieceEnd;\n }\n consumed += piece.length;\n yield batchItem.emit({ text: piece, isFirst, isLast });\n }\n }\n } finally {\n consumerClosed = true;\n if (producerState.done) {\n await producer;\n } else {\n abortUpstream?.();\n notifyProducerForSpace();\n const iterator = source as Partial<AsyncGenerator<SmoothItem<TEmit>>>;\n const closing = iterator.return?.call(source, undefined as never);\n if (closing != null) {\n void closing.then(\n () => undefined,\n () => undefined\n );\n }\n await Promise.race([\n producer,\n new Promise<void>((resolve) => {\n const timeout = setTimeout(resolve, PRODUCER_CLOSE_GRACE_MS);\n timeout.unref();\n }),\n ]);\n }\n }\n}\n"],"mappings":";AAAA,MAAa,uBAAuB;AAIpC,MAAa,gCAAgC;AAE7C,MAAa,oBAAyC,IAAI,IAAI;CAC5D;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAa,uBAAuB;;;;;;;;AAUpC,MAAa,0BAA0B;;;;;;;AAQvC,SAAgB,mBAAmB,OAAwB;CACzD,IAAI,SAAS,QAAQ,CAAC,OAAO,SAAS,KAAK,GACzC,OAAA;CAEF,OAAO,KAAK,IAAI,GAAG,KAAK;AAC1B;AAEA,SAAgB,gBAAgB,QAA+B;CAC7D,OAAO,QAAQ,YAAY;AAC7B;AAWA,SAAgB,wBACd,MACA,SACQ;CACR,IAAI,WAAW,KAAK,QAClB,OAAO,KAAK;CAGd,MAAM,UAAU,KAAK,IACnB,KAAK,QACL,UAAA,EACF;CACA,KAAK,IAAI,WAAW,SAAS,WAAW,SAAS,YAC/C,IAAI,kBAAkB,IAAI,KAAK,SAAS,GACtC,OAAO,WAAW;CAItB,OAAO;AACT;;;;;;;AAQA,SAAgB,yBACd,oBACA,QACA,kBAAA,KACQ;CACR,IAAI,sBAAsB,GACxB,OAAA;CAEF,IAAI,UAAU,KAAK,mBAAmB,GACpC,OAAO;CAET,OAAO,KAAK,IAAA,GAEV,KAAK,KAAM,qBAAqB,SAAU,eAAe,CAC3D;AACF;;;;;;AAOA,SAAgB,uBAAuB,EACrC,aACA,mBACA,OAKS;CACT,IAAI,eAAe,KAAK,qBAAqB,MAC3C,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,eAAe,MAAM,kBAAkB;AAC5D;;AAGA,eAAsB,mBACpB,OACA,QACe;CACf,IAAI,SAAS,KAAK,gBAAgB,MAAM,GACtC;CAEF,MAAM,IAAI,SAAe,YAAY;EACnC,MAAM,aAA0D,CAAC;EACjE,MAAM,gBAAsB;GAC1B,IAAI,WAAW,SACb,aAAa,WAAW,OAAO;GAEjC,QAAQ,oBAAoB,SAAS,OAAO;GAC5C,QAAQ;EACV;EACA,WAAW,UAAU,iBAAiB;GACpC,QAAQ,oBAAoB,SAAS,OAAO;GAC5C,QAAQ;EACV,GAAG,KAAK;EACR,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;EACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;CAEZ,CAAC;AACH;;;;;;;;;;;;;AAmDA,gBAAuB,aAAoB,EACzC,QACA,SACA,QACA,iBAMwB;CACxB,IAAI,EAAE,UAAU,IAAI;;;;EAIlB,WAAW,MAAM,QAAQ,QAAQ;GAC/B,IAAI,gBAAgB,MAAM,GAAG;IAC3B,gBAAgB;IAChB,MAAM,IAAI,MAAM,oBAAoB;GACtC;GACA,MAAM,KAAK,KAAK;IAAE,MAAM,KAAK;IAAM,SAAS;IAAM,QAAQ;GAAK,CAAC;EAClE;EACA;CACF;CAEA,MAAM,cAAyC,CAAC;CAChD,MAAM,gBAA+B;EAAE,MAAM;EAAO,QAAQ;CAAM;CAClE,IAAI,kBAAkB;CACtB,IAAI,qBAAqB;CACzB,IAAI,iBAAiB;CACrB,IAAI;CACJ,IAAI;CAEJ,MAAM,8BAAoC;EACxC,iBAAiB;EACjB,iBAAiB,KAAA;CACnB;CAEA,MAAM,+BAAqC;EACzC,iBAAiB;EACjB,iBAAiB,KAAA;CACnB;CAEA,MAAM,uBAAgC,kBAAkB,YAAY;CAEpE,MAAM,2BACJ,YAAY,SAAS;CAEvB,MAAM,0BACJ,mBAAmB,KAAA,OACnB,sBAAA;;;;CAKF,MAAM,kBAAkB,YAA2B;EACjD,IACE,eAAe,KACf,cAAc,QACd,cAAc,UACd,gBAAgB,MAAM,GAEtB;EAEF,MAAM,IAAI,SAAe,YAAY;GACnC,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,uBAA6B;IAC3B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;GACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;EAEZ,CAAC;CACH;CAEA,MAAM,oBAAoB,YAA2B;EACnD,OACE,kBAAkB,KAClB,CAAC,kBACD,CAAC,gBAAgB,MAAM,GAEvB,MAAM,IAAI,SAAe,YAAY;GACnC,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,MAAM,gBAAsB;IAC1B,QAAQ,oBAAoB,SAAS,OAAO;IAC5C,QAAQ;GACV;GACA,iBAAiB;GACjB,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;GACzD,IAAI,gBAAgB,MAAM,GACxB,QAAQ;EAEZ,CAAC;CAEL;CAEA,MAAM,gBAAqD;EACzD,IAAI,CAAC,eAAe,GAClB;EAEF,MAAM,aAAa,YAAY;EAC/B;EACA,IAAI,kBAAkB,OAAO,kBAAkB,KAAK,YAAY,QAAQ;GACtE,YAAY,OAAO,GAAG,eAAe;GACrC,kBAAkB;EACpB;EACA,OAAO;CACT;CAEA,MAAM,qBAA4B;EAChC,gBAAgB;EAChB,MAAM,IAAI,MAAM,oBAAoB;CACtC;CAEA,MAAM,UAAU,OAAO,SAA2C;EAChE,MAAM,kBAAkB;EACxB,IAAI,kBAAkB,gBAAgB,MAAM,GAC1C,aAAa;EAEf,MAAM,aAAa,KAAK,SAAS,KAAK,KAAK,SAAS;EACpD,YAAY,KAAK;GAAE;GAAM;EAAW,CAAC;EACrC,sBAAsB;EACtB,sBAAsB;CACxB;;;;;;;;;CAUA,MAAM,mBAAmB,OAAO,SAA2C;EACzE,IACE,CAAC,KAAK,UACN,KAAK,WAAW,QAChB,KAAK,KAAK,UAAA,MACV;GACA,MAAM,QAAQ,IAAI;GAClB;EACF;EAEA,MAAM,WAA6C,CAAC;EACpD,IAAI,SAAS;EACb,OAAO,SAAS,KAAK,KAAK,QAAQ;GAChC,MAAM,MACJ,SACA,wBACE,KAAK,KAAK,MAAM,MAAM,GACtB,6BACF;GACF,SAAS,KAAK;IAAE,OAAO;IAAQ;GAAI,CAAC;GACpC,SAAS;EACX;EAEA,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;GACxC,MAAM,iBAAiB,MAAM;GAC7B,MAAM,gBAAgB,MAAM,SAAS,SAAS;GAC9C,MAAM,QAAQ;IACZ,MAAM,KAAK,KAAK,MAAM,SAAS,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,GAAG;IACxD,QAAQ;IACR,OAAO,UACL,KAAK,KAAK;KACR,MAAM,MAAM;KACZ,SAAS,kBAAkB,MAAM;KACjC,QAAQ,iBAAiB,MAAM;IACjC,CAAC;GACL,CAAC;EACH;CACF;CAEA,MAAM,YAAY,YAA2B;EAC3C,IAAI;GACF,WAAW,MAAM,QAAQ,QAAQ;IAC/B,IAAI,gBAAgB,MAAM,GACxB,aAAa;IAEf,MAAM,iBAAiB,IAAI;GAC7B;EACF,SAAS,OAAO;GACd,cAAc,SAAS;GACvB,cAAc,QAAQ;EACxB,UAAU;GACR,cAAc,OAAO;GACrB,sBAAsB;EACxB;CACF,EAAA,CAAG;CAEH,IAAI,iBAAiB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,aAAa;CACjB,IAAI,gBAAgB;CACpB,IAAI;EACF,OAAO,eAAe;GACpB,IAAI,gBAAgB,MAAM,GACxB,aAAa;GAGf,IAAI,WAAW,MAAM;IACnB,MAAM,gBAAgB;IACtB,UAAU,QAAQ;IAClB,aAAa;GACf;GAEA,IAAI,WAAW,MAAM;IACnB,IAAI,cAAc,QAChB,MAAM,cAAc,yBAAS,IAAI,MAAA,yBAA6B;IAEhE,IAAI,cAAc,MAChB,gBAAgB;IAElB;GACF;GAEA,MAAM,EAAE,SAAS;GAEjB,IAAI,CAAC,KAAK,QAAQ;IAChB,uBAAuB;IACvB,UAAU,KAAA;IACV,MAAM,KAAK,KAAK;KAAE,MAAM,KAAK;KAAM,SAAS;KAAM,QAAQ;IAAK,CAAC;IAChE;GACF;GAEA,IAAI,KAAK,SAAS,IAAI;IACpB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;IACA,uBAAuB;IACvB,UAAU,KAAA;IACV;GACF;;;;GAKA,IAAI,cAAc,QAAQ,uBAAuB,MAC/C,sBAAsB,KAAK,IACzB,GACA,KAAK,MAAA,MAAiC,OAAO,CAC/C;GAEF,MAAM,aACJ,uBAAuB,OACnB,KAAK,IAAA,GAEL,KAAK,KAAK,qBAAqB,mBAAmB,CACpD,IACE,yBAAyB,oBAAoB,OAAO;GAC1D,IAAI,uBAAuB,QAAQ,sBAAsB,GACvD,uBAAuB;GAGzB,MAAM,mBACJ,uBAAuB;IACrB,aAAa,iBAAiB,UAAU;IACxC;IACA,KAAK,KAAK,IAAI;GAChB,CAAC,GACD,MACF;GACA,IAAI,gBAAgB,MAAM,GACxB,aAAa;GAEf,iBAAiB;GACjB,oBAAoB,KAAK,IAAI;GAE7B,IAAI,KAAK,WAAW,MAAM;IACxB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;IACA,uBAAuB;IACvB,UAAU,KAAA;IACV,MAAM,KAAK,KAAK;KAAE,MAAM,KAAK;KAAM,SAAS;KAAM,QAAQ;IAAK,CAAC;IAChE;GACF;;;;;GAMA,IAAI,WAAW;GACf,OAAO,WAAW,YAAY;IAC5B,IAAI,gBAAgB,MAAM,GACxB,aAAa;IAEf,IAAI,WAAW,MAAM;KACnB,IAAI,CAAC,eAAe,GAClB;KAEF,UAAU,QAAQ;KAClB,aAAa;KACb,IAAI,WAAW,MACb;IAEJ;IAEA,MAAM,YAAY,QAAQ;IAC1B,IAAI,CAAC,UAAU,QAAQ;KACrB,uBAAuB;KACvB,UAAU,KAAA;KACV,MAAM,UAAU,KAAK;MACnB,MAAM,UAAU;MAChB,SAAS;MACT,QAAQ;KACV,CAAC;KACD;IACF;IACA,IAAI,UAAU,SAAS,IAAI;KACzB,qBAAqB,KAAK,IACxB,GACA,qBAAqB,QAAQ,UAC/B;KACA,uBAAuB;KACvB,UAAU,KAAA;KACV;IACF;IACA,IAAI,UAAU,WAAW,MACvB;IAIF,MAAM,cAAc,wBADE,UAAU,KAAK,MAAM,UAE7B,GACZ,aAAa,QACf;IACA,MAAM,WAAW,aAAa;IAC9B,MAAM,QAAQ,UAAU,KAAK,MAAM,YAAY,QAAQ;IACvD,MAAM,UAAU,eAAe;IAC/B,MAAM,SAAS,aAAa,UAAU,KAAK;IAE3C,qBAAqB,KAAK,IAAI,GAAG,qBAAqB,MAAM,MAAM;IAClE,uBAAuB;IACvB,IAAI,QACF,UAAU,KAAA;SAEV,aAAa;IAEf,YAAY,MAAM;IAClB,MAAM,UAAU,KAAK;KAAE,MAAM;KAAO;KAAS;IAAO,CAAC;GACvD;EACF;CACF,UAAU;EACR,iBAAiB;EACjB,IAAI,cAAc,MAChB,MAAM;OACD;GACL,gBAAgB;GAChB,uBAAuB;GAEvB,MAAM,UAAUA,OAAS,QAAQ,KAAK,QAAQ,KAAA,CAAkB;GAChE,IAAI,WAAW,MACb,QAAa,WACL,KAAA,SACA,KAAA,CACR;GAEF,MAAM,QAAQ,KAAK,CACjB,UACA,IAAI,SAAe,YAAY;IAE7B,WAD2B,SAAS,uBAC9B,CAAC,CAAC,MAAM;GAChB,CAAC,CACH,CAAC;EACH;CACF;AACF"}
|
|
1
|
+
{"version":3,"file":"smoother.mjs","names":["iterator"],"sources":["../../../../src/llm/stream/smoother.ts"],"mappings":"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"}
|