pub mod host;
pub mod migrations;
pub mod observer;
pub mod outbound;
pub mod runtime;
pub mod store;
pub mod triggers;
pub mod types;
pub use host::{HostContext, NoopHostContext};
pub use observer::FunctionObserver;
pub use outbound::{
EmailTransport, LoginEmailSender, SendContext, SendEmailRequest, SendEmailResponse,
SendPolicyError, SenderIdentity, SenderIdentityResolver, resolve_sender_identity,
};
pub use runtime::{FunctionRuntime, SendFunctionRuntime};
pub use store::{FunctionRecord, FunctionStatus, FunctionStore, memory::InMemoryFunctionStore};
pub use triggers::{
cron::{CronScheduler, CronSchedulerHandle, CronTrigger},
ingest::{
Attachment, Classification, InboundMessage, InboundRouting, IngestError, IngestSource,
IngestTrigger, PullBatch, PullContext, PullSource, PushSource, RawDelivery, Recipient,
RoutingRule, Source, StorageRef, Transport,
email::{ParsedEmail, PendingAttachment, classify, derive_thread_key, normalize_email},
parse_recipient, resolve_routing,
},
mutation::{
AfterMutationTrigger, BeforeMutationChain, BeforeMutationResult, BeforeMutationTrigger,
EntityEvent, EventKind, TriggerMatcher,
},
registry::TriggerRegistry,
source::{IngestSink, SourceOutcome, run_source_once},
};
pub use types::{
EventPayload, FunctionDefinition, FunctionModule, FunctionResult, LogEntry, LogLevel,
ResourceLimits, RunAs, RuntimeType,
};
#[cfg(test)]
mod tests;