refactor(core): remove redundant annotation preservation in pydantic utility #34537
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
refactor(core): remove redundant annotation preservation in pydantic utility
Description
This PR removes a manual workaround in
_create_subset_model_v2(withinlibs/core/langchain_core/utils/pydantic.py) that was intended to preserve__annotations__when usingAnnotatedtypes withTypedDict. I verified that the current Pydantic V2 version used inlangchain-corenatively validates and preserves these annotations correctly, rendering the manual workaround and its associated TODO redundant.Verification
Ran
pytest libs/core/tests/unit_tests/utils/test_pydantic.pyand confirmed all tests pass.Additionally, I created a local reproduction script to verify that
Annotated[TypedDict, ...]metadata is preserved in the subset model without this manual step.Checklists
TYPE(SCOPE): DESCRIPTIONlangchain-corepackage.make format,make lintandmake testpass (verified via pytest locally).