from fastmcp import FastMCP
from matrix_shop_bot.db import Data

mcp = FastMCP("Shop Bot")

@mcp.tool
def add_item(name: str) -> list[str]:
    return Data().add_item(name)

@mcp.tool
def buy(items:str) -> list[str]:
    return Data().purchase_items(items)

@mcp.tool
def list_bought(store:str) -> list[str]:
    return Data().list_purchases(store)

@mcp.tool
def clear(store_name: str, clear_all:bool=False) -> list[str]:
    return Data().clear_list(store_name, clear_all)


@mcp.tool
def shop_at(store_name:str) -> list[str]:
    '''Select store to shop at'''
    return Data().get_shopping_list(store_name)


@mcp.tool
def list() -> list[str]:
    '''Use previous store'''
    return Data().get_last_shopping_list()


@mcp.tool
def list_stores() -> list[str]:
    return Data().get_stores()


@mcp.tool
def list_purchases(store: str) -> list[str]:
    return Data().list_purchases(store)

if __name__ == "__main__":
    mcp.run()
