""" 🧭 Outils de navigation et d'information sur les fichiers Figma """ import json from .config import figma_config, make_figma_request def get_figma_file_info(file_id: str = "") -> str: """ Récupère les informations détaillées d'un fichier Figma. Args: file_id (str): ID du fichier Figma (optionnel, utilise la configuration par défaut si vide) Returns: str: Informations du fichier au format JSON ou message d'erreur """ file_id = file_id or figma_config["file_id"] if not file_id: return "❌ ID du fichier requis. Utilisez configure_figma_file_id() d'abord." result = make_figma_request(f"files/{file_id}") if "error" in result: return f"❌ Erreur : {result['error']}" file_info = { "nom": result.get("name", ""), "derniere_modification": result.get("lastModified", ""), "version": result.get("version", ""), "pages": [page.get("name", "") for page in result.get("document", {}).get("children", [])] } return f"📄 **Fichier Figma :**\n{json.dumps(file_info, indent=2, ensure_ascii=False)}" def get_figma_comments(file_id: str = "") -> str: """ Récupère tous les commentaires d'un fichier Figma. Args: file_id (str): ID du fichier Figma (optionnel, utilise la configuration par défaut si vide) Returns: str: Liste des commentaires ou message d'erreur """ file_id = file_id or figma_config["file_id"] if not file_id: return "❌ ID du fichier requis" result = make_figma_request(f"files/{file_id}/comments") if "error" in result: return f"❌ Erreur : {result['error']}" comments = result.get("comments", []) if not comments: return "📝 Aucun commentaire trouvé dans ce fichier" comment_list = [] for comment in comments[:10]: # Limiter à 10 commentaires user = comment.get("user", {}).get("handle", "Anonyme") message = comment.get("message", "") created_at = comment.get("created_at", "") comment_list.append(f"👤 {user} ({created_at}): {message}") return f"📝 **Commentaires récents :**\n" + "\n\n".join(comment_list) def get_figma_user_info() -> str: """ Récupère les informations de l'utilisateur connecté. Returns: str: Informations utilisateur au format JSON ou message d'erreur """ result = make_figma_request("me") if "error" in result: return f"❌ Erreur : {result['error']}" user_info = { "nom": result.get("handle", ""), "email": result.get("email", ""), "id": result.get("id", "") } return f"👤 **Utilisateur connecté :**\n{json.dumps(user_info, indent=2, ensure_ascii=False)}"