@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,552 @@
1
+ /**
2
+ * Base (built-in) system components for WAP.
3
+ *
4
+ * These components are NOT stored in the backend API — they are hard-coded in
5
+ * the admin UI (elements.ts) and rendered by the web/mobile engine.
6
+ * Keeping them here lets the MCP answer schema questions without an API call,
7
+ * and gives you one place to update their definitions.
8
+ *
9
+ * isMobile: true → available in BOTH web and mobile builders
10
+ * isMobile: false → web builder only
11
+ */
12
+ // ─── Shared prop blocks ───────────────────────────────────────────────────────
13
+ const GLOBAL_PROPS = [
14
+ {
15
+ name: "className",
16
+ type: "text",
17
+ title: "Özel sınıf (className)",
18
+ description: "Bir öğe için bir veya daha fazla sınıf adını belirtir.",
19
+ },
20
+ ];
21
+ const CONTAINER_PROPS = [
22
+ {
23
+ name: "size",
24
+ title: "Boyutlandırma",
25
+ type: "dropdown",
26
+ options: [
27
+ { label: "Full", value: "fluid" },
28
+ { label: "Genişletilmiş", value: "extended" },
29
+ { label: "Daratılmış", value: "wide" },
30
+ { label: "Okuma modu", value: "medium" },
31
+ { label: "Daraltılmış okuma modu", value: "narrow" },
32
+ ],
33
+ },
34
+ ...GLOBAL_PROPS,
35
+ ];
36
+ const COLUMN_OPTION_PROPS = [
37
+ {
38
+ name: "size",
39
+ title: "Boyut ayarları",
40
+ type: "dropdown",
41
+ options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((v) => ({
42
+ label: `${v}/12`,
43
+ value: v,
44
+ })),
45
+ },
46
+ {
47
+ name: "align",
48
+ title: "Hizalandırma ayarları",
49
+ type: "dropdown",
50
+ options: [
51
+ { label: "Start", value: "start" },
52
+ { label: "Center", value: "center" },
53
+ { label: "End", value: "end" },
54
+ ],
55
+ },
56
+ {
57
+ name: "offset",
58
+ title: "Boşluklandırma ayarları",
59
+ type: "dropdown",
60
+ options: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((v) => ({
61
+ label: `${v}/12`,
62
+ value: v,
63
+ })),
64
+ },
65
+ {
66
+ name: "order",
67
+ title: "Sıralama ayarları",
68
+ type: "dropdown",
69
+ options: [
70
+ { label: "En başta gözüksün", value: "first" },
71
+ { label: "En sonda gözüksün", value: "last" },
72
+ ],
73
+ },
74
+ ];
75
+ const COLUMN_PROPS = [
76
+ {
77
+ name: "xl",
78
+ title: "XL ekran ayarları",
79
+ type: "object",
80
+ props: COLUMN_OPTION_PROPS,
81
+ },
82
+ {
83
+ name: "lg",
84
+ title: "LG ekran ayarları",
85
+ type: "object",
86
+ props: COLUMN_OPTION_PROPS,
87
+ },
88
+ {
89
+ name: "md",
90
+ title: "MD ekran ayarları",
91
+ type: "object",
92
+ props: COLUMN_OPTION_PROPS,
93
+ },
94
+ {
95
+ name: "sm",
96
+ title: "SM ekran ayarları",
97
+ type: "object",
98
+ props: COLUMN_OPTION_PROPS,
99
+ },
100
+ {
101
+ name: "xs",
102
+ title: "XS ekran ayarları",
103
+ type: "object",
104
+ props: COLUMN_OPTION_PROPS,
105
+ },
106
+ ...GLOBAL_PROPS,
107
+ ];
108
+ const ROW_BREAKPOINT_PROPS = [
109
+ {
110
+ name: "direction",
111
+ title: "Kapsayıcı tipi",
112
+ type: "dropdown",
113
+ options: [
114
+ { label: "Row", value: "row" },
115
+ { label: "Row reverse", value: "row-reverse" },
116
+ { label: "Column", value: "column" },
117
+ { label: "Column reverse", value: "column-reverse" },
118
+ ],
119
+ },
120
+ {
121
+ name: "align",
122
+ title: "Yukarı - Aşağı Hizalandırma",
123
+ type: "dropdown",
124
+ options: [
125
+ { label: "Start", value: "start" },
126
+ { label: "Center", value: "center" },
127
+ { label: "End", value: "end" },
128
+ { label: "Baseline", value: "baseline" },
129
+ { label: "Stretch", value: "stretch" },
130
+ ],
131
+ },
132
+ {
133
+ name: "justify",
134
+ title: "Soldan - Sağa Hizalandırma",
135
+ type: "dropdown",
136
+ options: [
137
+ { label: "Start", value: "start" },
138
+ { label: "Center", value: "center" },
139
+ { label: "End", value: "end" },
140
+ { label: "Space-around", value: "around" },
141
+ { label: "Space-between", value: "between" },
142
+ { label: "Space-evenly", value: "evenly" },
143
+ ],
144
+ },
145
+ {
146
+ name: "wrap",
147
+ title: "Yayılım ayarları",
148
+ type: "dropdown",
149
+ options: [
150
+ { label: "No wrap", value: "nowrap" },
151
+ { label: "Wrap", value: "wrap" },
152
+ { label: "Wrap reverse", value: "wrap-reverse" },
153
+ ],
154
+ },
155
+ {
156
+ name: "gutter",
157
+ title: "Boşluklandırmalar",
158
+ type: "dropdown",
159
+ options: [
160
+ { label: "Boşluklandırma yok", value: "none" },
161
+ { label: "En küçük boşluklandırma", value: "xs" },
162
+ { label: "Küçük boşluklandırma", value: "sm" },
163
+ { label: "Orta boşluklandırma", value: "md" },
164
+ { label: "Büyük boşluklandırma", value: "lg" },
165
+ { label: "En büyük boşluklandırma", value: "xl" },
166
+ ],
167
+ },
168
+ ];
169
+ const BUTTON_PROPS = [
170
+ { name: "children", title: "Metin", type: "text" },
171
+ { name: "anchor", title: "Link", type: "link" },
172
+ {
173
+ name: "items",
174
+ title: "Items (Array)",
175
+ type: "array",
176
+ props: [
177
+ { name: "title", title: "Item Title", type: "text" },
178
+ { name: "description", title: "Item Description", type: "text" },
179
+ { name: "value", title: "Item Value", type: "number" },
180
+ ],
181
+ },
182
+ {
183
+ name: "appearance",
184
+ title: "Görünüm tipi",
185
+ type: "dropdown",
186
+ options: [
187
+ { label: "Varsayılan", value: "default" },
188
+ { label: "Error", value: "error" },
189
+ { label: "Help", value: "help" },
190
+ { label: "Info", value: "info" },
191
+ { label: "Success", value: "success" },
192
+ { label: "Warning", value: "warning" },
193
+ ],
194
+ },
195
+ {
196
+ name: "kind",
197
+ title: "Görünüm türü",
198
+ type: "dropdown",
199
+ options: [
200
+ { label: "Varsayılan", value: "standard" },
201
+ { label: "Contained", value: "contained" },
202
+ { label: "Text", value: "text" },
203
+ { label: "Outlined", value: "outlined" },
204
+ ],
205
+ },
206
+ {
207
+ name: "shape",
208
+ title: "Kenarlık tipi",
209
+ type: "dropdown",
210
+ options: [
211
+ { label: "Square", value: "square" },
212
+ { label: "Pill", value: "pill" },
213
+ { label: "Circle", value: "circle" },
214
+ { label: "None", value: "none" },
215
+ ],
216
+ },
217
+ ];
218
+ const CARD_PROPS = [
219
+ { name: "title", title: "Başlık", type: "text" },
220
+ { name: "subtitle", title: "Alt Başlık", type: "text" },
221
+ { name: "children", title: "Kısa açıklama", type: "long-text" },
222
+ { name: "image", title: "Görsel", type: "image" },
223
+ { name: "anchor", title: "Link", type: "link" },
224
+ ];
225
+ // ─── Base Component Registry ──────────────────────────────────────────────────
226
+ export const BASE_COMPONENTS = [
227
+ // ── Kapsayıcılar (Wrappers) ─────────────────────────────
228
+ {
229
+ id: "container",
230
+ name: "container",
231
+ title: "Container",
232
+ description: "Sayfa içeriğini belirli bir genişlikte ortalayan kapsayıcı.",
233
+ type: "wrapper",
234
+ droppable: true,
235
+ icon: "archive",
236
+ isMobile: false,
237
+ definition: {
238
+ props: CONTAINER_PROPS,
239
+ },
240
+ },
241
+ {
242
+ id: "array-repeater",
243
+ name: "array-repeater",
244
+ title: "Dinamik Liste",
245
+ description: "Bir sorgu veya vitrin sonucundaki her satır için içerik şablonunu tekrarlar. İçine eklediğiniz her bileşen query satır verilerine bağlanabilir.",
246
+ type: "wrapper",
247
+ droppable: true,
248
+ icon: "list",
249
+ isMobile: true,
250
+ definition: {
251
+ props: [
252
+ {
253
+ name: "repeater",
254
+ title: "Veri Kaynağı (Tekrarlayıcı)",
255
+ type: "text",
256
+ description: "Hangi sorgunun sonuçlarının tekrarlanacağını belirler. Mapping butonundan Sorgu seçip sütun adlarını soyut adlara bağlayın.",
257
+ },
258
+ ...GLOBAL_PROPS,
259
+ ],
260
+ },
261
+ },
262
+ {
263
+ id: "row",
264
+ name: "row",
265
+ title: "Row",
266
+ description: "Flexbox satır kapsayıcı. Responsive kırılım noktalarına göre yön, hizalama ve boşluk ayarlanabilir.",
267
+ type: "wrapper",
268
+ droppable: true,
269
+ icon: "export",
270
+ isMobile: false,
271
+ definition: {
272
+ props: [
273
+ {
274
+ name: "xs",
275
+ title: "XS ekran ayarları",
276
+ type: "object",
277
+ props: ROW_BREAKPOINT_PROPS,
278
+ },
279
+ {
280
+ name: "sm",
281
+ title: "SM ekran ayarları",
282
+ type: "object",
283
+ props: ROW_BREAKPOINT_PROPS,
284
+ },
285
+ {
286
+ name: "md",
287
+ title: "MD ekran ayarları",
288
+ type: "object",
289
+ props: ROW_BREAKPOINT_PROPS,
290
+ },
291
+ {
292
+ name: "lg",
293
+ title: "LG ekran ayarları",
294
+ type: "object",
295
+ props: ROW_BREAKPOINT_PROPS,
296
+ },
297
+ {
298
+ name: "xl",
299
+ title: "XL ekran ayarları",
300
+ type: "object",
301
+ props: ROW_BREAKPOINT_PROPS,
302
+ },
303
+ ...GLOBAL_PROPS,
304
+ ],
305
+ },
306
+ },
307
+ {
308
+ id: "column",
309
+ name: "column",
310
+ title: "Column",
311
+ description: "12-sütun ızgara sistemi. Her kırılım noktası için ayrı genişlik, offset ve sıralama tanımlanabilir.",
312
+ type: "wrapper",
313
+ droppable: true,
314
+ icon: "dashboard",
315
+ isMobile: false,
316
+ definition: {
317
+ props: COLUMN_PROPS,
318
+ preview: { type: "number", value: "xl.size", suffix: "/12" },
319
+ },
320
+ },
321
+ {
322
+ id: "view",
323
+ name: "view",
324
+ title: "View",
325
+ description: "Sayfalar üzerinde yapılacak tasarım alanıdır.",
326
+ type: "wrapper",
327
+ droppable: false,
328
+ icon: "detail-view",
329
+ isMobile: true,
330
+ definition: {
331
+ props: [
332
+ {
333
+ name: "title",
334
+ title: "Gösterim başlığı",
335
+ type: "text",
336
+ description: "Gösterim için bir başlık giriniz.",
337
+ },
338
+ ...GLOBAL_PROPS,
339
+ ],
340
+ preview: { type: "text", value: "title" },
341
+ },
342
+ },
343
+ {
344
+ id: "section",
345
+ name: "section",
346
+ title: "Section",
347
+ description: "Sayfa bölümü. Başlık, açıklama, link ve iç container ayarları içerir.",
348
+ type: "wrapper",
349
+ droppable: true,
350
+ icon: "highlights",
351
+ isMobile: false,
352
+ definition: {
353
+ props: [
354
+ { name: "title", title: "Başlık", type: "text" },
355
+ { name: "description", title: "Kısa açıklama", type: "long-text" },
356
+ { name: "anchor", title: "Link", type: "link" },
357
+ {
358
+ name: "container",
359
+ title: "Kapsayıcı ayarları",
360
+ type: "object",
361
+ props: CONTAINER_PROPS,
362
+ },
363
+ ],
364
+ preview: { type: "text", value: "title" },
365
+ },
366
+ },
367
+ // ── Elementler (Elements) ───────────────────────────────
368
+ {
369
+ id: "heading",
370
+ name: "heading",
371
+ title: "Başlık",
372
+ description: "H1–H6 başlık elementi.",
373
+ type: "element",
374
+ droppable: false,
375
+ icon: "app-switcher",
376
+ isMobile: false,
377
+ definition: {
378
+ props: [
379
+ { name: "children", title: "Başlık", type: "text" },
380
+ {
381
+ name: "nodeType",
382
+ title: "Başlık tipi",
383
+ type: "dropdown",
384
+ options: [
385
+ { value: "h1", label: "Heading 1" },
386
+ { value: "h2", label: "Heading 2" },
387
+ { value: "h3", label: "Heading 3" },
388
+ { value: "h4", label: "Heading 4" },
389
+ { value: "h5", label: "Heading 5" },
390
+ { value: "h6", label: "Heading 6" },
391
+ ],
392
+ },
393
+ ...GLOBAL_PROPS,
394
+ ],
395
+ preview: { type: "text", value: "children" },
396
+ },
397
+ },
398
+ {
399
+ id: "paragraph",
400
+ name: "paragraph",
401
+ title: "Paragraf",
402
+ description: "Uzun metin paragraf elementi.",
403
+ type: "element",
404
+ droppable: false,
405
+ icon: "table",
406
+ isMobile: false,
407
+ definition: {
408
+ props: [
409
+ { name: "children", title: "Metin", type: "long-text" },
410
+ ...GLOBAL_PROPS,
411
+ ],
412
+ preview: { type: "text", value: "children" },
413
+ },
414
+ },
415
+ {
416
+ id: "html",
417
+ name: "html",
418
+ title: "HTML",
419
+ description: "Ham HTML içerik alanı (rich text editor).",
420
+ type: "element",
421
+ droppable: false,
422
+ icon: "component",
423
+ isMobile: false,
424
+ definition: {
425
+ props: [
426
+ { name: "content", title: "HTML İçerik", type: "editor" },
427
+ ...GLOBAL_PROPS,
428
+ ],
429
+ preview: { type: "text", value: "content" },
430
+ },
431
+ },
432
+ {
433
+ id: "image",
434
+ name: "image",
435
+ title: "Görsel",
436
+ description: "Görsel (resim) elementi.",
437
+ type: "element",
438
+ droppable: false,
439
+ icon: "image",
440
+ isMobile: false,
441
+ definition: {
442
+ props: [
443
+ { name: "source", title: "Görsel", type: "image" },
444
+ ...GLOBAL_PROPS,
445
+ ],
446
+ preview: { type: "image", value: "source.src" },
447
+ },
448
+ },
449
+ {
450
+ id: "video",
451
+ name: "video",
452
+ title: "Video",
453
+ description: "Video elementi.",
454
+ type: "element",
455
+ droppable: false,
456
+ icon: "vid-play",
457
+ isMobile: false,
458
+ definition: {
459
+ props: [
460
+ { name: "source", title: "Video", type: "video" },
461
+ ...GLOBAL_PROPS,
462
+ ],
463
+ preview: { type: "video", value: "source.src" },
464
+ },
465
+ },
466
+ {
467
+ id: "iframe",
468
+ name: "iframe",
469
+ title: "Iframe",
470
+ description: "Harici URL iframe elementi.",
471
+ type: "element",
472
+ droppable: false,
473
+ icon: "vid-full-screen-on",
474
+ isMobile: false,
475
+ definition: {
476
+ props: [
477
+ { name: "children", title: "Iframe Adresi", type: "long-text" },
478
+ ...GLOBAL_PROPS,
479
+ ],
480
+ },
481
+ },
482
+ {
483
+ id: "button",
484
+ name: "button",
485
+ title: "Button",
486
+ description: "Tıklanabilir buton elementi.",
487
+ type: "element",
488
+ droppable: false,
489
+ icon: "archive",
490
+ isMobile: false,
491
+ definition: {
492
+ props: [...BUTTON_PROPS, ...GLOBAL_PROPS],
493
+ preview: { type: "text", value: "children" },
494
+ },
495
+ },
496
+ {
497
+ id: "link",
498
+ name: "link",
499
+ title: "Link",
500
+ description: "Tıklanabilir link kapsayıcı.",
501
+ type: "element",
502
+ droppable: true,
503
+ icon: "archive",
504
+ isMobile: false,
505
+ definition: {
506
+ props: [{ name: "source", title: "Link", type: "link" }, ...GLOBAL_PROPS],
507
+ preview: { type: "link", value: "source.href" },
508
+ },
509
+ },
510
+ {
511
+ id: "card",
512
+ name: "card",
513
+ title: "Card",
514
+ description: "Başlık, alt başlık, açıklama, görsel ve link içeren kart elementi.",
515
+ type: "element",
516
+ droppable: false,
517
+ icon: "issue",
518
+ isMobile: false,
519
+ definition: {
520
+ props: [...CARD_PROPS, ...GLOBAL_PROPS],
521
+ preview: { type: "text", value: "title" },
522
+ },
523
+ },
524
+ {
525
+ id: "card-list",
526
+ name: "card-list",
527
+ title: "Card List",
528
+ description: "Birden fazla kartı listeleyen element.",
529
+ type: "element",
530
+ droppable: false,
531
+ icon: "issues",
532
+ isMobile: false,
533
+ definition: {
534
+ props: [
535
+ {
536
+ name: "cards",
537
+ title: "Card verileri",
538
+ type: "array",
539
+ props: CARD_PROPS,
540
+ },
541
+ ...GLOBAL_PROPS,
542
+ ],
543
+ groups: [{ title: "Sütun ayarları", props: COLUMN_PROPS }],
544
+ },
545
+ },
546
+ ];
547
+ /** Lookup by id/name (case-insensitive) */
548
+ export function findBaseComponent(nameOrId) {
549
+ const key = nameOrId.toLowerCase();
550
+ return BASE_COMPONENTS.find((c) => c.id === key || c.name === key);
551
+ }
552
+ //# sourceMappingURL=base-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-components.js","sourceRoot":"","sources":["../src/base-components.ts"],"names":[],"mappings":"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"}