@appaflytech/wappa-mcp 0.0.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.
Files changed (68) hide show
  1. package/.env.example +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +200 -0
  4. package/dist/auth.d.ts +20 -0
  5. package/dist/auth.d.ts.map +1 -0
  6. package/dist/auth.js +58 -0
  7. package/dist/auth.js.map +1 -0
  8. package/dist/base-components.d.ts +52 -0
  9. package/dist/base-components.d.ts.map +1 -0
  10. package/dist/base-components.js +552 -0
  11. package/dist/base-components.js.map +1 -0
  12. package/dist/client.d.ts +141 -0
  13. package/dist/client.d.ts.map +1 -0
  14. package/dist/client.js +341 -0
  15. package/dist/client.js.map +1 -0
  16. package/dist/index.d.ts +10 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +287 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/tools/components.d.ts +217 -0
  21. package/dist/tools/components.d.ts.map +1 -0
  22. package/dist/tools/components.js +258 -0
  23. package/dist/tools/components.js.map +1 -0
  24. package/dist/tools/dynamic-entities.d.ts +308 -0
  25. package/dist/tools/dynamic-entities.d.ts.map +1 -0
  26. package/dist/tools/dynamic-entities.js +278 -0
  27. package/dist/tools/dynamic-entities.js.map +1 -0
  28. package/dist/tools/entities.d.ts +212 -0
  29. package/dist/tools/entities.d.ts.map +1 -0
  30. package/dist/tools/entities.js +223 -0
  31. package/dist/tools/entities.js.map +1 -0
  32. package/dist/tools/general.d.ts +93 -0
  33. package/dist/tools/general.d.ts.map +1 -0
  34. package/dist/tools/general.js +218 -0
  35. package/dist/tools/general.js.map +1 -0
  36. package/dist/tools/languages.d.ts +157 -0
  37. package/dist/tools/languages.d.ts.map +1 -0
  38. package/dist/tools/languages.js +142 -0
  39. package/dist/tools/languages.js.map +1 -0
  40. package/dist/tools/layouts.d.ts +244 -0
  41. package/dist/tools/layouts.d.ts.map +1 -0
  42. package/dist/tools/layouts.js +218 -0
  43. package/dist/tools/layouts.js.map +1 -0
  44. package/dist/tools/menus.d.ts +154 -0
  45. package/dist/tools/menus.d.ts.map +1 -0
  46. package/dist/tools/menus.js +173 -0
  47. package/dist/tools/menus.js.map +1 -0
  48. package/dist/tools/pages.d.ts +472 -0
  49. package/dist/tools/pages.d.ts.map +1 -0
  50. package/dist/tools/pages.js +465 -0
  51. package/dist/tools/pages.js.map +1 -0
  52. package/dist/tools/queries.d.ts +221 -0
  53. package/dist/tools/queries.d.ts.map +1 -0
  54. package/dist/tools/queries.js +210 -0
  55. package/dist/tools/queries.js.map +1 -0
  56. package/dist/tools/sites.d.ts +187 -0
  57. package/dist/tools/sites.d.ts.map +1 -0
  58. package/dist/tools/sites.js +167 -0
  59. package/dist/tools/sites.js.map +1 -0
  60. package/dist/tools/themes.d.ts +182 -0
  61. package/dist/tools/themes.d.ts.map +1 -0
  62. package/dist/tools/themes.js +175 -0
  63. package/dist/tools/themes.js.map +1 -0
  64. package/dist/tools/widgets.d.ts +216 -0
  65. package/dist/tools/widgets.d.ts.map +1 -0
  66. package/dist/tools/widgets.js +182 -0
  67. package/dist/tools/widgets.js.map +1 -0
  68. package/package.json +50 -0
