How wansky05/baileys works
Baileys is a TypeScript WebSocket client library for WhatsApp Web. An application supplies authentication and socket configuration to makeWASocket; layered socket modules connect to WhatsApp, exchange binary protocol frames, and expose messaging, chat, group, community, business, and newsletter operations. Incoming traffic is decoded and dispatched as events, while Signal-based encryption and authentication state support secure sessions. The tree documents media, history synchronization, calls, and USync capabilities as well. Only selected source files were sampled, so the graph omits uncertain internal call wiring and shows documented capabilities at their enclosing directories.
Main entry points: communities.ts Communities socket · messages-send.ts Message operations · index.ts Socket factory · websocket.ts WebSocket client
Components 26
Public API
- Library exports
src/index.ts - Connection defaults
src/Defaults/index.ts
Connection and protocol
- Socket factory
src/Socket/index.ts - WebSocket client
src/Socket/Client/websocket.ts - Noise transport
src/Utils/noise-handler.ts
WhatsApp features
- Communities socket
src/Socket/communities.ts - Chat operations
src/Socket/chats.ts - Group operations
src/Socket/groups.ts - Message operations
src/Socket/messages-send.ts - Incoming messages
src/Socket/messages-recv.ts - Business features
src/Socket/business.ts - Newsletter features
src/Socket/newsletter.ts - Media handling
src/Utils/messages-media.ts - History processing
src/Utils/history.ts - Call support
src/Types/Call.ts
Identity and security
- Authentication state
src/Types/Auth.ts - Auth state utilities
src/Utils/auth-utils.ts - Signal repository
src/Signal/libsignal.ts - Group encryption
src/Signal/Group/group-session-builder.ts - Pre-key management
src/Utils/pre-key-manager.ts - Message retry manager
src/Utils/message-retry-manager.ts
Shared protocol utilities
- Binary node codec
src/WABinary/index.ts - USync queries
src/WAUSync/USyncQuery.ts - Protocol messages
WAProto/index.js
Other components
- Integrating application
- WhatsApp Web
Connections 27
- Integrating application → Library exports: imports API
- Library exports → Socket factory: exports factory
- Socket factory → Connection defaults: merges defaults
- Socket factory → Communities socket: creates socket
- Communities socket → WebSocket client: uses transport
- WebSocket client → WhatsApp Web: connects
- WebSocket client → Noise transport: processes frames
- Noise transport → Binary node codec: decodes frames
- Communities socket → Chat operations: layers operations
- Communities socket → Group operations: layers operations
- Communities socket → Message operations: layers operations
- Communities socket → Incoming messages: layers operations
- Communities socket → Business features: layers operations
- Communities socket → Newsletter features: layers operations
- Message operations → Media handling: handles media
- Incoming messages → History processing: processes history
- Chat operations → USync queries: queries users
- Message operations → Signal repository: secures messages
- Group operations → Group encryption: uses group keys
- Signal repository → Pre-key management: manages pre-keys
- Incoming messages → Message retry manager: handles retries
- Connection defaults → Signal repository: selects repository
- Integrating application → Authentication state: provides credentials
- Auth state utilities → Authentication state: persists state
- Communities socket → Call support: supports calls
- Message operations → Protocol messages: encodes messages
- Binary node codec → Protocol messages: uses message schema