Files
docs/scripts/import_mappings.json
Mason Daugherty 2745dc5d30 feat(ci): validate imports from langchain (#1445)
Introduces an automated system to detecting and manage incorrect imports
from `langchain_core` in favor of using the re-exports from `langchain`.

* Added `check-import-mappings.yml` workflow to periodically analyze the
latest version of `langchain_core`, check for re-exports in `langchain`
(and generate `import_mappings.json`), and automatically create PRs to
update the mappings cache in this repo.
* Added `check_import_mappings.py` to fetch latest package releases,
introspect `langchain` public `__init__` files, and generate a detailed
mapping of re-exported members from `langchain_core`. Uses the previous
local `import_mappings.json`
* Added `check-pr-imports.yml` workflow to run on PRs, ensuring inbound
contributions use `langchain` imports when available, and comment on PRs
with specific guidance if issues are found.
* Uses `check_pr_imports.py` to analyze PR diffs against the import
mappings, detect incorrect `langchain_core` imports, and output
suggested fixes for contributors.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-22 17:28:42 -05:00

471 lines
14 KiB
JSON

{
"metadata": {
"langchain_version": "1.0.8",
"langchain_core_version": "1.1.0",
"total_init_files": 8
},
"analysis": [
{
"file": "langchain/tools/__init__.py",
"langchain_core_imports": {
"BaseTool": {
"module": "langchain_core.tools",
"original_name": "BaseTool"
},
"InjectedToolArg": {
"module": "langchain_core.tools",
"original_name": "InjectedToolArg"
},
"InjectedToolCallId": {
"module": "langchain_core.tools",
"original_name": "InjectedToolCallId"
},
"ToolException": {
"module": "langchain_core.tools",
"original_name": "ToolException"
},
"tool": {
"module": "langchain_core.tools",
"original_name": "tool"
}
},
"all_exports": [
"BaseTool",
"InjectedState",
"InjectedStore",
"InjectedToolArg",
"InjectedToolCallId",
"ToolException",
"ToolRuntime",
"tool"
],
"exported_from_core": {
"BaseTool": {
"module": "langchain_core.tools",
"original_name": "BaseTool"
},
"InjectedToolArg": {
"module": "langchain_core.tools",
"original_name": "InjectedToolArg"
},
"InjectedToolCallId": {
"module": "langchain_core.tools",
"original_name": "InjectedToolCallId"
},
"ToolException": {
"module": "langchain_core.tools",
"original_name": "ToolException"
},
"tool": {
"module": "langchain_core.tools",
"original_name": "tool"
}
}
},
{
"file": "langchain/messages/__init__.py",
"langchain_core_imports": {
"AIMessage": {
"module": "langchain_core.messages",
"original_name": "AIMessage"
},
"AIMessageChunk": {
"module": "langchain_core.messages",
"original_name": "AIMessageChunk"
},
"Annotation": {
"module": "langchain_core.messages",
"original_name": "Annotation"
},
"AnyMessage": {
"module": "langchain_core.messages",
"original_name": "AnyMessage"
},
"AudioContentBlock": {
"module": "langchain_core.messages",
"original_name": "AudioContentBlock"
},
"Citation": {
"module": "langchain_core.messages",
"original_name": "Citation"
},
"ContentBlock": {
"module": "langchain_core.messages",
"original_name": "ContentBlock"
},
"DataContentBlock": {
"module": "langchain_core.messages",
"original_name": "DataContentBlock"
},
"FileContentBlock": {
"module": "langchain_core.messages",
"original_name": "FileContentBlock"
},
"HumanMessage": {
"module": "langchain_core.messages",
"original_name": "HumanMessage"
},
"ImageContentBlock": {
"module": "langchain_core.messages",
"original_name": "ImageContentBlock"
},
"InputTokenDetails": {
"module": "langchain_core.messages",
"original_name": "InputTokenDetails"
},
"InvalidToolCall": {
"module": "langchain_core.messages",
"original_name": "InvalidToolCall"
},
"MessageLikeRepresentation": {
"module": "langchain_core.messages",
"original_name": "MessageLikeRepresentation"
},
"NonStandardAnnotation": {
"module": "langchain_core.messages",
"original_name": "NonStandardAnnotation"
},
"NonStandardContentBlock": {
"module": "langchain_core.messages",
"original_name": "NonStandardContentBlock"
},
"OutputTokenDetails": {
"module": "langchain_core.messages",
"original_name": "OutputTokenDetails"
},
"PlainTextContentBlock": {
"module": "langchain_core.messages",
"original_name": "PlainTextContentBlock"
},
"ReasoningContentBlock": {
"module": "langchain_core.messages",
"original_name": "ReasoningContentBlock"
},
"RemoveMessage": {
"module": "langchain_core.messages",
"original_name": "RemoveMessage"
},
"ServerToolCall": {
"module": "langchain_core.messages",
"original_name": "ServerToolCall"
},
"ServerToolCallChunk": {
"module": "langchain_core.messages",
"original_name": "ServerToolCallChunk"
},
"ServerToolResult": {
"module": "langchain_core.messages",
"original_name": "ServerToolResult"
},
"SystemMessage": {
"module": "langchain_core.messages",
"original_name": "SystemMessage"
},
"TextContentBlock": {
"module": "langchain_core.messages",
"original_name": "TextContentBlock"
},
"ToolCall": {
"module": "langchain_core.messages",
"original_name": "ToolCall"
},
"ToolCallChunk": {
"module": "langchain_core.messages",
"original_name": "ToolCallChunk"
},
"ToolMessage": {
"module": "langchain_core.messages",
"original_name": "ToolMessage"
},
"UsageMetadata": {
"module": "langchain_core.messages",
"original_name": "UsageMetadata"
},
"VideoContentBlock": {
"module": "langchain_core.messages",
"original_name": "VideoContentBlock"
},
"trim_messages": {
"module": "langchain_core.messages",
"original_name": "trim_messages"
}
},
"all_exports": [
"AIMessage",
"AIMessageChunk",
"Annotation",
"AnyMessage",
"AudioContentBlock",
"Citation",
"ContentBlock",
"DataContentBlock",
"FileContentBlock",
"HumanMessage",
"ImageContentBlock",
"InputTokenDetails",
"InvalidToolCall",
"MessageLikeRepresentation",
"NonStandardAnnotation",
"NonStandardContentBlock",
"OutputTokenDetails",
"PlainTextContentBlock",
"ReasoningContentBlock",
"RemoveMessage",
"ServerToolCall",
"ServerToolCallChunk",
"ServerToolResult",
"SystemMessage",
"TextContentBlock",
"ToolCall",
"ToolCallChunk",
"ToolMessage",
"UsageMetadata",
"VideoContentBlock",
"trim_messages"
],
"exported_from_core": {
"AIMessage": {
"module": "langchain_core.messages",
"original_name": "AIMessage"
},
"AIMessageChunk": {
"module": "langchain_core.messages",
"original_name": "AIMessageChunk"
},
"Annotation": {
"module": "langchain_core.messages",
"original_name": "Annotation"
},
"AnyMessage": {
"module": "langchain_core.messages",
"original_name": "AnyMessage"
},
"AudioContentBlock": {
"module": "langchain_core.messages",
"original_name": "AudioContentBlock"
},
"Citation": {
"module": "langchain_core.messages",
"original_name": "Citation"
},
"ContentBlock": {
"module": "langchain_core.messages",
"original_name": "ContentBlock"
},
"DataContentBlock": {
"module": "langchain_core.messages",
"original_name": "DataContentBlock"
},
"FileContentBlock": {
"module": "langchain_core.messages",
"original_name": "FileContentBlock"
},
"HumanMessage": {
"module": "langchain_core.messages",
"original_name": "HumanMessage"
},
"ImageContentBlock": {
"module": "langchain_core.messages",
"original_name": "ImageContentBlock"
},
"InputTokenDetails": {
"module": "langchain_core.messages",
"original_name": "InputTokenDetails"
},
"InvalidToolCall": {
"module": "langchain_core.messages",
"original_name": "InvalidToolCall"
},
"MessageLikeRepresentation": {
"module": "langchain_core.messages",
"original_name": "MessageLikeRepresentation"
},
"NonStandardAnnotation": {
"module": "langchain_core.messages",
"original_name": "NonStandardAnnotation"
},
"NonStandardContentBlock": {
"module": "langchain_core.messages",
"original_name": "NonStandardContentBlock"
},
"OutputTokenDetails": {
"module": "langchain_core.messages",
"original_name": "OutputTokenDetails"
},
"PlainTextContentBlock": {
"module": "langchain_core.messages",
"original_name": "PlainTextContentBlock"
},
"ReasoningContentBlock": {
"module": "langchain_core.messages",
"original_name": "ReasoningContentBlock"
},
"RemoveMessage": {
"module": "langchain_core.messages",
"original_name": "RemoveMessage"
},
"ServerToolCall": {
"module": "langchain_core.messages",
"original_name": "ServerToolCall"
},
"ServerToolCallChunk": {
"module": "langchain_core.messages",
"original_name": "ServerToolCallChunk"
},
"ServerToolResult": {
"module": "langchain_core.messages",
"original_name": "ServerToolResult"
},
"SystemMessage": {
"module": "langchain_core.messages",
"original_name": "SystemMessage"
},
"TextContentBlock": {
"module": "langchain_core.messages",
"original_name": "TextContentBlock"
},
"ToolCall": {
"module": "langchain_core.messages",
"original_name": "ToolCall"
},
"ToolCallChunk": {
"module": "langchain_core.messages",
"original_name": "ToolCallChunk"
},
"ToolMessage": {
"module": "langchain_core.messages",
"original_name": "ToolMessage"
},
"UsageMetadata": {
"module": "langchain_core.messages",
"original_name": "UsageMetadata"
},
"VideoContentBlock": {
"module": "langchain_core.messages",
"original_name": "VideoContentBlock"
},
"trim_messages": {
"module": "langchain_core.messages",
"original_name": "trim_messages"
}
}
},
{
"file": "langchain/embeddings/__init__.py",
"langchain_core_imports": {
"Embeddings": {
"module": "langchain_core.embeddings",
"original_name": "Embeddings"
}
},
"all_exports": [
"Embeddings",
"init_embeddings"
],
"exported_from_core": {
"Embeddings": {
"module": "langchain_core.embeddings",
"original_name": "Embeddings"
}
}
},
{
"file": "langchain/chat_models/__init__.py",
"langchain_core_imports": {
"BaseChatModel": {
"module": "langchain_core.language_models",
"original_name": "BaseChatModel"
}
},
"all_exports": [
"BaseChatModel",
"init_chat_model"
],
"exported_from_core": {
"BaseChatModel": {
"module": "langchain_core.language_models",
"original_name": "BaseChatModel"
}
}
},
{
"file": "langchain/agents/__init__.py",
"langchain_core_imports": {},
"all_exports": [
"AgentState",
"create_agent"
],
"exported_from_core": {}
},
{
"file": "langchain/rate_limiters/__init__.py",
"langchain_core_imports": {
"BaseRateLimiter": {
"module": "langchain_core.rate_limiters",
"original_name": "BaseRateLimiter"
},
"InMemoryRateLimiter": {
"module": "langchain_core.rate_limiters",
"original_name": "InMemoryRateLimiter"
}
},
"all_exports": [
"BaseRateLimiter",
"InMemoryRateLimiter"
],
"exported_from_core": {
"BaseRateLimiter": {
"module": "langchain_core.rate_limiters",
"original_name": "BaseRateLimiter"
},
"InMemoryRateLimiter": {
"module": "langchain_core.rate_limiters",
"original_name": "InMemoryRateLimiter"
}
}
},
{
"file": "langchain/agents/middleware/__init__.py",
"langchain_core_imports": {},
"all_exports": [
"AgentMiddleware",
"AgentState",
"ClearToolUsesEdit",
"CodexSandboxExecutionPolicy",
"ContextEditingMiddleware",
"DockerExecutionPolicy",
"FilesystemFileSearchMiddleware",
"HostExecutionPolicy",
"HumanInTheLoopMiddleware",
"InterruptOnConfig",
"LLMToolEmulator",
"LLMToolSelectorMiddleware",
"ModelCallLimitMiddleware",
"ModelFallbackMiddleware",
"ModelRequest",
"ModelResponse",
"PIIDetectionError",
"PIIMiddleware",
"RedactionRule",
"ShellToolMiddleware",
"SummarizationMiddleware",
"TodoListMiddleware",
"ToolCallLimitMiddleware",
"ToolRetryMiddleware",
"after_agent",
"after_model",
"before_agent",
"before_model",
"dynamic_prompt",
"hook_config",
"wrap_model_call",
"wrap_tool_call"
],
"exported_from_core": {}
}
],
"summary": {
"total_langchain_core_reexports": 40,
"modules_with_core_reexports": 5
}
}