import platform from .config import CLI_VERSION def get_user_agent(): """Generate User-Agent string matching gemini-cli format.""" version = CLI_VERSION system = platform.system() arch = platform.machine() return f"GeminiCLI/{version} ({system}; {arch})" def get_platform_string(): """Generate platform string matching gemini-cli format.""" system = platform.system().upper() arch = platform.machine().upper() # Map to gemini-cli platform format if system == "DARWIN": if arch in ["ARM64", "AARCH64"]: return "DARWIN_ARM64" else: return "DARWIN_AMD64" elif system == "LINUX": if arch in ["ARM64", "AARCH64"]: return "LINUX_ARM64" else: return "LINUX_AMD64" elif system == "WINDOWS": return "WINDOWS_AMD64" else: return "PLATFORM_UNSPECIFIED" def get_client_metadata(project_id=None): return { "ideType": "IDE_UNSPECIFIED", "platform": get_platform_string(), "pluginType": "GEMINI", "duetProject": project_id, }