package output type Image struct { Data []byte ContentType string Filename string } // Ref identifies a post an output has already published so it can later be // deleted. The fields are output specific; only the ones the publishing // output filled in are meaningful to it. type Ref struct { ID string `json:"id,omitempty"` // twitter: tweet ID URI string `json:"uri,omitempty"` // bluesky: at:// URI of the record CID string `json:"cid,omitempty"` // bluesky: record CID } // Post is a single message to distribute. type Post struct { Text string Images []Image } type OutputInterface interface { Write(Post) (Ref, error) Delete(Ref) error GetName() string }