| 
					
				 | 
			
			
				@@ -116,26 +116,33 @@ class GoogleLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :param tools: tool messages 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :return: glm tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return glm.Tool( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            function_declarations=[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                glm.FunctionDeclaration( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    name=tool.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parameters=glm.Schema( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        type=glm.Type.OBJECT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        properties={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            key: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                "type_": value.get("type", "string").upper(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                "description": value.get("description", ""), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                "enum": value.get("enum", []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            for key, value in tool.parameters.get("properties", {}).items() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        required=tool.parameters.get("required", []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function_declarations = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for tool in tools: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            properties = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for key, value in tool.parameters.get("properties", {}).items(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                properties[key] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "type_": glm.Type.STRING, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "description": value.get("description", ""), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    "enum": value.get("enum", []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if properties: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parameters = glm.Schema( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type=glm.Type.OBJECT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    properties=properties, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    required=tool.parameters.get("required", []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for tool in tools 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parameters = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            function_declaration = glm.FunctionDeclaration( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name=tool.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                parameters=parameters, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                description=tool.description, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            function_declarations.append(function_declaration) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return glm.Tool(function_declarations=function_declarations) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def validate_credentials(self, model: str, credentials: dict) -> None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 |