Storage, AI & Real-time
Read-through storage, the AI SDK and agents, JSON:API resources, broadcasting, and mail.
Storage
Storage is a facade over object_store 0.14 (S3/GCS/Azure) with a local disk on tokio::fs.
AI SDK
rustasea-ai defines a provider-agnostic trait with real HTTP adapters via reqwest. provider_from_env() supports OpenAI, Anthropic, Azure, Groq, xAI, DeepSeek, Mistral, Ollama, OpenRouter, and OpenAI-compatible endpoints. Gemini and Bedrock have no adapter yet and return AiError::UnknownProvider.
Agents and tools are first-class:
JSON:API resources
JsonApiResource is serde-based and renders Content-Type: application/vnd.api+json, with sparse fieldsets, relationship inclusion, links, and headers.
Broadcasting and real-time
config/broadcasting.toml selects the connection; the in-process hub is the zero-dependency default, and pusher/redis connections are feature-gated.
Presentation layers
Mail and notifications
rustasea-mail provides Mailable, Mailer implementations (ArrayMailer, LogMailer, SmtpMailer), and queued notifications with #[deleteWhenMissingModels].
Observability
Both are off by default:
rustasea-debugbar— per-request SQL/cache/event capture into an in-memory ring buffer with a JSON/HTML surface.rustasea-queue-dashboard— live queue depth and age,queue_metricshistory with retention, failed-job retry/forget, and worker heartbeats.
Last updated Sep 22, 2026