fix(dashboard,server): restore code change ledger UI and enrich model schema parity and pagination
This commit is contained in:
1 parent
3b146f91c2
commit
73c3d41c87
9 files changed
+297
-19
No files matched your search
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in new issue
Block a user