@appaflytech/wappa-mcp 0.0.11 → 0.0.12

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 (107) hide show
  1. package/dist/client.d.ts +6 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +52 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/factory.d.ts.map +1 -1
  6. package/dist/factory.js +38 -0
  7. package/dist/factory.js.map +1 -1
  8. package/dist/tools/ai-chat-sessions.d.ts +143 -0
  9. package/dist/tools/ai-chat-sessions.d.ts.map +1 -0
  10. package/dist/tools/ai-chat-sessions.js +144 -0
  11. package/dist/tools/ai-chat-sessions.js.map +1 -0
  12. package/dist/tools/app-users.d.ts +440 -0
  13. package/dist/tools/app-users.d.ts.map +1 -0
  14. package/dist/tools/app-users.js +347 -0
  15. package/dist/tools/app-users.js.map +1 -0
  16. package/dist/tools/component-categories.d.ts +157 -0
  17. package/dist/tools/component-categories.d.ts.map +1 -0
  18. package/dist/tools/component-categories.js +162 -0
  19. package/dist/tools/component-categories.js.map +1 -0
  20. package/dist/tools/countries.d.ts +148 -0
  21. package/dist/tools/countries.d.ts.map +1 -0
  22. package/dist/tools/countries.js +142 -0
  23. package/dist/tools/countries.js.map +1 -0
  24. package/dist/tools/db-routines.d.ts +229 -0
  25. package/dist/tools/db-routines.d.ts.map +1 -0
  26. package/dist/tools/db-routines.js +233 -0
  27. package/dist/tools/db-routines.js.map +1 -0
  28. package/dist/tools/dynamic-entities.d.ts +166 -0
  29. package/dist/tools/dynamic-entities.d.ts.map +1 -1
  30. package/dist/tools/dynamic-entities.js +147 -0
  31. package/dist/tools/dynamic-entities.js.map +1 -1
  32. package/dist/tools/entities.d.ts +119 -0
  33. package/dist/tools/entities.d.ts.map +1 -1
  34. package/dist/tools/entities.js +116 -0
  35. package/dist/tools/entities.js.map +1 -1
  36. package/dist/tools/error-logs.d.ts +67 -0
  37. package/dist/tools/error-logs.d.ts.map +1 -0
  38. package/dist/tools/error-logs.js +74 -0
  39. package/dist/tools/error-logs.js.map +1 -0
  40. package/dist/tools/general.d.ts.map +1 -1
  41. package/dist/tools/general.js +218 -0
  42. package/dist/tools/general.js.map +1 -1
  43. package/dist/tools/layouts.d.ts +21 -0
  44. package/dist/tools/layouts.d.ts.map +1 -1
  45. package/dist/tools/layouts.js +19 -0
  46. package/dist/tools/layouts.js.map +1 -1
  47. package/dist/tools/operations.d.ts +184 -0
  48. package/dist/tools/operations.d.ts.map +1 -0
  49. package/dist/tools/operations.js +217 -0
  50. package/dist/tools/operations.js.map +1 -0
  51. package/dist/tools/page-entities.d.ts +522 -0
  52. package/dist/tools/page-entities.d.ts.map +1 -0
  53. package/dist/tools/page-entities.js +535 -0
  54. package/dist/tools/page-entities.js.map +1 -0
  55. package/dist/tools/pages.d.ts +226 -0
  56. package/dist/tools/pages.d.ts.map +1 -1
  57. package/dist/tools/pages.js +194 -0
  58. package/dist/tools/pages.js.map +1 -1
  59. package/dist/tools/plugins.d.ts +230 -0
  60. package/dist/tools/plugins.d.ts.map +1 -0
  61. package/dist/tools/plugins.js +218 -0
  62. package/dist/tools/plugins.js.map +1 -0
  63. package/dist/tools/queries.d.ts +266 -0
  64. package/dist/tools/queries.d.ts.map +1 -1
  65. package/dist/tools/queries.js +288 -0
  66. package/dist/tools/queries.js.map +1 -1
  67. package/dist/tools/query-categories.d.ts +192 -0
  68. package/dist/tools/query-categories.d.ts.map +1 -0
  69. package/dist/tools/query-categories.js +204 -0
  70. package/dist/tools/query-categories.js.map +1 -0
  71. package/dist/tools/regions.d.ts +148 -0
  72. package/dist/tools/regions.d.ts.map +1 -0
  73. package/dist/tools/regions.js +148 -0
  74. package/dist/tools/regions.js.map +1 -0
  75. package/dist/tools/roles.d.ts +284 -0
  76. package/dist/tools/roles.d.ts.map +1 -0
  77. package/dist/tools/roles.js +291 -0
  78. package/dist/tools/roles.js.map +1 -0
  79. package/dist/tools/settings.d.ts +160 -0
  80. package/dist/tools/settings.d.ts.map +1 -0
  81. package/dist/tools/settings.js +187 -0
  82. package/dist/tools/settings.js.map +1 -0
  83. package/dist/tools/showcases.d.ts +184 -0
  84. package/dist/tools/showcases.d.ts.map +1 -0
  85. package/dist/tools/showcases.js +179 -0
  86. package/dist/tools/showcases.js.map +1 -0
  87. package/dist/tools/storage.d.ts +297 -0
  88. package/dist/tools/storage.d.ts.map +1 -0
  89. package/dist/tools/storage.js +302 -0
  90. package/dist/tools/storage.js.map +1 -0
  91. package/dist/tools/system-tools.d.ts +124 -0
  92. package/dist/tools/system-tools.d.ts.map +1 -0
  93. package/dist/tools/system-tools.js +147 -0
  94. package/dist/tools/system-tools.js.map +1 -0
  95. package/dist/tools/system-variables.d.ts +167 -0
  96. package/dist/tools/system-variables.d.ts.map +1 -0
  97. package/dist/tools/system-variables.js +176 -0
  98. package/dist/tools/system-variables.js.map +1 -0
  99. package/dist/tools/users.d.ts +266 -0
  100. package/dist/tools/users.d.ts.map +1 -0
  101. package/dist/tools/users.js +235 -0
  102. package/dist/tools/users.js.map +1 -0
  103. package/dist/tools/workflows.d.ts +278 -0
  104. package/dist/tools/workflows.d.ts.map +1 -0
  105. package/dist/tools/workflows.js +267 -0
  106. package/dist/tools/workflows.js.map +1 -0
  107. package/package.json +2 -2
