@librechat/agents 3.4.6 → 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 +5 -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 +5 -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/llm/google/utils/common.ts +6 -4
- 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 -185
- package/src/llm/invoke.alternation.test.ts +0 -87
- package/src/llm/invoke.handoffCue.test.ts +0 -112
- package/src/llm/invoke.streamLimits.test.ts +0 -142
- package/src/llm/invoke.test.ts +0 -1198
- package/src/llm/mistral/streamSmoothing.test.ts +0 -97
- package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
- package/src/llm/openai/contentBlocks.test.ts +0 -381
- package/src/llm/openai/deepseek.test.ts +0 -747
- package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
- package/src/llm/openai/inherited-xai.spec.ts +0 -416
- package/src/llm/openai/llm.spec.ts +0 -1774
- package/src/llm/openai/managedRequests.test.ts +0 -182
- package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
- package/src/llm/openai/streamMetadata.spec.ts +0 -86
- package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
- package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
- package/src/llm/openai/utils/messages.test.ts +0 -488
- package/src/llm/openrouter/reasoning.test.ts +0 -561
- package/src/llm/openrouter/toolCache.test.ts +0 -134
- package/src/llm/preempt.test.ts +0 -323
- package/src/llm/stream/chunkAdapters.test.ts +0 -202
- package/src/llm/stream/reassembly.test.ts +0 -241
- package/src/llm/stream/smoother.bench.test.ts +0 -155
- package/src/llm/stream/smoother.test.ts +0 -519
- package/src/llm/streamLimits.test.ts +0 -450
- package/src/llm/truncation.test.ts +0 -242
- package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
- package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
- package/src/llm/vertexai/llm.spec.ts +0 -159
- package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
- package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
- package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
- package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
- package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
- package/src/messages/__tests__/observationMasking.test.ts +0 -312
- package/src/messages/__tests__/recency.test.ts +0 -267
- package/src/messages/__tests__/tools.test.ts +0 -473
- package/src/messages/alternation.test.ts +0 -212
- package/src/messages/assistantPhase.test.ts +0 -75
- package/src/messages/cache.tail.test.ts +0 -533
- package/src/messages/cache.test.ts +0 -2166
- package/src/messages/content.test.ts +0 -362
- package/src/messages/contextPruning.test.ts +0 -184
- package/src/messages/ensureThinkingBlock.test.ts +0 -1427
- package/src/messages/foldToollessToolBlocks.test.ts +0 -596
- package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
- package/src/messages/formatAgentMessages.skills.test.ts +0 -513
- package/src/messages/formatAgentMessages.steer.test.ts +0 -598
- package/src/messages/formatAgentMessages.test.ts +0 -8111
- package/src/messages/formatAgentMessages.tools.test.ts +0 -522
- package/src/messages/formatMessage.test.ts +0 -693
- package/src/messages/handoffCue.test.ts +0 -96
- package/src/messages/injected.test.ts +0 -107
- package/src/messages/labelContentByAgent.test.ts +0 -962
- package/src/messages/reducer.spec.ts +0 -32
- package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
- package/src/messages/tailCacheConversion.test.ts +0 -161
- package/src/openai/__tests__/openai.test.ts +0 -337
- package/src/responses/__tests__/responses.test.ts +0 -652
- package/src/scripts/abort.ts +0 -157
- package/src/scripts/activity-labels/captured.json +0 -56
- package/src/scripts/activity-labels/checks.cjs +0 -205
- package/src/scripts/activity-labels/corpus.cjs +0 -473
- package/src/scripts/activity-labels/report.cjs +0 -203
- package/src/scripts/activity-labels/rescore.cjs +0 -102
- package/src/scripts/activity-labels/run.ts +0 -705
- package/src/scripts/activity-labels/variants.ts +0 -71
- package/src/scripts/ant_web_search.ts +0 -159
- package/src/scripts/ant_web_search_edge_case.ts +0 -163
- package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
- package/src/scripts/args.ts +0 -48
- package/src/scripts/bedrock-cache-debug.ts +0 -250
- package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
- package/src/scripts/bedrock-merge-test.ts +0 -107
- package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
- package/src/scripts/bench-prompt-cache.ts +0 -479
- package/src/scripts/caching.ts +0 -132
- package/src/scripts/cli.ts +0 -172
- package/src/scripts/cli2.ts +0 -133
- package/src/scripts/cli3.ts +0 -184
- package/src/scripts/cli4.ts +0 -191
- package/src/scripts/cli5.ts +0 -191
- package/src/scripts/code_exec.ts +0 -214
- package/src/scripts/code_exec_files.ts +0 -237
- package/src/scripts/code_exec_multi_session.ts +0 -237
- package/src/scripts/code_exec_ptc.ts +0 -335
- package/src/scripts/code_exec_session.ts +0 -283
- package/src/scripts/code_exec_simple.ts +0 -148
- package/src/scripts/compare_pi_vs_ours.ts +0 -1259
- package/src/scripts/content.ts +0 -139
- package/src/scripts/context-overflow-probe.ts +0 -997
- package/src/scripts/empty_input.ts +0 -137
- package/src/scripts/handoff-test.ts +0 -134
- package/src/scripts/local_engine.ts +0 -166
- package/src/scripts/local_engine_checkpointer.ts +0 -205
- package/src/scripts/local_engine_compile.ts +0 -263
- package/src/scripts/local_engine_hooks.ts +0 -226
- package/src/scripts/local_engine_image.ts +0 -201
- package/src/scripts/local_engine_ptc.ts +0 -151
- package/src/scripts/local_engine_workspace.ts +0 -258
- package/src/scripts/memory.ts +0 -107
- package/src/scripts/multi-agent-chain.ts +0 -332
- package/src/scripts/multi-agent-conditional.ts +0 -222
- package/src/scripts/multi-agent-document-review-chain.ts +0 -198
- package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
- package/src/scripts/multi-agent-parallel-start.ts +0 -265
- package/src/scripts/multi-agent-parallel.ts +0 -395
- package/src/scripts/multi-agent-sequence.ts +0 -217
- package/src/scripts/multi-agent-subagent.ts +0 -246
- package/src/scripts/multi-agent-supervisor.ts +0 -366
- package/src/scripts/multi-agent-test.ts +0 -187
- package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
- package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
- package/src/scripts/parallel-full-metadata-test.ts +0 -241
- package/src/scripts/parallel-tools-test.ts +0 -341
- package/src/scripts/preempt-probe.ts +0 -330
- package/src/scripts/preempt-scenarios.ts +0 -388
- package/src/scripts/programmatic_exec.ts +0 -387
- package/src/scripts/programmatic_exec_agent.ts +0 -232
- package/src/scripts/search.ts +0 -147
- package/src/scripts/sequential-full-metadata-test.ts +0 -198
- package/src/scripts/session_live.ts +0 -548
- package/src/scripts/simple.ts +0 -226
- package/src/scripts/single-agent-metadata-test.ts +0 -196
- package/src/scripts/stream.ts +0 -141
- package/src/scripts/subagent-configurable-inheritance.ts +0 -252
- package/src/scripts/subagent-event-driven-debug.ts +0 -190
- package/src/scripts/subagent-tools-debug.ts +0 -160
- package/src/scripts/subagent-usage-sink.ts +0 -176
- package/src/scripts/summarization-recency.ts +0 -462
- package/src/scripts/test-custom-prompt-key.ts +0 -145
- package/src/scripts/test-handoff-input.ts +0 -170
- package/src/scripts/test-handoff-preamble.ts +0 -278
- package/src/scripts/test-handoff-steering.ts +0 -430
- package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
- package/src/scripts/test-parallel-agent-labeling.ts +0 -327
- package/src/scripts/test-parallel-handoffs.ts +0 -292
- package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
- package/src/scripts/test-thinking-handoff.ts +0 -156
- package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
- package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
- package/src/scripts/test-tools-before-handoff.ts +0 -222
- package/src/scripts/test_code_api.ts +0 -354
- package/src/scripts/thinking-bedrock.ts +0 -160
- package/src/scripts/thinking-vertexai.ts +0 -168
- package/src/scripts/thinking.ts +0 -172
- package/src/scripts/tool_search.ts +0 -153
- package/src/scripts/tools.ts +0 -163
- package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
- package/src/session/__tests__/handlers.test.ts +0 -161
- package/src/specs/activity-label-observability.live.test.ts +0 -262
- package/src/specs/activity-label-observability.test.ts +0 -167
- package/src/specs/activity-label-prompt.test.ts +0 -359
- package/src/specs/activity-label-trace-seed.test.ts +0 -47
- package/src/specs/activity-phase-label.test.ts +0 -306
- package/src/specs/agent-handoffs.live.test.ts +0 -140
- package/src/specs/agent-handoffs.test.ts +0 -2465
- package/src/specs/anthropic.simple.test.ts +0 -453
- package/src/specs/ask-user-question-batch.test.ts +0 -289
- package/src/specs/ask-user-questions.live.test.ts +0 -185
- package/src/specs/ask-user-questions.test.ts +0 -293
- package/src/specs/azure.simple.test.ts +0 -502
- package/src/specs/bedrock-toolless.live.test.ts +0 -123
- package/src/specs/bedrock-truncation.live.test.ts +0 -191
- package/src/specs/cache.simple.test.ts +0 -416
- package/src/specs/context-accuracy.live.test.ts +0 -409
- package/src/specs/context-overflow-recovery.live.test.ts +0 -213
- package/src/specs/context-usage-event.test.ts +0 -117
- package/src/specs/context-usage.live.test.ts +0 -297
- package/src/specs/custom-event-await.test.ts +0 -304
- package/src/specs/deepseek.simple.test.ts +0 -290
- package/src/specs/deterministic-trace-id.test.ts +0 -43
- package/src/specs/discovered-tools.test.ts +0 -217
- package/src/specs/durability-checkpoint.integration.test.ts +0 -243
- package/src/specs/graph-subagent.live.test.ts +0 -242
- package/src/specs/graph-subagent.test.ts +0 -322
- package/src/specs/handoffCue.test.ts +0 -165
- package/src/specs/langfuse-callbacks.test.ts +0 -1578
- package/src/specs/langfuse-config.test.ts +0 -247
- package/src/specs/langfuse-instrumentation.test.ts +0 -393
- package/src/specs/langfuse-metadata.test.ts +0 -245
- package/src/specs/langfuse-routing.integration.test.ts +0 -844
- package/src/specs/langfuse-runtime-context.test.ts +0 -92
- package/src/specs/langfuse-span-registry.test.ts +0 -87
- package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
- package/src/specs/langfuse-trace-shaping.test.ts +0 -591
- package/src/specs/moonshot.simple.test.ts +0 -367
- package/src/specs/multi-agent-summarization.test.ts +0 -396
- package/src/specs/openai.simple.test.ts +0 -315
- package/src/specs/openrouter.simple.test.ts +0 -275
- package/src/specs/preemptSeal.test.ts +0 -678
- package/src/specs/prune.test.ts +0 -3741
- package/src/specs/reasoning.test.ts +0 -201
- package/src/specs/run-step-timestamps.test.ts +0 -414
- package/src/specs/spec.utils.ts +0 -15
- package/src/specs/subagent.test.ts +0 -864
- package/src/specs/summarization-unit.test.ts +0 -973
- package/src/specs/summarization.test.ts +0 -3823
- package/src/specs/summarize-prune.test.ts +0 -376
- package/src/specs/thinking-handoff.test.ts +0 -621
- package/src/specs/thinking-prune.test.ts +0 -827
- package/src/specs/token-accounting-e2e.test.ts +0 -1034
- package/src/specs/token-accounting-pipeline.test.ts +0 -1008
- package/src/specs/token-distribution-edge-case.test.ts +0 -315
- package/src/specs/token-memoization.test.ts +0 -40
- package/src/specs/tokens.test.ts +0 -1000
- package/src/specs/tool-error-resume.test.ts +0 -194
- package/src/specs/tool-error.test.ts +0 -198
- package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
- package/src/stream.dispatch.test.ts +0 -63
- package/src/stream.test.ts +0 -144
- package/src/summarization/__tests__/aggregator.test.ts +0 -236
- package/src/summarization/__tests__/node.test.ts +0 -1996
- package/src/summarization/__tests__/trigger.test.ts +0 -149
- package/src/summarization/chunkHandler.test.ts +0 -196
- package/src/test/mockTools.ts +0 -386
- package/src/tools/Calculator.test.ts +0 -278
- package/src/tools/__tests__/BashExecutor.test.ts +0 -108
- package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
- package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
- package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
- package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
- package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
- package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
- package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
- package/src/tools/__tests__/ReadFile.test.ts +0 -44
- package/src/tools/__tests__/SkillTool.test.ts +0 -442
- package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
- package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
- package/src/tools/__tests__/SubagentTool.test.ts +0 -149
- package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
- package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
- package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
- package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
- package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
- package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
- package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
- package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
- package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
- package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
- package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
- package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
- package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
- package/src/tools/__tests__/directToolHooks.test.ts +0 -700
- package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
- package/src/tools/__tests__/handlers.test.ts +0 -997
- package/src/tools/__tests__/hitl.test.ts +0 -4663
- package/src/tools/__tests__/intentArg.test.ts +0 -357
- package/src/tools/__tests__/intentCoverage.test.ts +0 -139
- package/src/tools/__tests__/localToolNames.test.ts +0 -75
- package/src/tools/__tests__/skillCatalog.test.ts +0 -161
- package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
- package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
- package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
- package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
- package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
- package/src/tools/search/content.test.ts +0 -173
- package/src/tools/search/crw.test.ts +0 -836
- package/src/tools/search/format.test.ts +0 -242
- package/src/tools/search/http-agent.test.ts +0 -133
- package/src/tools/search/jina-reranker.test.ts +0 -306
- package/src/tools/search/keenable-scraper.test.ts +0 -153
- package/src/tools/search/keenable.test.ts +0 -183
- package/src/tools/search/outcome.test.ts +0 -90
- package/src/tools/search/output.md +0 -2775
- package/src/tools/search/rag-api-reranker.test.ts +0 -891
- package/src/tools/search/source-processing.test.ts +0 -516
- package/src/tools/search/tavily.test.ts +0 -965
- package/src/tools/search/test.html +0 -884
- package/src/tools/search/test.md +0 -643
- package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
- package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
- package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
- package/src/utils/__tests__/apportion.test.ts +0 -32
- package/src/utils/__tests__/errors.test.ts +0 -270
- package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
- package/src/utils/__tests__/redactSecrets.test.ts +0 -56
- package/src/utils/__tests__/truncation.test.ts +0 -66
- package/src/utils/llm.test.ts +0 -18
- package/src/utils/proxy.test.ts +0 -176
- package/src/utils/toolContent.test.ts +0 -1432
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/openai/index.ts"],"sourcesContent":["import type { UsageMetadata } from '@langchain/core/messages';\nimport type * as t from '@/types';\nimport { GraphEvents } from '@/common';\n\nexport interface OpenAICompatibleWriter {\n write(data: string): void | Promise<void>;\n}\n\nexport interface OpenAIResponseContext {\n requestId: string;\n model: string;\n created: number;\n}\n\nexport interface OpenAICompletionUsage {\n prompt_tokens: number;\n completion_tokens: number;\n total_tokens: number;\n completion_tokens_details?: {\n reasoning_tokens?: number;\n };\n}\n\nexport interface OpenAIToolCall {\n id: string;\n type: 'function';\n function: {\n name: string;\n arguments: string;\n };\n}\n\nexport interface OpenAIChatCompletionChunkChoice {\n index: number;\n delta: {\n role?: 'assistant';\n content?: string | null;\n reasoning?: string | null;\n tool_calls?: Array<{\n index: number;\n id?: string;\n type?: 'function';\n function?: {\n name?: string;\n arguments?: string;\n };\n }>;\n };\n finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;\n}\n\nexport interface OpenAIChatCompletionChunk {\n id: string;\n object: 'chat.completion.chunk';\n created: number;\n model: string;\n choices: OpenAIChatCompletionChunkChoice[];\n usage?: OpenAICompletionUsage;\n}\n\nexport interface OpenAIStreamTracker {\n hasRole: boolean;\n hasText: boolean;\n hasReasoning: boolean;\n lastChunkKind?: 'text' | 'reasoning' | 'tool_call';\n toolCalls: Map<number, OpenAIToolCall>;\n toolCallsByStep?: Map<string, Map<number, OpenAIToolCall>>;\n usage: {\n promptTokens: number;\n completionTokens: number;\n reasoningTokens: number;\n };\n}\n\nexport interface OpenAIHandlerConfig {\n writer: OpenAICompatibleWriter;\n context: OpenAIResponseContext;\n tracker: OpenAIStreamTracker;\n}\n\ninterface OpenAIToolCallFragment {\n index?: number;\n id?: string;\n name?: string;\n args?: string | object;\n function?: {\n name?: string;\n arguments?: string | object;\n };\n}\n\nexport function createOpenAIStreamTracker(): OpenAIStreamTracker {\n return {\n hasRole: false,\n hasText: false,\n hasReasoning: false,\n toolCalls: new Map(),\n toolCallsByStep: new Map(),\n usage: {\n promptTokens: 0,\n completionTokens: 0,\n reasoningTokens: 0,\n },\n };\n}\n\nfunction getTokenCount(value: number | null | undefined): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : 0;\n}\n\nfunction getReasoningTokenCount(usage: Partial<UsageMetadata>): number {\n return getTokenCount(usage.output_token_details?.reasoning);\n}\n\nfunction getToolCallIndex(\n toolCall: OpenAIToolCallFragment,\n fallbackIndex: number\n): number {\n return typeof toolCall.index === 'number' ? toolCall.index : fallbackIndex;\n}\n\nfunction getToolCallName(toolCall: OpenAIToolCallFragment): string {\n return toolCall.name ?? toolCall.function?.name ?? '';\n}\n\nfunction getToolCallArguments(toolCall: OpenAIToolCallFragment): string {\n const args = toolCall.args ?? toolCall.function?.arguments;\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return args;\n }\n return JSON.stringify(args);\n}\n\nfunction getStepToolCalls(\n tracker: OpenAIStreamTracker,\n stepId: string\n): Map<number, OpenAIToolCall> {\n const toolCallsByStep = tracker.toolCallsByStep ?? new Map();\n tracker.toolCallsByStep = toolCallsByStep;\n const existing = toolCallsByStep.get(stepId);\n if (existing != null) {\n return existing;\n }\n const stepToolCalls = new Map<number, OpenAIToolCall>();\n toolCallsByStep.set(stepId, stepToolCalls);\n return stepToolCalls;\n}\n\nexport function createChatCompletionChunk(\n context: OpenAIResponseContext,\n delta: OpenAIChatCompletionChunkChoice['delta'],\n finishReason: OpenAIChatCompletionChunkChoice['finish_reason'] = null,\n usage?: OpenAICompletionUsage\n): OpenAIChatCompletionChunk {\n return {\n id: context.requestId,\n object: 'chat.completion.chunk',\n created: context.created,\n model: context.model,\n choices: [{ index: 0, delta, finish_reason: finishReason }],\n ...(usage ? { usage } : {}),\n };\n}\n\nexport function createChatCompletionUsageChunk(\n context: OpenAIResponseContext,\n usage: OpenAICompletionUsage\n): OpenAIChatCompletionChunk {\n return {\n id: context.requestId,\n object: 'chat.completion.chunk',\n created: context.created,\n model: context.model,\n choices: [],\n usage,\n };\n}\n\nexport async function writeOpenAISSE(\n writer: OpenAICompatibleWriter,\n data: OpenAIChatCompletionChunk | '[DONE]'\n): Promise<void> {\n await writer.write(\n `data: ${data === '[DONE]' ? data : JSON.stringify(data)}\\n\\n`\n );\n}\n\nfunction getTextParts(\n data: t.MessageDeltaEvent | t.ReasoningDeltaEvent\n): string[] {\n const parts = data.delta.content ?? [];\n const text: string[] = [];\n for (const part of parts) {\n if ('text' in part && typeof part.text === 'string') {\n text.push(part.text);\n continue;\n }\n if ('think' in part && typeof part.think === 'string') {\n text.push(part.think);\n }\n }\n return text;\n}\n\nasync function emitAssistantRoleChunk(\n config: OpenAIHandlerConfig\n): Promise<void> {\n if (config.tracker.hasRole) {\n return;\n }\n config.tracker.hasRole = true;\n await writeOpenAISSE(\n config.writer,\n createChatCompletionChunk(config.context, { role: 'assistant' })\n );\n}\n\nasync function emitToolCallChunk(params: {\n config: OpenAIHandlerConfig;\n stepId: string;\n toolCall: OpenAIToolCallFragment;\n fallbackIndex: number;\n completed: boolean;\n}): Promise<void> {\n const { config, stepId, toolCall, fallbackIndex, completed } = params;\n const index = getToolCallIndex(toolCall, fallbackIndex);\n const stepToolCalls = getStepToolCalls(config.tracker, stepId);\n const existing = stepToolCalls.get(index);\n const current = existing ?? {\n id: toolCall.id ?? '',\n type: 'function' as const,\n function: { name: '', arguments: '' },\n };\n const name = getToolCallName(toolCall);\n const args = getToolCallArguments(toolCall);\n const idChanged =\n toolCall.id != null && toolCall.id !== '' && current.id !== toolCall.id;\n const nameChanged = name !== '' && current.function.name !== name;\n let argumentDelta = '';\n if (completed) {\n if (args !== '' && args !== current.function.arguments) {\n argumentDelta = args.startsWith(current.function.arguments)\n ? args.slice(current.function.arguments.length)\n : args;\n current.function.arguments = args;\n }\n } else if (args !== '') {\n argumentDelta = args;\n current.function.arguments += args;\n }\n if (toolCall.id != null && toolCall.id !== '') {\n current.id = toolCall.id;\n }\n if (name !== '') {\n current.function.name = name;\n }\n stepToolCalls.set(index, current);\n config.tracker.toolCalls.set(index, current);\n if (!idChanged && !nameChanged && argumentDelta === '' && existing) {\n return;\n }\n config.tracker.lastChunkKind = 'tool_call';\n const functionDelta: { name?: string; arguments?: string } = {};\n if (nameChanged || (!existing && current.function.name !== '')) {\n functionDelta.name = current.function.name;\n }\n if (argumentDelta !== '') {\n functionDelta.arguments = argumentDelta;\n }\n await emitAssistantRoleChunk(config);\n await writeOpenAISSE(\n config.writer,\n createChatCompletionChunk(config.context, {\n tool_calls: [\n {\n index,\n ...(current.id !== '' ? { id: current.id } : {}),\n type: 'function',\n ...(functionDelta.name != null || functionDelta.arguments != null\n ? { function: functionDelta }\n : {}),\n },\n ],\n })\n );\n}\n\nexport function createOpenAIHandlers(\n config: OpenAIHandlerConfig\n): Record<string, t.EventHandler> {\n return {\n [GraphEvents.ON_MESSAGE_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n for (const text of getTextParts(data as t.MessageDeltaEvent)) {\n config.tracker.hasText = true;\n config.tracker.lastChunkKind = 'text';\n await emitAssistantRoleChunk(config);\n await writeOpenAISSE(\n config.writer,\n createChatCompletionChunk(config.context, { content: text })\n );\n }\n },\n },\n [GraphEvents.ON_REASONING_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n for (const text of getTextParts(data as t.ReasoningDeltaEvent)) {\n config.tracker.hasReasoning = true;\n config.tracker.lastChunkKind = 'reasoning';\n await emitAssistantRoleChunk(config);\n await writeOpenAISSE(\n config.writer,\n createChatCompletionChunk(config.context, { reasoning: text })\n );\n }\n },\n },\n [GraphEvents.ON_RUN_STEP_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n const runStepDelta = data as t.RunStepDeltaEvent;\n const delta = runStepDelta.delta;\n if (delta.type !== 'tool_calls') {\n return;\n }\n const toolCalls = delta.tool_calls ?? [];\n for (let index = 0; index < toolCalls.length; index++) {\n await emitToolCallChunk({\n config,\n stepId: runStepDelta.id,\n toolCall: toolCalls[index],\n fallbackIndex: index,\n completed: false,\n });\n }\n },\n },\n [GraphEvents.ON_RUN_STEP]: {\n handle: async (_event, data): Promise<void> => {\n const runStep = data as t.RunStep;\n if (runStep.stepDetails.type !== 'tool_calls') {\n return;\n }\n const toolCalls = runStep.stepDetails.tool_calls ?? [];\n for (let index = 0; index < toolCalls.length; index++) {\n await emitToolCallChunk({\n config,\n stepId: runStep.id,\n toolCall: toolCalls[index],\n fallbackIndex: index,\n completed: true,\n });\n }\n },\n },\n [GraphEvents.CHAT_MODEL_END]: {\n handle: (_event, data): void => {\n const usage = (data as t.ModelEndData)?.output?.usage_metadata as\n | Partial<UsageMetadata>\n | undefined;\n if (!usage) {\n return;\n }\n config.tracker.usage.promptTokens += getTokenCount(usage.input_tokens);\n config.tracker.usage.completionTokens += getTokenCount(\n usage.output_tokens\n );\n config.tracker.usage.reasoningTokens += getReasoningTokenCount(usage);\n },\n },\n };\n}\n\nexport async function sendOpenAIFinalChunk(\n config: OpenAIHandlerConfig,\n finishReason?: OpenAIChatCompletionChunkChoice['finish_reason']\n): Promise<void> {\n const resolvedFinishReason =\n finishReason ??\n (config.tracker.lastChunkKind === 'tool_call' ? 'tool_calls' : 'stop');\n const usage: OpenAICompletionUsage = {\n prompt_tokens: config.tracker.usage.promptTokens,\n completion_tokens: config.tracker.usage.completionTokens,\n total_tokens:\n config.tracker.usage.promptTokens + config.tracker.usage.completionTokens,\n };\n if (config.tracker.usage.reasoningTokens > 0) {\n usage.completion_tokens_details = {\n reasoning_tokens: config.tracker.usage.reasoningTokens,\n };\n }\n await emitAssistantRoleChunk(config);\n await writeOpenAISSE(\n config.writer,\n createChatCompletionChunk(config.context, {}, resolvedFinishReason)\n );\n await writeOpenAISSE(\n config.writer,\n createChatCompletionUsageChunk(config.context, usage)\n );\n await writeOpenAISSE(config.writer, '[DONE]');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/openai/index.ts"],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
const require_langfuseToolOutputTracing = require("../langfuseToolOutputTracing.cjs");
|
|
2
2
|
//#region src/prompts/activityLabel.ts
|
|
3
|
-
/**
|
|
4
|
-
* Default system prompt for fast-model activity labeling.
|
|
5
|
-
*
|
|
6
|
-
* Style synthesized from Claude Code's tool-use summary prompt (git-subject
|
|
7
|
-
* register, past tense, distinctive nouns) and claude.ai's observed group
|
|
8
|
-
* headers (5–9 words describing a mixed reasoning + tool block, e.g.
|
|
9
|
-
* "Synthesized version data and curated comparative framework").
|
|
10
|
-
*/
|
|
11
3
|
const ACTIVITY_LABEL_PROMPT = `Write a short label describing what this block of agent activity accomplished. It appears as the header of a collapsed activity group in a chat UI.
|
|
12
4
|
|
|
13
5
|
Rules:
|
|
@@ -22,7 +14,6 @@ Examples:
|
|
|
22
14
|
- Fixed failing auth middleware tests
|
|
23
15
|
- Read project config and dependency manifests
|
|
24
16
|
- Attempted database migration, hit permission errors`;
|
|
25
|
-
/** Default system prompt for a run-wide parent activity phase. */
|
|
26
17
|
const ACTIVITY_PHASE_LABEL_PROMPT = `Summarize what this phase of an agent run accomplished. The result appears as the header of one collapsed parent group containing several activities.
|
|
27
18
|
|
|
28
19
|
Rules:
|
|
@@ -41,37 +32,15 @@ Examples:
|
|
|
41
32
|
Bad examples:
|
|
42
33
|
- Used three tools to inspect files and run tests
|
|
43
34
|
- Searched code, read configuration, and updated middleware`;
|
|
44
|
-
/** Hard ceiling across every activity/context section in one phase request. */
|
|
45
35
|
const ACTIVITY_PHASE_PROMPT_MAX_LENGTH = 12e3;
|
|
46
|
-
/** Truncates a serialized value for the label prompt. */
|
|
47
36
|
function truncateForLabel(value, maxLength) {
|
|
48
37
|
if (value.length <= maxLength) return value;
|
|
49
38
|
return value.slice(0, Math.max(0, maxLength - 1)) + "…";
|
|
50
39
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Reduces a committed label to bounded single-line data.
|
|
53
|
-
*
|
|
54
|
-
* Sections in this prompt are delimited by blank lines, so a label carrying
|
|
55
|
-
* embedded newlines could otherwise forge an apparent entries section or
|
|
56
|
-
* `Header:` cue. Unlike every other input here, previous labels re-enter
|
|
57
|
-
* the prompt on EVERY later batch, so one malformed result — plain model
|
|
58
|
-
* noncompliance, or injection surfacing through a tool result — would
|
|
59
|
-
* persistently steer unrelated later labels rather than affecting one. The
|
|
60
|
-
* clip bounds the same way `lastAssistantText` and reasoning excerpts are
|
|
61
|
-
* bounded: oversized headers must not inflate later requests past the fast
|
|
62
|
-
* model's window and starve the run of labels entirely.
|
|
63
|
-
*/
|
|
64
40
|
function sanitizePreviousLabel(label) {
|
|
65
41
|
return truncateForLabel(label.replace(/\s+/g, " ").trim(), PREVIOUS_LABEL_LIMIT);
|
|
66
42
|
}
|
|
67
43
|
const ABORT_SERIALIZATION = Symbol("abort-label-serialization");
|
|
68
|
-
/**
|
|
69
|
-
* Serializes a tool value for the prompt WITHOUT materializing huge JSON:
|
|
70
|
-
* the output is clipped to a few hundred characters anyway, so a multi-
|
|
71
|
-
* megabyte tool result must not be stringified in full on the label path.
|
|
72
|
-
* Strings clip immediately; structured values serialize under a character
|
|
73
|
-
* budget and degrade to a shape summary once it is exhausted.
|
|
74
|
-
*/
|
|
75
44
|
function serializeForLabel(value, limit) {
|
|
76
45
|
if (value == null) return "";
|
|
77
46
|
if (typeof value === "string") return value.length > limit ? value.slice(0, limit + 1) : value;
|
|
@@ -94,74 +63,36 @@ function serializeForLabel(value, limit) {
|
|
|
94
63
|
}
|
|
95
64
|
const INPUT_CONTEXT_LIMIT = 200;
|
|
96
65
|
const MAX_THINKING_EXCERPTS = 4;
|
|
97
|
-
/** Per-label bound. A header is 5-9 words; anything past this is
|
|
98
|
-
* noncompliance or payload, and previous labels are the one input that
|
|
99
|
-
* RE-ENTERS the prompt on every later batch of the run. */
|
|
100
66
|
const PREVIOUS_LABEL_LIMIT = 200;
|
|
101
|
-
/** A label is 5-9 words; no batch needs more than this many entries to
|
|
102
|
-
* produce one, and the cap keeps a 200-call programmatic batch from
|
|
103
|
-
* building an enormous prompt out of per-field-bounded pieces. */
|
|
104
67
|
const MAX_PROMPT_ENTRIES = 12;
|
|
105
68
|
const MAX_PHASE_ACTIVITIES = 12;
|
|
106
69
|
const MAX_PHASE_TOOL_ENTRIES = 6;
|
|
107
|
-
/**
|
|
108
|
-
* Builds the user prompt for a fast-model activity label. Pure — exported
|
|
109
|
-
* for direct testing of redaction and truncation behavior.
|
|
110
|
-
*/
|
|
111
70
|
function buildActivityLabelPrompt({ entries, charLimit, thinkingExcerpts, lastAssistantText, previousLabels, redaction }) {
|
|
112
71
|
const clip = truncateForLabel;
|
|
113
|
-
/** Reasoning and intent text can quote tool output verbatim — including
|
|
114
|
-
* output from EARLIER calls to a redacted tool that this batch does not
|
|
115
|
-
* contain — so any active policy (global disable or a configured
|
|
116
|
-
* redacted-name list) drops both wholesale. There is no reliable way to
|
|
117
|
-
* scrub a quoted fragment out of free-form model prose. */
|
|
118
72
|
const excerptsRedacted = redaction != null && (redaction.enabled === false || redaction.redactedToolNames.size > 0);
|
|
119
73
|
const sections = [];
|
|
120
|
-
/** Previous labels are free-form model prose too, and per-agent overlays
|
|
121
|
-
* mean an earlier header may have been generated under ANOTHER agent's
|
|
122
|
-
* weaker policy — so they share the excerpts' wholesale drop rather than
|
|
123
|
-
* letting a handoff leak a looser agent's phrasing into this trace. */
|
|
124
74
|
if (!excerptsRedacted && previousLabels != null && previousLabels.length > 0) {
|
|
125
75
|
const recent = previousLabels.slice(-3).map(sanitizePreviousLabel).filter((label) => label.length > 0);
|
|
126
76
|
if (recent.length > 0) sections.push("Previous headers in this run (most recent last):\n" + recent.map((label) => `- ${label}`).join("\n"));
|
|
127
77
|
}
|
|
128
|
-
/** Intent text is free-form assistant prose that can quote a redacted
|
|
129
|
-
* tool result just as reasoning can, so it shares the excerpts' fate. */
|
|
130
78
|
if (!excerptsRedacted && lastAssistantText != null && lastAssistantText.length > 0) sections.push(`Intent (assistant's last message): ${clip(lastAssistantText, INPUT_CONTEXT_LIMIT)}`);
|
|
131
79
|
if (!excerptsRedacted && thinkingExcerpts != null && thinkingExcerpts.length > 0) sections.push("Reasoning excerpts:\n" + thinkingExcerpts.slice(0, MAX_THINKING_EXCERPTS).map((excerpt) => `- ${clip(excerpt, charLimit)}`).join("\n"));
|
|
132
80
|
if (entries.length > 0) {
|
|
133
81
|
const shown = entries.slice(0, MAX_PROMPT_ENTRIES);
|
|
134
82
|
const omitted = entries.length - shown.length;
|
|
135
|
-
sections.push(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const input = clip(serializeForLabel(entry.toolInput, charLimit), charLimit);
|
|
145
|
-
const redacted = redaction != null && require_langfuseToolOutputTracing.shouldRedactTool(entry.toolName, redaction);
|
|
146
|
-
let outcome;
|
|
147
|
-
if (redacted) outcome = redaction.redactionText;
|
|
148
|
-
else if (entry.status === "error") outcome = `ERROR: ${clip(entry.error ?? "unknown error", charLimit)}`;
|
|
149
|
-
else outcome = clip(serializeForLabel(entry.toolOutput, charLimit), charLimit);
|
|
150
|
-
return `- ${entry.toolName}(${input}) → ${outcome}`;
|
|
151
|
-
}).join("\n") + (omitted > 0 ? `\n- …and ${omitted} more tool ${omitted === 1 ? "call" : "calls"}` : "")
|
|
152
|
-
);
|
|
83
|
+
sections.push("What it called, and what came back (do not restate these):\n" + shown.map((entry) => {
|
|
84
|
+
const input = clip(serializeForLabel(entry.toolInput, charLimit), charLimit);
|
|
85
|
+
const redacted = redaction != null && require_langfuseToolOutputTracing.shouldRedactTool(entry.toolName, redaction);
|
|
86
|
+
let outcome;
|
|
87
|
+
if (redacted) outcome = redaction.redactionText;
|
|
88
|
+
else if (entry.status === "error") outcome = `ERROR: ${clip(entry.error ?? "unknown error", charLimit)}`;
|
|
89
|
+
else outcome = clip(serializeForLabel(entry.toolOutput, charLimit), charLimit);
|
|
90
|
+
return `- ${entry.toolName}(${input}) → ${outcome}`;
|
|
91
|
+
}).join("\n") + (omitted > 0 ? `\n- …and ${omitted} more tool ${omitted === 1 ? "call" : "calls"}` : ""));
|
|
153
92
|
}
|
|
154
|
-
/** The fallback builder's terminal cue, measured alongside the heading
|
|
155
|
-
* (same sweeps). The default system prompt already describes the
|
|
156
|
-
* output as "the header of a collapsed activity group". */
|
|
157
93
|
sections.push("Header:");
|
|
158
94
|
return sections.join("\n\n");
|
|
159
95
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Builds bounded, redaction-aware evidence for a parent activity phase.
|
|
162
|
-
* Committed child labels are preferred; raw tool/reasoning evidence is only
|
|
163
|
-
* used when no child label exists.
|
|
164
|
-
*/
|
|
165
96
|
function buildActivityPhaseLabelPrompt({ activities, totalActivityCount, charLimit, assistantContext, redaction }) {
|
|
166
97
|
const freeFormSuppressed = redaction != null && (redaction.enabled === false || redaction.redactedToolNames.size > 0);
|
|
167
98
|
const sections = [];
|
|
@@ -203,7 +134,6 @@ function buildActivityPhaseLabelPrompt({ activities, totalActivityCount, charLim
|
|
|
203
134
|
const evidenceLimit = ACTIVITY_PHASE_PROMPT_MAX_LENGTH - 16 - 1;
|
|
204
135
|
return `${evidence.slice(0, evidenceLimit).trimEnd()}…${terminalCue}`;
|
|
205
136
|
}
|
|
206
|
-
/** Normalizes a model result for safe single-row persistence and display. */
|
|
207
137
|
function normalizeActivityPhaseLabel(label) {
|
|
208
138
|
return truncateForLabel(label.replace(/\s+/g, " ").trim().replace(/^["']|["']$/g, "").replace(/[.!?]+$/g, ""), 160);
|
|
209
139
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activityLabel.cjs","names":["shouldRedactTool"],"sources":["../../../src/prompts/activityLabel.ts"],"sourcesContent":["import type {\n ActivityLabelToolEntry,\n ActivityPhaseEntry,\n} from '@/types/activityLabel';\nimport type { ResolvedLangfuseToolOutputTracingConfig } from '@/langfuseRuntimeContext';\nimport { shouldRedactTool } from '@/langfuseToolOutputTracing';\n\n/**\n * Default system prompt for fast-model activity labeling.\n *\n * Style synthesized from Claude Code's tool-use summary prompt (git-subject\n * register, past tense, distinctive nouns) and claude.ai's observed group\n * headers (5–9 words describing a mixed reasoning + tool block, e.g.\n * \"Synthesized version data and curated comparative framework\").\n */\nexport const ACTIVITY_LABEL_PROMPT = `Write a short label describing what this block of agent activity accomplished. It appears as the header of a collapsed activity group in a chat UI.\n\nRules:\n- 5 to 9 words, past-tense verb first\n- Name the most distinctive subject (file, API, topic); drop articles and filler\n- Describe outcomes, not mechanics; if something failed, say so plainly\n- Output only the label — no quotes, no punctuation at the end, no preamble\n\nExamples:\n- Searched Node.js release notes and changelogs\n- Compared runtime versions across official sources\n- Fixed failing auth middleware tests\n- Read project config and dependency manifests\n- Attempted database migration, hit permission errors`;\n\n/** Default system prompt for a run-wide parent activity phase. */\nexport const ACTIVITY_PHASE_LABEL_PROMPT = `Summarize what this phase of an agent run accomplished. The result appears as the header of one collapsed parent group containing several activities.\n\nRules:\n- One line, 8 to 18 words, past tense\n- Lead with the concrete outcome and name the most distinctive subject\n- Synthesize the phase; do not enumerate, count, or restate individual activities\n- Describe failures plainly when they are the phase's material outcome\n- Never mention tool names, calls, arguments, reasoning, commentary, or activity counts\n- Output only the summary — no quotes, no trailing punctuation, no preamble\n\nExamples:\n- Reconciled authentication behavior and fixed the failing session refresh path\n- Compared deployment options and documented the safest production rollout\n- Investigated database latency but could not confirm the suspected index regression\n\nBad examples:\n- Used three tools to inspect files and run tests\n- Searched code, read configuration, and updated middleware`;\n\n/** Hard ceiling across every activity/context section in one phase request. */\nexport const ACTIVITY_PHASE_PROMPT_MAX_LENGTH = 12_000;\n\n/** Truncates a serialized value for the label prompt. */\nexport function truncateForLabel(value: string, maxLength: number): string {\n if (value.length <= maxLength) {\n return value;\n }\n return value.slice(0, Math.max(0, maxLength - 1)) + '…';\n}\n\n/**\n * Reduces a committed label to bounded single-line data.\n *\n * Sections in this prompt are delimited by blank lines, so a label carrying\n * embedded newlines could otherwise forge an apparent entries section or\n * `Header:` cue. Unlike every other input here, previous labels re-enter\n * the prompt on EVERY later batch, so one malformed result — plain model\n * noncompliance, or injection surfacing through a tool result — would\n * persistently steer unrelated later labels rather than affecting one. The\n * clip bounds the same way `lastAssistantText` and reasoning excerpts are\n * bounded: oversized headers must not inflate later requests past the fast\n * model's window and starve the run of labels entirely.\n */\nfunction sanitizePreviousLabel(label: string): string {\n return truncateForLabel(\n label.replace(/\\s+/g, ' ').trim(),\n PREVIOUS_LABEL_LIMIT\n );\n}\n\nconst ABORT_SERIALIZATION = Symbol('abort-label-serialization');\n\n/**\n * Serializes a tool value for the prompt WITHOUT materializing huge JSON:\n * the output is clipped to a few hundred characters anyway, so a multi-\n * megabyte tool result must not be stringified in full on the label path.\n * Strings clip immediately; structured values serialize under a character\n * budget and degrade to a shape summary once it is exhausted.\n */\nfunction serializeForLabel(value: unknown, limit: number): string {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string') {\n return value.length > limit ? value.slice(0, limit + 1) : value;\n }\n let budget = limit * 4;\n try {\n return (\n JSON.stringify(value, (_key, nested: unknown) => {\n if (budget <= 0) {\n throw ABORT_SERIALIZATION;\n }\n if (typeof nested === 'string') {\n const clipped =\n nested.length > limit ? nested.slice(0, limit) : nested;\n budget -= clipped.length;\n return clipped;\n }\n budget -= 8;\n return nested;\n }) ?? ''\n );\n } catch (error) {\n if (error === ABORT_SERIALIZATION) {\n return Array.isArray(value) ? `[Array(${value.length})]` : '[Object]';\n }\n return String(value);\n }\n}\n\nconst INPUT_CONTEXT_LIMIT = 200;\nconst MAX_THINKING_EXCERPTS = 4;\nconst MAX_PREVIOUS_LABELS = 3;\n/** Per-label bound. A header is 5-9 words; anything past this is\n * noncompliance or payload, and previous labels are the one input that\n * RE-ENTERS the prompt on every later batch of the run. */\nconst PREVIOUS_LABEL_LIMIT = 200;\n/** A label is 5-9 words; no batch needs more than this many entries to\n * produce one, and the cap keeps a 200-call programmatic batch from\n * building an enormous prompt out of per-field-bounded pieces. */\nconst MAX_PROMPT_ENTRIES = 12;\nconst MAX_PHASE_ACTIVITIES = 12;\nconst MAX_PHASE_CONTEXT = 3;\nconst MAX_PHASE_TOOL_ENTRIES = 6;\nexport const ACTIVITY_PHASE_LABEL_MAX_LENGTH = 160;\n\nexport type BuildActivityLabelPromptParams = {\n entries: ActivityLabelToolEntry[];\n charLimit: number;\n thinkingExcerpts?: string[];\n lastAssistantText?: string;\n /**\n * Headers already committed for earlier batches in this run, in run order\n * with the most recent last. Rendered ahead of the block context so the\n * label continues the run's story instead of restating a line the user is\n * already reading. Capped at {@link MAX_PREVIOUS_LABELS}.\n */\n previousLabels?: string[];\n /**\n * Resolved tool-output tracing policy. The label prompt becomes Langfuse\n * generation input, so outputs/errors excluded from tracing (global\n * disable or `redactedToolNames`) must never appear in it — the same\n * redaction the span processor applies to structured tool observations.\n */\n redaction?: ResolvedLangfuseToolOutputTracingConfig;\n};\n\n/**\n * Builds the user prompt for a fast-model activity label. Pure — exported\n * for direct testing of redaction and truncation behavior.\n */\nexport function buildActivityLabelPrompt({\n entries,\n charLimit,\n thinkingExcerpts,\n lastAssistantText,\n previousLabels,\n redaction,\n}: BuildActivityLabelPromptParams): string {\n const clip = truncateForLabel;\n /** Reasoning and intent text can quote tool output verbatim — including\n * output from EARLIER calls to a redacted tool that this batch does not\n * contain — so any active policy (global disable or a configured\n * redacted-name list) drops both wholesale. There is no reliable way to\n * scrub a quoted fragment out of free-form model prose. */\n const excerptsRedacted =\n redaction != null &&\n (redaction.enabled === false || redaction.redactedToolNames.size > 0);\n const sections: string[] = [];\n /** Previous labels are free-form model prose too, and per-agent overlays\n * mean an earlier header may have been generated under ANOTHER agent's\n * weaker policy — so they share the excerpts' wholesale drop rather than\n * letting a handoff leak a looser agent's phrasing into this trace. */\n if (\n !excerptsRedacted &&\n previousLabels != null &&\n previousLabels.length > 0\n ) {\n const recent = previousLabels\n .slice(-MAX_PREVIOUS_LABELS)\n .map(sanitizePreviousLabel)\n /** A label that sanitizes to nothing carries no story to continue;\n * rendering it would leave a bare bullet implying a missing header. */\n .filter((label) => label.length > 0);\n if (recent.length > 0) {\n sections.push(\n 'Previous headers in this run (most recent last):\\n' +\n recent.map((label) => `- ${label}`).join('\\n')\n );\n }\n }\n /** Intent text is free-form assistant prose that can quote a redacted\n * tool result just as reasoning can, so it shares the excerpts' fate. */\n if (\n !excerptsRedacted &&\n lastAssistantText != null &&\n lastAssistantText.length > 0\n ) {\n sections.push(\n `Intent (assistant's last message): ${clip(lastAssistantText, INPUT_CONTEXT_LIMIT)}`\n );\n }\n if (\n !excerptsRedacted &&\n thinkingExcerpts != null &&\n thinkingExcerpts.length > 0\n ) {\n sections.push(\n 'Reasoning excerpts:\\n' +\n thinkingExcerpts\n .slice(0, MAX_THINKING_EXCERPTS)\n .map((excerpt) => `- ${clip(excerpt, charLimit)}`)\n .join('\\n')\n );\n }\n if (entries.length > 0) {\n const shown = entries.slice(0, MAX_PROMPT_ENTRIES);\n const omitted = entries.length - shown.length;\n sections.push(\n /** Frames the list as reference material, not the thing to\n * transcribe. Ported from LibreChat's fallback builder (its\n * runtime.ts documents that without this the model \"hands back a\n * transcription\" of the list) after the eval harness measured it\n * across three independent sweeps: fewer template-redundancy and\n * length violations than a bare `Tool calls:` heading, with no\n * per-case regressions (agents #360). */\n 'What it called, and what came back (do not restate these):\\n' +\n shown\n .map((entry) => {\n const input = clip(\n serializeForLabel(entry.toolInput, charLimit),\n charLimit\n );\n const redacted =\n redaction != null && shouldRedactTool(entry.toolName, redaction);\n let outcome: string;\n if (redacted) {\n outcome = redaction.redactionText;\n } else if (entry.status === 'error') {\n outcome = `ERROR: ${clip(entry.error ?? 'unknown error', charLimit)}`;\n } else {\n outcome = clip(\n serializeForLabel(entry.toolOutput, charLimit),\n charLimit\n );\n }\n return `- ${entry.toolName}(${input}) → ${outcome}`;\n })\n .join('\\n') +\n (omitted > 0\n ? `\\n- …and ${omitted} more tool ${omitted === 1 ? 'call' : 'calls'}`\n : '')\n );\n }\n /** The fallback builder's terminal cue, measured alongside the heading\n * (same sweeps). The default system prompt already describes the\n * output as \"the header of a collapsed activity group\". */\n sections.push('Header:');\n return sections.join('\\n\\n');\n}\n\nexport type BuildActivityPhaseLabelPromptParams = {\n activities: ActivityPhaseEntry[];\n totalActivityCount?: number;\n charLimit: number;\n assistantContext?: string[];\n redaction?: ResolvedLangfuseToolOutputTracingConfig;\n};\n\n/**\n * Builds bounded, redaction-aware evidence for a parent activity phase.\n * Committed child labels are preferred; raw tool/reasoning evidence is only\n * used when no child label exists.\n */\nexport function buildActivityPhaseLabelPrompt({\n activities,\n totalActivityCount,\n charLimit,\n assistantContext,\n redaction,\n}: BuildActivityPhaseLabelPromptParams): string {\n const freeFormSuppressed =\n redaction != null &&\n (redaction.enabled === false || redaction.redactedToolNames.size > 0);\n const sections: string[] = [];\n if (\n !freeFormSuppressed &&\n assistantContext != null &&\n assistantContext.length > 0\n ) {\n const context = assistantContext\n .slice(-MAX_PHASE_CONTEXT)\n .map((text) =>\n truncateForLabel(text.replace(/\\s+/g, ' ').trim(), charLimit)\n )\n .filter((text) => text.length > 0);\n if (context.length > 0) {\n sections.push(\n 'Intermediate assistant context (do not quote or restate):\\n' +\n context.map((text) => `- ${text}`).join('\\n')\n );\n }\n }\n\n let hasDescribableEvidence = false;\n const activityLines = activities\n .slice(0, MAX_PHASE_ACTIVITIES)\n .map((activity, index) => {\n let status = 'completed';\n if (activity.status === 'error') {\n status = 'failed';\n } else if (activity.status === 'partial') {\n status = 'partial';\n }\n if (\n !freeFormSuppressed &&\n activity.label != null &&\n activity.label.trim() !== ''\n ) {\n hasDescribableEvidence = true;\n return `${index + 1}. ${status}: ${truncateForLabel(activity.label.replace(/\\s+/g, ' ').trim(), charLimit)}`;\n }\n\n const evidence: string[] = [];\n if (\n !freeFormSuppressed &&\n activity.thinkingExcerpts != null &&\n activity.thinkingExcerpts.length > 0\n ) {\n evidence.push(\n ...activity.thinkingExcerpts\n .slice(0, MAX_THINKING_EXCERPTS)\n .map((excerpt) =>\n truncateForLabel(excerpt.replace(/\\s+/g, ' ').trim(), charLimit)\n )\n .filter((excerpt) => excerpt.length > 0)\n .map((excerpt) => `context=${excerpt}`)\n );\n }\n if (activity.entries != null && activity.entries.length > 0) {\n evidence.push(\n ...activity.entries.slice(0, MAX_PHASE_TOOL_ENTRIES).map((entry) => {\n const entryRedacted =\n redaction != null && shouldRedactTool(entry.toolName, redaction);\n const input = truncateForLabel(\n serializeForLabel(entry.toolInput, charLimit),\n charLimit\n );\n let outcome: string;\n if (entryRedacted) {\n outcome = redaction.redactionText;\n } else if (entry.status === 'error') {\n outcome = `ERROR: ${truncateForLabel(\n entry.error ?? 'unknown error',\n charLimit\n )}`;\n } else {\n outcome = truncateForLabel(\n serializeForLabel(entry.toolOutput, charLimit),\n charLimit\n );\n }\n return `${entry.toolName}(${input}) → ${outcome}`;\n })\n );\n }\n if (evidence.length > 0) {\n hasDescribableEvidence = true;\n }\n return `${index + 1}. ${status}${evidence.length > 0 ? `: ${evidence.join('; ')}` : ''}`;\n });\n\n if (!hasDescribableEvidence) {\n return '';\n }\n\n const activityCount = Math.max(activities.length, totalActivityCount ?? 0);\n if (activityCount > MAX_PHASE_ACTIVITIES) {\n activityLines.push(\n `${MAX_PHASE_ACTIVITIES + 1}. …and ${activityCount - MAX_PHASE_ACTIVITIES} more activities`\n );\n }\n sections.push(\n 'Activities in this phase (synthesize; do not restate):\\n' +\n activityLines.join('\\n')\n );\n const terminalCue = '\\n\\nPhase summary:';\n const evidence = sections.join('\\n\\n');\n const prompt = evidence + terminalCue;\n if (prompt.length <= ACTIVITY_PHASE_PROMPT_MAX_LENGTH) {\n return prompt;\n }\n const evidenceLimit =\n ACTIVITY_PHASE_PROMPT_MAX_LENGTH - terminalCue.length - 1;\n return `${evidence.slice(0, evidenceLimit).trimEnd()}…${terminalCue}`;\n}\n\n/** Normalizes a model result for safe single-row persistence and display. */\nexport function normalizeActivityPhaseLabel(label: string): string {\n const normalized = label\n .replace(/\\s+/g, ' ')\n .trim()\n .replace(/^[\"']|[\"']$/g, '')\n .replace(/[.!?]+$/g, '');\n return truncateForLabel(normalized, ACTIVITY_PHASE_LABEL_MAX_LENGTH);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activityLabel.cjs","names":["shouldRedactTool"],"sources":["../../../src/prompts/activityLabel.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/responses/index.ts"],"sourcesContent":["import type { UsageMetadata } from '@langchain/core/messages';\nimport type * as t from '@/types';\nimport { GraphEvents } from '@/common';\n\nexport interface ResponsesCompatibleWriter {\n write(data: string): void | Promise<void>;\n}\n\nexport type ResponseStatus =\n | 'in_progress'\n | 'completed'\n | 'failed'\n | 'incomplete';\nexport type ItemStatus = 'in_progress' | 'incomplete' | 'completed';\n\nexport interface ResponseContext {\n responseId: string;\n model: string;\n createdAt: number;\n previousResponseId?: string;\n instructions?: string;\n}\n\nexport interface ResponseOutputTextContent {\n type: 'output_text';\n text: string;\n annotations: [];\n logprobs: [];\n}\n\nexport interface ResponseMessageItem {\n type: 'message';\n id: string;\n role: 'assistant';\n status: ItemStatus;\n content: ResponseOutputTextContent[];\n}\n\nexport interface ResponseFunctionCallItem {\n type: 'function_call';\n id: string;\n call_id: string;\n name: string;\n arguments: string;\n status: ItemStatus;\n}\n\nexport interface ResponseReasoningItem {\n type: 'reasoning';\n id: string;\n status: ItemStatus;\n content: Array<{ type: 'reasoning_text'; text: string }>;\n summary: [];\n}\n\nexport type ResponseOutputItem =\n | ResponseMessageItem\n | ResponseFunctionCallItem\n | ResponseReasoningItem;\n\nexport interface ResponseObject {\n id: string;\n object: 'response';\n created_at: number;\n completed_at: number | null;\n status: ResponseStatus;\n model: string;\n previous_response_id: string | null;\n instructions: string | null;\n output: ResponseOutputItem[];\n error: { type: string; message: string; code?: string } | null;\n usage: {\n input_tokens: number;\n output_tokens: number;\n total_tokens: number;\n } | null;\n}\n\nexport interface ResponseEvent {\n type: string;\n sequence_number: number;\n [key: string]: unknown;\n}\n\nexport interface ResponseTracker {\n sequenceNumber: number;\n items: ResponseOutputItem[];\n message: ResponseMessageItem | undefined;\n reasoning: ResponseReasoningItem | undefined;\n functionCalls: Map<string, ResponseFunctionCallItem>;\n functionCallsByStep: Map<string, Array<ResponseFunctionCallItem | undefined>>;\n responseCreated: boolean;\n usage: {\n inputTokens: number;\n outputTokens: number;\n };\n nextSequence(): number;\n}\n\nexport interface ResponsesHandlerConfig {\n writer: ResponsesCompatibleWriter;\n context: ResponseContext;\n tracker: ResponseTracker;\n}\n\nlet responseItemId = 0;\n\nfunction createItemId(prefix: string): string {\n return `${prefix}_${Date.now().toString(36)}${(responseItemId++).toString(36)}`;\n}\n\nexport function createResponseTracker(): ResponseTracker {\n const tracker: ResponseTracker = {\n sequenceNumber: 0,\n items: [],\n message: undefined,\n reasoning: undefined,\n functionCalls: new Map(),\n functionCallsByStep: new Map(),\n responseCreated: false,\n usage: {\n inputTokens: 0,\n outputTokens: 0,\n },\n nextSequence: () => tracker.sequenceNumber++,\n };\n return tracker;\n}\n\nfunction getTokenCount(value: number | null | undefined): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : 0;\n}\n\ninterface ResponseToolCallFragment {\n index?: number;\n id?: string;\n name?: string;\n args?: string | object;\n function?: {\n name?: string;\n arguments?: string | object;\n };\n}\n\nfunction getToolCallIndex(\n toolCall: ResponseToolCallFragment,\n fallbackIndex: number\n): number {\n return typeof toolCall.index === 'number' ? toolCall.index : fallbackIndex;\n}\n\nfunction getToolCallPositionKey(\n stepId: string,\n toolCall: ResponseToolCallFragment,\n fallbackIndex: number\n): string {\n const index = getToolCallIndex(toolCall, fallbackIndex);\n if (stepId !== '') {\n return `${stepId}:${index}`;\n }\n return `tool:${index}`;\n}\n\nfunction getToolCallIdKey(\n toolCall: ResponseToolCallFragment\n): string | undefined {\n return toolCall.id != null && toolCall.id !== '' ? toolCall.id : undefined;\n}\n\nfunction getExistingFunctionCall(\n config: ResponsesHandlerConfig,\n idKey: string | undefined,\n positionKey: string | undefined,\n stepId: string,\n toolCall: ResponseToolCallFragment\n): ResponseFunctionCallItem | undefined {\n const keyed =\n idKey == null\n ? undefined\n : (config.tracker.functionCalls.get(idKey) ??\n (positionKey == null\n ? undefined\n : config.tracker.functionCalls.get(positionKey)));\n if (keyed != null) {\n return keyed;\n }\n const positioned =\n positionKey == null\n ? undefined\n : config.tracker.functionCalls.get(positionKey);\n if (positioned != null) {\n return positioned;\n }\n if (stepId === '') {\n return undefined;\n }\n return findFunctionCallByStep(config, stepId, toolCall);\n}\n\nfunction findFunctionCallByStep(\n config: ResponsesHandlerConfig,\n stepId: string,\n toolCall: ResponseToolCallFragment\n): ResponseFunctionCallItem | undefined {\n const items = config.tracker.functionCallsByStep.get(stepId);\n if (items == null) {\n return undefined;\n }\n const index = typeof toolCall.index === 'number' ? toolCall.index : undefined;\n if (index != null) {\n return items[index];\n }\n const name = getToolCallName(toolCall);\n let fallback: ResponseFunctionCallItem | undefined;\n for (const item of items) {\n if (item == null || item.status === 'completed') {\n continue;\n }\n if (name !== '' && item.name !== name) {\n continue;\n }\n if (fallback != null) {\n return undefined;\n }\n fallback = item;\n }\n return fallback;\n}\n\nfunction trackFunctionCallKeys(\n config: ResponsesHandlerConfig,\n item: ResponseFunctionCallItem,\n idKey: string | undefined,\n positionKey: string\n): void {\n config.tracker.functionCalls.set(positionKey, item);\n if (idKey != null) {\n config.tracker.functionCalls.set(idKey, item);\n }\n}\n\nfunction trackFunctionCallStep(\n config: ResponsesHandlerConfig,\n stepId: string,\n item: ResponseFunctionCallItem,\n fallbackIndex: number\n): void {\n if (stepId === '') {\n return;\n }\n const items = config.tracker.functionCallsByStep.get(stepId) ?? [];\n items[fallbackIndex] = item;\n config.tracker.functionCallsByStep.set(stepId, items);\n}\n\nfunction getToolCallName(toolCall: ResponseToolCallFragment): string {\n return toolCall.name ?? toolCall.function?.name ?? '';\n}\n\nfunction getToolCallArguments(toolCall: ResponseToolCallFragment): string {\n const args = toolCall.args ?? toolCall.function?.arguments;\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return args;\n }\n return JSON.stringify(args);\n}\n\nasync function ensureFunctionCall(\n config: ResponsesHandlerConfig,\n stepId: string,\n toolCall: ResponseToolCallFragment,\n fallbackIndex: number\n): Promise<ResponseFunctionCallItem> {\n await ensureResponseCreated(config);\n const positionKey = getToolCallPositionKey(stepId, toolCall, fallbackIndex);\n const idKey = getToolCallIdKey(toolCall);\n const existing = getExistingFunctionCall(\n config,\n idKey,\n positionKey,\n stepId,\n toolCall\n );\n const toolCallIndex = getToolCallIndex(toolCall, fallbackIndex);\n const name = getToolCallName(toolCall);\n if (existing) {\n trackFunctionCallKeys(config, existing, idKey, positionKey);\n trackFunctionCallStep(config, stepId, existing, toolCallIndex);\n if (idKey != null) {\n existing.call_id = idKey;\n }\n if (name !== '') {\n existing.name = name;\n }\n return existing;\n }\n const item: ResponseFunctionCallItem = {\n type: 'function_call',\n id: createItemId('fc'),\n call_id: idKey ?? positionKey,\n name,\n arguments: '',\n status: 'in_progress',\n };\n trackFunctionCallKeys(config, item, idKey, positionKey);\n trackFunctionCallStep(config, stepId, item, toolCallIndex);\n config.tracker.items.push(item);\n await writeResponseEvent(config.writer, {\n type: 'response.output_item.added',\n sequence_number: config.tracker.nextSequence(),\n output_index: config.tracker.items.length - 1,\n item,\n });\n return item;\n}\n\nasync function emitFunctionCallArgumentsDelta(params: {\n config: ResponsesHandlerConfig;\n item: ResponseFunctionCallItem;\n delta: string;\n}): Promise<void> {\n if (params.delta === '') {\n return;\n }\n params.item.arguments += params.delta;\n await writeResponseEvent(params.config.writer, {\n type: 'response.function_call_arguments.delta',\n sequence_number: params.config.tracker.nextSequence(),\n item_id: params.item.id,\n output_index: params.config.tracker.items.indexOf(params.item),\n call_id: params.item.call_id,\n delta: params.delta,\n });\n}\n\nasync function emitFunctionCallArgumentsDone(\n config: ResponsesHandlerConfig,\n item: ResponseFunctionCallItem\n): Promise<void> {\n await writeResponseEvent(config.writer, {\n type: 'response.function_call_arguments.done',\n sequence_number: config.tracker.nextSequence(),\n item_id: item.id,\n output_index: config.tracker.items.indexOf(item),\n call_id: item.call_id,\n name: item.name,\n arguments: item.arguments,\n });\n}\n\nasync function completeFunctionCall(\n config: ResponsesHandlerConfig,\n stepId: string,\n toolCall: ResponseToolCallFragment\n): Promise<void> {\n const fallbackIndex =\n typeof toolCall.index === 'number' ? toolCall.index : undefined;\n const positionKey =\n fallbackIndex == null\n ? undefined\n : getToolCallPositionKey(stepId, toolCall, fallbackIndex);\n const item =\n getExistingFunctionCall(\n config,\n getToolCallIdKey(toolCall),\n positionKey,\n stepId,\n toolCall\n ) ??\n (await ensureFunctionCall(config, stepId, toolCall, fallbackIndex ?? 0));\n if (item.status === 'completed') {\n return;\n }\n const finalArguments = getToolCallArguments(toolCall);\n if (\n finalArguments !== '' &&\n finalArguments !== item.arguments &&\n finalArguments.startsWith(item.arguments)\n ) {\n await emitFunctionCallArgumentsDelta({\n config,\n item,\n delta: finalArguments.slice(item.arguments.length),\n });\n } else if (finalArguments !== '') {\n item.arguments = finalArguments;\n }\n await emitFunctionCallArgumentsDone(config, item);\n item.status = 'completed';\n await writeResponseEvent(config.writer, {\n type: 'response.output_item.done',\n sequence_number: config.tracker.nextSequence(),\n output_index: config.tracker.items.indexOf(item),\n item,\n });\n}\n\nexport function buildResponse(\n context: ResponseContext,\n tracker: ResponseTracker,\n status: ResponseStatus = 'in_progress'\n): ResponseObject {\n const completed = status === 'completed';\n return {\n id: context.responseId,\n object: 'response',\n created_at: context.createdAt,\n completed_at: completed ? Math.floor(Date.now() / 1000) : null,\n status,\n model: context.model,\n previous_response_id: context.previousResponseId ?? null,\n instructions: context.instructions ?? null,\n output: tracker.items,\n error: null,\n usage: completed\n ? {\n input_tokens: tracker.usage.inputTokens,\n output_tokens: tracker.usage.outputTokens,\n total_tokens: tracker.usage.inputTokens + tracker.usage.outputTokens,\n }\n : null,\n };\n}\n\nexport async function writeResponseEvent(\n writer: ResponsesCompatibleWriter,\n event: ResponseEvent\n): Promise<void> {\n await writer.write(`event: ${event.type}\\n`);\n await writer.write(`data: ${JSON.stringify(event)}\\n\\n`);\n}\n\nexport async function writeResponsesDone(\n writer: ResponsesCompatibleWriter\n): Promise<void> {\n await writer.write('data: [DONE]\\n\\n');\n}\n\nexport async function ensureResponseCreated(\n config: ResponsesHandlerConfig\n): Promise<void> {\n if (config.tracker.responseCreated) {\n return;\n }\n config.tracker.responseCreated = true;\n await writeResponseEvent(config.writer, {\n type: 'response.created',\n sequence_number: config.tracker.nextSequence(),\n response: buildResponse(config.context, config.tracker),\n });\n}\n\nasync function emitOutputContentDone(\n config: ResponsesHandlerConfig,\n item: ResponseMessageItem | ResponseReasoningItem\n): Promise<void> {\n const outputIndex = config.tracker.items.indexOf(item);\n if (item.type === 'message') {\n await writeResponseEvent(config.writer, {\n type: 'response.output_text.done',\n sequence_number: config.tracker.nextSequence(),\n item_id: item.id,\n output_index: outputIndex,\n content_index: 0,\n text: item.content[0].text,\n });\n return;\n }\n await writeResponseEvent(config.writer, {\n type: 'response.reasoning_text.done',\n sequence_number: config.tracker.nextSequence(),\n item_id: item.id,\n output_index: outputIndex,\n content_index: 0,\n text: item.content[0].text,\n });\n}\n\nasync function ensureMessage(\n config: ResponsesHandlerConfig\n): Promise<ResponseMessageItem> {\n await ensureResponseCreated(config);\n if (config.tracker.message) {\n return config.tracker.message;\n }\n const item: ResponseMessageItem = {\n type: 'message',\n id: createItemId('msg'),\n role: 'assistant',\n status: 'in_progress',\n content: [{ type: 'output_text', text: '', annotations: [], logprobs: [] }],\n };\n config.tracker.message = item;\n config.tracker.items.push(item);\n await writeResponseEvent(config.writer, {\n type: 'response.output_item.added',\n sequence_number: config.tracker.nextSequence(),\n output_index: config.tracker.items.length - 1,\n item,\n });\n return item;\n}\n\nasync function ensureReasoning(\n config: ResponsesHandlerConfig\n): Promise<ResponseReasoningItem> {\n await ensureResponseCreated(config);\n if (config.tracker.reasoning) {\n return config.tracker.reasoning;\n }\n const item: ResponseReasoningItem = {\n type: 'reasoning',\n id: createItemId('reason'),\n status: 'in_progress',\n content: [{ type: 'reasoning_text', text: '' }],\n summary: [],\n };\n config.tracker.reasoning = item;\n config.tracker.items.push(item);\n await writeResponseEvent(config.writer, {\n type: 'response.output_item.added',\n sequence_number: config.tracker.nextSequence(),\n output_index: config.tracker.items.length - 1,\n item,\n });\n return item;\n}\n\nexport function createResponsesEventHandlers(\n config: ResponsesHandlerConfig\n): Record<string, t.EventHandler> {\n return {\n [GraphEvents.ON_MESSAGE_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n const item = await ensureMessage(config);\n for (const part of (data as t.MessageDeltaEvent).delta.content ?? []) {\n if (!('text' in part) || typeof part.text !== 'string') {\n continue;\n }\n item.content[0].text += part.text;\n await writeResponseEvent(config.writer, {\n type: 'response.output_text.delta',\n sequence_number: config.tracker.nextSequence(),\n item_id: item.id,\n output_index: config.tracker.items.indexOf(item),\n content_index: 0,\n delta: part.text,\n });\n }\n },\n },\n [GraphEvents.ON_REASONING_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n const item = await ensureReasoning(config);\n for (const part of (data as t.ReasoningDeltaEvent).delta.content ??\n []) {\n let text: string | undefined;\n if ('think' in part && typeof part.think === 'string') {\n text = part.think;\n } else if ('text' in part && typeof part.text === 'string') {\n text = part.text;\n }\n if (typeof text !== 'string') {\n continue;\n }\n item.content[0].text += text;\n await writeResponseEvent(config.writer, {\n type: 'response.reasoning_text.delta',\n sequence_number: config.tracker.nextSequence(),\n item_id: item.id,\n output_index: config.tracker.items.indexOf(item),\n content_index: 0,\n delta: text,\n });\n }\n },\n },\n [GraphEvents.ON_RUN_STEP]: {\n handle: async (_event, data): Promise<void> => {\n const runStep = data as t.RunStep;\n if (runStep.stepDetails.type !== 'tool_calls') {\n return;\n }\n const toolCalls = runStep.stepDetails.tool_calls ?? [];\n for (let index = 0; index < toolCalls.length; index++) {\n await ensureFunctionCall(config, runStep.id, toolCalls[index], index);\n }\n },\n },\n [GraphEvents.ON_RUN_STEP_DELTA]: {\n handle: async (_event, data): Promise<void> => {\n const runStepDelta = data as t.RunStepDeltaEvent;\n if (runStepDelta.delta.type !== 'tool_calls') {\n return;\n }\n const toolCalls = runStepDelta.delta.tool_calls ?? [];\n for (let index = 0; index < toolCalls.length; index++) {\n const item = await ensureFunctionCall(\n config,\n runStepDelta.id,\n toolCalls[index],\n index\n );\n await emitFunctionCallArgumentsDelta({\n config,\n item,\n delta: getToolCallArguments(toolCalls[index]),\n });\n }\n },\n },\n [GraphEvents.ON_RUN_STEP_COMPLETED]: {\n handle: async (_event, data): Promise<void> => {\n const completed = data as {\n result?: {\n id?: string;\n index?: number;\n type?: string;\n tool_call?: ResponseToolCallFragment;\n };\n };\n if (!completed.result?.tool_call) {\n return;\n }\n await completeFunctionCall(\n config,\n completed.result.id ?? '',\n completed.result.tool_call\n );\n },\n },\n [GraphEvents.CHAT_MODEL_END]: {\n handle: (_event, data): void => {\n const usage = (data as t.ModelEndData)?.output?.usage_metadata as\n | Partial<UsageMetadata>\n | undefined;\n if (!usage) {\n return;\n }\n config.tracker.usage.inputTokens += getTokenCount(usage.input_tokens);\n config.tracker.usage.outputTokens += getTokenCount(usage.output_tokens);\n },\n },\n };\n}\n\nexport async function emitResponseCompleted(\n config: ResponsesHandlerConfig\n): Promise<void> {\n await ensureResponseCreated(config);\n for (const item of config.tracker.items) {\n if (item.status === 'completed') {\n continue;\n }\n if (item.type === 'message' || item.type === 'reasoning') {\n await emitOutputContentDone(config, item);\n } else {\n await emitFunctionCallArgumentsDone(config, item);\n }\n item.status = 'completed';\n await writeResponseEvent(config.writer, {\n type: 'response.output_item.done',\n sequence_number: config.tracker.nextSequence(),\n output_index: config.tracker.items.indexOf(item),\n item,\n });\n }\n await writeResponseEvent(config.writer, {\n type: 'response.completed',\n sequence_number: config.tracker.nextSequence(),\n response: buildResponse(config.context, config.tracker, 'completed'),\n });\n await writeResponsesDone(config.writer);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/responses/index.ts"],"mappings":"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"}
|