@hed-hog/finance 0.0.350 → 0.0.353

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 (112) hide show
  1. package/dist/dto/create-financial-title.dto.d.ts +6 -0
  2. package/dist/dto/create-financial-title.dto.d.ts.map +1 -1
  3. package/dist/dto/create-financial-title.dto.js +27 -1
  4. package/dist/dto/create-financial-title.dto.js.map +1 -1
  5. package/dist/finance-data.controller.d.ts +12 -0
  6. package/dist/finance-data.controller.d.ts.map +1 -1
  7. package/dist/finance-installments.controller.d.ts +120 -0
  8. package/dist/finance-installments.controller.d.ts.map +1 -1
  9. package/dist/finance-realtime.controller.d.ts +7 -0
  10. package/dist/finance-realtime.controller.d.ts.map +1 -0
  11. package/dist/finance-realtime.controller.js +34 -0
  12. package/dist/finance-realtime.controller.js.map +1 -0
  13. package/dist/finance-realtime.service.d.ts +36 -0
  14. package/dist/finance-realtime.service.d.ts.map +1 -0
  15. package/dist/finance-realtime.service.js +59 -0
  16. package/dist/finance-realtime.service.js.map +1 -0
  17. package/dist/finance-statements.controller.d.ts +6 -0
  18. package/dist/finance-statements.controller.d.ts.map +1 -1
  19. package/dist/finance.module.d.ts.map +1 -1
  20. package/dist/finance.module.js +28 -0
  21. package/dist/finance.module.js.map +1 -1
  22. package/dist/finance.service.d.ts +142 -1
  23. package/dist/finance.service.d.ts.map +1 -1
  24. package/dist/finance.service.js +134 -19
  25. package/dist/finance.service.js.map +1 -1
  26. package/dist/mcp-tools/finance-audit-logs.mcp-tools.d.ts +8 -0
  27. package/dist/mcp-tools/finance-audit-logs.mcp-tools.d.ts.map +1 -0
  28. package/dist/mcp-tools/finance-audit-logs.mcp-tools.js +60 -0
  29. package/dist/mcp-tools/finance-audit-logs.mcp-tools.js.map +1 -0
  30. package/dist/mcp-tools/finance-bank-accounts.mcp-tools.d.ts +16 -0
  31. package/dist/mcp-tools/finance-bank-accounts.mcp-tools.d.ts.map +1 -0
  32. package/dist/mcp-tools/finance-bank-accounts.mcp-tools.js +121 -0
  33. package/dist/mcp-tools/finance-bank-accounts.mcp-tools.js.map +1 -0
  34. package/dist/mcp-tools/finance-categories.mcp-tools.d.ts +20 -0
  35. package/dist/mcp-tools/finance-categories.mcp-tools.d.ts.map +1 -0
  36. package/dist/mcp-tools/finance-categories.mcp-tools.js +135 -0
  37. package/dist/mcp-tools/finance-categories.mcp-tools.js.map +1 -0
  38. package/dist/mcp-tools/finance-collections.mcp-tools.d.ts +16 -0
  39. package/dist/mcp-tools/finance-collections.mcp-tools.d.ts.map +1 -0
  40. package/dist/mcp-tools/finance-collections.mcp-tools.js +91 -0
  41. package/dist/mcp-tools/finance-collections.mcp-tools.js.map +1 -0
  42. package/dist/mcp-tools/finance-cost-centers.mcp-tools.d.ts +16 -0
  43. package/dist/mcp-tools/finance-cost-centers.mcp-tools.d.ts.map +1 -0
  44. package/dist/mcp-tools/finance-cost-centers.mcp-tools.js +114 -0
  45. package/dist/mcp-tools/finance-cost-centers.mcp-tools.js.map +1 -0
  46. package/dist/mcp-tools/finance-currencies.mcp-tools.d.ts +16 -0
  47. package/dist/mcp-tools/finance-currencies.mcp-tools.d.ts.map +1 -0
  48. package/dist/mcp-tools/finance-currencies.mcp-tools.js +120 -0
  49. package/dist/mcp-tools/finance-currencies.mcp-tools.js.map +1 -0
  50. package/dist/mcp-tools/finance-data.mcp-tools.d.ts +15 -0
  51. package/dist/mcp-tools/finance-data.mcp-tools.d.ts.map +1 -0
  52. package/dist/mcp-tools/finance-data.mcp-tools.js +80 -0
  53. package/dist/mcp-tools/finance-data.mcp-tools.js.map +1 -0
  54. package/dist/mcp-tools/finance-installments.mcp-tools.d.ts +93 -0
  55. package/dist/mcp-tools/finance-installments.mcp-tools.d.ts.map +1 -0
  56. package/dist/mcp-tools/finance-installments.mcp-tools.js +646 -0
  57. package/dist/mcp-tools/finance-installments.mcp-tools.js.map +1 -0
  58. package/dist/mcp-tools/finance-period-close.mcp-tools.d.ts +9 -0
  59. package/dist/mcp-tools/finance-period-close.mcp-tools.d.ts.map +1 -0
  60. package/dist/mcp-tools/finance-period-close.mcp-tools.js +79 -0
  61. package/dist/mcp-tools/finance-period-close.mcp-tools.js.map +1 -0
  62. package/dist/mcp-tools/finance-reports.mcp-tools.d.ts +10 -0
  63. package/dist/mcp-tools/finance-reports.mcp-tools.d.ts.map +1 -0
  64. package/dist/mcp-tools/finance-reports.mcp-tools.js +89 -0
  65. package/dist/mcp-tools/finance-reports.mcp-tools.js.map +1 -0
  66. package/dist/mcp-tools/finance-statements.mcp-tools.d.ts +34 -0
  67. package/dist/mcp-tools/finance-statements.mcp-tools.d.ts.map +1 -0
  68. package/dist/mcp-tools/finance-statements.mcp-tools.js +253 -0
  69. package/dist/mcp-tools/finance-statements.mcp-tools.js.map +1 -0
  70. package/dist/mcp-tools/finance-transfers.mcp-tools.d.ts +9 -0
  71. package/dist/mcp-tools/finance-transfers.mcp-tools.d.ts.map +1 -0
  72. package/dist/mcp-tools/finance-transfers.mcp-tools.js +79 -0
  73. package/dist/mcp-tools/finance-transfers.mcp-tools.js.map +1 -0
  74. package/hedhog/data/route.yaml +659 -1
  75. package/hedhog/frontend/app/_components/finance-title-actions-menu.tsx.ejs +9 -3
  76. package/hedhog/frontend/app/_lib/http-error.ts.ejs +105 -0
  77. package/hedhog/frontend/app/_lib/use-finance-realtime-refresh.ts.ejs +62 -0
  78. package/hedhog/frontend/app/accounts-payable/approvals/page.tsx.ejs +3 -0
  79. package/hedhog/frontend/app/accounts-payable/installments/[id]/page.tsx.ejs +5 -5
  80. package/hedhog/frontend/app/accounts-payable/installments/page.tsx.ejs +776 -344
  81. package/hedhog/frontend/app/accounts-receivable/collections-default/page.tsx.ejs +7 -13
  82. package/hedhog/frontend/app/accounts-receivable/installments/[id]/page.tsx.ejs +5 -5
  83. package/hedhog/frontend/app/accounts-receivable/installments/page.tsx.ejs +802 -355
  84. package/hedhog/frontend/app/administration/categories/page.tsx.ejs +9 -3
  85. package/hedhog/frontend/app/administration/cost-centers/page.tsx.ejs +9 -3
  86. package/hedhog/frontend/app/administration/currencies/page.tsx.ejs +9 -3
  87. package/hedhog/frontend/app/administration/period-close/page.tsx.ejs +9 -3
  88. package/hedhog/frontend/app/cash-and-banks/bank-accounts/page.tsx.ejs +7 -3
  89. package/hedhog/frontend/app/cash-and-banks/bank-reconciliation/page.tsx.ejs +3 -3
  90. package/hedhog/frontend/app/cash-and-banks/statements/page.tsx.ejs +28 -7
  91. package/hedhog/frontend/app/cash-and-banks/transfers/page.tsx.ejs +12 -3
  92. package/hedhog/frontend/messages/en.json +63 -3
  93. package/hedhog/frontend/messages/pt.json +63 -3
  94. package/hedhog/table/financial_title.yaml +10 -0
  95. package/package.json +5 -5
  96. package/src/dto/create-financial-title.dto.ts +23 -0
  97. package/src/finance-realtime.controller.ts +12 -0
  98. package/src/finance-realtime.service.ts +106 -0
  99. package/src/finance.module.ts +28 -0
  100. package/src/finance.service.ts +184 -45
  101. package/src/mcp-tools/finance-audit-logs.mcp-tools.ts +38 -0
  102. package/src/mcp-tools/finance-bank-accounts.mcp-tools.ts +76 -0
  103. package/src/mcp-tools/finance-categories.mcp-tools.ts +86 -0
  104. package/src/mcp-tools/finance-collections.mcp-tools.ts +50 -0
  105. package/src/mcp-tools/finance-cost-centers.mcp-tools.ts +69 -0
  106. package/src/mcp-tools/finance-currencies.mcp-tools.ts +75 -0
  107. package/src/mcp-tools/finance-data.mcp-tools.ts +43 -0
  108. package/src/mcp-tools/finance-installments.mcp-tools.ts +560 -0
  109. package/src/mcp-tools/finance-period-close.mcp-tools.ts +53 -0
  110. package/src/mcp-tools/finance-reports.mcp-tools.ts +59 -0
  111. package/src/mcp-tools/finance-statements.mcp-tools.ts +202 -0
  112. package/src/mcp-tools/finance-transfers.mcp-tools.ts +53 -0
