
import os
import logging
from typing import List, Dict, Any

from core.config import config
from core.action.tools import get_native_tools

# ADK Imports (Mocked for scaffold)
try:
    from google.adk.core import AgentConfig as AdkAgentConfig, ModelConfig
    from google.adk.tools import AutoBrowseTool, CodeExecutionTool, GoogleSearchTool
except ImportError:
    class AdkAgentConfig: 
        def __init__(self, **kwargs): pass
    class ModelConfig:
        def __init__(self, **kwargs): pass
    class AutoBrowseTool: pass
    class CodeExecutionTool: pass
    class GoogleSearchTool: pass

logger = logging.getLogger(__name__)

def load_system_instruction() -> str:
    """Load the Immutable Identity from .agent/rules/antigravity.md"""
    path = os.path.join(config.rules_dir, "antigravity.md")
    try:
        with open(path, "r", encoding="utf-8") as f:
            return f.read()
    except FileNotFoundError:
        logger.warning(f"Identity file not found: {path}")
        return "IDENTITY: Antigravity (Fallback)."

def get_agent_config() -> AdkAgentConfig:
    """
    Returns the Native Antigravity Configuration.
    """
    return AdkAgentConfig(
        model=ModelConfig(
            model_name=config.model_id,
            generation_config={
                "temperature": 0.2,
                "max_output_tokens": 8192
            },
            system_instruction=load_system_instruction()
        ),
        tools=get_native_tools() # Native FunctionTools (Auto-Browse, etc.)
    )
