chore: fix formatting and clippy lints
This commit is contained in:
1 parent
8952bd5399
commit
9d9e959744
35 files changed
+1091
-582
No files matched your search
@@ -29,7 +29,9 @@ impl McpTool for HandoffMemosHandler {
|
||||
let content = req.content.ok_or_else(|| {
|
||||
crate::error::AppError::Internal("Missing required parameter 'content' for action 'leave'. Next step: Provide non-empty 'content' string in request and retry.".to_string())
|
||||
})?;
|
||||
let ns = req.namespace.unwrap_or_else(|| crate::models::default_namespace());
|
||||
let ns = req
|
||||
.namespace
|
||||
.unwrap_or_else(crate::models::default_namespace);
|
||||
state.telemetry.handoff_memos.modify(|memos| {
|
||||
memos.push(crate::models::HandoffMemo {
|
||||
id: uuid::Uuid::new_v4().to_string(),
|
||||
@@ -109,11 +111,13 @@ impl McpTool for AddSessionSummaryHandler {
|
||||
});
|
||||
if summaries.len() > 200 {
|
||||
let now = crate::handlers::utils::now_secs();
|
||||
if let Some((idx_to_remove, _)) = summaries.iter().enumerate().min_by_key(|(_, s)| {
|
||||
let is_expired = s.expires_at.map(|exp| exp < now).unwrap_or(false);
|
||||
let status_score = if is_expired { 0 } else { 1 };
|
||||
(status_score, s.timestamp)
|
||||
}) {
|
||||
if let Some((idx_to_remove, _)) =
|
||||
summaries.iter().enumerate().min_by_key(|(_, s)| {
|
||||
let is_expired = s.expires_at.map(|exp| exp < now).unwrap_or(false);
|
||||
let status_score = if is_expired { 0 } else { 1 };
|
||||
(status_score, s.timestamp)
|
||||
})
|
||||
{
|
||||
summaries.remove(idx_to_remove);
|
||||
}
|
||||
}
|
||||
@@ -143,13 +147,25 @@ impl McpTool for GenerateStandupReportHandler {
|
||||
let cutoff = crate::handlers::utils::now_secs().saturating_sub(req.hours_lookback * 3600);
|
||||
|
||||
let filtered_tasks = state.project.tasks.read_with(|items| {
|
||||
items.iter().filter(|t| t.updated_at >= cutoff).cloned().collect::<Vec<_>>()
|
||||
items
|
||||
.iter()
|
||||
.filter(|t| t.updated_at >= cutoff)
|
||||
.cloned()
|
||||
.collect::<Vec<_>>()
|
||||
});
|
||||
let filtered_changes = state.code.ledger.read_with(|changes| {
|
||||
changes.iter().filter(|c| c.timestamp >= cutoff).cloned().collect::<Vec<_>>()
|
||||
changes
|
||||
.iter()
|
||||
.filter(|c| c.timestamp >= cutoff)
|
||||
.cloned()
|
||||
.collect::<Vec<_>>()
|
||||
});
|
||||
let filtered_summaries = state.telemetry.session_summaries.read_with(|summaries| {
|
||||
summaries.iter().filter(|s| s.namespace == req.namespace && s.timestamp >= cutoff).cloned().collect::<Vec<_>>()
|
||||
summaries
|
||||
.iter()
|
||||
.filter(|s| s.namespace == req.namespace && s.timestamp >= cutoff)
|
||||
.cloned()
|
||||
.collect::<Vec<_>>()
|
||||
});
|
||||
|
||||
let report = serde_json::json!({
|
||||
@@ -178,8 +194,7 @@ impl McpTool for PromoteToEntityHandler {
|
||||
}
|
||||
|
||||
async fn execute(&self, args: Value, state: Arc<MemoryState>) -> crate::error::Result<String> {
|
||||
let req: PromoteToEntityTool =
|
||||
serde_json::from_value(args).map_err(|e| e.to_string())?;
|
||||
let req: PromoteToEntityTool = serde_json::from_value(args).map_err(|e| e.to_string())?;
|
||||
|
||||
let entity_name = req.entity_name.clone();
|
||||
let obs = req.content.clone();
|
||||
@@ -236,7 +251,10 @@ mod tests {
|
||||
assert_eq!(res, "Handoff memo left.");
|
||||
|
||||
let res2 = handoff_handler
|
||||
.execute(json!({"action": "read", "namespace": "global"}), state.clone())
|
||||
.execute(
|
||||
json!({"action": "read", "namespace": "global"}),
|
||||
state.clone(),
|
||||
)
|
||||
.await
|
||||
.map_err(|e| crate::error::AppError::Internal(e.to_string()))
|
||||
.unwrap();
|
||||
@@ -266,5 +284,3 @@ mod tests {
|
||||
assert!(!res4.is_empty());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user