email-mcp/internal/imapclient/types.go

36 lines
775 B
Go
Raw Permalink Normal View History

2026-04-10 09:11:01 +00:00
package imapclient
import (
"context"
"email-mcp/internal/secretstore"
)
type Mailbox struct {
Name string `json:"name"`
}
type MessageSummary struct {
UID uint32 `json:"uid"`
2026-04-10 09:11:01 +00:00
Subject string `json:"subject"`
From string `json:"from"`
}
type Header struct {
Name string `json:"name"`
Value string `json:"value"`
2026-04-10 09:11:01 +00:00
}
type Message struct {
UID uint32 `json:"uid"`
Mailbox string `json:"mailbox"`
Headers []Header `json:"headers"`
Body string `json:"body"`
2026-04-10 09:11:01 +00:00
}
type Backend interface {
ListMailboxes(context.Context, secretstore.Credential) ([]Mailbox, error)
ListMessages(context.Context, secretstore.Credential, string, int) ([]MessageSummary, error)
GetMessage(context.Context, secretstore.Credential, string, uint32) (Message, error)
2026-04-10 09:11:01 +00:00
}