storno-cli 1.0.5

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 (188) hide show
  1. package/LICENSE +53 -0
  2. package/README.md +257 -0
  3. package/TOOLS.md +3309 -0
  4. package/dist/client.d.ts +42 -0
  5. package/dist/client.d.ts.map +1 -0
  6. package/dist/client.js +162 -0
  7. package/dist/client.js.map +1 -0
  8. package/dist/config.d.ts +22 -0
  9. package/dist/config.d.ts.map +1 -0
  10. package/dist/config.js +30 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/index.d.ts +37 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +172 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/tools/accounting-export.d.ts +14 -0
  17. package/dist/tools/accounting-export.d.ts.map +1 -0
  18. package/dist/tools/accounting-export.js +97 -0
  19. package/dist/tools/accounting-export.js.map +1 -0
  20. package/dist/tools/admin.d.ts +8 -0
  21. package/dist/tools/admin.d.ts.map +1 -0
  22. package/dist/tools/admin.js +98 -0
  23. package/dist/tools/admin.js.map +1 -0
  24. package/dist/tools/anaf.d.ts +8 -0
  25. package/dist/tools/anaf.d.ts.map +1 -0
  26. package/dist/tools/anaf.js +115 -0
  27. package/dist/tools/anaf.js.map +1 -0
  28. package/dist/tools/api-keys.d.ts +8 -0
  29. package/dist/tools/api-keys.d.ts.map +1 -0
  30. package/dist/tools/api-keys.js +29 -0
  31. package/dist/tools/api-keys.js.map +1 -0
  32. package/dist/tools/auth.d.ts +8 -0
  33. package/dist/tools/auth.d.ts.map +1 -0
  34. package/dist/tools/auth.js +187 -0
  35. package/dist/tools/auth.js.map +1 -0
  36. package/dist/tools/backup.d.ts +62 -0
  37. package/dist/tools/backup.d.ts.map +1 -0
  38. package/dist/tools/backup.js +167 -0
  39. package/dist/tools/backup.js.map +1 -0
  40. package/dist/tools/bank-accounts.d.ts +14 -0
  41. package/dist/tools/bank-accounts.d.ts.map +1 -0
  42. package/dist/tools/bank-accounts.js +140 -0
  43. package/dist/tools/bank-accounts.js.map +1 -0
  44. package/dist/tools/borderou.d.ts +14 -0
  45. package/dist/tools/borderou.d.ts.map +1 -0
  46. package/dist/tools/borderou.js +233 -0
  47. package/dist/tools/borderou.js.map +1 -0
  48. package/dist/tools/clients.d.ts +14 -0
  49. package/dist/tools/clients.d.ts.map +1 -0
  50. package/dist/tools/clients.js +353 -0
  51. package/dist/tools/clients.js.map +1 -0
  52. package/dist/tools/companies.d.ts +8 -0
  53. package/dist/tools/companies.d.ts.map +1 -0
  54. package/dist/tools/companies.js +211 -0
  55. package/dist/tools/companies.js.map +1 -0
  56. package/dist/tools/company-registry.d.ts +31 -0
  57. package/dist/tools/company-registry.d.ts.map +1 -0
  58. package/dist/tools/company-registry.js +51 -0
  59. package/dist/tools/company-registry.js.map +1 -0
  60. package/dist/tools/cpv-codes.d.ts +17 -0
  61. package/dist/tools/cpv-codes.d.ts.map +1 -0
  62. package/dist/tools/cpv-codes.js +28 -0
  63. package/dist/tools/cpv-codes.js.map +1 -0
  64. package/dist/tools/dashboard.d.ts +23 -0
  65. package/dist/tools/dashboard.d.ts.map +1 -0
  66. package/dist/tools/dashboard.js +37 -0
  67. package/dist/tools/dashboard.js.map +1 -0
  68. package/dist/tools/defaults.d.ts +14 -0
  69. package/dist/tools/defaults.d.ts.map +1 -0
  70. package/dist/tools/defaults.js +29 -0
  71. package/dist/tools/defaults.js.map +1 -0
  72. package/dist/tools/delivery-notes.d.ts +185 -0
  73. package/dist/tools/delivery-notes.d.ts.map +1 -0
  74. package/dist/tools/delivery-notes.js +525 -0
  75. package/dist/tools/delivery-notes.js.map +1 -0
  76. package/dist/tools/document-series.d.ts +54 -0
  77. package/dist/tools/document-series.d.ts.map +1 -0
  78. package/dist/tools/document-series.js +171 -0
  79. package/dist/tools/document-series.js.map +1 -0
  80. package/dist/tools/efactura-messages.d.ts +34 -0
  81. package/dist/tools/efactura-messages.d.ts.map +1 -0
  82. package/dist/tools/efactura-messages.js +51 -0
  83. package/dist/tools/efactura-messages.js.map +1 -0
  84. package/dist/tools/einvoice.d.ts +8 -0
  85. package/dist/tools/einvoice.d.ts.map +1 -0
  86. package/dist/tools/einvoice.js +170 -0
  87. package/dist/tools/einvoice.js.map +1 -0
  88. package/dist/tools/email-templates.d.ts +14 -0
  89. package/dist/tools/email-templates.d.ts.map +1 -0
  90. package/dist/tools/email-templates.js +104 -0
  91. package/dist/tools/email-templates.js.map +1 -0
  92. package/dist/tools/exchange-rates.d.ts +14 -0
  93. package/dist/tools/exchange-rates.d.ts.map +1 -0
  94. package/dist/tools/exchange-rates.js +55 -0
  95. package/dist/tools/exchange-rates.js.map +1 -0
  96. package/dist/tools/exports.d.ts +14 -0
  97. package/dist/tools/exports.d.ts.map +1 -0
  98. package/dist/tools/exports.js +25 -0
  99. package/dist/tools/exports.js.map +1 -0
  100. package/dist/tools/import.d.ts +14 -0
  101. package/dist/tools/import.d.ts.map +1 -0
  102. package/dist/tools/import.js +221 -0
  103. package/dist/tools/import.js.map +1 -0
  104. package/dist/tools/invitations.d.ts +8 -0
  105. package/dist/tools/invitations.d.ts.map +1 -0
  106. package/dist/tools/invitations.js +70 -0
  107. package/dist/tools/invitations.js.map +1 -0
  108. package/dist/tools/invoices.d.ts +14 -0
  109. package/dist/tools/invoices.d.ts.map +1 -0
  110. package/dist/tools/invoices.js +1191 -0
  111. package/dist/tools/invoices.js.map +1 -0
  112. package/dist/tools/licensing.d.ts +8 -0
  113. package/dist/tools/licensing.d.ts.map +1 -0
  114. package/dist/tools/licensing.js +90 -0
  115. package/dist/tools/licensing.js.map +1 -0
  116. package/dist/tools/members.d.ts +8 -0
  117. package/dist/tools/members.d.ts.map +1 -0
  118. package/dist/tools/members.js +79 -0
  119. package/dist/tools/members.js.map +1 -0
  120. package/dist/tools/nc-codes.d.ts +17 -0
  121. package/dist/tools/nc-codes.d.ts.map +1 -0
  122. package/dist/tools/nc-codes.js +28 -0
  123. package/dist/tools/nc-codes.js.map +1 -0
  124. package/dist/tools/notifications.d.ts +8 -0
  125. package/dist/tools/notifications.d.ts.map +1 -0
  126. package/dist/tools/notifications.js +111 -0
  127. package/dist/tools/notifications.js.map +1 -0
  128. package/dist/tools/oauth2-clients.d.ts +8 -0
  129. package/dist/tools/oauth2-clients.d.ts.map +1 -0
  130. package/dist/tools/oauth2-clients.js +147 -0
  131. package/dist/tools/oauth2-clients.js.map +1 -0
  132. package/dist/tools/payments.d.ts +17 -0
  133. package/dist/tools/payments.d.ts.map +1 -0
  134. package/dist/tools/payments.js +109 -0
  135. package/dist/tools/payments.js.map +1 -0
  136. package/dist/tools/pdf-template-config.d.ts +14 -0
  137. package/dist/tools/pdf-template-config.d.ts.map +1 -0
  138. package/dist/tools/pdf-template-config.js +131 -0
  139. package/dist/tools/pdf-template-config.js.map +1 -0
  140. package/dist/tools/products.d.ts +40 -0
  141. package/dist/tools/products.d.ts.map +1 -0
  142. package/dist/tools/products.js +73 -0
  143. package/dist/tools/products.js.map +1 -0
  144. package/dist/tools/proforma-invoices.d.ts +198 -0
  145. package/dist/tools/proforma-invoices.d.ts.map +1 -0
  146. package/dist/tools/proforma-invoices.js +378 -0
  147. package/dist/tools/proforma-invoices.js.map +1 -0
  148. package/dist/tools/receipts.d.ts +166 -0
  149. package/dist/tools/receipts.d.ts.map +1 -0
  150. package/dist/tools/receipts.js +397 -0
  151. package/dist/tools/receipts.js.map +1 -0
  152. package/dist/tools/recurring-invoices.d.ts +187 -0
  153. package/dist/tools/recurring-invoices.d.ts.map +1 -0
  154. package/dist/tools/recurring-invoices.js +305 -0
  155. package/dist/tools/recurring-invoices.js.map +1 -0
  156. package/dist/tools/reports.d.ts +48 -0
  157. package/dist/tools/reports.d.ts.map +1 -0
  158. package/dist/tools/reports.js +200 -0
  159. package/dist/tools/reports.js.map +1 -0
  160. package/dist/tools/storage-config.d.ts +8 -0
  161. package/dist/tools/storage-config.d.ts.map +1 -0
  162. package/dist/tools/storage-config.js +117 -0
  163. package/dist/tools/storage-config.js.map +1 -0
  164. package/dist/tools/suppliers.d.ts +14 -0
  165. package/dist/tools/suppliers.d.ts.map +1 -0
  166. package/dist/tools/suppliers.js +205 -0
  167. package/dist/tools/suppliers.js.map +1 -0
  168. package/dist/tools/system.d.ts +8 -0
  169. package/dist/tools/system.d.ts.map +1 -0
  170. package/dist/tools/system.js +24 -0
  171. package/dist/tools/system.js.map +1 -0
  172. package/dist/tools/vat-rates.d.ts +14 -0
  173. package/dist/tools/vat-rates.d.ts.map +1 -0
  174. package/dist/tools/vat-rates.js +145 -0
  175. package/dist/tools/vat-rates.js.map +1 -0
  176. package/dist/tools/webhooks.d.ts +8 -0
  177. package/dist/tools/webhooks.d.ts.map +1 -0
  178. package/dist/tools/webhooks.js +305 -0
  179. package/dist/tools/webhooks.js.map +1 -0
  180. package/dist/utils/errors.d.ts +18 -0
  181. package/dist/utils/errors.d.ts.map +1 -0
  182. package/dist/utils/errors.js +45 -0
  183. package/dist/utils/errors.js.map +1 -0
  184. package/dist/utils/pagination.d.ts +9 -0
  185. package/dist/utils/pagination.d.ts.map +1 -0
  186. package/dist/utils/pagination.js +10 -0
  187. package/dist/utils/pagination.js.map +1 -0
  188. package/package.json +52 -0
