@@ -16,7 +16,7 @@ class GeminiProvider(BaseProvider):
1616 is called and the google.generativeai package is imported. No manual
1717 initialization is required."""
1818
19- original_generate = None
19+ _original_generate = None
2020
2121 def __init__ (self , client = None ):
2222 """Initialize the Gemini provider.
@@ -127,17 +127,20 @@ def override(self):
127127 import google .generativeai as genai
128128
129129 # Store original method if not already stored
130- if self .original_generate is None :
131- self .original_generate = genai .GenerativeModel .generate_content
130+ if GeminiProvider ._original_generate is None :
131+ GeminiProvider ._original_generate = genai .GenerativeModel .generate_content
132+
133+ # Store provider instance for the closure
134+ provider = self
132135
133136 def patched_function (self , * args , ** kwargs ):
134137 init_timestamp = get_ISO_time ()
135138 session = kwargs .pop ("session" , None ) # Always try to pop session, returns None if not present
136139
137140 # Call original method and track event
138- if self . original_generate :
139- result = self . original_generate (self , * args , ** kwargs )
140- return self .handle_response (result , kwargs , init_timestamp , session = session )
141+ if GeminiProvider . _original_generate :
142+ result = GeminiProvider . _original_generate (self , * args , ** kwargs )
143+ return provider .handle_response (result , kwargs , init_timestamp , session = session )
141144 else :
142145 logger .error ("Original generate_content method not found. Cannot proceed with override." )
143146 return None
@@ -151,6 +154,6 @@ def undo_override(self):
151154 Note:
152155 This method is called automatically by AgentOps during cleanup.
153156 Users should not call this method directly."""
154- if self . original_generate is not None :
157+ if GeminiProvider . _original_generate is not None :
155158 import google .generativeai as genai
156- genai .GenerativeModel .generate_content = self . original_generate
159+ genai .GenerativeModel .generate_content = GeminiProvider . _original_generate
0 commit comments