refactor(backend): alihkan EditLog ke zesdex-cms JsonlEditLogRepository

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
asepharyana
2026-07-17 09:08:41 +07:00
co-authored by Claude Sonnet 5
parent 0ad3b0e539
commit 9618ef413b
5 changed files with 44 additions and 26 deletions
@@ -23,6 +23,7 @@ use std::fmt::Write;
use crate::app::harness::Verdict;
use sha2::Digest;
use zesdex_cms::domain::repository::EditLogRepository;
use crate::app::review::{should_trigger_review, trigger_review};
use zesdex_iam::domain::repository::SessionRepository;
use crate::app::state::rest::{AppStateRest, ChatMessageDisplay};
@@ -921,7 +922,10 @@ fn run_agent_turn(
const MAX_TODO_RETRIES: usize = 5;
let mut msgs = messages.to_vec();
let mut edited_paths: Vec<String> = Vec::new();
let initial_edits = crate::model::editlog::EditLog::new(&tc.edit_log_session_dir).len();
let initial_edits = zesdex_cms::infrastructure::persistence::edit_log_repo::JsonlEditLogRepository::new()
.open(&tc.edit_log_session_dir)
.map(|el| el.len())
.unwrap_or(0);
let mut inline_reviews_count: usize = 0;
let mut prev_shaped = false;
@@ -1473,7 +1477,9 @@ fn run_agent_turn(
}
}
let el = crate::model::editlog::EditLog::new(&tc.edit_log_session_dir);
let el = zesdex_cms::infrastructure::persistence::edit_log_repo::JsonlEditLogRepository::new()
.open(&tc.edit_log_session_dir)
.unwrap_or_else(|_| zesdex_cms::domain::edit_log::EditLog::new());
let final_edits = el.len();
let total_edits_this_turn = final_edits.saturating_sub(initial_edits);
@@ -1586,7 +1592,7 @@ fn execute_one_tool(
let new = args.get("new").and_then(|v| v.as_str()).unwrap_or("");
(new.len() as i64 - old.len() as i64).abs()
};
let entry = crate::model::editlog::EditLogEntry {
let entry = zesdex_cms::domain::edit_log::EditLogEntry {
ts: chrono::Utc::now().timestamp_millis(),
tool: name.to_string(),
path: path.to_string(),
@@ -1596,8 +1602,10 @@ fn execute_one_tool(
origin: ctx.origin.tag(),
session_id: session_id.to_string(),
};
let mut el = crate::model::editlog::EditLog::new(session_dir);
el.append(entry).ok();
let repo = zesdex_cms::infrastructure::persistence::edit_log_repo::JsonlEditLogRepository::new();
if let Ok(mut el) = repo.open(session_dir) {
let _ = repo.append(session_dir, &mut el, entry);
}
}
return Ok(result);
}