use std::sync::Arc;
use std::sync::atomic::{AtomicUsize, Ordering};

use crate::cli::render::Theme;
use indicatif::{ProgressBar, ProgressStyle};
use rusqlite::Connection;
use serde::Serialize;

use tracing::Instrument;

use crate::Config;
use crate::cli::robot::RobotMeta;
use crate::core::db::create_connection;
use crate::core::error::{LoreError, Result};
use crate::core::lock::{AppLock, LockOptions};
use crate::core::paths::get_db_path;
use crate::core::project::resolve_project;
use crate::core::shutdown::ShutdownSignal;
use crate::gitlab::GitLabClient;
use crate::ingestion::{
    IngestMrProjectResult, IngestProjectResult, ProgressEvent, ingest_project_issues_with_progress,
    ingest_project_merge_requests_with_progress,
};

include!("run.rs");
include!("render.rs");
