pub mod auth;
pub mod config;
pub mod email;
pub mod error;
pub mod extractors;
pub mod forms;
pub mod handlers;
pub mod health;
pub mod htmx;
pub mod jobs;
pub mod oauth2;
pub mod observability;
pub mod state;
pub mod storage;
pub mod template;
pub mod agents;
pub mod middleware;
#[cfg(test)]
pub mod testing;
pub mod prelude {
pub use crate::htmx::{
AutoVaryLayer,
HxBoosted,
HxCurrentUrl,
HxHistoryRestoreRequest,
HxLocation,
HxPrompt,
HxPushUrl,
HxRedirect,
HxRefresh,
HxReplaceUrl,
HxRequest,
HxRequestGuardLayer,
HxReselect,
HxResponseTrigger,
HxReswap,
HxRetarget,
HxTarget,
HxTrigger,
HxTriggerName,
HxSwapOob,
SwapStrategy,
};
pub use crate::template::{HxTemplate, TemplateRegistry};
pub use crate::forms::{
FieldBuilder, FieldError, FormBuilder, FormField, FormRenderOptions, FormRenderer,
InputType, SelectOption, ValidationErrors,
};
pub use crate::auth::{Authenticated, OptionalAuth, Session};
pub use crate::extractors::{FileUpload, FileUploadError, FlashExtractor, MultiFileUpload, SessionExtractor};
pub use crate::storage::{FileStorage, LocalFileStorage, StorageError, StoredFile, UploadedFile};
pub use crate::error::ActonHtmxError;
pub use crate::state::ActonHtmxState;
pub use crate::middleware::{SessionConfig, SessionLayer};
pub use crate::jobs::{Job, JobAgent, JobError, JobId, JobResult, JobStatus};
pub use crate::email::{
AwsSesBackend, ConsoleBackend, Email, EmailError, EmailSender, EmailTemplate,
SendEmailJob, SimpleEmailTemplate, SmtpBackend,
};
pub use crate::oauth2::{
GitHubProvider, GoogleProvider, OAuthAccount, OAuthConfig, OAuthError, OAuthProvider,
OAuthState, OAuthToken, OAuthUserInfo, OidcProvider, ProviderConfig,
OAuth2Agent, initiate_oauth, handle_oauth_callback, unlink_oauth_account,
};
pub use acton_reactive;
pub use anyhow;
pub use askama;
pub use axum;
pub use serde;
pub use serde_json;
pub use sqlx;
pub use thiserror;
pub use tokio;
pub use tower;
pub use tower_http;
pub use tracing;
pub use tracing_subscriber;
pub use validator;
pub use serde_json::json;
}