@librechat/agents 3.7.18 → 3.7.20

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.
Files changed (53) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +5 -2
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/graphs/Graph.cjs +2 -1
  4. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  5. package/dist/cjs/langfuse.cjs +6 -2
  6. package/dist/cjs/langfuse.cjs.map +1 -1
  7. package/dist/cjs/llm/invoke.cjs +17 -2
  8. package/dist/cjs/llm/invoke.cjs.map +1 -1
  9. package/dist/cjs/llm/openai/index.cjs +110 -24
  10. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  11. package/dist/cjs/llm/prepareProviderRequest.cjs +102 -1
  12. package/dist/cjs/llm/prepareProviderRequest.cjs.map +1 -1
  13. package/dist/cjs/main.cjs +1 -0
  14. package/dist/cjs/tools/search/format.cjs +7 -0
  15. package/dist/cjs/tools/search/format.cjs.map +1 -1
  16. package/dist/cjs/tools/search/tool.cjs +7 -2
  17. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  18. package/dist/esm/agents/AgentContext.mjs +5 -2
  19. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  20. package/dist/esm/graphs/Graph.mjs +2 -1
  21. package/dist/esm/graphs/Graph.mjs.map +1 -1
  22. package/dist/esm/langfuse.mjs +6 -2
  23. package/dist/esm/langfuse.mjs.map +1 -1
  24. package/dist/esm/llm/invoke.mjs +17 -2
  25. package/dist/esm/llm/invoke.mjs.map +1 -1
  26. package/dist/esm/llm/openai/index.mjs +110 -25
  27. package/dist/esm/llm/openai/index.mjs.map +1 -1
  28. package/dist/esm/llm/prepareProviderRequest.mjs +104 -3
  29. package/dist/esm/llm/prepareProviderRequest.mjs.map +1 -1
  30. package/dist/esm/main.mjs +2 -2
  31. package/dist/esm/tools/search/format.mjs +7 -1
  32. package/dist/esm/tools/search/format.mjs.map +1 -1
  33. package/dist/esm/tools/search/tool.mjs +7 -3
  34. package/dist/esm/tools/search/tool.mjs.map +1 -1
  35. package/dist/types/agents/AgentContext.d.ts +4 -1
  36. package/dist/types/langfuse.d.ts +5 -1
  37. package/dist/types/llm/openai/index.d.ts +11 -1
  38. package/dist/types/llm/prepareProviderRequest.d.ts +1 -1
  39. package/dist/types/tools/search/format.d.ts +2 -1
  40. package/dist/types/tools/search/tool.d.ts +1 -0
  41. package/dist/types/types/graph.d.ts +2 -0
  42. package/dist/types/types/llm.d.ts +23 -0
  43. package/package.json +2 -1
  44. package/src/agents/AgentContext.ts +7 -0
  45. package/src/graphs/Graph.ts +2 -1
  46. package/src/langfuse.ts +12 -0
  47. package/src/llm/invoke.ts +23 -2
  48. package/src/llm/openai/index.ts +281 -27
  49. package/src/llm/prepareProviderRequest.ts +257 -6
  50. package/src/tools/search/format.ts +15 -1
  51. package/src/tools/search/tool.ts +13 -3
  52. package/src/types/graph.ts +2 -0
  53. package/src/types/llm.ts +23 -0
