1212# See the License for the specific language governing permissions and
1313# limitations under the License.
1414
15+
1516import asyncio
1617from contextlib import asynccontextmanager
1718import importlib
2021import logging
2122import os
2223from pathlib import Path
23- import re
2424import sys
2525import time
2626import traceback
4848from opentelemetry .sdk .trace import export
4949from opentelemetry .sdk .trace import ReadableSpan
5050from opentelemetry .sdk .trace import TracerProvider
51- from opentelemetry .sdk .trace .export .in_memory_span_exporter import InMemorySpanExporter
52- from pydantic import alias_generators
53- from pydantic import BaseModel
54- from pydantic import ConfigDict
5551from pydantic import ValidationError
5652from starlette .types import Lifespan
53+ from typing_extensions import override
5754
5855from ..agents import RunConfig
5956from ..agents .base_agent import BaseAgent
@@ -121,6 +118,7 @@ def __init__(self, trace_dict):
121118 self ._spans = []
122119 self .trace_dict = trace_dict
123120
121+ @override
124122 def export (
125123 self , spans : typing .Sequence [ReadableSpan ]
126124 ) -> export .SpanExportResult :
@@ -137,15 +135,16 @@ def export(
137135 self ._spans .extend (spans )
138136 return export .SpanExportResult .SUCCESS
139137
138+ @override
139+ def force_flush (self , timeout_millis : int = 30000 ) -> bool :
140+ return True
141+
140142 def get_finished_spans (self , session_id : str ):
141143 trace_ids = self .trace_dict .get (session_id , None )
142144 if trace_ids is None or not trace_ids :
143145 return []
144146 return [x for x in self ._spans if x .context .trace_id in trace_ids ]
145147
146- def force_flush (self , timeout_millis : int = 30000 ) -> bool :
147- return True
148-
149148 def clear (self ):
150149 self ._spans .clear ()
151150
@@ -600,6 +599,10 @@ def list_eval_results(app_name: str) -> list[str]:
600599 app_eval_history_directory = os .path .join (
601600 agent_dir , app_name , ".adk" , "eval_history"
602601 )
602+
603+ if not os .path .exists (app_eval_history_directory ):
604+ return []
605+
603606 eval_result_files = [
604607 file .removesuffix (_EVAL_SET_RESULT_FILE_EXTENSION )
605608 for file in os .listdir (app_eval_history_directory )
0 commit comments