- Add evaluation test suite with TypeScript and Python fixtures - Fix MCP server to defer CodeGraph init until rootUri received - Fix call edge extraction by calling resolveReferences() after indexAll/sync - Fix glob matching for root-level files (e.g., **/*.py now matches auth.py) - Fix duplicate node extraction for methods inside classes - Update context tests to use buildContext for semantic search + graph traversal - Export unused formatter functions to fix build Evaluation results: - TypeScript: 96% precision, 79% recall, 85% F1 - Python: 99% precision, 80% recall, 85% F1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
28 lines
689 B
Python
28 lines
689 B
Python
"""Validation utilities."""
|
|
|
|
import re
|
|
|
|
|
|
def validate_email(email: str) -> bool:
|
|
"""Validate email format."""
|
|
pattern = r'^[^\s@]+@[^\s@]+\.[^\s@]+$'
|
|
return bool(re.match(pattern, email))
|
|
|
|
|
|
def validate_password(password: str) -> bool:
|
|
"""Validate password strength."""
|
|
if len(password) < 8:
|
|
return False
|
|
if not re.search(r'[A-Z]', password):
|
|
return False
|
|
if not re.search(r'[a-z]', password):
|
|
return False
|
|
if not re.search(r'[0-9]', password):
|
|
return False
|
|
return True
|
|
|
|
|
|
def validate_task_title(title: str) -> bool:
|
|
"""Validate task title."""
|
|
return bool(title and len(title.strip()) >= 1 and len(title) <= 200)
|