@@ -718,9 +718,11 @@ async def _build_flow_info_async(self) -> TransformFlowInfo:
718
718
for (param_name , param ), param_type in zip (sig .parameters .items (), self ._flow_arg_types ):
719
719
if param .kind not in (inspect .Parameter .POSITIONAL_OR_KEYWORD ,
720
720
inspect .Parameter .KEYWORD_ONLY ):
721
- raise ValueError (f"Parameter { param_name } is not a parameter can be passed by name" )
722
- engine_ds = flow_builder_state .engine_flow_builder .add_direct_input (
723
- param_name , encode_enriched_type (param_type ))
721
+ raise ValueError (f"Parameter `{ param_name } ` is not a parameter can be passed by name" )
722
+ encoded_type = encode_enriched_type (param_type )
723
+ if encoded_type is None :
724
+ raise ValueError (f"Parameter `{ param_name } ` has no type annotation" )
725
+ engine_ds = flow_builder_state .engine_flow_builder .add_direct_input (param_name , encoded_type )
724
726
kwargs [param_name ] = DataSlice (_DataSliceState (flow_builder_state , engine_ds ))
725
727
726
728
output = self ._flow_fn (** kwargs )
@@ -780,8 +782,13 @@ def _transform_flow_wrapper(fn: Callable[..., DataSlice[T]]):
780
782
for (param_name , param ) in sig .parameters .items ():
781
783
if param .kind not in (inspect .Parameter .POSITIONAL_OR_KEYWORD ,
782
784
inspect .Parameter .KEYWORD_ONLY ):
783
- raise ValueError (f"Parameter { param_name } is not a parameter can be passed by name" )
784
- arg_types .append (_get_data_slice_annotation_type (param .annotation ))
785
+ raise ValueError (f"Parameter `{ param_name } ` is not a parameter can be passed by name" )
786
+ value_type_annotation = _get_data_slice_annotation_type (param .annotation )
787
+ if value_type_annotation is None :
788
+ raise ValueError (
789
+ f"Parameter `{ param_name } ` for { fn } has no value type annotation. "
790
+ "Please use `cocoindex.DataSlice[T]` where T is the type of the value." )
791
+ arg_types .append (value_type_annotation )
785
792
786
793
_transform_flow = TransformFlow (fn , arg_types )
787
794
functools .update_wrapper (_transform_flow , fn )
0 commit comments