@@ -0,0 +1,353 @@
1
+ import { z } from 'zod';
2
+ import { apiRequest } from '../client.js';
3
+ import { formatResponse, notAuthenticated, noCompanySelected } from '../utils/errors.js';
4
+ import { getConfig } from '../config.js';
5
+ function getCompanyId(params) {
6
+ return params.companyId || getConfig().companyId;
7
+ }
8
+ export const tools = [
9
+ {
10
+ name: 'clients_list',
11
+ description: 'List clients for the active company. Results are grouped alphabetically by name and can be filtered by type (company/individual) or searched by name, CUI/CNP, or email.',
12
+ inputSchema: z.object({
13
+ companyId: z
14
+ .string()
15
+ .optional()
16
+ .describe('Company UUID override (uses active company if not set)'),
17
+ page: z.number().int().optional().describe('Page number (default: 1)'),
18
+ limit: z
19
+ .number()
20
+ .int()
21
+ .optional()
22
+ .describe('Items per page, max 200 (default: 50)'),
23
+ search: z
24
+ .string()
25
+ .optional()
26
+ .describe('Search term to filter by name, CUI/CNP, or email'),
27
+ type: z
28
+ .enum(['company', 'individual'])
29
+ .optional()
30
+ .describe('Filter by client type: "company" or "individual"'),
31
+ }),
32
+ handler: async (params) => {
33
+ if (!getConfig().token)
34
+ return notAuthenticated();
35
+ const companyId = getCompanyId(params);
36
+ if (!companyId)
37
+ return noCompanySelected();
38
+ const { page, limit, search, type } = params;
39
+ const result = await apiRequest('/api/v1/clients', {
40
+ companyId,
41
+ query: { page, limit, search, type },
42
+ });
43
+ return formatResponse(result);
44
+ },
45
+ },
46
+ {
47
+ name: 'clients_get',
48
+ description: 'Get detailed information about a specific client by UUID, including invoice summary statistics (total count, unpaid amount, overdue amount, total revenue) and a list of the 10 most recent invoices.',
49
+ inputSchema: z.object({
50
+ uuid: z.string().describe('Client UUID'),
51
+ companyId: z
52
+ .string()
53
+ .optional()
54
+ .describe('Company UUID override (uses active company if not set)'),
55
+ }),
56
+ handler: async (params) => {
57
+ if (!getConfig().token)
58
+ return notAuthenticated();
59
+ const companyId = getCompanyId(params);
60
+ if (!companyId)
61
+ return noCompanySelected();
62
+ const { uuid } = params;
63
+ const result = await apiRequest(`/api/v1/clients/${uuid}`, { companyId });
64
+ return formatResponse(result);
65
+ },
66
+ },
67
+ {
68
+ name: 'clients_create',
69
+ description: 'Create a new client manually. Supports both company and individual client types. Company details (address, VAT, bank account, etc.) can be auto-filled using clients_anaf_lookup or clients_from_registry before calling this tool.',
70
+ inputSchema: z.object({
71
+ companyId: z
72
+ .string()
73
+ .optional()
74
+ .describe('Company UUID override (uses active company if not set)'),
75
+ name: z.string().describe('Client name (company or individual full name)'),
76
+ type: z
77
+ .enum(['company', 'individual'])
78
+ .optional()
79
+ .describe('Client type: "company" (default) or "individual"'),
80
+ cui: z.string().optional().describe('Company tax ID / CUI (for company type)'),
81
+ cnp: z.string().optional().describe('Personal numeric code / CNP (for individual type)'),
82
+ vatCode: z.string().optional().describe('VAT registration code (e.g., RO12345678)'),
83
+ isVatPayer: z.boolean().optional().describe('Whether the client is registered for VAT'),
84
+ registrationNumber: z
85
+ .string()
86
+ .optional()
87
+ .describe('Trade registry number (e.g., J40/1234/2020)'),
88
+ address: z.string().optional().describe('Street address'),
89
+ city: z.string().optional().describe('City'),
90
+ county: z.string().optional().describe('County / state'),
91
+ country: z
92
+ .string()
93
+ .optional()
94
+ .describe('ISO 3166-1 alpha-2 country code (default: RO)'),
95
+ postalCode: z.string().optional().describe('Postal / ZIP code'),
96
+ email: z.string().optional().describe('Client email address'),
97
+ phone: z.string().optional().describe('Client phone number'),
98
+ bankName: z.string().optional().describe('Bank name'),
99
+ bankAccount: z.string().optional().describe('IBAN or bank account number'),
100
+ defaultPaymentTermDays: z
101
+ .number()
102
+ .int()
103
+ .optional()
104
+ .describe('Default payment term in days for invoices issued to this client'),
105
+ contactPerson: z.string().optional().describe('Name of the primary contact person'),
106
+ notes: z.string().optional().describe('Internal notes about the client'),
107
+ }),
108
+ handler: async (params) => {
109
+ if (!getConfig().token)
110
+ return notAuthenticated();
111
+ const companyId = getCompanyId(params);
112
+ if (!companyId)
113
+ return noCompanySelected();
114
+ const { companyId: _cid, ...body } = params;
115
+ const result = await apiRequest('/api/v1/clients', {
116
+ method: 'POST',
117
+ companyId,
118
+ body: body,
119
+ });
120
+ return formatResponse(result);
121
+ },
122
+ },
123
+ {
124
+ name: 'clients_update',
125
+ description: 'Update an existing client by UUID. All fields are optional — only the provided fields will be updated.',
126
+ inputSchema: z.object({
127
+ uuid: z.string().describe('Client UUID to update'),
128
+ companyId: z
129
+ .string()
130
+ .optional()
131
+ .describe('Company UUID override (uses active company if not set)'),
132
+ name: z.string().optional().describe('Client name (company or individual full name)'),
133
+ type: z
134
+ .enum(['company', 'individual'])
135
+ .optional()
136
+ .describe('Client type: "company" or "individual"'),
137
+ cui: z.string().optional().describe('Company tax ID / CUI (for company type)'),
138
+ cnp: z.string().optional().describe('Personal numeric code / CNP (for individual type)'),
139
+ vatCode: z.string().optional().describe('VAT registration code (e.g., RO12345678)'),
140
+ isVatPayer: z.boolean().optional().describe('Whether the client is registered for VAT'),
141
+ registrationNumber: z
142
+ .string()
143
+ .optional()
144
+ .describe('Trade registry number (e.g., J40/1234/2020)'),
145
+ address: z.string().optional().describe('Street address'),
146
+ city: z.string().optional().describe('City'),
147
+ county: z.string().optional().describe('County / state'),
148
+ country: z.string().optional().describe('ISO 3166-1 alpha-2 country code'),
149
+ postalCode: z.string().optional().describe('Postal / ZIP code'),
150
+ email: z.string().optional().describe('Client email address'),
151
+ phone: z.string().optional().describe('Client phone number'),
152
+ bankName: z.string().optional().describe('Bank name'),
153
+ bankAccount: z.string().optional().describe('IBAN or bank account number'),
154
+ defaultPaymentTermDays: z
155
+ .number()
156
+ .int()
157
+ .optional()
158
+ .describe('Default payment term in days for invoices issued to this client'),
159
+ contactPerson: z.string().optional().describe('Name of the primary contact person'),
160
+ notes: z.string().optional().describe('Internal notes about the client'),
161
+ }),
162
+ handler: async (params) => {
163
+ if (!getConfig().token)
164
+ return notAuthenticated();
165
+ const companyId = getCompanyId(params);
166
+ if (!companyId)
167
+ return noCompanySelected();
168
+ const { uuid, companyId: _cid, ...body } = params;
169
+ const result = await apiRequest(`/api/v1/clients/${uuid}`, {
170
+ method: 'PATCH',
171
+ companyId,
172
+ body: body,
173
+ });
174
+ return formatResponse(result);
175
+ },
176
+ },
177
+ {
178
+ name: 'clients_delete',
179
+ description: 'Permanently delete a client by UUID. Clients with existing invoices or documents cannot be deleted.',
180
+ inputSchema: z.object({
181
+ uuid: z.string().describe('Client UUID to delete'),
182
+ companyId: z
183
+ .string()
184
+ .optional()
185
+ .describe('Company UUID override (uses active company if not set)'),
186
+ }),
187
+ handler: async (params) => {
188
+ if (!getConfig().token)
189
+ return notAuthenticated();
190
+ const companyId = getCompanyId(params);
191
+ if (!companyId)
192
+ return noCompanySelected();
193
+ const { uuid } = params;
194
+ const result = await apiRequest(`/api/v1/clients/${uuid}`, {
195
+ method: 'DELETE',
196
+ companyId,
197
+ });
198
+ return formatResponse(result);
199
+ },
200
+ },
201
+ {
202
+ name: 'clients_bulk_delete',
203
+ description: 'Delete multiple clients in a single request. Accepts up to 100 client UUIDs. Clients with existing documents will be skipped or cause an error depending on server configuration.',
204
+ inputSchema: z.object({
205
+ ids: z
206
+ .array(z.string())
207
+ .max(100)
208
+ .describe('Array of client UUIDs to delete (max 100)'),
209
+ companyId: z
210
+ .string()
211
+ .optional()
212
+ .describe('Company UUID override (uses active company if not set)'),
213
+ }),
214
+ handler: async (params) => {
215
+ if (!getConfig().token)
216
+ return notAuthenticated();
217
+ const companyId = getCompanyId(params);
218
+ if (!companyId)
219
+ return noCompanySelected();
220
+ const result = await apiRequest('/api/v1/clients/bulk-delete', {
221
+ method: 'POST',
222
+ companyId,
223
+ body: { ids: params.ids },
224
+ });
225
+ return formatResponse(result);
226
+ },
227
+ },
228
+ {
229
+ name: 'clients_anaf_lookup',
230
+ description: 'Look up company details by CUI in the ANAF public registry without creating a client. Returns pre-filled form data (name, address, VAT status, registration number, etc.) that can be used to populate a clients_create call.',
231
+ inputSchema: z.object({
232
+ cui: z.string().describe('Company tax ID / CUI to look up in ANAF'),
233
+ companyId: z
234
+ .string()
235
+ .optional()
236
+ .describe('Company UUID override (uses active company if not set)'),
237
+ }),
238
+ handler: async (params) => {
239
+ if (!getConfig().token)
240
+ return notAuthenticated();
241
+ const companyId = getCompanyId(params);
242
+ if (!companyId)
243
+ return noCompanySelected();
244
+ const { cui } = params;
245
+ const result = await apiRequest('/api/v1/clients/anaf-lookup', {
246
+ companyId,
247
+ query: { cui },
248
+ });
249
+ return formatResponse(result);
250
+ },
251
+ },
252
+ {
253
+ name: 'clients_vies_lookup',
254
+ description: 'Validate a VAT code against the EU VIES system. Returns whether the VAT number is valid and the registered company name/address. Use this to verify EU intra-community VAT numbers before applying reverse charge.',
255
+ inputSchema: z.object({
256
+ vatCode: z
257
+ .string()
258
+ .describe('Full EU VAT code including country prefix (e.g., DE123456789, FR12345678901)'),
259
+ companyId: z
260
+ .string()
261
+ .optional()
262
+ .describe('Company UUID override (uses active company if not set)'),
263
+ }),
264
+ handler: async (params) => {
265
+ if (!getConfig().token)
266
+ return notAuthenticated();
267
+ const companyId = getCompanyId(params);
268
+ if (!companyId)
269
+ return noCompanySelected();
270
+ const { vatCode } = params;
271
+ const result = await apiRequest('/api/v1/clients/vies-lookup', {
272
+ companyId,
273
+ query: { vatCode },
274
+ });
275
+ return formatResponse(result);
276
+ },
277
+ },
278
+ {
279
+ name: 'clients_from_registry',
280
+ description: 'Create a client by looking up a CUI in the ANAF registry and auto-filling all available details (name, address, VAT status, registration number, etc.). Use this instead of clients_create when you only have a CUI and want the company details resolved automatically.',
281
+ inputSchema: z.object({
282
+ cui: z.string().describe('Company tax ID / CUI to look up and create a client from'),
283
+ name: z
284
+ .string()
285
+ .optional()
286
+ .describe('Fallback name if ANAF does not return one'),
287
+ companyId: z
288
+ .string()
289
+ .optional()
290
+ .describe('Company UUID override (uses active company if not set)'),
291
+ }),
292
+ handler: async (params) => {
293
+ if (!getConfig().token)
294
+ return notAuthenticated();
295
+ const companyId = getCompanyId(params);
296
+ if (!companyId)
297
+ return noCompanySelected();
298
+ const body = { cui: params.cui };
299
+ if (params.name)
300
+ body.name = params.name;
301
+ const result = await apiRequest('/api/v1/clients/from-registry', {
302
+ method: 'POST',
303
+ companyId,
304
+ body,
305
+ });
306
+ return formatResponse(result);
307
+ },
308
+ },
309
+ {
310
+ name: 'clients_export_csv',
311
+ description: 'Export all clients for the active company as a CSV file. Returns base64-encoded binary data representing the CSV file contents.',
312
+ inputSchema: z.object({
313
+ companyId: z
314
+ .string()
315
+ .optional()
316
+ .describe('Company UUID override (uses active company if not set)'),
317
+ }),
318
+ handler: async (params) => {
319
+ if (!getConfig().token)
320
+ return notAuthenticated();
321
+ const companyId = getCompanyId(params);
322
+ if (!companyId)
323
+ return noCompanySelected();
324
+ const result = await apiRequest('/api/v1/clients/export/csv', {
325
+ companyId,
326
+ binary: true,
327
+ });
328
+ return formatResponse(result);
329
+ },
330
+ },
331
+ {
332
+ name: 'clients_export_saga_xml',
333
+ description: 'Export clients in Saga XML format for import into Saga accounting software. Returns the XML document as text.',
334
+ inputSchema: z.object({
335
+ companyId: z
336
+ .string()
337
+ .optional()
338
+ .describe('Company UUID override (uses active company if not set)'),
339
+ }),
340
+ handler: async (params) => {
341
+ if (!getConfig().token)
342
+ return notAuthenticated();
343
+ const companyId = getCompanyId(params);
344
+ if (!companyId)
345
+ return noCompanySelected();
346
+ const result = await apiRequest('/api/v1/clients/export/saga-xml', {
347
+ companyId,
348
+ });
349
+ return formatResponse(result);
350
+ },
351
+ },
352
+ ];
353
+ //# sourceMappingURL=clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../src/tools/clients.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export declare const tools: {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
6
+ handler: (_params: Record<string, unknown>) => Promise<string>;
7
+ }[];
8
+ //# sourceMappingURL=companies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companies.d.ts","sourceRoot":"","sources":["../../src/tools/companies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,KAAK;;;;uBAMW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;GAiOrE,CAAC"}
@@ -0,0 +1,211 @@
1
+ import { z } from 'zod';
2
+ import { apiRequest } from '../client.js';
3
+ import { formatResponse, notAuthenticated } from '../utils/errors.js';
4
+ import { getConfig, updateConfig } from '../config.js';
5
+ export const tools = [
6
+ {
7
+ name: 'companies_list',
8
+ description: 'List all companies belonging to the authenticated user\'s organization. Returns company details including CIF, addresses, bank info, sync settings, and ANAF token status. Use this to find company UUIDs for the companies_select tool.',
9
+ inputSchema: z.object({}),
10
+ handler: async (_params) => {
11
+ if (!getConfig().token)
12
+ return notAuthenticated();
13
+ const result = await apiRequest('/api/v1/companies');
14
+ return formatResponse(result);
15
+ },
16
+ },
17
+ {
18
+ name: 'companies_get',
19
+ description: 'Get detailed information for a specific company by UUID. Returns all configuration settings, bank info, sync settings, and ANAF token validity status.',
20
+ inputSchema: z.object({
21
+ uuid: z.string().describe('Company UUID'),
22
+ }),
23
+ handler: async (params) => {
24
+ if (!getConfig().token)
25
+ return notAuthenticated();
26
+ const { uuid } = params;
27
+ const result = await apiRequest(`/api/v1/companies/${uuid}`);
28
+ return formatResponse(result);
29
+ },
30
+ },
31
+ {
32
+ name: 'companies_create',
33
+ description: 'Create a new company by providing its CIF (Romanian tax identification number). The system automatically validates the CIF with ANAF and retrieves official registration data (name, address, VAT status). The CIF can be provided with or without the RO prefix.',
34
+ inputSchema: z.object({
35
+ cif: z
36
+ .string()
37
+ .describe('Romanian tax identification number / CIF (e.g., "12345678" or "RO12345678")'),
38
+ }),
39
+ handler: async (params) => {
40
+ if (!getConfig().token)
41
+ return notAuthenticated();
42
+ const { cif } = params;
43
+ const result = await apiRequest('/api/v1/companies', {
44
+ method: 'POST',
45
+ body: { cif },
46
+ });
47
+ return formatResponse(result);
48
+ },
49
+ },
50
+ {
51
+ name: 'companies_update',
52
+ description: 'Update configuration settings for a company. Note: core ANAF data (CIF, registration number, VAT status, official address) cannot be modified as they are synced from official ANAF sources. Only editable fields like contact info, bank details, and sync settings can be changed.',
53
+ inputSchema: z.object({
54
+ uuid: z.string().describe('Company UUID'),
55
+ name: z.string().optional().describe('Company display name'),
56
+ bankName: z.string().optional().describe('Bank name'),
57
+ bankAccount: z.string().optional().describe('IBAN account number'),
58
+ bankBic: z.string().optional().describe('BIC/SWIFT code'),
59
+ defaultCurrency: z
60
+ .string()
61
+ .optional()
62
+ .describe('Default currency code (e.g., "RON", "EUR")'),
63
+ phone: z.string().optional().describe('Contact phone number'),
64
+ email: z.string().email().optional().describe('Contact email address'),
65
+ syncDaysBack: z
66
+ .number()
67
+ .int()
68
+ .min(1)
69
+ .max(365)
70
+ .optional()
71
+ .describe('Number of days to sync back from ANAF (1-365)'),
72
+ efacturaDelayHours: z
73
+ .number()
74
+ .int()
75
+ .min(0)
76
+ .max(72)
77
+ .optional()
78
+ .describe('Hours to delay e-Factura sync (0-72)'),
79
+ archiveEnabled: z.boolean().optional().describe('Enable automatic archiving'),
80
+ archiveRetentionYears: z
81
+ .number()
82
+ .int()
83
+ .min(1)
84
+ .max(50)
85
+ .optional()
86
+ .describe('Years to retain archived data (1-50)'),
87
+ enabledModules: z
88
+ .array(z.enum(['delivery_notes', 'receipts', 'proforma_invoices', 'recurring_invoices', 'reports', 'efactura', 'spv_messages']))
89
+ .nullable()
90
+ .optional()
91
+ .describe('Array of enabled module keys for sidebar visibility (null = all enabled). Valid keys: delivery_notes, receipts, proforma_invoices, recurring_invoices, reports, efactura, spv_messages'),
92
+ }),
93
+ handler: async (params) => {
94
+ if (!getConfig().token)
95
+ return notAuthenticated();
96
+ const { uuid, ...rest } = params;
97
+ const body = {};
98
+ const fields = [
99
+ 'name',
100
+ 'bankName',
101
+ 'bankAccount',
102
+ 'bankBic',
103
+ 'defaultCurrency',
104
+ 'phone',
105
+ 'email',
106
+ 'syncDaysBack',
107
+ 'efacturaDelayHours',
108
+ 'archiveEnabled',
109
+ 'archiveRetentionYears',
110
+ 'enabledModules',
111
+ ];
112
+ for (const field of fields) {
113
+ if (rest[field] !== undefined)
114
+ body[field] = rest[field];
115
+ }
116
+ const result = await apiRequest(`/api/v1/companies/${uuid}`, {
117
+ method: 'PATCH',
118
+ body,
119
+ });
120
+ return formatResponse(result);
121
+ },
122
+ },
123
+ {
124
+ name: 'companies_delete',
125
+ description: 'Permanently delete a company and all associated data (invoices, clients, products, ANAF tokens). This triggers an asynchronous cascade deletion. Only Owner or Admin roles can delete companies. This action cannot be undone.',
126
+ inputSchema: z.object({
127
+ uuid: z.string().describe('Company UUID to delete'),
128
+ }),
129
+ handler: async (params) => {
130
+ if (!getConfig().token)
131
+ return notAuthenticated();
132
+ const { uuid } = params;
133
+ const result = await apiRequest(`/api/v1/companies/${uuid}`, {
134
+ method: 'DELETE',
135
+ });
136
+ return formatResponse(result);
137
+ },
138
+ },
139
+ {
140
+ name: 'companies_upload_logo',
141
+ description: 'Upload a logo image for a company. Accepts PNG, JPG, or SVG files up to 2MB. The logo appears on PDF documents (invoices, proformas, delivery notes, receipts).',
142
+ inputSchema: z.object({
143
+ uuid: z.string().describe('Company UUID'),
144
+ filePath: z.string().describe('Absolute path to the logo image file (PNG, JPG, or SVG)'),
145
+ }),
146
+ handler: async (params) => {
147
+ if (!getConfig().token)
148
+ return notAuthenticated();
149
+ const { uuid, filePath } = params;
150
+ const result = await apiRequest(`/api/v1/companies/${uuid}/logo`, {
151
+ method: 'POST',
152
+ filePath,
153
+ fileFieldName: 'logo',
154
+ });
155
+ return formatResponse(result);
156
+ },
157
+ },
158
+ {
159
+ name: 'companies_delete_logo',
160
+ description: 'Remove the logo from a company. PDFs will no longer include the company logo.',
161
+ inputSchema: z.object({
162
+ uuid: z.string().describe('Company UUID'),
163
+ }),
164
+ handler: async (params) => {
165
+ if (!getConfig().token)
166
+ return notAuthenticated();
167
+ const { uuid } = params;
168
+ const result = await apiRequest(`/api/v1/companies/${uuid}/logo`, {
169
+ method: 'DELETE',
170
+ });
171
+ return formatResponse(result);
172
+ },
173
+ },
174
+ {
175
+ name: 'companies_set_active',
176
+ description: 'Set the organization-level active company by UUID. Calls PUT /api/v1/companies/{uuid}/set-active on the server and returns the updated list of all companies with the new active company reflected. Requires COMPANY_EDIT permission. Use companies_list first to find available company UUIDs.',
177
+ inputSchema: z.object({
178
+ companyId: z
179
+ .string()
180
+ .describe('Company UUID to mark as the active company for the organization.'),
181
+ }),
182
+ handler: async (params) => {
183
+ if (!getConfig().token)
184
+ return notAuthenticated();
185
+ const { companyId } = params;
186
+ const result = await apiRequest(`/api/v1/companies/${companyId}/set-active`, {
187
+ method: 'PUT',
188
+ });
189
+ return formatResponse(result);
190
+ },
191
+ },
192
+ {
193
+ name: 'companies_select',
194
+ description: 'Select the active company for the current session. This sets the X-Company header used by all subsequent invoice, client, product, and other company-scoped requests. Call companies_list first to find available company UUIDs.',
195
+ inputSchema: z.object({
196
+ companyId: z
197
+ .string()
198
+ .describe('Company UUID to set as the active company for this session. All subsequent API calls will use this company context.'),
199
+ }),
200
+ handler: async (params) => {
201
+ const { companyId } = params;
202
+ updateConfig({ companyId });
203
+ return JSON.stringify({
204
+ success: true,
205
+ message: `Active company set to: ${companyId}`,
206
+ companyId,
207
+ }, null, 2);
208
+ },
209
+ },
210
+ ];
211
+ //# sourceMappingURL=companies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"companies.js","sourceRoot":"","sources":["../../src/tools/companies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ export declare const tools: ({
3
+ name: string;
4
+ description: string;
5
+ inputSchema: z.ZodObject<{
6
+ q: z.ZodString;
7
+ limit: z.ZodOptional<z.ZodNumber>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ q: string;
10
+ limit?: number | undefined;
11
+ }, {
12
+ q: string;
13
+ limit?: number | undefined;
14
+ }>;
15
+ handler: (params: Record<string, unknown>) => Promise<string>;
16
+ } | {
17
+ name: string;
18
+ description: string;
19
+ inputSchema: z.ZodObject<{
20
+ county: z.ZodString;
21
+ q: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ county: string;
24
+ q?: string | undefined;
25
+ }, {
26
+ county: string;
27
+ q?: string | undefined;
28
+ }>;
29
+ handler: (params: Record<string, unknown>) => Promise<string>;
30
+ })[];
31
+ //# sourceMappingURL=company-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-registry.d.ts","sourceRoot":"","sources":["../../src/tools/company-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,KAAK;;;;;;;;;;;;;sBAgBU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;;;;;;;sBAsBzC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,MAAM,CAAC;IAUpE,CAAC"}