# langchain

> JavaScript/TypeScript package

📖 [View in docs](https://reference.langchain.com/javascript/langchain)

## Classes

- [`AIMessage`](https://reference.langchain.com/javascript/langchain/browser/AIMessage)
- [`AIMessageChunk`](https://reference.langchain.com/javascript/langchain/browser/AIMessageChunk)
- [`BaseMessage`](https://reference.langchain.com/javascript/langchain/browser/BaseMessage)
- [`BaseMessageChunk`](https://reference.langchain.com/javascript/langchain/browser/BaseMessageChunk)
- [`ClearToolUsesEdit`](https://reference.langchain.com/javascript/langchain/browser/ClearToolUsesEdit)
- [`Document`](https://reference.langchain.com/javascript/langchain/browser/Document)
- [`DynamicStructuredTool`](https://reference.langchain.com/javascript/langchain/browser/DynamicStructuredTool)
- [`DynamicTool`](https://reference.langchain.com/javascript/langchain/browser/DynamicTool)
- [`FakeToolCallingModel`](https://reference.langchain.com/javascript/langchain/browser/FakeToolCallingModel)
- [`HumanMessage`](https://reference.langchain.com/javascript/langchain/browser/HumanMessage)
- [`HumanMessageChunk`](https://reference.langchain.com/javascript/langchain/browser/HumanMessageChunk)
- [`InMemoryStore`](https://reference.langchain.com/javascript/langchain/browser/InMemoryStore)
- [`MiddlewareError`](https://reference.langchain.com/javascript/langchain/browser/MiddlewareError)
- [`MultipleStructuredOutputsError`](https://reference.langchain.com/javascript/langchain/browser/MultipleStructuredOutputsError)
- [`MultipleToolsBoundError`](https://reference.langchain.com/javascript/langchain/browser/MultipleToolsBoundError)
- [`PIIDetectionError`](https://reference.langchain.com/javascript/langchain/browser/PIIDetectionError)
- [`ProviderStrategy`](https://reference.langchain.com/javascript/langchain/browser/ProviderStrategy)
- [`StructuredOutputParsingError`](https://reference.langchain.com/javascript/langchain/browser/StructuredOutputParsingError)
- [`StructuredTool`](https://reference.langchain.com/javascript/langchain/browser/StructuredTool)
- [`SystemMessage`](https://reference.langchain.com/javascript/langchain/browser/SystemMessage)
- [`SystemMessageChunk`](https://reference.langchain.com/javascript/langchain/browser/SystemMessageChunk)
- [`Tool`](https://reference.langchain.com/javascript/langchain/browser/Tool)
- [`ToolCallLimitExceededError`](https://reference.langchain.com/javascript/langchain/browser/ToolCallLimitExceededError)
- [`ToolInvocationError`](https://reference.langchain.com/javascript/langchain/browser/ToolInvocationError)
- [`ToolMessage`](https://reference.langchain.com/javascript/langchain/browser/ToolMessage)
- [`ToolMessageChunk`](https://reference.langchain.com/javascript/langchain/browser/ToolMessageChunk)
- [`ToolStrategy`](https://reference.langchain.com/javascript/langchain/browser/ToolStrategy)
- [`AIMessage`](https://reference.langchain.com/javascript/langchain/index/AIMessage)
- [`AIMessageChunk`](https://reference.langchain.com/javascript/langchain/index/AIMessageChunk)
- [`BaseMessage`](https://reference.langchain.com/javascript/langchain/index/BaseMessage)
- [`BaseMessageChunk`](https://reference.langchain.com/javascript/langchain/index/BaseMessageChunk)
- [`ClearToolUsesEdit`](https://reference.langchain.com/javascript/langchain/index/ClearToolUsesEdit)
- [`Document`](https://reference.langchain.com/javascript/langchain/index/Document)
- [`DynamicStructuredTool`](https://reference.langchain.com/javascript/langchain/index/DynamicStructuredTool)
- [`DynamicTool`](https://reference.langchain.com/javascript/langchain/index/DynamicTool)
- [`FakeToolCallingModel`](https://reference.langchain.com/javascript/langchain/index/FakeToolCallingModel)
- [`HumanMessage`](https://reference.langchain.com/javascript/langchain/index/HumanMessage)
- [`HumanMessageChunk`](https://reference.langchain.com/javascript/langchain/index/HumanMessageChunk)
- [`InMemoryStore`](https://reference.langchain.com/javascript/langchain/index/InMemoryStore)
- [`MiddlewareError`](https://reference.langchain.com/javascript/langchain/index/MiddlewareError)
- [`MultipleStructuredOutputsError`](https://reference.langchain.com/javascript/langchain/index/MultipleStructuredOutputsError)
- [`MultipleToolsBoundError`](https://reference.langchain.com/javascript/langchain/index/MultipleToolsBoundError)
- [`PIIDetectionError`](https://reference.langchain.com/javascript/langchain/index/PIIDetectionError)
- [`ProviderStrategy`](https://reference.langchain.com/javascript/langchain/index/ProviderStrategy)
- [`StructuredOutputParsingError`](https://reference.langchain.com/javascript/langchain/index/StructuredOutputParsingError)
- [`StructuredTool`](https://reference.langchain.com/javascript/langchain/index/StructuredTool)
- [`SystemMessage`](https://reference.langchain.com/javascript/langchain/index/SystemMessage)
- [`SystemMessageChunk`](https://reference.langchain.com/javascript/langchain/index/SystemMessageChunk)
- [`Tool`](https://reference.langchain.com/javascript/langchain/index/Tool)
- [`ToolCallLimitExceededError`](https://reference.langchain.com/javascript/langchain/index/ToolCallLimitExceededError)
- [`ToolInvocationError`](https://reference.langchain.com/javascript/langchain/index/ToolInvocationError)
- [`ToolMessage`](https://reference.langchain.com/javascript/langchain/index/ToolMessage)
- [`ToolMessageChunk`](https://reference.langchain.com/javascript/langchain/index/ToolMessageChunk)
- [`ToolStrategy`](https://reference.langchain.com/javascript/langchain/index/ToolStrategy)
- [`Serializable`](https://reference.langchain.com/javascript/langchain/load/serializable/Serializable)
- [`EncoderBackedStore`](https://reference.langchain.com/javascript/langchain/storage/encoder_backed/EncoderBackedStore)
- [`LocalFileStore`](https://reference.langchain.com/javascript/langchain/storage/file_system/LocalFileStore)
- [`InMemoryStore`](https://reference.langchain.com/javascript/langchain/storage/in_memory/InMemoryStore)

## Functions

- [`anthropicPromptCachingMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/anthropicPromptCachingMiddleware)
- [`applyStrategy()`](https://reference.langchain.com/javascript/langchain/browser/applyStrategy)
- [`context()`](https://reference.langchain.com/javascript/langchain/browser/context)
- [`contextEditingMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/contextEditingMiddleware)
- [`countTokensApproximately()`](https://reference.langchain.com/javascript/langchain/browser/countTokensApproximately)
- [`createAgent()`](https://reference.langchain.com/javascript/langchain/browser/createAgent)
- [`createMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/createMiddleware)
- [`createToolCallTransformer()`](https://reference.langchain.com/javascript/langchain/browser/createToolCallTransformer)
- [`detectCreditCard()`](https://reference.langchain.com/javascript/langchain/browser/detectCreditCard)
- [`detectEmail()`](https://reference.langchain.com/javascript/langchain/browser/detectEmail)
- [`detectIP()`](https://reference.langchain.com/javascript/langchain/browser/detectIP)
- [`detectMacAddress()`](https://reference.langchain.com/javascript/langchain/browser/detectMacAddress)
- [`detectUrl()`](https://reference.langchain.com/javascript/langchain/browser/detectUrl)
- [`dynamicSystemPromptMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/dynamicSystemPromptMiddleware)
- [`fakeModel()`](https://reference.langchain.com/javascript/langchain/browser/fakeModel)
- [`filterMessages()`](https://reference.langchain.com/javascript/langchain/browser/filterMessages)
- [`humanInTheLoopMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/humanInTheLoopMiddleware)
- [`initChatModel()`](https://reference.langchain.com/javascript/langchain/browser/initChatModel)
- [`llmToolSelectorMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/llmToolSelectorMiddleware)
- [`modelCallLimitMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/modelCallLimitMiddleware)
- [`modelFallbackMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/modelFallbackMiddleware)
- [`modelRetryMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/modelRetryMiddleware)
- [`openAIModerationMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/openAIModerationMiddleware)
- [`piiMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/piiMiddleware)
- [`piiRedactionMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/piiRedactionMiddleware)
- [`providerStrategy()`](https://reference.langchain.com/javascript/langchain/browser/providerStrategy)
- [`resolveRedactionRule()`](https://reference.langchain.com/javascript/langchain/browser/resolveRedactionRule)
- [`summarizationMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/summarizationMiddleware)
- [`todoListMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/todoListMiddleware)
- [`toolCallLimitMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/toolCallLimitMiddleware)
- [`toolEmulatorMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/toolEmulatorMiddleware)
- [`toolRetryMiddleware()`](https://reference.langchain.com/javascript/langchain/browser/toolRetryMiddleware)
- [`toolStrategy()`](https://reference.langchain.com/javascript/langchain/browser/toolStrategy)
- [`trimMessages()`](https://reference.langchain.com/javascript/langchain/browser/trimMessages)
- [`_inferModelProvider()`](https://reference.langchain.com/javascript/langchain/chat_models/universal/_inferModelProvider)
- [`getChatModelByClassName()`](https://reference.langchain.com/javascript/langchain/chat_models/universal/getChatModelByClassName)
- [`initChatModel()`](https://reference.langchain.com/javascript/langchain/chat_models/universal/initChatModel)
- [`pull()`](https://reference.langchain.com/javascript/langchain/hub/pull)
- [`push()`](https://reference.langchain.com/javascript/langchain/hub/push)
- [`inferModelProviderFromNamespace()`](https://reference.langchain.com/javascript/langchain/hub/node/inferModelProviderFromNamespace)
- [`pull()`](https://reference.langchain.com/javascript/langchain/hub/node/pull)
- [`push()`](https://reference.langchain.com/javascript/langchain/hub/node/push)
- [`anthropicPromptCachingMiddleware()`](https://reference.langchain.com/javascript/langchain/index/anthropicPromptCachingMiddleware)
- [`applyStrategy()`](https://reference.langchain.com/javascript/langchain/index/applyStrategy)
- [`context()`](https://reference.langchain.com/javascript/langchain/index/context)
- [`contextEditingMiddleware()`](https://reference.langchain.com/javascript/langchain/index/contextEditingMiddleware)
- [`countTokensApproximately()`](https://reference.langchain.com/javascript/langchain/index/countTokensApproximately)
- [`createAgent()`](https://reference.langchain.com/javascript/langchain/index/createAgent)
- [`createMiddleware()`](https://reference.langchain.com/javascript/langchain/index/createMiddleware)
- [`createToolCallTransformer()`](https://reference.langchain.com/javascript/langchain/index/createToolCallTransformer)
- [`detectCreditCard()`](https://reference.langchain.com/javascript/langchain/index/detectCreditCard)
- [`detectEmail()`](https://reference.langchain.com/javascript/langchain/index/detectEmail)
- [`detectIP()`](https://reference.langchain.com/javascript/langchain/index/detectIP)
- [`detectMacAddress()`](https://reference.langchain.com/javascript/langchain/index/detectMacAddress)
- [`detectUrl()`](https://reference.langchain.com/javascript/langchain/index/detectUrl)
- [`dynamicSystemPromptMiddleware()`](https://reference.langchain.com/javascript/langchain/index/dynamicSystemPromptMiddleware)
- [`fakeModel()`](https://reference.langchain.com/javascript/langchain/index/fakeModel)
- [`filterMessages()`](https://reference.langchain.com/javascript/langchain/index/filterMessages)
- [`humanInTheLoopMiddleware()`](https://reference.langchain.com/javascript/langchain/index/humanInTheLoopMiddleware)
- [`llmToolSelectorMiddleware()`](https://reference.langchain.com/javascript/langchain/index/llmToolSelectorMiddleware)
- [`modelCallLimitMiddleware()`](https://reference.langchain.com/javascript/langchain/index/modelCallLimitMiddleware)
- [`modelFallbackMiddleware()`](https://reference.langchain.com/javascript/langchain/index/modelFallbackMiddleware)
- [`modelRetryMiddleware()`](https://reference.langchain.com/javascript/langchain/index/modelRetryMiddleware)
- [`openAIModerationMiddleware()`](https://reference.langchain.com/javascript/langchain/index/openAIModerationMiddleware)
- [`piiMiddleware()`](https://reference.langchain.com/javascript/langchain/index/piiMiddleware)
- [`piiRedactionMiddleware()`](https://reference.langchain.com/javascript/langchain/index/piiRedactionMiddleware)
- [`providerStrategy()`](https://reference.langchain.com/javascript/langchain/index/providerStrategy)
- [`resolveRedactionRule()`](https://reference.langchain.com/javascript/langchain/index/resolveRedactionRule)
- [`summarizationMiddleware()`](https://reference.langchain.com/javascript/langchain/index/summarizationMiddleware)
- [`todoListMiddleware()`](https://reference.langchain.com/javascript/langchain/index/todoListMiddleware)
- [`toolCallLimitMiddleware()`](https://reference.langchain.com/javascript/langchain/index/toolCallLimitMiddleware)
- [`toolEmulatorMiddleware()`](https://reference.langchain.com/javascript/langchain/index/toolEmulatorMiddleware)
- [`toolRetryMiddleware()`](https://reference.langchain.com/javascript/langchain/index/toolRetryMiddleware)
- [`toolStrategy()`](https://reference.langchain.com/javascript/langchain/index/toolStrategy)
- [`trimMessages()`](https://reference.langchain.com/javascript/langchain/index/trimMessages)
- [`initChatModel()`](https://reference.langchain.com/javascript/langchain/index/initChatModel)
- [`load()`](https://reference.langchain.com/javascript/langchain/load/load)
- [`get_lc_unique_name()`](https://reference.langchain.com/javascript/langchain/load/serializable/get_lc_unique_name)
- [`createDocumentStoreFromByteStore()`](https://reference.langchain.com/javascript/langchain/storage/encoder_backed/createDocumentStoreFromByteStore)

## Interfaces

- [`Action`](https://reference.langchain.com/javascript/langchain/browser/Action)
- [`ActionRequest`](https://reference.langchain.com/javascript/langchain/browser/ActionRequest)
- [`AgentMiddleware`](https://reference.langchain.com/javascript/langchain/browser/AgentMiddleware)
- [`AgentTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/AgentTypeConfig)
- [`ApproveDecision`](https://reference.langchain.com/javascript/langchain/browser/ApproveDecision)
- [`BuiltInState`](https://reference.langchain.com/javascript/langchain/browser/BuiltInState)
- [`ClearToolUsesEditConfig`](https://reference.langchain.com/javascript/langchain/browser/ClearToolUsesEditConfig)
- [`ContentBlock`](https://reference.langchain.com/javascript/langchain/browser/ContentBlock)
- [`ContextEdit`](https://reference.langchain.com/javascript/langchain/browser/ContextEdit)
- [`ContextEditingMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/ContextEditingMiddlewareConfig)
- [`DefaultAgentTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/DefaultAgentTypeConfig)
- [`DocumentInput`](https://reference.langchain.com/javascript/langchain/browser/DocumentInput)
- [`EditDecision`](https://reference.langchain.com/javascript/langchain/browser/EditDecision)
- [`ExecutedToolCall`](https://reference.langchain.com/javascript/langchain/browser/ExecutedToolCall)
- [`HITLRequest`](https://reference.langchain.com/javascript/langchain/browser/HITLRequest)
- [`HITLResponse`](https://reference.langchain.com/javascript/langchain/browser/HITLResponse)
- [`Interrupt`](https://reference.langchain.com/javascript/langchain/browser/Interrupt)
- [`LangChainMatchers`](https://reference.langchain.com/javascript/langchain/browser/LangChainMatchers)
- [`MiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/MiddlewareTypeConfig)
- [`ModelRequest`](https://reference.langchain.com/javascript/langchain/browser/ModelRequest)
- [`OpenAIModerationMiddlewareOptions`](https://reference.langchain.com/javascript/langchain/browser/OpenAIModerationMiddlewareOptions)
- [`PIIMatch`](https://reference.langchain.com/javascript/langchain/browser/PIIMatch)
- [`ReactAgent`](https://reference.langchain.com/javascript/langchain/browser/ReactAgent)
- [`RedactionRuleConfig`](https://reference.langchain.com/javascript/langchain/browser/RedactionRuleConfig)
- [`RejectDecision`](https://reference.langchain.com/javascript/langchain/browser/RejectDecision)
- [`ResolvedRedactionRule`](https://reference.langchain.com/javascript/langchain/browser/ResolvedRedactionRule)
- [`ReviewConfig`](https://reference.langchain.com/javascript/langchain/browser/ReviewConfig)
- [`TodoListMiddlewareOptions`](https://reference.langchain.com/javascript/langchain/browser/TodoListMiddlewareOptions)
- [`ToolCall`](https://reference.langchain.com/javascript/langchain/browser/ToolCall)
- [`ToolCallRequest`](https://reference.langchain.com/javascript/langchain/browser/ToolCallRequest)
- [`ToolEmulatorOptions`](https://reference.langchain.com/javascript/langchain/browser/ToolEmulatorOptions)
- [`ToolResult`](https://reference.langchain.com/javascript/langchain/browser/ToolResult)
- [`TypedToolStrategy`](https://reference.langchain.com/javascript/langchain/browser/TypedToolStrategy)
- [`ConfigurableChatModelCallOptions`](https://reference.langchain.com/javascript/langchain/chat_models/universal/ConfigurableChatModelCallOptions)
- [`InitChatModelFields`](https://reference.langchain.com/javascript/langchain/chat_models/universal/InitChatModelFields)
- [`Base64ContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/Base64ContentBlock)
- [`BaseDataContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/BaseDataContentBlock)
- [`IDContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/IDContentBlock)
- [`PlainTextContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/PlainTextContentBlock)
- [`URLContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/URLContentBlock)
- [`InvalidToolCall`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/InvalidToolCall)
- [`ServerToolCall`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/ServerToolCall)
- [`ServerToolCallChunk`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/ServerToolCallChunk)
- [`ServerToolCallResult`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/ServerToolCallResult)
- [`ToolCall`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/ToolCall)
- [`ToolCallChunk`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/ToolCallChunk)
- [`Citation`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Citation)
- [`NonStandard`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/NonStandard)
- [`Reasoning`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Reasoning)
- [`Text`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Text)
- [`Action`](https://reference.langchain.com/javascript/langchain/index/Action)
- [`ActionRequest`](https://reference.langchain.com/javascript/langchain/index/ActionRequest)
- [`AgentMiddleware`](https://reference.langchain.com/javascript/langchain/index/AgentMiddleware)
- [`AgentTypeConfig`](https://reference.langchain.com/javascript/langchain/index/AgentTypeConfig)
- [`ApproveDecision`](https://reference.langchain.com/javascript/langchain/index/ApproveDecision)
- [`BuiltInState`](https://reference.langchain.com/javascript/langchain/index/BuiltInState)
- [`ClearToolUsesEditConfig`](https://reference.langchain.com/javascript/langchain/index/ClearToolUsesEditConfig)
- [`ContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock)
- [`ContextEdit`](https://reference.langchain.com/javascript/langchain/index/ContextEdit)
- [`ContextEditingMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/ContextEditingMiddlewareConfig)
- [`DefaultAgentTypeConfig`](https://reference.langchain.com/javascript/langchain/index/DefaultAgentTypeConfig)
- [`DocumentInput`](https://reference.langchain.com/javascript/langchain/index/DocumentInput)
- [`EditDecision`](https://reference.langchain.com/javascript/langchain/index/EditDecision)
- [`ExecutedToolCall`](https://reference.langchain.com/javascript/langchain/index/ExecutedToolCall)
- [`HITLRequest`](https://reference.langchain.com/javascript/langchain/index/HITLRequest)
- [`HITLResponse`](https://reference.langchain.com/javascript/langchain/index/HITLResponse)
- [`Interrupt`](https://reference.langchain.com/javascript/langchain/index/Interrupt)
- [`LangChainMatchers`](https://reference.langchain.com/javascript/langchain/index/LangChainMatchers)
- [`MiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/index/MiddlewareTypeConfig)
- [`ModelRequest`](https://reference.langchain.com/javascript/langchain/index/ModelRequest)
- [`OpenAIModerationMiddlewareOptions`](https://reference.langchain.com/javascript/langchain/index/OpenAIModerationMiddlewareOptions)
- [`PIIMatch`](https://reference.langchain.com/javascript/langchain/index/PIIMatch)
- [`ReactAgent`](https://reference.langchain.com/javascript/langchain/index/ReactAgent)
- [`RedactionRuleConfig`](https://reference.langchain.com/javascript/langchain/index/RedactionRuleConfig)
- [`RejectDecision`](https://reference.langchain.com/javascript/langchain/index/RejectDecision)
- [`ResolvedRedactionRule`](https://reference.langchain.com/javascript/langchain/index/ResolvedRedactionRule)
- [`ReviewConfig`](https://reference.langchain.com/javascript/langchain/index/ReviewConfig)
- [`TodoListMiddlewareOptions`](https://reference.langchain.com/javascript/langchain/index/TodoListMiddlewareOptions)
- [`ToolCall`](https://reference.langchain.com/javascript/langchain/index/ToolCall)
- [`ToolCallRequest`](https://reference.langchain.com/javascript/langchain/index/ToolCallRequest)
- [`ToolEmulatorOptions`](https://reference.langchain.com/javascript/langchain/index/ToolEmulatorOptions)
- [`ToolResult`](https://reference.langchain.com/javascript/langchain/index/ToolResult)
- [`TypedToolStrategy`](https://reference.langchain.com/javascript/langchain/index/TypedToolStrategy)
- [`BaseSerialized`](https://reference.langchain.com/javascript/langchain/load/serializable/BaseSerialized)
- [`SerializableInterface`](https://reference.langchain.com/javascript/langchain/load/serializable/SerializableInterface)
- [`SerializableLike`](https://reference.langchain.com/javascript/langchain/load/serializable/SerializableLike)
- [`SerializedConstructor`](https://reference.langchain.com/javascript/langchain/load/serializable/SerializedConstructor)
- [`SerializedNotImplemented`](https://reference.langchain.com/javascript/langchain/load/serializable/SerializedNotImplemented)
- [`SerializedSecret`](https://reference.langchain.com/javascript/langchain/load/serializable/SerializedSecret)

## Types

- [`AfterAgentHook`](https://reference.langchain.com/javascript/langchain/browser/AfterAgentHook)
- [`AfterModelHook`](https://reference.langchain.com/javascript/langchain/browser/AfterModelHook)
- [`AgentRunStream`](https://reference.langchain.com/javascript/langchain/browser/AgentRunStream)
- [`AnyAnnotationRoot`](https://reference.langchain.com/javascript/langchain/browser/AnyAnnotationRoot)
- [`BeforeAgentHook`](https://reference.langchain.com/javascript/langchain/browser/BeforeAgentHook)
- [`BeforeModelHook`](https://reference.langchain.com/javascript/langchain/browser/BeforeModelHook)
- [`BuiltInPIIType`](https://reference.langchain.com/javascript/langchain/browser/BuiltInPIIType)
- [`CombineTools`](https://reference.langchain.com/javascript/langchain/browser/CombineTools)
- [`CreateAgentParams`](https://reference.langchain.com/javascript/langchain/browser/CreateAgentParams)
- [`Decision`](https://reference.langchain.com/javascript/langchain/browser/Decision)
- [`DecisionType`](https://reference.langchain.com/javascript/langchain/browser/DecisionType)
- [`DefaultMiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/DefaultMiddlewareTypeConfig)
- [`DescriptionFactory`](https://reference.langchain.com/javascript/langchain/browser/DescriptionFactory)
- [`DynamicSystemPromptMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/DynamicSystemPromptMiddlewareConfig)
- [`ExtractZodArrayTypes`](https://reference.langchain.com/javascript/langchain/browser/ExtractZodArrayTypes)
- [`HeadlessTool`](https://reference.langchain.com/javascript/langchain/browser/HeadlessTool)
- [`HeadlessToolFields`](https://reference.langchain.com/javascript/langchain/browser/HeadlessToolFields)
- [`HeadlessToolImplementation`](https://reference.langchain.com/javascript/langchain/browser/HeadlessToolImplementation)
- [`HumanInTheLoopMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/HumanInTheLoopMiddlewareConfig)
- [`InferAgentContext`](https://reference.langchain.com/javascript/langchain/browser/InferAgentContext)
- [`InferAgentContextSchema`](https://reference.langchain.com/javascript/langchain/browser/InferAgentContextSchema)
- [`InferAgentMiddleware`](https://reference.langchain.com/javascript/langchain/browser/InferAgentMiddleware)
- [`InferAgentResponse`](https://reference.langchain.com/javascript/langchain/browser/InferAgentResponse)
- [`InferAgentState`](https://reference.langchain.com/javascript/langchain/browser/InferAgentState)
- [`InferAgentStateSchema`](https://reference.langchain.com/javascript/langchain/browser/InferAgentStateSchema)
- [`InferAgentStreamTransformers`](https://reference.langchain.com/javascript/langchain/browser/InferAgentStreamTransformers)
- [`InferAgentTools`](https://reference.langchain.com/javascript/langchain/browser/InferAgentTools)
- [`InferAgentType`](https://reference.langchain.com/javascript/langchain/browser/InferAgentType)
- [`InferChannelType`](https://reference.langchain.com/javascript/langchain/browser/InferChannelType)
- [`InferContextInput`](https://reference.langchain.com/javascript/langchain/browser/InferContextInput)
- [`InferMergedInputState`](https://reference.langchain.com/javascript/langchain/browser/InferMergedInputState)
- [`InferMergedState`](https://reference.langchain.com/javascript/langchain/browser/InferMergedState)
- [`InferMiddlewareContext`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareContext)
- [`InferMiddlewareContextInput`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareContextInput)
- [`InferMiddlewareContextInputs`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareContextInputs)
- [`InferMiddlewareContexts`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareContexts)
- [`InferMiddlewareContextSchema`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareContextSchema)
- [`InferMiddlewareFullContext`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareFullContext)
- [`InferMiddlewareInputState`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareInputState)
- [`InferMiddlewareInputStates`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareInputStates)
- [`InferMiddlewareSchema`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareSchema)
- [`InferMiddlewareState`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareState)
- [`InferMiddlewareStates`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareStates)
- [`InferMiddlewareTools`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareTools)
- [`InferMiddlewareToolsArray`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareToolsArray)
- [`InferMiddlewareToolsFromConfig`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareToolsFromConfig)
- [`InferMiddlewareType`](https://reference.langchain.com/javascript/langchain/browser/InferMiddlewareType)
- [`InferSchemaInput`](https://reference.langchain.com/javascript/langchain/browser/InferSchemaInput)
- [`InferSchemaUpdateType`](https://reference.langchain.com/javascript/langchain/browser/InferSchemaUpdateType)
- [`InferSchemaValue`](https://reference.langchain.com/javascript/langchain/browser/InferSchemaValue)
- [`InferSchemaValueType`](https://reference.langchain.com/javascript/langchain/browser/InferSchemaValueType)
- [`InterruptOnConfig`](https://reference.langchain.com/javascript/langchain/browser/InterruptOnConfig)
- [`JumpTo`](https://reference.langchain.com/javascript/langchain/browser/JumpTo)
- [`JumpToTarget`](https://reference.langchain.com/javascript/langchain/browser/JumpToTarget)
- [`LLMToolSelectorConfig`](https://reference.langchain.com/javascript/langchain/browser/LLMToolSelectorConfig)
- [`MiddlewareResult`](https://reference.langchain.com/javascript/langchain/browser/MiddlewareResult)
- [`ModelCallLimitMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/ModelCallLimitMiddlewareConfig)
- [`ModelRetryMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/ModelRetryMiddlewareConfig)
- [`N`](https://reference.langchain.com/javascript/langchain/browser/N)
- [`NormalizedSchemaInput`](https://reference.langchain.com/javascript/langchain/browser/NormalizedSchemaInput)
- [`NormalizedSchemaUpdate`](https://reference.langchain.com/javascript/langchain/browser/NormalizedSchemaUpdate)
- [`PIIDetector`](https://reference.langchain.com/javascript/langchain/browser/PIIDetector)
- [`PIIMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/PIIMiddlewareConfig)
- [`PIIRedactionMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/PIIRedactionMiddlewareConfig)
- [`PIIStrategy`](https://reference.langchain.com/javascript/langchain/browser/PIIStrategy)
- [`PromptCachingMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/PromptCachingMiddlewareConfig)
- [`ResolveAgentTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/ResolveAgentTypeConfig)
- [`ResolveMiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/browser/ResolveMiddlewareTypeConfig)
- [`ResponseFormat`](https://reference.langchain.com/javascript/langchain/browser/ResponseFormat)
- [`ResponseFormatUndefined`](https://reference.langchain.com/javascript/langchain/browser/ResponseFormatUndefined)
- [`Runtime`](https://reference.langchain.com/javascript/langchain/browser/Runtime)
- [`SummarizationMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/SummarizationMiddlewareConfig)
- [`ToAnnotationRoot`](https://reference.langchain.com/javascript/langchain/browser/ToAnnotationRoot)
- [`Todo`](https://reference.langchain.com/javascript/langchain/browser/Todo)
- [`TokenCounter`](https://reference.langchain.com/javascript/langchain/browser/TokenCounter)
- [`ToolCallHandler`](https://reference.langchain.com/javascript/langchain/browser/ToolCallHandler)
- [`ToolCallLimitConfig`](https://reference.langchain.com/javascript/langchain/browser/ToolCallLimitConfig)
- [`ToolCallStreamUnion`](https://reference.langchain.com/javascript/langchain/browser/ToolCallStreamUnion)
- [`ToolRetryMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/browser/ToolRetryMiddlewareConfig)
- [`ToolRuntime`](https://reference.langchain.com/javascript/langchain/browser/ToolRuntime)
- [`ToolsToMessageToolSet`](https://reference.langchain.com/javascript/langchain/browser/ToolsToMessageToolSet)
- [`UserInput`](https://reference.langchain.com/javascript/langchain/browser/UserInput)
- [`WithStateGraphNodes`](https://reference.langchain.com/javascript/langchain/browser/WithStateGraphNodes)
- [`WrapModelCallHandler`](https://reference.langchain.com/javascript/langchain/browser/WrapModelCallHandler)
- [`WrapModelCallHook`](https://reference.langchain.com/javascript/langchain/browser/WrapModelCallHook)
- [`WrapToolCallHook`](https://reference.langchain.com/javascript/langchain/browser/WrapToolCallHook)
- [`ChatModelProvider`](https://reference.langchain.com/javascript/langchain/chat_models/universal/ChatModelProvider)
- [`ConfigurableFields`](https://reference.langchain.com/javascript/langchain/chat_models/universal/ConfigurableFields)
- [`DataContentBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/DataContentBlock)
- [`DataContentBlockType`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/DataContentBlockType)
- [`StandardAudioBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/StandardAudioBlock)
- [`StandardFileBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/StandardFileBlock)
- [`StandardImageBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/StandardImageBlock)
- [`StandardTextBlock`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data/StandardTextBlock)
- [`Audio`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/Audio)
- [`BaseDataRecord`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/BaseDataRecord)
- [`Data`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/Data)
- [`DataRecord`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/DataRecord)
- [`DataRecordBase64`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/DataRecordBase64)
- [`DataRecordFileId`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/DataRecordFileId)
- [`DataRecordUrl`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/DataRecordUrl)
- [`File`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/File)
- [`Image`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/Image)
- [`PlainText`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/PlainText)
- [`Standard`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/Standard)
- [`Video`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal/Video)
- [`Standard`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools/Standard)
- [`Data`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Data)
- [`Multimodal`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Multimodal)
- [`Standard`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Standard)
- [`Tools`](https://reference.langchain.com/javascript/langchain/index/ContentBlock/Tools)
- [`AfterAgentHook`](https://reference.langchain.com/javascript/langchain/index/AfterAgentHook)
- [`AfterModelHook`](https://reference.langchain.com/javascript/langchain/index/AfterModelHook)
- [`AgentRunStream`](https://reference.langchain.com/javascript/langchain/index/AgentRunStream)
- [`AnyAnnotationRoot`](https://reference.langchain.com/javascript/langchain/index/AnyAnnotationRoot)
- [`BeforeAgentHook`](https://reference.langchain.com/javascript/langchain/index/BeforeAgentHook)
- [`BeforeModelHook`](https://reference.langchain.com/javascript/langchain/index/BeforeModelHook)
- [`BuiltInPIIType`](https://reference.langchain.com/javascript/langchain/index/BuiltInPIIType)
- [`CombineTools`](https://reference.langchain.com/javascript/langchain/index/CombineTools)
- [`CreateAgentParams`](https://reference.langchain.com/javascript/langchain/index/CreateAgentParams)
- [`Decision`](https://reference.langchain.com/javascript/langchain/index/Decision)
- [`DecisionType`](https://reference.langchain.com/javascript/langchain/index/DecisionType)
- [`DefaultMiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/index/DefaultMiddlewareTypeConfig)
- [`DescriptionFactory`](https://reference.langchain.com/javascript/langchain/index/DescriptionFactory)
- [`DynamicSystemPromptMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/DynamicSystemPromptMiddlewareConfig)
- [`ExtractZodArrayTypes`](https://reference.langchain.com/javascript/langchain/index/ExtractZodArrayTypes)
- [`HeadlessTool`](https://reference.langchain.com/javascript/langchain/index/HeadlessTool)
- [`HeadlessToolFields`](https://reference.langchain.com/javascript/langchain/index/HeadlessToolFields)
- [`HeadlessToolImplementation`](https://reference.langchain.com/javascript/langchain/index/HeadlessToolImplementation)
- [`HumanInTheLoopMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/HumanInTheLoopMiddlewareConfig)
- [`InferAgentContext`](https://reference.langchain.com/javascript/langchain/index/InferAgentContext)
- [`InferAgentContextSchema`](https://reference.langchain.com/javascript/langchain/index/InferAgentContextSchema)
- [`InferAgentMiddleware`](https://reference.langchain.com/javascript/langchain/index/InferAgentMiddleware)
- [`InferAgentResponse`](https://reference.langchain.com/javascript/langchain/index/InferAgentResponse)
- [`InferAgentState`](https://reference.langchain.com/javascript/langchain/index/InferAgentState)
- [`InferAgentStateSchema`](https://reference.langchain.com/javascript/langchain/index/InferAgentStateSchema)
- [`InferAgentStreamTransformers`](https://reference.langchain.com/javascript/langchain/index/InferAgentStreamTransformers)
- [`InferAgentTools`](https://reference.langchain.com/javascript/langchain/index/InferAgentTools)
- [`InferAgentType`](https://reference.langchain.com/javascript/langchain/index/InferAgentType)
- [`InferChannelType`](https://reference.langchain.com/javascript/langchain/index/InferChannelType)
- [`InferContextInput`](https://reference.langchain.com/javascript/langchain/index/InferContextInput)
- [`InferMergedInputState`](https://reference.langchain.com/javascript/langchain/index/InferMergedInputState)
- [`InferMergedState`](https://reference.langchain.com/javascript/langchain/index/InferMergedState)
- [`InferMiddlewareContext`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareContext)
- [`InferMiddlewareContextInput`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareContextInput)
- [`InferMiddlewareContextInputs`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareContextInputs)
- [`InferMiddlewareContexts`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareContexts)
- [`InferMiddlewareContextSchema`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareContextSchema)
- [`InferMiddlewareFullContext`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareFullContext)
- [`InferMiddlewareInputState`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareInputState)
- [`InferMiddlewareInputStates`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareInputStates)
- [`InferMiddlewareSchema`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareSchema)
- [`InferMiddlewareState`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareState)
- [`InferMiddlewareStates`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareStates)
- [`InferMiddlewareTools`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareTools)
- [`InferMiddlewareToolsArray`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareToolsArray)
- [`InferMiddlewareToolsFromConfig`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareToolsFromConfig)
- [`InferMiddlewareType`](https://reference.langchain.com/javascript/langchain/index/InferMiddlewareType)
- [`InferSchemaInput`](https://reference.langchain.com/javascript/langchain/index/InferSchemaInput)
- [`InferSchemaUpdateType`](https://reference.langchain.com/javascript/langchain/index/InferSchemaUpdateType)
- [`InferSchemaValue`](https://reference.langchain.com/javascript/langchain/index/InferSchemaValue)
- [`InferSchemaValueType`](https://reference.langchain.com/javascript/langchain/index/InferSchemaValueType)
- [`InterruptOnConfig`](https://reference.langchain.com/javascript/langchain/index/InterruptOnConfig)
- [`JumpTo`](https://reference.langchain.com/javascript/langchain/index/JumpTo)
- [`JumpToTarget`](https://reference.langchain.com/javascript/langchain/index/JumpToTarget)
- [`LLMToolSelectorConfig`](https://reference.langchain.com/javascript/langchain/index/LLMToolSelectorConfig)
- [`MiddlewareResult`](https://reference.langchain.com/javascript/langchain/index/MiddlewareResult)
- [`ModelCallLimitMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/ModelCallLimitMiddlewareConfig)
- [`ModelRetryMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/ModelRetryMiddlewareConfig)
- [`N`](https://reference.langchain.com/javascript/langchain/index/N)
- [`NormalizedSchemaInput`](https://reference.langchain.com/javascript/langchain/index/NormalizedSchemaInput)
- [`NormalizedSchemaUpdate`](https://reference.langchain.com/javascript/langchain/index/NormalizedSchemaUpdate)
- [`PIIDetector`](https://reference.langchain.com/javascript/langchain/index/PIIDetector)
- [`PIIMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/PIIMiddlewareConfig)
- [`PIIRedactionMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/PIIRedactionMiddlewareConfig)
- [`PIIStrategy`](https://reference.langchain.com/javascript/langchain/index/PIIStrategy)
- [`PromptCachingMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/PromptCachingMiddlewareConfig)
- [`ResolveAgentTypeConfig`](https://reference.langchain.com/javascript/langchain/index/ResolveAgentTypeConfig)
- [`ResolveMiddlewareTypeConfig`](https://reference.langchain.com/javascript/langchain/index/ResolveMiddlewareTypeConfig)
- [`ResponseFormat`](https://reference.langchain.com/javascript/langchain/index/ResponseFormat)
- [`ResponseFormatUndefined`](https://reference.langchain.com/javascript/langchain/index/ResponseFormatUndefined)
- [`Runtime`](https://reference.langchain.com/javascript/langchain/index/Runtime)
- [`SummarizationMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/SummarizationMiddlewareConfig)
- [`ToAnnotationRoot`](https://reference.langchain.com/javascript/langchain/index/ToAnnotationRoot)
- [`Todo`](https://reference.langchain.com/javascript/langchain/index/Todo)
- [`TokenCounter`](https://reference.langchain.com/javascript/langchain/index/TokenCounter)
- [`ToolCallHandler`](https://reference.langchain.com/javascript/langchain/index/ToolCallHandler)
- [`ToolCallLimitConfig`](https://reference.langchain.com/javascript/langchain/index/ToolCallLimitConfig)
- [`ToolCallStreamUnion`](https://reference.langchain.com/javascript/langchain/index/ToolCallStreamUnion)
- [`ToolRetryMiddlewareConfig`](https://reference.langchain.com/javascript/langchain/index/ToolRetryMiddlewareConfig)
- [`ToolRuntime`](https://reference.langchain.com/javascript/langchain/index/ToolRuntime)
- [`ToolsToMessageToolSet`](https://reference.langchain.com/javascript/langchain/index/ToolsToMessageToolSet)
- [`UserInput`](https://reference.langchain.com/javascript/langchain/index/UserInput)
- [`WithStateGraphNodes`](https://reference.langchain.com/javascript/langchain/index/WithStateGraphNodes)
- [`WrapModelCallHandler`](https://reference.langchain.com/javascript/langchain/index/WrapModelCallHandler)
- [`WrapModelCallHook`](https://reference.langchain.com/javascript/langchain/index/WrapModelCallHook)
- [`WrapToolCallHook`](https://reference.langchain.com/javascript/langchain/index/WrapToolCallHook)
- [`Serialized`](https://reference.langchain.com/javascript/langchain/load/serializable/Serialized)
- [`HeadlessTool`](https://reference.langchain.com/javascript/langchain/tools/HeadlessTool)
- [`HeadlessToolFields`](https://reference.langchain.com/javascript/langchain/tools/HeadlessToolFields)
- [`HeadlessToolImplementation`](https://reference.langchain.com/javascript/langchain/tools/HeadlessToolImplementation)