package/dist/esm/main.mjs CHANGED
@@ -98,7 +98,7 @@ import { ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, Read
98
98
  import { formatSkillCatalog } from "./tools/skillCatalog.mjs";
99
99
  import { ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, countNestedGroups, createToolSearch, escapeRegexSpecialChars, extractMcpServerName, formatServerListing, getAvailableMcpServers, getBaseToolName, getDeferredToolsListing, hasNestedQuantifiers, isDangerousPattern, isFromAnyMcpServer, isFromMcpServer, normalizeServerFilter, performLocalSearch, sanitizeRegex } from "./tools/ToolSearch.mjs";
100
100
  import { DATE_RANGE, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_QUERY_DESCRIPTION, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, countrySchema, dateSchema, imagesSchema, newsSchema, querySchema, videosSchema } from "./tools/search/schema.mjs";
101
- import { createSearchTool, executeParallelSearches, resolveSearchOutcome } from "./tools/search/tool.mjs";
101
+ import { createSearchTool, executeParallelSearches, normalizeSearchResultData, resolveSearchOutcome } from "./tools/search/tool.mjs";
102
102
  import "./tools/search/index.mjs";
103
103
  import { deserializeMessage, extractTextFromContent, serializeMessage } from "./session/messageSerialization.mjs";
104
104
  import { JsonlSessionStore, SessionManager } from "./session/JsonlSessionStore.mjs";
@@ -120,4 +120,4 @@ import "./langchain/index.mjs";
120
120
  import "./provider-registration.mjs";
121
121
  import { DEFAULT_STREAM_DELAY, computeAdaptivePieceSize, resolveStreamDelay, smoothStream } from "./llm/stream/smoother.mjs";
122
122
  import { BaseCheckpointSaver, Command, INTERRUPT, MemorySaver, interrupt, isInterrupted } from "@langchain/langgraph";
123
- export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, COMPACTION_SEMANTIC_INDEX_LIMITS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_INTRA_TURN_RETAIN_RATIO, DEFAULT_MAX_SEALS, DEFAULT_MAX_STOP_CONTINUATIONS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PREEMPT_RESTART_GRACE_MS, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, EventActorExecutor, FADING_MIN_BUDGET_TOKENS, FADING_TIER_VERSION, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_CALL_INPUT_CHARS, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HOOK_PREEMPT_RESTART_CAPABLE, HOOK_STOP_CONTINUATION_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MASKED_RESULT_MIN_CHARS, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MIN_JSON_VALUE_CHARS, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PRESSURE_THRESHOLD_MASKING, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, ProviderMessageProjectionInvariantError, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyFadingCaps, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, buildSummarizationInstruction, buildSummaryCarrierText, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, commandAvailabilityEnvCacheKey, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, constructorChainHasLcName, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareExecutionWorld, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createEventActorExecutor, createFadingTier, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deriveMessages, deserializeMessage, dispatchesChatModelStream, dropIncompleteToolStreamContent, emptyOutputMessage, encodeFile, encodingForModel, encodingOfTokenCounter, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fadingBudgetTokens, fadingRungForBudget, fadingRungForExchangeChars, fadingRungForResultChars, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, flattenLegacyContent, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getExecutionWorld, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasNonEmptyTextContent, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProjection, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFadingTier, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isInformativeFadingTier, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLibreChatOpenAIModel, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isReasoningContentBlock, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, markTokenCounterCacheCompatible, maskConsumedToolResults, matchesQuery, maxFadingRung, mergeAggregatedHookResults, messagesStateReducer, modifyDeltaProperties, newsSchema, nodeExecutionWorld, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, prepareProviderRequest, probeLocalCommandAvailability, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolMessagesForProvider, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, registerProvider, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFadingCaps, resolveFadingTier, resolveFetchProxyAgent, resolveIntraTurnRetainTokens, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveProviderMessageProjectionInvariantMode, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPlainExecution, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, seedFadingTier, selectRuntimeSessionHint, separateSummarizationParameters, serializeMessage, serializeToolCallInput, setCommandAvailabilityCacheEntry, setFreshProviderMessageProvenance, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent, wrapPythonForPlainExecution };
123
+ export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, AIMessage, AIMessageChunk, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, ASK_USER_QUESTION_ID_PATTERN, AgentSession, BASH_SHELL_GUIDANCE, BaseCheckpointSaver, BaseMessage, BaseMessageChunk, BashExecutionToolDefinition, BashExecutionToolDescription, BashExecutionToolName, BashExecutionToolSchema, BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, BashToolOutputReferencesGuide, CALIBRATION_RATIO_MAX, CALIBRATION_RATIO_MIN, CLOUDFLARE_BASH_CODING_TOOL_NAMES, CLOUDFLARE_CODING_TOOL_NAMES, CODE_API_AUTHORIZATION_ERROR_MESSAGE, CODE_API_EXECUTION_FAILED_ERROR_MESSAGE, CODE_API_EXPECTED_PROFILE_HEADER, CODE_API_INVALID_REQUEST_ERROR_MESSAGE, CODE_API_RATE_LIMITED_ERROR_MESSAGE, CODE_API_UNAVAILABLE_ERROR_MESSAGE, CODE_ARTIFACT_PATH_GUIDANCE, CODE_EXECUTION_TOOLS, COMPACTION_SEMANTIC_INDEX_LIMITS, Calculator, CalculatorSchema, CalculatorToolDefinition, CalculatorToolDescription, CalculatorToolName, Callback, ChatModelStreamHandler, CloudflareBashExecutionToolDescription, CloudflareCodeExecutionToolDescription, CodeApiRequestError, CodeExecutionToolDefinition, CodeExecutionToolDescription, CodeExecutionToolName, CodeExecutionToolSchema, Command, CommonEvents, CompileCheckToolName, Constants, ContentTypes, DATE_RANGE, DEFAULT_CONTEXT_PRUNING_SETTINGS, DEFAULT_COUNTRY_DESCRIPTION, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_INTRA_TURN_RETAIN_RATIO, DEFAULT_MAX_SEALS, DEFAULT_MAX_STOP_CONTINUATIONS, DEFAULT_MAX_TOOL_CALL_ARG_BYTES, DEFAULT_PREEMPT_RESTART_GRACE_MS, DEFAULT_PROMPT_CACHE_TTL, DEFAULT_QUERY_DESCRIPTION, DEFAULT_RECURSION_LIMIT, DEFAULT_RESERVE_RATIO, DEFAULT_RETAIN_RECENT_TURNS, DEFAULT_STREAM_DELAY, DEFAULT_SUBAGENT_DESCRIPTION, DEFAULT_TOOL_TOKEN_MULTIPLIER, DynamicStructuredTool, EnvVar, EventActorExecutor, FADING_MIN_BUDGET_TOKENS, FADING_TIER_VERSION, FAILED_EXECUTION_FILE_REMINDER, FakeChatModel, Graph, GraphEvents, GraphNodeActions, GraphNodeKeys, HARD_MAX_TOOL_CALL_INPUT_CHARS, HARD_MAX_TOOL_RESULT_CHARS, HARD_MAX_TOTAL_TOOL_OUTPUT_SIZE, HOOK_EVENTS, HOOK_INJECTED_MESSAGES_CAPABLE, HOOK_PREEMPT_BOUNDARY_CAPABLE, HOOK_PREEMPT_RESTART_CAPABLE, HOOK_STOP_CONTINUATION_CAPABLE, HandlerRegistry, HookRegistry, HumanMessage, IMAGE_TOKEN_SAFETY_MARGIN, INTENT_ARG, INTENT_DESCRIPTION, INTENT_LABEL_MARKER, INTENT_PROPERTY, INTERRUPT, InMemorySubagentTaskStore, JsonlSessionStore, LLMStreamHandler, LOCAL_CODING_BUNDLE_NAMES, LOCAL_CODING_TOOL_NAMES, LOCAL_SPAWN_TIMEOUT_MS, LocalBashExecutionToolDescription, LocalCodeExecutionToolDescription, LocalEditFileToolName, LocalEditFileToolSchema, LocalFileCheckpointerImpl, LocalGlobSearchToolName, LocalGlobSearchToolSchema, LocalGrepSearchToolName, LocalGrepSearchToolSchema, LocalListDirectoryToolName, LocalListDirectoryToolSchema, LocalReadFileToolSchema, LocalWriteFileToolName, LocalWriteFileToolSchema, MASKED_RESULT_MIN_CHARS, MAX_ASK_USER_QUESTIONS, MAX_CACHE_SIZE, MAX_PATTERN_LENGTH, MIN_JSON_VALUE_CHARS, MULTI_AGENT_GRAPH_RUN_NAME, MemorySaver, ModelEndHandler, MultiAgentGraph, OPENAI_RESPONSES_ACTIVE_REASONING_ID_KEY, OPENAI_RESPONSES_REPLAY_POSITIONS_KEY, ORIGINAL_CONTENT_MAX_CHARS, PREDECESSOR_HANDOFF_CUE, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, PRESSURE_THRESHOLD_MASKING, PROVIDER_MESSAGE_PROVENANCE_LIMITS, PROVIDER_MESSAGE_PROVENANCE_VERSION, ProgrammaticToolCallingDefinition, ProgrammaticToolCallingDescription, ProgrammaticToolCallingName, ProgrammaticToolCallingSchema, PromptTemplate, ProviderMessageProjectionInvariantError, Providers, REASONING_LABEL_RUN_NAME, REMOVE_ALL_MESSAGES, REPLY_PRIMER_TOKENS, ReadFileToolDefinition, ReadFileToolDescription, ReadFileToolName, ReadFileToolSchema, Run, Runnable, RunnableCallable, RunnableLambda, RunnableSequence, SDK_STREAM_DISPATCH, STANDARD_GRAPH_RUN_NAME, STATEFUL_BASH_NOTE, STATEFUL_ENV_NOTE, SessionManager, SkillToolDefinition, SkillToolDescription, SkillToolName, SkillToolSchema, StandardGraph, StatefulBashExecutionToolDescription, StatefulCodeExecutionToolDescription, StepTypes, StreamLimitExceededError, StructuredTool, SubagentExecutor, SubagentToolDefinition, SubagentToolDescription, SubagentToolName, SubagentToolSchema, SystemMessage, TMP_SCRATCH_OUTPUT_REMINDER, TOOL_APPROVAL_EXECUTION_SCOPE_CONFIG_KEY, TestChatStreamHandler, TestLLMStreamHandler, TitleMethod, TokenEncoderManager, Tool, ToolCallTypes, ToolEndHandler, ToolMessage, ToolNode, ToolSearchToolDefinition, ToolSearchToolDescription, ToolSearchToolName, ToolSearchToolSchema, UnsafeTokenMeasurementError, WebSearchToolDefinition, WebSearchToolDescription, WebSearchToolName, WebSearchToolSchema, _createBashProgramForTests, _resetLocalEngineWarningsForTests, _resetRipgrepCacheForTests, _resetSyntaxCheckProbeCacheForTests, _resetUnrecognizedTriggerWarnings, addBedrockCacheControl, addBedrockTailCacheControl, addCacheControl, addCacheControlToStablePrefixMessages, addCodeApiExecutionProfileHeader, addTailCacheControl, appendCodeSessionFileSummary, appendFailedExecutionFileReminder, appendPredecessorHandoffCue, appendProviderMessageProvenance, appendTmpScratchReminder, applyContextPruning, applyEdit, applyFadingCaps, applyOutcome, applyPreToolUseHooksForBridge, apportionTokenCounts, askUserQuestion, askUserQuestions, attemptInvoke, bashAstFindingsToErrors, buildAnthropicCacheControl, buildBashExecutionToolDescription, buildBashExecutionToolSchema, buildBedrockCachePoint, buildChildInputs, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, buildCodeExecutionToolDescription, buildCodeExecutionToolSchema, buildSandboxRuntimeConfig, buildSubagentToolParams, buildSummarizationInstruction, buildSummaryCarrierText, calculateMaxToolCallInputChars, calculateMaxToolResultChars, calculateMaxTotalToolOutputSize, calculateTotalTokens, canSealPreempt, checkValidNumber, clampCalibrationRatio, classifyAttachment, clientExecTimeoutMs, clientFsTimeoutMs, cloneMessage, coalesceAdjacentUserTurns, commandAvailabilityEnvCacheKey, compactSyntheticProviderContextMessage, composeAbortSignals, composeEventHandlers, computeAdaptivePieceSize, constructorChainHasLcName, convertInjectedMessages, convertMessagesToContent, countNestedGroups, countrySchema, createAgentSession, createBashExecutionTool, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, createCloudflareBashExecutionTool, createCloudflareBashProgrammaticToolCallingTool, createCloudflareBridgeRuntime, createCloudflareCodeExecutionTool, createCloudflareCodingToolBundle, createCloudflareCodingTools, createCloudflareExecutionTool, createCloudflareExecutionWorld, createCloudflareLocalExecutionConfig, createCloudflareProgrammaticToolCallingTool, createCloudflareWorkspaceFS, createCodeExecutionTool, createCompileCheckTool, createCompileCheckToolDefinition, createContentAggregator, createEventActorExecutor, createFadingTier, createFakeStreamingLLM, createGraph, createHandlers, createLocalBashExecutionTool, createLocalBashProgrammaticToolCallingTool, createLocalCodeExecutionTool, createLocalCodingToolBundle, createLocalCodingToolDefinitions, createLocalCodingToolRegistry, createLocalCodingTools, createLocalEditFileTool, createLocalFileCheckpointer, createLocalGlobSearchTool, createLocalGrepSearchTool, createLocalListDirectoryTool, createLocalProgrammaticToolCallingTool, createLocalReadFileTool, createLocalWriteFileTool, createMetadataAggregator, createProgrammaticToolCallingSchema, createProgrammaticToolCallingTool, createPruneMessages, createRemoveAllMessage, createRunHandlers, createSchemaOnlyTool, createSchemaOnlyTools, createSearchTool, createSubagentToolDefinition, createTokenCounter, createToolErrorOwnership, createToolPolicyHook, createToolSearch, createWorkspacePolicyHook, dateSchema, decodeFile, defaultOmitOptions, deriveMessages, deserializeMessage, dispatchesChatModelStream, dropIncompleteToolStreamContent, emptyOutputMessage, encodeFile, encodingForModel, encodingOfTokenCounter, enforceOriginalContentCap, ensureThinkingBlockInMessages, escapeRegexSpecialChars, estimateAnthropicImageTokens, estimateDocumentBlockTokens, estimateImageBlockTokens, estimateOpenAIImageTokens, estimateTimedMediaBlockTokens, execWithClientTimeout, executeCloudflareBash, executeCloudflareCode, executeHooks, executeLocalBash, executeLocalBashWithArgs, executeLocalCode, executeParallelSearches, executeTools, extractErrorMessage, extractImageDimensions, extractMcpServerName, extractTextFromContent, extractToolDiscoveries, extractUsedBashToolNames, extractUsedToolNames, fadingBudgetTokens, fadingRungForBudget, fadingRungForExchangeChars, fadingRungForResultChars, fetchSessionFiles, filterBashToolsByUsage, filterGraphSubagentResult, filterSubagentResult, filterToolsByUsage, findLastIndex, flattenLegacyContent, foldToolBlocksForToollessAgent, formatAgentMessages, formatAnthropicArtifactContent, formatAnthropicMessage, formatArtifactPayload, formatCloudflareOutput, formatCompletedResponse, formatContentStrings, formatFromLangChain, formatLangChainMessages, formatMediaMessage, formatMessage, formatServerListing, formatSkillCatalog, getAssistantTextPhase, getAvailableMcpServers, getBaseToolName, getBufferString, getChatModelClass, getChunkContent, getCloudflareWorkspaceRoot, getCodeBaseURL, getContextOverflowInfo, getConverseOverrideMessage, getDeferredToolsListing, getExecutionWorld, getLocalCwd, getLocalSessionId, getMaxOutputTokensKey, getMessageCreationContentMetadata, getMessageId, getMessagesWithinTokenLimit, getProviderMessageProvenance, getProviderSourceMessageIds, getReadRoots, getSpawn, getTokenCountForMessage, getWorkspaceFS, getWorkspaceRoots, getWriteRoots, handleServerToolResult, handleToolCallChunks, handleToolCalls, hasBijectiveProviderContentPartMapping, hasNestedQuantifier, hasNestedQuantifiers, hasNonEmptyTextContent, hasToolSearchInCurrentTurn, hasUnsafeStructuredSerialization, imageAttachmentContent, imagesSchema, initializeModel, inspectProviderMessageProjection, inspectProviderMessageProvenance, inspectProviderSourceMessageIds, interrupt, isAIMessage, isAnthropicLike, isAskUserQuestionsInterrupt, isBaseMessage, isContextOverflowError, isDangerousPattern, isFadingTier, isFromAnyMcpServer, isFromMcpServer, isGoogleLike, isGraphSubagentConfig, isInformativeFadingTier, isIntentLabelProperty, isInterrupted, isLegacyConvertible, isLibreChatOpenAIModel, isLikelyContextOverflowError, isOpenAILike, isPresent, isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, isReasoningContentBlock, isSyntheticProviderContextMessage, isThinkingEnabled, isToolMessage, isZodSchema, joinKeys, labelContentByAgent, locateEdit, makeIsDeferred, makeRequest, mapChatMessagesToStoredMessages, mapStoredMessagesToChatMessages, markTokenCounterCacheCompatible, maskConsumedToolResults, matchesQuery, maxFadingRung, mergeAggregatedHookResults, messagesStateReducer, modifyDeltaProperties, newsSchema, nodeExecutionWorld, normalizeBashToolResultsForReplay, normalizeCodeApiRequestError, normalizeSearchResultData, normalizeServerFilter, normalizeSubagentConfigEntries, normalizeSubagentConfigs, normalizeToBashIdentifier, normalizeToPythonIdentifier, outcomeFieldsFromResult, parseBooleanEnv, partitionAndMarkAnthropicToolCache, performLocalSearch, preFlightTruncateToolCallInputs, preFlightTruncateToolResults, prepareProviderRequest, probeLocalCommandAvailability, projectAgentContextUsage, projectAnthropicArtifactContent, projectArtifactPayload, projectCacheControlledToolOutputsToText, projectComputerCallOutputsToText, projectOpenAIChatToolMessageContent, projectOpenAIResponsesToolMessageContent, projectOpenAIToolMessageContent, projectOpenRouterToolMessageContent, projectSingleTextToolOutputsToText, projectStructuredToolOutputsToText, projectToolCallInputs, projectToolMessagesForProvider, projectToolStreamContentForProvider, querySchema, readIntent, readOutcomeFields, registerProvider, removePredecessorHandoffCue, repairOrphanedToolMessages, resetIfNotEmpty, resolveBedrockPromptCacheTtl, resolveCloudflareSandbox, resolveCodeApiAuthHeaders, resolveContextPruningSettings, resolveFadingCaps, resolveFadingTier, resolveFetchProxyAgent, resolveIntraTurnRetainTokens, resolveLocalExecutionConfig, resolveLocalExecutionTools, resolveLocalImplementationNames, resolveLocalToolRegistry, resolveLocalToolsForBinding, resolvePromptCacheTtl, resolveProviderMessageProjectionInvariantMode, resolveSearchOutcome, resolveStreamDelay, resolveStreamLimits, resolveSubagentConfigEntries, resolveSubagentConfigs, resolveToolOutcome, resolveWorkspacePath, resolveWorkspacePathSafe, runBashAstChecks, runPlainExecution, runPostEditSyntaxCheck, sanitizeOrphanToolBlocks, sanitizeRegex, seedFadingTier, selectRuntimeSessionHint, separateSummarizationParameters, serializeMessage, serializeToolCallInput, setCommandAvailabilityCacheEntry, setFreshProviderMessageProvenance, setInvalidProviderMessageProvenance, setProviderMessageProvenance, shellQuote, shiftIndexTokenCountMap, shouldBypassProxy, shouldTriggerSummarization, sleep, smoothStream, spawnLocalProcess, splitAssistantTextContentByPhase, splitAtRecencyBoundary, stampSyntheticProviderMessage, strictAlternationProviders, stripAnthropicCacheControl, stripBedrockCacheControl, stripCodeSessionFileSummary, stripIntent, summarizeEvent, supportsBedrockToolCache, syncBudgetDerivedFields, toJsonSchema, tool, toolResultTypes, toolsCondition, truncateLocalOutput, truncateToolInput, truncateToolResultContent, tryFallbackProviders, unescapeObject, unwrapToolResponse, validateBashCommand, validateCloudflareBashCommand, videosSchema, withClientTimeout, withIntent, withMessageRole, withoutIntent, wrapPythonForPlainExecution };
@@ -2,6 +2,7 @@ import { fileExtRegex, getDomainName } from "./utils.mjs";
2
2
  //#region src/tools/search/format.ts
