n8n-nodes-oxsr-technical-utils 4.2.25 → 4.2.27
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/dist/nodes/OXSRTechnicalUtils/OXSRTechnicalUtils.node.js +74 -13
- package/dist/nodes/OXSRTechnicalUtils/OXSRTechnicalUtils.node.js.map +1 -1
- package/dist/nodes/OXSRTechnicalUtils/actions/media.js +18 -1
- package/dist/nodes/OXSRTechnicalUtils/actions/media.js.map +1 -1
- package/dist/nodes/OXSRTechnicalUtils/actions/plugins.d.ts +5 -0
- package/dist/nodes/OXSRTechnicalUtils/actions/plugins.js +49 -0
- package/dist/nodes/OXSRTechnicalUtils/actions/plugins.js.map +1 -0
- package/dist/nodes/OXSRTechnicalUtils/actions/server.js +5 -1
- package/dist/nodes/OXSRTechnicalUtils/actions/server.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ const metrics_1 = require("./actions/metrics");
|
|
|
21
21
|
const seo_1 = require("./actions/seo");
|
|
22
22
|
const media_1 = require("./actions/media");
|
|
23
23
|
const server_1 = require("./actions/server");
|
|
24
|
+
const plugins_1 = require("./actions/plugins");
|
|
24
25
|
function normalizeSiteUrl(siteUrl) {
|
|
25
26
|
const raw = (siteUrl || '').trim();
|
|
26
27
|
if (!raw)
|
|
@@ -90,9 +91,11 @@ const AUTO_RESOURCE_VALUES = [
|
|
|
90
91
|
'multisite',
|
|
91
92
|
'iaDev',
|
|
92
93
|
'seo',
|
|
94
|
+
'plugins',
|
|
93
95
|
];
|
|
94
96
|
const AUTO_OPERATIONS_BY_RESOURCE = {
|
|
95
97
|
siteHealth: ['healthCheck', 'getPlugins', 'checkUptime'],
|
|
98
|
+
plugins: ['getPlugins', 'activatePlugin', 'deactivatePlugin', 'deletePlugin', 'configurePlugin'],
|
|
96
99
|
users: ['getUsers', 'getAdmins', 'createUser', 'updateUser', 'deleteUser', 'resetPassword', 'revokeSessions', 'getInactiveUsers'],
|
|
97
100
|
database: ['getDbSize', 'getAutoload'],
|
|
98
101
|
logs: ['getErrorLog'],
|
|
@@ -119,8 +122,8 @@ const AUTO_OPERATIONS_BY_RESOURCE = {
|
|
|
119
122
|
'addMenuCategories',
|
|
120
123
|
'deleteMenuItemsByText',
|
|
121
124
|
],
|
|
122
|
-
server: ['listFiles', 'getFile', 'updateFile', 'patchFileLines', 'patchFileByAnchor', 'getFileHistory', 'rollbackFileVersion', 'deleteFile', 'getServerDiagnostics', 'runServerConsole'],
|
|
123
|
-
media: ['getMediaDetailed', 'updateMediaMeta', 'deleteMedia'],
|
|
125
|
+
server: ['listFiles', 'getFile', 'updateFile', 'patchFileLines', 'patchFileByAnchor', 'getFileHistory', 'rollbackFileVersion', 'deleteFile', 'getServerDiagnostics', 'runServerConsole', 'runWpCli'],
|
|
126
|
+
media: ['getMediaDetailed', 'updateMediaMeta', 'deleteMedia', 'uploadMedia'],
|
|
124
127
|
security: [
|
|
125
128
|
'getFileChecksums',
|
|
126
129
|
'checkOpenRegistration',
|
|
@@ -192,6 +195,7 @@ const OPERATION_DESCRIPTIONS = {
|
|
|
192
195
|
getMediaDetailed: 'Acción de listar imágenes con ALT, título, URL, nombre de archivo y uso en posts.',
|
|
193
196
|
updateMediaMeta: 'Acción de actualizar ALT y título de una imagen por ID o URL.',
|
|
194
197
|
deleteMedia: 'Acción de eliminar imágenes por IDs o URLs indicadas.',
|
|
198
|
+
uploadMedia: 'Acción de subir imagen externa o base64 a la librería de medios.',
|
|
195
199
|
listFiles: 'Acción de listar archivos y carpetas del servidor.',
|
|
196
200
|
getFile: 'Acción de ver contenido de archivo del servidor.',
|
|
197
201
|
updateFile: 'Acción de editar/guardar archivo del servidor.',
|
|
@@ -202,8 +206,13 @@ const OPERATION_DESCRIPTIONS = {
|
|
|
202
206
|
deleteFile: 'Acción de eliminar archivo o directorio del servidor.',
|
|
203
207
|
getServerDiagnostics: 'Acción de leer diagnóstico general de servidor y rendimiento.',
|
|
204
208
|
runServerConsole: 'Acción de ejecutar comando de consola permitido para diagnóstico.',
|
|
209
|
+
runWpCli: 'Acción para ejecutar comandos WP-CLI (requiere acceso shell en servidor).',
|
|
205
210
|
getContentSource: 'Acción de leer código fuente raw y metadatos SEO de un contenido.',
|
|
206
211
|
updateContentSource: 'Acción de actualizar source raw, SEO y portada de un contenido.',
|
|
212
|
+
activatePlugin: 'Acción de activar un plugin de WordPress por su slug.',
|
|
213
|
+
deactivatePlugin: 'Acción de desactivar un plugin de WordPress por su slug.',
|
|
214
|
+
deletePlugin: 'Acción de desinstalar/eliminar un plugin de WordPress.',
|
|
215
|
+
configurePlugin: 'Acción de configurar opciones y campos de plugins mediante actualización masiva de la tabla wp_options.',
|
|
207
216
|
getMenus: 'Acción de listar menús y, si se indica menu_id, su detalle de items.',
|
|
208
217
|
getMenuItems: 'Acción de listar todos los items de un menú por menu_id.',
|
|
209
218
|
createMenu: 'Acción de crear menú WordPress y asignarlo opcionalmente a una ubicación.',
|
|
@@ -456,7 +465,7 @@ class OXSRTechnicalUtils {
|
|
|
456
465
|
{ name: 'Metrics', value: 'metrics', description: 'Visitas, interacciones y rendimiento de contenido' },
|
|
457
466
|
{ name: 'Content', value: 'content', description: 'Posts, borradores y ALT faltante' },
|
|
458
467
|
{ name: 'Media', value: 'media', description: 'Biblioteca de medios (imágenes): ALT, título, uso y eliminación' },
|
|
459
|
-
{ name: 'Servidor', value: 'server', description: 'Consola de diagnóstico y gestión de archivos del servidor' },
|
|
468
|
+
{ name: 'Servidor', value: 'server', description: 'Consola de diagnóstico y gestión de archivos del servidor, y WP-CLI' },
|
|
460
469
|
{ name: 'Security', value: 'security', description: 'Checksums y configuración de registro' },
|
|
461
470
|
{ name: 'Performance', value: 'performance', description: 'Cron y revisiones' },
|
|
462
471
|
{ name: 'Actions', value: 'actions', description: 'Acciones remotas administrativas' },
|
|
@@ -467,6 +476,7 @@ class OXSRTechnicalUtils {
|
|
|
467
476
|
{ name: 'WooCommerce', value: 'woo', description: 'Operaciones de pedidos, productos y clientes de WooCommerce' },
|
|
468
477
|
{ name: 'Email', value: 'email', description: 'Envío y revisión de correos del sitio' },
|
|
469
478
|
{ name: 'Multisite', value: 'multisite', description: 'Operaciones de red multisite' },
|
|
479
|
+
{ name: 'Plugins', value: 'plugins', description: 'Gestión de plugins' },
|
|
470
480
|
{ name: 'SEO', value: 'seo', description: 'Site Kit, keywords y análisis SEO avanzado' },
|
|
471
481
|
],
|
|
472
482
|
},
|
|
@@ -507,6 +517,7 @@ class OXSRTechnicalUtils {
|
|
|
507
517
|
{ name: 'WooCommerce', value: 'woo' },
|
|
508
518
|
{ name: 'Email', value: 'email' },
|
|
509
519
|
{ name: 'Multisite', value: 'multisite' },
|
|
520
|
+
{ name: 'Plugins', value: 'plugins' },
|
|
510
521
|
{ name: 'IA Dev', value: 'iaDev' },
|
|
511
522
|
{ name: 'SEO', value: 'seo' },
|
|
512
523
|
],
|
|
@@ -629,6 +640,7 @@ class OXSRTechnicalUtils {
|
|
|
629
640
|
options: [
|
|
630
641
|
{ name: 'Get Server Diagnostics', value: 'getServerDiagnostics' },
|
|
631
642
|
{ name: 'Run Server Console', value: 'runServerConsole' },
|
|
643
|
+
{ name: 'Run WP-CLI', value: 'runWpCli' },
|
|
632
644
|
{ name: 'List Files', value: 'listFiles' },
|
|
633
645
|
{ name: 'Get File', value: 'getFile' },
|
|
634
646
|
{ name: 'Update File', value: 'updateFile' },
|
|
@@ -639,6 +651,23 @@ class OXSRTechnicalUtils {
|
|
|
639
651
|
{ name: 'Delete File', value: 'deleteFile' },
|
|
640
652
|
],
|
|
641
653
|
},
|
|
654
|
+
{
|
|
655
|
+
displayName: 'AI Operation',
|
|
656
|
+
name: 'autoOperation',
|
|
657
|
+
type: 'options',
|
|
658
|
+
noDataExpression: false,
|
|
659
|
+
displayOptions: { show: { resource: ['auto'], operation: ['autoDecide'], autoResource: ['plugins'] } },
|
|
660
|
+
default: 'getPlugins',
|
|
661
|
+
required: true,
|
|
662
|
+
description: 'Operación automática para Plugins',
|
|
663
|
+
options: [
|
|
664
|
+
{ name: 'Get Plugins', value: 'getPlugins' },
|
|
665
|
+
{ name: 'Activate Plugin', value: 'activatePlugin' },
|
|
666
|
+
{ name: 'Deactivate Plugin', value: 'deactivatePlugin' },
|
|
667
|
+
{ name: 'Delete Plugin', value: 'deletePlugin' },
|
|
668
|
+
{ name: 'Configure Plugin', value: 'configurePlugin' },
|
|
669
|
+
],
|
|
670
|
+
},
|
|
642
671
|
{
|
|
643
672
|
displayName: 'AI Operation',
|
|
644
673
|
name: 'autoOperation',
|
|
@@ -876,6 +905,8 @@ class OXSRTechnicalUtils {
|
|
|
876
905
|
'email',
|
|
877
906
|
'multisite',
|
|
878
907
|
'seo',
|
|
908
|
+
'plugins',
|
|
909
|
+
'iaDev',
|
|
879
910
|
],
|
|
880
911
|
},
|
|
881
912
|
},
|
|
@@ -1555,11 +1586,20 @@ class OXSRTechnicalUtils {
|
|
|
1555
1586
|
displayName: 'Plugin Slug',
|
|
1556
1587
|
name: 'pluginSlug',
|
|
1557
1588
|
type: 'string',
|
|
1558
|
-
displayOptions: { show: { resource: ['actions', 'updates', 'multisite'], operation: ['togglePlugin', 'runPluginUpdate', 'activatePluginNetwork'] } },
|
|
1589
|
+
displayOptions: { show: { resource: ['actions', 'updates', 'multisite', 'plugins'], operation: ['togglePlugin', 'runPluginUpdate', 'activatePluginNetwork', 'activatePlugin', 'deactivatePlugin', 'deletePlugin'] } },
|
|
1559
1590
|
default: '',
|
|
1560
1591
|
required: true,
|
|
1561
1592
|
description: 'Slug o plugin file path. Ej: autoptimize o woocommerce/woocommerce.php',
|
|
1562
1593
|
},
|
|
1594
|
+
{
|
|
1595
|
+
displayName: 'Plugin Config JSON',
|
|
1596
|
+
name: 'pluginConfigPayload',
|
|
1597
|
+
type: 'string',
|
|
1598
|
+
typeOptions: { alwaysOpenEditWindow: true },
|
|
1599
|
+
displayOptions: { show: { resource: ['plugins'], operation: ['configurePlugin'] } },
|
|
1600
|
+
default: '{}',
|
|
1601
|
+
description: 'JSON (diccionario) mapeando los Option_Names del plugin a sus respectivos Option_Values. Las opciones serán insertadas o sobreescritas limpiamente en wp_options.',
|
|
1602
|
+
},
|
|
1563
1603
|
{
|
|
1564
1604
|
displayName: 'Activate',
|
|
1565
1605
|
name: 'activate',
|
|
@@ -2240,7 +2280,7 @@ class OXSRTechnicalUtils {
|
|
|
2240
2280
|
displayName: 'Media ID',
|
|
2241
2281
|
name: 'mediaId',
|
|
2242
2282
|
type: 'number',
|
|
2243
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia'] } },
|
|
2283
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia', 'uploadMedia'] } },
|
|
2244
2284
|
default: 0,
|
|
2245
2285
|
required: false,
|
|
2246
2286
|
description: 'ID del attachment imagen; opcional si se indica URL',
|
|
@@ -2249,7 +2289,7 @@ class OXSRTechnicalUtils {
|
|
|
2249
2289
|
displayName: 'Media ID (Alias MCP)',
|
|
2250
2290
|
name: 'Media_ID',
|
|
2251
2291
|
type: 'number',
|
|
2252
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia'] } },
|
|
2292
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia', 'uploadMedia'] } },
|
|
2253
2293
|
default: 0,
|
|
2254
2294
|
required: false,
|
|
2255
2295
|
description: 'Alias para tool-calls MCP',
|
|
@@ -2258,7 +2298,7 @@ class OXSRTechnicalUtils {
|
|
|
2258
2298
|
displayName: 'Media URL',
|
|
2259
2299
|
name: 'mediaUrl',
|
|
2260
2300
|
type: 'string',
|
|
2261
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia'] } },
|
|
2301
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia', 'uploadMedia'] } },
|
|
2262
2302
|
default: '',
|
|
2263
2303
|
required: false,
|
|
2264
2304
|
description: 'URL absoluta de la imagen; opcional si se indica ID',
|
|
@@ -2267,7 +2307,7 @@ class OXSRTechnicalUtils {
|
|
|
2267
2307
|
displayName: 'Media URL (Alias MCP)',
|
|
2268
2308
|
name: 'Media_URL',
|
|
2269
2309
|
type: 'string',
|
|
2270
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia'] } },
|
|
2310
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia', 'uploadMedia'] } },
|
|
2271
2311
|
default: '',
|
|
2272
2312
|
required: false,
|
|
2273
2313
|
description: 'Alias para tool-calls MCP',
|
|
@@ -2276,7 +2316,7 @@ class OXSRTechnicalUtils {
|
|
|
2276
2316
|
displayName: 'Media Title',
|
|
2277
2317
|
name: 'mediaTitle',
|
|
2278
2318
|
type: 'string',
|
|
2279
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta'] } },
|
|
2319
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'uploadMedia'] } },
|
|
2280
2320
|
default: '',
|
|
2281
2321
|
required: false,
|
|
2282
2322
|
description: 'Nuevo título para la imagen',
|
|
@@ -2285,7 +2325,7 @@ class OXSRTechnicalUtils {
|
|
|
2285
2325
|
displayName: 'Media Title (Alias MCP)',
|
|
2286
2326
|
name: 'Media_Title',
|
|
2287
2327
|
type: 'string',
|
|
2288
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta'] } },
|
|
2328
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'uploadMedia'] } },
|
|
2289
2329
|
default: '',
|
|
2290
2330
|
required: false,
|
|
2291
2331
|
description: 'Alias para tool-calls MCP',
|
|
@@ -2294,7 +2334,7 @@ class OXSRTechnicalUtils {
|
|
|
2294
2334
|
displayName: 'Media ALT',
|
|
2295
2335
|
name: 'mediaAlt',
|
|
2296
2336
|
type: 'string',
|
|
2297
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta'] } },
|
|
2337
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'uploadMedia'] } },
|
|
2298
2338
|
default: '',
|
|
2299
2339
|
required: false,
|
|
2300
2340
|
description: 'Nuevo texto ALT para la imagen',
|
|
@@ -2303,7 +2343,7 @@ class OXSRTechnicalUtils {
|
|
|
2303
2343
|
displayName: 'Media ALT (Alias MCP)',
|
|
2304
2344
|
name: 'Media_ALT',
|
|
2305
2345
|
type: 'string',
|
|
2306
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta'] } },
|
|
2346
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'uploadMedia'] } },
|
|
2307
2347
|
default: '',
|
|
2308
2348
|
required: false,
|
|
2309
2349
|
description: 'Alias para tool-calls MCP',
|
|
@@ -2317,6 +2357,15 @@ class OXSRTechnicalUtils {
|
|
|
2317
2357
|
required: false,
|
|
2318
2358
|
description: 'IDs de imágenes separados por coma para eliminar',
|
|
2319
2359
|
},
|
|
2360
|
+
{
|
|
2361
|
+
displayName: 'Media Base64',
|
|
2362
|
+
name: 'mediaBase64',
|
|
2363
|
+
type: 'string',
|
|
2364
|
+
displayOptions: { show: { resource: ['media'], operation: ['uploadMedia'] } },
|
|
2365
|
+
default: '',
|
|
2366
|
+
required: false,
|
|
2367
|
+
description: 'Contenido raw base64 para subir como imagen (ej. data:image/png;base64,ivB...)',
|
|
2368
|
+
},
|
|
2320
2369
|
{
|
|
2321
2370
|
displayName: 'Media URLs CSV',
|
|
2322
2371
|
name: 'mediaUrlsCsv',
|
|
@@ -2330,7 +2379,7 @@ class OXSRTechnicalUtils {
|
|
|
2330
2379
|
displayName: 'Simulate Media',
|
|
2331
2380
|
name: 'mediaSimulate',
|
|
2332
2381
|
type: 'boolean',
|
|
2333
|
-
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia'] } },
|
|
2382
|
+
displayOptions: { show: { resource: ['media'], operation: ['updateMediaMeta', 'deleteMedia', 'uploadMedia'] } },
|
|
2334
2383
|
default: false,
|
|
2335
2384
|
required: false,
|
|
2336
2385
|
description: 'Simula cambios en media sin aplicar escritura/borrado',
|
|
@@ -2594,6 +2643,15 @@ class OXSRTechnicalUtils {
|
|
|
2594
2643
|
],
|
|
2595
2644
|
description: 'Comando de consola permitido por el plugin',
|
|
2596
2645
|
},
|
|
2646
|
+
{
|
|
2647
|
+
displayName: 'WP-CLI Command',
|
|
2648
|
+
name: 'wpCliCommand',
|
|
2649
|
+
type: 'string',
|
|
2650
|
+
displayOptions: { show: { resource: ['server'], operation: ['runWpCli'] } },
|
|
2651
|
+
default: '',
|
|
2652
|
+
required: true,
|
|
2653
|
+
description: 'Comando WP-CLI a ejecutar. No necesitas escribir wp al inicio, por ejemplo: option update plugin_setting 1',
|
|
2654
|
+
},
|
|
2597
2655
|
{
|
|
2598
2656
|
displayName: 'Tail Lines',
|
|
2599
2657
|
name: 'serverTailLines',
|
|
@@ -2759,6 +2817,9 @@ class OXSRTechnicalUtils {
|
|
|
2759
2817
|
else if (resource === 'iaDev') {
|
|
2760
2818
|
json = (await (0, iaDev_1.execute)(context, { siteUrl, apiKey }));
|
|
2761
2819
|
}
|
|
2820
|
+
else if (resource === 'plugins') {
|
|
2821
|
+
json = (await (0, plugins_1.execute)(context, { siteUrl, apiKey }));
|
|
2822
|
+
}
|
|
2762
2823
|
else if (resource === 'seo') {
|
|
2763
2824
|
json = (await (0, seo_1.execute)(context, { siteUrl, apiKey }));
|
|
2764
2825
|
}
|