use crate::model::AccountProfile;
use anyhow::Result;
use std::path::PathBuf;
pub mod antigravity;
pub mod claude_code;
pub mod copilot;
pub trait ProviderAdapter {
fn id(&self) -> &'static str;
fn display_name(&self) -> &'static str;
fn target_auth_path(&self) -> Option<PathBuf>;
fn capture_session(&self, vault_dir: &std::path::Path) -> Result<()>;
fn activate_session(&self, profile: &AccountProfile, vault_dir: &std::path::Path) -> Result<()>;
fn has_active_session(&self) -> bool;
}