pub mod assets;
pub mod backlog;
pub mod common;
pub mod compose;
pub mod dashboard;
pub mod graph_helpers;
pub mod manage;
pub mod pages;
pub mod picker;
pub mod search;
pub mod session;

// ── Re-exports — public surface identical to the old handlers.rs ─────────────

// Assets + public file serving
pub use assets::{serve_asset_mp, serve_asset_single, serve_public_mp, serve_public_single};
// Backlog
pub use backlog::{
    backlog_add, backlog_add_mp, backlog_delete_mp, backlog_edit_mp, backlog_page, backlog_page_mp,
    backlog_propose_status_mp, backlog_update_status, backlog_update_status_mp, BacklogAddForm,
    BacklogDeleteForm, BacklogEditForm, BacklogProposeForm, BacklogStatusForm,
};
pub(crate) use common::{insert_brand_ctx, insert_mcp_ctx, readme_description, render, UiError};
// Compose
pub use compose::{compose_form_schema_mp, compose_page_mp, compose_send_mp, ComposeSendBody};
// Dashboard + graph
pub use dashboard::{
    api_catalog_page_mp, dashboard, dashboard_mp, dashboard_stats_mp, graph, graph_mp,
};
// Manage
pub use manage::{
    manage_add, manage_add_guarded, manage_logout, manage_page, manage_page_guarded, manage_remove,
    manage_remove_guarded, service_toggle_ui, AddProjectForm, RemoveProjectForm,
};
// Pages — modes, actions, qa, config, adrs, domain, tier, timeline, roadmap, panel
pub use pages::{
    actions_page, actions_page_mp, actions_run, actions_run_mp, adrs_page_mp, career_page_mp,
    config_page_mp, modes, modes_mp, panel_page_mp, personal_page_mp, provisioning_page_mp, qa_add,
    qa_delete, qa_page, qa_page_mp, qa_update, roadmap_page_mp, tier_page_mp, timeline_page_mp,
    views_page, views_page_mp, ActionRunForm, QaAddRequest, QaDeleteRequest, QaUpdateRequest,
};
// Project picker
pub(crate) use picker::{pending_migrations_fragment_mp, project_picker};
// Search + bookmarks
pub use search::{
    search_bookmark_add, search_bookmark_delete, search_page, search_page_mp, BookmarkAddRequest,
    BookmarkDeleteRequest,
};
// Sessions + notifications
pub use session::{
    emit_notification_mp, notification_action_mp, notifications_mp, notifications_page, sessions,
    sessions_mp, EmitNotifForm, NotifActionForm,
};
