@frihet/mcp-server 1.4.0 → 1.5.1
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 +94 -20
- package/dist/client-interface.d.ts +54 -0
- package/dist/client-interface.d.ts.map +1 -1
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +100 -0
- package/dist/client.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/prompts/register-all.d.ts.map +1 -1
- package/dist/prompts/register-all.js +206 -0
- package/dist/prompts/register-all.js.map +1 -1
- package/dist/resources/register-all.d.ts +4 -3
- package/dist/resources/register-all.d.ts.map +1 -1
- package/dist/resources/register-all.js +164 -9
- package/dist/resources/register-all.js.map +1 -1
- package/dist/tools/clients.d.ts.map +1 -1
- package/dist/tools/clients.js +18 -2
- package/dist/tools/clients.js.map +1 -1
- package/dist/tools/crm.d.ts +9 -0
- package/dist/tools/crm.d.ts.map +1 -0
- package/dist/tools/crm.js +181 -0
- package/dist/tools/crm.js.map +1 -0
- package/dist/tools/expenses.d.ts.map +1 -1
- package/dist/tools/expenses.js +18 -2
- package/dist/tools/expenses.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +85 -6
- package/dist/tools/invoices.js.map +1 -1
- package/dist/tools/products.d.ts.map +1 -1
- package/dist/tools/products.js +18 -2
- package/dist/tools/products.js.map +1 -1
- package/dist/tools/quotes.d.ts.map +1 -1
- package/dist/tools/quotes.js +38 -3
- package/dist/tools/quotes.js.map +1 -1
- package/dist/tools/register-all.d.ts +1 -1
- package/dist/tools/register-all.d.ts.map +1 -1
- package/dist/tools/register-all.js +5 -1
- package/dist/tools/register-all.js.map +1 -1
- package/dist/tools/shared.d.ts +54 -0
- package/dist/tools/shared.d.ts.map +1 -1
- package/dist/tools/shared.js +60 -2
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/vendors.d.ts +7 -0
- package/dist/tools/vendors.d.ts.map +1 -0
- package/dist/tools/vendors.js +125 -0
- package/dist/tools/vendors.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/postinstall.js +1 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* MCP Resources for the Frihet ERP server (11 total: 7 static + 4 dynamic).
|
|
3
3
|
*
|
|
4
4
|
* Resources are read-only reference data that LLMs can access without making
|
|
5
|
-
* API calls. They encode domain knowledge (tax rates, deadlines, categories
|
|
6
|
-
* that would otherwise require the user to explain
|
|
5
|
+
* API calls. They encode domain knowledge (tax rates, deadlines, categories,
|
|
6
|
+
* currencies, countries) that would otherwise require the user to explain
|
|
7
|
+
* every time.
|
|
7
8
|
*
|
|
8
9
|
* All resources use the `frihet://` URI scheme.
|
|
9
10
|
*/
|
|
@@ -27,37 +28,37 @@ Endpoints:
|
|
|
27
28
|
GET /invoices — List invoices (paginated)
|
|
28
29
|
GET /invoices/:id — Get invoice by ID
|
|
29
30
|
POST /invoices — Create invoice
|
|
30
|
-
|
|
31
|
+
PATCH /invoices/:id — Update invoice
|
|
31
32
|
DELETE /invoices/:id — Delete invoice
|
|
32
33
|
|
|
33
34
|
GET /expenses — List expenses (paginated)
|
|
34
35
|
GET /expenses/:id — Get expense by ID
|
|
35
36
|
POST /expenses — Create expense
|
|
36
|
-
|
|
37
|
+
PATCH /expenses/:id — Update expense
|
|
37
38
|
DELETE /expenses/:id — Delete expense
|
|
38
39
|
|
|
39
40
|
GET /clients — List clients (paginated)
|
|
40
41
|
GET /clients/:id — Get client by ID
|
|
41
42
|
POST /clients — Create client
|
|
42
|
-
|
|
43
|
+
PATCH /clients/:id — Update client
|
|
43
44
|
DELETE /clients/:id — Delete client
|
|
44
45
|
|
|
45
46
|
GET /products — List products (paginated)
|
|
46
47
|
GET /products/:id — Get product by ID
|
|
47
48
|
POST /products — Create product
|
|
48
|
-
|
|
49
|
+
PATCH /products/:id — Update product
|
|
49
50
|
DELETE /products/:id — Delete product
|
|
50
51
|
|
|
51
52
|
GET /quotes — List quotes (paginated)
|
|
52
53
|
GET /quotes/:id — Get quote by ID
|
|
53
54
|
POST /quotes — Create quote
|
|
54
|
-
|
|
55
|
+
PATCH /quotes/:id — Update quote
|
|
55
56
|
DELETE /quotes/:id — Delete quote
|
|
56
57
|
|
|
57
58
|
GET /webhooks — List webhooks (paginated)
|
|
58
59
|
GET /webhooks/:id — Get webhook by ID
|
|
59
60
|
POST /webhooks — Create webhook
|
|
60
|
-
|
|
61
|
+
PATCH /webhooks/:id — Update webhook
|
|
61
62
|
DELETE /webhooks/:id — Delete webhook
|
|
62
63
|
|
|
63
64
|
Pagination:
|
|
@@ -268,6 +269,111 @@ Best practices:
|
|
|
268
269
|
- Once sent, create a new corrective invoice rather than editing
|
|
269
270
|
- For partial payments, keep status as sent until full payment
|
|
270
271
|
- cancelled requires a reason (notes field) for audit trail`;
|
|
272
|
+
const CURRENCIES = JSON.stringify({
|
|
273
|
+
EUR: { name: "Euro", symbol: "\u20ac", decimals: 2, format: "1.234,56 \u20ac", countries: ["ES", "DE", "FR", "IT", "NL", "PT", "BE", "AT", "IE", "FI", "GR", "LU", "SK", "SI", "EE", "LV", "LT", "CY", "MT"] },
|
|
274
|
+
USD: { name: "US Dollar", symbol: "$", decimals: 2, format: "$1,234.56", countries: ["US"] },
|
|
275
|
+
GBP: { name: "British Pound", symbol: "\u00a3", decimals: 2, format: "\u00a31,234.56", countries: ["GB"] },
|
|
276
|
+
CHF: { name: "Swiss Franc", symbol: "CHF", decimals: 2, format: "CHF 1'234.56", countries: ["CH"] },
|
|
277
|
+
JPY: { name: "Japanese Yen", symbol: "\u00a5", decimals: 0, format: "\u00a51,234", countries: ["JP"] },
|
|
278
|
+
CAD: { name: "Canadian Dollar", symbol: "CA$", decimals: 2, format: "$1,234.56", countries: ["CA"] },
|
|
279
|
+
AUD: { name: "Australian Dollar", symbol: "A$", decimals: 2, format: "$1,234.56", countries: ["AU"] },
|
|
280
|
+
MXN: { name: "Mexican Peso", symbol: "$", decimals: 2, format: "$1,234.56", countries: ["MX"] },
|
|
281
|
+
BRL: { name: "Brazilian Real", symbol: "R$", decimals: 2, format: "R$ 1.234,56", countries: ["BR"] },
|
|
282
|
+
SEK: { name: "Swedish Krona", symbol: "kr", decimals: 2, format: "1 234,56 kr", countries: ["SE"] },
|
|
283
|
+
NOK: { name: "Norwegian Krone", symbol: "kr", decimals: 2, format: "1 234,56 kr", countries: ["NO"] },
|
|
284
|
+
DKK: { name: "Danish Krone", symbol: "kr", decimals: 2, format: "1.234,56 kr", countries: ["DK"] },
|
|
285
|
+
PLN: { name: "Polish Zloty", symbol: "z\u0142", decimals: 2, format: "1 234,56 z\u0142", countries: ["PL"] },
|
|
286
|
+
CZK: { name: "Czech Koruna", symbol: "K\u010d", decimals: 2, format: "1 234,56 K\u010d", countries: ["CZ"] },
|
|
287
|
+
HUF: { name: "Hungarian Forint", symbol: "Ft", decimals: 0, format: "1 234 Ft", countries: ["HU"] },
|
|
288
|
+
RON: { name: "Romanian Leu", symbol: "lei", decimals: 2, format: "1.234,56 lei", countries: ["RO"] },
|
|
289
|
+
BGN: { name: "Bulgarian Lev", symbol: "\u043b\u0432", decimals: 2, format: "1 234,56 \u043b\u0432", countries: ["BG"] },
|
|
290
|
+
HRK: { name: "Croatian Kuna", symbol: "kn", decimals: 2, format: "1.234,56 kn", countries: ["HR"] },
|
|
291
|
+
ISK: { name: "Icelandic Kr\u00f3na", symbol: "kr", decimals: 0, format: "1.234 kr", countries: ["IS"] },
|
|
292
|
+
TRY: { name: "Turkish Lira", symbol: "\u20ba", decimals: 2, format: "\u20ba1.234,56", countries: ["TR"] },
|
|
293
|
+
ILS: { name: "Israeli Shekel", symbol: "\u20aa", decimals: 2, format: "\u20aa1,234.56", countries: ["IL"] },
|
|
294
|
+
ZAR: { name: "South African Rand", symbol: "R", decimals: 2, format: "R 1 234,56", countries: ["ZA"] },
|
|
295
|
+
INR: { name: "Indian Rupee", symbol: "\u20b9", decimals: 2, format: "\u20b91,23,456.78", countries: ["IN"] },
|
|
296
|
+
CNY: { name: "Chinese Yuan", symbol: "\u00a5", decimals: 2, format: "\u00a51,234.56", countries: ["CN"] },
|
|
297
|
+
KRW: { name: "South Korean Won", symbol: "\u20a9", decimals: 0, format: "\u20a91,234", countries: ["KR"] },
|
|
298
|
+
SGD: { name: "Singapore Dollar", symbol: "S$", decimals: 2, format: "S$1,234.56", countries: ["SG"] },
|
|
299
|
+
HKD: { name: "Hong Kong Dollar", symbol: "HK$", decimals: 2, format: "HK$1,234.56", countries: ["HK"] },
|
|
300
|
+
NZD: { name: "New Zealand Dollar", symbol: "NZ$", decimals: 2, format: "$1,234.56", countries: ["NZ"] },
|
|
301
|
+
THB: { name: "Thai Baht", symbol: "\u0e3f", decimals: 2, format: "\u0e3f1,234.56", countries: ["TH"] },
|
|
302
|
+
TWD: { name: "Taiwan Dollar", symbol: "NT$", decimals: 0, format: "NT$1,234", countries: ["TW"] },
|
|
303
|
+
ARS: { name: "Argentine Peso", symbol: "$", decimals: 2, format: "$ 1.234,56", countries: ["AR"] },
|
|
304
|
+
CLP: { name: "Chilean Peso", symbol: "$", decimals: 0, format: "$1.234", countries: ["CL"] },
|
|
305
|
+
COP: { name: "Colombian Peso", symbol: "$", decimals: 0, format: "$ 1.234", countries: ["CO"] },
|
|
306
|
+
PEN: { name: "Peruvian Sol", symbol: "S/", decimals: 2, format: "S/ 1,234.56", countries: ["PE"] },
|
|
307
|
+
UYU: { name: "Uruguayan Peso", symbol: "$U", decimals: 2, format: "$U 1.234,56", countries: ["UY"] },
|
|
308
|
+
AED: { name: "UAE Dirham", symbol: "\u062f.\u0625", decimals: 2, format: "1,234.56 \u062f.\u0625", countries: ["AE"] },
|
|
309
|
+
SAR: { name: "Saudi Riyal", symbol: "\ufdfc", decimals: 2, format: "1,234.56 \ufdfc", countries: ["SA"] },
|
|
310
|
+
PHP: { name: "Philippine Peso", symbol: "\u20b1", decimals: 2, format: "\u20b11,234.56", countries: ["PH"] },
|
|
311
|
+
MYR: { name: "Malaysian Ringgit", symbol: "RM", decimals: 2, format: "RM1,234.56", countries: ["MY"] },
|
|
312
|
+
IDR: { name: "Indonesian Rupiah", symbol: "Rp", decimals: 0, format: "Rp1.234", countries: ["ID"] },
|
|
313
|
+
}, null, 2);
|
|
314
|
+
const COUNTRIES = JSON.stringify([
|
|
315
|
+
{ name: "Spain (Peninsula)", code: "ES", fiscalZone: "peninsula", defaultTaxRate: 21, taxName: "IVA", currency: "EUR", invoicePrefix: "F" },
|
|
316
|
+
{ name: "Spain (Canary Islands)", code: "ES-CN", fiscalZone: "canarias", defaultTaxRate: 7, taxName: "IGIC", currency: "EUR", invoicePrefix: "F" },
|
|
317
|
+
{ name: "Spain (Ceuta)", code: "ES-CE", fiscalZone: "ceuta", defaultTaxRate: 10, taxName: "IPSI", currency: "EUR", invoicePrefix: "F" },
|
|
318
|
+
{ name: "Spain (Melilla)", code: "ES-ML", fiscalZone: "melilla", defaultTaxRate: 10, taxName: "IPSI", currency: "EUR", invoicePrefix: "F" },
|
|
319
|
+
{ name: "Germany", code: "DE", fiscalZone: "eu", defaultTaxRate: 19, taxName: "USt", currency: "EUR", invoicePrefix: "INV" },
|
|
320
|
+
{ name: "France", code: "FR", fiscalZone: "eu", defaultTaxRate: 20, taxName: "TVA", currency: "EUR", invoicePrefix: "FA" },
|
|
321
|
+
{ name: "Italy", code: "IT", fiscalZone: "eu", defaultTaxRate: 22, taxName: "IVA", currency: "EUR", invoicePrefix: "FT" },
|
|
322
|
+
{ name: "Netherlands", code: "NL", fiscalZone: "eu", defaultTaxRate: 21, taxName: "BTW", currency: "EUR", invoicePrefix: "F" },
|
|
323
|
+
{ name: "Belgium", code: "BE", fiscalZone: "eu", defaultTaxRate: 21, taxName: "TVA/BTW", currency: "EUR", invoicePrefix: "F" },
|
|
324
|
+
{ name: "Portugal", code: "PT", fiscalZone: "eu", defaultTaxRate: 23, taxName: "IVA", currency: "EUR", invoicePrefix: "FT" },
|
|
325
|
+
{ name: "Austria", code: "AT", fiscalZone: "eu", defaultTaxRate: 20, taxName: "USt", currency: "EUR", invoicePrefix: "RE" },
|
|
326
|
+
{ name: "Ireland", code: "IE", fiscalZone: "eu", defaultTaxRate: 23, taxName: "VAT", currency: "EUR", invoicePrefix: "INV" },
|
|
327
|
+
{ name: "Finland", code: "FI", fiscalZone: "eu", defaultTaxRate: 24, taxName: "ALV", currency: "EUR", invoicePrefix: "INV" },
|
|
328
|
+
{ name: "Greece", code: "GR", fiscalZone: "eu", defaultTaxRate: 24, taxName: "FPA", currency: "EUR", invoicePrefix: "TIM" },
|
|
329
|
+
{ name: "Luxembourg", code: "LU", fiscalZone: "eu", defaultTaxRate: 17, taxName: "TVA", currency: "EUR", invoicePrefix: "F" },
|
|
330
|
+
{ name: "Slovakia", code: "SK", fiscalZone: "eu", defaultTaxRate: 20, taxName: "DPH", currency: "EUR", invoicePrefix: "F" },
|
|
331
|
+
{ name: "Slovenia", code: "SI", fiscalZone: "eu", defaultTaxRate: 22, taxName: "DDV", currency: "EUR", invoicePrefix: "F" },
|
|
332
|
+
{ name: "Estonia", code: "EE", fiscalZone: "eu", defaultTaxRate: 22, taxName: "KM", currency: "EUR", invoicePrefix: "INV" },
|
|
333
|
+
{ name: "Latvia", code: "LV", fiscalZone: "eu", defaultTaxRate: 21, taxName: "PVN", currency: "EUR", invoicePrefix: "INV" },
|
|
334
|
+
{ name: "Lithuania", code: "LT", fiscalZone: "eu", defaultTaxRate: 21, taxName: "PVM", currency: "EUR", invoicePrefix: "SF" },
|
|
335
|
+
{ name: "Cyprus", code: "CY", fiscalZone: "eu", defaultTaxRate: 19, taxName: "VAT", currency: "EUR", invoicePrefix: "INV" },
|
|
336
|
+
{ name: "Malta", code: "MT", fiscalZone: "eu", defaultTaxRate: 18, taxName: "VAT", currency: "EUR", invoicePrefix: "INV" },
|
|
337
|
+
{ name: "Sweden", code: "SE", fiscalZone: "eu", defaultTaxRate: 25, taxName: "MOMS", currency: "SEK", invoicePrefix: "F" },
|
|
338
|
+
{ name: "Denmark", code: "DK", fiscalZone: "eu", defaultTaxRate: 25, taxName: "MOMS", currency: "DKK", invoicePrefix: "F" },
|
|
339
|
+
{ name: "Poland", code: "PL", fiscalZone: "eu", defaultTaxRate: 23, taxName: "VAT", currency: "PLN", invoicePrefix: "FV" },
|
|
340
|
+
{ name: "Czech Republic", code: "CZ", fiscalZone: "eu", defaultTaxRate: 21, taxName: "DPH", currency: "CZK", invoicePrefix: "F" },
|
|
341
|
+
{ name: "Hungary", code: "HU", fiscalZone: "eu", defaultTaxRate: 27, taxName: "\u00c1FA", currency: "HUF", invoicePrefix: "SZ" },
|
|
342
|
+
{ name: "Romania", code: "RO", fiscalZone: "eu", defaultTaxRate: 19, taxName: "TVA", currency: "RON", invoicePrefix: "F" },
|
|
343
|
+
{ name: "Bulgaria", code: "BG", fiscalZone: "eu", defaultTaxRate: 20, taxName: "DDS", currency: "BGN", invoicePrefix: "F" },
|
|
344
|
+
{ name: "Croatia", code: "HR", fiscalZone: "eu", defaultTaxRate: 25, taxName: "PDV", currency: "EUR", invoicePrefix: "R" },
|
|
345
|
+
{ name: "United Kingdom", code: "GB", fiscalZone: "international", defaultTaxRate: 20, taxName: "VAT", currency: "GBP", invoicePrefix: "INV" },
|
|
346
|
+
{ name: "United States", code: "US", fiscalZone: "international", defaultTaxRate: 0, taxName: "Sales Tax", currency: "USD", invoicePrefix: "INV" },
|
|
347
|
+
{ name: "Canada", code: "CA", fiscalZone: "international", defaultTaxRate: 5, taxName: "GST", currency: "CAD", invoicePrefix: "INV" },
|
|
348
|
+
{ name: "Mexico", code: "MX", fiscalZone: "international", defaultTaxRate: 16, taxName: "IVA", currency: "MXN", invoicePrefix: "F" },
|
|
349
|
+
{ name: "Brazil", code: "BR", fiscalZone: "international", defaultTaxRate: 17, taxName: "ICMS", currency: "BRL", invoicePrefix: "NF" },
|
|
350
|
+
{ name: "Argentina", code: "AR", fiscalZone: "international", defaultTaxRate: 21, taxName: "IVA", currency: "ARS", invoicePrefix: "F" },
|
|
351
|
+
{ name: "Chile", code: "CL", fiscalZone: "international", defaultTaxRate: 19, taxName: "IVA", currency: "CLP", invoicePrefix: "F" },
|
|
352
|
+
{ name: "Colombia", code: "CO", fiscalZone: "international", defaultTaxRate: 19, taxName: "IVA", currency: "COP", invoicePrefix: "F" },
|
|
353
|
+
{ name: "Peru", code: "PE", fiscalZone: "international", defaultTaxRate: 18, taxName: "IGV", currency: "PEN", invoicePrefix: "F" },
|
|
354
|
+
{ name: "Uruguay", code: "UY", fiscalZone: "international", defaultTaxRate: 22, taxName: "IVA", currency: "UYU", invoicePrefix: "F" },
|
|
355
|
+
{ name: "Australia", code: "AU", fiscalZone: "international", defaultTaxRate: 10, taxName: "GST", currency: "AUD", invoicePrefix: "INV" },
|
|
356
|
+
{ name: "New Zealand", code: "NZ", fiscalZone: "international", defaultTaxRate: 15, taxName: "GST", currency: "NZD", invoicePrefix: "INV" },
|
|
357
|
+
{ name: "Japan", code: "JP", fiscalZone: "international", defaultTaxRate: 10, taxName: "JCT", currency: "JPY", invoicePrefix: "INV" },
|
|
358
|
+
{ name: "South Korea", code: "KR", fiscalZone: "international", defaultTaxRate: 10, taxName: "VAT", currency: "KRW", invoicePrefix: "INV" },
|
|
359
|
+
{ name: "Singapore", code: "SG", fiscalZone: "international", defaultTaxRate: 9, taxName: "GST", currency: "SGD", invoicePrefix: "INV" },
|
|
360
|
+
{ name: "Hong Kong", code: "HK", fiscalZone: "international", defaultTaxRate: 0, taxName: "N/A", currency: "HKD", invoicePrefix: "INV" },
|
|
361
|
+
{ name: "India", code: "IN", fiscalZone: "international", defaultTaxRate: 18, taxName: "GST", currency: "INR", invoicePrefix: "INV" },
|
|
362
|
+
{ name: "China", code: "CN", fiscalZone: "international", defaultTaxRate: 13, taxName: "VAT", currency: "CNY", invoicePrefix: "INV" },
|
|
363
|
+
{ name: "Taiwan", code: "TW", fiscalZone: "international", defaultTaxRate: 5, taxName: "VAT", currency: "TWD", invoicePrefix: "INV" },
|
|
364
|
+
{ name: "Thailand", code: "TH", fiscalZone: "international", defaultTaxRate: 7, taxName: "VAT", currency: "THB", invoicePrefix: "INV" },
|
|
365
|
+
{ name: "Philippines", code: "PH", fiscalZone: "international", defaultTaxRate: 12, taxName: "VAT", currency: "PHP", invoicePrefix: "INV" },
|
|
366
|
+
{ name: "Malaysia", code: "MY", fiscalZone: "international", defaultTaxRate: 8, taxName: "SST", currency: "MYR", invoicePrefix: "INV" },
|
|
367
|
+
{ name: "Indonesia", code: "ID", fiscalZone: "international", defaultTaxRate: 11, taxName: "PPN", currency: "IDR", invoicePrefix: "INV" },
|
|
368
|
+
{ name: "Israel", code: "IL", fiscalZone: "international", defaultTaxRate: 17, taxName: "VAT", currency: "ILS", invoicePrefix: "INV" },
|
|
369
|
+
{ name: "South Africa", code: "ZA", fiscalZone: "international", defaultTaxRate: 15, taxName: "VAT", currency: "ZAR", invoicePrefix: "INV" },
|
|
370
|
+
{ name: "United Arab Emirates", code: "AE", fiscalZone: "international", defaultTaxRate: 5, taxName: "VAT", currency: "AED", invoicePrefix: "INV" },
|
|
371
|
+
{ name: "Saudi Arabia", code: "SA", fiscalZone: "international", defaultTaxRate: 15, taxName: "VAT", currency: "SAR", invoicePrefix: "INV" },
|
|
372
|
+
{ name: "Switzerland", code: "CH", fiscalZone: "international", defaultTaxRate: 8.1, taxName: "MWST", currency: "CHF", invoicePrefix: "RE" },
|
|
373
|
+
{ name: "Norway", code: "NO", fiscalZone: "international", defaultTaxRate: 25, taxName: "MVA", currency: "NOK", invoicePrefix: "F" },
|
|
374
|
+
{ name: "Iceland", code: "IS", fiscalZone: "international", defaultTaxRate: 24, taxName: "VSK", currency: "ISK", invoicePrefix: "INV" },
|
|
375
|
+
{ name: "Turkey", code: "TR", fiscalZone: "international", defaultTaxRate: 20, taxName: "KDV", currency: "TRY", invoicePrefix: "F" },
|
|
376
|
+
], null, 2);
|
|
271
377
|
/* ------------------------------------------------------------------ */
|
|
272
378
|
/* Registration */
|
|
273
379
|
/* ------------------------------------------------------------------ */
|
|
@@ -341,6 +447,34 @@ export function registerAllResources(server, client) {
|
|
|
341
447
|
},
|
|
342
448
|
],
|
|
343
449
|
}));
|
|
450
|
+
server.registerResource("currencies", "frihet://config/currencies", {
|
|
451
|
+
description: "40 supported currencies with ISO codes, symbols, decimal places, locale formatting examples, and associated countries. " +
|
|
452
|
+
"Use to validate currency inputs and format monetary values. " +
|
|
453
|
+
"/ 40 divisas soportadas con códigos ISO, símbolos, decimales, formato local y países asociados.",
|
|
454
|
+
mimeType: "application/json",
|
|
455
|
+
}, async () => ({
|
|
456
|
+
contents: [
|
|
457
|
+
{
|
|
458
|
+
uri: "frihet://config/currencies",
|
|
459
|
+
mimeType: "application/json",
|
|
460
|
+
text: CURRENCIES,
|
|
461
|
+
},
|
|
462
|
+
],
|
|
463
|
+
}));
|
|
464
|
+
server.registerResource("countries", "frihet://config/countries", {
|
|
465
|
+
description: "61 supported countries with ISO codes, fiscal zones (peninsula, canarias, ceuta, melilla, eu, international), " +
|
|
466
|
+
"default tax rates, tax names, default currencies, and invoice prefixes. " +
|
|
467
|
+
"/ 61 países soportados con zonas fiscales, tipos impositivos, divisas y prefijos de factura.",
|
|
468
|
+
mimeType: "application/json",
|
|
469
|
+
}, async () => ({
|
|
470
|
+
contents: [
|
|
471
|
+
{
|
|
472
|
+
uri: "frihet://config/countries",
|
|
473
|
+
mimeType: "application/json",
|
|
474
|
+
text: COUNTRIES,
|
|
475
|
+
},
|
|
476
|
+
],
|
|
477
|
+
}));
|
|
344
478
|
/* ---------------------------------------------------------------- */
|
|
345
479
|
/* Dynamic resources (require API client) */
|
|
346
480
|
/* ---------------------------------------------------------------- */
|
|
@@ -396,6 +530,27 @@ export function registerAllResources(server, client) {
|
|
|
396
530
|
],
|
|
397
531
|
};
|
|
398
532
|
});
|
|
533
|
+
server.registerResource("plan-limits", "frihet://status/plan-limits", {
|
|
534
|
+
description: "Live plan limits and current usage — plan tier, invoices/month, AI messages/day, team members, " +
|
|
535
|
+
"integrations, API requests/minute, and real-time usage counters. " +
|
|
536
|
+
"/ Límites del plan y uso actual en vivo — tier, facturas/mes, mensajes IA/día, miembros, integraciones, API req/min.",
|
|
537
|
+
mimeType: "application/json",
|
|
538
|
+
}, async () => {
|
|
539
|
+
const ctx = await client.getBusinessContext();
|
|
540
|
+
const plan = ctx.plan ?? "free";
|
|
541
|
+
const limits = ctx.limits ?? {};
|
|
542
|
+
const usage = ctx.usage ?? {};
|
|
543
|
+
const result = { plan, limits, usage };
|
|
544
|
+
return {
|
|
545
|
+
contents: [
|
|
546
|
+
{
|
|
547
|
+
uri: "frihet://status/plan-limits",
|
|
548
|
+
mimeType: "application/json",
|
|
549
|
+
text: JSON.stringify(result, null, 2),
|
|
550
|
+
},
|
|
551
|
+
],
|
|
552
|
+
};
|
|
553
|
+
});
|
|
399
554
|
}
|
|
400
555
|
}
|
|
401
556
|
//# sourceMappingURL=register-all.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-all.js","sourceRoot":"","sources":["../../src/resources/register-all.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register-all.js","sourceRoot":"","sources":["../../src/resources/register-all.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAc5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAc5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA2JlF"}
|
package/dist/tools/clients.js
CHANGED
|
@@ -23,12 +23,28 @@ export function registerClientTools(server, client) {
|
|
|
23
23
|
"Devuelve informacion de contacto, NIF/CIF y direcciones.",
|
|
24
24
|
annotations: READ_ONLY_ANNOTATIONS,
|
|
25
25
|
inputSchema: {
|
|
26
|
+
q: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Search by name or email / Buscar por nombre o email"),
|
|
30
|
+
stage: z
|
|
31
|
+
.enum(["lead", "contacted", "proposal", "active", "inactive", "lost"])
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Filter by CRM stage / Filtrar por etapa del CRM"),
|
|
34
|
+
fields: z
|
|
35
|
+
.string()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Comma-separated field names to return (e.g. 'id,name,email') / Campos a devolver"),
|
|
26
38
|
limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
|
|
27
39
|
offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
|
|
40
|
+
after: z
|
|
41
|
+
.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Cursor for cursor-based pagination (document ID) / Cursor para paginacion basada en cursor"),
|
|
28
44
|
},
|
|
29
45
|
outputSchema: paginatedOutput(clientItemOutput),
|
|
30
|
-
}, async ({ limit, offset }) => withToolLogging("list_clients", async () => {
|
|
31
|
-
const result = await client.listClients({ limit, offset });
|
|
46
|
+
}, async ({ limit, offset, q, stage, fields, after }) => withToolLogging("list_clients", async () => {
|
|
47
|
+
const result = await client.listClients({ limit, offset, after, fields, q, stage });
|
|
32
48
|
return {
|
|
33
49
|
content: [listContent(formatPaginatedResponse("clients", result))],
|
|
34
50
|
structuredContent: result,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvR,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACpE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC3F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;CACrE,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAEtD,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAqB;IAC1E,qBAAqB;IAErB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,uDAAuD;YACvD,gDAAgD;YAChD,sDAAsD;YACtD,0DAA0D;QAC5D,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CRM subcollection tools for the Frihet MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Contacts, activities, and notes — all scoped under a client.
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
|
+
import type { IFrihetClient } from "../client-interface.js";
|
|
8
|
+
export declare function registerCrmTools(server: McpServer, client: IFrihetClient): void;
|
|
9
|
+
//# sourceMappingURL=crm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crm.d.ts","sourceRoot":"","sources":["../../src/tools/crm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAmB5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAsO/E"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CRM subcollection tools for the Frihet MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Contacts, activities, and notes — all scoped under a client.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod/v4";
|
|
7
|
+
import { withToolLogging, formatPaginatedResponse, formatRecord, listContent, mutateContent, enrichResponse, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, DELETE_ANNOTATIONS, paginatedOutput, deleteResultOutput, contactItemOutput, activityItemOutput, noteItemOutput, } from "./shared.js";
|
|
8
|
+
export function registerCrmTools(server, client) {
|
|
9
|
+
// ================================================================
|
|
10
|
+
// Contacts
|
|
11
|
+
// ================================================================
|
|
12
|
+
// -- list_client_contacts --
|
|
13
|
+
server.registerTool("list_client_contacts", {
|
|
14
|
+
title: "List Client Contacts",
|
|
15
|
+
description: "List all contacts for a client with optional pagination. " +
|
|
16
|
+
"Returns name, email, phone, role, and primary flag. " +
|
|
17
|
+
"/ Lista todos los contactos de un cliente con paginacion opcional.",
|
|
18
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
19
|
+
inputSchema: {
|
|
20
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
21
|
+
limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
|
|
22
|
+
offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
|
|
23
|
+
},
|
|
24
|
+
outputSchema: paginatedOutput(contactItemOutput),
|
|
25
|
+
}, async ({ clientId, limit, offset }) => withToolLogging("list_client_contacts", async () => {
|
|
26
|
+
const result = await client.listClientContacts(clientId, { limit, offset });
|
|
27
|
+
return {
|
|
28
|
+
content: [listContent(formatPaginatedResponse("contacts", result))],
|
|
29
|
+
structuredContent: result,
|
|
30
|
+
};
|
|
31
|
+
}));
|
|
32
|
+
// -- create_client_contact --
|
|
33
|
+
server.registerTool("create_client_contact", {
|
|
34
|
+
title: "Create Client Contact",
|
|
35
|
+
description: "Add a new contact person to a client. Requires a name at minimum. " +
|
|
36
|
+
"Example: clientId='abc123', name='Ana Garcia', email='ana@acme.com', role='CTO', isPrimary=true " +
|
|
37
|
+
"/ Anade un nuevo contacto a un cliente. Requiere al menos un nombre.",
|
|
38
|
+
annotations: CREATE_ANNOTATIONS,
|
|
39
|
+
inputSchema: {
|
|
40
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
41
|
+
name: z.string().describe("Contact name / Nombre del contacto"),
|
|
42
|
+
email: z.string().optional().describe("Email address / Correo electronico"),
|
|
43
|
+
phone: z.string().optional().describe("Phone number / Telefono"),
|
|
44
|
+
role: z.string().optional().describe("Role or title (e.g. CEO, CTO, Billing) / Cargo o rol"),
|
|
45
|
+
isPrimary: z.boolean().optional().describe("Whether this is the primary contact / Si es el contacto principal"),
|
|
46
|
+
},
|
|
47
|
+
outputSchema: contactItemOutput,
|
|
48
|
+
}, async ({ clientId, ...data }) => withToolLogging("create_client_contact", async () => {
|
|
49
|
+
const result = await client.createClientContact(clientId, data);
|
|
50
|
+
const hints = enrichResponse("contacts", "create", result);
|
|
51
|
+
return {
|
|
52
|
+
content: [mutateContent(formatRecord("Contact created", result))],
|
|
53
|
+
structuredContent: { ...result, ...hints },
|
|
54
|
+
};
|
|
55
|
+
}));
|
|
56
|
+
// -- delete_client_contact --
|
|
57
|
+
server.registerTool("delete_client_contact", {
|
|
58
|
+
title: "Delete Client Contact",
|
|
59
|
+
description: "Permanently delete a contact from a client. This action cannot be undone. " +
|
|
60
|
+
"/ Elimina permanentemente un contacto de un cliente. Esta accion no se puede deshacer.",
|
|
61
|
+
annotations: DELETE_ANNOTATIONS,
|
|
62
|
+
inputSchema: {
|
|
63
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
64
|
+
contactId: z.string().describe("Contact ID / ID del contacto"),
|
|
65
|
+
},
|
|
66
|
+
outputSchema: deleteResultOutput,
|
|
67
|
+
}, async ({ clientId, contactId }) => withToolLogging("delete_client_contact", async () => {
|
|
68
|
+
await client.deleteClientContact(clientId, contactId);
|
|
69
|
+
return {
|
|
70
|
+
content: [mutateContent(`Contact ${contactId} deleted from client ${clientId}. / Contacto ${contactId} eliminado del cliente ${clientId}.`)],
|
|
71
|
+
structuredContent: { success: true, id: contactId },
|
|
72
|
+
};
|
|
73
|
+
}));
|
|
74
|
+
// ================================================================
|
|
75
|
+
// Activities
|
|
76
|
+
// ================================================================
|
|
77
|
+
// -- list_client_activities --
|
|
78
|
+
server.registerTool("list_client_activities", {
|
|
79
|
+
title: "List Client Activities",
|
|
80
|
+
description: "List all CRM activities for a client with optional pagination. " +
|
|
81
|
+
"Returns calls, emails, meetings, and tasks logged against the client. " +
|
|
82
|
+
"/ Lista todas las actividades CRM de un cliente con paginacion opcional.",
|
|
83
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
84
|
+
inputSchema: {
|
|
85
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
86
|
+
limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
|
|
87
|
+
offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
|
|
88
|
+
},
|
|
89
|
+
outputSchema: paginatedOutput(activityItemOutput),
|
|
90
|
+
}, async ({ clientId, limit, offset }) => withToolLogging("list_client_activities", async () => {
|
|
91
|
+
const result = await client.listClientActivities(clientId, { limit, offset });
|
|
92
|
+
return {
|
|
93
|
+
content: [listContent(formatPaginatedResponse("activities", result))],
|
|
94
|
+
structuredContent: result,
|
|
95
|
+
};
|
|
96
|
+
}));
|
|
97
|
+
// -- log_client_activity --
|
|
98
|
+
server.registerTool("log_client_activity", {
|
|
99
|
+
title: "Log Client Activity",
|
|
100
|
+
description: "Log a CRM activity against a client. Use to track calls, emails, meetings, or tasks. " +
|
|
101
|
+
"Example: clientId='abc123', type='call', title='Discussed Q2 proposal', description='Client interested in upgrade' " +
|
|
102
|
+
"/ Registra una actividad CRM para un cliente. Usa para rastrear llamadas, emails, reuniones o tareas.",
|
|
103
|
+
annotations: CREATE_ANNOTATIONS,
|
|
104
|
+
inputSchema: {
|
|
105
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
106
|
+
type: z
|
|
107
|
+
.enum(["call", "email", "meeting", "task"])
|
|
108
|
+
.describe("Activity type / Tipo de actividad"),
|
|
109
|
+
title: z.string().describe("Activity title / Titulo de la actividad"),
|
|
110
|
+
description: z.string().optional().describe("Detailed description / Descripcion detallada"),
|
|
111
|
+
date: z.string().optional().describe("Activity date (ISO 8601, defaults to now) / Fecha de la actividad"),
|
|
112
|
+
},
|
|
113
|
+
outputSchema: activityItemOutput,
|
|
114
|
+
}, async ({ clientId, ...data }) => withToolLogging("log_client_activity", async () => {
|
|
115
|
+
const result = await client.logClientActivity(clientId, data);
|
|
116
|
+
return {
|
|
117
|
+
content: [mutateContent(formatRecord("Activity logged", result))],
|
|
118
|
+
structuredContent: result,
|
|
119
|
+
};
|
|
120
|
+
}));
|
|
121
|
+
// ================================================================
|
|
122
|
+
// Notes
|
|
123
|
+
// ================================================================
|
|
124
|
+
// -- list_client_notes --
|
|
125
|
+
server.registerTool("list_client_notes", {
|
|
126
|
+
title: "List Client Notes",
|
|
127
|
+
description: "List all notes for a client with optional pagination. " +
|
|
128
|
+
"/ Lista todas las notas de un cliente con paginacion opcional.",
|
|
129
|
+
annotations: READ_ONLY_ANNOTATIONS,
|
|
130
|
+
inputSchema: {
|
|
131
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
132
|
+
limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
|
|
133
|
+
offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
|
|
134
|
+
},
|
|
135
|
+
outputSchema: paginatedOutput(noteItemOutput),
|
|
136
|
+
}, async ({ clientId, limit, offset }) => withToolLogging("list_client_notes", async () => {
|
|
137
|
+
const result = await client.listClientNotes(clientId, { limit, offset });
|
|
138
|
+
return {
|
|
139
|
+
content: [listContent(formatPaginatedResponse("notes", result))],
|
|
140
|
+
structuredContent: result,
|
|
141
|
+
};
|
|
142
|
+
}));
|
|
143
|
+
// -- create_client_note --
|
|
144
|
+
server.registerTool("create_client_note", {
|
|
145
|
+
title: "Create Client Note",
|
|
146
|
+
description: "Add a note to a client. Notes are free-form text entries useful for keeping context. " +
|
|
147
|
+
"Example: clientId='abc123', content='Prefers invoices in English. Payment NET 30.' " +
|
|
148
|
+
"/ Anade una nota a un cliente. Las notas son texto libre para mantener contexto.",
|
|
149
|
+
annotations: CREATE_ANNOTATIONS,
|
|
150
|
+
inputSchema: {
|
|
151
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
152
|
+
content: z.string().describe("Note content / Contenido de la nota"),
|
|
153
|
+
},
|
|
154
|
+
outputSchema: noteItemOutput,
|
|
155
|
+
}, async ({ clientId, content }) => withToolLogging("create_client_note", async () => {
|
|
156
|
+
const result = await client.createClientNote(clientId, { content });
|
|
157
|
+
return {
|
|
158
|
+
content: [mutateContent(formatRecord("Note created", result))],
|
|
159
|
+
structuredContent: result,
|
|
160
|
+
};
|
|
161
|
+
}));
|
|
162
|
+
// -- delete_client_note --
|
|
163
|
+
server.registerTool("delete_client_note", {
|
|
164
|
+
title: "Delete Client Note",
|
|
165
|
+
description: "Permanently delete a note from a client. This action cannot be undone. " +
|
|
166
|
+
"/ Elimina permanentemente una nota de un cliente. Esta accion no se puede deshacer.",
|
|
167
|
+
annotations: DELETE_ANNOTATIONS,
|
|
168
|
+
inputSchema: {
|
|
169
|
+
clientId: z.string().describe("Client ID / ID del cliente"),
|
|
170
|
+
noteId: z.string().describe("Note ID / ID de la nota"),
|
|
171
|
+
},
|
|
172
|
+
outputSchema: deleteResultOutput,
|
|
173
|
+
}, async ({ clientId, noteId }) => withToolLogging("delete_client_note", async () => {
|
|
174
|
+
await client.deleteClientNote(clientId, noteId);
|
|
175
|
+
return {
|
|
176
|
+
content: [mutateContent(`Note ${noteId} deleted from client ${clientId}. / Nota ${noteId} eliminada del cliente ${clientId}.`)],
|
|
177
|
+
structuredContent: { success: true, id: noteId },
|
|
178
|
+
};
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=crm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crm.js","sourceRoot":"","sources":["../../src/tools/crm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expenses.d.ts","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"expenses.d.ts","sourceRoot":"","sources":["../../src/tools/expenses.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA8KnF"}
|
package/dist/tools/expenses.js
CHANGED
|
@@ -13,6 +13,14 @@ export function registerExpenseTools(server, client) {
|
|
|
13
13
|
"/ Lista todos los gastos con paginacion y filtros de fecha opcionales.",
|
|
14
14
|
annotations: READ_ONLY_ANNOTATIONS,
|
|
15
15
|
inputSchema: {
|
|
16
|
+
vendorId: z
|
|
17
|
+
.string()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe("Filter by vendor ID / Filtrar por ID de proveedor"),
|
|
20
|
+
category: z
|
|
21
|
+
.string()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe("Filter by expense category (e.g. 'office', 'travel') / Filtrar por categoria"),
|
|
16
24
|
from: z
|
|
17
25
|
.string()
|
|
18
26
|
.optional()
|
|
@@ -21,12 +29,20 @@ export function registerExpenseTools(server, client) {
|
|
|
21
29
|
.string()
|
|
22
30
|
.optional()
|
|
23
31
|
.describe("End date filter (YYYY-MM-DD) / Fecha fin"),
|
|
32
|
+
fields: z
|
|
33
|
+
.string()
|
|
34
|
+
.optional()
|
|
35
|
+
.describe("Comma-separated field names to return (e.g. 'id,description,amount') / Campos a devolver"),
|
|
24
36
|
limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
|
|
25
37
|
offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
|
|
38
|
+
after: z
|
|
39
|
+
.string()
|
|
40
|
+
.optional()
|
|
41
|
+
.describe("Cursor for cursor-based pagination (document ID) / Cursor para paginacion basada en cursor"),
|
|
26
42
|
},
|
|
27
43
|
outputSchema: paginatedOutput(expenseItemOutput),
|
|
28
|
-
}, async ({ from, to, limit, offset }) => withToolLogging("list_expenses", async () => {
|
|
29
|
-
const result = await client.listExpenses({ limit, offset, from, to });
|
|
44
|
+
}, async ({ from, to, limit, offset, vendorId, category, fields, after }) => withToolLogging("list_expenses", async () => {
|
|
45
|
+
const result = await client.listExpenses({ limit, offset, after, fields, from, to, vendorId, category });
|
|
30
46
|
const hints = enrichResponse("expenses", "list", result.data);
|
|
31
47
|
return {
|
|
32
48
|
content: [listContent(formatPaginatedResponse("expenses", result))],
|