@sn4p.dev/mucv 0.5.0

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.
Files changed (110) hide show
  1. package/README.md +126 -0
  2. package/dist/core/elementor-parser.d.ts +22 -0
  3. package/dist/core/elementor-parser.d.ts.map +1 -0
  4. package/dist/core/elementor-parser.js +186 -0
  5. package/dist/core/elementor-parser.js.map +1 -0
  6. package/dist/core/html-parser.d.ts +27 -0
  7. package/dist/core/html-parser.d.ts.map +1 -0
  8. package/dist/core/html-parser.js +247 -0
  9. package/dist/core/html-parser.js.map +1 -0
  10. package/dist/core/jsx-parser.d.ts +22 -0
  11. package/dist/core/jsx-parser.d.ts.map +1 -0
  12. package/dist/core/jsx-parser.js +261 -0
  13. package/dist/core/jsx-parser.js.map +1 -0
  14. package/dist/core/mapper.d.ts +52 -0
  15. package/dist/core/mapper.d.ts.map +1 -0
  16. package/dist/core/mapper.js +141 -0
  17. package/dist/core/mapper.js.map +1 -0
  18. package/dist/core/normalizer.d.ts +57 -0
  19. package/dist/core/normalizer.d.ts.map +1 -0
  20. package/dist/core/normalizer.js +285 -0
  21. package/dist/core/normalizer.js.map +1 -0
  22. package/dist/core/optimizer.d.ts +21 -0
  23. package/dist/core/optimizer.d.ts.map +1 -0
  24. package/dist/core/optimizer.js +75 -0
  25. package/dist/core/optimizer.js.map +1 -0
  26. package/dist/core/parse-result.d.ts +10 -0
  27. package/dist/core/parse-result.d.ts.map +1 -0
  28. package/dist/core/parse-result.js +6 -0
  29. package/dist/core/parse-result.js.map +1 -0
  30. package/dist/core/vir.d.ts +136 -0
  31. package/dist/core/vir.d.ts.map +1 -0
  32. package/dist/core/vir.js +9 -0
  33. package/dist/core/vir.js.map +1 -0
  34. package/dist/generators/style-serializer.d.ts +25 -0
  35. package/dist/generators/style-serializer.d.ts.map +1 -0
  36. package/dist/generators/style-serializer.js +129 -0
  37. package/dist/generators/style-serializer.js.map +1 -0
  38. package/dist/generators/to-elementor.d.ts +13 -0
  39. package/dist/generators/to-elementor.d.ts.map +1 -0
  40. package/dist/generators/to-elementor.js +150 -0
  41. package/dist/generators/to-elementor.js.map +1 -0
  42. package/dist/generators/to-html-css.d.ts +22 -0
  43. package/dist/generators/to-html-css.d.ts.map +1 -0
  44. package/dist/generators/to-html-css.js +127 -0
  45. package/dist/generators/to-html-css.js.map +1 -0
  46. package/dist/generators/to-react.d.ts +22 -0
  47. package/dist/generators/to-react.d.ts.map +1 -0
  48. package/dist/generators/to-react.js +123 -0
  49. package/dist/generators/to-react.js.map +1 -0
  50. package/dist/generators/to-svelte.d.ts +15 -0
  51. package/dist/generators/to-svelte.d.ts.map +1 -0
  52. package/dist/generators/to-svelte.js +105 -0
  53. package/dist/generators/to-svelte.js.map +1 -0
  54. package/dist/generators/to-vue.d.ts +17 -0
  55. package/dist/generators/to-vue.d.ts.map +1 -0
  56. package/dist/generators/to-vue.js +108 -0
  57. package/dist/generators/to-vue.js.map +1 -0
  58. package/dist/index.d.ts +8 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +228 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/schemas/input.schema.d.ts +245 -0
  63. package/dist/schemas/input.schema.d.ts.map +1 -0
  64. package/dist/schemas/input.schema.js +66 -0
  65. package/dist/schemas/input.schema.js.map +1 -0
  66. package/dist/schemas/vir.schema.d.ts +1786 -0
  67. package/dist/schemas/vir.schema.d.ts.map +1 -0
  68. package/dist/schemas/vir.schema.js +201 -0
  69. package/dist/schemas/vir.schema.js.map +1 -0
  70. package/dist/tools/convert-design.d.ts +40 -0
  71. package/dist/tools/convert-design.d.ts.map +1 -0
  72. package/dist/tools/convert-design.js +106 -0
  73. package/dist/tools/convert-design.js.map +1 -0
  74. package/dist/tools/validate-vir.d.ts +18 -0
  75. package/dist/tools/validate-vir.d.ts.map +1 -0
  76. package/dist/tools/validate-vir.js +32 -0
  77. package/dist/tools/validate-vir.js.map +1 -0
  78. package/dist/tools/wp-connector.d.ts +55 -0
  79. package/dist/tools/wp-connector.d.ts.map +1 -0
  80. package/dist/tools/wp-connector.js +146 -0
  81. package/dist/tools/wp-connector.js.map +1 -0
  82. package/dist/tools/wp-tools.d.ts +51 -0
  83. package/dist/tools/wp-tools.d.ts.map +1 -0
  84. package/dist/tools/wp-tools.js +126 -0
  85. package/dist/tools/wp-tools.js.map +1 -0
  86. package/dist/utils/errors.d.ts +35 -0
  87. package/dist/utils/errors.d.ts.map +1 -0
  88. package/dist/utils/errors.js +67 -0
  89. package/dist/utils/errors.js.map +1 -0
  90. package/dist/utils/id-generator.d.ts +27 -0
  91. package/dist/utils/id-generator.d.ts.map +1 -0
  92. package/dist/utils/id-generator.js +43 -0
  93. package/dist/utils/id-generator.js.map +1 -0
  94. package/dist/utils/logger.d.ts +8 -0
  95. package/dist/utils/logger.d.ts.map +1 -0
  96. package/dist/utils/logger.js +19 -0
  97. package/dist/utils/logger.js.map +1 -0
  98. package/dist/utils/metrics.d.ts +30 -0
  99. package/dist/utils/metrics.d.ts.map +1 -0
  100. package/dist/utils/metrics.js +50 -0
  101. package/dist/utils/metrics.js.map +1 -0
  102. package/dist/utils/rate-limiter.d.ts +25 -0
  103. package/dist/utils/rate-limiter.d.ts.map +1 -0
  104. package/dist/utils/rate-limiter.js +41 -0
  105. package/dist/utils/rate-limiter.js.map +1 -0
  106. package/dist/utils/url-validator.d.ts +14 -0
  107. package/dist/utils/url-validator.d.ts.map +1 -0
  108. package/dist/utils/url-validator.js +37 -0
  109. package/dist/utils/url-validator.js.map +1 -0
  110. package/package.json +73 -0