3
3
  const DEFAULT_MAX_LLM_OUTPUT_CHARS = 5e4;
4
4
  const MIN_PARTIAL_HIGHLIGHT_CHARS = 200;
5
+ const MISSING_SEARCH_RESULT_DATA_ERROR = "Search provider returned no result data";
5
6
  function resolveMaxLLMOutputChars(maxOutputChars) {
6
7
  if (maxOutputChars != null && maxOutputChars > 0) return maxOutputChars;
7
8
  const envValue = Number(process.env.SEARCH_MAX_LLM_OUTPUT_CHARS);
@@ -113,6 +114,10 @@ function formatSource(source, index, turn, sourceType, references) {
113
114
  return outputLines.join("\n");
114
115
  }
115
116
  function formatResultsForLLM(turn, results, maxOutputChars) {
117
+ if (results == null) return {
118
+ output: `Search failed: ${MISSING_SEARCH_RESULT_DATA_ERROR}`,
119
+ references: []
120
+ };
116
121
  const trimmedHighlights = trimHighlightsToBudget(results, resolveMaxLLMOutputChars(maxOutputChars));
117
122
  const outputLines = [];
118
123
  const addSection = (title) => {
@@ -121,6 +126,7 @@ function formatResultsForLLM(turn, results, maxOutputChars) {
121
126
  outputLines.push("");
122
127
  };
123
128
  const references = [];
129
+ if (results.error != null && results.error !== "") outputLines.push(`Search failed: ${results.error}`);
124
130
  if (results.organic?.length != null && results.organic.length > 0) {
125
131
  addSection(`Web Results, Turn ${turn}`);
126
132
  for (let i = 0; i < results.organic.length; i++) {
@@ -189,6 +195,6 @@ function formatResultsForLLM(turn, results, maxOutputChars) {
189
195
  };
190
196
  }
191
197
  //#endregion
192
- export { formatResultsForLLM };
198
+ export { MISSING_SEARCH_RESULT_DATA_ERROR, formatResultsForLLM };
193
199
 
194
200
  //# sourceMappingURL=format.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.mjs","names":[],"sources":["../../../../src/tools/search/format.ts"],"mappings":"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"}
1
+ {"version":3,"file":"format.mjs","names":[],"sources":["../../../../src/tools/search/format.ts"],"mappings":"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"}
@@ -21,6 +21,9 @@ function resolveSearchOutcome(data, query) {
21
21
  if (count === 0) return;
22
22
  return `Found ${count} result${count === 1 ? "" : "s"} for "${query}"`;
23
23
  }
24
+ function normalizeSearchResultData(result) {
25
+ return result ?? { error: "Search provider returned no result data" };
26
+ }
24
27
  const countWebResults = (data) => {
25
28
  const organic = data.organic ?? [];
26
29
  const topStories = data.topStories ?? [];
@@ -194,10 +197,11 @@ function createTool({ schema, search, maxOutputChars, onSearchResults: _onSearch
194
197
  })
195
198
  });
196
199
  const turn = runnableConfig.toolCall?.turn ?? 0;
197
- const { output, references } = formatResultsForLLM(turn, searchResult, maxOutputChars);
200
+ const resultData = normalizeSearchResultData(searchResult);
201
+ const { output, references } = formatResultsForLLM(turn, resultData, maxOutputChars);
198
202
  const data = {
199
203
  turn,
200
- ...searchResult,
204
+ ...resultData,
201
205
  references
202
206
  };
203
207
  const outcome = resolveSearchOutcome(data, query);
@@ -344,6 +348,6 @@ const createSearchTool = (config = {}) => {
344
348
  });
345
349
  };
346
350
  //#endregion
347
- export { createSearchTool, executeParallelSearches, resolveSearchOutcome };
351
+ export { createSearchTool, executeParallelSearches, normalizeSearchResultData, resolveSearchOutcome };
348
352
 
349
353
  //# sourceMappingURL=tool.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"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"}
1
+ {"version":3,"file":"tool.mjs","names":["params"],"sources":["../../../../src/tools/search/tool.ts"],"mappings":"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"}
@@ -15,6 +15,8 @@ export declare class AgentContext {
15
15
  static fromConfig(agentConfig: t.AgentInputs, tokenCounter?: t.TokenCounter, indexTokenCountMap?: Record<string, number>, toolExecution?: t.ToolExecutionConfig): AgentContext;
16
16
  /** Agent identifier */
17
17
  agentId: string;
18
+ /** Logical endpoint selected by the host before provider resolution. */
19
+ endpoint: string;
18
20
  /** Partition for this agent's transient code session and file refs. */
19
21
  codeSessionKey?: string;
20
22
  /** Human-readable name for this agent (used in handoff context). Falls back to agentId if not provided. */
@@ -221,8 +223,9 @@ export declare class AgentContext {
221
223
  /** Names of sibling agents executing in parallel (empty if sequential) */
222
224
  parallelSiblings: string[];
223
225
  };
224
- constructor({ agentId, codeSessionKey, name, provider, clientOptions, langfuse, maxContextTokens, streamBuffer, tokenCounter, tools, toolMap, toolRegistry, toolExecution, toolDefinitions, instructions, additionalInstructions, reasoningKey, toolEnd, instructionTokens, useLegacyContent, discoveredTools, summarizationEnabled, summarizationConfig, compactionSemanticIndex, contextPruningConfig, maxToolResultChars, }: {
226
+ constructor({ agentId, endpoint, codeSessionKey, name, provider, clientOptions, langfuse, maxContextTokens, streamBuffer, tokenCounter, tools, toolMap, toolRegistry, toolExecution, toolDefinitions, instructions, additionalInstructions, reasoningKey, toolEnd, instructionTokens, useLegacyContent, discoveredTools, summarizationEnabled, summarizationConfig, compactionSemanticIndex, contextPruningConfig, maxToolResultChars, }: {
225
227
  agentId: string;
228
+ endpoint?: string;
226
229
  codeSessionKey?: string;
227
230
  name?: string;
228
231
  provider: t.ProviderName;
@@ -44,7 +44,7 @@ type LangfuseAttributeParams = AgentLangfuseHandlerParams & {
44
44
  };
45
45
  export declare function isExplicitLangfuseConfig(langfuse?: t.LangfuseConfig): boolean;
46
46
  export declare function createLibreChatTraceAttributes(attributes: LangfuseConfigTraceAttributes): LangfuseTraceAttributes;
47
- export declare function createLangfuseTraceMetadata({ messageId, parentMessageId, agentId, agentName, rootAgentId, rootAgentName, activeAgentId, activeAgentName, }: {
47
+ export declare function createLangfuseTraceMetadata({ messageId, parentMessageId, agentId, agentName, rootAgentId, rootAgentName, activeAgentId, activeAgentName, endpoint, model, provider, resolvedProvider, }: {
48
48
  messageId?: unknown;
49
49
  parentMessageId?: unknown;
50
50
  agentId?: unknown;
@@ -53,6 +53,10 @@ export declare function createLangfuseTraceMetadata({ messageId, parentMessageId
53
53
  rootAgentName?: unknown;
54
54
  activeAgentId?: unknown;
55
55
  activeAgentName?: unknown;
56
+ endpoint?: unknown;
57
+ model?: unknown;
58
+ provider?: unknown;
59
+ resolvedProvider?: unknown;
56
60
  }): LangfuseTraceMetadata;
57
61
  export declare function getLangfuseTraceName(traceMetadata?: LangfuseTraceMetadata, fallback?: string): string;
58
62
  export declare function shouldCreateLangfuseHandler(langfuse?: t.LangfuseConfig): boolean;
@@ -19,6 +19,7 @@ type OpenAICoreRequestOptions = OpenAIClient.RequestOptions;
19
19
  type OpenAICompletionParam = OpenAIClient.Chat.Completions.ChatCompletionMessageParam;
20
20
  type LibreChatOpenAIFields = t.ChatOpenAIFields & {
21
21
  _lc_stream_delay?: number;
22
+ firstPartyEndpoint?: boolean;
22
23
  includeReasoningContent?: boolean;
23
24
  includeReasoningDetails?: boolean;
24
25
  convertReasoningDetailsToContent?: boolean;
@@ -30,6 +31,7 @@ type LibreChatOpenAIFields = t.ChatOpenAIFields & {
30
31
  };
31
32
  type LibreChatAzureOpenAIFields = t.AzureOpenAIInput & {
32
33
  _lc_stream_delay?: number;
34
+ firstPartyEndpoint?: boolean;
33
35
  promptCacheExplicit?: boolean;
34
36
  safety_identifier?: string;
35
37
  };
@@ -38,10 +40,12 @@ export declare function addChatCacheBreakpoints(messages: OpenAIClient.Chat.Comp
38
40
  /** @internal */
39
41
  export declare function addResponseCacheBreakpoints(input: OpenAIClient.Responses.ResponseCreateParams['input']): OpenAIClient.Responses.ResponseCreateParams['input'];
40
42
  /** @internal */
43
+ export declare function isGpt6AstraModel(model?: string): boolean;
44
+ /** @internal */
41
45
  export declare function shouldIncludeEncryptedReasoning(model: string, params: {
42
46
  store?: boolean | null;
43
47
  reasoning?: unknown;
44
- }): boolean;
48
+ }, astraRulesApply?: boolean): boolean;
45
49
  export declare function getCacheWriteTokens(message: BaseMessage): number | undefined;
46
50
  export declare function attachCacheWriteUsage(message: BaseMessage): void;
47
51
  export declare function attachCacheWriteMetadata(response: OpenAIClient.Responses.Response): OpenAIClient.Responses.Response;
@@ -97,6 +101,9 @@ export declare class CustomAzureOpenAIClient extends AzureOpenAIClient {
97
101
  fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
98
102
  }
99
103
  export declare class ChatOpenAI extends OriginalChatOpenAI<t.ChatOpenAICallOptions> {
104
+ protected firstPartyEndpoint?: boolean;
105
+ /** @see {@link astraRulesApply} */
106
+ protected get astraRulesApply(): boolean;
100
107
  _lc_stream_delay: number;
101
108
  constructor(fields?: LibreChatOpenAIFields & t.OpenAIChatInput['modelKwargs']);
102
109
  get exposedClient(): CustomOpenAIClient;
@@ -117,6 +124,9 @@ export declare class ChatOpenAI extends OriginalChatOpenAI<t.ChatOpenAICallOptio
117
124
  protected _streamRawResponseChunks(messages: BaseMessage[], options: this['ParsedCallOptions'], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;
118
125
  }
119
126
  export declare class AzureChatOpenAI extends OriginalAzureChatOpenAI {
127
+ protected firstPartyEndpoint?: boolean;
128
+ /** @see {@link astraRulesApply} */
129
+ protected get astraRulesApply(): boolean;
120
130
  _lc_stream_delay: number;
121
131
  constructor(fields?: LibreChatAzureOpenAIFields);
122
132
  get exposedClient(): CustomOpenAIClient;
@@ -1,5 +1,5 @@
1
- import type { RunnableConfig } from '@langchain/core/runnables';
2
1
  import type { BaseMessage } from '@langchain/core/messages';
2
+ import type { RunnableConfig } from '@langchain/core/runnables';
3
3
  import type { ToolOutputReferenceRegistry } from '@/tools/toolOutputReferences';
4
4
  import type * as t from '@/types';
5
5
  declare const preparedProviderRequestBrand: unique symbol;
@@ -1,8 +1,9 @@
1
1
  import type * as t from './types';
2
+ export declare const MISSING_SEARCH_RESULT_DATA_ERROR = "Search provider returned no result data";
2
3
  /** Resolves the per-search highlight budget from config, the
3
4
  * `SEARCH_MAX_LLM_OUTPUT_CHARS` env var, or the default (50,000 chars). */
4
5
  export declare function resolveMaxLLMOutputChars(maxOutputChars?: number): number;
5
- export declare function formatResultsForLLM(turn: number, results: t.SearchResultData, maxOutputChars?: number): {
6
+ export declare function formatResultsForLLM(turn: number, results?: t.SearchResultData | null, maxOutputChars?: number): {
6
7
  output: string;
7
8
  references: t.ResultReference[];
8
9
  };
@@ -20,6 +20,7 @@ import { createSearchAPI } from './search';
20
20
  * model-authored intent to stand unchanged as the label.
21
21
  */
22
22
  export declare function resolveSearchOutcome(data: t.SearchResultData, query: string): string | undefined;
23
+ export declare function normalizeSearchResultData(result: t.SearchResultData | null | undefined): t.SearchResultData;
23
24
  /**
24
25
  * Executes parallel searches and merges the results,
25
26
  * deduplicating top stories by link
@@ -672,6 +672,8 @@ export interface LangfuseConfig {
672
672
  }
673
673
  interface AgentInputFields {
674
674
  agentId: string;
675
+ /** Logical endpoint selected by the host before provider resolution. */
676
+ endpoint?: string;
675
677
  /**
676
678
  * Partition key for transient code-session ids and file refs. Agents with
677
679
  * the same key share those refs; different execution profiles/scopes must
@@ -58,6 +58,29 @@ export type GoogleThinkingConfig = {
58
58
  export type ManagedRequestOptions = {
59
59
  promptCacheExplicit?: boolean;
60
60
  safety_identifier?: string;
61
+ /**
62
+ * Declares that this client talks to the first-party OpenAI or Azure surface.
63
+ * Gates the model-specific request *shaping* documented only for it —
64
+ * currently GPT-6 Astra's rejected sampling and logprob parameters, its
65
+ * unsupported reasoning efforts, and the encrypted reasoning it supports —
66
+ * and defaults to off.
67
+ *
68
+ * Shaping only. Which API serves the turn is not decided here: GPT-6 Astra
69
+ * serves tool calls only from the Responses API, and a caller wanting them
70
+ * must select it with `useResponsesApi`, alongside the rest of the request
71
+ * shaping that depends on which API is in use.
72
+ *
73
+ * The shaping runs inside this SDK's own request delegates. A caller that
74
+ * supplies its own `completions` or `responses` delegate replaces that
75
+ * construction and owns the request shaping for it — this flag cannot reach
76
+ * inside a delegate it did not build.
77
+ *
78
+ * Declared rather than inferred from a base URL: only the caller knows
79
+ * whether a URL is a faithful first-party route, a gateway, or a proxy with
80
+ * its own semantics, and every gate it controls removes capability, so
81
+ * guessing wrong silently degrades an endpoint the SDK cannot see.
82
+ */
83
+ firstPartyEndpoint?: boolean;
61
84
  };
62
85
  /**
63
86
  * Adaptive stream-smoothing configuration shared by every provider client.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@librechat/agents",
3
- "version": "3.7.18",
3
+ "version": "3.7.20",
4
4
  "reova": {
5
5
  "enabled": true,
6
6
  "endpoint": "https://telemetry.reo.dev/data"
@@ -266,6 +266,7 @@
266
266
  "script5": "tsx -r dotenv/config ./src/scripts/cli5.ts --name 'Jo' --location 'New York, NY'",
267
267
  "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
268
268
  "test:live:handoffs": "RUN_HANDOFF_LIVE_TESTS=1 NODE_OPTIONS='--experimental-vm-modules' jest src/specs/agent-handoffs.live.test.ts --runInBand",
269
+ "test:live:cross-provider-attachments": "RUN_CROSS_PROVIDER_ATTACHMENT_LIVE_TESTS=1 NODE_OPTIONS='--experimental-vm-modules' jest src/specs/cross-provider-attachments.live.test.ts --runInBand",
269
270
  "test:live:ask-user-questions": "RUN_ASK_USER_QUESTIONS_LIVE_TESTS=1 NODE_OPTIONS='--experimental-vm-modules' jest src/specs/ask-user-questions.live.test.ts --runInBand",
270
271
  "test:memory": "NODE_OPTIONS='--expose-gc' npx jest src/specs/title.memory-leak.test.ts",
271
272
  "test:all": "npm test -- --testPathIgnorePatterns=title.memory-leak.test.ts && npm run test:memory",
@@ -104,6 +104,7 @@ export class AgentContext {
104
104
  ): AgentContext {
105
105
  const {
106
106
  agentId,
107
+ endpoint,
107
108
  codeSessionKey,
108
109
  name,
109
110
  provider,
@@ -135,6 +136,7 @@ export class AgentContext {
135
136
 
136
137
  const agentContext = new AgentContext({
137
138
  agentId,
139
+ endpoint,
138
140
  codeSessionKey,
139
141
  name: name ?? agentId,
140
142
  provider,
@@ -219,6 +221,8 @@ export class AgentContext {
219
221
 
220
222
  /** Agent identifier */
221
223
  agentId: string;
224
+ /** Logical endpoint selected by the host before provider resolution. */
225
+ endpoint: string;
222
226
  /** Partition for this agent's transient code session and file refs. */
223
227
  codeSessionKey?: string;
224
228
  /** Human-readable name for this agent (used in handoff context). Falls back to agentId if not provided. */
@@ -454,6 +458,7 @@ export class AgentContext {
454
458
 
455
459
  constructor({
456
460
  agentId,
461
+ endpoint,
457
462
  codeSessionKey,
458
463
  name,
459
464
  provider,
@@ -481,6 +486,7 @@ export class AgentContext {
481
486
  maxToolResultChars,
482
487
  }: {
483
488
  agentId: string;
489
+ endpoint?: string;
484
490
  codeSessionKey?: string;
485
491
  name?: string;
486
492
  provider: t.ProviderName;
@@ -508,6 +514,7 @@ export class AgentContext {
508
514
  maxToolResultChars?: number;
509
515
  }) {
510
516
  this.agentId = agentId;
517
+ this.endpoint = endpoint ?? provider;
511
518
  this.codeSessionKey = codeSessionKey;
512
519
  this.name = name;
513
520
  this.provider = provider;
@@ -151,6 +151,7 @@ import { shouldTraceToolNodeForLangfuse } from '@/langfuseToolOutputTracing';
151
151
  import { createLocalCodingToolBundle } from '@/tools/local/LocalCodingTools';
152
152
  import { SUBAGENT_REPLAY_CONTROLLER } from '@/tools/subagent/SubagentReplay';
153
153
  import { applyGraphRuntimeConfig } from '@/graphs/applyGraphRuntimeConfig';
154
+ import { isFadingTier, isInformativeFadingTier } from '@/messages/fading';
154
155
  import { createContextPressureMeter } from '@/llm/contextPressureMeter';
155
156
  import { safeDispatchCustomEvent, emitAgentLog } from '@/utils/events';
156
157
  import { prepareProviderRequest } from '@/llm/prepareProviderRequest';
@@ -163,7 +164,6 @@ import { initializeLangfuseTracing } from '@/instrumentation';
163
164
  import { shouldTriggerSummarization } from '@/summarization';
164
165
  import { isRunStepResumeState } from '@/tools/runStepResume';
165
166
  import { resolveLocalToolsForBinding } from '@/tools/local';
166
- import { isFadingTier, isInformativeFadingTier } from '@/messages/fading';
167
167
  import { createSummarizeNode } from '@/summarization/node';
168
168
  import { getTruncationStopReason } from '@/llm/truncation';
169
169
  import { messagesStateReducer } from '@/messages/reducer';
@@ -3992,6 +3992,7 @@ export class StandardGraph extends Graph<t.BaseGraphState, t.GraphNode> {
3992
3992
  rootAgentName: this.agentContexts.get(this.defaultAgentId)?.name,
3993
3993
  activeAgentId: agentId,
3994
3994
  activeAgentName: agentContext.name,
3995
+ endpoint: agentContext.endpoint,
3995
3996
  });
3996
3997
  let langfuseHandler: CallbackEntry | undefined;
3997
3998
  let invokeConfig = {
package/src/langfuse.ts CHANGED
@@ -840,6 +840,10 @@ export function createLangfuseTraceMetadata({
840
840
  rootAgentName,
841
841
  activeAgentId,
842
842
  activeAgentName,
843
+ endpoint,
844
+ model,
845
+ provider,
846
+ resolvedProvider,
843
847
  }: {
844
848
  messageId?: unknown;
845
849
  parentMessageId?: unknown;
@@ -849,6 +853,10 @@ export function createLangfuseTraceMetadata({
849
853
  rootAgentName?: unknown;
850
854
  activeAgentId?: unknown;
851
855
  activeAgentName?: unknown;
856
+ endpoint?: unknown;
857
+ model?: unknown;
858
+ provider?: unknown;
859
+ resolvedProvider?: unknown;
852
860
  }): LangfuseTraceMetadata {
853
861
  return createTraceMetadata({
854
862
  messageId,
@@ -859,6 +867,10 @@ export function createLangfuseTraceMetadata({
859
867
  rootAgentName,
860
868
  activeAgentId,
861
869
  activeAgentName,
870
+ endpoint,
871
+ model,
872
+ provider,
873
+ resolvedProvider,
862
874
  });
863
875
  }
864
876
 
package/src/llm/invoke.ts CHANGED
@@ -692,11 +692,32 @@ export async function attemptInvoke(
692
692
  config?: RunnableConfig
693
693
  ): Promise<Partial<t.BaseGraphState>> {
694
694
  const provider = resolveAttemptProvider(params);
695
- const stampedConfig: RunnableConfig = {
695
+ const providerStampedConfig: RunnableConfig = {
696
696
  ...config,
697
697
  metadata: {
698
698
  ...(config?.metadata ?? {}),
699
699
  [Constants.INVOKED_PROVIDER]: provider,
700
+ provider,
701
+ resolvedProvider: provider,
702
+ },
703
+ };
704
+ const request = resolveAttemptRequest(params, providerStampedConfig);
705
+ const configuredModel = providerStampedConfig.metadata?.[
706
+ Constants.INVOKED_MODEL
707
+ ];
708
+ const modelId =
709
+ request.modelId ??
710
+ (typeof configuredModel === 'string' ? configuredModel : undefined);
711
+ const stampedConfig: RunnableConfig = {
712
+ ...providerStampedConfig,
713
+ metadata: {
714
+ ...providerStampedConfig.metadata,
715
+ ...(modelId == null
716
+ ? {}
717
+ : {
718
+ [Constants.INVOKED_MODEL]: modelId,
719
+ model: modelId,
720
+ }),
700
721
  /**
701
722
  * One `attemptInvoke` call is one model attempt; primary, fallback,
702
723
  * and retry attempts within a node otherwise share the same langgraph
@@ -727,7 +748,7 @@ export async function attemptInvoke(
727
748
  try {
728
749
  return await attemptInvokeBody(
729
750
  {
730
- request: resolveAttemptRequest(params, stampedConfig),
751
+ request,
731
752
  context: params.context,
732
753
  onChunk: params.onChunk,
733
754
  preemptAgentId: params.preemptAgentId,