use std::fs; use std::path::Path; use rusqlite::Connection; use uuid::Uuid; use crate::db::queries::script as qs; use crate::engine::{EngineError, EngineResult}; use crate::model::{Script, ScriptKind, ScriptStatus}; use crate::util::frontmatter::{ScriptFrontmatter, write_script_file}; use crate::util::{atomic_write_str, ensure_unique, now_unix_ms, slugify}; /// Create a new draft script. Content stored in DB, no file written. pub fn create_script( conn: &Connection, project_id: &str, title: &str, kind: ScriptKind, content: &str, entrypoint: Option<&str>, ) -> EngineResult