@@ -0,0 +1,245 @@
1
+ /**
2
+ * MUCV — Schemas Zod de inputs de herramientas MCP
3
+ * Validan los argumentos recibidos antes de procesarlos.
4
+ *
5
+ * @see docs/API-REFERENCE.md
6
+ */
7
+ import { z } from 'zod';
8
+ export declare const INPUT_LIMITS: {
9
+ readonly MAX_CONTENT_SIZE: 5242880;
10
+ readonly MAX_TITLE_LENGTH: 500;
11
+ readonly MAX_SEARCH_LENGTH: 200;
12
+ };
13
+ export declare const SourceTypeInputSchema: z.ZodEnum<["elementor", "html", "react"]>;
14
+ export declare const TargetTypeInputSchema: z.ZodEnum<["elementor", "html", "react", "vue", "svelte"]>;
15
+ export declare const PostTypeSchema: z.ZodEnum<["page", "post", "elementor-library"]>;
16
+ export declare const ConvertDesignOptionsSchema: z.ZodObject<{
17
+ optimize: z.ZodDefault<z.ZodBoolean>;
18
+ cssNaming: z.ZodDefault<z.ZodEnum<["bem", "utility"]>>;
19
+ includeVIR: z.ZodDefault<z.ZodBoolean>;
20
+ preserveMeta: z.ZodDefault<z.ZodBoolean>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ optimize: boolean;
23
+ cssNaming: "bem" | "utility";
24
+ includeVIR: boolean;
25
+ preserveMeta: boolean;
26
+ }, {
27
+ optimize?: boolean | undefined;
28
+ cssNaming?: "bem" | "utility" | undefined;
29
+ includeVIR?: boolean | undefined;
30
+ preserveMeta?: boolean | undefined;
31
+ }>;
32
+ export declare const ConvertDesignInputSchema: z.ZodObject<{
33
+ sourceType: z.ZodEnum<["elementor", "html", "react"]>;
34
+ targetType: z.ZodEnum<["elementor", "html", "react", "vue", "svelte"]>;
35
+ content: z.ZodString;
36
+ options: z.ZodOptional<z.ZodObject<{
37
+ optimize: z.ZodDefault<z.ZodBoolean>;
38
+ cssNaming: z.ZodDefault<z.ZodEnum<["bem", "utility"]>>;
39
+ includeVIR: z.ZodDefault<z.ZodBoolean>;
40
+ preserveMeta: z.ZodDefault<z.ZodBoolean>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ optimize: boolean;
43
+ cssNaming: "bem" | "utility";
44
+ includeVIR: boolean;
45
+ preserveMeta: boolean;
46
+ }, {
47
+ optimize?: boolean | undefined;
48
+ cssNaming?: "bem" | "utility" | undefined;
49
+ includeVIR?: boolean | undefined;
50
+ preserveMeta?: boolean | undefined;
51
+ }>>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ sourceType: "elementor" | "html" | "react";
54
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
55
+ content: string;
56
+ options?: {
57
+ optimize: boolean;
58
+ cssNaming: "bem" | "utility";
59
+ includeVIR: boolean;
60
+ preserveMeta: boolean;
61
+ } | undefined;
62
+ }, {
63
+ sourceType: "elementor" | "html" | "react";
64
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
65
+ content: string;
66
+ options?: {
67
+ optimize?: boolean | undefined;
68
+ cssNaming?: "bem" | "utility" | undefined;
69
+ includeVIR?: boolean | undefined;
70
+ preserveMeta?: boolean | undefined;
71
+ } | undefined;
72
+ }>;
73
+ export type ConvertDesignInput = z.infer<typeof ConvertDesignInputSchema>;
74
+ export type ConvertDesignOptions = z.infer<typeof ConvertDesignOptionsSchema>;
75
+ export declare const GetPageDesignInputSchema: z.ZodObject<{
76
+ pageId: z.ZodNumber;
77
+ postType: z.ZodDefault<z.ZodEnum<["page", "post", "elementor-library"]>>;
78
+ targetType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["elementor", "html", "react", "vue", "svelte"]>>>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
81
+ pageId: number;
82
+ postType: "page" | "post" | "elementor-library";
83
+ }, {
84
+ pageId: number;
85
+ targetType?: "elementor" | "html" | "react" | "vue" | "svelte" | undefined;
86
+ postType?: "page" | "post" | "elementor-library" | undefined;
87
+ }>;
88
+ export type GetPageDesignInput = z.infer<typeof GetPageDesignInputSchema>;
89
+ export declare const PublishDesignInputSchema: z.ZodObject<{
90
+ content: z.ZodString;
91
+ sourceType: z.ZodEnum<["elementor", "html", "react"]>;
92
+ postType: z.ZodDefault<z.ZodEnum<["page", "post"]>>;
93
+ pageId: z.ZodOptional<z.ZodNumber>;
94
+ title: z.ZodOptional<z.ZodString>;
95
+ status: z.ZodDefault<z.ZodEnum<["publish", "draft", "private"]>>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ status: "publish" | "draft" | "private";
98
+ sourceType: "elementor" | "html" | "react";
99
+ content: string;
100
+ postType: "page" | "post";
101
+ pageId?: number | undefined;
102
+ title?: string | undefined;
103
+ }, {
104
+ sourceType: "elementor" | "html" | "react";
105
+ content: string;
106
+ status?: "publish" | "draft" | "private" | undefined;
107
+ pageId?: number | undefined;
108
+ postType?: "page" | "post" | undefined;
109
+ title?: string | undefined;
110
+ }>;
111
+ export type PublishDesignInput = z.infer<typeof PublishDesignInputSchema>;
112
+ export declare const ListPagesInputSchema: z.ZodObject<{
113
+ postType: z.ZodDefault<z.ZodEnum<["page", "post", "elementor-library"]>>;
114
+ limit: z.ZodDefault<z.ZodNumber>;
115
+ offset: z.ZodDefault<z.ZodNumber>;
116
+ status: z.ZodDefault<z.ZodEnum<["publish", "draft", "private", "any"]>>;
117
+ search: z.ZodOptional<z.ZodString>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ status: "publish" | "draft" | "private" | "any";
120
+ postType: "page" | "post" | "elementor-library";
121
+ limit: number;
122
+ offset: number;
123
+ search?: string | undefined;
124
+ }, {
125
+ status?: "publish" | "draft" | "private" | "any" | undefined;
126
+ postType?: "page" | "post" | "elementor-library" | undefined;
127
+ limit?: number | undefined;
128
+ offset?: number | undefined;
129
+ search?: string | undefined;
130
+ }>;
131
+ export type ListPagesInput = z.infer<typeof ListPagesInputSchema>;
132
+ export declare const ValidateVIRInputSchema: z.ZodObject<{
133
+ vir: z.ZodRecord<z.ZodString, z.ZodUnknown>;
134
+ }, "strip", z.ZodTypeAny, {
135
+ vir: Record<string, unknown>;
136
+ }, {
137
+ vir: Record<string, unknown>;
138
+ }>;
139
+ export type ValidateVIRInput = z.infer<typeof ValidateVIRInputSchema>;
140
+ export declare const MCPToolInputSchemas: {
141
+ readonly convert_design: z.ZodObject<{
142
+ sourceType: z.ZodEnum<["elementor", "html", "react"]>;
143
+ targetType: z.ZodEnum<["elementor", "html", "react", "vue", "svelte"]>;
144
+ content: z.ZodString;
145
+ options: z.ZodOptional<z.ZodObject<{
146
+ optimize: z.ZodDefault<z.ZodBoolean>;
147
+ cssNaming: z.ZodDefault<z.ZodEnum<["bem", "utility"]>>;
148
+ includeVIR: z.ZodDefault<z.ZodBoolean>;
149
+ preserveMeta: z.ZodDefault<z.ZodBoolean>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ optimize: boolean;
152
+ cssNaming: "bem" | "utility";
153
+ includeVIR: boolean;
154
+ preserveMeta: boolean;
155
+ }, {
156
+ optimize?: boolean | undefined;
157
+ cssNaming?: "bem" | "utility" | undefined;
158
+ includeVIR?: boolean | undefined;
159
+ preserveMeta?: boolean | undefined;
160
+ }>>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ sourceType: "elementor" | "html" | "react";
163
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
164
+ content: string;
165
+ options?: {
166
+ optimize: boolean;
167
+ cssNaming: "bem" | "utility";
168
+ includeVIR: boolean;
169
+ preserveMeta: boolean;
170
+ } | undefined;
171
+ }, {
172
+ sourceType: "elementor" | "html" | "react";
173
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
174
+ content: string;
175
+ options?: {
176
+ optimize?: boolean | undefined;
177
+ cssNaming?: "bem" | "utility" | undefined;
178
+ includeVIR?: boolean | undefined;
179
+ preserveMeta?: boolean | undefined;
180
+ } | undefined;
181
+ }>;
182
+ readonly get_page_design: z.ZodObject<{
183
+ pageId: z.ZodNumber;
184
+ postType: z.ZodDefault<z.ZodEnum<["page", "post", "elementor-library"]>>;
185
+ targetType: z.ZodDefault<z.ZodOptional<z.ZodEnum<["elementor", "html", "react", "vue", "svelte"]>>>;
186
+ }, "strip", z.ZodTypeAny, {
187
+ targetType: "elementor" | "html" | "react" | "vue" | "svelte";
188
+ pageId: number;
189
+ postType: "page" | "post" | "elementor-library";
190
+ }, {
191
+ pageId: number;
192
+ targetType?: "elementor" | "html" | "react" | "vue" | "svelte" | undefined;
193
+ postType?: "page" | "post" | "elementor-library" | undefined;
194
+ }>;
195
+ readonly publish_design: z.ZodObject<{
196
+ content: z.ZodString;
197
+ sourceType: z.ZodEnum<["elementor", "html", "react"]>;
198
+ postType: z.ZodDefault<z.ZodEnum<["page", "post"]>>;
199
+ pageId: z.ZodOptional<z.ZodNumber>;
200
+ title: z.ZodOptional<z.ZodString>;
201
+ status: z.ZodDefault<z.ZodEnum<["publish", "draft", "private"]>>;
202
+ }, "strip", z.ZodTypeAny, {
203
+ status: "publish" | "draft" | "private";
204
+ sourceType: "elementor" | "html" | "react";
205
+ content: string;
206
+ postType: "page" | "post";
207
+ pageId?: number | undefined;
208
+ title?: string | undefined;
209
+ }, {
210
+ sourceType: "elementor" | "html" | "react";
211
+ content: string;
212
+ status?: "publish" | "draft" | "private" | undefined;
213
+ pageId?: number | undefined;
214
+ postType?: "page" | "post" | undefined;
215
+ title?: string | undefined;
216
+ }>;
217
+ readonly list_pages: z.ZodObject<{
218
+ postType: z.ZodDefault<z.ZodEnum<["page", "post", "elementor-library"]>>;
219
+ limit: z.ZodDefault<z.ZodNumber>;
220
+ offset: z.ZodDefault<z.ZodNumber>;
221
+ status: z.ZodDefault<z.ZodEnum<["publish", "draft", "private", "any"]>>;
222
+ search: z.ZodOptional<z.ZodString>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ status: "publish" | "draft" | "private" | "any";
225
+ postType: "page" | "post" | "elementor-library";
226
+ limit: number;
227
+ offset: number;
228
+ search?: string | undefined;
229
+ }, {
230
+ status?: "publish" | "draft" | "private" | "any" | undefined;
231
+ postType?: "page" | "post" | "elementor-library" | undefined;
232
+ limit?: number | undefined;
233
+ offset?: number | undefined;
234
+ search?: string | undefined;
235
+ }>;
236
+ readonly validate_vir: z.ZodObject<{
237
+ vir: z.ZodRecord<z.ZodString, z.ZodUnknown>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ vir: Record<string, unknown>;
240
+ }, {
241
+ vir: Record<string, unknown>;
242
+ }>;
243
+ };
244
+ export type MCPToolName = keyof typeof MCPToolInputSchemas;
245
+ //# sourceMappingURL=input.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/input.schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,YAAY;;;;CAIf,CAAA;AAIV,eAAO,MAAM,qBAAqB,2CAAyC,CAAA;AAC3E,eAAO,MAAM,qBAAqB,4DAA0D,CAAA;AAC5F,eAAO,MAAM,cAAc,kDAAgD,CAAA;AAI3E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAKrC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAI7E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAIzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAIzE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAIjE,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAIrE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMtB,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,mBAAmB,CAAA"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * MUCV — Schemas Zod de inputs de herramientas MCP
3
+ * Validan los argumentos recibidos antes de procesarlos.
4
+ *
5
+ * @see docs/API-REFERENCE.md
6
+ */
7
+ import { z } from 'zod';
8
+ // ─── Límites de input ─────────────────────────────────────────────────────────
9
+ export const INPUT_LIMITS = {
10
+ MAX_CONTENT_SIZE: 5_242_880, // 5MB
11
+ MAX_TITLE_LENGTH: 500,
12
+ MAX_SEARCH_LENGTH: 200,
13
+ };
14
+ // ─── Tipos compartidos ────────────────────────────────────────────────────────
15
+ export const SourceTypeInputSchema = z.enum(['elementor', 'html', 'react']);
16
+ export const TargetTypeInputSchema = z.enum(['elementor', 'html', 'react', 'vue', 'svelte']);
17
+ export const PostTypeSchema = z.enum(['page', 'post', 'elementor-library']);
18
+ // ─── convert_design ──────────────────────────────────────────────────────────
19
+ export const ConvertDesignOptionsSchema = z.object({
20
+ optimize: z.boolean().default(true),
21
+ cssNaming: z.enum(['bem', 'utility']).default('bem'),
22
+ includeVIR: z.boolean().default(false),
23
+ preserveMeta: z.boolean().default(true),
24
+ });
25
+ export const ConvertDesignInputSchema = z.object({
26
+ sourceType: SourceTypeInputSchema,
27
+ targetType: TargetTypeInputSchema,
28
+ content: z.string().min(1, 'content must not be empty').max(INPUT_LIMITS.MAX_CONTENT_SIZE, 'content exceeds maximum size of 5MB'),
29
+ options: ConvertDesignOptionsSchema.optional(),
30
+ });
31
+ // ─── get_page_design ─────────────────────────────────────────────────────────
32
+ export const GetPageDesignInputSchema = z.object({
33
+ pageId: z.number().int().positive('pageId must be a positive integer'),
34
+ postType: PostTypeSchema.default('page'),
35
+ targetType: TargetTypeInputSchema.optional().default('elementor'),
36
+ });
37
+ // ─── publish_design ──────────────────────────────────────────────────────────
38
+ export const PublishDesignInputSchema = z.object({
39
+ content: z.string().min(1, 'content must not be empty').max(INPUT_LIMITS.MAX_CONTENT_SIZE, 'content exceeds maximum size of 5MB'),
40
+ sourceType: SourceTypeInputSchema,
41
+ postType: z.enum(['page', 'post']).default('page'),
42
+ pageId: z.number().int().positive().optional(),
43
+ title: z.string().min(1).max(INPUT_LIMITS.MAX_TITLE_LENGTH, 'title exceeds maximum length of 500 characters').optional(),
44
+ status: z.enum(['publish', 'draft', 'private']).default('draft'),
45
+ });
46
+ // ─── list_pages ──────────────────────────────────────────────────────────────
47
+ export const ListPagesInputSchema = z.object({
48
+ postType: PostTypeSchema.default('page'),
49
+ limit: z.number().int().min(1).max(100).default(20),
50
+ offset: z.number().int().min(0).default(0),
51
+ status: z.enum(['publish', 'draft', 'private', 'any']).default('any'),
52
+ search: z.string().max(INPUT_LIMITS.MAX_SEARCH_LENGTH, 'search exceeds maximum length of 200 characters').optional(),
53
+ });
54
+ // ─── validate_vir ─────────────────────────────────────────────────────────────
55
+ export const ValidateVIRInputSchema = z.object({
56
+ vir: z.record(z.string(), z.unknown()),
57
+ });
58
+ // ─── Unión de todos los inputs ────────────────────────────────────────────────
59
+ export const MCPToolInputSchemas = {
60
+ convert_design: ConvertDesignInputSchema,
61
+ get_page_design: GetPageDesignInputSchema,
62
+ publish_design: PublishDesignInputSchema,
63
+ list_pages: ListPagesInputSchema,
64
+ validate_vir: ValidateVIRInputSchema,
65
+ };
66
+ //# sourceMappingURL=input.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.schema.js","sourceRoot":"","sources":["../../src/schemas/input.schema.ts"],"names":[],"mappings":"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"}