backbone-mailing 0.6.2

Email marketing — mass-mail engine: audiences, subscriptions, hand-set mailing lifecycle, seeded A/B testing, per-recipient traces, cycle-44 bridge targets (Odoo mass_mailing port)
// This directory's extension (hand-written; ADR-0031). The generated mod.rs (lib.rs for
// src/) pulls it in with include!, so its lines resolve against this directory.

pub mod ab_test_write_service;
pub mod event_registration_target_port;
pub mod mailing_stats_read_service;
pub mod mailing_write_service;
pub mod sale_invoiced_amount_port;
pub mod sms_delivery_pump_service;
pub mod sms_stop_service;
pub mod sms_suppression_service;
pub mod sms_targeting_service;
pub mod subscription_write_service;
pub mod trace_click_ports;
pub mod trace_route_service;
pub mod trace_write_service;
pub use ab_test_write_service::{
    AbTestView, AbTestWriteError, AbTestWriteService, ChannelMetricRow, MixedChannelComparison,
};
pub use mailing_stats_read_service::{
    MailingStats, MailingStatsError, MailingStatsReadService, SHARED_SOURCE_CAVEAT,
    SourceGroupedStats,
};
pub use mailing_write_service::{
    AutoBlacklistConfig, DomainInvalid, MailingEventSink, MailingSendConfig, MailingUpsertCommand,
    MailingWriteError, MailingWriteService, PartyRecipientResolver, SweepOutcome,
    TargetRecipientResolver, TracingEventSink, default_domain_for,
};
pub use sale_invoiced_amount_port::{
    CannedSaleInvoicedAmount, RefusingSaleInvoicedAmount, SaleInvoicedAmountError,
    SaleInvoicedAmountPort, SaleInvoicedAmountSlot, SourceInvoicedAmount,
};
pub use event_registration_target_port::{
    EventRegistrationTargetAdapter, EventRegistrationTargetError,
    EventRegistrationTargetResolver, RefusingEventRegistrationTarget,
};
pub use subscription_write_service::{SubscriptionWriteError, SubscriptionWriteService};
pub use sms_delivery_pump_service::{SmsDeliveryPumpService, SmsPumpOutcome};
pub use trace_click_ports::{
    CannedTraceClick, CodeAttribution, RefusingTraceClick, ResolvedClick, TraceClickError,
    TraceClickPort, TraceClickSlot,
};
pub use trace_route_service::{AudienceOptOut, TraceRouteError, TraceRouteService};
pub use trace_write_service::{TraceTransition, TraceWriteError, TraceWriteService};
pub use sms_stop_service::{
    is_stop_reply_keyword, validate_stop_code, SmsStopError, SmsStopService, StopCodeError,
    StopReplyOutcome, STOP_CODE_MAX_LEN, STOP_CODE_MIN_LEN,
};
pub use sms_suppression_service::{
    ClaimedSmsContext, PhoneRecipient, SmsSuppressionError, SmsSuppressionService, Suppressed,
    SuppressionOutcome, SMS_BLACKLIST_FAILURE_TYPE,
};
pub use sms_targeting_service::{SmsTargetingReport, TargetPhoneResolver};