@dannychirkov/salesdrive-mcp-server 0.1.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 (78) hide show
  1. package/README.md +223 -0
  2. package/dist/cli/index.d.ts +6 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +12 -0
  5. package/dist/cli/index.js.map +1 -0
  6. package/dist/config.d.ts +34 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +46 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/server.d.ts +47 -0
  11. package/dist/server.d.ts.map +1 -0
  12. package/dist/server.js +195 -0
  13. package/dist/server.js.map +1 -0
  14. package/dist/tools/act.d.ts +20 -0
  15. package/dist/tools/act.d.ts.map +1 -0
  16. package/dist/tools/act.js +80 -0
  17. package/dist/tools/act.js.map +1 -0
  18. package/dist/tools/arrival.d.ts +20 -0
  19. package/dist/tools/arrival.d.ts.map +1 -0
  20. package/dist/tools/arrival.js +74 -0
  21. package/dist/tools/arrival.js.map +1 -0
  22. package/dist/tools/cashOrder.d.ts +20 -0
  23. package/dist/tools/cashOrder.d.ts.map +1 -0
  24. package/dist/tools/cashOrder.js +75 -0
  25. package/dist/tools/cashOrder.js.map +1 -0
  26. package/dist/tools/category.d.ts +20 -0
  27. package/dist/tools/category.d.ts.map +1 -0
  28. package/dist/tools/category.js +93 -0
  29. package/dist/tools/category.js.map +1 -0
  30. package/dist/tools/check.d.ts +20 -0
  31. package/dist/tools/check.d.ts.map +1 -0
  32. package/dist/tools/check.js +74 -0
  33. package/dist/tools/check.js.map +1 -0
  34. package/dist/tools/contract.d.ts +20 -0
  35. package/dist/tools/contract.d.ts.map +1 -0
  36. package/dist/tools/contract.js +74 -0
  37. package/dist/tools/contract.js.map +1 -0
  38. package/dist/tools/currency.d.ts +20 -0
  39. package/dist/tools/currency.d.ts.map +1 -0
  40. package/dist/tools/currency.js +75 -0
  41. package/dist/tools/currency.js.map +1 -0
  42. package/dist/tools/index.d.ts +17 -0
  43. package/dist/tools/index.d.ts.map +1 -0
  44. package/dist/tools/index.js +46 -0
  45. package/dist/tools/index.js.map +1 -0
  46. package/dist/tools/invoice.d.ts +20 -0
  47. package/dist/tools/invoice.d.ts.map +1 -0
  48. package/dist/tools/invoice.js +80 -0
  49. package/dist/tools/invoice.js.map +1 -0
  50. package/dist/tools/order.d.ts +20 -0
  51. package/dist/tools/order.d.ts.map +1 -0
  52. package/dist/tools/order.js +194 -0
  53. package/dist/tools/order.js.map +1 -0
  54. package/dist/tools/payment.d.ts +20 -0
  55. package/dist/tools/payment.d.ts.map +1 -0
  56. package/dist/tools/payment.js +119 -0
  57. package/dist/tools/payment.js.map +1 -0
  58. package/dist/tools/product.d.ts +20 -0
  59. package/dist/tools/product.d.ts.map +1 -0
  60. package/dist/tools/product.js +94 -0
  61. package/dist/tools/product.js.map +1 -0
  62. package/dist/tools/reference.d.ts +20 -0
  63. package/dist/tools/reference.d.ts.map +1 -0
  64. package/dist/tools/reference.js +105 -0
  65. package/dist/tools/reference.js.map +1 -0
  66. package/dist/tools/salesInvoice.d.ts +20 -0
  67. package/dist/tools/salesInvoice.d.ts.map +1 -0
  68. package/dist/tools/salesInvoice.js +80 -0
  69. package/dist/tools/salesInvoice.js.map +1 -0
  70. package/dist/utils/error-handler.d.ts +23 -0
  71. package/dist/utils/error-handler.d.ts.map +1 -0
  72. package/dist/utils/error-handler.js +50 -0
  73. package/dist/utils/error-handler.js.map +1 -0
  74. package/dist/utils/logger.d.ts +15 -0
  75. package/dist/utils/logger.d.ts.map +1 -0
  76. package/dist/utils/logger.js +44 -0
  77. package/dist/utils/logger.js.map +1 -0
  78. package/package.json +57 -0
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ /**
3
+ * Act Tools for MCP Server (Акти)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.actTools = void 0;
7
+ exports.handleActTool = handleActTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Act tool definitions
12
+ */
13
+ exports.actTools = [
14
+ {
15
+ name: 'act_list',
16
+ description: 'List acts (Акти виконаних робіт) from SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ page: {
21
+ type: 'number',
22
+ description: 'Page number (default: 1)',
23
+ },
24
+ limit: {
25
+ type: 'number',
26
+ description: 'Results per page (default: 50, max: 100)',
27
+ },
28
+ orderId: {
29
+ type: 'number',
30
+ description: 'Filter by order ID',
31
+ },
32
+ contactId: {
33
+ type: 'number',
34
+ description: 'Filter by contact ID',
35
+ },
36
+ dateFrom: {
37
+ type: 'string',
38
+ description: 'Filter from date (YYYY-MM-DD)',
39
+ },
40
+ dateTo: {
41
+ type: 'string',
42
+ description: 'Filter to date (YYYY-MM-DD)',
43
+ },
44
+ },
45
+ },
46
+ },
47
+ ];
48
+ /**
49
+ * Handle act tool calls
50
+ */
51
+ async function handleActTool(toolName, args, client) {
52
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
53
+ try {
54
+ switch (toolName) {
55
+ case 'act_list': {
56
+ const params = {};
57
+ if (args.page)
58
+ params.page = args.page;
59
+ if (args.limit)
60
+ params.limit = args.limit;
61
+ if (args.orderId)
62
+ params['filter[orderId]'] = args.orderId;
63
+ if (args.contactId)
64
+ params['filter[contactId]'] = args.contactId;
65
+ if (args.dateFrom)
66
+ params['filter[date][from]'] = args.dateFrom;
67
+ if (args.dateTo)
68
+ params['filter[date][to]'] = args.dateTo;
69
+ const result = await client.acts.list(params);
70
+ return (0, error_handler_js_1.formatSuccess)(result);
71
+ }
72
+ default:
73
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown act tool: ${toolName}`));
74
+ }
75
+ }
76
+ catch (error) {
77
+ return (0, error_handler_js_1.formatError)(error);
78
+ }
79
+ }
80
+ //# sourceMappingURL=act.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/tools/act.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmDH,sCA4BC;AA5ED,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,QAAQ,GAAW;IAC9B;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3D,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjE,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Arrival Tools for MCP Server (Product Arrivals / Надходження товарів)
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Arrival tool definitions
7
+ */
8
+ export declare const arrivalTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle arrival tool calls
12
+ */
13
+ export declare function handleArrivalTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=arrival.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrival.d.ts","sourceRoot":"","sources":["../../src/tools/arrival.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,IAAI,EA8B9B,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GAwBlB"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Arrival Tools for MCP Server (Product Arrivals / Надходження товарів)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.arrivalTools = void 0;
7
+ exports.handleArrivalTool = handleArrivalTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Arrival tool definitions
12
+ */
13
+ exports.arrivalTools = [
14
+ {
15
+ name: 'arrival_list',
16
+ description: 'List product arrivals (Надходження товарів) from SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ page: {
21
+ type: 'number',
22
+ description: 'Page number (default: 1)',
23
+ },
24
+ limit: {
25
+ type: 'number',
26
+ description: 'Results per page (default: 50, max: 100)',
27
+ },
28
+ warehouseId: {
29
+ type: 'number',
30
+ description: 'Filter by warehouse ID',
31
+ },
32
+ dateFrom: {
33
+ type: 'string',
34
+ description: 'Filter from date (YYYY-MM-DD)',
35
+ },
36
+ dateTo: {
37
+ type: 'string',
38
+ description: 'Filter to date (YYYY-MM-DD)',
39
+ },
40
+ },
41
+ },
42
+ },
43
+ ];
44
+ /**
45
+ * Handle arrival tool calls
46
+ */
47
+ async function handleArrivalTool(toolName, args, client) {
48
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
49
+ try {
50
+ switch (toolName) {
51
+ case 'arrival_list': {
52
+ const params = {};
53
+ if (args.page)
54
+ params.page = args.page;
55
+ if (args.limit)
56
+ params.limit = args.limit;
57
+ if (args.warehouseId)
58
+ params['filter[warehouseId]'] = args.warehouseId;
59
+ if (args.dateFrom)
60
+ params['filter[date][from]'] = args.dateFrom;
61
+ if (args.dateTo)
62
+ params['filter[date][to]'] = args.dateTo;
63
+ const result = await client.arrivals.list(params);
64
+ return (0, error_handler_js_1.formatSuccess)(result);
65
+ }
66
+ default:
67
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown arrival tool: ${toolName}`));
68
+ }
69
+ }
70
+ catch (error) {
71
+ return (0, error_handler_js_1.formatError)(error);
72
+ }
73
+ }
74
+ //# sourceMappingURL=arrival.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrival.js","sourceRoot":"","sources":["../../src/tools/arrival.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,8CA2BC;AAvED,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,YAAY,GAAW;IAClC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wBAAwB;iBACtC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,WAAW;oBAAE,MAAM,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;gBACvE,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Cash Order Tools for MCP Server (Касові ордери)
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Cash Order tool definitions
7
+ */
8
+ export declare const cashOrderTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle cash order tool calls
12
+ */
13
+ export declare function handleCashOrderTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=cashOrder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cashOrder.d.ts","sourceRoot":"","sources":["../../src/tools/cashOrder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAAI,EA+BhC,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GAwBlB"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Cash Order Tools for MCP Server (Касові ордери)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.cashOrderTools = void 0;
7
+ exports.handleCashOrderTool = handleCashOrderTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Cash Order tool definitions
12
+ */
13
+ exports.cashOrderTools = [
14
+ {
15
+ name: 'cash_order_list',
16
+ description: 'List cash orders (Касові ордери) from SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ page: {
21
+ type: 'number',
22
+ description: 'Page number (default: 1)',
23
+ },
24
+ limit: {
25
+ type: 'number',
26
+ description: 'Results per page (default: 50, max: 100)',
27
+ },
28
+ type: {
29
+ type: 'string',
30
+ description: 'Order type: incoming or outgoing',
31
+ enum: ['incoming', 'outgoing'],
32
+ },
33
+ dateFrom: {
34
+ type: 'string',
35
+ description: 'Filter from date (YYYY-MM-DD)',
36
+ },
37
+ dateTo: {
38
+ type: 'string',
39
+ description: 'Filter to date (YYYY-MM-DD)',
40
+ },
41
+ },
42
+ },
43
+ },
44
+ ];
45
+ /**
46
+ * Handle cash order tool calls
47
+ */
48
+ async function handleCashOrderTool(toolName, args, client) {
49
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
50
+ try {
51
+ switch (toolName) {
52
+ case 'cash_order_list': {
53
+ const params = {};
54
+ if (args.page)
55
+ params.page = args.page;
56
+ if (args.limit)
57
+ params.limit = args.limit;
58
+ if (args.type)
59
+ params['filter[type]'] = args.type;
60
+ if (args.dateFrom)
61
+ params['filter[date][from]'] = args.dateFrom;
62
+ if (args.dateTo)
63
+ params['filter[date][to]'] = args.dateTo;
64
+ const result = await client.cashOrders.list(params);
65
+ return (0, error_handler_js_1.formatSuccess)(result);
66
+ }
67
+ default:
68
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown cash order tool: ${toolName}`));
69
+ }
70
+ }
71
+ catch (error) {
72
+ return (0, error_handler_js_1.formatError)(error);
73
+ }
74
+ }
75
+ //# sourceMappingURL=cashOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cashOrder.js","sourceRoot":"","sources":["../../src/tools/cashOrder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAgDH,kDA2BC;AAxED,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,cAAc,GAAW;IACpC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kCAAkC;oBAC/C,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;iBAC/B;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClD,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpD,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Category Tools for MCP Server
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Category tool definitions
7
+ */
8
+ export declare const categoryTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle category tool calls
12
+ */
13
+ export declare function handleCategoryTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=category.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/tools/category.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAAI,EAsD/B,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GA6BlB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ /**
3
+ * Category Tools for MCP Server
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.categoryTools = void 0;
7
+ exports.handleCategoryTool = handleCategoryTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Category tool definitions
12
+ */
13
+ exports.categoryTools = [
14
+ {
15
+ name: 'category_update',
16
+ description: 'Add or update product categories in SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ categories: {
21
+ type: 'array',
22
+ description: 'Array of categories to add/update',
23
+ items: {
24
+ type: 'object',
25
+ properties: {
26
+ id: {
27
+ type: 'number',
28
+ description: 'Category ID (for update, omit for create)',
29
+ },
30
+ name: {
31
+ type: 'string',
32
+ description: 'Category name',
33
+ },
34
+ parentId: {
35
+ type: 'number',
36
+ description: 'Parent category ID (0 for root)',
37
+ },
38
+ externalId: {
39
+ type: 'string',
40
+ description: 'External ID from your system',
41
+ },
42
+ },
43
+ required: ['name'],
44
+ },
45
+ },
46
+ },
47
+ required: ['categories'],
48
+ },
49
+ },
50
+ {
51
+ name: 'category_delete',
52
+ description: 'Delete product categories from SalesDrive',
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {
56
+ categoryIds: {
57
+ type: 'array',
58
+ description: 'Array of category IDs to delete',
59
+ items: {
60
+ type: 'number',
61
+ },
62
+ },
63
+ },
64
+ required: ['categoryIds'],
65
+ },
66
+ },
67
+ ];
68
+ /**
69
+ * Handle category tool calls
70
+ */
71
+ async function handleCategoryTool(toolName, args, client) {
72
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
73
+ try {
74
+ switch (toolName) {
75
+ case 'category_update': {
76
+ const categories = args.categories;
77
+ const result = await client.categories.update(categories);
78
+ return (0, error_handler_js_1.formatSuccess)(result);
79
+ }
80
+ case 'category_delete': {
81
+ const categoryIds = args.categoryIds;
82
+ const result = await client.categories.delete(categoryIds);
83
+ return (0, error_handler_js_1.formatSuccess)(result);
84
+ }
85
+ default:
86
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown category tool: ${toolName}`));
87
+ }
88
+ }
89
+ catch (error) {
90
+ return (0, error_handler_js_1.formatError)(error);
91
+ }
92
+ }
93
+ //# sourceMappingURL=category.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/tools/category.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAuEH,gDAgCC;AApGD,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,aAAa,GAAW;IACnC;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,mCAAmC;oBAChD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,2CAA2C;6BACzD;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,eAAe;6BAC7B;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iCAAiC;6BAC/C;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8BAA8B;6BAC5C;yBACF;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,iCAAiC;oBAC9C,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAKtB,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1D,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAuB,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3D,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Check Tools for MCP Server (Fiscal Receipts / Чеки)
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Check tool definitions
7
+ */
8
+ export declare const checkTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle check tool calls
12
+ */
13
+ export declare function handleCheckTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/tools/check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,IAAI,EA8B5B,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GAwBlB"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Check Tools for MCP Server (Fiscal Receipts / Чеки)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkTools = void 0;
7
+ exports.handleCheckTool = handleCheckTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Check tool definitions
12
+ */
13
+ exports.checkTools = [
14
+ {
15
+ name: 'check_list',
16
+ description: 'List fiscal receipts/checks (Чеки) from SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ page: {
21
+ type: 'number',
22
+ description: 'Page number (default: 1)',
23
+ },
24
+ limit: {
25
+ type: 'number',
26
+ description: 'Results per page (default: 50, max: 100)',
27
+ },
28
+ orderId: {
29
+ type: 'number',
30
+ description: 'Filter by order ID',
31
+ },
32
+ dateFrom: {
33
+ type: 'string',
34
+ description: 'Filter from date (YYYY-MM-DD)',
35
+ },
36
+ dateTo: {
37
+ type: 'string',
38
+ description: 'Filter to date (YYYY-MM-DD)',
39
+ },
40
+ },
41
+ },
42
+ },
43
+ ];
44
+ /**
45
+ * Handle check tool calls
46
+ */
47
+ async function handleCheckTool(toolName, args, client) {
48
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
49
+ try {
50
+ switch (toolName) {
51
+ case 'check_list': {
52
+ const params = {};
53
+ if (args.page)
54
+ params.page = args.page;
55
+ if (args.limit)
56
+ params.limit = args.limit;
57
+ if (args.orderId)
58
+ params['filter[orderId]'] = args.orderId;
59
+ if (args.dateFrom)
60
+ params['filter[date][from]'] = args.dateFrom;
61
+ if (args.dateTo)
62
+ params['filter[date][to]'] = args.dateTo;
63
+ const result = await client.checks.list(params);
64
+ return (0, error_handler_js_1.formatSuccess)(result);
65
+ }
66
+ default:
67
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown check tool: ${toolName}`));
68
+ }
69
+ }
70
+ catch (error) {
71
+ return (0, error_handler_js_1.formatError)(error);
72
+ }
73
+ }
74
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/tools/check.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,0CA2BC;AAvED,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,UAAU,GAAW;IAChC;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oBAAoB;iBAClC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3D,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Contract Tools for MCP Server (Договори)
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Contract tool definitions
7
+ */
8
+ export declare const contractTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle contract tool calls
12
+ */
13
+ export declare function handleContractTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAAI,EA8B/B,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GAwBlB"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * Contract Tools for MCP Server (Договори)
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.contractTools = void 0;
7
+ exports.handleContractTool = handleContractTool;
8
+ const error_handler_js_1 = require("../utils/error-handler.js");
9
+ const logger_js_1 = require("../utils/logger.js");
10
+ /**
11
+ * Contract tool definitions
12
+ */
13
+ exports.contractTools = [
14
+ {
15
+ name: 'contract_list',
16
+ description: 'List contracts (Договори) from SalesDrive',
17
+ inputSchema: {
18
+ type: 'object',
19
+ properties: {
20
+ page: {
21
+ type: 'number',
22
+ description: 'Page number (default: 1)',
23
+ },
24
+ limit: {
25
+ type: 'number',
26
+ description: 'Results per page (default: 50, max: 100)',
27
+ },
28
+ contactId: {
29
+ type: 'number',
30
+ description: 'Filter by contact ID',
31
+ },
32
+ dateFrom: {
33
+ type: 'string',
34
+ description: 'Filter from date (YYYY-MM-DD)',
35
+ },
36
+ dateTo: {
37
+ type: 'string',
38
+ description: 'Filter to date (YYYY-MM-DD)',
39
+ },
40
+ },
41
+ },
42
+ },
43
+ ];
44
+ /**
45
+ * Handle contract tool calls
46
+ */
47
+ async function handleContractTool(toolName, args, client) {
48
+ logger_js_1.logger.debug(`Handling tool: ${toolName}`, args);
49
+ try {
50
+ switch (toolName) {
51
+ case 'contract_list': {
52
+ const params = {};
53
+ if (args.page)
54
+ params.page = args.page;
55
+ if (args.limit)
56
+ params.limit = args.limit;
57
+ if (args.contactId)
58
+ params['filter[contactId]'] = args.contactId;
59
+ if (args.dateFrom)
60
+ params['filter[date][from]'] = args.dateFrom;
61
+ if (args.dateTo)
62
+ params['filter[date][to]'] = args.dateTo;
63
+ const result = await client.contracts.list(params);
64
+ return (0, error_handler_js_1.formatSuccess)(result);
65
+ }
66
+ default:
67
+ return (0, error_handler_js_1.formatError)(new Error(`Unknown contract tool: ${toolName}`));
68
+ }
69
+ }
70
+ catch (error) {
71
+ return (0, error_handler_js_1.formatError)(error);
72
+ }
73
+ }
74
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,gDA2BC;AAvED,gEAAuE;AACvE,kDAA4C;AAE5C;;GAEG;AACU,QAAA,aAAa,GAAW;IACnC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0BAA0B;iBACxC;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,0CAA0C;iBACxD;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sBAAsB;iBACpC;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAKF;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAA6B,EAC7B,MAAiB;IAEjB,kBAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC1C,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjE,IAAI,IAAI,CAAC,QAAQ;oBAAE,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBAE1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO,IAAA,gCAAa,EAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED;gBACE,OAAO,IAAA,8BAAW,EAAC,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,8BAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Currency Tools for MCP Server
3
+ */
4
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ /**
6
+ * Currency tool definitions
7
+ */
8
+ export declare const currencyTools: Tool[];
9
+ type AnyClient = any;
10
+ /**
11
+ * Handle currency tool calls
12
+ */
13
+ export declare function handleCurrencyTool(toolName: string, args: Record<string, unknown>, client: AnyClient): Promise<{
14
+ content: Array<{
15
+ type: "text";
16
+ text: string;
17
+ }>;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=currency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/tools/currency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAAI,EAqC/B,CAAC;AAGF,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,SAAS;;;;;GAuBlB"}