cancel_loose_end: canonicalize kind in success ack (alias 'q' → 'question')
This commit is contained in:
parent
59412452af
commit
2b38805c00
1 changed files with 13 additions and 2 deletions
|
|
@ -206,6 +206,17 @@ fn parse_loose_end_kind(raw: &str) -> Result<hive_sh4re::CancelLooseEndKind, Str
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Canonical user-facing label for a `CancelLooseEndKind` — used in
|
||||||
|
/// the success ack so the caller always sees `"question"` /
|
||||||
|
/// `"reminder"` instead of whatever alias they passed in (`"q"` /
|
||||||
|
/// `"r"`).
|
||||||
|
fn loose_end_kind_label(kind: hive_sh4re::CancelLooseEndKind) -> &'static str {
|
||||||
|
match kind {
|
||||||
|
hive_sh4re::CancelLooseEndKind::Question => "question",
|
||||||
|
hive_sh4re::CancelLooseEndKind::Reminder => "reminder",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Format helper for `whoami`: renders the identity block as a short
|
/// Format helper for `whoami`: renders the identity block as a short
|
||||||
/// human-readable string. Skips fields that are `None` so the output
|
/// human-readable string. Skips fields that are `None` so the output
|
||||||
/// doesn't carry dead placeholders.
|
/// doesn't carry dead placeholders.
|
||||||
|
|
@ -492,13 +503,13 @@ impl AgentServer {
|
||||||
)]
|
)]
|
||||||
async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String {
|
async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String {
|
||||||
let log = format!("{args:?}");
|
let log = format!("{args:?}");
|
||||||
let kind_label = args.kind.clone();
|
|
||||||
let id = args.id;
|
let id = args.id;
|
||||||
run_tool_envelope("cancel_loose_end", log, async move {
|
run_tool_envelope("cancel_loose_end", log, async move {
|
||||||
let kind = match parse_loose_end_kind(&args.kind) {
|
let kind = match parse_loose_end_kind(&args.kind) {
|
||||||
Ok(k) => k,
|
Ok(k) => k,
|
||||||
Err(e) => return e,
|
Err(e) => return e,
|
||||||
};
|
};
|
||||||
|
let kind_label = loose_end_kind_label(kind);
|
||||||
let (resp, retries) = self
|
let (resp, retries) = self
|
||||||
.dispatch(hive_sh4re::AgentRequest::CancelLooseEnd { kind, id })
|
.dispatch(hive_sh4re::AgentRequest::CancelLooseEnd { kind, id })
|
||||||
.await;
|
.await;
|
||||||
|
|
@ -1032,13 +1043,13 @@ impl ManagerServer {
|
||||||
)]
|
)]
|
||||||
async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String {
|
async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String {
|
||||||
let log = format!("{args:?}");
|
let log = format!("{args:?}");
|
||||||
let kind_label = args.kind.clone();
|
|
||||||
let id = args.id;
|
let id = args.id;
|
||||||
run_tool_envelope("cancel_loose_end", log, async move {
|
run_tool_envelope("cancel_loose_end", log, async move {
|
||||||
let kind = match parse_loose_end_kind(&args.kind) {
|
let kind = match parse_loose_end_kind(&args.kind) {
|
||||||
Ok(k) => k,
|
Ok(k) => k,
|
||||||
Err(e) => return e,
|
Err(e) => return e,
|
||||||
};
|
};
|
||||||
|
let kind_label = loose_end_kind_label(kind);
|
||||||
let (resp, retries) = self
|
let (resp, retries) = self
|
||||||
.dispatch(hive_sh4re::ManagerRequest::CancelLooseEnd { kind, id })
|
.dispatch(hive_sh4re::ManagerRequest::CancelLooseEnd { kind, id })
|
||||||
.await;
|
.await;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue