feat: jedes Divi-Tool und lit/content-create erklärt seine Divi-Fähigkeiten (RequiresDiviFeatures, DeclaresRequirements, FeatureSets); Tabelle Tool → Fähigkeiten als Test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
e387d8d29e
commit
fdbda8012c
@@ -8,6 +8,8 @@ use LIT\MCP\Abilities\Ability;
|
||||
use LIT\MCP\Abilities\Annotations;
|
||||
use LIT\MCP\Abilities\Errors;
|
||||
use LIT\MCP\Abilities\JsonMap;
|
||||
use LIT\MCP\Integrations\Divi\Release\DiviFeature;
|
||||
use LIT\MCP\Integrations\Divi\Release\RequiresDiviFeatures;
|
||||
use WP_Error;
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
@@ -16,7 +18,7 @@ defined('ABSPATH') || exit;
|
||||
* lit/divi-catalog: the modules of this Divi installation with their short-form fields;
|
||||
* with "module" the details of one module incl. all known attribute paths (spec §5.7).
|
||||
*/
|
||||
final class DiviCatalogAbility implements Ability
|
||||
final class DiviCatalogAbility implements Ability, RequiresDiviFeatures
|
||||
{
|
||||
public const CODE_NOTE = 'Code-Modul (code) nur verwenden, wenn kein natives Modul passt – es ist im '
|
||||
. 'Divi-Builder nicht visuell bearbeitbar.';
|
||||
@@ -116,6 +118,12 @@ final class DiviCatalogAbility implements Ability
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Only the module catalog (DiviModules::catalog()). */
|
||||
public function diviFeatures(array $input): array
|
||||
{
|
||||
return [DiviFeature::Catalog];
|
||||
}
|
||||
|
||||
public function permission(array $input): bool|WP_Error
|
||||
{
|
||||
return current_user_can('edit_posts')
|
||||
|
||||
Reference in New Issue
Block a user