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,481 @@
1
+ import { getStore, listStores, getCustomer, listCustomers, createCustomer, updateCustomer, archiveCustomer, getProduct, listProducts, getVariant, listVariants, getOrder, listOrders, getOrderItem, listOrderItems, generateOrderInvoice, issueOrderRefund, getSubscription, listSubscriptions, updateSubscription, cancelSubscription, getSubscriptionItem, listSubscriptionItems, getSubscriptionItemCurrentUsage, getSubscriptionInvoice, listSubscriptionInvoices, generateSubscriptionInvoice, issueSubscriptionInvoiceRefund, getDiscount, listDiscounts, createDiscount, deleteDiscount, getLicenseKey, listLicenseKeys, updateLicenseKey, getFile, listFiles, getUsageRecord, listUsageRecords, createUsageRecord, createCheckout, getWebhook, listWebhooks, createWebhook, updateWebhook, deleteWebhook, } from "@lemonsqueezy/lemonsqueezy.js";
2
+ import { createResponse } from "../../utils/response.js";
3
+ import { retry } from "../../utils/retry.js";
4
+ export async function handleGetStore(args) {
5
+ const { storeId } = args;
6
+ const { data, error } = await retry(() => getStore(storeId), undefined, { operation: "getStore", storeId });
7
+ if (error)
8
+ throw new Error(error.message);
9
+ return createResponse(data);
10
+ }
11
+ export async function handleListStores(args) {
12
+ const { page } = args;
13
+ const options = {};
14
+ if (page)
15
+ options.page = { number: page };
16
+ const { data, error } = await retry(() => listStores(options), undefined, { operation: "listStores", page });
17
+ if (error)
18
+ throw new Error(error.message);
19
+ return createResponse(data);
20
+ }
21
+ export async function handleGetCustomer(args) {
22
+ const { customerId } = args;
23
+ const { data, error } = await retry(() => getCustomer(customerId), undefined, { operation: "getCustomer", customerId });
24
+ if (error)
25
+ throw new Error(error.message);
26
+ return createResponse(data);
27
+ }
28
+ export async function handleListCustomers(args) {
29
+ const { email, page } = args;
30
+ const options = {};
31
+ if (email)
32
+ options.filter = { email };
33
+ if (page)
34
+ options.page = { number: page };
35
+ const { data, error } = await retry(() => listCustomers(options), undefined, { operation: "listCustomers", email, page });
36
+ if (error)
37
+ throw new Error(error.message);
38
+ return createResponse(data);
39
+ }
40
+ export async function handleCreateCustomer(args) {
41
+ const { storeId, name: customerName, email, city, country, region } = args;
42
+ const customer = { name: customerName, email };
43
+ if (city)
44
+ customer.city = city;
45
+ if (country)
46
+ customer.country = country;
47
+ if (region)
48
+ customer.region = region;
49
+ const { data, error } = await createCustomer(storeId, customer);
50
+ if (error)
51
+ throw new Error(error.message);
52
+ return createResponse(data);
53
+ }
54
+ export async function handleUpdateCustomer(args) {
55
+ const { customerId, name, email, city, country, region } = args;
56
+ const updates = {};
57
+ if (name)
58
+ updates.name = name;
59
+ if (email)
60
+ updates.email = email;
61
+ if (city)
62
+ updates.city = city;
63
+ if (country)
64
+ updates.country = country;
65
+ if (region)
66
+ updates.region = region;
67
+ const { data, error } = await updateCustomer(customerId, updates);
68
+ if (error)
69
+ throw new Error(error.message);
70
+ return createResponse(data);
71
+ }
72
+ export async function handleArchiveCustomer(args) {
73
+ const { customerId } = args;
74
+ const { data, error } = await archiveCustomer(customerId);
75
+ if (error)
76
+ throw new Error(error.message);
77
+ return createResponse(data);
78
+ }
79
+ export async function handleGetProduct(args) {
80
+ const { productId } = args;
81
+ const { data, error } = await getProduct(productId);
82
+ if (error)
83
+ throw new Error(error.message);
84
+ return createResponse(data);
85
+ }
86
+ export async function handleListProducts(args) {
87
+ const { storeId, page } = args;
88
+ const options = {};
89
+ if (storeId)
90
+ options.filter = { storeId };
91
+ if (page)
92
+ options.page = { number: page };
93
+ const { data, error } = await listProducts(options);
94
+ if (error)
95
+ throw new Error(error.message);
96
+ return createResponse(data);
97
+ }
98
+ export async function handleGetVariant(args) {
99
+ const { variantId } = args;
100
+ const { data, error } = await getVariant(variantId);
101
+ if (error)
102
+ throw new Error(error.message);
103
+ return createResponse(data);
104
+ }
105
+ export async function handleListVariants(args) {
106
+ const { productId, page } = args;
107
+ const options = {};
108
+ if (productId)
109
+ options.filter = { productId };
110
+ if (page)
111
+ options.page = { number: page };
112
+ const { data, error } = await listVariants(options);
113
+ if (error)
114
+ throw new Error(error.message);
115
+ return createResponse(data);
116
+ }
117
+ export async function handleGetOrder(args) {
118
+ const { orderId } = args;
119
+ const { data, error } = await getOrder(orderId);
120
+ if (error)
121
+ throw new Error(error.message);
122
+ return createResponse(data);
123
+ }
124
+ export async function handleListOrders(args) {
125
+ const { page, storeId } = args;
126
+ const options = {};
127
+ if (storeId)
128
+ options.filter = { storeId };
129
+ if (page)
130
+ options.page = { number: page };
131
+ const { data, error } = await retry(() => listOrders(options), undefined, { operation: "listOrders", page, storeId });
132
+ if (error)
133
+ throw new Error(error.message);
134
+ return createResponse(data);
135
+ }
136
+ export async function handleSearchOrders(args) {
137
+ const { userEmail } = args;
138
+ const { data, error } = await listOrders({ filter: { userEmail } });
139
+ if (error)
140
+ throw new Error(error.message);
141
+ return createResponse(data);
142
+ }
143
+ export async function handleGetOrderItem(args) {
144
+ const { orderItemId } = args;
145
+ const { data, error } = await getOrderItem(orderItemId);
146
+ if (error)
147
+ throw new Error(error.message);
148
+ return createResponse(data);
149
+ }
150
+ export async function handleListOrderItems(args) {
151
+ const { orderId, page } = args;
152
+ const options = {};
153
+ if (orderId)
154
+ options.filter = { orderId };
155
+ if (page)
156
+ options.page = { number: page };
157
+ const { data, error } = await listOrderItems(options);
158
+ if (error)
159
+ throw new Error(error.message);
160
+ return createResponse(data);
161
+ }
162
+ export async function handleGenerateOrderInvoice(args) {
163
+ const { orderId, name, email, address, city, state, zip, country } = args;
164
+ const params = {};
165
+ if (name)
166
+ params.name = name;
167
+ if (email)
168
+ params.email = email;
169
+ if (address)
170
+ params.address = address;
171
+ if (city)
172
+ params.city = city;
173
+ if (state)
174
+ params.state = state;
175
+ if (zip)
176
+ params.zip = zip;
177
+ if (country)
178
+ params.country = country;
179
+ const { data, error } = await generateOrderInvoice(orderId, params);
180
+ if (error)
181
+ throw new Error(error.message);
182
+ return createResponse(data);
183
+ }
184
+ export async function handleIssueOrderRefund(args) {
185
+ const { orderId, amount } = args;
186
+ const { data, error } = await issueOrderRefund(orderId, amount);
187
+ if (error)
188
+ throw new Error(error.message);
189
+ return createResponse(data);
190
+ }
191
+ export async function handleGetSubscription(args) {
192
+ const { subscriptionId } = args;
193
+ const { data, error } = await getSubscription(subscriptionId);
194
+ if (error)
195
+ throw new Error(error.message);
196
+ return createResponse(data);
197
+ }
198
+ export async function handleListSubscriptions(args) {
199
+ const { storeId, page } = args;
200
+ const options = {};
201
+ if (storeId)
202
+ options.filter = { storeId };
203
+ if (page)
204
+ options.page = { number: page };
205
+ const { data, error } = await retry(() => listSubscriptions(options), undefined, { operation: "listSubscriptions", page, storeId });
206
+ if (error)
207
+ throw new Error(error.message);
208
+ return createResponse(data);
209
+ }
210
+ export async function handleUpdateSubscription(args) {
211
+ const { subscriptionId, variantId, productId, billingAnchor } = args;
212
+ const updates = {};
213
+ if (variantId !== undefined)
214
+ updates.variantId = variantId;
215
+ if (productId !== undefined)
216
+ updates.productId = productId;
217
+ if (billingAnchor !== undefined)
218
+ updates.billingAnchor = billingAnchor;
219
+ const { data, error } = await updateSubscription(subscriptionId, updates);
220
+ if (error)
221
+ throw new Error(error.message);
222
+ return createResponse(data);
223
+ }
224
+ export async function handleCancelSubscription(args) {
225
+ const { subscriptionId } = args;
226
+ const { data, error } = await cancelSubscription(subscriptionId);
227
+ if (error)
228
+ throw new Error(error.message);
229
+ return createResponse(data);
230
+ }
231
+ export async function handleGetSubscriptionItem(args) {
232
+ const { subscriptionItemId } = args;
233
+ const { data, error } = await getSubscriptionItem(subscriptionItemId);
234
+ if (error)
235
+ throw new Error(error.message);
236
+ return createResponse(data);
237
+ }
238
+ export async function handleListSubscriptionItems(args) {
239
+ const { subscriptionId, page } = args;
240
+ const options = {};
241
+ if (subscriptionId)
242
+ options.filter = { subscriptionId };
243
+ if (page)
244
+ options.page = { number: page };
245
+ const { data, error } = await listSubscriptionItems(options);
246
+ if (error)
247
+ throw new Error(error.message);
248
+ return createResponse(data);
249
+ }
250
+ export async function handleGetSubscriptionItemUsage(args) {
251
+ const { subscriptionItemId } = args;
252
+ const { data, error } = await getSubscriptionItemCurrentUsage(subscriptionItemId);
253
+ if (error)
254
+ throw new Error(error.message);
255
+ return createResponse(data);
256
+ }
257
+ export async function handleGetSubscriptionInvoice(args) {
258
+ const { subscriptionInvoiceId } = args;
259
+ const { data, error } = await getSubscriptionInvoice(subscriptionInvoiceId);
260
+ if (error)
261
+ throw new Error(error.message);
262
+ return createResponse(data);
263
+ }
264
+ export async function handleListSubscriptionInvoices(args) {
265
+ const { subscriptionId, page } = args;
266
+ const options = {};
267
+ if (subscriptionId)
268
+ options.filter = { subscriptionId };
269
+ if (page)
270
+ options.page = { number: page };
271
+ const { data, error } = await listSubscriptionInvoices(options);
272
+ if (error)
273
+ throw new Error(error.message);
274
+ return createResponse(data);
275
+ }
276
+ export async function handleGenerateSubscriptionInvoice(args) {
277
+ const { subscriptionInvoiceId } = args;
278
+ const { data, error } = await generateSubscriptionInvoice(subscriptionInvoiceId, {});
279
+ if (error)
280
+ throw new Error(error.message);
281
+ return createResponse(data);
282
+ }
283
+ export async function handleIssueSubscriptionInvoiceRefund(args) {
284
+ const { subscriptionInvoiceId, amount } = args;
285
+ const { data, error } = await issueSubscriptionInvoiceRefund(subscriptionInvoiceId, amount);
286
+ if (error)
287
+ throw new Error(error.message);
288
+ return createResponse(data);
289
+ }
290
+ export async function handleGetDiscount(args) {
291
+ const { discountId } = args;
292
+ const { data, error } = await getDiscount(discountId);
293
+ if (error)
294
+ throw new Error(error.message);
295
+ return createResponse(data);
296
+ }
297
+ export async function handleListDiscounts(args) {
298
+ const { storeId, page } = args;
299
+ const options = {};
300
+ if (storeId)
301
+ options.filter = { storeId };
302
+ if (page)
303
+ options.page = { number: page };
304
+ const { data, error } = await listDiscounts(options);
305
+ if (error)
306
+ throw new Error(error.message);
307
+ return createResponse(data);
308
+ }
309
+ export async function handleCreateDiscount(args) {
310
+ const { storeId, name, code, amount, amountType, duration, durationInMonths } = args;
311
+ const discount = { name, code, amount, amountType, duration };
312
+ if (durationInMonths)
313
+ discount.durationInMonths = durationInMonths;
314
+ const { data, error } = await createDiscount(discount);
315
+ if (error)
316
+ throw new Error(error.message);
317
+ return createResponse(data);
318
+ }
319
+ export async function handleDeleteDiscount(args) {
320
+ const { discountId } = args;
321
+ const { data, error } = await deleteDiscount(discountId);
322
+ if (error)
323
+ throw new Error(error.message);
324
+ return createResponse(data);
325
+ }
326
+ export async function handleGetLicenseKey(args) {
327
+ const { licenseKeyId } = args;
328
+ const { data, error } = await getLicenseKey(licenseKeyId);
329
+ if (error)
330
+ throw new Error(error.message);
331
+ return createResponse(data);
332
+ }
333
+ export async function handleListLicenseKeys(args) {
334
+ const { storeId, orderId, page } = args;
335
+ const options = {};
336
+ if (storeId || orderId) {
337
+ options.filter = {};
338
+ if (storeId)
339
+ options.filter.storeId = storeId;
340
+ if (orderId)
341
+ options.filter.orderId = orderId;
342
+ }
343
+ if (page)
344
+ options.page = { number: page };
345
+ const { data, error } = await listLicenseKeys(options);
346
+ if (error)
347
+ throw new Error(error.message);
348
+ return createResponse(data);
349
+ }
350
+ export async function handleUpdateLicenseKey(args) {
351
+ const { licenseKeyId, status } = args;
352
+ const updates = {};
353
+ if (status)
354
+ updates.status = status;
355
+ const { data, error } = await updateLicenseKey(licenseKeyId, updates);
356
+ if (error)
357
+ throw new Error(error.message);
358
+ return createResponse(data);
359
+ }
360
+ export async function handleGetFile(args) {
361
+ const { fileId } = args;
362
+ const { data, error } = await getFile(fileId);
363
+ if (error)
364
+ throw new Error(error.message);
365
+ return createResponse(data);
366
+ }
367
+ export async function handleListFiles(args) {
368
+ const { productId, variantId, page } = args;
369
+ const options = {};
370
+ if (productId || variantId) {
371
+ options.filter = {};
372
+ if (productId)
373
+ options.filter.productId = productId;
374
+ if (variantId)
375
+ options.filter.variantId = variantId;
376
+ }
377
+ if (page)
378
+ options.page = { number: page };
379
+ const { data, error } = await listFiles(options);
380
+ if (error)
381
+ throw new Error(error.message);
382
+ return createResponse(data);
383
+ }
384
+ export async function handleGetUsageRecord(args) {
385
+ const { usageRecordId } = args;
386
+ const { data, error } = await getUsageRecord(usageRecordId);
387
+ if (error)
388
+ throw new Error(error.message);
389
+ return createResponse(data);
390
+ }
391
+ export async function handleListUsageRecords(args) {
392
+ const { subscriptionItemId, page } = args;
393
+ const options = {};
394
+ if (subscriptionItemId)
395
+ options.filter = { subscriptionItemId };
396
+ if (page)
397
+ options.page = { number: page };
398
+ const { data, error } = await listUsageRecords(options);
399
+ if (error)
400
+ throw new Error(error.message);
401
+ return createResponse(data);
402
+ }
403
+ export async function handleCreateUsageRecord(args) {
404
+ const { subscriptionItemId, quantity, action } = args;
405
+ const usageRecord = { subscriptionItemId, quantity, action };
406
+ const { data, error } = await createUsageRecord(usageRecord);
407
+ if (error)
408
+ throw new Error(error.message);
409
+ return createResponse(data);
410
+ }
411
+ export async function handleCreateCheckout(args) {
412
+ const { storeId, variantId, customPrice, productOptions, checkoutOptions, checkoutData, preview, expiresAt } = args;
413
+ const checkout = {};
414
+ if (customPrice)
415
+ checkout.customPrice = customPrice;
416
+ if (productOptions)
417
+ checkout.productOptions = productOptions;
418
+ if (checkoutOptions)
419
+ checkout.checkoutOptions = checkoutOptions;
420
+ if (checkoutData)
421
+ checkout.checkoutData = checkoutData;
422
+ if (preview !== undefined)
423
+ checkout.preview = preview;
424
+ if (expiresAt)
425
+ checkout.expiresAt = expiresAt;
426
+ const { data, error } = await createCheckout(storeId, variantId, checkout);
427
+ if (error)
428
+ throw new Error(error.message);
429
+ return createResponse(data);
430
+ }
431
+ export async function handleGetWebhook(args) {
432
+ const { webhookId } = args;
433
+ const { data, error } = await getWebhook(webhookId);
434
+ if (error)
435
+ throw new Error(error.message);
436
+ return createResponse(data);
437
+ }
438
+ export async function handleListWebhooks(args) {
439
+ const { storeId, page } = args;
440
+ const options = {};
441
+ if (storeId)
442
+ options.filter = { storeId };
443
+ if (page)
444
+ options.page = { number: page };
445
+ const { data, error } = await listWebhooks(options);
446
+ if (error)
447
+ throw new Error(error.message);
448
+ return createResponse(data);
449
+ }
450
+ export async function handleCreateWebhook(args) {
451
+ const { storeId, url, events, secret } = args;
452
+ const webhook = { url, events };
453
+ if (secret)
454
+ webhook.secret = secret;
455
+ const { data, error } = await createWebhook(storeId, webhook);
456
+ if (error)
457
+ throw new Error(error.message);
458
+ return createResponse(data);
459
+ }
460
+ export async function handleUpdateWebhook(args) {
461
+ const { webhookId, url, events, secret } = args;
462
+ const updates = {};
463
+ if (url)
464
+ updates.url = url;
465
+ if (events)
466
+ updates.events = events;
467
+ if (secret)
468
+ updates.secret = secret;
469
+ const { data, error } = await updateWebhook(webhookId, updates);
470
+ if (error)
471
+ throw new Error(error.message);
472
+ return createResponse(data);
473
+ }
474
+ export async function handleDeleteWebhook(args) {
475
+ const { webhookId } = args;
476
+ const { data, error } = await deleteWebhook(webhookId);
477
+ if (error)
478
+ throw new Error(error.message);
479
+ return createResponse(data);
480
+ }
481
+ //# sourceMappingURL=lemonsqueezy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lemonsqueezy.js","sourceRoot":"","sources":["../../../src/tools/handlers/lemonsqueezy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare function handleSyncCustomerToCRM(args: {
2
+ email: string;
3
+ name: string;
4
+ revenue?: number;
5
+ company?: string;
6
+ title?: string;
7
+ }): Promise<{
8
+ content: {
9
+ type: "text";
10
+ text: string;
11
+ }[];
12
+ }>;
13
+ //# sourceMappingURL=salesforce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salesforce.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/salesforce.ts"],"names":[],"mappings":"AAGA,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;GAkEA"}
@@ -0,0 +1,54 @@
1
+ import { getSalesforceConnection } from "../../connections/salesforce.js";
2
+ import { createResponse, createErrorResponse } from "../../utils/response.js";
3
+ export async function handleSyncCustomerToCRM(args) {
4
+ const { email, name: customerName, revenue, company, title } = args;
5
+ if (!email || !customerName) {
6
+ throw new Error("email and name are required");
7
+ }
8
+ try {
9
+ const conn = await getSalesforceConnection();
10
+ // Check if Lead with this email already exists
11
+ // Using SOQL with proper escaping to prevent injection
12
+ const escapedEmail = email.replace(/'/g, "''").replace(/\\/g, "\\\\");
13
+ const soqlQuery = `SELECT Id FROM Lead WHERE Email = '${escapedEmail}' LIMIT 1`;
14
+ const existingLeads = await conn.query(soqlQuery);
15
+ if (existingLeads.records && existingLeads.records.length > 0) {
16
+ const leadId = existingLeads.records[0].Id;
17
+ return createResponse({
18
+ success: true,
19
+ action: "found_existing",
20
+ leadId: leadId,
21
+ message: `Lead with email ${email} already exists in Salesforce`,
22
+ });
23
+ }
24
+ // Parse name into FirstName and LastName
25
+ // Split on spaces, use first part as FirstName, rest as LastName
26
+ const nameParts = customerName.trim().split(/\s+/);
27
+ const firstName = nameParts.length > 1 ? nameParts[0] : "";
28
+ const lastName = nameParts.length > 1 ? nameParts.slice(1).join(" ") : customerName;
29
+ // Create new Lead
30
+ // Salesforce requires Company field
31
+ const leadData = {
32
+ LastName: lastName,
33
+ Email: email,
34
+ Company: company || customerName,
35
+ LeadSource: "AI Agent",
36
+ Title: title,
37
+ AnnualRevenue: revenue,
38
+ };
39
+ const result = await conn.sobject("Lead").create(leadData);
40
+ if (!result.success) {
41
+ throw new Error(`Salesforce Lead creation failed: ${JSON.stringify(result.errors)}`);
42
+ }
43
+ return createResponse({
44
+ success: true,
45
+ action: "created_new",
46
+ leadId: result.id,
47
+ message: `Created new Lead in Salesforce for ${email}`,
48
+ });
49
+ }
50
+ catch (error) {
51
+ return createErrorResponse(error);
52
+ }
53
+ }
54
+ //# sourceMappingURL=salesforce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"salesforce.js","sourceRoot":"","sources":["../../../src/tools/handlers/salesforce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAM7C;IACC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEpE,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAE7C,+CAA+C;QAC/C,uDAAuD;QACvD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,sCAAsC,YAAY,WAAW,CAAC;QAChF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAiB,SAAS,CAAC,CAAC;QAElE,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,cAAc,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,mBAAmB,KAAK,+BAA+B;aACjE,CAAC,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,iEAAiE;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEpF,kBAAkB;QAClB,oCAAoC;QACpC,MAAM,QAAQ,GAQV;YACF,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO,IAAI,YAAY;YAChC,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,KAAK;YACZ,aAAa,EAAE,OAAO;SACvB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,cAAc,CAAC;YACpB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,MAAM,CAAC,EAAE;YACjB,OAAO,EAAE,sCAAsC,KAAK,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare function handleSearchTransactionsNatural(args: {
2
+ query: string;
3
+ }): Promise<{
4
+ content: {
5
+ type: "text";
6
+ text: string;
7
+ }[];
8
+ }>;
9
+ export declare function handleAnalyzeChurnRisk(args: {}): Promise<{
10
+ content: {
11
+ type: "text";
12
+ text: string;
13
+ }[];
14
+ }>;
15
+ export declare function handleCanonizeDecision(args: {
16
+ decision: string;
17
+ rationale: string;
18
+ expectedOutcome: string;
19
+ category?: string;
20
+ }): Promise<{
21
+ content: {
22
+ type: "text";
23
+ text: string;
24
+ }[];
25
+ }>;
26
+ //# sourceMappingURL=vos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vos.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/vos.ts"],"names":[],"mappings":"AAMA,wBAAsB,+BAA+B,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE;;;;;GAiH5E;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,EAAE;;;;;GA+DpD;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;GA4CA"}