@librechat/agents 3.2.32 → 3.2.33
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/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/cjs/agents/AgentContext.cjs +844 -1046
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/common/constants.cjs +13 -13
- package/dist/cjs/common/constants.cjs.map +1 -1
- package/dist/cjs/common/enum.cjs +233 -240
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/common/index.cjs +2 -0
- package/dist/cjs/events.cjs +121 -169
- package/dist/cjs/events.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +1389 -1807
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +713 -945
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/graphs/index.cjs +2 -0
- package/dist/cjs/hitl/askUserQuestion.cjs +60 -62
- package/dist/cjs/hitl/askUserQuestion.cjs.map +1 -1
- package/dist/cjs/hitl/index.cjs +1 -0
- package/dist/cjs/hooks/HookRegistry.cjs +176 -202
- package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
- package/dist/cjs/hooks/createToolPolicyHook.cjs +71 -101
- package/dist/cjs/hooks/createToolPolicyHook.cjs.map +1 -1
- package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +170 -273
- package/dist/cjs/hooks/createWorkspacePolicyHook.cjs.map +1 -1
- package/dist/cjs/hooks/executeHooks.cjs +227 -282
- package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
- package/dist/cjs/hooks/index.cjs +6 -0
- package/dist/cjs/hooks/matchers.cjs +196 -230
- package/dist/cjs/hooks/matchers.cjs.map +1 -1
- package/dist/cjs/hooks/types.cjs +24 -24
- package/dist/cjs/hooks/types.cjs.map +1 -1
- package/dist/cjs/instrumentation.cjs +110 -137
- package/dist/cjs/instrumentation.cjs.map +1 -1
- package/dist/cjs/langchain/google-common.cjs +0 -3
- package/dist/cjs/langchain/index.cjs +80 -43
- package/dist/cjs/langchain/language_models/chat_models.cjs +0 -3
- package/dist/cjs/langchain/messages/tool.cjs +0 -3
- package/dist/cjs/langchain/messages.cjs +35 -18
- package/dist/cjs/langchain/openai.cjs +0 -3
- package/dist/cjs/langchain/prompts.cjs +5 -8
- package/dist/cjs/langchain/runnables.cjs +11 -10
- package/dist/cjs/langchain/tools.cjs +14 -11
- package/dist/cjs/langchain/utils/env.cjs +5 -8
- package/dist/cjs/langfuse.cjs +60 -79
- package/dist/cjs/langfuse.cjs.map +1 -1
- package/dist/cjs/langfuseToolOutputTracing.cjs +267 -399
- package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/index.cjs +432 -562
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/types.cjs +23 -47
- package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +441 -731
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +171 -256
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/output_parsers.cjs +2 -0
- package/dist/cjs/llm/anthropic/utils/tools.cjs +12 -26
- package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/index.cjs +195 -240
- package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/toolCache.cjs +84 -106
- package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/index.cjs +2 -0
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +357 -620
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +105 -149
- package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/fake.cjs +86 -96
- package/dist/cjs/llm/fake.cjs.map +1 -1
- package/dist/cjs/llm/google/index.cjs +183 -237
- package/dist/cjs/llm/google/index.cjs.map +1 -1
- package/dist/cjs/llm/google/utils/common.cjs +398 -674
- package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
- package/dist/cjs/llm/google/utils/zod_to_genai_parameters.cjs +2 -0
- package/dist/cjs/llm/init.cjs +44 -53
- package/dist/cjs/llm/init.cjs.map +1 -1
- package/dist/cjs/llm/invoke.cjs +142 -182
- package/dist/cjs/llm/invoke.cjs.map +1 -1
- package/dist/cjs/llm/openai/index.cjs +991 -1276
- package/dist/cjs/llm/openai/index.cjs.map +1 -1
- package/dist/cjs/llm/openai/utils/index.cjs +189 -316
- package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/index.cjs +102 -153
- package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
- package/dist/cjs/llm/openrouter/toolCache.cjs +35 -44
- package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
- package/dist/cjs/llm/providers.cjs +29 -37
- package/dist/cjs/llm/providers.cjs.map +1 -1
- package/dist/cjs/llm/request.cjs +20 -33
- package/dist/cjs/llm/request.cjs.map +1 -1
- package/dist/cjs/llm/vertexai/index.cjs +427 -453
- package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
- package/dist/cjs/main.cjs +547 -528
- package/dist/cjs/messages/anthropicToolCache.cjs +68 -119
- package/dist/cjs/messages/anthropicToolCache.cjs.map +1 -1
- package/dist/cjs/messages/cache.cjs +305 -418
- package/dist/cjs/messages/cache.cjs.map +1 -1
- package/dist/cjs/messages/content.cjs +36 -49
- package/dist/cjs/messages/content.cjs.map +1 -1
- package/dist/cjs/messages/contextPruning.cjs +112 -145
- package/dist/cjs/messages/contextPruning.cjs.map +1 -1
- package/dist/cjs/messages/contextPruningSettings.cjs +36 -46
- package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -1
- package/dist/cjs/messages/core.cjs +256 -397
- package/dist/cjs/messages/core.cjs.map +1 -1
- package/dist/cjs/messages/format.cjs +904 -1387
- package/dist/cjs/messages/format.cjs.map +1 -1
- package/dist/cjs/messages/ids.cjs +16 -20
- package/dist/cjs/messages/ids.cjs.map +1 -1
- package/dist/cjs/messages/index.cjs +12 -0
- package/dist/cjs/messages/langchain.cjs +18 -18
- package/dist/cjs/messages/langchain.cjs.map +1 -1
- package/dist/cjs/messages/prune.cjs +1054 -1517
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/messages/recency.cjs +77 -95
- package/dist/cjs/messages/recency.cjs.map +1 -1
- package/dist/cjs/messages/reducer.cjs +63 -78
- package/dist/cjs/messages/reducer.cjs.map +1 -1
- package/dist/cjs/messages/tools.cjs +51 -79
- package/dist/cjs/messages/tools.cjs.map +1 -1
- package/dist/cjs/openai/index.cjs +171 -217
- package/dist/cjs/openai/index.cjs.map +1 -1
- package/dist/cjs/responses/index.cjs +302 -391
- package/dist/cjs/responses/index.cjs.map +1 -1
- package/dist/cjs/run.cjs +903 -1113
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/session/AgentSession.cjs +805 -986
- package/dist/cjs/session/AgentSession.cjs.map +1 -1
- package/dist/cjs/session/JsonlSessionStore.cjs +327 -410
- package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
- package/dist/cjs/session/handlers.cjs +192 -208
- package/dist/cjs/session/handlers.cjs.map +1 -1
- package/dist/cjs/session/ids.cjs +9 -10
- package/dist/cjs/session/ids.cjs.map +1 -1
- package/dist/cjs/session/index.cjs +4 -0
- package/dist/cjs/session/messageSerialization.cjs +94 -156
- package/dist/cjs/session/messageSerialization.cjs.map +1 -1
- package/dist/cjs/splitStream.cjs +147 -206
- package/dist/cjs/splitStream.cjs.map +1 -1
- package/dist/cjs/stream.cjs +856 -1344
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/index.cjs +57 -101
- package/dist/cjs/summarization/index.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +643 -796
- package/dist/cjs/summarization/node.cjs.map +1 -1
- package/dist/cjs/tools/BashExecutor.cjs +110 -136
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +165 -245
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/Calculator.cjs +36 -57
- package/dist/cjs/tools/Calculator.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +126 -168
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/CodeSessionFileSummary.cjs +36 -46
- package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +459 -649
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/ReadFile.cjs +17 -20
- package/dist/cjs/tools/ReadFile.cjs.map +1 -1
- package/dist/cjs/tools/SkillTool.cjs +26 -27
- package/dist/cjs/tools/SkillTool.cjs.map +1 -1
- package/dist/cjs/tools/SubagentTool.cjs +59 -61
- package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +2109 -2686
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/ToolSearch.cjs +663 -825
- package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs +248 -340
- package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs +170 -197
- package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +425 -520
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs +91 -124
- package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/index.cjs +4 -0
- package/dist/cjs/tools/eagerEventExecution.cjs +75 -99
- package/dist/cjs/tools/eagerEventExecution.cjs.map +1 -1
- package/dist/cjs/tools/handlers.cjs +200 -262
- package/dist/cjs/tools/handlers.cjs.map +1 -1
- package/dist/cjs/tools/local/CompileCheckTool.cjs +150 -212
- package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
- package/dist/cjs/tools/local/FileCheckpointer.cjs +77 -85
- package/dist/cjs/tools/local/FileCheckpointer.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalCodingTools.cjs +763 -1022
- package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs +666 -941
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalExecutionTools.cjs +49 -92
- package/dist/cjs/tools/local/LocalExecutionTools.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +286 -354
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/local/attachments.cjs +108 -165
- package/dist/cjs/tools/local/attachments.cjs.map +1 -1
- package/dist/cjs/tools/local/bashAst.cjs +99 -113
- package/dist/cjs/tools/local/bashAst.cjs.map +1 -1
- package/dist/cjs/tools/local/editStrategies.cjs +126 -169
- package/dist/cjs/tools/local/editStrategies.cjs.map +1 -1
- package/dist/cjs/tools/local/index.cjs +12 -0
- package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs +136 -218
- package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
- package/dist/cjs/tools/local/syntaxCheck.cjs +142 -161
- package/dist/cjs/tools/local/syntaxCheck.cjs.map +1 -1
- package/dist/cjs/tools/local/textEncoding.cjs +25 -23
- package/dist/cjs/tools/local/textEncoding.cjs.map +1 -1
- package/dist/cjs/tools/local/workspaceFS.cjs +38 -46
- package/dist/cjs/tools/local/workspaceFS.cjs.map +1 -1
- package/dist/cjs/tools/ptcTimeout.cjs +27 -47
- package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
- package/dist/cjs/tools/schema.cjs +24 -23
- package/dist/cjs/tools/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/anthropic.cjs +24 -33
- package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
- package/dist/cjs/tools/search/content.cjs +95 -137
- package/dist/cjs/tools/search/content.cjs.map +1 -1
- package/dist/cjs/tools/search/firecrawl.cjs +141 -172
- package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
- package/dist/cjs/tools/search/format.cjs +128 -196
- package/dist/cjs/tools/search/format.cjs.map +1 -1
- package/dist/cjs/tools/search/highlights.cjs +165 -232
- package/dist/cjs/tools/search/highlights.cjs.map +1 -1
- package/dist/cjs/tools/search/index.cjs +2 -0
- package/dist/cjs/tools/search/rerankers.cjs +151 -174
- package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
- package/dist/cjs/tools/search/schema.cjs +40 -39
- package/dist/cjs/tools/search/schema.cjs.map +1 -1
- package/dist/cjs/tools/search/search.cjs +428 -530
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/serper-scraper.cjs +106 -127
- package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/tavily-scraper.cjs +129 -181
- package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -1
- package/dist/cjs/tools/search/tavily-search.cjs +295 -359
- package/dist/cjs/tools/search/tavily-search.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs +260 -299
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/cjs/tools/search/utils.cjs +74 -117
- package/dist/cjs/tools/search/utils.cjs.map +1 -1
- package/dist/cjs/tools/skillCatalog.cjs +54 -72
- package/dist/cjs/tools/skillCatalog.cjs.map +1 -1
- package/dist/cjs/tools/streamedToolCallSeals.cjs +19 -36
- package/dist/cjs/tools/streamedToolCallSeals.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +612 -771
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
- package/dist/cjs/tools/subagent/index.cjs +1 -0
- package/dist/cjs/tools/toolOutputReferences.cjs +523 -630
- package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
- package/dist/cjs/utils/callbacks.cjs +11 -21
- package/dist/cjs/utils/callbacks.cjs.map +1 -1
- package/dist/cjs/utils/errors.cjs +70 -95
- package/dist/cjs/utils/errors.cjs.map +1 -1
- package/dist/cjs/utils/events.cjs +32 -42
- package/dist/cjs/utils/events.cjs.map +1 -1
- package/dist/cjs/utils/graph.cjs +8 -12
- package/dist/cjs/utils/graph.cjs.map +1 -1
- package/dist/cjs/utils/handlers.cjs +60 -82
- package/dist/cjs/utils/handlers.cjs.map +1 -1
- package/dist/cjs/utils/index.cjs +9 -0
- package/dist/cjs/utils/llm.cjs +19 -27
- package/dist/cjs/utils/llm.cjs.map +1 -1
- package/dist/cjs/utils/misc.cjs +30 -46
- package/dist/cjs/utils/misc.cjs.map +1 -1
- package/dist/cjs/utils/run.cjs +50 -66
- package/dist/cjs/utils/run.cjs.map +1 -1
- package/dist/cjs/utils/schema.cjs +11 -19
- package/dist/cjs/utils/schema.cjs.map +1 -1
- package/dist/cjs/utils/title.cjs +71 -106
- package/dist/cjs/utils/title.cjs.map +1 -1
- package/dist/cjs/utils/tokens.cjs +186 -283
- package/dist/cjs/utils/tokens.cjs.map +1 -1
- package/dist/cjs/utils/truncation.cjs +95 -114
- package/dist/cjs/utils/truncation.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +844 -1044
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/common/constants.mjs +13 -11
- package/dist/esm/common/constants.mjs.map +1 -1
- package/dist/esm/common/enum.mjs +221 -238
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/common/index.mjs +3 -0
- package/dist/esm/events.mjs +121 -167
- package/dist/esm/events.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +1388 -1804
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +713 -943
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/graphs/index.mjs +3 -0
- package/dist/esm/hitl/askUserQuestion.mjs +60 -60
- package/dist/esm/hitl/askUserQuestion.mjs.map +1 -1
- package/dist/esm/hitl/index.mjs +2 -0
- package/dist/esm/hooks/HookRegistry.mjs +176 -200
- package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
- package/dist/esm/hooks/createToolPolicyHook.mjs +71 -99
- package/dist/esm/hooks/createToolPolicyHook.mjs.map +1 -1
- package/dist/esm/hooks/createWorkspacePolicyHook.mjs +170 -271
- package/dist/esm/hooks/createWorkspacePolicyHook.mjs.map +1 -1
- package/dist/esm/hooks/executeHooks.mjs +227 -280
- package/dist/esm/hooks/executeHooks.mjs.map +1 -1
- package/dist/esm/hooks/index.mjs +7 -0
- package/dist/esm/hooks/matchers.mjs +196 -228
- package/dist/esm/hooks/matchers.mjs.map +1 -1
- package/dist/esm/hooks/types.mjs +24 -22
- package/dist/esm/hooks/types.mjs.map +1 -1
- package/dist/esm/instrumentation.mjs +109 -132
- package/dist/esm/instrumentation.mjs.map +1 -1
- package/dist/esm/langchain/google-common.mjs +1 -2
- package/dist/esm/langchain/index.mjs +5 -5
- package/dist/esm/langchain/language_models/chat_models.mjs +1 -2
- package/dist/esm/langchain/messages/tool.mjs +1 -2
- package/dist/esm/langchain/messages.mjs +2 -2
- package/dist/esm/langchain/openai.mjs +1 -2
- package/dist/esm/langchain/prompts.mjs +2 -2
- package/dist/esm/langchain/runnables.mjs +2 -2
- package/dist/esm/langchain/tools.mjs +2 -2
- package/dist/esm/langchain/utils/env.mjs +2 -2
- package/dist/esm/langfuse.mjs +60 -76
- package/dist/esm/langfuse.mjs.map +1 -1
- package/dist/esm/langfuseToolOutputTracing.mjs +267 -395
- package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
- package/dist/esm/llm/anthropic/index.mjs +432 -559
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/types.mjs +23 -45
- package/dist/esm/llm/anthropic/types.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +439 -725
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs +171 -253
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/output_parsers.mjs +3 -0
- package/dist/esm/llm/anthropic/utils/tools.mjs +12 -24
- package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
- package/dist/esm/llm/bedrock/index.mjs +195 -238
- package/dist/esm/llm/bedrock/index.mjs.map +1 -1
- package/dist/esm/llm/bedrock/toolCache.mjs +84 -104
- package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/index.mjs +3 -0
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +357 -618
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs +105 -147
- package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/fake.mjs +86 -94
- package/dist/esm/llm/fake.mjs.map +1 -1
- package/dist/esm/llm/google/index.mjs +183 -235
- package/dist/esm/llm/google/index.mjs.map +1 -1
- package/dist/esm/llm/google/utils/common.mjs +397 -666
- package/dist/esm/llm/google/utils/common.mjs.map +1 -1
- package/dist/esm/llm/google/utils/zod_to_genai_parameters.mjs +3 -0
- package/dist/esm/llm/init.mjs +44 -51
- package/dist/esm/llm/init.mjs.map +1 -1
- package/dist/esm/llm/invoke.mjs +142 -180
- package/dist/esm/llm/invoke.mjs.map +1 -1
- package/dist/esm/llm/openai/index.mjs +991 -1271
- package/dist/esm/llm/openai/index.mjs.map +1 -1
- package/dist/esm/llm/openai/utils/index.mjs +188 -312
- package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/index.mjs +102 -151
- package/dist/esm/llm/openrouter/index.mjs.map +1 -1
- package/dist/esm/llm/openrouter/toolCache.mjs +35 -42
- package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
- package/dist/esm/llm/providers.mjs +29 -34
- package/dist/esm/llm/providers.mjs.map +1 -1
- package/dist/esm/llm/request.mjs +20 -31
- package/dist/esm/llm/request.mjs.map +1 -1
- package/dist/esm/llm/vertexai/index.mjs +427 -449
- package/dist/esm/llm/vertexai/index.mjs.map +1 -1
- package/dist/esm/main.mjs +99 -87
- package/dist/esm/messages/anthropicToolCache.mjs +68 -117
- package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
- package/dist/esm/messages/cache.mjs +305 -416
- package/dist/esm/messages/cache.mjs.map +1 -1
- package/dist/esm/messages/content.mjs +36 -47
- package/dist/esm/messages/content.mjs.map +1 -1
- package/dist/esm/messages/contextPruning.mjs +112 -143
- package/dist/esm/messages/contextPruning.mjs.map +1 -1
- package/dist/esm/messages/contextPruningSettings.mjs +36 -44
- package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
- package/dist/esm/messages/core.mjs +254 -393
- package/dist/esm/messages/core.mjs.map +1 -1
- package/dist/esm/messages/format.mjs +902 -1383
- package/dist/esm/messages/format.mjs.map +1 -1
- package/dist/esm/messages/ids.mjs +16 -18
- package/dist/esm/messages/ids.mjs.map +1 -1
- package/dist/esm/messages/index.mjs +13 -0
- package/dist/esm/messages/langchain.mjs +18 -16
- package/dist/esm/messages/langchain.mjs.map +1 -1
- package/dist/esm/messages/prune.mjs +1053 -1514
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/messages/recency.mjs +77 -93
- package/dist/esm/messages/recency.mjs.map +1 -1
- package/dist/esm/messages/reducer.mjs +63 -76
- package/dist/esm/messages/reducer.mjs.map +1 -1
- package/dist/esm/messages/tools.mjs +49 -75
- package/dist/esm/messages/tools.mjs.map +1 -1
- package/dist/esm/openai/index.mjs +170 -215
- package/dist/esm/openai/index.mjs.map +1 -1
- package/dist/esm/responses/index.mjs +301 -389
- package/dist/esm/responses/index.mjs.map +1 -1
- package/dist/esm/run.mjs +903 -1111
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/session/AgentSession.mjs +806 -985
- package/dist/esm/session/AgentSession.mjs.map +1 -1
- package/dist/esm/session/JsonlSessionStore.mjs +326 -407
- package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
- package/dist/esm/session/handlers.mjs +192 -206
- package/dist/esm/session/handlers.mjs.map +1 -1
- package/dist/esm/session/ids.mjs +9 -8
- package/dist/esm/session/ids.mjs.map +1 -1
- package/dist/esm/session/index.mjs +5 -0
- package/dist/esm/session/messageSerialization.mjs +94 -154
- package/dist/esm/session/messageSerialization.mjs.map +1 -1
- package/dist/esm/splitStream.mjs +147 -204
- package/dist/esm/splitStream.mjs.map +1 -1
- package/dist/esm/stream.mjs +854 -1341
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/index.mjs +57 -99
- package/dist/esm/summarization/index.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +640 -790
- package/dist/esm/summarization/node.mjs.map +1 -1
- package/dist/esm/tools/BashExecutor.mjs +103 -129
- package/dist/esm/tools/BashExecutor.mjs.map +1 -1
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs +162 -239
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/Calculator.mjs +34 -36
- package/dist/esm/tools/Calculator.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +123 -164
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/CodeSessionFileSummary.mjs +36 -44
- package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +454 -644
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/ReadFile.mjs +17 -18
- package/dist/esm/tools/ReadFile.mjs.map +1 -1
- package/dist/esm/tools/SkillTool.mjs +26 -25
- package/dist/esm/tools/SkillTool.mjs.map +1 -1
- package/dist/esm/tools/SubagentTool.mjs +59 -59
- package/dist/esm/tools/SubagentTool.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +2107 -2684
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/ToolSearch.mjs +659 -804
- package/dist/esm/tools/ToolSearch.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs +248 -338
- package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs +170 -195
- package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +424 -517
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs +91 -122
- package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/index.mjs +5 -0
- package/dist/esm/tools/eagerEventExecution.mjs +75 -96
- package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
- package/dist/esm/tools/handlers.mjs +200 -260
- package/dist/esm/tools/handlers.mjs.map +1 -1
- package/dist/esm/tools/local/CompileCheckTool.mjs +150 -210
- package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
- package/dist/esm/tools/local/FileCheckpointer.mjs +77 -83
- package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
- package/dist/esm/tools/local/LocalCodingTools.mjs +760 -1017
- package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
- package/dist/esm/tools/local/LocalExecutionEngine.mjs +663 -936
- package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
- package/dist/esm/tools/local/LocalExecutionTools.mjs +49 -90
- package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +283 -349
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/local/attachments.mjs +108 -163
- package/dist/esm/tools/local/attachments.mjs.map +1 -1
- package/dist/esm/tools/local/bashAst.mjs +99 -111
- package/dist/esm/tools/local/bashAst.mjs.map +1 -1
- package/dist/esm/tools/local/editStrategies.mjs +126 -167
- package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
- package/dist/esm/tools/local/index.mjs +13 -0
- package/dist/esm/tools/local/resolveLocalExecutionTools.mjs +136 -216
- package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
- package/dist/esm/tools/local/syntaxCheck.mjs +138 -155
- package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
- package/dist/esm/tools/local/textEncoding.mjs +25 -21
- package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
- package/dist/esm/tools/local/workspaceFS.mjs +38 -44
- package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
- package/dist/esm/tools/ptcTimeout.mjs +27 -42
- package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
- package/dist/esm/tools/schema.mjs +24 -21
- package/dist/esm/tools/schema.mjs.map +1 -1
- package/dist/esm/tools/search/anthropic.mjs +24 -31
- package/dist/esm/tools/search/anthropic.mjs.map +1 -1
- package/dist/esm/tools/search/content.mjs +93 -116
- package/dist/esm/tools/search/content.mjs.map +1 -1
- package/dist/esm/tools/search/firecrawl.mjs +139 -169
- package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
- package/dist/esm/tools/search/format.mjs +128 -194
- package/dist/esm/tools/search/format.mjs.map +1 -1
- package/dist/esm/tools/search/highlights.mjs +165 -230
- package/dist/esm/tools/search/highlights.mjs.map +1 -1
- package/dist/esm/tools/search/index.mjs +3 -0
- package/dist/esm/tools/search/rerankers.mjs +149 -168
- package/dist/esm/tools/search/rerankers.mjs.map +1 -1
- package/dist/esm/tools/search/schema.mjs +39 -37
- package/dist/esm/tools/search/schema.mjs.map +1 -1
- package/dist/esm/tools/search/search.mjs +426 -528
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/serper-scraper.mjs +104 -124
- package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/tavily-scraper.mjs +127 -178
- package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
- package/dist/esm/tools/search/tavily-search.mjs +293 -357
- package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs +259 -297
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/esm/tools/search/utils.mjs +74 -115
- package/dist/esm/tools/search/utils.mjs.map +1 -1
- package/dist/esm/tools/skillCatalog.mjs +54 -70
- package/dist/esm/tools/skillCatalog.mjs.map +1 -1
- package/dist/esm/tools/streamedToolCallSeals.mjs +19 -31
- package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +612 -768
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
- package/dist/esm/tools/subagent/index.mjs +2 -0
- package/dist/esm/tools/toolOutputReferences.mjs +523 -624
- package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
- package/dist/esm/utils/callbacks.mjs +11 -19
- package/dist/esm/utils/callbacks.mjs.map +1 -1
- package/dist/esm/utils/errors.mjs +70 -93
- package/dist/esm/utils/errors.mjs.map +1 -1
- package/dist/esm/utils/events.mjs +32 -40
- package/dist/esm/utils/events.mjs.map +1 -1
- package/dist/esm/utils/graph.mjs +8 -10
- package/dist/esm/utils/graph.mjs.map +1 -1
- package/dist/esm/utils/handlers.mjs +60 -80
- package/dist/esm/utils/handlers.mjs.map +1 -1
- package/dist/esm/utils/index.mjs +10 -0
- package/dist/esm/utils/llm.mjs +19 -25
- package/dist/esm/utils/llm.mjs.map +1 -1
- package/dist/esm/utils/misc.mjs +30 -44
- package/dist/esm/utils/misc.mjs.map +1 -1
- package/dist/esm/utils/run.mjs +50 -64
- package/dist/esm/utils/run.mjs.map +1 -1
- package/dist/esm/utils/schema.mjs +11 -17
- package/dist/esm/utils/schema.mjs.map +1 -1
- package/dist/esm/utils/title.mjs +71 -104
- package/dist/esm/utils/title.mjs.map +1 -1
- package/dist/esm/utils/tokens.mjs +186 -281
- package/dist/esm/utils/tokens.mjs.map +1 -1
- package/dist/esm/utils/truncation.mjs +95 -112
- package/dist/esm/utils/truncation.mjs.map +1 -1
- package/dist/types/tools/search/tool.d.ts +17 -0
- package/dist/types/tools/search/types.d.ts +4 -0
- package/package.json +4 -10
- package/src/tools/search/highlights.ts +9 -1
- package/src/tools/search/search.ts +41 -3
- package/src/tools/search/source-processing.test.ts +373 -0
- package/src/tools/search/tool.ts +22 -2
- package/src/tools/search/types.ts +4 -0
- package/dist/cjs/langchain/google-common.cjs.map +0 -1
- package/dist/cjs/langchain/index.cjs.map +0 -1
- package/dist/cjs/langchain/language_models/chat_models.cjs.map +0 -1
- package/dist/cjs/langchain/messages/tool.cjs.map +0 -1
- package/dist/cjs/langchain/messages.cjs.map +0 -1
- package/dist/cjs/langchain/openai.cjs.map +0 -1
- package/dist/cjs/langchain/prompts.cjs.map +0 -1
- package/dist/cjs/langchain/runnables.cjs.map +0 -1
- package/dist/cjs/langchain/tools.cjs.map +0 -1
- package/dist/cjs/langchain/utils/env.cjs.map +0 -1
- package/dist/cjs/main.cjs.map +0 -1
- package/dist/esm/langchain/google-common.mjs.map +0 -1
- package/dist/esm/langchain/index.mjs.map +0 -1
- package/dist/esm/langchain/language_models/chat_models.mjs.map +0 -1
- package/dist/esm/langchain/messages/tool.mjs.map +0 -1
- package/dist/esm/langchain/messages.mjs.map +0 -1
- package/dist/esm/langchain/openai.mjs.map +0 -1
- package/dist/esm/langchain/prompts.mjs.map +0 -1
- package/dist/esm/langchain/runnables.mjs.map +0 -1
- package/dist/esm/langchain/tools.mjs.map +0 -1
- package/dist/esm/langchain/utils/env.mjs.map +0 -1
- package/dist/esm/main.mjs.map +0 -1
|
@@ -1,116 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/summarization/index.ts
|
|
3
2
|
const VALID_TRIGGER_TYPES = [
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
"token_ratio",
|
|
4
|
+
"remaining_tokens",
|
|
5
|
+
"messages_to_refine"
|
|
7
6
|
];
|
|
8
7
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
* Upper bound on the dedup set for unrecognized trigger types. Bounds memory in
|
|
9
|
+
* case a caller threads dynamic/user-provided strings through `trigger.type`.
|
|
10
|
+
* Well above the handful of legit misconfigurations a process would ever see.
|
|
11
|
+
*/
|
|
13
12
|
const MAX_WARNED_TRIGGER_TYPES = 32;
|
|
14
|
-
const warnedUnrecognizedTriggerTypes = new Set();
|
|
13
|
+
const warnedUnrecognizedTriggerTypes = /* @__PURE__ */ new Set();
|
|
15
14
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
* Warn (once per process, per unrecognized type) when the configured trigger
|
|
16
|
+
* type is something the runtime does not evaluate. Without this, a misconfigured
|
|
17
|
+
* `trigger.type` silently disables summarization with no visible signal.
|
|
18
|
+
*
|
|
19
|
+
* The dedup set is size-capped; on overflow we evict the oldest entry (Set
|
|
20
|
+
* preserves insertion order) so we keep bounded memory and still warn on
|
|
21
|
+
* recently-seen types.
|
|
22
|
+
*/
|
|
24
23
|
function warnUnrecognizedTriggerType(type) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
warnedUnrecognizedTriggerTypes.add(type);
|
|
35
|
-
console.warn(`[shouldTriggerSummarization] Unrecognized trigger.type: "${type}". ` +
|
|
36
|
-
`Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(', ')}.`);
|
|
24
|
+
if (warnedUnrecognizedTriggerTypes.has(type)) return;
|
|
25
|
+
if (warnedUnrecognizedTriggerTypes.size >= MAX_WARNED_TRIGGER_TYPES) {
|
|
26
|
+
const oldest = warnedUnrecognizedTriggerTypes.values().next().value;
|
|
27
|
+
if (oldest !== void 0) warnedUnrecognizedTriggerTypes.delete(oldest);
|
|
28
|
+
}
|
|
29
|
+
warnedUnrecognizedTriggerTypes.add(type);
|
|
30
|
+
console.warn(`[shouldTriggerSummarization] Unrecognized trigger.type: "${type}". Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(", ")}.`);
|
|
37
31
|
}
|
|
38
32
|
/** For tests only. Resets the dedup set so warnings can be observed again. */
|
|
39
33
|
function _resetUnrecognizedTriggerWarnings() {
|
|
40
|
-
|
|
34
|
+
warnedUnrecognizedTriggerTypes.clear();
|
|
41
35
|
}
|
|
42
36
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
37
|
+
* Determines whether summarization should be triggered based on the configured trigger
|
|
38
|
+
* and current context state.
|
|
39
|
+
*
|
|
40
|
+
* Default behavior (no trigger configured): returns `true` whenever messages were pruned.
|
|
41
|
+
* This is intentional — when an admin enables summarization without specifying a trigger,
|
|
42
|
+
* summarization fires on any context overflow that causes pruning.
|
|
43
|
+
*
|
|
44
|
+
* When a trigger IS configured but required runtime data is missing (e.g., maxContextTokens
|
|
45
|
+
* unavailable for a token_ratio trigger), returns `false` — we cannot evaluate the condition,
|
|
46
|
+
* so we do not fire.
|
|
47
|
+
*/
|
|
54
48
|
function shouldTriggerSummarization(params) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
maxContextTokens > 0 &&
|
|
74
|
-
prePruneContextTokens != null &&
|
|
75
|
-
Number.isFinite(prePruneContextTokens)
|
|
76
|
-
? maxContextTokens - prePruneContextTokens
|
|
77
|
-
: undefined;
|
|
78
|
-
const effectiveRemainingContextTokens = prePruneRemainingContextTokens ?? remainingContextTokens;
|
|
79
|
-
// Required runtime data missing: cannot evaluate token_ratio, do not fire.
|
|
80
|
-
if (maxContextTokens == null ||
|
|
81
|
-
!Number.isFinite(maxContextTokens) ||
|
|
82
|
-
maxContextTokens <= 0 ||
|
|
83
|
-
effectiveRemainingContextTokens == null ||
|
|
84
|
-
!Number.isFinite(effectiveRemainingContextTokens)) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
const usedRatio = 1 - effectiveRemainingContextTokens / maxContextTokens;
|
|
88
|
-
return usedRatio >= triggerValue;
|
|
89
|
-
}
|
|
90
|
-
if (trigger.type === 'remaining_tokens') {
|
|
91
|
-
const prePruneRemainingContextTokens = maxContextTokens != null &&
|
|
92
|
-
Number.isFinite(maxContextTokens) &&
|
|
93
|
-
maxContextTokens > 0 &&
|
|
94
|
-
prePruneContextTokens != null &&
|
|
95
|
-
Number.isFinite(prePruneContextTokens)
|
|
96
|
-
? maxContextTokens - prePruneContextTokens
|
|
97
|
-
: undefined;
|
|
98
|
-
const effectiveRemainingContextTokens = prePruneRemainingContextTokens ?? remainingContextTokens;
|
|
99
|
-
// Required runtime data missing: cannot evaluate remaining_tokens, do not fire.
|
|
100
|
-
if (effectiveRemainingContextTokens == null ||
|
|
101
|
-
!Number.isFinite(effectiveRemainingContextTokens)) {
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
return effectiveRemainingContextTokens <= triggerValue;
|
|
105
|
-
}
|
|
106
|
-
if (trigger.type === 'messages_to_refine') {
|
|
107
|
-
return messagesToRefineCount >= triggerValue;
|
|
108
|
-
}
|
|
109
|
-
// Unrecognized trigger type: cannot evaluate, do not fire.
|
|
110
|
-
warnUnrecognizedTriggerType(trigger.type);
|
|
111
|
-
return false;
|
|
49
|
+
const { trigger, maxContextTokens, prePruneContextTokens, remainingContextTokens, messagesToRefineCount } = params;
|
|
50
|
+
if (messagesToRefineCount <= 0) return false;
|
|
51
|
+
if (!trigger || typeof trigger.type !== "string") return true;
|
|
52
|
+
const triggerValue = typeof trigger.value === "number" && Number.isFinite(trigger.value) ? trigger.value : void 0;
|
|
53
|
+
if (triggerValue == null) return false;
|
|
54
|
+
if (trigger.type === "token_ratio") {
|
|
55
|
+
const effectiveRemainingContextTokens = (maxContextTokens != null && Number.isFinite(maxContextTokens) && maxContextTokens > 0 && prePruneContextTokens != null && Number.isFinite(prePruneContextTokens) ? maxContextTokens - prePruneContextTokens : void 0) ?? remainingContextTokens;
|
|
56
|
+
if (maxContextTokens == null || !Number.isFinite(maxContextTokens) || maxContextTokens <= 0 || effectiveRemainingContextTokens == null || !Number.isFinite(effectiveRemainingContextTokens)) return false;
|
|
57
|
+
return 1 - effectiveRemainingContextTokens / maxContextTokens >= triggerValue;
|
|
58
|
+
}
|
|
59
|
+
if (trigger.type === "remaining_tokens") {
|
|
60
|
+
const effectiveRemainingContextTokens = (maxContextTokens != null && Number.isFinite(maxContextTokens) && maxContextTokens > 0 && prePruneContextTokens != null && Number.isFinite(prePruneContextTokens) ? maxContextTokens - prePruneContextTokens : void 0) ?? remainingContextTokens;
|
|
61
|
+
if (effectiveRemainingContextTokens == null || !Number.isFinite(effectiveRemainingContextTokens)) return false;
|
|
62
|
+
return effectiveRemainingContextTokens <= triggerValue;
|
|
63
|
+
}
|
|
64
|
+
if (trigger.type === "messages_to_refine") return messagesToRefineCount >= triggerValue;
|
|
65
|
+
warnUnrecognizedTriggerType(trigger.type);
|
|
66
|
+
return false;
|
|
112
67
|
}
|
|
113
|
-
|
|
68
|
+
//#endregion
|
|
114
69
|
exports._resetUnrecognizedTriggerWarnings = _resetUnrecognizedTriggerWarnings;
|
|
115
70
|
exports.shouldTriggerSummarization = shouldTriggerSummarization;
|
|
116
|
-
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/summarization/index.ts"],"sourcesContent":["import type { SummarizationTrigger } from '@/types';\n\nconst VALID_TRIGGER_TYPES = [\n 'token_ratio',\n 'remaining_tokens',\n 'messages_to_refine',\n] as const;\n\n/**\n * Upper bound on the dedup set for unrecognized trigger types. Bounds memory in\n * case a caller threads dynamic/user-provided strings through `trigger.type`.\n * Well above the handful of legit misconfigurations a process would ever see.\n */\nconst MAX_WARNED_TRIGGER_TYPES = 32;\n\nconst warnedUnrecognizedTriggerTypes = new Set<string>();\n\n/**\n * Warn (once per process, per unrecognized type) when the configured trigger\n * type is something the runtime does not evaluate. Without this, a misconfigured\n * `trigger.type` silently disables summarization with no visible signal.\n *\n * The dedup set is size-capped; on overflow we evict the oldest entry (Set\n * preserves insertion order) so we keep bounded memory and still warn on\n * recently-seen types.\n */\nfunction warnUnrecognizedTriggerType(type: string): void {\n if (warnedUnrecognizedTriggerTypes.has(type)) {\n return;\n }\n if (warnedUnrecognizedTriggerTypes.size >= MAX_WARNED_TRIGGER_TYPES) {\n const oldest = warnedUnrecognizedTriggerTypes.values().next().value;\n if (oldest !== undefined) {\n warnedUnrecognizedTriggerTypes.delete(oldest);\n }\n }\n warnedUnrecognizedTriggerTypes.add(type);\n console.warn(\n `[shouldTriggerSummarization] Unrecognized trigger.type: \"${type}\". ` +\n `Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(', ')}.`\n );\n}\n\n/** For tests only. Resets the dedup set so warnings can be observed again. */\nexport function _resetUnrecognizedTriggerWarnings(): void {\n warnedUnrecognizedTriggerTypes.clear();\n}\n\n/**\n * Determines whether summarization should be triggered based on the configured trigger\n * and current context state.\n *\n * Default behavior (no trigger configured): returns `true` whenever messages were pruned.\n * This is intentional — when an admin enables summarization without specifying a trigger,\n * summarization fires on any context overflow that causes pruning.\n *\n * When a trigger IS configured but required runtime data is missing (e.g., maxContextTokens\n * unavailable for a token_ratio trigger), returns `false` — we cannot evaluate the condition,\n * so we do not fire.\n */\nexport function shouldTriggerSummarization(params: {\n trigger?: SummarizationTrigger;\n maxContextTokens?: number;\n prePruneContextTokens?: number;\n remainingContextTokens?: number;\n messagesToRefineCount: number;\n}): boolean {\n const {\n trigger,\n maxContextTokens,\n prePruneContextTokens,\n remainingContextTokens,\n messagesToRefineCount,\n } = params;\n if (messagesToRefineCount <= 0) {\n return false;\n }\n\n // No trigger configured: default to always summarize when pruning occurs.\n if (!trigger || typeof trigger.type !== 'string') {\n return true;\n }\n\n const triggerValue =\n typeof trigger.value === 'number' && Number.isFinite(trigger.value)\n ? trigger.value\n : undefined;\n\n // Trigger configured but value is invalid: cannot evaluate, do not fire.\n if (triggerValue == null) {\n return false;\n }\n\n if (trigger.type === 'token_ratio') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate token_ratio, do not fire.\n if (\n maxContextTokens == null ||\n !Number.isFinite(maxContextTokens) ||\n maxContextTokens <= 0 ||\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n const usedRatio = 1 - effectiveRemainingContextTokens / maxContextTokens;\n return usedRatio >= triggerValue;\n }\n\n if (trigger.type === 'remaining_tokens') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate remaining_tokens, do not fire.\n if (\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n return effectiveRemainingContextTokens <= triggerValue;\n }\n\n if (trigger.type === 'messages_to_refine') {\n return messagesToRefineCount >= triggerValue;\n }\n\n // Unrecognized trigger type: cannot evaluate, do not fire.\n warnUnrecognizedTriggerType(trigger.type);\n return false;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/summarization/index.ts"],"sourcesContent":["import type { SummarizationTrigger } from '@/types';\n\nconst VALID_TRIGGER_TYPES = [\n 'token_ratio',\n 'remaining_tokens',\n 'messages_to_refine',\n] as const;\n\n/**\n * Upper bound on the dedup set for unrecognized trigger types. Bounds memory in\n * case a caller threads dynamic/user-provided strings through `trigger.type`.\n * Well above the handful of legit misconfigurations a process would ever see.\n */\nconst MAX_WARNED_TRIGGER_TYPES = 32;\n\nconst warnedUnrecognizedTriggerTypes = new Set<string>();\n\n/**\n * Warn (once per process, per unrecognized type) when the configured trigger\n * type is something the runtime does not evaluate. Without this, a misconfigured\n * `trigger.type` silently disables summarization with no visible signal.\n *\n * The dedup set is size-capped; on overflow we evict the oldest entry (Set\n * preserves insertion order) so we keep bounded memory and still warn on\n * recently-seen types.\n */\nfunction warnUnrecognizedTriggerType(type: string): void {\n if (warnedUnrecognizedTriggerTypes.has(type)) {\n return;\n }\n if (warnedUnrecognizedTriggerTypes.size >= MAX_WARNED_TRIGGER_TYPES) {\n const oldest = warnedUnrecognizedTriggerTypes.values().next().value;\n if (oldest !== undefined) {\n warnedUnrecognizedTriggerTypes.delete(oldest);\n }\n }\n warnedUnrecognizedTriggerTypes.add(type);\n console.warn(\n `[shouldTriggerSummarization] Unrecognized trigger.type: \"${type}\". ` +\n `Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(', ')}.`\n );\n}\n\n/** For tests only. Resets the dedup set so warnings can be observed again. */\nexport function _resetUnrecognizedTriggerWarnings(): void {\n warnedUnrecognizedTriggerTypes.clear();\n}\n\n/**\n * Determines whether summarization should be triggered based on the configured trigger\n * and current context state.\n *\n * Default behavior (no trigger configured): returns `true` whenever messages were pruned.\n * This is intentional — when an admin enables summarization without specifying a trigger,\n * summarization fires on any context overflow that causes pruning.\n *\n * When a trigger IS configured but required runtime data is missing (e.g., maxContextTokens\n * unavailable for a token_ratio trigger), returns `false` — we cannot evaluate the condition,\n * so we do not fire.\n */\nexport function shouldTriggerSummarization(params: {\n trigger?: SummarizationTrigger;\n maxContextTokens?: number;\n prePruneContextTokens?: number;\n remainingContextTokens?: number;\n messagesToRefineCount: number;\n}): boolean {\n const {\n trigger,\n maxContextTokens,\n prePruneContextTokens,\n remainingContextTokens,\n messagesToRefineCount,\n } = params;\n if (messagesToRefineCount <= 0) {\n return false;\n }\n\n // No trigger configured: default to always summarize when pruning occurs.\n if (!trigger || typeof trigger.type !== 'string') {\n return true;\n }\n\n const triggerValue =\n typeof trigger.value === 'number' && Number.isFinite(trigger.value)\n ? trigger.value\n : undefined;\n\n // Trigger configured but value is invalid: cannot evaluate, do not fire.\n if (triggerValue == null) {\n return false;\n }\n\n if (trigger.type === 'token_ratio') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate token_ratio, do not fire.\n if (\n maxContextTokens == null ||\n !Number.isFinite(maxContextTokens) ||\n maxContextTokens <= 0 ||\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n const usedRatio = 1 - effectiveRemainingContextTokens / maxContextTokens;\n return usedRatio >= triggerValue;\n }\n\n if (trigger.type === 'remaining_tokens') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate remaining_tokens, do not fire.\n if (\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n return effectiveRemainingContextTokens <= triggerValue;\n }\n\n if (trigger.type === 'messages_to_refine') {\n return messagesToRefineCount >= triggerValue;\n }\n\n // Unrecognized trigger type: cannot evaluate, do not fire.\n warnUnrecognizedTriggerType(trigger.type);\n return false;\n}\n"],"mappings":";AAEA,MAAM,sBAAsB;CAC1B;CACA;CACA;AACF;;;;;;AAOA,MAAM,2BAA2B;AAEjC,MAAM,iDAAiC,IAAI,IAAY;;;;;;;;;;AAWvD,SAAS,4BAA4B,MAAoB;CACvD,IAAI,+BAA+B,IAAI,IAAI,GACzC;CAEF,IAAI,+BAA+B,QAAQ,0BAA0B;EACnE,MAAM,SAAS,+BAA+B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9D,IAAI,WAAW,KAAA,GACb,+BAA+B,OAAO,MAAM;CAEhD;CACA,+BAA+B,IAAI,IAAI;CACvC,QAAQ,KACN,4DAA4D,KAAK,gDACjB,oBAAoB,KAAK,IAAI,EAAE,EACjF;AACF;;AAGA,SAAgB,oCAA0C;CACxD,+BAA+B,MAAM;AACvC;;;;;;;;;;;;;AAcA,SAAgB,2BAA2B,QAM/B;CACV,MAAM,EACJ,SACA,kBACA,uBACA,wBACA,0BACE;CACJ,IAAI,yBAAyB,GAC3B,OAAO;CAIT,IAAI,CAAC,WAAW,OAAO,QAAQ,SAAS,UACtC,OAAO;CAGT,MAAM,eACJ,OAAO,QAAQ,UAAU,YAAY,OAAO,SAAS,QAAQ,KAAK,IAC9D,QAAQ,QACR,KAAA;CAGN,IAAI,gBAAgB,MAClB,OAAO;CAGT,IAAI,QAAQ,SAAS,eAAe;EASlC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,oBAAoB,QACpB,CAAC,OAAO,SAAS,gBAAgB,KACjC,oBAAoB,KACpB,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAGT,OADkB,IAAI,kCAAkC,oBACpC;CACtB;CAEA,IAAI,QAAQ,SAAS,oBAAoB;EASvC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAET,OAAO,mCAAmC;CAC5C;CAEA,IAAI,QAAQ,SAAS,sBACnB,OAAO,yBAAyB;CAIlC,4BAA4B,QAAQ,IAAI;CACxC,OAAO;AACT"}
|