from typing import Any, Dict, List from db.snowflake_client import SnowflakeClient # Initialize client snowflake_client = SnowflakeClient() def query_snowflake(sql: str, params: List = None) -> Dict[str, Any]: """ Execute a SQL query against Snowflake. Args: sql: The SQL query to execute params: Optional query parameters Returns: Query results or error message """ try: results = snowflake_client.query(sql, tuple(params) if params else None) return { "status": "success", "count": len(results), "results": results } except Exception as e: return {"status": "error", "message": str(e)} def get_snowflake_table_info(table: str) -> Dict[str, Any]: """ Get metadata about a Snowflake table. Args: table: Table name Returns: Table schema and column information """ try: info = snowflake_client.get_table_info(table) return { "status": "success", "table": table, "info": info } except Exception as e: return {"status": "error", "message": str(e)}