Versions in this module Expand all Collapse all v0 v0.28.0 Oct 22, 2026 v0.27.0 Oct 22, 2026 Changes in this version + func Marker(attempt string) string + type Engine struct + Clear func(context.Context, string) error + Locked func(string, func(func() bool) Result) Result + Now func() time.Time + Observe func(context.Context) (Frame, error) + Sleep func(context.Context, time.Duration) error + Submit func(context.Context, string) error + func (e *Engine) Run(ctx context.Context, q Request, o Options) Result + type Frame struct + Draft string + Empty bool + Family string + Identity string + Screen string + State State + type Options struct + Confirm time.Duration + DraftWait time.Duration + Poll time.Duration + Stable time.Duration + Wait time.Duration + func Defaults() Options + func (o Options) Validate() bool + type Outcome string + const HeldBusy + const HeldUnknown + const Sent + const SentWithDraft + const Unconfirmed + type Request struct + Attempt string + Message string + Sender string + Seq int + type Result struct + DraftIncluded bool + Outcome Outcome + Phase string + Reason string + type State int + const Busy + const Idle + const Unknown