#![cfg_attr(coverage_nightly, coverage(off))]
use crate::cli::ExecutionMode;
use crate::handlers::tools::handle_tool_call;
use crate::models::mcp::{McpRequest, McpResponse};
#[cfg(feature = "git-lib")]
use crate::services::git_clone::{CloneError, GitCloner};
use crate::stateless_server::StatelessTemplateServer;
use anyhow::{anyhow, Result};
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use std::collections::HashMap;
use std::env;
use std::fmt::Write;
use std::io::{self, Write as IoWrite};
use std::path::{Path, PathBuf};
use std::sync::Arc;
#[cfg(feature = "git-lib")]
use std::time::Duration;
use std::time::Instant;
#[cfg(feature = "git-lib")]
use tokio::time::sleep;
include!("runner_types.rs");
impl DemoRunner {
#[must_use]
#[provable_contracts_macros::contract("pmat-core.yaml", equation = "check_compliance")]
pub fn new(server: Arc<StatelessTemplateServer>) -> Self {
Self {
server,
execution_log: Vec::new(),
}
}
}
include!("runner_clone.rs");
include!("runner_diagram.rs");
include!("runner_pipeline.rs");
include!("runner_report.rs");
include!("runner_repository.rs");
#[cfg(test)]
#[path = "runner_tests.rs"]
mod tests;