bricks-builder-mcp 3.4.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server.js +425 -5
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "bricks-builder-mcp",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.5.1",
|
|
5
5
|
"description": "Serveur MCP pour piloter Bricks Builder (WordPress) depuis Claude — édition de pages, gestion d'éléments, réordonnancement des sections.",
|
|
6
6
|
"main": "server.js",
|
|
7
7
|
"bin": {
|
package/server.js
CHANGED
|
@@ -250,7 +250,7 @@ mcpServer.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
250
250
|
|
|
251
251
|
{
|
|
252
252
|
name: "update_element",
|
|
253
|
-
description: "Modifie UN SEUL élément sans recharger/renvoyer toute la page. Ultra économe en tokens. Utilise pour changer une couleur, un texte, etc.",
|
|
253
|
+
description: "Modifie UN SEUL élément sans recharger/renvoyer toute la page. Ultra économe en tokens. Utilise pour changer une couleur, un texte, etc. Permet aussi de renommer l'élément dans la structure Bricks via le paramètre `label`.",
|
|
254
254
|
inputSchema: {
|
|
255
255
|
type: "object",
|
|
256
256
|
properties: {
|
|
@@ -264,10 +264,14 @@ mcpServer.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
264
264
|
},
|
|
265
265
|
newSettings: {
|
|
266
266
|
type: "object",
|
|
267
|
-
description: "Les nouveaux settings (fusionnés avec les anciens)",
|
|
267
|
+
description: "Les nouveaux settings (fusionnés avec les anciens). Optionnel si label est fourni seul.",
|
|
268
|
+
},
|
|
269
|
+
label: {
|
|
270
|
+
type: "string",
|
|
271
|
+
description: "Nom affiché dans la structure du builder Bricks (ex: 'Hero Section', 'Header Pill', 'Logo', 'CTA Buttons'). Modifie l'attribut `label` au niveau racine de l'élément. Optionnel.",
|
|
268
272
|
},
|
|
269
273
|
},
|
|
270
|
-
required: ["pageId", "elementId"
|
|
274
|
+
required: ["pageId", "elementId"],
|
|
271
275
|
},
|
|
272
276
|
},
|
|
273
277
|
|
|
@@ -532,6 +536,261 @@ mcpServer.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
532
536
|
required: ["name", "hex"],
|
|
533
537
|
},
|
|
534
538
|
},
|
|
539
|
+
|
|
540
|
+
// ===== OUTILS v3.5.0 — PHASE A : INSPECTION + CUSTOM CODE + FONTS + CODE EXEC =====
|
|
541
|
+
|
|
542
|
+
{
|
|
543
|
+
name: "list_bricks_options",
|
|
544
|
+
description: "Dump TOUTES les options WP commençant par 'bricks_'. Outil debug essentiel pour cartographier ce qui existe en base avant de modifier. Retourne nom, type, taille, aperçu de chaque option.",
|
|
545
|
+
inputSchema: { type: "object", properties: {} },
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
name: "get_bricks_option",
|
|
549
|
+
description: "Récupère une option Bricks spécifique en intégralité (sans tronquer). Le nom doit commencer par 'bricks_'.",
|
|
550
|
+
inputSchema: {
|
|
551
|
+
type: "object",
|
|
552
|
+
properties: { name: { type: "string", description: "Nom de l'option (ex: 'bricks_global_settings')" } },
|
|
553
|
+
required: ["name"],
|
|
554
|
+
},
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
name: "get_custom_code",
|
|
558
|
+
description: "Récupère le custom code global Bricks (CSS injecté dans <head>, scripts header, body header, body footer). C'est l'endroit natif pour charger Google Fonts via <link>.",
|
|
559
|
+
inputSchema: { type: "object", properties: {} },
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
name: "set_custom_code",
|
|
563
|
+
description: "Met à jour le custom code global Bricks. customScriptsHeader est l'endroit IDÉAL pour charger Google Fonts via <link rel='stylesheet'>. Seuls les champs fournis sont modifiés.",
|
|
564
|
+
inputSchema: {
|
|
565
|
+
type: "object",
|
|
566
|
+
properties: {
|
|
567
|
+
customCss: { type: "string", description: "CSS injecté dans <head>" },
|
|
568
|
+
customScriptsHeader: { type: "string", description: "HTML/scripts injectés dans <head> (idéal pour Google Fonts <link>)" },
|
|
569
|
+
customScriptsBodyHeader: { type: "string", description: "HTML injecté juste après l'ouverture <body>" },
|
|
570
|
+
customScriptsBodyFooter: { type: "string", description: "HTML injecté juste avant </body>" },
|
|
571
|
+
},
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
name: "get_code_execution_status",
|
|
576
|
+
description: "État de l'exécution des code elements Bricks. Bricks 1.9.7+ désactive code execution par défaut pour sécurité. À vérifier avant de tenter d'utiliser <script>/<svg> inline dans un code element.",
|
|
577
|
+
inputSchema: { type: "object", properties: {} },
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
name: "set_code_execution",
|
|
581
|
+
description: "Active/désactive l'exécution des code elements Bricks + définit les rôles autorisés. Active la capability WP 'bricks_execute_code'. Note: Bricks exige aussi des code signatures valides côté builder.",
|
|
582
|
+
inputSchema: {
|
|
583
|
+
type: "object",
|
|
584
|
+
properties: {
|
|
585
|
+
enabled: { type: "boolean", description: "true pour activer, false pour désactiver" },
|
|
586
|
+
roles: { type: "array", items: { type: "string" }, description: "Rôles autorisés à exécuter du code (ex: ['administrator'])" },
|
|
587
|
+
},
|
|
588
|
+
required: ["enabled"],
|
|
589
|
+
},
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
name: "list_custom_fonts",
|
|
593
|
+
description: "Liste les custom fonts enregistrées dans Bricks Font Manager (CPT bricks_fonts).",
|
|
594
|
+
inputSchema: { type: "object", properties: {} },
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
name: "register_custom_font",
|
|
598
|
+
description: "Enregistre une custom font dans Bricks Font Manager. Une fois enregistrée, elle sera dispo dans les selects font-family. Utiliser cet outil quand on a déjà les URLs des fichiers .woff2.",
|
|
599
|
+
inputSchema: {
|
|
600
|
+
type: "object",
|
|
601
|
+
properties: {
|
|
602
|
+
name: { type: "string", description: "Nom de la font (ex: 'Anton')" },
|
|
603
|
+
fontFamily: { type: "string", description: "font-family CSS (souvent identique au name)" },
|
|
604
|
+
faces: { type: "array", items: { type: "object" }, description: "Variantes : [{ weight: 400, style: 'normal', url: 'https://.../font-regular.woff2' }, ...]" },
|
|
605
|
+
},
|
|
606
|
+
required: ["name", "faces"],
|
|
607
|
+
},
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
name: "delete_custom_font",
|
|
611
|
+
description: "Supprime une custom font du Font Manager Bricks.",
|
|
612
|
+
inputSchema: {
|
|
613
|
+
type: "object",
|
|
614
|
+
properties: { id: { type: "number", description: "ID du post bricks_fonts à supprimer" } },
|
|
615
|
+
required: ["id"],
|
|
616
|
+
},
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
name: "register_google_font_locally",
|
|
620
|
+
description: "Télécharge un Google Font et l'enregistre dans le Font Manager Bricks. Récupère automatiquement les URLs des .woff2 depuis Google Fonts CSS et crée le post bricks_fonts. C'est la méthode native pour utiliser une Google Font dans Bricks.",
|
|
621
|
+
inputSchema: {
|
|
622
|
+
type: "object",
|
|
623
|
+
properties: {
|
|
624
|
+
name: { type: "string", description: "Nom de la font Google (ex: 'Anton', 'Inter', 'Bebas Neue')" },
|
|
625
|
+
weights: { type: "array", items: { type: "number" }, description: "Poids souhaités (défaut: [400], ex: [400, 700, 900])" },
|
|
626
|
+
},
|
|
627
|
+
required: ["name"],
|
|
628
|
+
},
|
|
629
|
+
},
|
|
630
|
+
|
|
631
|
+
// ===== OUTILS v3.5.0 — PHASE B : GLOBAL CLASSES + THEME STYLES + PAGE CODE =====
|
|
632
|
+
|
|
633
|
+
{
|
|
634
|
+
name: "list_global_classes",
|
|
635
|
+
description: "Liste les classes CSS globales Bricks réutilisables sur tout le site.",
|
|
636
|
+
inputSchema: { type: "object", properties: {} },
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
name: "create_global_class",
|
|
640
|
+
description: "Crée une classe CSS globale Bricks. Une fois créée, on peut l'appliquer à n'importe quel élément via _cssClasses pour réutiliser des styles partout.",
|
|
641
|
+
inputSchema: {
|
|
642
|
+
type: "object",
|
|
643
|
+
properties: {
|
|
644
|
+
name: { type: "string", description: "Nom de la classe (ex: 'btn-primary', 'card')" },
|
|
645
|
+
settings: { type: "object", description: "Settings Bricks à appliquer (ex: { _typography: ..., _padding: ..., _background: ... })" },
|
|
646
|
+
},
|
|
647
|
+
required: ["name", "settings"],
|
|
648
|
+
},
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
name: "update_global_class",
|
|
652
|
+
description: "Modifie une classe globale par id. Tous les éléments qui utilisent cette classe seront affectés.",
|
|
653
|
+
inputSchema: {
|
|
654
|
+
type: "object",
|
|
655
|
+
properties: {
|
|
656
|
+
id: { type: "string", description: "ID de la classe" },
|
|
657
|
+
name: { type: "string", description: "Nouveau nom (optionnel)" },
|
|
658
|
+
settings: { type: "object", description: "Nouveaux settings (optionnel, remplace l'ancien)" },
|
|
659
|
+
},
|
|
660
|
+
required: ["id"],
|
|
661
|
+
},
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
name: "delete_global_class",
|
|
665
|
+
description: "Supprime une classe globale Bricks.",
|
|
666
|
+
inputSchema: {
|
|
667
|
+
type: "object",
|
|
668
|
+
properties: { id: { type: "string", description: "ID de la classe à supprimer" } },
|
|
669
|
+
required: ["id"],
|
|
670
|
+
},
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
name: "list_theme_styles",
|
|
674
|
+
description: "Liste les theme styles Bricks (styles globaux conditionnels appliqués selon contexte).",
|
|
675
|
+
inputSchema: { type: "object", properties: {} },
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
name: "create_theme_style",
|
|
679
|
+
description: "Crée un theme style Bricks. Définit les styles par défaut globaux (typo, couleurs, buttons, etc.) avec conditions optionnelles d'application.",
|
|
680
|
+
inputSchema: {
|
|
681
|
+
type: "object",
|
|
682
|
+
properties: {
|
|
683
|
+
name: { type: "string", description: "Nom du theme style" },
|
|
684
|
+
settings: { type: "object", description: "Settings (typography, colors, headings, buttons, etc.)" },
|
|
685
|
+
conditions: { type: "array", items: { type: "object" }, description: "Conditions d'application (optionnel)" },
|
|
686
|
+
},
|
|
687
|
+
required: ["name", "settings"],
|
|
688
|
+
},
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
name: "update_theme_style",
|
|
692
|
+
description: "Modifie un theme style existant.",
|
|
693
|
+
inputSchema: {
|
|
694
|
+
type: "object",
|
|
695
|
+
properties: {
|
|
696
|
+
id: { type: "string", description: "ID du theme style" },
|
|
697
|
+
name: { type: "string", description: "Nouveau nom (opt)" },
|
|
698
|
+
settings: { type: "object", description: "Nouveaux settings (opt)" },
|
|
699
|
+
conditions: { type: "array", items: { type: "object" }, description: "Nouvelles conditions (opt)" },
|
|
700
|
+
},
|
|
701
|
+
required: ["id"],
|
|
702
|
+
},
|
|
703
|
+
},
|
|
704
|
+
{
|
|
705
|
+
name: "delete_theme_style",
|
|
706
|
+
description: "Supprime un theme style.",
|
|
707
|
+
inputSchema: {
|
|
708
|
+
type: "object",
|
|
709
|
+
properties: { id: { type: "string", description: "ID du theme style" } },
|
|
710
|
+
required: ["id"],
|
|
711
|
+
},
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
name: "get_page_custom_code",
|
|
715
|
+
description: "Récupère le custom code (CSS/JS) spécifique à une page Bricks (Page Settings → Custom Code).",
|
|
716
|
+
inputSchema: {
|
|
717
|
+
type: "object",
|
|
718
|
+
properties: { pageId: { type: "number", description: "ID de la page" } },
|
|
719
|
+
required: ["pageId"],
|
|
720
|
+
},
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
name: "set_page_custom_code",
|
|
724
|
+
description: "Définit du CSS et/ou JS spécifique à une page (Page Settings → Custom Code). Utile pour des animations, des polices spécifiques à cette page seulement, etc.",
|
|
725
|
+
inputSchema: {
|
|
726
|
+
type: "object",
|
|
727
|
+
properties: {
|
|
728
|
+
pageId: { type: "number", description: "ID de la page" },
|
|
729
|
+
customCss: { type: "string", description: "CSS de la page (sera injecté dans <head> uniquement sur cette page)" },
|
|
730
|
+
customScripts: { type: "string", description: "Scripts/HTML de la page (injectés dans <head>)" },
|
|
731
|
+
},
|
|
732
|
+
required: ["pageId"],
|
|
733
|
+
},
|
|
734
|
+
},
|
|
735
|
+
|
|
736
|
+
// ===== OUTILS v3.5.0 — PHASE C : STYLE MANAGER 2.2 + COMPONENTS =====
|
|
737
|
+
|
|
738
|
+
{
|
|
739
|
+
name: "list_typography_scales",
|
|
740
|
+
description: "Liste les typography scales globales Bricks (Style Manager 2.2). Définit des tailles de typo réutilisables pour h1, h2, body, etc.",
|
|
741
|
+
inputSchema: { type: "object", properties: {} },
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
name: "set_typography_scale",
|
|
745
|
+
description: "Crée ou met à jour une typography scale (Style Manager 2.2). Si id existe, met à jour ; sinon crée une nouvelle.",
|
|
746
|
+
inputSchema: {
|
|
747
|
+
type: "object",
|
|
748
|
+
properties: {
|
|
749
|
+
id: { type: "string", description: "ID de la scale (laisser vide pour créer)" },
|
|
750
|
+
name: { type: "string", description: "Nom de la scale (ex: 'Default')" },
|
|
751
|
+
values: { type: "object", description: "Valeurs (ex: { h1: '64px', h2: '48px', body: '16px' })" },
|
|
752
|
+
},
|
|
753
|
+
},
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
name: "list_spacing_scales",
|
|
757
|
+
description: "Liste les spacing scales globales Bricks (Style Manager 2.2).",
|
|
758
|
+
inputSchema: { type: "object", properties: {} },
|
|
759
|
+
},
|
|
760
|
+
{
|
|
761
|
+
name: "set_spacing_scale",
|
|
762
|
+
description: "Crée ou met à jour une spacing scale.",
|
|
763
|
+
inputSchema: {
|
|
764
|
+
type: "object",
|
|
765
|
+
properties: {
|
|
766
|
+
id: { type: "string", description: "ID de la scale (laisser vide pour créer)" },
|
|
767
|
+
name: { type: "string", description: "Nom de la scale" },
|
|
768
|
+
values: { type: "object", description: "Valeurs (ex: { xs: '8px', sm: '16px', md: '24px', lg: '48px' })" },
|
|
769
|
+
},
|
|
770
|
+
},
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
name: "list_css_variables",
|
|
774
|
+
description: "Liste les CSS variables globales Bricks (Style Manager 2.2). Variables réutilisables comme --primary, --accent, etc.",
|
|
775
|
+
inputSchema: { type: "object", properties: {} },
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
name: "set_css_variable",
|
|
779
|
+
description: "Crée ou met à jour une CSS variable globale. Si la variable existe, sa valeur est mise à jour ; sinon elle est créée.",
|
|
780
|
+
inputSchema: {
|
|
781
|
+
type: "object",
|
|
782
|
+
properties: {
|
|
783
|
+
name: { type: "string", description: "Nom (avec ou sans --, ex: '--primary' ou 'primary')" },
|
|
784
|
+
value: { type: "string", description: "Valeur (ex: '#FD5B2C', '64px', '1.5')" },
|
|
785
|
+
},
|
|
786
|
+
required: ["name", "value"],
|
|
787
|
+
},
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
name: "list_components",
|
|
791
|
+
description: "Liste les components Bricks (templates avec type=component, Bricks 2.x).",
|
|
792
|
+
inputSchema: { type: "object", properties: {} },
|
|
793
|
+
},
|
|
535
794
|
],
|
|
536
795
|
};
|
|
537
796
|
});
|
|
@@ -610,11 +869,12 @@ mcpServer.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
610
869
|
|
|
611
870
|
case "update_element":
|
|
612
871
|
console.error(`[LOG] Exécution: update_element`);
|
|
613
|
-
console.error(`[LOG] Modification de l'élément ${args.elementId}`);
|
|
872
|
+
console.error(`[LOG] Modification de l'élément ${args.elementId}${args.label ? ` (label: "${args.label}")` : ''}`);
|
|
614
873
|
result = await callWordPressAPI("/update-element", "POST", {
|
|
615
874
|
pageId: args.pageId,
|
|
616
875
|
elementId: args.elementId,
|
|
617
|
-
newSettings: args.newSettings,
|
|
876
|
+
newSettings: args.newSettings || {},
|
|
877
|
+
label: args.label,
|
|
618
878
|
});
|
|
619
879
|
break;
|
|
620
880
|
|
|
@@ -780,6 +1040,166 @@ mcpServer.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
780
1040
|
});
|
|
781
1041
|
break;
|
|
782
1042
|
|
|
1043
|
+
// ===== OUTILS v3.5.0 — PHASE A : INSPECTION + CUSTOM CODE + FONTS + CODE EXEC =====
|
|
1044
|
+
|
|
1045
|
+
case "list_bricks_options":
|
|
1046
|
+
result = await callWordPressAPI("/list-bricks-options", "GET");
|
|
1047
|
+
break;
|
|
1048
|
+
|
|
1049
|
+
case "get_bricks_option":
|
|
1050
|
+
result = await callWordPressAPI("/get-bricks-option", "POST", { name: args.name });
|
|
1051
|
+
break;
|
|
1052
|
+
|
|
1053
|
+
case "get_custom_code":
|
|
1054
|
+
result = await callWordPressAPI("/get-custom-code", "GET");
|
|
1055
|
+
break;
|
|
1056
|
+
|
|
1057
|
+
case "set_custom_code":
|
|
1058
|
+
result = await callWordPressAPI("/set-custom-code", "POST", {
|
|
1059
|
+
customCss: args.customCss,
|
|
1060
|
+
customScriptsHeader: args.customScriptsHeader,
|
|
1061
|
+
customScriptsBodyHeader: args.customScriptsBodyHeader,
|
|
1062
|
+
customScriptsBodyFooter: args.customScriptsBodyFooter,
|
|
1063
|
+
});
|
|
1064
|
+
break;
|
|
1065
|
+
|
|
1066
|
+
case "get_code_execution_status":
|
|
1067
|
+
result = await callWordPressAPI("/get-code-execution-status", "GET");
|
|
1068
|
+
break;
|
|
1069
|
+
|
|
1070
|
+
case "set_code_execution":
|
|
1071
|
+
result = await callWordPressAPI("/set-code-execution", "POST", {
|
|
1072
|
+
enabled: args.enabled,
|
|
1073
|
+
roles: args.roles || [],
|
|
1074
|
+
});
|
|
1075
|
+
break;
|
|
1076
|
+
|
|
1077
|
+
case "list_custom_fonts":
|
|
1078
|
+
result = await callWordPressAPI("/list-custom-fonts", "GET");
|
|
1079
|
+
break;
|
|
1080
|
+
|
|
1081
|
+
case "register_custom_font":
|
|
1082
|
+
result = await callWordPressAPI("/register-custom-font", "POST", {
|
|
1083
|
+
name: args.name,
|
|
1084
|
+
fontFamily: args.fontFamily || args.name,
|
|
1085
|
+
faces: args.faces,
|
|
1086
|
+
});
|
|
1087
|
+
break;
|
|
1088
|
+
|
|
1089
|
+
case "delete_custom_font":
|
|
1090
|
+
result = await callWordPressAPI("/delete-custom-font", "POST", { id: args.id });
|
|
1091
|
+
break;
|
|
1092
|
+
|
|
1093
|
+
case "register_google_font_locally":
|
|
1094
|
+
result = await callWordPressAPI("/register-google-font-locally", "POST", {
|
|
1095
|
+
name: args.name,
|
|
1096
|
+
weights: args.weights || [400],
|
|
1097
|
+
});
|
|
1098
|
+
break;
|
|
1099
|
+
|
|
1100
|
+
// ===== OUTILS v3.5.0 — PHASE B : GLOBAL CLASSES + THEME STYLES + PAGE CODE =====
|
|
1101
|
+
|
|
1102
|
+
case "list_global_classes":
|
|
1103
|
+
result = await callWordPressAPI("/list-global-classes", "GET");
|
|
1104
|
+
break;
|
|
1105
|
+
|
|
1106
|
+
case "create_global_class":
|
|
1107
|
+
result = await callWordPressAPI("/create-global-class", "POST", {
|
|
1108
|
+
name: args.name,
|
|
1109
|
+
settings: args.settings || {},
|
|
1110
|
+
});
|
|
1111
|
+
break;
|
|
1112
|
+
|
|
1113
|
+
case "update_global_class":
|
|
1114
|
+
result = await callWordPressAPI("/update-global-class", "POST", {
|
|
1115
|
+
id: args.id,
|
|
1116
|
+
name: args.name,
|
|
1117
|
+
settings: args.settings,
|
|
1118
|
+
});
|
|
1119
|
+
break;
|
|
1120
|
+
|
|
1121
|
+
case "delete_global_class":
|
|
1122
|
+
result = await callWordPressAPI("/delete-global-class", "POST", { id: args.id });
|
|
1123
|
+
break;
|
|
1124
|
+
|
|
1125
|
+
case "list_theme_styles":
|
|
1126
|
+
result = await callWordPressAPI("/list-theme-styles", "GET");
|
|
1127
|
+
break;
|
|
1128
|
+
|
|
1129
|
+
case "create_theme_style":
|
|
1130
|
+
result = await callWordPressAPI("/create-theme-style", "POST", {
|
|
1131
|
+
name: args.name,
|
|
1132
|
+
settings: args.settings || {},
|
|
1133
|
+
conditions: args.conditions || [],
|
|
1134
|
+
});
|
|
1135
|
+
break;
|
|
1136
|
+
|
|
1137
|
+
case "update_theme_style":
|
|
1138
|
+
result = await callWordPressAPI("/update-theme-style", "POST", {
|
|
1139
|
+
id: args.id,
|
|
1140
|
+
name: args.name,
|
|
1141
|
+
settings: args.settings,
|
|
1142
|
+
conditions: args.conditions,
|
|
1143
|
+
});
|
|
1144
|
+
break;
|
|
1145
|
+
|
|
1146
|
+
case "delete_theme_style":
|
|
1147
|
+
result = await callWordPressAPI("/delete-theme-style", "POST", { id: args.id });
|
|
1148
|
+
break;
|
|
1149
|
+
|
|
1150
|
+
case "get_page_custom_code":
|
|
1151
|
+
result = await callWordPressAPI("/get-page-custom-code", "POST", { pageId: args.pageId });
|
|
1152
|
+
break;
|
|
1153
|
+
|
|
1154
|
+
case "set_page_custom_code":
|
|
1155
|
+
result = await callWordPressAPI("/set-page-custom-code", "POST", {
|
|
1156
|
+
pageId: args.pageId,
|
|
1157
|
+
customCss: args.customCss,
|
|
1158
|
+
customScripts: args.customScripts,
|
|
1159
|
+
});
|
|
1160
|
+
break;
|
|
1161
|
+
|
|
1162
|
+
// ===== OUTILS v3.5.0 — PHASE C : STYLE MANAGER 2.2 + COMPONENTS =====
|
|
1163
|
+
|
|
1164
|
+
case "list_typography_scales":
|
|
1165
|
+
result = await callWordPressAPI("/list-typography-scales", "GET");
|
|
1166
|
+
break;
|
|
1167
|
+
|
|
1168
|
+
case "set_typography_scale":
|
|
1169
|
+
result = await callWordPressAPI("/set-typography-scale", "POST", {
|
|
1170
|
+
id: args.id,
|
|
1171
|
+
name: args.name,
|
|
1172
|
+
values: args.values || {},
|
|
1173
|
+
});
|
|
1174
|
+
break;
|
|
1175
|
+
|
|
1176
|
+
case "list_spacing_scales":
|
|
1177
|
+
result = await callWordPressAPI("/list-spacing-scales", "GET");
|
|
1178
|
+
break;
|
|
1179
|
+
|
|
1180
|
+
case "set_spacing_scale":
|
|
1181
|
+
result = await callWordPressAPI("/set-spacing-scale", "POST", {
|
|
1182
|
+
id: args.id,
|
|
1183
|
+
name: args.name,
|
|
1184
|
+
values: args.values || {},
|
|
1185
|
+
});
|
|
1186
|
+
break;
|
|
1187
|
+
|
|
1188
|
+
case "list_css_variables":
|
|
1189
|
+
result = await callWordPressAPI("/list-css-variables", "GET");
|
|
1190
|
+
break;
|
|
1191
|
+
|
|
1192
|
+
case "set_css_variable":
|
|
1193
|
+
result = await callWordPressAPI("/set-css-variable", "POST", {
|
|
1194
|
+
name: args.name,
|
|
1195
|
+
value: args.value,
|
|
1196
|
+
});
|
|
1197
|
+
break;
|
|
1198
|
+
|
|
1199
|
+
case "list_components":
|
|
1200
|
+
result = await callWordPressAPI("/list-components", "GET");
|
|
1201
|
+
break;
|
|
1202
|
+
|
|
783
1203
|
default:
|
|
784
1204
|
console.error(`[LOG] Tool inconnu: ${name}`);
|
|
785
1205
|
result = { error: `Tool ${name} not found` };
|