pub fn build_app<S: WorkflowStore + Clone + 'static>(
state: EngineState<S>,
) -> RouterExpand description
Compose the full axum::Router for the engine.
The workflow crate returns a Router that already embeds its state,
and the dashboard crate returns a Router<Arc<DashboardCtx>> that we
.with_state() here. Both are merged into a single stateless Router
ready for axum::serve. When the auth feature is on AND the
engine boot constructed an AuthCtx, the OIDC spec router (mounted
at /auth/) and the engine-internal auth router (mounted under
/api/v1/engine/auth/) join the composition.