refactor: annotation presets (L5)

The 41 abilities return Annotations::read(), ::write(idempotent) or
::destructive(idempotent) instead of hand-written arrays (same arrays, same
key order).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
2026-09-26 18:33:14 +02:00
co-authored by Claude Opus 5.5
parent 9ed5d9d2fa
commit e04a5304f7
43 changed files with 133 additions and 41 deletions
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Abilities\FollowUp;
use LIT\MCP\Abilities\ToolResult;
@@ -81,7 +82,7 @@ final class MediaDeleteAbility implements Ability
public function annotations(): array
{
return ['readonly' => false, 'destructive' => true, 'idempotent' => false];
return Annotations::destructive(false);
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Limits;
use WP_Error;
@@ -60,7 +61,7 @@ final class MediaDownloadAbility implements Ability
public function annotations(): array
{
return ['readonly' => true, 'destructive' => false, 'idempotent' => true];
return Annotations::read();
}
public function isDirect(): bool
+2 -1
View File
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use WP_Error;
final class MediaGetAbility implements Ability
@@ -56,7 +57,7 @@ final class MediaGetAbility implements Ability
public function annotations(): array
{
return ['readonly' => true, 'destructive' => false, 'idempotent' => true];
return Annotations::read();
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use WP_Error;
@@ -61,7 +62,7 @@ final class MediaPreviewAbility implements Ability
public function annotations(): array
{
return ['readonly' => true, 'destructive' => false, 'idempotent' => true];
return Annotations::read();
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Cursor;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Integrations\WordPress\PostGuard;
@@ -81,7 +82,7 @@ final class MediaSearchAbility implements Ability
public function annotations(): array
{
return ['readonly' => true, 'destructive' => false, 'idempotent' => true];
return Annotations::read();
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Abilities\FollowUp;
use LIT\MCP\Abilities\Rollback;
@@ -125,7 +126,7 @@ final class MediaUpdateAbility implements Ability
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => true];
return Annotations::write(true);
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Limits;
use WP_Error;
@@ -69,7 +70,7 @@ final class MediaUploadAbility implements Ability
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => false];
return Annotations::write(false);
}
public function isDirect(): bool
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Media;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use WP_Error;
/**
@@ -61,7 +62,7 @@ final class MediaUploadFromUrlAbility implements Ability
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => false];
return Annotations::write(false);
}
public function isDirect(): bool