from __future__ import annotations

SERVER_NAME = "dscons-erp-mcp"
SERVER_VERSION = "1.0.0"

TOOLS_DEFINITION = [
    {
        "name": "search_dscons_knowledge",
        "description": "Tra cứu tri thức hồ sơ thiết kế, hợp đồng FIDIC, và Thư viện Pháp chế Luật Xây dựng 2025 từ Qdrant (2,510 vectors).",
        "inputSchema": {
            "type": "object",
            "properties": {
                "query": {
                    "type": "string",
                    "description": "Câu hỏi hoặc từ khóa cần tra cứu",
                },
                "top_k": {
                    "type": "integer",
                    "description": "Số lượng bản ghi tối đa",
                    "default": 5,
                },
            },
            "required": ["query"],
        },
    },
    {
        "name": "query_erp_ledger",
        "description": "Truy xuất sổ cái hoạt động ERP Định Sơn (Thiết bị cơ giới, tài liệu hồ sơ, nhân sự, dự án).",
        "inputSchema": {
            "type": "object",
            "properties": {
                "entity_type": {
                    "type": "string",
                    "enum": ["equipment", "documents"],
                    "description": "Loại đối tượng cần tra cứu",
                },
                "project_id": {"type": "string", "description": "Mã dự án (nếu có)"},
            },
            "required": ["entity_type"],
        },
    },
    {
        "name": "audit_3way_matching",
        "description": "Thực hiện đối soát 3 bên giữa Hóa đơn VAT điện tử, Phiếu nhập kho và Hợp đồng mua sắm vật tư.",
        "inputSchema": {
            "type": "object",
            "properties": {
                "project_code": {
                    "type": "string",
                    "description": "Mã dự án cần đối soát",
                    "default": "DA-KM-BENKEM-2025-2026",
                },
            },
        },
    },
    {
        "name": "calculate_ipc_03a",
        "description": "Tính toán bóc tách BOQ Phụ lục 03a Nghiệm thu thanh toán giai đoạn (khấu trừ tạm ứng 10%, retention 5%) chuẩn Decimal(18, 4).",
        "inputSchema": {
            "type": "object",
            "properties": {
                "project_id": {
                    "type": "string",
                    "description": "Mã dự án",
                    "default": "DA-KM-BENKEM-2025-2026",
                },
                "stage_number": {
                    "type": "integer",
                    "description": "Số đợt thanh toán",
                    "default": 2,
                },
                "advance_deduction_pct": {
                    "type": "number",
                    "description": "% Khấu trừ hoàn trả tạm ứng",
                    "default": 10.0,
                },
                "retention_pct": {
                    "type": "number",
                    "description": "% Giữ lại bảo hành công trình",
                    "default": 5.0,
                },
            },
        },
    },
    {
        "name": "audit_equipment_and_fuel",
        "description": "Kiểm toán ca máy cơ giới Kobelco (OEE) hoặc cước vận chuyển bùn nạo vét xe ben Howo tiêu hao dầu định mức 24L/h.",
        "inputSchema": {
            "type": "object",
            "properties": {
                "partner_vat_code": {
                    "type": "string",
                    "description": "Mã số thuế đối tác: 0200149705 (Thoát Nước HP) hoặc 0201889988 (Loan Khải)",
                },
            },
            "required": ["partner_vat_code"],
        },
    },
    {
        "name": "check_fidic_compliance",
        "description": "Rà soát điều khoản Hợp đồng FIDIC và tính tuân thủ theo Luật Xây dựng 2025 (Luật số 135/2025/QH15).",
        "inputSchema": {
            "type": "object",
            "properties": {
                "project_name": {
                    "type": "string",
                    "description": "Tên dự án hoặc gói thầu",
                },
                "issue_type": {
                    "type": "string",
                    "description": "Nội dung cần rà soát (thanh toán, tạm ứng, bồi thường)",
                    "default": "payment_advance",
                },
            },
            "required": ["project_name"],
        },
    },
]
