//! Codex vendor definition (placeholder)
//!
//! This module contains Codex-specific knowledge. Currently a placeholder
//! with pass-through behavior until Codex mappings are implemented.

use super::{ModeMapping, ModelMapping, VendorInfo};
use crate::connectors::acp::config::ConnectorAgentType;

/// Codex vendor implementation (placeholder)
pub struct CodexVendor;

impl VendorInfo for CodexVendor {
    fn id(&self) -> &'static str {
        "codex"
    }

    fn display_name(&self) -> &'static str {
        "Codex"
    }

    fn aliases(&self) -> &'static [&'static str] {
        &["openai"]
    }

    fn agent_type(&self) -> ConnectorAgentType {
        ConnectorAgentType::Codex
    }

    fn cli_command(&self) -> &'static str {
        "codex"
    }

    fn mode_mappings(&self) -> &'static [ModeMapping] {
        // Not yet implemented - pass through
        &[]
    }

    fn model_mappings(&self) -> &'static [ModelMapping] {
        // Not yet implemented - pass through
        &[]
    }

    fn default_features(&self) -> &'static [&'static str] {
        &[]
    }

    fn icon_path(&self) -> &'static str {
        "codex"
    }
}
