feat: lit-site-status, Admin-Tab und Admin-Hinweis zeigen Divi-Fähigkeiten mit Zustand, Quelle, Problemen und betroffenen Werkzeugen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
b92545a8fe
commit
2aef6e1154
@@ -31,8 +31,10 @@ final class SiteStatusAbility implements Ability
|
||||
{
|
||||
return 'Überblick: Website, WordPress-Version, eigener Benutzer und Rollen, '
|
||||
. 'erkannte Integrationen (Divi, Pods, The Events Calendar). '
|
||||
. 'Bei Divi nennt problems Divi-Stellen, die nach einem Update fehlen oder sich geändert haben, und '
|
||||
. 'release, ob LIT MCP mit dieser Divi-Version schreiben darf (released, untested, incompatible).';
|
||||
. 'Bei Divi nennt problems Divi-Stellen, die nach einem Update fehlen oder sich geändert haben, '
|
||||
. 'release den Gesamtzustand und features je Fähigkeit (z. B. Seiten schreiben) Zustand '
|
||||
. '(released, untested, incompatible), Quelle (code, database, auto), Probleme und betroffene Werkzeuge. '
|
||||
. 'Werkzeuge, deren Fähigkeit nicht released ist, lehnen ab; alle anderen Divi-Werkzeuge laufen weiter.';
|
||||
}
|
||||
|
||||
public function inputSchema(): array
|
||||
@@ -49,12 +51,49 @@ final class SiteStatusAbility implements Ability
|
||||
'wordpress' => ['type' => 'string'],
|
||||
'user' => ['type' => 'object'],
|
||||
'allowed_roles' => ['type' => 'array', 'items' => ['type' => 'string']],
|
||||
'components' => ['type' => 'array'],
|
||||
'components' => ['type' => 'array', 'items' => self::componentSchema()],
|
||||
],
|
||||
'required' => ['site', 'wordpress', 'user', 'allowed_roles', 'components'],
|
||||
];
|
||||
}
|
||||
|
||||
/** @return array<string, mixed> */
|
||||
private static function componentSchema(): array
|
||||
{
|
||||
$text = ['type' => 'string'];
|
||||
|
||||
return [
|
||||
'type' => 'object',
|
||||
'properties' => [
|
||||
'id' => $text,
|
||||
'active' => ['type' => 'boolean'],
|
||||
'version' => ['type' => ['string', 'null']],
|
||||
'problems' => ['type' => 'array', 'items' => $text],
|
||||
'release' => ['type' => ['object', 'null']],
|
||||
'features' => [
|
||||
'type' => 'array',
|
||||
'description' => 'Nur bei Divi: Zustand je Fähigkeit.',
|
||||
'items' => [
|
||||
'type' => 'object',
|
||||
'properties' => [
|
||||
'id' => $text,
|
||||
'label' => $text,
|
||||
'state' => ['type' => 'string', 'enum' => ['released', 'untested', 'incompatible']],
|
||||
'source' => [
|
||||
'type' => ['string', 'null'],
|
||||
'description' => 'code, database, auto oder null (nicht nutzbar).',
|
||||
],
|
||||
'problems' => ['type' => 'array', 'items' => $text],
|
||||
'tools' => ['type' => 'array', 'items' => $text],
|
||||
],
|
||||
'required' => ['id', 'label', 'state', 'source', 'problems', 'tools'],
|
||||
],
|
||||
],
|
||||
],
|
||||
'required' => ['id', 'active', 'version', 'problems', 'release'],
|
||||
];
|
||||
}
|
||||
|
||||
public function annotations(): array
|
||||
{
|
||||
return Annotations::read();
|
||||
|
||||
Reference in New Issue
Block a user