Check if configuration is complete and valid. Subscription-mode providers (claude-code, codex) do not require an API key — they authenticate via the underlying CLI's OAuth. Returns: True if configured, False otherwise
(self)
| 273 | """ |
| 274 | if self._api_key is None: |
| 275 | if self._keyring_available: |
| 276 | try: |
| 277 | self._api_key = keyring.get_password(KEYRING_SERVICE, KEYRING_API_KEY_ACCOUNT) |
| 278 | except (KeyringError, Exception): |
| 279 | pass |
| 280 | if self._api_key is None: |
| 281 | self._api_key = self._load_api_key_from_file() |
| 282 | |
| 283 | return self._api_key |
| 284 | |
| 285 | def get_config(self) -> Optional[Configuration]: |
| 286 | """ |
| 287 | Get current configuration. |
| 288 | |
| 289 | Returns: |
| 290 | Configuration object or None if not loaded |
| 291 | """ |
| 292 | return self._config |
| 293 | |
| 294 | def is_configured(self) -> bool: |
| 295 | """ |
| 296 | Check if configuration is complete and valid. |
| 297 | |
| 298 | Subscription-mode providers (claude-code, codex) do not require an |
no test coverage detected