| 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() |
| |
| |
| 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, |
| } |