@@ -0,0 +1,646 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.FinanceInstallmentsMcpTools = void 0;
24
+ const core_1 = require("@hed-hog/core");
25
+ const common_1 = require("@nestjs/common");
26
+ const finance_service_1 = require("../finance.service");
27
+ let FinanceInstallmentsMcpTools = class FinanceInstallmentsMcpTools {
28
+ constructor(financeService) {
29
+ this.financeService = financeService;
30
+ }
31
+ async listAccountsPayableInstallments(args, _context) {
32
+ const { page, pageSize, status, from, to } = args;
33
+ return this.financeService.listAccountsPayableInstallments({ page, pageSize }, status, { from, to });
34
+ }
35
+ async getAccountsPayableInstallment(args, context) {
36
+ return this.financeService.getAccountsPayableInstallment(args.id, context.locale);
37
+ }
38
+ async getTitleSettlementsHistory(args, context) {
39
+ return this.financeService.getTitleSettlementsHistory(args.id, context.locale);
40
+ }
41
+ async createAccountsPayableTitle(args, context) {
42
+ return this.financeService.createAccountsPayableTitle(args, context.locale, context.userId);
43
+ }
44
+ async updateAccountsPayableTitle(args, context) {
45
+ const { id } = args, data = __rest(args, ["id"]);
46
+ return this.financeService.updateAccountsPayableTitle(id, data, context.locale, context.userId);
47
+ }
48
+ async approveAccountsPayableTitle(args, context) {
49
+ return this.financeService.approveAccountsPayableTitle(args.id, context.locale, context.userId);
50
+ }
51
+ async rejectAccountsPayableTitle(args, context) {
52
+ const { id } = args, data = __rest(args, ["id"]);
53
+ return this.financeService.rejectAccountsPayableTitle(id, data, context.locale, context.userId);
54
+ }
55
+ async cancelAccountsPayableTitle(args, context) {
56
+ const { id } = args, data = __rest(args, ["id"]);
57
+ return this.financeService.cancelAccountsPayableTitle(id, data, context.locale, context.userId);
58
+ }
59
+ async settleAccountsPayableInstallment(args, context) {
60
+ const { id } = args, data = __rest(args, ["id"]);
61
+ return this.financeService.settleAccountsPayableInstallment(id, data, context.locale, context.userId);
62
+ }
63
+ async reverseAccountsPayableSettlement(args, context) {
64
+ const { id, settlementId } = args, data = __rest(args, ["id", "settlementId"]);
65
+ return this.financeService.reverseAccountsPayableSettlement(id, settlementId, data, context.locale, context.userId);
66
+ }
67
+ async reverseSettlement(args, context) {
68
+ const { id } = args, data = __rest(args, ["id"]);
69
+ return this.financeService.reverseSettlementById(id, data, context.locale, context.userId);
70
+ }
71
+ async unreconcileBankReconciliation(args, context) {
72
+ return this.financeService.unreconcileBankReconciliation(args.id, context.userId);
73
+ }
74
+ async updateAccountsPayableInstallmentTags(args, context) {
75
+ return this.financeService.updateAccountsPayableInstallmentTags(args.id, args.tag_ids || [], context.locale);
76
+ }
77
+ async extractAccountsPayableInfoFromFile(args, _context) {
78
+ const file = this.tryToMulterFile(args.fileBase64, args.fileName, args.mimeType);
79
+ return this.financeService.getAgentExtractInfoFromFile(file, args.file_id);
80
+ }
81
+ async listAccountsReceivableInstallments(args, _context) {
82
+ const { page, pageSize, status, from, to } = args;
83
+ return this.financeService.listAccountsReceivableInstallments({ page, pageSize }, status, { from, to });
84
+ }
85
+ async getAccountsReceivableInstallment(args, context) {
86
+ return this.financeService.getAccountsReceivableInstallment(args.id, context.locale);
87
+ }
88
+ async createAccountsReceivableTitle(args, context) {
89
+ return this.financeService.createAccountsReceivableTitle(args, context.locale, context.userId);
90
+ }
91
+ async updateAccountsReceivableTitle(args, context) {
92
+ const { id } = args, data = __rest(args, ["id"]);
93
+ return this.financeService.updateAccountsReceivableTitle(id, data, context.locale, context.userId);
94
+ }
95
+ async approveAccountsReceivableTitle(args, context) {
96
+ return this.financeService.approveAccountsReceivableTitle(args.id, context.locale, context.userId);
97
+ }
98
+ async cancelAccountsReceivableTitle(args, context) {
99
+ const { id } = args, data = __rest(args, ["id"]);
100
+ return this.financeService.cancelAccountsReceivableTitle(id, data, context.locale, context.userId);
101
+ }
102
+ async settleAccountsReceivableInstallment(args, context) {
103
+ const { id } = args, data = __rest(args, ["id"]);
104
+ return this.financeService.settleAccountsReceivableInstallment(id, data, context.locale, context.userId);
105
+ }
106
+ async reverseAccountsReceivableSettlement(args, context) {
107
+ const { id, settlementId } = args, data = __rest(args, ["id", "settlementId"]);
108
+ return this.financeService.reverseAccountsReceivableSettlement(id, settlementId, data, context.locale, context.userId);
109
+ }
110
+ async updateAccountsReceivableInstallmentTags(args, context) {
111
+ return this.financeService.updateAccountsReceivableInstallmentTags(args.id, args.tag_ids || [], context.locale);
112
+ }
113
+ async createTag(args, _context) {
114
+ return this.financeService.createTag(args);
115
+ }
116
+ async extractAccountsReceivableInfoFromFile(args, _context) {
117
+ const file = this.tryToMulterFile(args.fileBase64, args.fileName, args.mimeType);
118
+ return this.financeService.getAgentExtractInfoFromFile(file, args.file_id, 'receivable');
119
+ }
120
+ tryToMulterFile(fileBase64, fileName, mimeType) {
121
+ if (!fileBase64 && !fileName && !mimeType) {
122
+ return undefined;
123
+ }
124
+ if (!fileBase64 || !fileName || !mimeType) {
125
+ throw new common_1.BadRequestException('fileBase64, fileName and mimeType must be provided together');
126
+ }
127
+ const buffer = Buffer.from(fileBase64, 'base64');
128
+ if (!buffer.length) {
129
+ throw new common_1.BadRequestException('Invalid fileBase64 payload');
130
+ }
131
+ return {
132
+ fieldname: 'file',
133
+ originalname: fileName,
134
+ encoding: '7bit',
135
+ mimetype: mimeType,
136
+ size: buffer.length,
137
+ destination: '',
138
+ filename: fileName,
139
+ path: '',
140
+ buffer,
141
+ };
142
+ }
143
+ };
144
+ exports.FinanceInstallmentsMcpTools = FinanceInstallmentsMcpTools;
145
+ __decorate([
146
+ (0, core_1.McpTool)({
147
+ name: 'finance.accounts-payable.installments.list',
148
+ description: 'Lists accounts payable installments.',
149
+ inputSchema: {
150
+ type: 'object',
151
+ properties: {
152
+ page: { type: 'number', description: 'Page number (default: 1)' },
153
+ pageSize: { type: 'number', description: 'Items per page (default: 20)' },
154
+ status: { type: 'string', description: 'Status filter' },
155
+ from: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
156
+ to: { type: 'string', description: 'End date (YYYY-MM-DD)' },
157
+ },
158
+ },
159
+ readOnly: true,
160
+ }),
161
+ __metadata("design:type", Function),
162
+ __metadata("design:paramtypes", [Object, Object]),
163
+ __metadata("design:returntype", Promise)
164
+ ], FinanceInstallmentsMcpTools.prototype, "listAccountsPayableInstallments", null);
165
+ __decorate([
166
+ (0, core_1.McpTool)({
167
+ name: 'finance.accounts-payable.installments.get',
168
+ description: 'Returns accounts payable installment details.',
169
+ inputSchema: {
170
+ type: 'object',
171
+ properties: {
172
+ id: { type: 'number', description: 'Installment ID' },
173
+ },
174
+ required: ['id'],
175
+ },
176
+ readOnly: true,
177
+ }),
178
+ __metadata("design:type", Function),
179
+ __metadata("design:paramtypes", [Object, Object]),
180
+ __metadata("design:returntype", Promise)
181
+ ], FinanceInstallmentsMcpTools.prototype, "getAccountsPayableInstallment", null);
182
+ __decorate([
183
+ (0, core_1.McpTool)({
184
+ name: 'finance.titles.settlements-history.get',
185
+ description: 'Returns settlement history for a financial title.',
186
+ inputSchema: {
187
+ type: 'object',
188
+ properties: {
189
+ id: { type: 'number', description: 'Title ID' },
190
+ },
191
+ required: ['id'],
192
+ },
193
+ readOnly: true,
194
+ }),
195
+ __metadata("design:type", Function),
196
+ __metadata("design:paramtypes", [Object, Object]),
197
+ __metadata("design:returntype", Promise)
198
+ ], FinanceInstallmentsMcpTools.prototype, "getTitleSettlementsHistory", null);
199
+ __decorate([
200
+ (0, core_1.McpTool)({
201
+ name: 'finance.accounts-payable.installments.create',
202
+ description: 'Creates an accounts payable title/installment. For recurring titles, use recurrence_rule instead of installments array.',
203
+ inputSchema: {
204
+ type: 'object',
205
+ properties: {
206
+ person_id: { type: 'number', description: 'Supplier/person ID' },
207
+ document_number: { type: 'string', description: 'Document/invoice number' },
208
+ total_amount: { type: 'number', description: 'Total amount (or amount per period for recurring titles)' },
209
+ due_date: { type: 'string', description: 'Due date / first occurrence date (YYYY-MM-DD)' },
210
+ finance_category_id: { type: 'number', description: 'Category ID' },
211
+ cost_center_id: { type: 'number', description: 'Cost center ID' },
212
+ payment_channel: { type: 'string', description: 'Payment channel' },
213
+ description: { type: 'string', description: 'Description' },
214
+ competence_date: { type: 'string', description: 'Competence date (YYYY-MM-DD)' },
215
+ installments: {
216
+ type: 'array',
217
+ description: 'Installments array (for non-recurring split titles)',
218
+ items: {
219
+ type: 'object',
220
+ properties: {
221
+ due_date: { type: 'string' },
222
+ amount: { type: 'number' },
223
+ },
224
+ },
225
+ },
226
+ recurrence_rule: {
227
+ type: 'object',
228
+ description: 'Recurrence rule. When provided, creates a recurring title (same amount each period) instead of a split installment title.',
229
+ properties: {
230
+ frequency: {
231
+ type: 'string',
232
+ enum: ['weekly', 'biweekly', 'monthly', 'bimonthly', 'quarterly', 'semiannual', 'annual'],
233
+ description: 'Repetition frequency (default: monthly)',
234
+ },
235
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD) — stop generating after this date' },
236
+ max_occurrences: { type: 'number', description: 'Maximum number of repetitions' },
237
+ },
238
+ required: ['frequency'],
239
+ },
240
+ },
241
+ required: ['person_id', 'document_number', 'total_amount', 'due_date'],
242
+ },
243
+ }),
244
+ __metadata("design:type", Function),
245
+ __metadata("design:paramtypes", [Object, Object]),
246
+ __metadata("design:returntype", Promise)
247
+ ], FinanceInstallmentsMcpTools.prototype, "createAccountsPayableTitle", null);
248
+ __decorate([
249
+ (0, core_1.McpTool)({
250
+ name: 'finance.accounts-payable.installments.update',
251
+ description: 'Updates an accounts payable title/installment.',
252
+ inputSchema: {
253
+ type: 'object',
254
+ properties: {
255
+ id: { type: 'number', description: 'Installment ID' },
256
+ },
257
+ required: ['id'],
258
+ },
259
+ }),
260
+ __metadata("design:type", Function),
261
+ __metadata("design:paramtypes", [Object, Object]),
262
+ __metadata("design:returntype", Promise)
263
+ ], FinanceInstallmentsMcpTools.prototype, "updateAccountsPayableTitle", null);
264
+ __decorate([
265
+ (0, core_1.McpTool)({
266
+ name: 'finance.accounts-payable.installments.approve',
267
+ description: 'Approves an accounts payable title/installment.',
268
+ inputSchema: {
269
+ type: 'object',
270
+ properties: {
271
+ id: { type: 'number', description: 'Installment ID' },
272
+ },
273
+ required: ['id'],
274
+ },
275
+ }),
276
+ __metadata("design:type", Function),
277
+ __metadata("design:paramtypes", [Object, Object]),
278
+ __metadata("design:returntype", Promise)
279
+ ], FinanceInstallmentsMcpTools.prototype, "approveAccountsPayableTitle", null);
280
+ __decorate([
281
+ (0, core_1.McpTool)({
282
+ name: 'finance.accounts-payable.installments.reject',
283
+ description: 'Rejects an accounts payable title/installment.',
284
+ inputSchema: {
285
+ type: 'object',
286
+ properties: {
287
+ id: { type: 'number', description: 'Installment ID' },
288
+ reason: { type: 'string', description: 'Rejection reason' },
289
+ },
290
+ required: ['id'],
291
+ },
292
+ }),
293
+ __metadata("design:type", Function),
294
+ __metadata("design:paramtypes", [Object, Object]),
295
+ __metadata("design:returntype", Promise)
296
+ ], FinanceInstallmentsMcpTools.prototype, "rejectAccountsPayableTitle", null);
297
+ __decorate([
298
+ (0, core_1.McpTool)({
299
+ name: 'finance.accounts-payable.installments.cancel',
300
+ description: 'Cancels an accounts payable title/installment.',
301
+ inputSchema: {
302
+ type: 'object',
303
+ properties: {
304
+ id: { type: 'number', description: 'Installment ID' },
305
+ reason: { type: 'string', description: 'Cancellation reason' },
306
+ },
307
+ required: ['id'],
308
+ },
309
+ }),
310
+ __metadata("design:type", Function),
311
+ __metadata("design:paramtypes", [Object, Object]),
312
+ __metadata("design:returntype", Promise)
313
+ ], FinanceInstallmentsMcpTools.prototype, "cancelAccountsPayableTitle", null);
314
+ __decorate([
315
+ (0, core_1.McpTool)({
316
+ name: 'finance.accounts-payable.installments.settle',
317
+ description: 'Settles an accounts payable installment.',
318
+ inputSchema: {
319
+ type: 'object',
320
+ properties: {
321
+ id: { type: 'number', description: 'Installment ID' },
322
+ },
323
+ required: ['id'],
324
+ },
325
+ }),
326
+ __metadata("design:type", Function),
327
+ __metadata("design:paramtypes", [Object, Object]),
328
+ __metadata("design:returntype", Promise)
329
+ ], FinanceInstallmentsMcpTools.prototype, "settleAccountsPayableInstallment", null);
330
+ __decorate([
331
+ (0, core_1.McpTool)({
332
+ name: 'finance.accounts-payable.installments.settlements.reverse',
333
+ description: 'Reverses a settlement for accounts payable installment.',
334
+ inputSchema: {
335
+ type: 'object',
336
+ properties: {
337
+ id: { type: 'number', description: 'Installment ID' },
338
+ settlementId: { type: 'number', description: 'Settlement ID' },
339
+ },
340
+ required: ['id', 'settlementId'],
341
+ },
342
+ }),
343
+ __metadata("design:type", Function),
344
+ __metadata("design:paramtypes", [Object, Object]),
345
+ __metadata("design:returntype", Promise)
346
+ ], FinanceInstallmentsMcpTools.prototype, "reverseAccountsPayableSettlement", null);
347
+ __decorate([
348
+ (0, core_1.McpTool)({
349
+ name: 'finance.settlements.reverse',
350
+ description: 'Reverses settlement by settlement ID.',
351
+ inputSchema: {
352
+ type: 'object',
353
+ properties: {
354
+ id: { type: 'number', description: 'Settlement ID' },
355
+ },
356
+ required: ['id'],
357
+ },
358
+ }),
359
+ __metadata("design:type", Function),
360
+ __metadata("design:paramtypes", [Object, Object]),
361
+ __metadata("design:returntype", Promise)
362
+ ], FinanceInstallmentsMcpTools.prototype, "reverseSettlement", null);
363
+ __decorate([
364
+ (0, core_1.McpTool)({
365
+ name: 'finance.bank-reconciliations.delete',
366
+ description: 'Unreconciles a bank reconciliation by ID.',
367
+ inputSchema: {
368
+ type: 'object',
369
+ properties: {
370
+ id: { type: 'number', description: 'Bank reconciliation ID' },
371
+ },
372
+ required: ['id'],
373
+ },
374
+ }),
375
+ __metadata("design:type", Function),
376
+ __metadata("design:paramtypes", [Object, Object]),
377
+ __metadata("design:returntype", Promise)
378
+ ], FinanceInstallmentsMcpTools.prototype, "unreconcileBankReconciliation", null);
379
+ __decorate([
380
+ (0, core_1.McpTool)({
381
+ name: 'finance.accounts-payable.installments.tags.update',
382
+ description: 'Updates tags for an accounts payable installment.',
383
+ inputSchema: {
384
+ type: 'object',
385
+ properties: {
386
+ id: { type: 'number', description: 'Installment ID' },
387
+ tag_ids: {
388
+ type: 'array',
389
+ items: { type: 'number' },
390
+ description: 'Tag IDs',
391
+ },
392
+ },
393
+ required: ['id'],
394
+ },
395
+ }),
396
+ __metadata("design:type", Function),
397
+ __metadata("design:paramtypes", [Object, Object]),
398
+ __metadata("design:returntype", Promise)
399
+ ], FinanceInstallmentsMcpTools.prototype, "updateAccountsPayableInstallmentTags", null);
400
+ __decorate([
401
+ (0, core_1.McpTool)({
402
+ name: 'finance.accounts-payable.installments.extract-from-file',
403
+ description: 'Extracts payable title data from a base64 file payload using AI.',
404
+ inputSchema: {
405
+ type: 'object',
406
+ properties: {
407
+ fileBase64: { type: 'string', description: 'Base64-encoded file content' },
408
+ fileName: { type: 'string', description: 'Original file name' },
409
+ mimeType: { type: 'string', description: 'File MIME type' },
410
+ file_id: { type: 'number', description: 'Existing file ID (optional)' },
411
+ },
412
+ },
413
+ }),
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", [Object, Object]),
416
+ __metadata("design:returntype", Promise)
417
+ ], FinanceInstallmentsMcpTools.prototype, "extractAccountsPayableInfoFromFile", null);
418
+ __decorate([
419
+ (0, core_1.McpTool)({
420
+ name: 'finance.accounts-receivable.installments.list',
421
+ description: 'Lists accounts receivable installments.',
422
+ inputSchema: {
423
+ type: 'object',
424
+ properties: {
425
+ page: { type: 'number', description: 'Page number (default: 1)' },
426
+ pageSize: { type: 'number', description: 'Items per page (default: 20)' },
427
+ status: { type: 'string', description: 'Status filter' },
428
+ from: { type: 'string', description: 'Start date (YYYY-MM-DD)' },
429
+ to: { type: 'string', description: 'End date (YYYY-MM-DD)' },
430
+ },
431
+ },
432
+ readOnly: true,
433
+ }),
434
+ __metadata("design:type", Function),
435
+ __metadata("design:paramtypes", [Object, Object]),
436
+ __metadata("design:returntype", Promise)
437
+ ], FinanceInstallmentsMcpTools.prototype, "listAccountsReceivableInstallments", null);
438
+ __decorate([
439
+ (0, core_1.McpTool)({
440
+ name: 'finance.accounts-receivable.installments.get',
441
+ description: 'Returns accounts receivable installment details.',
442
+ inputSchema: {
443
+ type: 'object',
444
+ properties: {
445
+ id: { type: 'number', description: 'Installment ID' },
446
+ },
447
+ required: ['id'],
448
+ },
449
+ readOnly: true,
450
+ }),
451
+ __metadata("design:type", Function),
452
+ __metadata("design:paramtypes", [Object, Object]),
453
+ __metadata("design:returntype", Promise)
454
+ ], FinanceInstallmentsMcpTools.prototype, "getAccountsReceivableInstallment", null);
455
+ __decorate([
456
+ (0, core_1.McpTool)({
457
+ name: 'finance.accounts-receivable.installments.create',
458
+ description: 'Creates an accounts receivable title/installment. For recurring titles, use recurrence_rule instead of installments array.',
459
+ inputSchema: {
460
+ type: 'object',
461
+ properties: {
462
+ person_id: { type: 'number', description: 'Client/person ID' },
463
+ document_number: { type: 'string', description: 'Document/invoice number' },
464
+ total_amount: { type: 'number', description: 'Total amount (or amount per period for recurring titles)' },
465
+ due_date: { type: 'string', description: 'Due date / first occurrence date (YYYY-MM-DD)' },
466
+ finance_category_id: { type: 'number', description: 'Category ID' },
467
+ cost_center_id: { type: 'number', description: 'Cost center ID' },
468
+ payment_channel: { type: 'string', description: 'Payment channel' },
469
+ description: { type: 'string', description: 'Description' },
470
+ competence_date: { type: 'string', description: 'Competence date (YYYY-MM-DD)' },
471
+ installments: {
472
+ type: 'array',
473
+ description: 'Installments array (for non-recurring split titles)',
474
+ items: {
475
+ type: 'object',
476
+ properties: {
477
+ due_date: { type: 'string' },
478
+ amount: { type: 'number' },
479
+ },
480
+ },
481
+ },
482
+ recurrence_rule: {
483
+ type: 'object',
484
+ description: 'Recurrence rule. When provided, creates a recurring title (same amount each period) instead of a split installment title.',
485
+ properties: {
486
+ frequency: {
487
+ type: 'string',
488
+ enum: ['weekly', 'biweekly', 'monthly', 'bimonthly', 'quarterly', 'semiannual', 'annual'],
489
+ description: 'Repetition frequency (default: monthly)',
490
+ },
491
+ end_date: { type: 'string', description: 'End date (YYYY-MM-DD) — stop generating after this date' },
492
+ max_occurrences: { type: 'number', description: 'Maximum number of repetitions' },
493
+ },
494
+ required: ['frequency'],
495
+ },
496
+ },
497
+ required: ['person_id', 'document_number', 'total_amount', 'due_date'],
498
+ },
499
+ }),
500
+ __metadata("design:type", Function),
501
+ __metadata("design:paramtypes", [Object, Object]),
502
+ __metadata("design:returntype", Promise)
503
+ ], FinanceInstallmentsMcpTools.prototype, "createAccountsReceivableTitle", null);
504
+ __decorate([
505
+ (0, core_1.McpTool)({
506
+ name: 'finance.accounts-receivable.installments.update',
507
+ description: 'Updates an accounts receivable title/installment.',
508
+ inputSchema: {
509
+ type: 'object',
510
+ properties: {
511
+ id: { type: 'number', description: 'Installment ID' },
512
+ },
513
+ required: ['id'],
514
+ },
515
+ }),
516
+ __metadata("design:type", Function),
517
+ __metadata("design:paramtypes", [Object, Object]),
518
+ __metadata("design:returntype", Promise)
519
+ ], FinanceInstallmentsMcpTools.prototype, "updateAccountsReceivableTitle", null);
520
+ __decorate([
521
+ (0, core_1.McpTool)({
522
+ name: 'finance.accounts-receivable.installments.approve',
523
+ description: 'Approves an accounts receivable title/installment.',
524
+ inputSchema: {
525
+ type: 'object',
526
+ properties: {
527
+ id: { type: 'number', description: 'Installment ID' },
528
+ },
529
+ required: ['id'],
530
+ },
531
+ }),
532
+ __metadata("design:type", Function),
533
+ __metadata("design:paramtypes", [Object, Object]),
534
+ __metadata("design:returntype", Promise)
535
+ ], FinanceInstallmentsMcpTools.prototype, "approveAccountsReceivableTitle", null);
536
+ __decorate([
537
+ (0, core_1.McpTool)({
538
+ name: 'finance.accounts-receivable.installments.cancel',
539
+ description: 'Cancels an accounts receivable title/installment.',
540
+ inputSchema: {
541
+ type: 'object',
542
+ properties: {
543
+ id: { type: 'number', description: 'Installment ID' },
544
+ reason: { type: 'string', description: 'Cancellation reason' },
545
+ },
546
+ required: ['id'],
547
+ },
548
+ }),
549
+ __metadata("design:type", Function),
550
+ __metadata("design:paramtypes", [Object, Object]),
551
+ __metadata("design:returntype", Promise)
552
+ ], FinanceInstallmentsMcpTools.prototype, "cancelAccountsReceivableTitle", null);
553
+ __decorate([
554
+ (0, core_1.McpTool)({
555
+ name: 'finance.accounts-receivable.installments.settle',
556
+ description: 'Settles an accounts receivable installment.',
557
+ inputSchema: {
558
+ type: 'object',
559
+ properties: {
560
+ id: { type: 'number', description: 'Installment ID' },
561
+ },
562
+ required: ['id'],
563
+ },
564
+ }),
565
+ __metadata("design:type", Function),
566
+ __metadata("design:paramtypes", [Object, Object]),
567
+ __metadata("design:returntype", Promise)
568
+ ], FinanceInstallmentsMcpTools.prototype, "settleAccountsReceivableInstallment", null);
569
+ __decorate([
570
+ (0, core_1.McpTool)({
571
+ name: 'finance.accounts-receivable.installments.settlements.reverse',
572
+ description: 'Reverses a settlement for accounts receivable installment.',
573
+ inputSchema: {
574
+ type: 'object',
575
+ properties: {
576
+ id: { type: 'number', description: 'Installment ID' },
577
+ settlementId: { type: 'number', description: 'Settlement ID' },
578
+ },
579
+ required: ['id', 'settlementId'],
580
+ },
581
+ }),
582
+ __metadata("design:type", Function),
583
+ __metadata("design:paramtypes", [Object, Object]),
584
+ __metadata("design:returntype", Promise)
585
+ ], FinanceInstallmentsMcpTools.prototype, "reverseAccountsReceivableSettlement", null);
586
+ __decorate([
587
+ (0, core_1.McpTool)({
588
+ name: 'finance.accounts-receivable.installments.tags.update',
589
+ description: 'Updates tags for an accounts receivable installment.',
590
+ inputSchema: {
591
+ type: 'object',
592
+ properties: {
593
+ id: { type: 'number', description: 'Installment ID' },
594
+ tag_ids: {
595
+ type: 'array',
596
+ items: { type: 'number' },
597
+ description: 'Tag IDs',
598
+ },
599
+ },
600
+ required: ['id'],
601
+ },
602
+ }),
603
+ __metadata("design:type", Function),
604
+ __metadata("design:paramtypes", [Object, Object]),
605
+ __metadata("design:returntype", Promise)
606
+ ], FinanceInstallmentsMcpTools.prototype, "updateAccountsReceivableInstallmentTags", null);
607
+ __decorate([
608
+ (0, core_1.McpTool)({
609
+ name: 'finance.tags.create',
610
+ description: 'Creates a finance tag.',
611
+ inputSchema: {
612
+ type: 'object',
613
+ properties: {
614
+ name: { type: 'string', description: 'Tag name' },
615
+ color: { type: 'string', description: 'Tag color' },
616
+ },
617
+ required: ['name'],
618
+ },
619
+ }),
620
+ __metadata("design:type", Function),
621
+ __metadata("design:paramtypes", [Object, Object]),
622
+ __metadata("design:returntype", Promise)
623
+ ], FinanceInstallmentsMcpTools.prototype, "createTag", null);
624
+ __decorate([
625
+ (0, core_1.McpTool)({
626
+ name: 'finance.accounts-receivable.installments.extract-from-file',
627
+ description: 'Extracts receivable title data from a base64 file payload using AI.',
628
+ inputSchema: {
629
+ type: 'object',
630
+ properties: {
631
+ fileBase64: { type: 'string', description: 'Base64-encoded file content' },
632
+ fileName: { type: 'string', description: 'Original file name' },
633
+ mimeType: { type: 'string', description: 'File MIME type' },
634
+ file_id: { type: 'number', description: 'Existing file ID (optional)' },
635
+ },
636
+ },
637
+ }),
638
+ __metadata("design:type", Function),
639
+ __metadata("design:paramtypes", [Object, Object]),
640
+ __metadata("design:returntype", Promise)
641
+ ], FinanceInstallmentsMcpTools.prototype, "extractAccountsReceivableInfoFromFile", null);
642
+ exports.FinanceInstallmentsMcpTools = FinanceInstallmentsMcpTools = __decorate([
643
+ (0, common_1.Injectable)(),
644
+ __metadata("design:paramtypes", [finance_service_1.FinanceService])
645
+ ], FinanceInstallmentsMcpTools);
646
+ //# sourceMappingURL=finance-installments.mcp-tools.js.map