Home / Function/ _resolve_schema() — langchain Function Reference

_resolve_schema() — langchain Function Reference

Architecture documentation for the _resolve_schema() function in factory.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  833c00b4_ff65_504a_fd91_d0dd020207ea["_resolve_schema()"]
  fd7a28b1_3772_169b_6524_1342f35143b1["factory.py"]
  833c00b4_ff65_504a_fd91_d0dd020207ea -->|defined in| fd7a28b1_3772_169b_6524_1342f35143b1
  f4b66c38_651c_807a_caca_41f73fbbe516["create_agent()"]
  f4b66c38_651c_807a_caca_41f73fbbe516 -->|calls| 833c00b4_ff65_504a_fd91_d0dd020207ea
  617d184c_c260_2f26_eae8_c01c084ef9e6["_extract_metadata()"]
  833c00b4_ff65_504a_fd91_d0dd020207ea -->|calls| 617d184c_c260_2f26_eae8_c01c084ef9e6
  style 833c00b4_ff65_504a_fd91_d0dd020207ea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/langchain/agents/factory.py lines 387–418

def _resolve_schema(schemas: set[type], schema_name: str, omit_flag: str | None = None) -> type:
    """Resolve schema by merging schemas and optionally respecting `OmitFromSchema` annotations.

    Args:
        schemas: List of schema types to merge
        schema_name: Name for the generated `TypedDict`
        omit_flag: If specified, omit fields with this flag set (`'input'` or
            `'output'`)

    Returns:
        Merged schema as `TypedDict`
    """
    all_annotations = {}

    for schema in schemas:
        hints = get_type_hints(schema, include_extras=True)

        for field_name, field_type in hints.items():
            should_omit = False

            if omit_flag:
                # Check for omission in the annotation metadata
                metadata = _extract_metadata(field_type)
                for meta in metadata:
                    if isinstance(meta, OmitFromSchema) and getattr(meta, omit_flag) is True:
                        should_omit = True
                        break

            if not should_omit:
                all_annotations[field_name] = field_type

    return TypedDict(schema_name, all_annotations)  # type: ignore[operator]

Domain

Subdomains

Called By

Frequently Asked Questions

What does _resolve_schema() do?
_resolve_schema() is a function in the langchain codebase, defined in libs/langchain_v1/langchain/agents/factory.py.
Where is _resolve_schema() defined?
_resolve_schema() is defined in libs/langchain_v1/langchain/agents/factory.py at line 387.
What does _resolve_schema() call?
_resolve_schema() calls 1 function(s): _extract_metadata.
What calls _resolve_schema()?
_resolve_schema() is called by 1 function(s): create_agent.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free