From 2241b8de2b17883f3eec6eaad8b006edd9a74f46 Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Wed, 24 Sep 2025 16:13:25 -0700 Subject: [PATCH 1/2] LiteralType -> LiteralTypeExpr --- src/replit_river/codegen/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/replit_river/codegen/client.py b/src/replit_river/codegen/client.py index 95aa3304..4e195838 100644 --- a/src/replit_river/codegen/client.py +++ b/src/replit_river/codegen/client.py @@ -496,8 +496,8 @@ def extract_props(tpe: RiverType) -> list[dict[str, RiverType]]: typeddict_encoder.append("None") return (NoneTypeExpr(), [], [], set()) elif type.type == "Date": - typeddict_encoder.append("TODO: dstewart") - return (LiteralType("datetime.datetime"), [], [], set()) + typeddict_encoder.append("datetime.datetime") + return (LiteralTypeExpr("datetime.datetime"), [], [], set()) elif type.type == "array" and type.items: type_name, module_info, type_chunks, encoder_names = encode_type( type.items, From 7f7b66838f03a519740662ecbdd358477463db9b Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Wed, 24 Sep 2025 16:31:35 -0700 Subject: [PATCH 2/2] just make the error less bad --- src/replit_river/codegen/client.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/replit_river/codegen/client.py b/src/replit_river/codegen/client.py index 4e195838..41d07033 100644 --- a/src/replit_river/codegen/client.py +++ b/src/replit_river/codegen/client.py @@ -405,7 +405,11 @@ def {_field_name}( | UnionTypeExpr | LiteralType ) = other - raise ValueError(f"What does it mean to have {_o2} here?") + raise ValueError( + f"What does it mean to have { + render_type_expr(_o2) + } here?" + ) if permit_unknown_members: union = _make_open_union_type_expr(any_of) else: @@ -497,7 +501,7 @@ def extract_props(tpe: RiverType) -> list[dict[str, RiverType]]: return (NoneTypeExpr(), [], [], set()) elif type.type == "Date": typeddict_encoder.append("datetime.datetime") - return (LiteralTypeExpr("datetime.datetime"), [], [], set()) + return (LiteralType("datetime.datetime"), [], [], set()) elif type.type == "array" and type.items: type_name, module_info, type_chunks, encoder_names = encode_type( type.items,