fix: address PR review feedback (round 2)
Bug fixes: - Catch OCSError/HTTPStatusError in all server tools, convert to McpError - Guard update_collective against empty body (raise ValueError) - Use restore_page response data in status message ADR-017 annotation fix: - Distinguish "remove" (reversible association) from "delete" (permanent): remove_tag and deck_remove_label_from_card no longer set destructiveHint - Update annotation test to exclude "remove" from destructive keywords Data model improvements: - Add trashTimestamp field to PageInfo - Create ListTrashedPagesResponse with is_trash context flag - Add collective_id to ListTagsResponse Test robustness: - Read NC credentials from environment variables (not hardcoded) - Filter landing page by parentId == 0 instead of assuming pages[0] Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
3393cd9756
commit
44a27bd9e9
@@ -42,6 +42,9 @@ class PageInfo(BaseModel):
|
||||
default_factory=list, description="Ordered subpage IDs"
|
||||
)
|
||||
isFullWidth: bool | None = Field(default=None, description="Full-width page layout")
|
||||
trashTimestamp: int | None = Field(
|
||||
default=None, description="Timestamp when the page was trashed"
|
||||
)
|
||||
|
||||
|
||||
class CollectiveTag(BaseModel):
|
||||
@@ -120,11 +123,20 @@ class SearchPagesResponse(BaseResponse):
|
||||
collective_id: int = Field(description="Collective ID")
|
||||
|
||||
|
||||
class ListTrashedPagesResponse(ListPagesResponse):
|
||||
"""Response for listing trashed pages in a collective."""
|
||||
|
||||
is_trash: bool = Field(
|
||||
default=True, description="Indicates these are trashed pages"
|
||||
)
|
||||
|
||||
|
||||
class ListTagsResponse(BaseResponse):
|
||||
"""Response for listing tags in a collective."""
|
||||
|
||||
tags: list[CollectiveTag] = Field(description="List of tags")
|
||||
total: int = Field(description="Total number of tags")
|
||||
collective_id: int = Field(description="Collective ID")
|
||||
|
||||
|
||||
class CreateTagResponse(BaseResponse):
|
||||
|
||||
Reference in New Issue
Block a user