sojuboy/internal/summarizer/summarizer.go

17 lines
584 B
Go
Raw Normal View History

package summarizer
import (
"context"
"time"
"sojuboy/internal/store"
)
type Summarizer interface {
Summarize(ctx context.Context, channel string, msgs []store.Message, window time.Duration) (string, error)
// SummarizeForPush creates a digest tuned for push notifications (e.g., Pushover limits).
// Implementations should keep the output succinct and within ~1k characters.
SummarizeForPush(ctx context.Context, channel string, msgs []store.Message, window time.Duration) (string, error)
SummarizeLink(ctx context.Context, rawURL string) (string, error)
}