langchain-ai
langchain
BlogDocsChangelog

fix(core): strip injected args before validation for strict schemas

#34248
Comparing
thromel:fix/injected-args-strict-schema
(
d8f2351
) with
master
(
dff229d
)
CodSpeed Performance Gauge
0%
Untouched
13
Skipped
21

Benchmarks

Skipped (21)

Passed

test_import_time[Document]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
+1%
182.4 ms*181.4 ms
test_import_time[RunnableLambda]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
478.2 ms*476.5 ms
test_import_time[InMemoryRateLimiter]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
170.3 ms*170.1 ms
test_import_time[PydanticOutputParser]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
518.6 ms*518.1 ms
test_import_time[InMemoryVectorStore]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
600.4 ms*600 ms
test_import_time[tool]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
501 ms*500.8 ms
test_import_time[BaseChatModel]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
513.9 ms*514.3 ms
test_import_time[Runnable]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
477.2 ms*478 ms
test_import_time[CallbackManager]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
0%
448.8 ms*450.6 ms
test_import_time[ChatPromptTemplate]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
-1%
579.1 ms*582.4 ms
test_import_time[LangChainTracer]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
-1%
425.6 ms*428.3 ms
test_import_time[HumanMessage]
libs/core/tests/benchmarks/test_imports.py
CodSpeed Performance Gauge
-1%
256.8 ms*258.7 ms
test_async_callbacks_in_sync
libs/core/tests/benchmarks/test_async_callbacks.py
CodSpeed Performance Gauge
-1%
23.9 ms*24.2 ms

Commits

Click on a commit to change the comparison range
Base
master
dff229d
-0.2%
fix(core): strip injected args before validation for strict schemas When using StructuredTool with an args_schema that has extra="forbid", injected arguments (annotated with InjectedToolArg) caused Pydantic validation errors because they were passed to model_validate() before being stripped. This fix extracts injected args that are NOT in the schema before validation, then re-adds them after validation completes. This allows injected args to work correctly with strict Pydantic schemas while maintaining backward compatibility for schemas where injected args are declared as fields. Fixes #34246
d8f2351
3 days ago
by thromel
© 2025 CodSpeed Technology
Home Terms Privacy Docs