fix(dashboard,server): restore code change ledger UI and enrich model schema parity and pagination

This commit is contained in:
Riz Ashraf committed 2026-10-07 13:14:33 +01:00
1 parent 3b146f91c2
commit 73c3d41c87
9 files changed
+297 -19

No files matched your search

+9 -7
View File
@@ -323,14 +323,15 @@ impl McpTool for QueryRecentChangesHandler {
}
async fn execute(&self, args: Value, state: Arc<MemoryState>) -> crate::error::Result<String> {
let req: QueryRecentChangesTool =
serde_json::from_value(args).unwrap_or(QueryRecentChangesTool {
namespace: None,
repo_name: None,
vcs_type: None,
limit: None,
});
let req: QueryRecentChangesTool = serde_json::from_value(args).unwrap_or(QueryRecentChangesTool {
namespace: None,
repo_name: None,
vcs_type: None,
limit: None,
offset: None,
});
let limit = req.limit.unwrap_or(50);
let offset = req.offset.unwrap_or(0);
let data = state.code.ledger.read_with(|l| {
let filtered: Vec<_> = l
.iter()
@@ -357,6 +358,7 @@ impl McpTool for QueryRecentChangesHandler {
}
true
})
.skip(offset)
.take(limit)
.cloned()
.collect();
+6 -1
View File
@@ -100,7 +100,12 @@ impl McpTool for AddSessionSummaryHandler {
namespace: req.namespace,
timestamp: crate::handlers::utils::now_secs(),
expires_at: None,
..Default::default()
session_id: req.session_id,
repo_name: req.repo_name,
git_branch: req.git_branch,
git_commit: req.git_commit,
tasks_completed: req.tasks_completed.unwrap_or_default(),
next_steps: req.next_steps.unwrap_or_default(),
});
if summaries.len() > 200 {
summaries.remove(0);
+7 -1
View File
@@ -266,8 +266,9 @@ impl McpTool for TasksHandler {
}
TaskAction::List => {
let level = req.summary_level.as_deref().unwrap_or("detailed");
let offset = req.offset.unwrap_or(0);
let data = state.project.tasks.read_with(|tasks| {
let mut filtered: Vec<_> = tasks
let matching: Vec<_> = tasks
.iter()
.filter(|t| {
let status_match = match req.status.as_deref() {
@@ -281,6 +282,11 @@ impl McpTool for TasksHandler {
};
status_match && branch_match
})
.collect();
let mut filtered: Vec<_> = matching
.into_iter()
.skip(offset)
.map(|t| match level {
"compact" => serde_json::json!({ "id": t.id, "title": t.title, "status": t.status }),
"full" => serde_json::to_value(t).unwrap_or_default(),