@@ -203,6 +203,10 @@ class CreateEvalSetRequest(common.BaseModel):
203203 eval_set : EvalSet
204204
205205
206+ class ListEvalSetsResponse (common .BaseModel ):
207+ eval_set_ids : list [str ]
208+
209+
206210class AdkWebServer :
207211 """Helper class for setting up and running the ADK web server on FastAPI.
208212
@@ -512,18 +516,38 @@ async def create_eval_set_legacy(
512516 )
513517
514518 @app .get (
515- "/apps/{app_name}/eval_sets " ,
519+ "/apps/{app_name}/eval-sets " ,
516520 response_model_exclude_none = True ,
517521 tags = [TAG_EVALUATION ],
518522 )
519- async def list_eval_sets (app_name : str ) -> list [ str ] :
523+ async def list_eval_sets (app_name : str ) -> ListEvalSetsResponse :
520524 """Lists all eval sets for the given app."""
525+ eval_sets = []
521526 try :
522- return self .eval_sets_manager .list_eval_sets (app_name )
527+ eval_sets = self .eval_sets_manager .list_eval_sets (app_name )
523528 except NotFoundError as e :
524529 logger .warning (e )
525- return []
530+
531+ return ListEvalSetsResponse (eval_set_ids = eval_sets )
532+
533+ @deprecated (
534+ "Please use list_eval_sets instead. This will be removed in future"
535+ " releases."
536+ )
537+ @app .get (
538+ "/apps/{app_name}/eval_sets" ,
539+ response_model_exclude_none = True ,
540+ tags = [TAG_EVALUATION ],
541+ )
542+ async def list_eval_sets_legacy (app_name : str ) -> list [str ]:
543+ list_eval_sets_response = await list_eval_sets (app_name )
544+ return list_eval_sets_response .eval_set_ids
526545
546+ @app .post (
547+ "/apps/{app_name}/eval-sets/{eval_set_id}/add-session" ,
548+ response_model_exclude_none = True ,
549+ tags = [TAG_EVALUATION ],
550+ )
527551 @app .post (
528552 "/apps/{app_name}/eval_sets/{eval_set_id}/add_session" ,
529553 response_model_exclude_none = True ,
@@ -583,6 +607,11 @@ async def list_evals_in_eval_set(
583607
584608 return sorted ([x .eval_id for x in eval_set_data .eval_cases ])
585609
610+ @app .get (
611+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
612+ response_model_exclude_none = True ,
613+ tags = [TAG_EVALUATION ],
614+ )
586615 @app .get (
587616 "/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
588617 response_model_exclude_none = True ,
@@ -606,6 +635,11 @@ async def get_eval(
606635 ),
607636 )
608637
638+ @app .put (
639+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
640+ response_model_exclude_none = True ,
641+ tags = [TAG_EVALUATION ],
642+ )
609643 @app .put (
610644 "/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
611645 response_model_exclude_none = True ,
@@ -638,6 +672,10 @@ async def update_eval(
638672 except NotFoundError as nfe :
639673 raise HTTPException (status_code = 404 , detail = str (nfe )) from nfe
640674
675+ @app .delete (
676+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
677+ tags = [TAG_EVALUATION ],
678+ )
641679 @app .delete (
642680 "/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
643681 tags = [TAG_EVALUATION ],
0 commit comments