Versions in this module Expand all Collapse all v0 v0.1.1 Jan 22, 2026 v0.1.0 Jan 22, 2026 Changes in this version + func ExtractPolecat(subject string) string + func IsProtocolMessage(subject string) bool + func NewMergeFailedMessage(rig, polecat, branch, issue, targetBranch, failureType, errorMsg string) *mail.Message + func NewMergeReadyMessage(rig, polecat, branch, issue string) *mail.Message + func NewMergedMessage(rig, polecat, branch, issue, targetBranch, mergeCommit string) *mail.Message + func NewReworkRequestMessage(rig, polecat, branch, issue, targetBranch string, conflictFiles []string) *mail.Message + type DefaultRefineryHandler struct + Output io.Writer + Queue *mrqueue.Queue + Rig string + Router *mail.Router + WorkDir string + func NewRefineryHandler(rig, workDir string) *DefaultRefineryHandler + func (h *DefaultRefineryHandler) HandleMergeReady(payload *MergeReadyPayload) error + func (h *DefaultRefineryHandler) NotifyMergeOutcome(polecat, branch, issue, targetBranch string, outcome MergeOutcome) error + func (h *DefaultRefineryHandler) SendMergeFailed(polecat, branch, issue, targetBranch, failureType, errorMsg string) error + func (h *DefaultRefineryHandler) SendMerged(polecat, branch, issue, targetBranch, mergeCommit string) error + func (h *DefaultRefineryHandler) SendReworkRequest(polecat, branch, issue, targetBranch string, conflictFiles []string) error + func (h *DefaultRefineryHandler) SetOutput(w io.Writer) + type DefaultWitnessHandler struct + Output io.Writer + Rig string + Router *mail.Router + WorkDir string + func NewWitnessHandler(rig, workDir string) *DefaultWitnessHandler + func (h *DefaultWitnessHandler) HandleMergeFailed(payload *MergeFailedPayload) error + func (h *DefaultWitnessHandler) HandleMerged(payload *MergedPayload) error + func (h *DefaultWitnessHandler) HandleReworkRequest(payload *ReworkRequestPayload) error + func (h *DefaultWitnessHandler) SetOutput(w io.Writer) + type Handler func(msg *mail.Message) error + type HandlerRegistry struct + func NewHandlerRegistry() *HandlerRegistry + func WrapRefineryHandlers(h RefineryHandler) *HandlerRegistry + func WrapWitnessHandlers(h WitnessHandler) *HandlerRegistry + func (r *HandlerRegistry) CanHandle(msg *mail.Message) bool + func (r *HandlerRegistry) Handle(msg *mail.Message) error + func (r *HandlerRegistry) ProcessProtocolMessage(msg *mail.Message) (bool, error) + func (r *HandlerRegistry) Register(msgType MessageType, handler Handler) + type MergeFailedPayload struct + Branch string + Error string + FailedAt time.Time + FailureType string + Issue string + Polecat string + Rig string + TargetBranch string + func ParseMergeFailedPayload(body string) *MergeFailedPayload + type MergeOutcome struct + Conflict bool + ConflictFiles []string + Error string + FailureType string + MergeCommit string + Success bool + type MergeReadyPayload struct + Branch string + Issue string + Polecat string + Rig string + Timestamp time.Time + Verified string + func ParseMergeReadyPayload(body string) *MergeReadyPayload + type MergedPayload struct + Branch string + Issue string + MergeCommit string + MergedAt time.Time + Polecat string + Rig string + TargetBranch string + func ParseMergedPayload(body string) *MergedPayload + type MessageType string + const TypeMergeFailed + const TypeMergeReady + const TypeMerged + const TypeReworkRequest + func ParseMessageType(subject string) MessageType + type RefineryHandler interface + HandleMergeReady func(payload *MergeReadyPayload) error + type ReworkRequestPayload struct + Branch string + ConflictFiles []string + Instructions string + Issue string + Polecat string + RequestedAt time.Time + Rig string + TargetBranch string + func ParseReworkRequestPayload(body string) *ReworkRequestPayload + type WitnessHandler interface + HandleMergeFailed func(payload *MergeFailedPayload) error + HandleMerged func(payload *MergedPayload) error + HandleReworkRequest func(payload *ReworkRequestPayload) error