fix(mcp): use ActionLogFilter for injected default dttm filter

Pydantic v2 rejects a ColumnOperator instance when validating
list[ActionLogFilter] — it requires an exact instance or dict, not
a parent-class instance. The injected 7-day default dttm filter was
created as a plain ColumnOperator, causing every test_list_action_logs_*
call to fail with '1 validation error for ActionLogList'.

Fix: construct the default filter as ActionLogFilter (which is a
subclass of ColumnOperator), so it passes pydantic validation for
ActionLogList.filters_applied: list[ActionLogFilter] and is still
accepted everywhere ColumnOperator is expected.
This commit is contained in:
Amin Ghadersohi
2026-05-21 01:37:26 +00:00
parent 7d5b3d9683
commit e280875634

View File

@@ -91,7 +91,7 @@ async def list_action_logs(
has_dttm_filter = any(getattr(f, "col", None) == "dttm" for f in filters)
if not has_dttm_filter:
cutoff = (datetime.now(timezone.utc) - timedelta(days=7)).isoformat()
default_filter = ColumnOperator(
default_filter = ActionLogFilter(
col="dttm",
opr=ColumnOperatorEnum.gte,
value=cutoff,