lemonsqueezy-mcp-server 1.0.0

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 (97) hide show
  1. package/ENV_EXAMPLE.md +83 -0
  2. package/LICENSE +21 -0
  3. package/README.md +141 -0
  4. package/SETUP.md +244 -0
  5. package/dist/config.d.ts +25 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +80 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/config.test.d.ts +2 -0
  10. package/dist/config.test.d.ts.map +1 -0
  11. package/dist/config.test.js +55 -0
  12. package/dist/config.test.js.map +1 -0
  13. package/dist/connections/firebase.d.ts +3 -0
  14. package/dist/connections/firebase.d.ts.map +1 -0
  15. package/dist/connections/firebase.js +62 -0
  16. package/dist/connections/firebase.js.map +1 -0
  17. package/dist/connections/salesforce.d.ts +3 -0
  18. package/dist/connections/salesforce.d.ts.map +1 -0
  19. package/dist/connections/salesforce.js +307 -0
  20. package/dist/connections/salesforce.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +101 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/resources/payment-context.d.ts +14 -0
  26. package/dist/resources/payment-context.d.ts.map +1 -0
  27. package/dist/resources/payment-context.js +111 -0
  28. package/dist/resources/payment-context.js.map +1 -0
  29. package/dist/server.d.ts +36 -0
  30. package/dist/server.d.ts.map +1 -0
  31. package/dist/server.js +14 -0
  32. package/dist/server.js.map +1 -0
  33. package/dist/sync-last-purchase.d.ts +3 -0
  34. package/dist/sync-last-purchase.d.ts.map +1 -0
  35. package/dist/sync-last-purchase.js +113 -0
  36. package/dist/sync-last-purchase.js.map +1 -0
  37. package/dist/tools/definitions.d.ts +3768 -0
  38. package/dist/tools/definitions.d.ts.map +1 -0
  39. package/dist/tools/definitions.js +753 -0
  40. package/dist/tools/definitions.js.map +1 -0
  41. package/dist/tools/handlers/analytics.d.ts +21 -0
  42. package/dist/tools/handlers/analytics.d.ts.map +1 -0
  43. package/dist/tools/handlers/analytics.js +398 -0
  44. package/dist/tools/handlers/analytics.js.map +1 -0
  45. package/dist/tools/handlers/lemonsqueezy.d.ts +436 -0
  46. package/dist/tools/handlers/lemonsqueezy.d.ts.map +1 -0
  47. package/dist/tools/handlers/lemonsqueezy.js +481 -0
  48. package/dist/tools/handlers/lemonsqueezy.js.map +1 -0
  49. package/dist/tools/handlers/salesforce.d.ts +13 -0
  50. package/dist/tools/handlers/salesforce.d.ts.map +1 -0
  51. package/dist/tools/handlers/salesforce.js +54 -0
  52. package/dist/tools/handlers/salesforce.js.map +1 -0
  53. package/dist/tools/handlers/vos.d.ts +26 -0
  54. package/dist/tools/handlers/vos.d.ts.map +1 -0
  55. package/dist/tools/handlers/vos.js +207 -0
  56. package/dist/tools/handlers/vos.js.map +1 -0
  57. package/dist/tools/index.d.ts +7 -0
  58. package/dist/tools/index.d.ts.map +1 -0
  59. package/dist/tools/index.js +202 -0
  60. package/dist/tools/index.js.map +1 -0
  61. package/dist/types.d.ts +24 -0
  62. package/dist/types.d.ts.map +1 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +1 -0
  65. package/dist/utils/logger.d.ts +3 -0
  66. package/dist/utils/logger.d.ts.map +1 -0
  67. package/dist/utils/logger.js +8 -0
  68. package/dist/utils/logger.js.map +1 -0
  69. package/dist/utils/response.d.ts +14 -0
  70. package/dist/utils/response.d.ts.map +1 -0
  71. package/dist/utils/response.js +17 -0
  72. package/dist/utils/response.js.map +1 -0
  73. package/dist/utils/retry.d.ts +11 -0
  74. package/dist/utils/retry.d.ts.map +1 -0
  75. package/dist/utils/retry.js +36 -0
  76. package/dist/utils/retry.js.map +1 -0
  77. package/dist/utils/secrets/provider.d.ts +30 -0
  78. package/dist/utils/secrets/provider.d.ts.map +1 -0
  79. package/dist/utils/secrets/provider.js +51 -0
  80. package/dist/utils/secrets/provider.js.map +1 -0
  81. package/dist/utils/secrets.d.ts +7 -0
  82. package/dist/utils/secrets.d.ts.map +1 -0
  83. package/dist/utils/secrets.js +16 -0
  84. package/dist/utils/secrets.js.map +1 -0
  85. package/dist/utils/validation.d.ts +580 -0
  86. package/dist/utils/validation.d.ts.map +1 -0
  87. package/dist/utils/validation.js +250 -0
  88. package/dist/utils/validation.js.map +1 -0
  89. package/dist/webhooks/listener.d.ts +17 -0
  90. package/dist/webhooks/listener.d.ts.map +1 -0
  91. package/dist/webhooks/listener.js +140 -0
  92. package/dist/webhooks/listener.js.map +1 -0
  93. package/dist/webhooks/ngrok.d.ts +8 -0
  94. package/dist/webhooks/ngrok.d.ts.map +1 -0
  95. package/dist/webhooks/ngrok.js +50 -0
  96. package/dist/webhooks/ngrok.js.map +1 -0
  97. package/package.json +68 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare function handleGetFinancialMetrics(args: {
2
+ storeId?: number;
3
+ startDate?: string;
4
+ endDate?: string;
5
+ }): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ }>;
11
+ export declare function handlePredictChurnRisk(args: {
12
+ storeId?: number;
13
+ minRiskScore?: number;
14
+ limit?: number;
15
+ }): Promise<{
16
+ content: {
17
+ type: "text";
18
+ text: string;
19
+ }[];
20
+ }>;
21
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/analytics.ts"],"names":[],"mappings":"AAsEA,wBAAsB,yBAAyB,CAAC,IAAI,EAAE;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;GAyPA;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;GA4KA"}
@@ -0,0 +1,398 @@
1
+ import { listOrders, listSubscriptions } from "@lemonsqueezy/lemonsqueezy.js";
2
+ import { config } from "../../config.js";
3
+ import { createResponse, createErrorResponse } from "../../utils/response.js";
4
+ export async function handleGetFinancialMetrics(args) {
5
+ try {
6
+ const { storeId, startDate, endDate } = args;
7
+ const storeIdFilter = storeId || (config.lemonSqueezyStoreId ? parseInt(config.lemonSqueezyStoreId) : undefined);
8
+ const now = new Date();
9
+ const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
10
+ const thisWeek = new Date(today.getTime() - 7 * 24 * 60 * 60 * 1000);
11
+ const thisMonth = new Date(now.getFullYear(), now.getMonth(), 1);
12
+ const thisYear = new Date(now.getFullYear(), 0, 1);
13
+ const last30Days = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000);
14
+ const last90Days = new Date(now.getTime() - 90 * 24 * 60 * 60 * 1000);
15
+ const lastWeek = new Date(now.getTime() - 14 * 24 * 60 * 60 * 1000);
16
+ const lastMonth = new Date(now.getFullYear(), now.getMonth() - 1, 1);
17
+ const lastYear = new Date(now.getFullYear() - 1, 0, 1);
18
+ // Fetch all orders
19
+ const allOrders = [];
20
+ let page = 1;
21
+ let hasMore = true;
22
+ while (hasMore) {
23
+ const { data, error } = await listOrders({
24
+ filter: storeIdFilter ? { storeId: storeIdFilter } : undefined,
25
+ page: { number: page, size: 100 },
26
+ });
27
+ if (error)
28
+ throw new Error(error.message);
29
+ if (!data?.data)
30
+ break;
31
+ allOrders.push(...data.data);
32
+ // Check if there are more pages
33
+ if (data.meta?.page?.lastPage && page >= data.meta.page.lastPage) {
34
+ hasMore = false;
35
+ }
36
+ else {
37
+ page++;
38
+ if (page > 100)
39
+ break; // Safety limit
40
+ }
41
+ }
42
+ // Fetch all subscriptions
43
+ const allSubscriptions = [];
44
+ page = 1;
45
+ hasMore = true;
46
+ while (hasMore) {
47
+ const { data, error } = await listSubscriptions({
48
+ filter: storeIdFilter ? { storeId: storeIdFilter } : undefined,
49
+ page: { number: page, size: 100 },
50
+ });
51
+ if (error)
52
+ throw new Error(error.message);
53
+ if (!data?.data)
54
+ break;
55
+ allSubscriptions.push(...data.data);
56
+ if (data.meta?.page?.lastPage && page >= data.meta.page.lastPage) {
57
+ hasMore = false;
58
+ }
59
+ else {
60
+ page++;
61
+ if (page > 100)
62
+ break;
63
+ }
64
+ }
65
+ // Helper to parse amount (handles both cents and formatted strings)
66
+ const parseAmount = (amount) => {
67
+ if (typeof amount === "number")
68
+ return amount / 100; // Assume cents
69
+ if (typeof amount === "string") {
70
+ const cleaned = amount.replace(/[^0-9.-]/g, "");
71
+ return parseFloat(cleaned) || 0;
72
+ }
73
+ return 0;
74
+ };
75
+ // Filter orders by date if provided
76
+ const filterDate = (order) => {
77
+ if (!startDate && !endDate)
78
+ return true;
79
+ const orderDate = new Date(order.attributes.created_at);
80
+ if (startDate && orderDate < new Date(startDate))
81
+ return false;
82
+ if (endDate && orderDate > new Date(endDate))
83
+ return false;
84
+ return true;
85
+ };
86
+ const filteredOrders = allOrders.filter(filterDate);
87
+ // Calculate revenue metrics
88
+ const calculateRevenue = (orders, start, end) => {
89
+ return orders
90
+ .filter((o) => {
91
+ const orderDate = new Date(o.attributes.created_at);
92
+ return orderDate >= start && orderDate <= end && o.attributes.status === "paid";
93
+ })
94
+ .reduce((sum, o) => sum + parseAmount(o.attributes.total), 0);
95
+ };
96
+ const revenueToday = calculateRevenue(filteredOrders, today, now);
97
+ const revenueThisWeek = calculateRevenue(filteredOrders, thisWeek, now);
98
+ const revenueThisMonth = calculateRevenue(filteredOrders, thisMonth, now);
99
+ const revenueThisYear = calculateRevenue(filteredOrders, thisYear, now);
100
+ const revenueLast30Days = calculateRevenue(filteredOrders, last30Days, now);
101
+ const revenueLast90Days = calculateRevenue(filteredOrders, last90Days, now);
102
+ const revenueLastWeek = calculateRevenue(filteredOrders, lastWeek, thisWeek);
103
+ const revenueLastMonth = calculateRevenue(filteredOrders, lastMonth, thisMonth);
104
+ const revenueLastYear = calculateRevenue(filteredOrders, lastYear, thisYear);
105
+ const totalRevenue = filteredOrders
106
+ .filter((o) => o.attributes.status === "paid")
107
+ .reduce((sum, o) => sum + parseAmount(o.attributes.total), 0);
108
+ // Calculate growth rates
109
+ const calculateGrowth = (current, previous) => {
110
+ if (previous === 0)
111
+ return current > 0 ? 100 : 0;
112
+ return ((current - previous) / previous) * 100;
113
+ };
114
+ // Calculate MRR and ARR from active subscriptions
115
+ const activeSubs = allSubscriptions.filter((s) => s.attributes.status === "active");
116
+ const mrr = activeSubs.reduce((sum, s) => {
117
+ const amount = parseAmount(s.attributes.variant_amount || s.attributes.recurring_amount);
118
+ // Normalize to monthly (assume amounts are already monthly, adjust if needed)
119
+ return sum + amount;
120
+ }, 0);
121
+ const arr = mrr * 12;
122
+ // Calculate subscription metrics
123
+ const cancelledSubs = allSubscriptions.filter((s) => s.attributes.status === "cancelled");
124
+ const newSubsThisMonth = allSubscriptions.filter((s) => {
125
+ const created = new Date(s.attributes.created_at);
126
+ return created >= thisMonth && created <= now;
127
+ });
128
+ const churnRate = activeSubs.length + cancelledSubs.length > 0
129
+ ? (cancelledSubs.length / (activeSubs.length + cancelledSubs.length)) * 100
130
+ : 0;
131
+ // Calculate order metrics
132
+ const paidOrders = filteredOrders.filter((o) => o.attributes.status === "paid");
133
+ const refundedOrders = filteredOrders.filter((o) => o.attributes.status === "refunded");
134
+ const failedOrders = filteredOrders.filter((o) => o.attributes.status === "failed");
135
+ const averageOrderValue = paidOrders.length > 0
136
+ ? totalRevenue / paidOrders.length
137
+ : 0;
138
+ const ordersToday = filteredOrders.filter((o) => {
139
+ const orderDate = new Date(o.attributes.created_at);
140
+ return orderDate >= today && orderDate <= now;
141
+ }).length;
142
+ const ordersThisWeek = filteredOrders.filter((o) => {
143
+ const orderDate = new Date(o.attributes.created_at);
144
+ return orderDate >= thisWeek && orderDate <= now;
145
+ }).length;
146
+ const ordersThisMonth = filteredOrders.filter((o) => {
147
+ const orderDate = new Date(o.attributes.created_at);
148
+ return orderDate >= thisMonth && orderDate <= now;
149
+ }).length;
150
+ const ordersThisYear = filteredOrders.filter((o) => {
151
+ const orderDate = new Date(o.attributes.created_at);
152
+ return orderDate >= thisYear && orderDate <= now;
153
+ }).length;
154
+ // Calculate customer metrics
155
+ const uniqueCustomers = new Set();
156
+ filteredOrders.forEach((o) => {
157
+ if (o.attributes.user_email)
158
+ uniqueCustomers.add(o.attributes.user_email);
159
+ });
160
+ const newCustomersThisMonth = new Set();
161
+ filteredOrders
162
+ .filter((o) => {
163
+ const orderDate = new Date(o.attributes.created_at);
164
+ return orderDate >= thisMonth && orderDate <= now;
165
+ })
166
+ .forEach((o) => {
167
+ if (o.attributes.user_email)
168
+ newCustomersThisMonth.add(o.attributes.user_email);
169
+ });
170
+ const customersWithActiveSubs = new Set();
171
+ activeSubs.forEach((s) => {
172
+ if (s.attributes.user_email)
173
+ customersWithActiveSubs.add(s.attributes.user_email);
174
+ });
175
+ const formatCurrency = (amount) => {
176
+ return new Intl.NumberFormat("en-US", {
177
+ style: "currency",
178
+ currency: "USD",
179
+ minimumFractionDigits: 2,
180
+ }).format(amount);
181
+ };
182
+ const metrics = {
183
+ revenue: {
184
+ total: totalRevenue,
185
+ totalFormatted: formatCurrency(totalRevenue),
186
+ byPeriod: {
187
+ today: revenueToday,
188
+ thisWeek: revenueThisWeek,
189
+ thisMonth: revenueThisMonth,
190
+ thisYear: revenueThisYear,
191
+ last30Days: revenueLast30Days,
192
+ last90Days: revenueLast90Days,
193
+ },
194
+ growth: {
195
+ weekOverWeek: calculateGrowth(revenueThisWeek, revenueLastWeek),
196
+ monthOverMonth: calculateGrowth(revenueThisMonth, revenueLastMonth),
197
+ yearOverYear: calculateGrowth(revenueThisYear, revenueLastYear),
198
+ },
199
+ },
200
+ subscriptions: {
201
+ mrr,
202
+ arr,
203
+ activeCount: activeSubs.length,
204
+ cancelledCount: cancelledSubs.length,
205
+ newThisMonth: newSubsThisMonth.length,
206
+ churnRate: parseFloat(churnRate.toFixed(2)),
207
+ },
208
+ orders: {
209
+ total: filteredOrders.length,
210
+ averageOrderValue,
211
+ averageOrderValueFormatted: formatCurrency(averageOrderValue),
212
+ paid: paidOrders.length,
213
+ refunded: refundedOrders.length,
214
+ failed: failedOrders.length,
215
+ byPeriod: {
216
+ today: ordersToday,
217
+ thisWeek: ordersThisWeek,
218
+ thisMonth: ordersThisMonth,
219
+ thisYear: ordersThisYear,
220
+ },
221
+ },
222
+ customers: {
223
+ total: uniqueCustomers.size,
224
+ newThisMonth: newCustomersThisMonth.size,
225
+ withActiveSubscriptions: customersWithActiveSubs.size,
226
+ },
227
+ period: {
228
+ calculatedAt: new Date().toISOString(),
229
+ storeId: storeIdFilter?.toString() || config.lemonSqueezyStoreId,
230
+ },
231
+ };
232
+ return createResponse(metrics);
233
+ }
234
+ catch (error) {
235
+ return createErrorResponse(error);
236
+ }
237
+ }
238
+ export async function handlePredictChurnRisk(args) {
239
+ try {
240
+ const { storeId, minRiskScore = 0, limit = 50 } = args;
241
+ const storeIdFilter = storeId || (config.lemonSqueezyStoreId ? parseInt(config.lemonSqueezyStoreId) : undefined);
242
+ // Fetch all subscriptions
243
+ const allSubscriptions = [];
244
+ let page = 1;
245
+ let hasMore = true;
246
+ while (hasMore) {
247
+ const { data, error } = await listSubscriptions({
248
+ filter: storeIdFilter ? { storeId: storeIdFilter } : undefined,
249
+ page: { number: page, size: 100 },
250
+ });
251
+ if (error)
252
+ throw new Error(error.message);
253
+ if (!data?.data)
254
+ break;
255
+ allSubscriptions.push(...data.data);
256
+ if (data.meta?.page?.lastPage && page >= data.meta.page.lastPage) {
257
+ hasMore = false;
258
+ }
259
+ else {
260
+ page++;
261
+ if (page > 100)
262
+ break;
263
+ }
264
+ }
265
+ // Fetch recent orders to check payment history
266
+ const { data: ordersData } = await listOrders({
267
+ filter: storeIdFilter ? { storeId: storeIdFilter } : undefined,
268
+ page: { number: 1, size: 100 },
269
+ });
270
+ const orders = ordersData?.data || [];
271
+ // Helper to parse amount
272
+ const parseAmount = (amount) => {
273
+ if (typeof amount === "number")
274
+ return amount / 100;
275
+ if (typeof amount === "string") {
276
+ const cleaned = amount.replace(/[^0-9.-]/g, "");
277
+ return parseFloat(cleaned) || 0;
278
+ }
279
+ return 0;
280
+ };
281
+ const now = new Date();
282
+ const predictions = [];
283
+ for (const sub of allSubscriptions) {
284
+ const attrs = sub.attributes;
285
+ const status = attrs.status || "";
286
+ // Skip already cancelled/expired subscriptions
287
+ if (["cancelled", "expired", "past_due"].includes(status.toLowerCase())) {
288
+ continue;
289
+ }
290
+ // Calculate risk factors
291
+ const factors = [];
292
+ let riskScore = 0;
293
+ // Factor 1: Subscription age (newer = higher risk)
294
+ const createdAt = new Date(attrs.created_at);
295
+ const daysActive = Math.floor((now.getTime() - createdAt.getTime()) / (1000 * 60 * 60 * 24));
296
+ if (daysActive < 30) {
297
+ riskScore += 20;
298
+ factors.push(`New subscription (${daysActive} days old)`);
299
+ }
300
+ else if (daysActive < 90) {
301
+ riskScore += 10;
302
+ factors.push(`Recent subscription (${daysActive} days old)`);
303
+ }
304
+ // Factor 2: Payment failures
305
+ const customerEmail = attrs.user_email || "";
306
+ const customerOrders = orders.filter((o) => o.attributes.user_email === customerEmail && o.attributes.status === "failed");
307
+ const paymentFailures = customerOrders.length;
308
+ if (paymentFailures > 0) {
309
+ riskScore += Math.min(paymentFailures * 15, 40);
310
+ factors.push(`${paymentFailures} failed payment(s)`);
311
+ }
312
+ // Factor 3: Subscription status
313
+ if (status.toLowerCase() === "on_grace_period") {
314
+ riskScore += 30;
315
+ factors.push("On grace period");
316
+ }
317
+ else if (status.toLowerCase() === "paused") {
318
+ riskScore += 25;
319
+ factors.push("Subscription paused");
320
+ }
321
+ // Factor 4: Low value subscription (might be less engaged)
322
+ const subscriptionValue = parseAmount(attrs.variant_amount || attrs.recurring_amount || 0);
323
+ if (subscriptionValue < 10) {
324
+ riskScore += 5;
325
+ factors.push("Low subscription value");
326
+ }
327
+ // Factor 5: No recent activity (check last payment)
328
+ const lastPaymentDate = attrs.renews_at || attrs.updated_at;
329
+ if (lastPaymentDate) {
330
+ const lastPayment = new Date(lastPaymentDate);
331
+ const daysSincePayment = Math.floor((now.getTime() - lastPayment.getTime()) / (1000 * 60 * 60 * 24));
332
+ if (daysSincePayment > 60) {
333
+ riskScore += 15;
334
+ factors.push(`No payment activity in ${daysSincePayment} days`);
335
+ }
336
+ }
337
+ // Factor 6: Cancellation date set (if applicable)
338
+ if (attrs.ends_at) {
339
+ riskScore += 35;
340
+ factors.push("Cancellation scheduled");
341
+ }
342
+ // Determine risk level
343
+ let riskLevel;
344
+ if (riskScore >= 70) {
345
+ riskLevel = "critical";
346
+ }
347
+ else if (riskScore >= 50) {
348
+ riskLevel = "high";
349
+ }
350
+ else if (riskScore >= 30) {
351
+ riskLevel = "medium";
352
+ }
353
+ else {
354
+ riskLevel = "low";
355
+ }
356
+ // Only include if meets minimum risk score
357
+ if (riskScore >= minRiskScore) {
358
+ predictions.push({
359
+ subscriptionId: sub.id,
360
+ customerEmail,
361
+ customerName: attrs.user_name || "Unknown",
362
+ riskScore: Math.min(riskScore, 100), // Cap at 100
363
+ riskLevel,
364
+ factors,
365
+ subscriptionValue,
366
+ subscriptionValueFormatted: new Intl.NumberFormat("en-US", {
367
+ style: "currency",
368
+ currency: "USD",
369
+ minimumFractionDigits: 2,
370
+ }).format(subscriptionValue),
371
+ daysActive,
372
+ lastPaymentDate: lastPaymentDate || undefined,
373
+ paymentFailures,
374
+ status,
375
+ });
376
+ }
377
+ }
378
+ // Sort by risk score (highest first) and limit
379
+ predictions.sort((a, b) => b.riskScore - a.riskScore);
380
+ const limited = predictions.slice(0, limit);
381
+ return createResponse({
382
+ totalAnalyzed: allSubscriptions.length,
383
+ atRiskCount: predictions.length,
384
+ predictions: limited,
385
+ summary: {
386
+ critical: limited.filter((p) => p.riskLevel === "critical").length,
387
+ high: limited.filter((p) => p.riskLevel === "high").length,
388
+ medium: limited.filter((p) => p.riskLevel === "medium").length,
389
+ low: limited.filter((p) => p.riskLevel === "low").length,
390
+ totalAtRiskValue: limited.reduce((sum, p) => sum + p.subscriptionValue, 0),
391
+ },
392
+ });
393
+ }
394
+ catch (error) {
395
+ return createErrorResponse(error);
396
+ }
397
+ }
398
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/tools/handlers/analytics.ts"],"names":[],"mappings":"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"}