cap get_loose_ends todo output + add ack_todos_until bulk-clear (#2944)

This commit is contained in:
damocles 2026-08-02 14:37:22 +02:00 committed by mara
commit eb570c003d
7 changed files with 167 additions and 9 deletions

View file

@ -41,6 +41,20 @@ pub struct AckUntilArgs {
pub up_to: i64,
}
/// MCP tool args for `ack_todos_until`.
#[derive(Debug, serde::Deserialize, schemars::JsonSchema)]
pub struct AckTodosUntilArgs {
/// Highest todo id to bulk-clear: every pending todo (bash-task
/// completions, matrix unread, forge activity) with `id <= up_to` is
/// acked in one call — the todo-store analogue of `ack_until` for the
/// message inbox. `get_loose_ends` suggests a value in its truncation
/// summary when there are more todos than it renders individually;
/// pass that value (or the highest id you've actually triaged) to
/// clear the backlog in one shot instead of cancelling ids one at a
/// time.
pub up_to: i64,
}
/// MCP tool args for `remind`. Exactly one of `delay_seconds` or
/// `at_unix_timestamp` must be set; both / neither is a tool-side error.
/// Hides the tagged `ReminderTiming` enum behind a flatter schema so the