@@ -0,0 +1,216 @@
1
+ /**
2
+ * MCP Tools for WAP Widget CRUD operations
3
+ * Widgets = standalone mini-apps with their own schema, refs, and component definition.
4
+ * They are different from Components: widgets have their own data schema and can be
5
+ * used as embedded "apps" within pages (booking forms, galleries, etc.)
6
+ */
7
+ import { WapClient } from "../client.js";
8
+ export declare function getWidgetTools(client: WapClient): {
9
+ list_widgets: {
10
+ description: string;
11
+ inputSchema: {
12
+ type: "object";
13
+ properties: {
14
+ name: {
15
+ type: string;
16
+ description: string;
17
+ };
18
+ title: {
19
+ type: string;
20
+ description: string;
21
+ };
22
+ status: {
23
+ type: string;
24
+ description: string;
25
+ enum: string[];
26
+ };
27
+ isMobile: {
28
+ type: string;
29
+ description: string;
30
+ };
31
+ pageIndex: {
32
+ type: string;
33
+ description: string;
34
+ };
35
+ pageLength: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ };
40
+ };
41
+ handler: (args: {
42
+ name?: string;
43
+ title?: string;
44
+ status?: string;
45
+ isMobile?: boolean;
46
+ pageIndex?: number;
47
+ pageLength?: number;
48
+ }) => Promise<{
49
+ content: {
50
+ type: "text";
51
+ text: string;
52
+ }[];
53
+ }>;
54
+ };
55
+ get_widget: {
56
+ description: string;
57
+ inputSchema: {
58
+ type: "object";
59
+ properties: {
60
+ id: {
61
+ type: string;
62
+ description: string;
63
+ };
64
+ };
65
+ required: string[];
66
+ };
67
+ handler: (args: {
68
+ id: string;
69
+ }) => Promise<{
70
+ content: {
71
+ type: "text";
72
+ text: string;
73
+ }[];
74
+ }>;
75
+ };
76
+ create_widget: {
77
+ description: string;
78
+ inputSchema: {
79
+ type: "object";
80
+ properties: {
81
+ name: {
82
+ type: string;
83
+ description: string;
84
+ };
85
+ title: {
86
+ type: string;
87
+ description: string;
88
+ };
89
+ description: {
90
+ type: string;
91
+ description: string;
92
+ };
93
+ icon: {
94
+ type: string;
95
+ description: string;
96
+ };
97
+ definition: {
98
+ type: string;
99
+ description: string;
100
+ };
101
+ schema: {
102
+ type: string;
103
+ description: string;
104
+ };
105
+ refs: {
106
+ type: string;
107
+ description: string;
108
+ };
109
+ isMobile: {
110
+ type: string;
111
+ description: string;
112
+ };
113
+ accessType: {
114
+ type: string;
115
+ description: string;
116
+ };
117
+ selectedSiteIds: {
118
+ type: string;
119
+ description: string;
120
+ };
121
+ };
122
+ required: string[];
123
+ };
124
+ handler: (args: Record<string, unknown>) => Promise<{
125
+ content: {
126
+ type: "text";
127
+ text: string;
128
+ }[];
129
+ }>;
130
+ };
131
+ update_widget: {
132
+ description: string;
133
+ inputSchema: {
134
+ type: "object";
135
+ properties: {
136
+ id: {
137
+ type: string;
138
+ description: string;
139
+ };
140
+ name: {
141
+ type: string;
142
+ description: string;
143
+ };
144
+ title: {
145
+ type: string;
146
+ description: string;
147
+ };
148
+ description: {
149
+ type: string;
150
+ description: string;
151
+ };
152
+ definition: {
153
+ type: string;
154
+ description: string;
155
+ };
156
+ schema: {
157
+ type: string;
158
+ description: string;
159
+ };
160
+ refs: {
161
+ type: string;
162
+ description: string;
163
+ };
164
+ isMobile: {
165
+ type: string;
166
+ description: string;
167
+ };
168
+ forceUpdate: {
169
+ type: string;
170
+ description: string;
171
+ };
172
+ accessType: {
173
+ type: string;
174
+ description: string;
175
+ };
176
+ selectedSiteIds: {
177
+ type: string;
178
+ description: string;
179
+ };
180
+ status: {
181
+ type: string;
182
+ description: string;
183
+ };
184
+ };
185
+ required: string[];
186
+ };
187
+ handler: (args: Record<string, unknown>) => Promise<{
188
+ content: {
189
+ type: "text";
190
+ text: string;
191
+ }[];
192
+ }>;
193
+ };
194
+ delete_widget: {
195
+ description: string;
196
+ inputSchema: {
197
+ type: "object";
198
+ properties: {
199
+ id: {
200
+ type: string;
201
+ description: string;
202
+ };
203
+ };
204
+ required: string[];
205
+ };
206
+ handler: (args: {
207
+ id: string;
208
+ }) => Promise<{
209
+ content: {
210
+ type: "text";
211
+ text: string;
212
+ }[];
213
+ }>;
214
+ };
215
+ };
216
+ //# sourceMappingURL=widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2BpB;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB;;;;;;;;;;;;;;;;;;;wBA+BqB;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqDd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqCvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;wBAyBvB;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;EAUzC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * MCP Tools for WAP Widget CRUD operations
3
+ * Widgets = standalone mini-apps with their own schema, refs, and component definition.
4
+ * They are different from Components: widgets have their own data schema and can be
5
+ * used as embedded "apps" within pages (booking forms, galleries, etc.)
6
+ */
7
+ export function getWidgetTools(client) {
8
+ return {
9
+ // ─── List Widgets ─────────────────────────────────────
10
+ list_widgets: {
11
+ description: "WAP widget tanımlarını listeler. Widget'lar sayfalara eklenebilen mini-uygulama bileşenleridir.",
12
+ inputSchema: {
13
+ type: "object",
14
+ properties: {
15
+ name: { type: "string", description: "Widget adı ile filtrele" },
16
+ title: { type: "string", description: "Başlık ile filtrele" },
17
+ status: {
18
+ type: "string",
19
+ description: "Durum: Published | Draft",
20
+ enum: ["Published", "Draft"],
21
+ },
22
+ isMobile: {
23
+ type: "boolean",
24
+ description: "Sadece mobil widget'ları göster",
25
+ },
26
+ pageIndex: {
27
+ type: "number",
28
+ description: "Sayfa numarası (0-based)",
29
+ },
30
+ pageLength: { type: "number", description: "Sayfa boyutu" },
31
+ },
32
+ },
33
+ handler: async (args) => {
34
+ const params = {};
35
+ if (args.name)
36
+ params.name = args.name;
37
+ if (args.title)
38
+ params.title = args.title;
39
+ if (args.status)
40
+ params.status = args.status;
41
+ if (args.isMobile !== undefined)
42
+ params.isMobile = String(args.isMobile);
43
+ if (args.pageIndex !== undefined)
44
+ params.pageIndex = String(args.pageIndex);
45
+ if (args.pageLength !== undefined)
46
+ params.pageLength = String(args.pageLength);
47
+ const result = await client.getWapWidgets(params);
48
+ return {
49
+ content: [
50
+ { type: "text", text: JSON.stringify(result, null, 2) },
51
+ ],
52
+ };
53
+ },
54
+ },
55
+ // ─── Get Widget ───────────────────────────────────────
56
+ get_widget: {
57
+ description: "Belirli bir widget'ın tüm detaylarını getirir (definition, schema, refs dahil).",
58
+ inputSchema: {
59
+ type: "object",
60
+ properties: {
61
+ id: { type: "string", description: "Widget ID (GUID)" },
62
+ },
63
+ required: ["id"],
64
+ },
65
+ handler: async (args) => {
66
+ const result = await client.getWapWidget(args.id);
67
+ return {
68
+ content: [
69
+ { type: "text", text: JSON.stringify(result, null, 2) },
70
+ ],
71
+ };
72
+ },
73
+ },
74
+ // ─── Create Widget ────────────────────────────────────
75
+ create_widget: {
76
+ description: `Yeni bir WAP widget oluşturur.
77
+ 'definition': Widget'ın component tanımı (Component definition JSON — component schema ile aynı yapı).
78
+ 'schema': Widget'ın veri şeması (iç içerik yapısı için, opsiyonel).
79
+ 'refs': Schema'da kullanılan component referansları: [{ key: string, componentId: GUID }].
80
+ 'isMobile': Sadece mobil uygulamada kullanılacak mı?`,
81
+ inputSchema: {
82
+ type: "object",
83
+ properties: {
84
+ name: {
85
+ type: "string",
86
+ description: 'Widget benzersiz adı (kebab-case, örn: "booking-form")',
87
+ },
88
+ title: { type: "string", description: "Widget başlığı" },
89
+ description: { type: "string", description: "Widget açıklaması" },
90
+ icon: { type: "string", description: "Ikon adı" },
91
+ definition: {
92
+ type: "object",
93
+ description: "Component tanımı (component schema ile aynı yapı)",
94
+ },
95
+ schema: {
96
+ type: "object",
97
+ description: "Widget iç içerik şeması (opsiyonel)",
98
+ },
99
+ refs: {
100
+ type: "array",
101
+ description: "Component referansları: [{ key: string, componentId: GUID }]",
102
+ },
103
+ isMobile: { type: "boolean", description: "Sadece mobil mi?" },
104
+ accessType: {
105
+ type: "number",
106
+ description: "Erişim tipi: 0=public, 1=private",
107
+ },
108
+ selectedSiteIds: {
109
+ type: "array",
110
+ description: "Erişilebilecek site ID'leri",
111
+ },
112
+ },
113
+ required: ["name", "title"],
114
+ },
115
+ handler: async (args) => {
116
+ const result = await client.createWapWidget(args);
117
+ return {
118
+ content: [
119
+ { type: "text", text: JSON.stringify(result, null, 2) },
120
+ ],
121
+ };
122
+ },
123
+ },
124
+ // ─── Update Widget ────────────────────────────────────
125
+ update_widget: {
126
+ description: "Mevcut bir WAP widget'ı günceller.",
127
+ inputSchema: {
128
+ type: "object",
129
+ properties: {
130
+ id: { type: "string", description: "Güncellenecek widget ID" },
131
+ name: { type: "string", description: "Widget adı" },
132
+ title: { type: "string", description: "Başlık" },
133
+ description: { type: "string", description: "Açıklama" },
134
+ definition: {
135
+ type: "object",
136
+ description: "Güncellenmiş component tanımı",
137
+ },
138
+ schema: { type: "object", description: "Güncellenmiş veri şeması" },
139
+ refs: { type: "array", description: "Güncellenmiş referanslar" },
140
+ isMobile: { type: "boolean", description: "Sadece mobil mi?" },
141
+ forceUpdate: {
142
+ type: "boolean",
143
+ description: "Bu widget'ı kullanan tüm sayfalar güncellensin mi?",
144
+ },
145
+ accessType: { type: "number", description: "Erişim tipi" },
146
+ selectedSiteIds: { type: "array", description: "Site ID'leri" },
147
+ status: { type: "string", description: "Durum: Published | Draft" },
148
+ },
149
+ required: ["id"],
150
+ },
151
+ handler: async (args) => {
152
+ const { id, ...data } = args;
153
+ const result = await client.updateWapWidget(id, data);
154
+ return {
155
+ content: [
156
+ { type: "text", text: JSON.stringify(result, null, 2) },
157
+ ],
158
+ };
159
+ },
160
+ },
161
+ // ─── Delete Widget ────────────────────────────────────
162
+ delete_widget: {
163
+ description: "Bir widget'ı siler. Bu widget'ı kullanan sayfalar etkilenebilir.",
164
+ inputSchema: {
165
+ type: "object",
166
+ properties: {
167
+ id: { type: "string", description: "Silinecek widget ID" },
168
+ },
169
+ required: ["id"],
170
+ },
171
+ handler: async (args) => {
172
+ const result = await client.deleteWapWidget(args.id);
173
+ return {
174
+ content: [
175
+ { type: "text", text: JSON.stringify(result, null, 2) },
176
+ ],
177
+ };
178
+ },
179
+ },
180
+ };
181
+ }
182
+ //# sourceMappingURL=widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/tools/widgets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC9C,OAAO;QACL,yDAAyD;QACzD,YAAY,EAAE;YACZ,WAAW,EACT,iGAAiG;YACnG,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAC7D,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0BAA0B;wBACvC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;qBAC7B;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,iCAAiC;qBAC/C;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0BAA0B;qBACxC;oBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;iBAC5D;aACF;YACD,OAAO,EAAE,KAAK,EAAE,IAOf,EAAE,EAAE;gBACH,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;oBAC7B,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;oBAC9B,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAC/B,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;SACF;QAED,yDAAyD;QACzD,UAAU,EAAE;YACV,WAAW,EACT,iFAAiF;YACnF,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;iBACxD;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE;gBACtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;SACF;QAED,yDAAyD;QACzD,aAAa,EAAE;YACb,WAAW,EAAE;;;;qDAIkC;YAC/C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,wDAAwD;qBAC3D;oBACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;oBACxD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;oBACjE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACjD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mDAAmD;qBACjE;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qCAAqC;qBACnD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,WAAW,EACT,8DAA8D;qBACjE;oBACD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC9D,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kCAAkC;qBAChD;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,6BAA6B;qBAC3C;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aAC5B;YACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;SACF;QAED,yDAAyD;QACzD,aAAa,EAAE;YACb,WAAW,EAAE,oCAAoC;YACjD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAC9D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;oBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;oBAChD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;oBACxD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+BAA+B;qBAC7C;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBACnE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBAC9D,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oDAAoD;qBAClE;oBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;oBAC1D,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;oBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;iBACpE;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;gBAC/C,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAGvB,CAAC;gBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;SACF;QAED,yDAAyD;QACzD,aAAa,EAAE;YACb,WAAW,EACT,kEAAkE;YACpE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAC3D;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;YACD,OAAO,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE;gBACtC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;qBACjE;iBACF,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@appaflytech/wappa-mcp",
3
+ "version": "0.0.1",
4
+ "description": "MCP Server for WAPPA (Content Management System & Web Site Tools) Admin API — Claude Code integration for component, page, widget, and site management",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "wappa-mcp": "dist/index.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "README.md",
14
+ ".env.example"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "dev": "tsc --watch",
19
+ "start": "node dist/index.js",
20
+ "prepare": "npm run build"
21
+ },
22
+ "keywords": [
23
+ "mcp",
24
+ "model-context-protocol",
25
+ "claude",
26
+ "claude-code",
27
+ "wappa",
28
+ "cms",
29
+ "admin-api"
30
+ ],
31
+ "author": "appaflytech",
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/appaflytech/wappa-mcp.git"
36
+ },
37
+ "homepage": "https://github.com/appaflytech/wappa-mcp#readme",
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
41
+ "dependencies": {
42
+ "@modelcontextprotocol/sdk": "^1.12.1",
43
+ "dotenv": "^17.4.2",
44
+ "zod": "^4.3.6"
45
+ },
46
+ "devDependencies": {
47
+ "@types/node": "^22.19.17",
48
+ "typescript": "^5.7.0"
49
+ }
50
+ }