import json
from kl_mcp_client.tools import MCPTools

def main():
    # 1. Khởi tạo và Kết nối Server
    tools = MCPTools()
    tools.connect_mcp("http://localhost:8080")
    print("🚀 Đã lập kết nối MCP")

    # 2. Tạo phiên hoạt động
    resp = tools.create_session("ws://localhost:9222")
    sid = resp["sessionId"]
    print(f"📦 Khởi tạo phiên: {sid}")

    # 3. Điều hướng đến GitHub
    tools.open_page(sid, "https://github.com/trending")
    print("🌐 Đang truy cập Xu hướng GitHub...")

    # 4. Tìm kiếm phần tử với ngữ cảnh thông minh (Context Mode)
    # Tìm liên kết dẫn đến một dự án phổ biến (Trending Project)
    print("🔍 AI đang phân tích toàn bộ trang web để tìm dự án...")
    res_context = tools.find_element_context(sid, "tìm tên dự án top 1")
    print(f"📍 Đã tìm thấy: {res_context}")

    # 5. Sử dụng quy trình nhấp chuột thông minh (AI Click)
    # AI sẽ tự động tìm nút 'Sign up' và nhấn vào đó nếu bạn muốn
    # print("🖱️ Đang giả lập nhấp chuột bằng AI vào nút Sign Up...")
    # tools.click_by_prompt(sid, "nhấn vào nút Sign Up")

    # 6. Trích xuất dữ liệu mảng có cấu trúc (Smart Extraction)
    print("📊 AI đang bóc tách nội dung thô thành danh sách dự án...")
    extraction_prompt = "lấy danh sách 5 dự án đầu tiên bao gồm: tên dự án, mô tả, số sao và ngôn ngữ lập trình chính"
    data_json = tools.extract_structured(sid, extraction_prompt)

    # 7. Hiển thị dữ liệu JSON có cấu trúc
    print("\n📦 Dữ liệu trích xuất thông minh từ AI:")
    print(json.dumps(data_json, indent=4, ensure_ascii=False))

    # 8. Giải phóng tài nguyên
    tools.close_session(sid)
    print("\n✅ Tác vụ AI và Trích xuất hoàn tất")

if __name__ == "__main__":
    main()
