Add new GeminiCodeExecutor to code_executors/ folder.

PiperOrigin-RevId: 757895291
This commit is contained in:
Google Team Member
2025-05-12 13:44:17 -07:00
committed by Copybara-Service
parent 5462862795
commit 993f9971bb
3 changed files with 60 additions and 1 deletions
@@ -22,7 +22,6 @@ import dataclasses
import os
import re
from typing import AsyncGenerator
from typing import Generator
from typing import Optional
from typing import TYPE_CHECKING
@@ -36,6 +35,7 @@ from ...code_executors.code_execution_utils import CodeExecutionResult
from ...code_executors.code_execution_utils import CodeExecutionUtils
from ...code_executors.code_execution_utils import File
from ...code_executors.code_executor_context import CodeExecutorContext
from ...code_executors.gemini_code_executor import GeminiCodeExecutor
from ...events.event import Event
from ...events.event_actions import EventActions
from ...models.llm_response import LlmResponse
@@ -174,6 +174,11 @@ async def _run_pre_processor(
if not code_executor or not isinstance(code_executor, BaseCodeExecutor):
return
if isinstance(code_executor, GeminiCodeExecutor):
code_executor.process_llm_request(llm_request)
return
if not code_executor.optimize_data_file:
return
@@ -262,6 +267,9 @@ async def _run_post_processor(
if not llm_response or not llm_response.content:
return
if isinstance(code_executor, GeminiCodeExecutor):
return
code_executor_context = CodeExecutorContext(invocation_context.session.state)
# Skip if the error count exceeds the max retry attempts.
if (