package imapclient import ( "context" "email-mcp/internal/secretstore" ) type Service struct { backend Backend } func NewService(backend Backend) Service { if backend == nil { backend = NewDefaultBackend() } return Service{backend: backend} } func (s Service) ListMailboxes(ctx context.Context, cred secretstore.Credential) ([]Mailbox, error) { return s.backend.ListMailboxes(ctx, cred) } func (s Service) ListMessages(ctx context.Context, cred secretstore.Credential, mailbox string, limit int) ([]MessageSummary, error) { return s.backend.ListMessages(ctx, cred, mailbox, limit) } func (s Service) GetMessage(ctx context.Context, cred secretstore.Credential, mailbox string, uid uint32) (Message, error) { return s.backend.GetMessage(ctx, cred, mailbox, uid) }