@elyonar/einvoice-mcp 0.1.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.
Files changed (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +133 -0
  3. package/bin/cli.js +2 -0
  4. package/dist/client/billing-client.d.ts +19 -0
  5. package/dist/client/billing-client.d.ts.map +1 -0
  6. package/dist/client/billing-client.js +62 -0
  7. package/dist/client/billing-client.js.map +1 -0
  8. package/dist/client/http-client.d.ts +44 -0
  9. package/dist/client/http-client.d.ts.map +1 -0
  10. package/dist/client/http-client.js +117 -0
  11. package/dist/client/http-client.js.map +1 -0
  12. package/dist/client/index.d.ts +4 -0
  13. package/dist/client/index.d.ts.map +1 -0
  14. package/dist/client/index.js +12 -0
  15. package/dist/client/index.js.map +1 -0
  16. package/dist/client/invoice-client.d.ts +42 -0
  17. package/dist/client/invoice-client.d.ts.map +1 -0
  18. package/dist/client/invoice-client.js +107 -0
  19. package/dist/client/invoice-client.js.map +1 -0
  20. package/dist/index.d.ts +17 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +87 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/tools/billing-tools.d.ts +11 -0
  25. package/dist/tools/billing-tools.d.ts.map +1 -0
  26. package/dist/tools/billing-tools.js +209 -0
  27. package/dist/tools/billing-tools.js.map +1 -0
  28. package/dist/tools/buyer-tools.d.ts +11 -0
  29. package/dist/tools/buyer-tools.d.ts.map +1 -0
  30. package/dist/tools/buyer-tools.js +148 -0
  31. package/dist/tools/buyer-tools.js.map +1 -0
  32. package/dist/tools/index.d.ts +5 -0
  33. package/dist/tools/index.d.ts.map +1 -0
  34. package/dist/tools/index.js +16 -0
  35. package/dist/tools/index.js.map +1 -0
  36. package/dist/tools/invoice-tools.d.ts +11 -0
  37. package/dist/tools/invoice-tools.d.ts.map +1 -0
  38. package/dist/tools/invoice-tools.js +319 -0
  39. package/dist/tools/invoice-tools.js.map +1 -0
  40. package/dist/tools/seller-tools.d.ts +11 -0
  41. package/dist/tools/seller-tools.d.ts.map +1 -0
  42. package/dist/tools/seller-tools.js +149 -0
  43. package/dist/tools/seller-tools.js.map +1 -0
  44. package/dist/types/billing.d.ts +145 -0
  45. package/dist/types/billing.d.ts.map +1 -0
  46. package/dist/types/billing.js +4 -0
  47. package/dist/types/billing.js.map +1 -0
  48. package/dist/types/index.d.ts +3 -0
  49. package/dist/types/index.d.ts.map +1 -0
  50. package/dist/types/index.js +19 -0
  51. package/dist/types/index.js.map +1 -0
  52. package/dist/types/invoice.d.ts +197 -0
  53. package/dist/types/invoice.d.ts.map +1 -0
  54. package/dist/types/invoice.js +4 -0
  55. package/dist/types/invoice.js.map +1 -0
  56. package/dist/utils/format.d.ts +14 -0
  57. package/dist/utils/format.d.ts.map +1 -0
  58. package/dist/utils/format.js +51 -0
  59. package/dist/utils/format.js.map +1 -0
  60. package/dist/utils/index.d.ts +2 -0
  61. package/dist/utils/index.d.ts.map +1 -0
  62. package/dist/utils/index.js +8 -0
  63. package/dist/utils/index.js.map +1 -0
  64. package/package.json +59 -0
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invoiceToolDefinitions = void 0;
4
+ exports.handleInvoiceTool = handleInvoiceTool;
5
+ const format_js_1 = require("../utils/format.js");
6
+ // ─── Tool Definitions ────────────────────────────────────────
7
+ exports.invoiceToolDefinitions = [
8
+ {
9
+ name: 'create_invoice',
10
+ description: 'Create a new invoice in draft status. Requires seller, buyer, date, currency, and at least one line item.',
11
+ inputSchema: {
12
+ type: 'object',
13
+ properties: {
14
+ sellerId: { type: 'string', description: 'Seller ID' },
15
+ buyerId: { type: 'string', description: 'Buyer ID' },
16
+ invoiceDate: { type: 'string', description: 'Invoice date (YYYY-MM-DD)' },
17
+ dueDate: { type: 'string', description: 'Payment due date (YYYY-MM-DD)' },
18
+ currency: { type: 'string', enum: ['NGN', 'USD', 'EUR', 'GBP'], description: 'Currency code' },
19
+ lineItems: {
20
+ type: 'array', minItems: 1,
21
+ items: {
22
+ type: 'object',
23
+ properties: {
24
+ description: { type: 'string' },
25
+ quantity: { type: 'number', minimum: 0.001 },
26
+ unitPrice: { type: 'number', minimum: 0 },
27
+ vatRate: { type: 'number', minimum: 0, maximum: 100, description: 'VAT rate percentage (e.g. 7.5)' },
28
+ hsnCode: { type: 'string' },
29
+ unitCode: { type: 'string' },
30
+ discountAmount: { type: 'number', minimum: 0 },
31
+ },
32
+ required: ['description', 'quantity', 'unitPrice', 'vatRate'],
33
+ },
34
+ description: 'Line items (min 1)',
35
+ },
36
+ invoiceType: { type: 'string', enum: ['STANDARD', 'CREDIT_NOTE', 'DEBIT_NOTE'] },
37
+ invoiceNumber: { type: 'string', description: 'Custom invoice number' },
38
+ notes: { type: 'string' },
39
+ paymentTerms: { type: 'string' },
40
+ originalInvoiceNumber: { type: 'string', description: 'Required for credit notes' },
41
+ },
42
+ required: ['sellerId', 'buyerId', 'invoiceDate', 'dueDate', 'currency', 'lineItems'],
43
+ },
44
+ },
45
+ {
46
+ name: 'get_invoice',
47
+ description: 'Get full details of an invoice by ID, including line items, amounts, and submission status.',
48
+ inputSchema: {
49
+ type: 'object',
50
+ properties: {
51
+ invoiceId: { type: 'string', description: 'Invoice ID' },
52
+ },
53
+ required: ['invoiceId'],
54
+ },
55
+ },
56
+ {
57
+ name: 'list_invoices',
58
+ description: 'List invoices with optional filtering by status, seller, buyer, date range, and search term.',
59
+ inputSchema: {
60
+ type: 'object',
61
+ properties: {
62
+ page: { type: 'integer', minimum: 1, description: 'Page number (default: 1)' },
63
+ limit: { type: 'integer', minimum: 1, maximum: 100, description: 'Results per page (default: 20)' },
64
+ status: { type: 'string', enum: ['draft', 'queued', 'pending', 'accepted', 'rejected', 'failed', 'cancelled'] },
65
+ sellerId: { type: 'string' },
66
+ buyerId: { type: 'string' },
67
+ startDate: { type: 'string', description: 'From date (YYYY-MM-DD)' },
68
+ endDate: { type: 'string', description: 'To date (YYYY-MM-DD)' },
69
+ search: { type: 'string', description: 'Search invoice number or party name' },
70
+ sortBy: { type: 'string', enum: ['createdAt', 'invoiceDate', 'dueDate', 'status'] },
71
+ sortOrder: { type: 'string', enum: ['ASC', 'DESC'] },
72
+ },
73
+ },
74
+ },
75
+ {
76
+ name: 'update_invoice',
77
+ description: 'Update a draft invoice. Only draft invoices can be modified. Cannot change sellerId, buyerId, or invoiceNumber.',
78
+ inputSchema: {
79
+ type: 'object',
80
+ properties: {
81
+ invoiceId: { type: 'string', description: 'Invoice ID to update' },
82
+ invoiceDate: { type: 'string' },
83
+ dueDate: { type: 'string' },
84
+ lineItems: { type: 'array', items: { type: 'object' } },
85
+ notes: { type: 'string' },
86
+ paymentTerms: { type: 'string' },
87
+ paymentStatus: { type: 'string', enum: ['UNPAID', 'PARTIALLY_PAID', 'PAID'] },
88
+ allowanceAmount: { type: 'number' },
89
+ chargeAmount: { type: 'number' },
90
+ },
91
+ required: ['invoiceId'],
92
+ },
93
+ },
94
+ {
95
+ name: 'delete_invoice',
96
+ description: 'Permanently delete a draft invoice. Cannot be undone. Only works for draft invoices.',
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ invoiceId: { type: 'string', description: 'Draft invoice ID to delete' },
101
+ },
102
+ required: ['invoiceId'],
103
+ },
104
+ },
105
+ {
106
+ name: 'submit_invoice',
107
+ description: 'Submit a draft invoice to FIRS (Nigeria tax authority). Irreversible — transitions to queued, then pending.',
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ invoiceId: { type: 'string', description: 'Draft invoice ID to submit' },
112
+ },
113
+ required: ['invoiceId'],
114
+ },
115
+ },
116
+ {
117
+ name: 'batch_submit_invoices',
118
+ description: 'Submit multiple draft invoices to FIRS in one operation. Returns queued/failed breakdown.',
119
+ inputSchema: {
120
+ type: 'object',
121
+ properties: {
122
+ invoiceIds: {
123
+ type: 'array', minItems: 1, maxItems: 100,
124
+ items: { type: 'string' },
125
+ description: 'Array of invoice IDs to submit',
126
+ },
127
+ },
128
+ required: ['invoiceIds'],
129
+ },
130
+ },
131
+ {
132
+ name: 'retry_invoice_submission',
133
+ description: 'Retry a failed invoice submission. Only works for invoices with status "failed".',
134
+ inputSchema: {
135
+ type: 'object',
136
+ properties: {
137
+ invoiceId: { type: 'string', description: 'Failed invoice ID to retry' },
138
+ },
139
+ required: ['invoiceId'],
140
+ },
141
+ },
142
+ {
143
+ name: 'cancel_invoice',
144
+ description: 'Cancel an accepted invoice by creating a credit note. Only accepted invoices can be cancelled.',
145
+ inputSchema: {
146
+ type: 'object',
147
+ properties: {
148
+ invoiceId: { type: 'string', description: 'Accepted invoice ID to cancel' },
149
+ reason: { type: 'string', description: 'Cancellation reason' },
150
+ notes: { type: 'string', description: 'Additional context' },
151
+ },
152
+ required: ['invoiceId', 'reason'],
153
+ },
154
+ },
155
+ {
156
+ name: 'get_invoice_status',
157
+ description: 'Get the current status of an invoice from local database.',
158
+ inputSchema: {
159
+ type: 'object',
160
+ properties: {
161
+ invoiceId: { type: 'string', description: 'Invoice ID' },
162
+ },
163
+ required: ['invoiceId'],
164
+ },
165
+ },
166
+ {
167
+ name: 'query_invoice_status',
168
+ description: 'Query FIRS for real-time invoice status. Makes a live request to the tax authority.',
169
+ inputSchema: {
170
+ type: 'object',
171
+ properties: {
172
+ invoiceId: { type: 'string', description: 'Invoice ID' },
173
+ },
174
+ required: ['invoiceId'],
175
+ },
176
+ },
177
+ {
178
+ name: 'validate_invoice',
179
+ description: 'Validate invoice data without creating it. Checks seller/buyer, dates, amounts, and FIRS rules.',
180
+ inputSchema: {
181
+ type: 'object',
182
+ properties: {
183
+ sellerId: { type: 'string' },
184
+ buyerId: { type: 'string' },
185
+ invoiceDate: { type: 'string' },
186
+ dueDate: { type: 'string' },
187
+ currency: { type: 'string', enum: ['NGN', 'USD', 'EUR', 'GBP'] },
188
+ lineItems: { type: 'array', minItems: 1, items: { type: 'object' } },
189
+ },
190
+ required: ['sellerId', 'buyerId', 'invoiceDate', 'dueDate', 'currency', 'lineItems'],
191
+ },
192
+ },
193
+ {
194
+ name: 'download_invoice',
195
+ description: 'Get a download URL for the invoice PDF or XML.',
196
+ inputSchema: {
197
+ type: 'object',
198
+ properties: {
199
+ invoiceId: { type: 'string', description: 'Invoice ID' },
200
+ format: { type: 'string', enum: ['pdf', 'xml'], description: 'Download format (default: pdf)' },
201
+ },
202
+ required: ['invoiceId'],
203
+ },
204
+ },
205
+ {
206
+ name: 'get_invoice_statistics',
207
+ description: 'Get invoice statistics and analytics for a given period.',
208
+ inputSchema: {
209
+ type: 'object',
210
+ properties: {
211
+ startDate: { type: 'string', description: 'Period start (YYYY-MM-DD)' },
212
+ endDate: { type: 'string', description: 'Period end (YYYY-MM-DD)' },
213
+ jurisdiction: { type: 'string' },
214
+ },
215
+ },
216
+ },
217
+ {
218
+ name: 'get_invoice_setup',
219
+ description: 'Get setup/reference data for invoice creation: available sellers, buyers, currencies, tax rates.',
220
+ inputSchema: {
221
+ type: 'object',
222
+ properties: {},
223
+ },
224
+ },
225
+ ];
226
+ // ─── Tool Handler ────────────────────────────────────────
227
+ async function handleInvoiceTool(name, args, client) {
228
+ try {
229
+ switch (name) {
230
+ case 'create_invoice': {
231
+ const { ...body } = args;
232
+ const res = await client.createInvoice(body);
233
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Invoice ${res.data.invoiceNumber} created (${res.data.status}).`) }] };
234
+ }
235
+ case 'get_invoice': {
236
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
237
+ const res = await client.getInvoice(id);
238
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res) }] };
239
+ }
240
+ case 'list_invoices': {
241
+ const res = await client.listInvoices(args);
242
+ const count = Array.isArray(res.data) ? res.data.length : 0;
243
+ const total = res.meta.pagination?.total ?? count;
244
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Found ${total} invoices (showing ${count}).`) }] };
245
+ }
246
+ case 'update_invoice': {
247
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
248
+ const { invoiceId: _, ...body } = args;
249
+ const res = await client.updateInvoice(id, body);
250
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Invoice ${res.data.invoiceNumber} updated.`) }] };
251
+ }
252
+ case 'delete_invoice': {
253
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
254
+ const res = await client.deleteInvoice(id);
255
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, 'Invoice deleted.') }] };
256
+ }
257
+ case 'submit_invoice': {
258
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
259
+ const res = await client.submitInvoice(id);
260
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Invoice queued for submission (job: ${res.data.jobId}).`) }] };
261
+ }
262
+ case 'batch_submit_invoices': {
263
+ const ids = args.invoiceIds;
264
+ if (!Array.isArray(ids) || ids.length === 0)
265
+ throw new Error('invoiceIds must be a non-empty array');
266
+ const res = await client.batchSubmitInvoices(ids);
267
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Batch: ${res.data.totalQueued} queued, ${res.data.totalFailed} failed.`) }] };
268
+ }
269
+ case 'retry_invoice_submission': {
270
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
271
+ const res = await client.retryInvoice(id);
272
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Retry queued (attempt ${res.data.attempt}).`) }] };
273
+ }
274
+ case 'cancel_invoice': {
275
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
276
+ const reason = (0, format_js_1.requiredParam)(args, 'reason');
277
+ const notes = args.notes;
278
+ const res = await client.cancelInvoice(id, reason, notes);
279
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Invoice cancelled. Credit note created: ${res.data.invoiceNumber}`) }] };
280
+ }
281
+ case 'get_invoice_status': {
282
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
283
+ const res = await client.getInvoiceStatus(id);
284
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Status: ${res.data.status}`) }] };
285
+ }
286
+ case 'query_invoice_status': {
287
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
288
+ const res = await client.queryInvoiceStatus(id);
289
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `FIRS status: ${res.data.status}`) }] };
290
+ }
291
+ case 'validate_invoice': {
292
+ const { ...body } = args;
293
+ const res = await client.validateInvoice(body);
294
+ const status = res.data.valid ? 'Valid' : `Invalid (${res.data.errors.length} errors)`;
295
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, status) }] };
296
+ }
297
+ case 'download_invoice': {
298
+ const id = (0, format_js_1.requiredParam)(args, 'invoiceId');
299
+ const format = args.format;
300
+ const res = await client.downloadInvoice(id, format);
301
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Download URL: ${res.data.downloadUrl}`) }] };
302
+ }
303
+ case 'get_invoice_statistics': {
304
+ const res = await client.getInvoiceStatistics(args);
305
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Total invoices: ${res.data.totalInvoices}`) }] };
306
+ }
307
+ case 'get_invoice_setup': {
308
+ const res = await client.getInvoiceSetup();
309
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res) }] };
310
+ }
311
+ default:
312
+ return { content: [{ type: 'text', text: `Unknown invoice tool: ${name}` }], isError: true };
313
+ }
314
+ }
315
+ catch (error) {
316
+ return { content: [{ type: 'text', text: (0, format_js_1.formatError)(error) }], isError: true };
317
+ }
318
+ }
319
+ //# sourceMappingURL=invoice-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoice-tools.js","sourceRoot":"","sources":["../../src/tools/invoice-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { InvoiceClient } from '../client/invoice-client.js';
3
+ export declare const sellerToolDefinitions: Tool[];
4
+ export declare function handleSellerTool(name: string, args: Record<string, unknown>, client: InvoiceClient): Promise<{
5
+ content: Array<{
6
+ type: 'text';
7
+ text: string;
8
+ }>;
9
+ isError?: boolean;
10
+ }>;
11
+ //# sourceMappingURL=seller-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seller-tools.d.ts","sourceRoot":"","sources":["../../src/tools/seller-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,eAAO,MAAM,qBAAqB,EAAE,IAAI,EAgGvC,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4ChF"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sellerToolDefinitions = void 0;
4
+ exports.handleSellerTool = handleSellerTool;
5
+ const format_js_1 = require("../utils/format.js");
6
+ exports.sellerToolDefinitions = [
7
+ {
8
+ name: 'create_seller',
9
+ description: 'Register a new seller entity. Sellers must be registered before creating invoices.',
10
+ inputSchema: {
11
+ type: 'object',
12
+ properties: {
13
+ companyName: { type: 'string', description: 'Business name' },
14
+ tin: { type: 'string', description: 'Tax ID (format: XXXXXXXX-XXXX)' },
15
+ registrationNumber: { type: 'string', description: 'Business registration number' },
16
+ email: { type: 'string', description: 'Contact email' },
17
+ phoneNumber: { type: 'string', description: 'Phone (international format, starts with +)' },
18
+ postalAddress: {
19
+ type: 'object',
20
+ properties: {
21
+ streetName: { type: 'string' },
22
+ cityName: { type: 'string' },
23
+ countrySubentity: { type: 'string', description: 'State/Province' },
24
+ postalZone: { type: 'string' },
25
+ countryCode: { type: 'string', description: 'ISO 3166-1 alpha-2' },
26
+ },
27
+ required: ['streetName', 'cityName', 'countrySubentity', 'countryCode'],
28
+ },
29
+ tradingName: { type: 'string' },
30
+ vatNumber: { type: 'string' },
31
+ website: { type: 'string' },
32
+ },
33
+ required: ['companyName', 'tin', 'registrationNumber', 'email', 'phoneNumber', 'postalAddress'],
34
+ },
35
+ },
36
+ {
37
+ name: 'get_seller',
38
+ description: 'Get full details of a seller by ID.',
39
+ inputSchema: {
40
+ type: 'object',
41
+ properties: { sellerId: { type: 'string', description: 'Seller ID' } },
42
+ required: ['sellerId'],
43
+ },
44
+ },
45
+ {
46
+ name: 'list_sellers',
47
+ description: 'List sellers with optional filtering and search.',
48
+ inputSchema: {
49
+ type: 'object',
50
+ properties: {
51
+ page: { type: 'integer', minimum: 1 },
52
+ limit: { type: 'integer', minimum: 1, maximum: 100 },
53
+ status: { type: 'string', enum: ['PENDING_VERIFICATION', 'ACTIVE', 'SUSPENDED', 'INACTIVE'] },
54
+ search: { type: 'string', description: 'Search by name or TIN' },
55
+ },
56
+ },
57
+ },
58
+ {
59
+ name: 'update_seller',
60
+ description: 'Update a seller. TIN cannot be changed after creation.',
61
+ inputSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ sellerId: { type: 'string', description: 'Seller ID to update' },
65
+ companyName: { type: 'string' },
66
+ email: { type: 'string' },
67
+ phoneNumber: { type: 'string' },
68
+ postalAddress: { type: 'object' },
69
+ website: { type: 'string' },
70
+ registrationNumber: { type: 'string' },
71
+ },
72
+ required: ['sellerId'],
73
+ },
74
+ },
75
+ {
76
+ name: 'delete_seller',
77
+ description: 'Delete a seller that has no invoices.',
78
+ inputSchema: {
79
+ type: 'object',
80
+ properties: { sellerId: { type: 'string', description: 'Seller ID to delete' } },
81
+ required: ['sellerId'],
82
+ },
83
+ },
84
+ {
85
+ name: 'verify_seller_tin',
86
+ description: 'Trigger TIN verification for a seller with FIRS.',
87
+ inputSchema: {
88
+ type: 'object',
89
+ properties: { sellerId: { type: 'string', description: 'Seller ID' } },
90
+ required: ['sellerId'],
91
+ },
92
+ },
93
+ {
94
+ name: 'get_seller_verification_status',
95
+ description: 'Check the TIN verification status of a seller.',
96
+ inputSchema: {
97
+ type: 'object',
98
+ properties: { sellerId: { type: 'string', description: 'Seller ID' } },
99
+ required: ['sellerId'],
100
+ },
101
+ },
102
+ ];
103
+ async function handleSellerTool(name, args, client) {
104
+ try {
105
+ switch (name) {
106
+ case 'create_seller': {
107
+ const res = await client.createSeller(args);
108
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Seller "${res.data.partyName}" created (${res.data.tinVerificationStatus}).`) }] };
109
+ }
110
+ case 'get_seller': {
111
+ const id = (0, format_js_1.requiredParam)(args, 'sellerId');
112
+ const res = await client.getSeller(id);
113
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res) }] };
114
+ }
115
+ case 'list_sellers': {
116
+ const res = await client.listSellers(args);
117
+ const count = Array.isArray(res.data) ? res.data.length : 0;
118
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Found ${res.meta.pagination?.total ?? count} sellers.`) }] };
119
+ }
120
+ case 'update_seller': {
121
+ const id = (0, format_js_1.requiredParam)(args, 'sellerId');
122
+ const { sellerId: _, ...body } = args;
123
+ const res = await client.updateSeller(id, body);
124
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `Seller "${res.data.partyName}" updated.`) }] };
125
+ }
126
+ case 'delete_seller': {
127
+ const id = (0, format_js_1.requiredParam)(args, 'sellerId');
128
+ const res = await client.deleteSeller(id);
129
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, 'Seller deleted.') }] };
130
+ }
131
+ case 'verify_seller_tin': {
132
+ const id = (0, format_js_1.requiredParam)(args, 'sellerId');
133
+ const res = await client.verifySellerTin(id);
134
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `TIN verification: ${res.data.tinVerificationStatus}`) }] };
135
+ }
136
+ case 'get_seller_verification_status': {
137
+ const id = (0, format_js_1.requiredParam)(args, 'sellerId');
138
+ const res = await client.getSellerVerificationStatus(id);
139
+ return { content: [{ type: 'text', text: (0, format_js_1.formatSuccess)(res, `TIN status: ${res.data.tinVerificationStatus}`) }] };
140
+ }
141
+ default:
142
+ return { content: [{ type: 'text', text: `Unknown seller tool: ${name}` }], isError: true };
143
+ }
144
+ }
145
+ catch (error) {
146
+ return { content: [{ type: 'text', text: (0, format_js_1.formatError)(error) }], isError: true };
147
+ }
148
+ }
149
+ //# sourceMappingURL=seller-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seller-tools.js","sourceRoot":"","sources":["../../src/tools/seller-tools.ts"],"names":[],"mappings":";;;AAsGA,4CAgDC;AApJD,kDAA+E;AAElE,QAAA,qBAAqB,GAAW;IAC3C;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oFAAoF;QACjG,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBACtE,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;gBACnF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACvD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBAC3F,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC5B,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;wBACnE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;qBACnE;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,CAAC;iBACxE;gBACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC;SAChG;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qCAAqC;QAClD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;YACtE,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;gBACrC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gBACpD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;gBAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aACjE;SACF;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,wDAAwD;QACrE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAChE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACjC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACvC;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE;YAChF,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;YACtE,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;YACtE,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC;AAEK,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,IAA6B,EAC7B,MAAqB;IAErB,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,cAAc,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClJ,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,GAAG,IAAA,yBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAmD,CAAC,CAAC;gBAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5H,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,IAAA,yBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3C,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBACtC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9G,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,IAAA,yBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;YACtF,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAA,yBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1H,CAAC;YACD,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,MAAM,EAAE,GAAG,IAAA,yBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,yBAAa,EAAC,GAAG,EAAE,eAAe,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACpH,CAAC;YACD;gBACE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChG,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,uBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;AACH,CAAC"}