""" الوحدة: التحقق من صلاحية الاستعلام (Query Validation) الدور: رفض الاستعلامات غير الصالحة (قصيرة جداً، بلا حروف عربية، أو نسبة حروف عربية منخفضة) قبل أي معالجة لاحقة. يُستدعى فقط عبر app/orchestrator.py """ from __future__ import annotations def validate_query(query: str) -> tuple[bool, str]: """ يتحقق من صلاحية الاستعلام قبل معالجته. المخرجات: (True, "") ← الاستعلام صالح، أكمل المعالجة (False, "رسالة خطأ") ← الاستعلام غير صالح، أوقف وأظهر الرسالة """ if len(query.strip()) < 2: return False, "الاستعلام قصير جداً، يرجى كتابة كلمة أو تعريف" arabic_count = sum(1 for c in query if 0x0600 <= ord(c) <= 0x06FF) if arabic_count == 0: return False, "يرجى الكتابة باللغة العربية" arabic_letters = sum( 1 for c in query if ("ء" <= c <= "ي") or ("ً" <= c <= "ٟ") ) non_space = [c for c in query if not c.isspace()] if non_space and arabic_letters / len(non_space) < 0.50: return False, "يرجى كتابة كلمة أو تعريف عربي واضح" return True, ""