## ARCHITECTURE ### Contexte - Bibliothèque cliente pour communiquer avec un serveur sdk-signer via WebSocket. - Cible Node.js (utilise le module ws) et environnements compatibles WebSocket. ### Composants - src/index.ts: point d’entrée, réexport des types et de la classe principale. - src/client.ts: implémentation de la classe SDKSignerClient (gestion WebSocket, reconnexion, envoi/réception, événements). - src/types.ts: définitions des contrats (énumérations, structures des messages, configuration, événements, résultats). ### Flux et dépendances - Ouverture d’une connexion WebSocket -> authentification par clé API dans les messages -> échange de messages typés -> gestion des réponses corrélées par messageId -> callbacks d’événements. ### Données et modèles - Messages structurés par type (MessageType) et identifiant (messageId). - Configuration client (url, apiKey, timeouts, politique de reconnexion). ### Sécurité - Transmission de la clé API par en-tête applicatif (champ apiKey dans les messages). - Gestion d’erreurs et limitation des tentatives de reconnexion. ### Observabilité - Journalisation des connexions, déconnexions, erreurs et tentatives de reconnexion.