@appaflytech/wappa-mcp 0.0.9 → 0.0.11
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.
- package/README.md +40 -0
- package/dist/auth.d.ts +25 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +35 -0
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +34 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +112 -8
- package/dist/client.js.map +1 -1
- package/dist/factory.d.ts +32 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +248 -0
- package/dist/factory.js.map +1 -0
- package/dist/http/auth.d.ts +33 -0
- package/dist/http/auth.d.ts.map +1 -0
- package/dist/http/auth.js +55 -0
- package/dist/http/auth.js.map +1 -0
- package/dist/http/session.d.ts +30 -0
- package/dist/http/session.d.ts.map +1 -0
- package/dist/http/session.js +56 -0
- package/dist/http/session.js.map +1 -0
- package/dist/http/transport.d.ts +21 -0
- package/dist/http/transport.d.ts.map +1 -0
- package/dist/http/transport.js +101 -0
- package/dist/http/transport.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -262
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +25 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +94 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/dynamic-entities.d.ts +10 -0
- package/dist/tools/dynamic-entities.d.ts.map +1 -1
- package/dist/tools/dynamic-entities.js +77 -2
- package/dist/tools/dynamic-entities.js.map +1 -1
- package/dist/tools/entities.d.ts.map +1 -1
- package/dist/tools/entities.js +297 -4
- package/dist/tools/entities.js.map +1 -1
- package/dist/tools/layouts.d.ts.map +1 -1
- package/dist/tools/layouts.js +1 -2
- package/dist/tools/layouts.js.map +1 -1
- package/dist/tools/organizations.d.ts +178 -0
- package/dist/tools/organizations.d.ts.map +1 -0
- package/dist/tools/organizations.js +158 -0
- package/dist/tools/organizations.js.map +1 -0
- package/dist/tools/pages.d.ts +8 -0
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +348 -24
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/plans.d.ts +293 -0
- package/dist/tools/plans.d.ts.map +1 -0
- package/dist/tools/plans.js +213 -0
- package/dist/tools/plans.js.map +1 -0
- package/dist/tools/push-notifications.d.ts +261 -0
- package/dist/tools/push-notifications.d.ts.map +1 -0
- package/dist/tools/push-notifications.js +246 -0
- package/dist/tools/push-notifications.js.map +1 -0
- package/dist/tools/queries.d.ts +29 -0
- package/dist/tools/queries.d.ts.map +1 -1
- package/dist/tools/queries.js +106 -14
- package/dist/tools/queries.js.map +1 -1
- package/dist/tools/subscriptions.d.ts +166 -0
- package/dist/tools/subscriptions.d.ts.map +1 -0
- package/dist/tools/subscriptions.js +144 -0
- package/dist/tools/subscriptions.js.map +1 -0
- package/package.json +20 -4
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools for WAPPA Push Notification operations
|
|
3
|
+
*
|
|
4
|
+
* Covers admin push: device-token stats/listing, sending notifications,
|
|
5
|
+
* delivery history, and per-tenant push provider credentials
|
|
6
|
+
* (Firebase/FCM for Android, APNs for iOS).
|
|
7
|
+
*
|
|
8
|
+
* These endpoints are global (not scoped to the active {site}); a `siteKey`
|
|
9
|
+
* query param / body field is used to target a specific tenant.
|
|
10
|
+
*/
|
|
11
|
+
import { WapClient } from "../client.js";
|
|
12
|
+
export declare function getPushNotificationTools(client: WapClient): {
|
|
13
|
+
get_push_token_stats: {
|
|
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
|
+
list_push_tokens: {
|
|
27
|
+
description: string;
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: "object";
|
|
30
|
+
properties: {
|
|
31
|
+
siteKey: {
|
|
32
|
+
type: string;
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
handler: (args: {
|
|
38
|
+
siteKey?: string;
|
|
39
|
+
}) => Promise<{
|
|
40
|
+
content: {
|
|
41
|
+
type: "text";
|
|
42
|
+
text: string;
|
|
43
|
+
}[];
|
|
44
|
+
}>;
|
|
45
|
+
};
|
|
46
|
+
get_notification_history: {
|
|
47
|
+
description: string;
|
|
48
|
+
inputSchema: {
|
|
49
|
+
type: "object";
|
|
50
|
+
properties: {
|
|
51
|
+
siteKey: {
|
|
52
|
+
type: string;
|
|
53
|
+
description: string;
|
|
54
|
+
};
|
|
55
|
+
page: {
|
|
56
|
+
type: string;
|
|
57
|
+
description: string;
|
|
58
|
+
};
|
|
59
|
+
pageSize: {
|
|
60
|
+
type: string;
|
|
61
|
+
description: string;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
handler: (args: {
|
|
66
|
+
siteKey?: string;
|
|
67
|
+
page?: number;
|
|
68
|
+
pageSize?: number;
|
|
69
|
+
}) => Promise<{
|
|
70
|
+
content: {
|
|
71
|
+
type: "text";
|
|
72
|
+
text: string;
|
|
73
|
+
}[];
|
|
74
|
+
}>;
|
|
75
|
+
};
|
|
76
|
+
send_notification: {
|
|
77
|
+
description: string;
|
|
78
|
+
inputSchema: {
|
|
79
|
+
type: "object";
|
|
80
|
+
properties: {
|
|
81
|
+
title: {
|
|
82
|
+
type: string;
|
|
83
|
+
description: string;
|
|
84
|
+
};
|
|
85
|
+
body: {
|
|
86
|
+
type: string;
|
|
87
|
+
description: string;
|
|
88
|
+
};
|
|
89
|
+
target: {
|
|
90
|
+
type: string;
|
|
91
|
+
description: string;
|
|
92
|
+
};
|
|
93
|
+
data: {
|
|
94
|
+
type: string;
|
|
95
|
+
description: string;
|
|
96
|
+
};
|
|
97
|
+
sound: {
|
|
98
|
+
type: string;
|
|
99
|
+
description: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
required: string[];
|
|
103
|
+
};
|
|
104
|
+
handler: (args: Record<string, unknown>) => Promise<{
|
|
105
|
+
content: {
|
|
106
|
+
type: "text";
|
|
107
|
+
text: string;
|
|
108
|
+
}[];
|
|
109
|
+
}>;
|
|
110
|
+
};
|
|
111
|
+
get_firebase_credential: {
|
|
112
|
+
description: string;
|
|
113
|
+
inputSchema: {
|
|
114
|
+
type: "object";
|
|
115
|
+
properties: {
|
|
116
|
+
siteKey: {
|
|
117
|
+
type: string;
|
|
118
|
+
description: string;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
required: string[];
|
|
122
|
+
};
|
|
123
|
+
handler: (args: {
|
|
124
|
+
siteKey: string;
|
|
125
|
+
}) => Promise<{
|
|
126
|
+
content: {
|
|
127
|
+
type: "text";
|
|
128
|
+
text: string;
|
|
129
|
+
}[];
|
|
130
|
+
}>;
|
|
131
|
+
};
|
|
132
|
+
set_firebase_credential: {
|
|
133
|
+
description: string;
|
|
134
|
+
inputSchema: {
|
|
135
|
+
type: "object";
|
|
136
|
+
properties: {
|
|
137
|
+
siteKey: {
|
|
138
|
+
type: string;
|
|
139
|
+
description: string;
|
|
140
|
+
};
|
|
141
|
+
serviceAccountJson: {
|
|
142
|
+
type: string;
|
|
143
|
+
description: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
required: string[];
|
|
147
|
+
};
|
|
148
|
+
handler: (args: {
|
|
149
|
+
siteKey: string;
|
|
150
|
+
serviceAccountJson: string;
|
|
151
|
+
}) => Promise<{
|
|
152
|
+
content: {
|
|
153
|
+
type: "text";
|
|
154
|
+
text: string;
|
|
155
|
+
}[];
|
|
156
|
+
}>;
|
|
157
|
+
};
|
|
158
|
+
delete_firebase_credential: {
|
|
159
|
+
description: string;
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: "object";
|
|
162
|
+
properties: {
|
|
163
|
+
siteKey: {
|
|
164
|
+
type: string;
|
|
165
|
+
description: string;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
required: string[];
|
|
169
|
+
};
|
|
170
|
+
handler: (args: {
|
|
171
|
+
siteKey: string;
|
|
172
|
+
}) => Promise<{
|
|
173
|
+
content: {
|
|
174
|
+
type: "text";
|
|
175
|
+
text: string;
|
|
176
|
+
}[];
|
|
177
|
+
}>;
|
|
178
|
+
};
|
|
179
|
+
get_apns_credential: {
|
|
180
|
+
description: string;
|
|
181
|
+
inputSchema: {
|
|
182
|
+
type: "object";
|
|
183
|
+
properties: {
|
|
184
|
+
siteKey: {
|
|
185
|
+
type: string;
|
|
186
|
+
description: string;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
required: string[];
|
|
190
|
+
};
|
|
191
|
+
handler: (args: {
|
|
192
|
+
siteKey: string;
|
|
193
|
+
}) => Promise<{
|
|
194
|
+
content: {
|
|
195
|
+
type: "text";
|
|
196
|
+
text: string;
|
|
197
|
+
}[];
|
|
198
|
+
}>;
|
|
199
|
+
};
|
|
200
|
+
set_apns_credential: {
|
|
201
|
+
description: string;
|
|
202
|
+
inputSchema: {
|
|
203
|
+
type: "object";
|
|
204
|
+
properties: {
|
|
205
|
+
siteKey: {
|
|
206
|
+
type: string;
|
|
207
|
+
description: string;
|
|
208
|
+
};
|
|
209
|
+
keyId: {
|
|
210
|
+
type: string;
|
|
211
|
+
description: string;
|
|
212
|
+
};
|
|
213
|
+
teamId: {
|
|
214
|
+
type: string;
|
|
215
|
+
description: string;
|
|
216
|
+
};
|
|
217
|
+
bundleId: {
|
|
218
|
+
type: string;
|
|
219
|
+
description: string;
|
|
220
|
+
};
|
|
221
|
+
privateKey: {
|
|
222
|
+
type: string;
|
|
223
|
+
description: string;
|
|
224
|
+
};
|
|
225
|
+
useSandbox: {
|
|
226
|
+
type: string;
|
|
227
|
+
description: string;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
required: string[];
|
|
231
|
+
};
|
|
232
|
+
handler: (args: Record<string, unknown>) => Promise<{
|
|
233
|
+
content: {
|
|
234
|
+
type: "text";
|
|
235
|
+
text: string;
|
|
236
|
+
}[];
|
|
237
|
+
}>;
|
|
238
|
+
};
|
|
239
|
+
delete_apns_credential: {
|
|
240
|
+
description: string;
|
|
241
|
+
inputSchema: {
|
|
242
|
+
type: "object";
|
|
243
|
+
properties: {
|
|
244
|
+
siteKey: {
|
|
245
|
+
type: string;
|
|
246
|
+
description: string;
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
required: string[];
|
|
250
|
+
};
|
|
251
|
+
handler: (args: {
|
|
252
|
+
siteKey: string;
|
|
253
|
+
}) => Promise<{
|
|
254
|
+
content: {
|
|
255
|
+
type: "text";
|
|
256
|
+
text: string;
|
|
257
|
+
}[];
|
|
258
|
+
}>;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
//# sourceMappingURL=push-notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-notifications.d.ts","sourceRoot":"","sources":["../../src/tools/push-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAazC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;wBAiC9B;YAAE,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyBpB;YACpB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiCqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;wBAqBvB;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;wBAwBnB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,kBAAkB,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;wBAmB/C;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;wBAqBnB;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgCnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;wBAmBvB;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;;;;;;;EAU9C"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools for WAPPA Push Notification operations
|
|
3
|
+
*
|
|
4
|
+
* Covers admin push: device-token stats/listing, sending notifications,
|
|
5
|
+
* delivery history, and per-tenant push provider credentials
|
|
6
|
+
* (Firebase/FCM for Android, APNs for iOS).
|
|
7
|
+
*
|
|
8
|
+
* These endpoints are global (not scoped to the active {site}); a `siteKey`
|
|
9
|
+
* query param / body field is used to target a specific tenant.
|
|
10
|
+
*/
|
|
11
|
+
const TARGET_HINT = `Hedef kitle. Temel hedefler:
|
|
12
|
+
- "all" — tüm cihazlar (varsayılan)
|
|
13
|
+
- "site:<siteKey>" — belirli bir sitenin cihazları
|
|
14
|
+
- "user:<publicUserId>" — belirli bir kullanıcının cihazları
|
|
15
|
+
- "token:<token>" — tek bir cihaz (kayıt token'ı ile)
|
|
16
|
+
Ek filtreler temel hedefe eklenebilir: ":platform:ios" / ":platform:android" ve ":lang:<kod>" (örn. ":lang:tr-tr").
|
|
17
|
+
Örnek: "site:glomil:platform:ios" veya "all:lang:tr-tr".`;
|
|
18
|
+
const SOUND_HINT = 'Bildirim sesi: "default" (varsayılan OS sesi), "" veya "none" (sessiz), ya da pakete gömülü özel ses dosyası adı. Varsayılan: "default".';
|
|
19
|
+
export function getPushNotificationTools(client) {
|
|
20
|
+
return {
|
|
21
|
+
// ─── Token Stats ──────────────────────────────────────
|
|
22
|
+
get_push_token_stats: {
|
|
23
|
+
description: "Kayıtlı push cihaz token'larının istatistiklerini getirir (toplam, ios, android ve site bazında dağılım).",
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: "object",
|
|
26
|
+
properties: {},
|
|
27
|
+
},
|
|
28
|
+
handler: async () => {
|
|
29
|
+
const result = await client.getPushTokenStats();
|
|
30
|
+
return {
|
|
31
|
+
content: [
|
|
32
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
// ─── List Tokens ──────────────────────────────────────
|
|
38
|
+
list_push_tokens: {
|
|
39
|
+
description: "Kayıtlı cihaz token'larını listeler. Opsiyonel olarak siteKey ile bir siteye göre filtrelenebilir.",
|
|
40
|
+
inputSchema: {
|
|
41
|
+
type: "object",
|
|
42
|
+
properties: {
|
|
43
|
+
siteKey: {
|
|
44
|
+
type: "string",
|
|
45
|
+
description: "Filtrelenecek site anahtarı (opsiyonel)",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
handler: async (args) => {
|
|
50
|
+
const result = await client.getPushTokens(args.siteKey);
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
// ─── Notification History ─────────────────────────────
|
|
59
|
+
get_notification_history: {
|
|
60
|
+
description: "Geçmiş bildirim gönderimlerini sayfalı olarak getirir (başarılı/başarısız sayıları ve hata kırılımı dahil). siteKey ile filtrelenebilir.",
|
|
61
|
+
inputSchema: {
|
|
62
|
+
type: "object",
|
|
63
|
+
properties: {
|
|
64
|
+
siteKey: {
|
|
65
|
+
type: "string",
|
|
66
|
+
description: "Filtrelenecek site anahtarı (opsiyonel)",
|
|
67
|
+
},
|
|
68
|
+
page: { type: "number", description: "Sayfa numarası (1-based, varsayılan 1)" },
|
|
69
|
+
pageSize: { type: "number", description: "Sayfa boyutu (varsayılan 20)" },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
handler: async (args) => {
|
|
73
|
+
const params = {};
|
|
74
|
+
if (args.siteKey !== undefined)
|
|
75
|
+
params.siteKey = args.siteKey;
|
|
76
|
+
if (args.page !== undefined)
|
|
77
|
+
params.page = String(args.page);
|
|
78
|
+
if (args.pageSize !== undefined)
|
|
79
|
+
params.pageSize = String(args.pageSize);
|
|
80
|
+
const result = await client.getNotificationHistory(params);
|
|
81
|
+
return {
|
|
82
|
+
content: [
|
|
83
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
84
|
+
],
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
// ─── Send Notification ────────────────────────────────
|
|
89
|
+
send_notification: {
|
|
90
|
+
description: `Mobil cihazlara push bildirimi gönderir.
|
|
91
|
+
Hedefin push sağlayıcı kimlik bilgileri (Firebase/APNs) yapılandırılmış olmalıdır.
|
|
92
|
+
'data': Bildirimle taşınacak isteğe bağlı özel veri (key/value).`,
|
|
93
|
+
inputSchema: {
|
|
94
|
+
type: "object",
|
|
95
|
+
properties: {
|
|
96
|
+
title: { type: "string", description: "Bildirim başlığı" },
|
|
97
|
+
body: { type: "string", description: "Bildirim metni" },
|
|
98
|
+
target: { type: "string", description: TARGET_HINT },
|
|
99
|
+
data: {
|
|
100
|
+
type: "object",
|
|
101
|
+
description: "Bildirimle taşınacak özel veri (opsiyonel)",
|
|
102
|
+
},
|
|
103
|
+
sound: { type: "string", description: SOUND_HINT },
|
|
104
|
+
},
|
|
105
|
+
required: ["title", "body"],
|
|
106
|
+
},
|
|
107
|
+
handler: async (args) => {
|
|
108
|
+
const result = await client.sendNotification(args);
|
|
109
|
+
return {
|
|
110
|
+
content: [
|
|
111
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
// ─── Firebase (Android/FCM) Credential ────────────────
|
|
117
|
+
get_firebase_credential: {
|
|
118
|
+
description: "Bir sitenin Firebase (FCM) servis hesabı yapılandırma durumunu getirir. Gizli anahtar döndürülmez.",
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: "object",
|
|
121
|
+
properties: {
|
|
122
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
123
|
+
},
|
|
124
|
+
required: ["siteKey"],
|
|
125
|
+
},
|
|
126
|
+
handler: async (args) => {
|
|
127
|
+
const result = await client.getFirebaseCredential(args.siteKey);
|
|
128
|
+
return {
|
|
129
|
+
content: [
|
|
130
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
131
|
+
],
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
set_firebase_credential: {
|
|
136
|
+
description: `Bir sitenin Firebase (FCM, Android) servis hesabını bağlar veya değiştirir.
|
|
137
|
+
'serviceAccountJson': Firebase konsolundan indirilen tam servis-hesabı JSON içeriği (string). Şifrelenmiş saklanır.`,
|
|
138
|
+
inputSchema: {
|
|
139
|
+
type: "object",
|
|
140
|
+
properties: {
|
|
141
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
142
|
+
serviceAccountJson: {
|
|
143
|
+
type: "string",
|
|
144
|
+
description: "Firebase servis-hesabı JSON içeriği (tam JSON, string olarak)",
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
required: ["siteKey", "serviceAccountJson"],
|
|
148
|
+
},
|
|
149
|
+
handler: async (args) => {
|
|
150
|
+
const result = await client.setFirebaseCredential(args);
|
|
151
|
+
return {
|
|
152
|
+
content: [
|
|
153
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
154
|
+
],
|
|
155
|
+
};
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
delete_firebase_credential: {
|
|
159
|
+
description: "Bir sitenin Firebase (FCM) servis hesabı bağlantısını kaldırır.",
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: "object",
|
|
162
|
+
properties: {
|
|
163
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
164
|
+
},
|
|
165
|
+
required: ["siteKey"],
|
|
166
|
+
},
|
|
167
|
+
handler: async (args) => {
|
|
168
|
+
const result = await client.deleteFirebaseCredential(args.siteKey);
|
|
169
|
+
return {
|
|
170
|
+
content: [
|
|
171
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
172
|
+
],
|
|
173
|
+
};
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
// ─── APNs (iOS) Credential ────────────────────────────
|
|
177
|
+
get_apns_credential: {
|
|
178
|
+
description: "Bir sitenin Apple APNs (iOS) Auth Key yapılandırma durumunu getirir. Gizli anahtar döndürülmez.",
|
|
179
|
+
inputSchema: {
|
|
180
|
+
type: "object",
|
|
181
|
+
properties: {
|
|
182
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
183
|
+
},
|
|
184
|
+
required: ["siteKey"],
|
|
185
|
+
},
|
|
186
|
+
handler: async (args) => {
|
|
187
|
+
const result = await client.getApnsCredential(args.siteKey);
|
|
188
|
+
return {
|
|
189
|
+
content: [
|
|
190
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
191
|
+
],
|
|
192
|
+
};
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
set_apns_credential: {
|
|
196
|
+
description: `Bir sitenin Apple APNs (iOS) Auth Key'ini bağlar veya değiştirir.
|
|
197
|
+
'privateKey': .p8 Auth Key dosyasının PEM içeriği (string). Şifrelenmiş saklanır.
|
|
198
|
+
'useSandbox': dev/Xcode derlemeleri için true (sandbox APNs); TestFlight/App Store için false.`,
|
|
199
|
+
inputSchema: {
|
|
200
|
+
type: "object",
|
|
201
|
+
properties: {
|
|
202
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
203
|
+
keyId: { type: "string", description: "APNs Key ID" },
|
|
204
|
+
teamId: { type: "string", description: "Apple Team ID" },
|
|
205
|
+
bundleId: { type: "string", description: "Uygulama Bundle ID" },
|
|
206
|
+
privateKey: {
|
|
207
|
+
type: "string",
|
|
208
|
+
description: ".p8 Auth Key PEM içeriği (string olarak)",
|
|
209
|
+
},
|
|
210
|
+
useSandbox: {
|
|
211
|
+
type: "boolean",
|
|
212
|
+
description: "Sandbox APNs kullanılsın mı? (dev için true)",
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
required: ["siteKey", "keyId", "teamId", "bundleId", "privateKey"],
|
|
216
|
+
},
|
|
217
|
+
handler: async (args) => {
|
|
218
|
+
const result = await client.setApnsCredential(args);
|
|
219
|
+
return {
|
|
220
|
+
content: [
|
|
221
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
222
|
+
],
|
|
223
|
+
};
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
delete_apns_credential: {
|
|
227
|
+
description: "Bir sitenin Apple APNs (iOS) Auth Key bağlantısını kaldırır.",
|
|
228
|
+
inputSchema: {
|
|
229
|
+
type: "object",
|
|
230
|
+
properties: {
|
|
231
|
+
siteKey: { type: "string", description: "Site anahtarı" },
|
|
232
|
+
},
|
|
233
|
+
required: ["siteKey"],
|
|
234
|
+
},
|
|
235
|
+
handler: async (args) => {
|
|
236
|
+
const result = await client.deleteApnsCredential(args.siteKey);
|
|
237
|
+
return {
|
|
238
|
+
content: [
|
|
239
|
+
{ type: "text", text: JSON.stringify(result, null, 2) },
|
|
240
|
+
],
|
|
241
|
+
};
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=push-notifications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-notifications.js","sourceRoot":"","sources":["../../src/tools/push-notifications.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/queries.d.ts
CHANGED
|
@@ -114,10 +114,22 @@ export declare function getQueryTools(client: WapClient): {
|
|
|
114
114
|
type: string;
|
|
115
115
|
description: string;
|
|
116
116
|
};
|
|
117
|
+
schema: {
|
|
118
|
+
type: string;
|
|
119
|
+
description: string;
|
|
120
|
+
};
|
|
121
|
+
response: {
|
|
122
|
+
type: string;
|
|
123
|
+
description: string;
|
|
124
|
+
};
|
|
117
125
|
parameters: {
|
|
118
126
|
type: string;
|
|
119
127
|
description: string;
|
|
120
128
|
};
|
|
129
|
+
queryMaps: {
|
|
130
|
+
type: string;
|
|
131
|
+
description: string;
|
|
132
|
+
};
|
|
121
133
|
cache: {
|
|
122
134
|
type: string;
|
|
123
135
|
description: string;
|
|
@@ -166,14 +178,31 @@ export declare function getQueryTools(client: WapClient): {
|
|
|
166
178
|
type: string;
|
|
167
179
|
description: string;
|
|
168
180
|
};
|
|
181
|
+
type: {
|
|
182
|
+
type: string;
|
|
183
|
+
description: string;
|
|
184
|
+
enum: string[];
|
|
185
|
+
};
|
|
169
186
|
rawQuery: {
|
|
170
187
|
type: string;
|
|
171
188
|
description: string;
|
|
172
189
|
};
|
|
190
|
+
schema: {
|
|
191
|
+
type: string;
|
|
192
|
+
description: string;
|
|
193
|
+
};
|
|
194
|
+
response: {
|
|
195
|
+
type: string;
|
|
196
|
+
description: string;
|
|
197
|
+
};
|
|
173
198
|
parameters: {
|
|
174
199
|
type: string;
|
|
175
200
|
description: string;
|
|
176
201
|
};
|
|
202
|
+
queryMaps: {
|
|
203
|
+
type: string;
|
|
204
|
+
description: string;
|
|
205
|
+
};
|
|
177
206
|
cache: {
|
|
178
207
|
type: string;
|
|
179
208
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsBnB;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tools/queries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsBnB;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB;;;;;;;;;;;;;;;;;;;wBA4BqB;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;wBA6Bd;YACpB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAqFqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA+DvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;wBAsEvB;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE;;;;;;;EAUzC"}
|