@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,302 @@
1
+ /**
2
+ * MCP Tools for WAP Storage operations
3
+ * Storage = global file/directory management (klasör ve dosya yönetimi)
4
+ * GLOBAL /storage routes (no {site} prefix).
5
+ */
6
+ export function getStorageTools(client) {
7
+ return {
8
+ // ─── Create Directory ─────────────────────────────────
9
+ create_directory: {
10
+ description: "Depolamada yeni bir klasör (dizin) oluşturur. 'name' klasör adıdır; 'parentId' verilirse klasör o üst klasörün altına, verilmezse köke oluşturulur.",
11
+ inputSchema: {
12
+ type: "object",
13
+ properties: {
14
+ name: { type: "string", description: "Yeni klasörün adı" },
15
+ parentId: {
16
+ type: "string",
17
+ description: "Üst klasör ID (GUID). Boş bırakılırsa kök dizinde oluşturulur.",
18
+ },
19
+ },
20
+ required: ["name"],
21
+ },
22
+ handler: async (args) => {
23
+ const body = { name: args.name };
24
+ if (args.parentId !== undefined)
25
+ body.parentId = args.parentId;
26
+ const result = await client.request("POST", "/storage/directories", body);
27
+ return {
28
+ content: [
29
+ { type: "text", text: JSON.stringify(result, null, 2) },
30
+ ],
31
+ };
32
+ },
33
+ },
34
+ // ─── Delete Directory ─────────────────────────────────
35
+ delete_directory: {
36
+ description: "Bir klasörü ID ile siler. DİKKAT: Klasör ve içeriği silinir, bu işlem geri alınamaz.",
37
+ inputSchema: {
38
+ type: "object",
39
+ properties: {
40
+ id: { type: "string", description: "Silinecek klasör ID (GUID)" },
41
+ },
42
+ required: ["id"],
43
+ },
44
+ handler: async (args) => {
45
+ const result = await client.request("DELETE", `/storage/directories/${args.id}`);
46
+ return {
47
+ content: [
48
+ { type: "text", text: JSON.stringify(result, null, 2) },
49
+ ],
50
+ };
51
+ },
52
+ },
53
+ // ─── Rename Directory ─────────────────────────────────
54
+ rename_directory: {
55
+ description: "Mevcut bir klasörü yeniden adlandırır.",
56
+ inputSchema: {
57
+ type: "object",
58
+ properties: {
59
+ directoryId: {
60
+ type: "string",
61
+ description: "Yeniden adlandırılacak klasör ID (GUID)",
62
+ },
63
+ name: { type: "string", description: "Klasörün yeni adı" },
64
+ },
65
+ required: ["directoryId", "name"],
66
+ },
67
+ handler: async (args) => {
68
+ const result = await client.request("POST", "/storage/directories/rename", { directoryId: args.directoryId, name: args.name });
69
+ return {
70
+ content: [
71
+ { type: "text", text: JSON.stringify(result, null, 2) },
72
+ ],
73
+ };
74
+ },
75
+ },
76
+ // ─── Search Directories ───────────────────────────────
77
+ search_directories: {
78
+ description: "Klasörleri arar/listeler. İsim ve üst klasör (directoryId) ile filtreleyebilir, sayfalama ve sıralama yapabilirsiniz.",
79
+ inputSchema: {
80
+ type: "object",
81
+ properties: {
82
+ name: { type: "string", description: "Klasör adına göre filtrele" },
83
+ directoryId: {
84
+ type: "string",
85
+ description: "Üst klasör ID (GUID). Belirtilen klasörün altındaki klasörleri getirir.",
86
+ },
87
+ pageIndex: { type: "number", description: "Sayfa numarası (0-based)" },
88
+ pageLength: {
89
+ type: "number",
90
+ description: "Sayfa boyutu (varsayılan: 10)",
91
+ },
92
+ order: { type: "string", description: "Sıralanacak alan adı" },
93
+ isDescending: {
94
+ type: "boolean",
95
+ description: "Azalan sıralama (true) / artan (false)",
96
+ },
97
+ },
98
+ },
99
+ handler: async (args) => {
100
+ const params = {};
101
+ if (args.name)
102
+ params.Name = args.name;
103
+ if (args.directoryId)
104
+ params.DirectoryId = args.directoryId;
105
+ if (args.pageIndex !== undefined)
106
+ params.PageIndex = String(args.pageIndex);
107
+ if (args.pageLength !== undefined)
108
+ params.PageLength = String(args.pageLength);
109
+ if (args.order)
110
+ params.Order = args.order;
111
+ if (args.isDescending !== undefined)
112
+ params.IsDescending = String(args.isDescending);
113
+ const result = await client.request("GET", "/storage/directories/search", undefined, params);
114
+ return {
115
+ content: [
116
+ { type: "text", text: JSON.stringify(result, null, 2) },
117
+ ],
118
+ };
119
+ },
120
+ },
121
+ // ─── Directory Breadcrumb ─────────────────────────────
122
+ get_directory_breadcrumb: {
123
+ description: "Bir klasörün breadcrumb (üst klasör hiyerarşisi / yol) bilgisini getirir. Kökten verilen klasöre kadarki dizin zincirini döndürür.",
124
+ inputSchema: {
125
+ type: "object",
126
+ properties: {
127
+ id: {
128
+ type: "string",
129
+ description: "Breadcrumb'ı istenen klasör ID (GUID)",
130
+ },
131
+ },
132
+ required: ["id"],
133
+ },
134
+ handler: async (args) => {
135
+ const result = await client.request("GET", "/storage/directories/breadcrumb", undefined, { Id: args.id });
136
+ return {
137
+ content: [
138
+ { type: "text", text: JSON.stringify(result, null, 2) },
139
+ ],
140
+ };
141
+ },
142
+ },
143
+ // ─── Delete File ──────────────────────────────────────
144
+ delete_file: {
145
+ description: "Bir dosyayı ID ile siler. DİKKAT: Bu işlem geri alınamaz.",
146
+ inputSchema: {
147
+ type: "object",
148
+ properties: {
149
+ id: { type: "string", description: "Silinecek dosya ID (GUID)" },
150
+ },
151
+ required: ["id"],
152
+ },
153
+ handler: async (args) => {
154
+ const result = await client.request("DELETE", `/storage/files/${args.id}`);
155
+ return {
156
+ content: [
157
+ { type: "text", text: JSON.stringify(result, null, 2) },
158
+ ],
159
+ };
160
+ },
161
+ },
162
+ // ─── Rename File ──────────────────────────────────────
163
+ rename_file: {
164
+ description: "Mevcut bir dosyayı yeniden adlandırır.",
165
+ inputSchema: {
166
+ type: "object",
167
+ properties: {
168
+ fileId: {
169
+ type: "string",
170
+ description: "Yeniden adlandırılacak dosya ID (GUID)",
171
+ },
172
+ name: { type: "string", description: "Dosyanın yeni adı" },
173
+ },
174
+ required: ["fileId", "name"],
175
+ },
176
+ handler: async (args) => {
177
+ const result = await client.request("POST", "/storage/files/rename", {
178
+ fileId: args.fileId,
179
+ name: args.name,
180
+ });
181
+ return {
182
+ content: [
183
+ { type: "text", text: JSON.stringify(result, null, 2) },
184
+ ],
185
+ };
186
+ },
187
+ },
188
+ // ─── Move File(s) ─────────────────────────────────────
189
+ move_file: {
190
+ description: "Bir veya birden fazla dosyayı hedef klasöre taşır. 'fileIds' taşınacak dosya ID'lerinin (GUID) dizisidir.",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ fileIds: {
195
+ type: "array",
196
+ description: "Taşınacak dosya ID'leri (GUID) dizisi",
197
+ },
198
+ targetDirectoryId: {
199
+ type: "string",
200
+ description: "Hedef klasör ID (GUID)",
201
+ },
202
+ },
203
+ required: ["fileIds", "targetDirectoryId"],
204
+ },
205
+ handler: async (args) => {
206
+ const result = await client.request("POST", "/storage/files/move", {
207
+ fileIds: args.fileIds,
208
+ targetDirectoryId: args.targetDirectoryId,
209
+ });
210
+ return {
211
+ content: [
212
+ { type: "text", text: JSON.stringify(result, null, 2) },
213
+ ],
214
+ };
215
+ },
216
+ },
217
+ // ─── Copy File(s) ─────────────────────────────────────
218
+ copy_file: {
219
+ description: "Bir veya birden fazla dosyayı hedef klasöre kopyalar. 'fileIds' kopyalanacak dosya ID'lerinin (GUID) dizisidir.",
220
+ inputSchema: {
221
+ type: "object",
222
+ properties: {
223
+ fileIds: {
224
+ type: "array",
225
+ description: "Kopyalanacak dosya ID'leri (GUID) dizisi",
226
+ },
227
+ targetDirectoryId: {
228
+ type: "string",
229
+ description: "Hedef klasör ID (GUID)",
230
+ },
231
+ },
232
+ required: ["fileIds", "targetDirectoryId"],
233
+ },
234
+ handler: async (args) => {
235
+ const result = await client.request("POST", "/storage/files/copy", {
236
+ fileIds: args.fileIds,
237
+ targetDirectoryId: args.targetDirectoryId,
238
+ });
239
+ return {
240
+ content: [
241
+ { type: "text", text: JSON.stringify(result, null, 2) },
242
+ ],
243
+ };
244
+ },
245
+ },
246
+ // ─── Search Files ─────────────────────────────────────
247
+ search_files: {
248
+ description: "Dosyaları arar/listeler. Metin (text), klasör (directoryId) ve dosya türü (typeList) ile filtreleyebilir; sayfalama ve sıralama yapabilirsiniz. typeList değerleri: 0=Image, 1=Video, 2=Document, 3=Audio, 4=Binary.",
249
+ inputSchema: {
250
+ type: "object",
251
+ properties: {
252
+ text: {
253
+ type: "string",
254
+ description: "Dosya adı/içeriğinde arama metni",
255
+ },
256
+ directoryId: {
257
+ type: "string",
258
+ description: "Klasör ID (GUID). Belirtilen klasördeki dosyaları getirir.",
259
+ },
260
+ typeList: {
261
+ type: "array",
262
+ description: "Dosya türü kodları dizisi (0=Image,1=Video,2=Document,3=Audio,4=Binary)",
263
+ },
264
+ pageIndex: { type: "number", description: "Sayfa numarası (0-based)" },
265
+ pageLength: {
266
+ type: "number",
267
+ description: "Sayfa boyutu (varsayılan: 10)",
268
+ },
269
+ order: { type: "string", description: "Sıralanacak alan adı" },
270
+ isDescending: {
271
+ type: "boolean",
272
+ description: "Azalan sıralama (true) / artan (false)",
273
+ },
274
+ },
275
+ },
276
+ handler: async (args) => {
277
+ const params = {};
278
+ if (args.text)
279
+ params.Text = args.text;
280
+ if (args.directoryId)
281
+ params.DirectoryId = args.directoryId;
282
+ if (args.typeList && args.typeList.length > 0)
283
+ params.TypeList = args.typeList.map(String).join(",");
284
+ if (args.pageIndex !== undefined)
285
+ params.PageIndex = String(args.pageIndex);
286
+ if (args.pageLength !== undefined)
287
+ params.PageLength = String(args.pageLength);
288
+ if (args.order)
289
+ params.Order = args.order;
290
+ if (args.isDescending !== undefined)
291
+ params.IsDescending = String(args.isDescending);
292
+ const result = await client.request("GET", "/storage/files/search", undefined, params);
293
+ return {
294
+ content: [
295
+ { type: "text", text: JSON.stringify(result, null, 2) },
296
+ ],
297
+ };
298
+ },
299
+ },
300
+ };
301
+ }
302
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/tools/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * MCP Tools for WAP System Tools utilities
3
+ * SystemTools = read-only diagnostic/graph utilities over the platform's
4
+ * entity dependency graph (root entities, dependency traversal, global search).
5
+ * Site-scoped routes under /{site}/SystemTools.
6
+ */
7
+ import { WapClient } from "../client.js";
8
+ export declare function getSystemToolTools(client: WapClient): {
9
+ list_root_entities: {
10
+ description: string;
11
+ inputSchema: {
12
+ type: "object";
13
+ properties: {
14
+ module: {
15
+ type: string;
16
+ description: string;
17
+ };
18
+ };
19
+ required: string[];
20
+ };
21
+ handler: (args: {
22
+ module: string;
23
+ }) => Promise<{
24
+ content: {
25
+ type: "text";
26
+ text: string;
27
+ }[];
28
+ }>;
29
+ };
30
+ get_entity_dependencies_advanced: {
31
+ description: string;
32
+ inputSchema: {
33
+ type: "object";
34
+ properties: {
35
+ referenceId: {
36
+ type: string;
37
+ description: string;
38
+ };
39
+ currentModule: {
40
+ type: string;
41
+ description: string;
42
+ };
43
+ including: {
44
+ type: string;
45
+ description: string;
46
+ };
47
+ filter: {
48
+ type: string;
49
+ description: string;
50
+ };
51
+ };
52
+ required: string[];
53
+ };
54
+ handler: (args: {
55
+ referenceId: string;
56
+ currentModule: string;
57
+ including?: string;
58
+ filter?: string;
59
+ }) => Promise<{
60
+ content: {
61
+ type: "text";
62
+ text: string;
63
+ }[];
64
+ }>;
65
+ };
66
+ get_entity_dependencies: {
67
+ description: string;
68
+ inputSchema: {
69
+ type: "object";
70
+ properties: {
71
+ referenceId: {
72
+ type: string;
73
+ description: string;
74
+ };
75
+ rootModule: {
76
+ type: string;
77
+ description: string;
78
+ };
79
+ currentModule: {
80
+ type: string;
81
+ description: string;
82
+ };
83
+ };
84
+ required: string[];
85
+ };
86
+ handler: (args: {
87
+ referenceId: string;
88
+ rootModule: string;
89
+ currentModule: string;
90
+ }) => Promise<{
91
+ content: {
92
+ type: "text";
93
+ text: string;
94
+ }[];
95
+ }>;
96
+ };
97
+ system_global_search: {
98
+ description: string;
99
+ inputSchema: {
100
+ type: "object";
101
+ properties: {
102
+ q: {
103
+ type: string;
104
+ description: string;
105
+ };
106
+ including: {
107
+ type: string;
108
+ description: string;
109
+ };
110
+ };
111
+ required: string[];
112
+ };
113
+ handler: (args: {
114
+ q: string;
115
+ including?: string;
116
+ }) => Promise<{
117
+ content: {
118
+ type: "text";
119
+ text: string;
120
+ }[];
121
+ }>;
122
+ };
123
+ };
124
+ //# sourceMappingURL=system-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.d.ts","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;wBAgBxB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4ClB;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA6CqB;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC;YACnB,aAAa,EAAE,MAAM,CAAC;SACvB;;;;;;;;;;;;;;;;;;;;;;;wBAyCqB;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;EAmB5D"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * MCP Tools for WAP System Tools utilities
3
+ * SystemTools = read-only diagnostic/graph utilities over the platform's
4
+ * entity dependency graph (root entities, dependency traversal, global search).
5
+ * Site-scoped routes under /{site}/SystemTools.
6
+ */
7
+ export function getSystemToolTools(client) {
8
+ return {
9
+ // ─── Root Entities ────────────────────────────────────────
10
+ list_root_entities: {
11
+ description: "Bir modülün kök (root) entity'lerini listeler. Bağımlılık grafiğinin başlangıç noktalarını bulmak için kullanılır.",
12
+ inputSchema: {
13
+ type: "object",
14
+ properties: {
15
+ module: {
16
+ type: "string",
17
+ description: "Kök entity'lerin getirileceği modül adı",
18
+ },
19
+ },
20
+ required: ["module"],
21
+ },
22
+ handler: async (args) => {
23
+ const params = {};
24
+ if (args.module !== undefined)
25
+ params.Module = String(args.module);
26
+ const result = await client.request("GET", "/{site}/SystemTools/root-entities", undefined, params);
27
+ return {
28
+ content: [
29
+ { type: "text", text: JSON.stringify(result, null, 2) },
30
+ ],
31
+ };
32
+ },
33
+ },
34
+ // ─── Entity Dependencies (Advanced) ───────────────────────
35
+ get_entity_dependencies_advanced: {
36
+ description: "Bir entity'nin gelişmiş bağımlılık ilişkilerini getirir. Belirli ilişki türlerini (including) dahil edebilir ve erişim türüne göre filtreleyebilirsiniz.",
37
+ inputSchema: {
38
+ type: "object",
39
+ properties: {
40
+ referenceId: {
41
+ type: "string",
42
+ description: "Bağımlılıkları getirilecek entity referans ID (GUID)",
43
+ },
44
+ currentModule: {
45
+ type: "string",
46
+ description: "Mevcut modül adı",
47
+ },
48
+ including: {
49
+ type: "string",
50
+ description: "Dahil edilecek ilişkilerin virgülle ayrılmış listesi (örn: \"A,B,C\")",
51
+ },
52
+ filter: {
53
+ type: "string",
54
+ description: "Erişim türüne (AccessType) göre filtre",
55
+ },
56
+ },
57
+ required: ["referenceId", "currentModule"],
58
+ },
59
+ handler: async (args) => {
60
+ const params = {};
61
+ if (args.referenceId !== undefined)
62
+ params.ReferenceId = String(args.referenceId);
63
+ if (args.currentModule !== undefined)
64
+ params.CurrentModule = String(args.currentModule);
65
+ if (args.including !== undefined)
66
+ params.Including = String(args.including);
67
+ if (args.filter !== undefined)
68
+ params.Filter = String(args.filter);
69
+ const result = await client.request("GET", "/{site}/SystemTools/entity-dependencies-advanced", undefined, params);
70
+ return {
71
+ content: [
72
+ { type: "text", text: JSON.stringify(result, null, 2) },
73
+ ],
74
+ };
75
+ },
76
+ },
77
+ // ─── Entity Dependencies (Basic) ──────────────────────────
78
+ get_entity_dependencies: {
79
+ description: "Bir entity'nin temel bağımlılık ilişkilerini getirir. Kök ve mevcut modül bağlamında entity'nin bağlı olduğu kayıtları döner.",
80
+ inputSchema: {
81
+ type: "object",
82
+ properties: {
83
+ referenceId: {
84
+ type: "string",
85
+ description: "Bağımlılıkları getirilecek entity referans ID (GUID)",
86
+ },
87
+ rootModule: {
88
+ type: "string",
89
+ description: "Kök (root) modül adı",
90
+ },
91
+ currentModule: {
92
+ type: "string",
93
+ description: "Mevcut modül adı",
94
+ },
95
+ },
96
+ required: ["referenceId", "rootModule", "currentModule"],
97
+ },
98
+ handler: async (args) => {
99
+ const params = {};
100
+ if (args.referenceId !== undefined)
101
+ params.ReferenceId = String(args.referenceId);
102
+ if (args.rootModule !== undefined)
103
+ params.RootModule = String(args.rootModule);
104
+ if (args.currentModule !== undefined)
105
+ params.CurrentModule = String(args.currentModule);
106
+ const result = await client.request("GET", "/{site}/SystemTools/entity-dependencies", undefined, params);
107
+ return {
108
+ content: [
109
+ { type: "text", text: JSON.stringify(result, null, 2) },
110
+ ],
111
+ };
112
+ },
113
+ },
114
+ // ─── Global Search ────────────────────────────────────────
115
+ system_global_search: {
116
+ description: "Platform genelinde entity'ler üzerinde global arama yapar. Sonuçlara dahil edilecek ilişki türlerini (including) belirtebilirsiniz.",
117
+ inputSchema: {
118
+ type: "object",
119
+ properties: {
120
+ q: {
121
+ type: "string",
122
+ description: "Arama terimi",
123
+ },
124
+ including: {
125
+ type: "string",
126
+ description: "Dahil edilecek ilişkilerin virgülle ayrılmış listesi (örn: \"A,B,C\")",
127
+ },
128
+ },
129
+ required: ["q"],
130
+ },
131
+ handler: async (args) => {
132
+ const params = {};
133
+ if (args.q !== undefined)
134
+ params.Q = String(args.q);
135
+ if (args.including !== undefined)
136
+ params.Including = String(args.including);
137
+ const result = await client.request("GET", "/{site}/SystemTools/global-search", undefined, params);
138
+ return {
139
+ content: [
140
+ { type: "text", text: JSON.stringify(result, null, 2) },
141
+ ],
142
+ };
143
+ },
144
+ },
145
+ };
146
+ }
147
+ //# sourceMappingURL=system-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tools.js","sourceRoot":"","sources":["../../src/tools/system-tools.ts"],"names":[],"mappings":"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"}