@@ -0,0 +1,184 @@
1
+ /**
2
+ * MCP Tools for WAP Operations
3
+ * Operations = sistem-seviyesi bakım/karşılaştırma işlemleri:
4
+ * cache temizleme, bağımlılık analizi, kayıt sayımı, lokalizasyon kontrolü,
5
+ * dosya ilişki modelleri, versiyon karşılaştırma ve site kurulum seçenekleri.
6
+ *
7
+ * NOTE: excel-import / excel-export / excel-import-check / excel-import-validate
8
+ * endpoint'leri multipart FormData (dosya yükleme) veya binary (arraybuffer)
9
+ * yanıt döndürdüğü için ATLANMIŞTIR.
10
+ */
11
+ import { WapClient } from "../client.js";
12
+ export declare function getOperationTools(client: WapClient): {
13
+ cache_clear: {
14
+ description: string;
15
+ inputSchema: {
16
+ type: "object";
17
+ properties: {};
18
+ };
19
+ handler: () => Promise<{
20
+ content: {
21
+ type: "text";
22
+ text: string;
23
+ }[];
24
+ }>;
25
+ };
26
+ operation_dependencies: {
27
+ description: string;
28
+ inputSchema: {
29
+ type: "object";
30
+ properties: {
31
+ module: {
32
+ type: string;
33
+ description: string;
34
+ };
35
+ id: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ };
40
+ required: string[];
41
+ };
42
+ handler: (args: {
43
+ module: string;
44
+ id: string;
45
+ }) => Promise<{
46
+ content: {
47
+ type: "text";
48
+ text: string;
49
+ }[];
50
+ }>;
51
+ };
52
+ operation_record_count: {
53
+ description: string;
54
+ inputSchema: {
55
+ type: "object";
56
+ properties: {};
57
+ };
58
+ handler: () => Promise<{
59
+ content: {
60
+ type: "text";
61
+ text: string;
62
+ }[];
63
+ }>;
64
+ };
65
+ check_localization: {
66
+ description: string;
67
+ inputSchema: {
68
+ type: "object";
69
+ properties: {
70
+ id: {
71
+ type: string;
72
+ description: string;
73
+ };
74
+ module: {
75
+ type: string;
76
+ description: string;
77
+ };
78
+ entityId: {
79
+ type: string;
80
+ description: string;
81
+ };
82
+ };
83
+ required: string[];
84
+ };
85
+ handler: (args: {
86
+ id: string;
87
+ module: string;
88
+ entityId?: string;
89
+ }) => Promise<{
90
+ content: {
91
+ type: "text";
92
+ text: string;
93
+ }[];
94
+ }>;
95
+ };
96
+ operation_file_related_models: {
97
+ description: string;
98
+ inputSchema: {
99
+ type: "object";
100
+ properties: {
101
+ id: {
102
+ type: string;
103
+ description: string;
104
+ };
105
+ };
106
+ required: string[];
107
+ };
108
+ handler: (args: {
109
+ id: string;
110
+ }) => Promise<{
111
+ content: {
112
+ type: "text";
113
+ text: string;
114
+ }[];
115
+ }>;
116
+ };
117
+ operation_compare: {
118
+ description: string;
119
+ inputSchema: {
120
+ type: "object";
121
+ properties: {
122
+ module: {
123
+ type: string;
124
+ description: string;
125
+ };
126
+ elements: {
127
+ type: string;
128
+ description: string;
129
+ };
130
+ including: {
131
+ type: string;
132
+ description: string;
133
+ };
134
+ excluding: {
135
+ type: string;
136
+ description: string;
137
+ };
138
+ equalCompareFields: {
139
+ type: string;
140
+ description: string;
141
+ };
142
+ entityId: {
143
+ type: string;
144
+ description: string;
145
+ };
146
+ };
147
+ required: string[];
148
+ };
149
+ handler: (args: {
150
+ module: string;
151
+ elements: unknown[];
152
+ including?: unknown[];
153
+ excluding?: unknown[];
154
+ equalCompareFields?: unknown[];
155
+ entityId?: string;
156
+ }) => Promise<{
157
+ content: {
158
+ type: "text";
159
+ text: string;
160
+ }[];
161
+ }>;
162
+ };
163
+ operation_site_installation_options: {
164
+ description: string;
165
+ inputSchema: {
166
+ type: "object";
167
+ properties: {
168
+ data: {
169
+ type: string;
170
+ description: string;
171
+ };
172
+ };
173
+ };
174
+ handler: (args: {
175
+ data?: Record<string, unknown>;
176
+ }) => Promise<{
177
+ content: {
178
+ type: "text";
179
+ text: string;
180
+ }[];
181
+ }>;
182
+ };
183
+ };
184
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/tools/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0CvB;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2D9B;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB;;;;;;;;;;;;;;;;;;;wBAiCqB;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyDd;YACpB,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;YACtB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;YACtB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;YAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB;;;;;;;;;;;;;;;;;;wBAqCqB;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE;;;;;;;EAqB7D"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * MCP Tools for WAP Operations
3
+ * Operations = sistem-seviyesi bakım/karşılaştırma işlemleri:
4
+ * cache temizleme, bağımlılık analizi, kayıt sayımı, lokalizasyon kontrolü,
5
+ * dosya ilişki modelleri, versiyon karşılaştırma ve site kurulum seçenekleri.
6
+ *
7
+ * NOTE: excel-import / excel-export / excel-import-check / excel-import-validate
8
+ * endpoint'leri multipart FormData (dosya yükleme) veya binary (arraybuffer)
9
+ * yanıt döndürdüğü için ATLANMIŞTIR.
10
+ */
11
+ export function getOperationTools(client) {
12
+ return {
13
+ // ─── Cache Clear ───────────────────────────────────────
14
+ cache_clear: {
15
+ description: "Sunucu tarafındaki tüm önbelleği (cache) temizler. POST /{site}/Operations/cache-clear. Yanıt gövdesi yoktur (204).",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {},
19
+ },
20
+ handler: async () => {
21
+ const result = await client.request("POST", "/{site}/Operations/cache-clear");
22
+ return {
23
+ content: [
24
+ { type: "text", text: JSON.stringify(result, null, 2) },
25
+ ],
26
+ };
27
+ },
28
+ },
29
+ // ─── Dependencies ──────────────────────────────────────
30
+ operation_dependencies: {
31
+ description: "Belirli bir kaydın (modül + id) bağımlılıklarını analiz eder; bu kaydı kullanan diğer kayıtları (yetkili/yetkisiz) listeler. Silme öncesi etki analizi için kullanılır. POST /{site}/Operations/dependencies.",
32
+ inputSchema: {
33
+ type: "object",
34
+ properties: {
35
+ module: {
36
+ type: "string",
37
+ description: 'Bağımlılığı analiz edilecek modül adı (örn: "page", "component", "entity", "layout", "query").',
38
+ },
39
+ id: {
40
+ type: "string",
41
+ description: "Bağımlılıkları sorgulanacak kaydın ID (GUID) değeri.",
42
+ },
43
+ },
44
+ required: ["module", "id"],
45
+ },
46
+ handler: async (args) => {
47
+ const result = await client.request("POST", "/{site}/Operations/dependencies", { module: args.module, id: args.id });
48
+ return {
49
+ content: [
50
+ { type: "text", text: JSON.stringify(result, null, 2) },
51
+ ],
52
+ };
53
+ },
54
+ },
55
+ // ─── Record Count ──────────────────────────────────────
56
+ operation_record_count: {
57
+ description: "Site genelindeki temel modüllerin (component, entity, layout, page, query, site, themesetting) kayıt sayılarını döndürür. GET /{site}/Operations/record-count.",
58
+ inputSchema: {
59
+ type: "object",
60
+ properties: {},
61
+ },
62
+ handler: async () => {
63
+ const result = await client.request("GET", "/{site}/Operations/record-count");
64
+ return {
65
+ content: [
66
+ { type: "text", text: JSON.stringify(result, null, 2) },
67
+ ],
68
+ };
69
+ },
70
+ },
71
+ // ─── Check Localization ────────────────────────────────
72
+ check_localization: {
73
+ description: "Belirli bir kaydın aktif dilde lokalizasyonunun (çevirisinin) mevcut olup olmadığını kontrol eder; true/false döndürür. GET /{site}/Operations/check-localization.",
74
+ inputSchema: {
75
+ type: "object",
76
+ properties: {
77
+ id: {
78
+ type: "string",
79
+ description: "Lokalizasyonu kontrol edilecek kaydın ID (GUID).",
80
+ },
81
+ module: {
82
+ type: "string",
83
+ description: 'Kaydın ait olduğu modül adı (örn: "page", "component", "dynamicentity").',
84
+ },
85
+ entityId: {
86
+ type: "string",
87
+ description: "Dinamik entity kayıtları için entity tanımının ID (GUID). Opsiyonel.",
88
+ },
89
+ },
90
+ required: ["id", "module"],
91
+ },
92
+ handler: async (args) => {
93
+ const params = {};
94
+ params.id = args.id;
95
+ params.module = args.module;
96
+ if (args.entityId)
97
+ params.entityId = args.entityId;
98
+ const result = await client.request("GET", "/{site}/Operations/check-localization", undefined, params);
99
+ return {
100
+ content: [
101
+ { type: "text", text: JSON.stringify(result, null, 2) },
102
+ ],
103
+ };
104
+ },
105
+ },
106
+ // ─── File Related Models ───────────────────────────────
107
+ operation_file_related_models: {
108
+ description: "Belirli bir dosyanın hangi kayıtlarda (pageEntities, layouts, pages, dynamicEntities) kullanıldığını/ilişkili olduğunu listeler. GET /{site}/Operations/{id}/file-related-models.",
109
+ inputSchema: {
110
+ type: "object",
111
+ properties: {
112
+ id: {
113
+ type: "string",
114
+ description: "İlişkileri sorgulanacak dosyanın ID (GUID).",
115
+ },
116
+ },
117
+ required: ["id"],
118
+ },
119
+ handler: async (args) => {
120
+ const result = await client.request("GET", `/{site}/Operations/${args.id}/file-related-models`);
121
+ return {
122
+ content: [
123
+ { type: "text", text: JSON.stringify(result, null, 2) },
124
+ ],
125
+ };
126
+ },
127
+ },
128
+ // ─── Compare ───────────────────────────────────────────
129
+ operation_compare: {
130
+ description: `İki kayıt versiyonunu (örn: bir sayfanın iki farklı sürümünü) karşılaştırır ve önceki/sonraki halini döndürür.
131
+ 'module': Karşılaştırılan modül (örn: "page", "pageentity", "dynamicentity").
132
+ 'elements': Karşılaştırılacak iki öğe; her biri { id (GUID), status (durum) } içerir.
133
+ 'including'/'excluding': Karşılaştırmaya dahil edilecek/edilmeyecek alan adları.
134
+ 'entityId': Dinamik entity karşılaştırması için entity tanım ID'si (opsiyonel).
135
+ POST /{site}/Operations/compare.`,
136
+ inputSchema: {
137
+ type: "object",
138
+ properties: {
139
+ module: {
140
+ type: "string",
141
+ description: 'Karşılaştırılacak modül adı (örn: "page", "pageentity", "dynamicentity").',
142
+ },
143
+ elements: {
144
+ type: "array",
145
+ description: "Karşılaştırılacak öğeler dizisi; her öğe { id: GUID, status: durum } içerir. Genellikle önceki ve sonraki versiyon olmak üzere 2 öğe.",
146
+ },
147
+ including: {
148
+ type: "array",
149
+ description: 'Karşılaştırmaya dahil edilecek alan adları (örn: ["id","title","status","layout","metatags"]). Opsiyonel.',
150
+ },
151
+ excluding: {
152
+ type: "array",
153
+ description: "Karşılaştırma dışında tutulacak alan adları dizisi. Opsiyonel.",
154
+ },
155
+ equalCompareFields: {
156
+ type: "array",
157
+ description: "Eşitlik bazında karşılaştırılacak alan adları dizisi. Opsiyonel.",
158
+ },
159
+ entityId: {
160
+ type: "string",
161
+ description: "Dinamik entity karşılaştırması için entity tanımının ID (GUID). Opsiyonel.",
162
+ },
163
+ },
164
+ required: ["module", "elements"],
165
+ },
166
+ handler: async (args) => {
167
+ const body = {
168
+ module: args.module,
169
+ elements: args.elements,
170
+ };
171
+ if (args.including !== undefined)
172
+ body.including = args.including;
173
+ if (args.excluding !== undefined)
174
+ body.excluding = args.excluding;
175
+ if (args.equalCompareFields !== undefined)
176
+ body.equalCompareFields = args.equalCompareFields;
177
+ if (args.entityId !== undefined)
178
+ body.entityId = args.entityId;
179
+ const result = await client.request("POST", "/{site}/Operations/compare", body);
180
+ return {
181
+ content: [
182
+ { type: "text", text: JSON.stringify(result, null, 2) },
183
+ ],
184
+ };
185
+ },
186
+ },
187
+ // ─── Site Installation Options ─────────────────────────
188
+ operation_site_installation_options: {
189
+ description: "Site kurulumu için kullanılabilir seçenekleri (örn: Ui.API adresleri) döndürür. GET /{site}/Operations/site-installation-options.",
190
+ inputSchema: {
191
+ type: "object",
192
+ properties: {
193
+ data: {
194
+ type: "object",
195
+ description: "İsteğe bağlı query parametreleri (anahtar-değer çiftleri). Genellikle boş bırakılabilir.",
196
+ },
197
+ },
198
+ },
199
+ handler: async (args) => {
200
+ const params = {};
201
+ if (args.data) {
202
+ for (const [k, v] of Object.entries(args.data)) {
203
+ if (v !== undefined && v !== null)
204
+ params[k] = String(v);
205
+ }
206
+ }
207
+ const result = await client.request("GET", "/{site}/Operations/site-installation-options", undefined, params);
208
+ return {
209
+ content: [
210
+ { type: "text", text: JSON.stringify(result, null, 2) },
211
+ ],
212
+ };
213
+ },
214
+ },
215
+ };
216
+ }
217
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/tools/operations.ts"],"names":[],"mappings":"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"}