feat(deck): surface remapped labels in move-card response
Round-3 review polish on PR #885: - deck_move_card_to_board now captures the moved DeckCard and returns its post-move label titles in CardOperationResponse.labels, so LLM clients can confirm the cross-board label remap (the tool's headline behaviour) without a follow-up deck_get_card. The field is optional and defaults to None for the other card operations that share this response model. - Tighten test_move_card_to_board_restores_done_state to assert the returned card reflects the restored done state. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
7a39767482
commit
69b32f345c
@@ -1291,7 +1291,7 @@ def configure_deck_tools(mcp: FastMCP):
|
||||
order: Position within the destination stack (default 0 = top)
|
||||
"""
|
||||
client = await get_client(ctx)
|
||||
await client.deck.move_card_to_board(
|
||||
moved = await client.deck.move_card_to_board(
|
||||
source_board_id,
|
||||
source_stack_id,
|
||||
card_id,
|
||||
@@ -1299,12 +1299,15 @@ def configure_deck_tools(mcp: FastMCP):
|
||||
target_stack_id,
|
||||
order,
|
||||
)
|
||||
# Surface the post-move labels so callers can confirm the remap without
|
||||
# a follow-up get_card (label remapping is this tool's whole point).
|
||||
return CardOperationResponse(
|
||||
success=True,
|
||||
message="Card moved to board successfully",
|
||||
card_id=card_id,
|
||||
stack_id=target_stack_id,
|
||||
board_id=target_board_id,
|
||||
labels=[label.title for label in (moved.labels or [])],
|
||||
)
|
||||
|
||||
# Label Tools
|
||||
|
||||
Reference in New Issue
Block a user