#!/usr/bin/env python3
"""
记忆银行工厂：根据配置创建不同后端实现（Vertex AI 或 Cloudflare AutoRAG）
"""
from __future__ import annotations

import os
from typing import Optional

from .base_memory_bank import MemoryBankProtocol
from .vertex_memory_bank import VertexMemoryBank
# 新增 Cloudflare 实现
from .cloudflare_memory_bank import CloudflareMemoryBank


def get_memory_backend(prefer: Optional[str] = None) -> MemoryBankProtocol:
    """
    强制使用 Vertex AI 作为记忆后端。
    'prefer' 参数将被忽略。
    """
    # 强制使用 Vertex AI 后端
    try:
        mem = VertexMemoryBank.from_config()
        print("🧠 使用 Vertex AI 作为记忆后端")
        return mem
    except Exception as e:
        # 不可用时抛错
        raise RuntimeError(
            "未能创建 Vertex 记忆后端：请配置 Vertex (GOOGLE_*) 环境变量"
        ) from e
