import yfinance as yf

product_catalog = {
    "807ZPKBL9V": "SuperWidget",
    "1234567890": "MegaGadget"
}

def get_product_name_by_PID(PID: str) -> str:
    return product_catalog.get(PID, "Unknown product")

def get_stock_price(ticker: str) -> float:
    stock = yf.Ticker(ticker)
    data = stock.history(period="1d")
    if not data.empty:
        return data["Close"].iloc[-1]
    return float("nan")

def analyze_mco_architecture(framework_version: str, detail_level: int = 3) -> str:
    if detail_level < 1:
        detail_level = 1
    elif detail_level > 5:
        detail_level = 5
    return (
        f"MCO 아키텍처(버전 {framework_version}) 분석 결과:\n"
        f" - functions.json에 정의된 함수 목록 확인\n"
        f" - Python 모듈({__file__})에서 구현 연결 확인\n"
        f" - detail_level={detail_level} 기준 요약 리포트\n"
    )

# 모델이 functionName(ticker="AAPL")를 호출해도, 실제 내부 로직은 주가 조회
def functionName(ticker: str) -> float:
    return get_stock_price(ticker=ticker)