@@ -718,9 +718,11 @@ async def _build_flow_info_async(self) -> TransformFlowInfo:
718718 for (param_name , param ), param_type in zip (sig .parameters .items (), self ._flow_arg_types ):
719719 if param .kind not in (inspect .Parameter .POSITIONAL_OR_KEYWORD ,
720720 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 )
724726 kwargs [param_name ] = DataSlice (_DataSliceState (flow_builder_state , engine_ds ))
725727
726728 output = self ._flow_fn (** kwargs )
@@ -780,8 +782,13 @@ def _transform_flow_wrapper(fn: Callable[..., DataSlice[T]]):
780782 for (param_name , param ) in sig .parameters .items ():
781783 if param .kind not in (inspect .Parameter .POSITIONAL_OR_KEYWORD ,
782784 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 )
785792
786793 _transform_flow = TransformFlow (fn , arg_types )
787794 functools .update_wrapper (_transform_flow , fn )
0 commit comments