/**
 * 模型供应商相关类型定义
 */

/**
 * 模型供应商数据传输对象（DTO）
 */
export interface ModelVendorDto {
    /**
     * 供应商id
     */
    id?: string;
    /**
     * 供应商编码
     */
    vendorCode?: string;

    /**
     * 供应商名称
     */
    vendorName?: string;

    /**
     * 状态（1-启用，0-禁用）
     */
    status?: number;

    /**
     * 是否为官方供应商
     */
    isOfficial?: boolean;

    /**
     * 模型类型（枚举）
     */
    modelKind?: ModelKind;

    /**
     * 描述
     */
    description?: string;

    /**
     * 官网地址
     */
    website?: string;

    /**
     * 联系方式
     */
    contactInfo?: string;

    /**
     * Logo 地址
     */
    logoUrl?: string;

    /**
     * 默认调用地址
     */
    defaultUrl?: string;

    /**
     * 价格说明地址
     */
    pricingUrl?: string;

    /**
     * API 文档地址
     */
    apiDocUrl?: string;

    /**
     * 扩展配置（JSON 字符串）
     */
    extraConfig?: string;

    /**
     * 排序值
     */
    sortOrder?: number;

    /**
     * 其他扩展字段
     */
    [property: string]: any;
}

/**
 * 模型供应商表单提交对象
 */
export interface ModelVendorForm {
    /**
     * 供应商编码（可选，新增时不传）
     */
    id?: string;

    /**
     * 供应商编码
     */
    vendorCode?: string;

    /**
     * 供应商名称（必填）
     */
    vendorName: string;

    /**
     * 状态（必填，1-启用，0-禁用）
     */
    status: number;

    /**
     * 是否为官方供应商（必填）
     */
    isOfficial: boolean;

    /**
     * 模型类型（必填）
     */
    modelKind: ModelKind;

    /**
     * 描述（可选）
     */
    description?: string;

    /**
     * 官网地址（可选）
     */
    website?: string;

    /**
     * 联系方式（可选）
     */
    contactInfo?: string;

    /**
     * Logo 地址（可选）
     */
    logoUrl?: string;

    /**
     * 默认调用地址（可选）
     */
    defaultUrl?: string;

    /**
     * 价格说明地址（可选）
     */
    pricingUrl?: string;

    /**
     * API 文档地址（可选）
     */
    apiDocUrl?: string;

    /**
     * 扩展配置（可选）
     */
    extraConfig?: string;

    /**
     * 排序值（必填）
     */
    sortOrder: number;
}

/**
 * 模型供应商分页查询参数
 */
export interface ModelVendorQuery {

    /**
     * 当前页码
     */
    pageNum?: number;

    /**
     * 每页数量
     */
    pageSize?: number;
}

/**
 * 模型类型枚举
 */
export enum ModelKind {
    Llm = "LLM",
    Multimodal = "MULTIMODAL",
    Ocr = "OCR",
    Other = "OTHER",
    Rerank = "RERANK",
    Speech = "SPEECH",
    Vector = "VECTOR",
    Vision = "VISION",
}




