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
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Integrations\Divi\BlockTree\Block;
use LIT\MCP\Integrations\Divi\BlockTree\NodeSummary;
@@ -55,7 +56,7 @@ final class DiviDeleteAbility extends DiviWriteAbility
public function annotations(): array
{
return ['readonly' => false, 'destructive' => true, 'idempotent' => false];
return Annotations::destructive(false);
}
protected function change(DiviPage $page, array $input, DiviComposition $composition): DiviChange|WP_Error
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Integrations\Divi\BlockTree\AttrMap;
use WP_Error;
@@ -44,7 +45,7 @@ final class DiviDuplicateNodeAbility extends DiviWriteAbility
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => false];
return Annotations::write(false);
}
public function isDirect(): bool
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use WP_Error;
@@ -56,7 +57,7 @@ final class DiviInsertAbility extends DiviWriteAbility
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => false];
return Annotations::write(false);
}
protected function change(DiviPage $page, array $input, DiviComposition $composition): DiviChange|WP_Error
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use WP_Error;
@@ -46,7 +47,7 @@ final class DiviMoveAbility extends DiviWriteAbility
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => false];
return Annotations::write(false);
}
protected function change(DiviPage $page, array $input, DiviComposition $composition): DiviChange|WP_Error
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Abilities\JsonMap;
use LIT\MCP\Abilities\Rev;
@@ -89,7 +90,7 @@ final class DiviNodeGetAbility 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\Divi\Pages;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Abilities\Rev;
use LIT\MCP\Integrations\Divi\BlockTree\NodeIndex;
@@ -116,7 +117,7 @@ final class DiviOutlineAbility implements Ability
public function annotations(): array
{
return ['readonly' => true, 'destructive' => false, 'idempotent' => true];
return Annotations::read();
}
public function isDirect(): bool
@@ -6,6 +6,7 @@ namespace LIT\MCP\Integrations\Divi\Pages;
use InvalidArgumentException;
use LIT\MCP\Abilities\Ability;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Cursor;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Abilities\ToolResult;
@@ -115,7 +116,7 @@ final class DiviReplaceTextAbility implements Ability
public function annotations(): array
{
return ['readonly' => false, 'destructive' => true, 'idempotent' => false];
return Annotations::destructive(false);
}
public function isDirect(): bool
@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace LIT\MCP\Integrations\Divi\Pages;
use LIT\MCP\Abilities\Annotations;
use LIT\MCP\Abilities\Errors;
use LIT\MCP\Integrations\Divi\BlockTree\Block;
use LIT\MCP\Integrations\Divi\Compose\ColumnWidths;
@@ -73,7 +74,7 @@ final class DiviUpdateAbility extends DiviWriteAbility
public function annotations(): array
{
return ['readonly' => false, 'destructive' => false, 'idempotent' => true];
return Annotations::write(true);
}
protected function change(DiviPage $page, array $input, DiviComposition $composition): DiviChange|WP_Error