Uma store é onde oDocumentation Index
Fetch the complete documentation index at: https://zapo.to/llms.txt
Use this file to discover all available pages before exploring further.
zapo persiste tudo o que uma sessão precisa para sobreviver a um reinício: credenciais de pareamento, estado do protocolo Signal, coleções de app-state e, opcionalmente, seu arquivo de mensagens/threads/contatos. Você constrói uma com createStore e a passa para o client.
O modelo
OcreateStore separa backends (onde os dados ficam) de providers (qual backend cada domínio usa). Isso permite misturar backends — por exemplo, manter o estado quente do signal no Redis enquanto arquiva mensagens no Postgres.
backends é necessária.
Domínios persistidos
Estes mantêm o estado necessário para manter uma sessão viva. Apoie-os com um backend durável em produção.| Domínio | Mantém |
|---|---|
auth | Credenciais de pareamento e identidade do dispositivo. Persista isto. |
signal | Sessões do Signal (guarda-chuva sobre as sub-stores abaixo). |
preKey | Pre-keys do Signal. |
session | Sessões do Signal. |
identity | Chaves de identidade do Signal. |
senderKey | Sender keys de grupo. |
appState | Coleções de app-state (silenciar, fixar, ler, arquivar, …). |
privacyToken | Tokens de contato confiável / privacidade. |
Domínios de arquivo opcionais
Estes aceitam'none' para desabilitar a persistência por completo:
| Domínio | Mantém |
|---|---|
messages | Arquivo de mensagens (B | 'memory' | 'none'). |
threads | Metadados de thread. |
contacts | Diretório de contatos. |
Domínios de cache
Configurados emcacheProviders e usam por padrão memória limitada com TTLs:
| Domínio | Mantém |
|---|---|
retry | Fila de retentativa de mensagens de saída. |
groupMetadata | Cache de metadados de grupo. |
deviceList | Cache da lista de dispositivos. |
messageSecret | Cache de message-secret para addons. |
Backends
SQLite
@zapo-js/store-sqlite — local, processo único.PostgreSQL
@zapo-js/store-postgres — distribuído, relacional.MySQL
@zapo-js/store-mysql — distribuído, relacional.Redis
@zapo-js/store-redis — cache + persistência.MongoDB
@zapo-js/store-mongo — document store.Memory
Embutido. Ótimo para testes; não sobrevive a um reinício.
Apenas memória (testes)
Para experimentos rápidos ou testes, omitabackends por completo — cada domínio recorre à memória:
