@frihet/mcp-server 1.9.0-beta.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +263 -13
  2. package/dist/__tests__/d4b-hr-payroll-onboarding-tools.test.d.ts +13 -0
  3. package/dist/__tests__/d4b-hr-payroll-onboarding-tools.test.d.ts.map +1 -0
  4. package/dist/__tests__/d4b-hr-payroll-onboarding-tools.test.js +420 -0
  5. package/dist/__tests__/d4b-hr-payroll-onboarding-tools.test.js.map +1 -0
  6. package/dist/__tests__/einvoice-day4-tools.test.d.ts +16 -0
  7. package/dist/__tests__/einvoice-day4-tools.test.d.ts.map +1 -0
  8. package/dist/__tests__/einvoice-day4-tools.test.js +377 -0
  9. package/dist/__tests__/einvoice-day4-tools.test.js.map +1 -0
  10. package/dist/__tests__/einvoice-tools.test.d.ts +1 -1
  11. package/dist/__tests__/einvoice-tools.test.js +25 -12
  12. package/dist/__tests__/einvoice-tools.test.js.map +1 -1
  13. package/dist/__tests__/fiscal-tools.test.d.ts +5 -4
  14. package/dist/__tests__/fiscal-tools.test.d.ts.map +1 -1
  15. package/dist/__tests__/fiscal-tools.test.js +8 -26
  16. package/dist/__tests__/fiscal-tools.test.js.map +1 -1
  17. package/dist/__tests__/openai-profile.test.d.ts +10 -0
  18. package/dist/__tests__/openai-profile.test.d.ts.map +1 -0
  19. package/dist/__tests__/openai-profile.test.js +132 -0
  20. package/dist/__tests__/openai-profile.test.js.map +1 -0
  21. package/dist/__tests__/recurring-tools.test.d.ts +14 -7
  22. package/dist/__tests__/recurring-tools.test.d.ts.map +1 -1
  23. package/dist/__tests__/recurring-tools.test.js +195 -9
  24. package/dist/__tests__/recurring-tools.test.js.map +1 -1
  25. package/dist/__tests__/team-tools.test.d.ts +18 -0
  26. package/dist/__tests__/team-tools.test.d.ts.map +1 -0
  27. package/dist/__tests__/team-tools.test.js +228 -0
  28. package/dist/__tests__/team-tools.test.js.map +1 -0
  29. package/dist/__tests__/time-tools.test.d.ts +9 -7
  30. package/dist/__tests__/time-tools.test.d.ts.map +1 -1
  31. package/dist/__tests__/time-tools.test.js +96 -9
  32. package/dist/__tests__/time-tools.test.js.map +1 -1
  33. package/dist/client-interface.d.ts +236 -0
  34. package/dist/client-interface.d.ts.map +1 -1
  35. package/dist/client.d.ts +245 -1
  36. package/dist/client.d.ts.map +1 -1
  37. package/dist/client.js +266 -5
  38. package/dist/client.js.map +1 -1
  39. package/dist/index.js +6 -6
  40. package/dist/index.js.map +1 -1
  41. package/dist/openai-profile.d.ts +4 -1
  42. package/dist/openai-profile.d.ts.map +1 -1
  43. package/dist/openai-profile.js +105 -1
  44. package/dist/openai-profile.js.map +1 -1
  45. package/dist/tools/accountingClose.d.ts +20 -0
  46. package/dist/tools/accountingClose.d.ts.map +1 -0
  47. package/dist/tools/accountingClose.js +119 -0
  48. package/dist/tools/accountingClose.js.map +1 -0
  49. package/dist/tools/audit_gl.d.ts +19 -0
  50. package/dist/tools/audit_gl.d.ts.map +1 -0
  51. package/dist/tools/audit_gl.js +86 -0
  52. package/dist/tools/audit_gl.js.map +1 -0
  53. package/dist/tools/bank_rules.d.ts +23 -0
  54. package/dist/tools/bank_rules.d.ts.map +1 -0
  55. package/dist/tools/bank_rules.js +96 -0
  56. package/dist/tools/bank_rules.js.map +1 -0
  57. package/dist/tools/einvoice.d.ts +70 -3
  58. package/dist/tools/einvoice.d.ts.map +1 -1
  59. package/dist/tools/einvoice.js +421 -3
  60. package/dist/tools/einvoice.js.map +1 -1
  61. package/dist/tools/fiscal.d.ts +3 -2
  62. package/dist/tools/fiscal.d.ts.map +1 -1
  63. package/dist/tools/fiscal.js +4 -22
  64. package/dist/tools/fiscal.js.map +1 -1
  65. package/dist/tools/gestoria.d.ts +28 -0
  66. package/dist/tools/gestoria.d.ts.map +1 -0
  67. package/dist/tools/gestoria.js +248 -0
  68. package/dist/tools/gestoria.js.map +1 -0
  69. package/dist/tools/hr.d.ts +24 -0
  70. package/dist/tools/hr.d.ts.map +1 -0
  71. package/dist/tools/hr.js +219 -0
  72. package/dist/tools/hr.js.map +1 -0
  73. package/dist/tools/igic.d.ts +19 -0
  74. package/dist/tools/igic.d.ts.map +1 -0
  75. package/dist/tools/igic.js +102 -0
  76. package/dist/tools/igic.js.map +1 -0
  77. package/dist/tools/impuesto_sociedades.d.ts +18 -0
  78. package/dist/tools/impuesto_sociedades.d.ts.map +1 -0
  79. package/dist/tools/impuesto_sociedades.js +64 -0
  80. package/dist/tools/impuesto_sociedades.js.map +1 -0
  81. package/dist/tools/onboard_vies.d.ts +22 -0
  82. package/dist/tools/onboard_vies.d.ts.map +1 -0
  83. package/dist/tools/onboard_vies.js +74 -0
  84. package/dist/tools/onboard_vies.js.map +1 -0
  85. package/dist/tools/onboarding.d.ts +19 -0
  86. package/dist/tools/onboarding.d.ts.map +1 -0
  87. package/dist/tools/onboarding.js +63 -0
  88. package/dist/tools/onboarding.js.map +1 -0
  89. package/dist/tools/payroll.d.ts +20 -0
  90. package/dist/tools/payroll.d.ts.map +1 -0
  91. package/dist/tools/payroll.js +73 -0
  92. package/dist/tools/payroll.js.map +1 -0
  93. package/dist/tools/permissions.d.ts +19 -0
  94. package/dist/tools/permissions.d.ts.map +1 -0
  95. package/dist/tools/permissions.js +52 -0
  96. package/dist/tools/permissions.js.map +1 -0
  97. package/dist/tools/portal_domain.d.ts +19 -0
  98. package/dist/tools/portal_domain.d.ts.map +1 -0
  99. package/dist/tools/portal_domain.js +85 -0
  100. package/dist/tools/portal_domain.js.map +1 -0
  101. package/dist/tools/recurring.d.ts +10 -5
  102. package/dist/tools/recurring.d.ts.map +1 -1
  103. package/dist/tools/recurring.js +178 -6
  104. package/dist/tools/recurring.js.map +1 -1
  105. package/dist/tools/register-all.d.ts +2 -2
  106. package/dist/tools/register-all.d.ts.map +1 -1
  107. package/dist/tools/register-all.js +41 -3
  108. package/dist/tools/register-all.js.map +1 -1
  109. package/dist/tools/shared.d.ts +313 -1
  110. package/dist/tools/shared.d.ts.map +1 -1
  111. package/dist/tools/shared.js +256 -0
  112. package/dist/tools/shared.js.map +1 -1
  113. package/dist/tools/team.d.ts +17 -0
  114. package/dist/tools/team.d.ts.map +1 -0
  115. package/dist/tools/team.js +141 -0
  116. package/dist/tools/team.js.map +1 -0
  117. package/dist/tools/time.d.ts +9 -8
  118. package/dist/tools/time.d.ts.map +1 -1
  119. package/dist/tools/time.js +54 -9
  120. package/dist/tools/time.js.map +1 -1
  121. package/dist/tools/webhooks.d.ts.map +1 -1
  122. package/dist/tools/webhooks.js +27 -1
  123. package/dist/tools/webhooks.js.map +1 -1
  124. package/package.json +12 -5
  125. package/scripts/audit-mcp-refs.mjs +331 -0
@@ -0,0 +1,377 @@
1
+ /**
2
+ * Tests for Day 4 e-invoice MCP tools — FACe, TicketBAI, KSeF, einvoice_export.
3
+ *
4
+ * Uses Node.js built-in test runner (node:test + node:assert) — no extra deps.
5
+ * Run: npm test (after build: node --test dist/__tests__/einvoice-day4-tools.test.js)
6
+ *
7
+ * Coverage:
8
+ * 1. Tool registration — all 6 Day 4 tools registered (127→133)
9
+ * 2. 404-fallback path — CF endpoint not yet deployed → stub fires
10
+ * 3. Success path — live client data passed through correctly
11
+ * 4. Error paths — 403/422/500 are rethrown (not swallowed)
12
+ * 5. ksef_submit stub — always returns _notImplemented=true
13
+ * 6. Stub response shapes match declared outputSchema fields
14
+ */
15
+ import { test, describe, beforeEach } from "node:test";
16
+ import assert from "node:assert/strict";
17
+ class StubMcpServer {
18
+ tools = new Map();
19
+ registerTool(name, config, handler) {
20
+ this.tools.set(name, { name, config, handler });
21
+ }
22
+ }
23
+ // ── Client stubs ─────────────────────────────────────────────────────────────
24
+ /** Simulates CF endpoint not yet deployed (returns 404). */
25
+ function make404Client() {
26
+ const notFound = () => {
27
+ const err = Object.assign(new Error("Not Found"), { statusCode: 404, errorCode: "not_found" });
28
+ return Promise.reject(err);
29
+ };
30
+ return {
31
+ exportEInvoice: notFound,
32
+ faceSubmit: notFound,
33
+ faceStatus: notFound,
34
+ ticketbaiSubmit: notFound,
35
+ ticketbaiStatus: notFound,
36
+ // kSeFSubmit: not wired in client — tool is always-stub
37
+ };
38
+ }
39
+ /** Simulates a 403 Forbidden error (auth failure — should rethrow, not stub). */
40
+ function make403Client() {
41
+ const forbidden = () => {
42
+ const err = Object.assign(new Error("Forbidden"), { statusCode: 403, errorCode: "forbidden" });
43
+ return Promise.reject(err);
44
+ };
45
+ return {
46
+ exportEInvoice: forbidden,
47
+ faceSubmit: forbidden,
48
+ faceStatus: forbidden,
49
+ ticketbaiSubmit: forbidden,
50
+ ticketbaiStatus: forbidden,
51
+ };
52
+ }
53
+ /** Simulates CF endpoints live and returning real data. */
54
+ function makeLiveClient() {
55
+ return {
56
+ exportEInvoice: async () => ({
57
+ xmlUrl: "https://storage.frihet.io/live/einvoice/inv_123-facturae.xml",
58
+ filename: "inv_123-facturae.xml",
59
+ format: "facturae",
60
+ signed: true,
61
+ }),
62
+ faceSubmit: async () => ({
63
+ registroFACe: "RCF_LIVE_20260513_001",
64
+ status: "submitted",
65
+ submittedAt: "2026-05-13T10:00:00.000Z",
66
+ mode: "production",
67
+ }),
68
+ faceStatus: async () => ({
69
+ registroFACe: "RCF_LIVE_20260513_001",
70
+ statusCode: "1400",
71
+ statusDescription: "Contabilizada",
72
+ rejectionReason: undefined,
73
+ }),
74
+ ticketbaiSubmit: async () => ({
75
+ tbaiId: "TBAI-00001-20260513-LIVE",
76
+ territory: "bizkaia",
77
+ status: "accepted",
78
+ sandbox: false,
79
+ qrUrl: "https://batuz.eus/QRTBAI/?id=TBAI-00001-20260513-LIVE",
80
+ }),
81
+ ticketbaiStatus: async () => ({
82
+ tbaiId: "TBAI-00001-20260513-LIVE",
83
+ territory: "bizkaia",
84
+ status: "accepted",
85
+ rejectionReason: undefined,
86
+ error: undefined,
87
+ }),
88
+ };
89
+ }
90
+ // ── Helper to register Day 4 tools on a fresh server ─────────────────────────
91
+ async function makeServer(client) {
92
+ const server = new StubMcpServer();
93
+ const { registerEInvoiceTools } = await import("../tools/einvoice.js");
94
+ registerEInvoiceTools(server, client);
95
+ return server;
96
+ }
97
+ // ── Registration tests ────────────────────────────────────────────────────────
98
+ describe("Day 4 E-Invoice Tools — Registration", () => {
99
+ let server;
100
+ beforeEach(async () => {
101
+ server = await makeServer(make404Client());
102
+ });
103
+ test("registers exactly 10 e-invoice tools (4 original + 6 Day 4)", () => {
104
+ assert.equal(server.tools.size, 10, `Expected 10 tools, got ${server.tools.size}`);
105
+ });
106
+ test("registers einvoice_export", () => {
107
+ assert.ok(server.tools.has("einvoice_export"), "einvoice_export not registered");
108
+ });
109
+ test("registers face_submit", () => {
110
+ assert.ok(server.tools.has("face_submit"), "face_submit not registered");
111
+ });
112
+ test("registers face_status", () => {
113
+ assert.ok(server.tools.has("face_status"), "face_status not registered");
114
+ });
115
+ test("registers ticketbai_submit", () => {
116
+ assert.ok(server.tools.has("ticketbai_submit"), "ticketbai_submit not registered");
117
+ });
118
+ test("registers ticketbai_status", () => {
119
+ assert.ok(server.tools.has("ticketbai_status"), "ticketbai_status not registered");
120
+ });
121
+ test("registers ksef_submit", () => {
122
+ assert.ok(server.tools.has("ksef_submit"), "ksef_submit not registered");
123
+ });
124
+ test("all Day 4 tools have titles", () => {
125
+ const day4 = ["einvoice_export", "face_submit", "face_status", "ticketbai_submit", "ticketbai_status", "ksef_submit"];
126
+ for (const name of day4) {
127
+ const tool = server.tools.get(name);
128
+ assert.ok(tool, `${name} not registered`);
129
+ assert.ok(tool.config.title, `${name} missing title`);
130
+ }
131
+ });
132
+ });
133
+ // ── einvoice_export tests ─────────────────────────────────────────────────────
134
+ describe("einvoice_export — 404-fallback stub", () => {
135
+ test("404 → stub with _stub=true, xmlUrl and filename set", async () => {
136
+ const server = await makeServer(make404Client());
137
+ const tool = server.tools.get("einvoice_export");
138
+ const result = await tool.handler({ invoiceId: "inv_001", format: "facturae", signed: true });
139
+ const sc = result.structuredContent;
140
+ assert.equal(sc["_stub"], true);
141
+ assert.equal(sc["_note"], "CF endpoint pending deploy");
142
+ assert.ok(typeof sc["xmlUrl"] === "string");
143
+ assert.ok(typeof sc["filename"] === "string");
144
+ assert.equal(sc["format"], "facturae");
145
+ assert.equal(sc["signed"], true);
146
+ });
147
+ test("signed defaults to false when omitted", async () => {
148
+ const server = await makeServer(make404Client());
149
+ const tool = server.tools.get("einvoice_export");
150
+ const result = await tool.handler({ invoiceId: "inv_002", format: "xrechnung-cii" });
151
+ const sc = result.structuredContent;
152
+ assert.equal(sc["signed"], false);
153
+ });
154
+ test("403 error returns isError response (not stub)", async () => {
155
+ const server = await makeServer(make403Client());
156
+ const tool = server.tools.get("einvoice_export");
157
+ const result = await tool.handler({ invoiceId: "inv_003", format: "ubl" });
158
+ // withToolLogging converts non-404 errors to error content — should NOT be a stub
159
+ assert.equal(result["isError"], true, "403 should produce isError response");
160
+ assert.equal(result.structuredContent?.["_stub"], undefined, "403 should not produce a stub");
161
+ });
162
+ });
163
+ describe("einvoice_export — live client", () => {
164
+ test("live → real xmlUrl from CF, no _stub flag", async () => {
165
+ const server = await makeServer(makeLiveClient());
166
+ const tool = server.tools.get("einvoice_export");
167
+ const result = await tool.handler({ invoiceId: "inv_123", format: "facturae", signed: true });
168
+ const sc = result.structuredContent;
169
+ assert.ok(sc["xmlUrl"].includes("live"));
170
+ assert.equal(sc["format"], "facturae");
171
+ assert.equal(sc["signed"], true);
172
+ assert.equal(sc["_stub"], undefined);
173
+ });
174
+ });
175
+ // ── face_submit tests ─────────────────────────────────────────────────────────
176
+ describe("face_submit — 404-fallback stub", () => {
177
+ test("404 → stub with _stub=true, registroFACe and status set", async () => {
178
+ const server = await makeServer(make404Client());
179
+ const tool = server.tools.get("face_submit");
180
+ const result = await tool.handler({ invoiceId: "inv_face_001", mode: "production" });
181
+ const sc = result.structuredContent;
182
+ assert.equal(sc["_stub"], true);
183
+ assert.equal(sc["_note"], "CF endpoint pending deploy");
184
+ assert.ok(typeof sc["registroFACe"] === "string");
185
+ assert.equal(sc["status"], "submitted");
186
+ assert.ok(typeof sc["submittedAt"] === "string");
187
+ assert.equal(sc["mode"], "production");
188
+ });
189
+ test("mode defaults to production when omitted", async () => {
190
+ const server = await makeServer(make404Client());
191
+ const tool = server.tools.get("face_submit");
192
+ const result = await tool.handler({ invoiceId: "inv_face_002" });
193
+ const sc = result.structuredContent;
194
+ assert.equal(sc["mode"], "production");
195
+ });
196
+ test("sandbox mode accepted", async () => {
197
+ const server = await makeServer(make404Client());
198
+ const tool = server.tools.get("face_submit");
199
+ const result = await tool.handler({ invoiceId: "inv_face_003", mode: "sandbox" });
200
+ const sc = result.structuredContent;
201
+ assert.equal(sc["mode"], "sandbox");
202
+ });
203
+ test("403 error returns isError response (not stub)", async () => {
204
+ const server = await makeServer(make403Client());
205
+ const tool = server.tools.get("face_submit");
206
+ const result = await tool.handler({ invoiceId: "inv_face_403", mode: "production" });
207
+ assert.equal(result["isError"], true, "403 should produce isError response");
208
+ });
209
+ });
210
+ describe("face_submit — live client", () => {
211
+ test("live → real registroFACe, no _stub flag", async () => {
212
+ const server = await makeServer(makeLiveClient());
213
+ const tool = server.tools.get("face_submit");
214
+ const result = await tool.handler({ invoiceId: "inv_face_live", mode: "production" });
215
+ const sc = result.structuredContent;
216
+ assert.equal(sc["registroFACe"], "RCF_LIVE_20260513_001");
217
+ assert.equal(sc["status"], "submitted");
218
+ assert.equal(sc["_stub"], undefined);
219
+ });
220
+ });
221
+ // ── face_status tests ─────────────────────────────────────────────────────────
222
+ describe("face_status — 404-fallback stub", () => {
223
+ test("404 → stub with statusCode '1200' (Registrada)", async () => {
224
+ const server = await makeServer(make404Client());
225
+ const tool = server.tools.get("face_status");
226
+ const result = await tool.handler({ invoiceId: "inv_face_001" });
227
+ const sc = result.structuredContent;
228
+ assert.equal(sc["_stub"], true);
229
+ assert.equal(sc["statusCode"], "1200");
230
+ assert.equal(sc["statusDescription"], "Registrada");
231
+ assert.ok(typeof sc["registroFACe"] === "string");
232
+ });
233
+ test("403 error returns isError response (not stub)", async () => {
234
+ const server = await makeServer(make403Client());
235
+ const tool = server.tools.get("face_status");
236
+ const result = await tool.handler({ invoiceId: "inv_face_403" });
237
+ assert.equal(result["isError"], true, "403 should produce isError response");
238
+ });
239
+ });
240
+ describe("face_status — live client", () => {
241
+ test("live → statusCode 1400 (Contabilizada), no _stub", async () => {
242
+ const server = await makeServer(makeLiveClient());
243
+ const tool = server.tools.get("face_status");
244
+ const result = await tool.handler({ invoiceId: "inv_face_live" });
245
+ const sc = result.structuredContent;
246
+ assert.equal(sc["statusCode"], "1400");
247
+ assert.equal(sc["statusDescription"], "Contabilizada");
248
+ assert.equal(sc["_stub"], undefined);
249
+ });
250
+ });
251
+ // ── ticketbai_submit tests ────────────────────────────────────────────────────
252
+ describe("ticketbai_submit — 404-fallback stub", () => {
253
+ test("404 → stub with tbaiId, territory=bizkaia, status=submitted", async () => {
254
+ const server = await makeServer(make404Client());
255
+ const tool = server.tools.get("ticketbai_submit");
256
+ const result = await tool.handler({ invoiceId: "inv_tbai_001" });
257
+ const sc = result.structuredContent;
258
+ assert.equal(sc["_stub"], true);
259
+ assert.ok(typeof sc["tbaiId"] === "string");
260
+ assert.equal(sc["territory"], "bizkaia");
261
+ assert.equal(sc["status"], "submitted");
262
+ assert.equal(sc["sandbox"], false);
263
+ assert.ok(typeof sc["qrUrl"] === "string");
264
+ });
265
+ test("sandbox=true is reflected in stub", async () => {
266
+ const server = await makeServer(make404Client());
267
+ const tool = server.tools.get("ticketbai_submit");
268
+ const result = await tool.handler({ invoiceId: "inv_tbai_002", sandbox: true });
269
+ const sc = result.structuredContent;
270
+ assert.equal(sc["sandbox"], true);
271
+ });
272
+ test("sandbox defaults to false when omitted", async () => {
273
+ const server = await makeServer(make404Client());
274
+ const tool = server.tools.get("ticketbai_submit");
275
+ const result = await tool.handler({ invoiceId: "inv_tbai_003" });
276
+ const sc = result.structuredContent;
277
+ assert.equal(sc["sandbox"], false);
278
+ });
279
+ test("403 error returns isError response (not stub)", async () => {
280
+ const server = await makeServer(make403Client());
281
+ const tool = server.tools.get("ticketbai_submit");
282
+ const result = await tool.handler({ invoiceId: "inv_tbai_403" });
283
+ assert.equal(result["isError"], true, "403 should produce isError response");
284
+ });
285
+ });
286
+ describe("ticketbai_submit — live client", () => {
287
+ test("live → real tbaiId, status=accepted, qrUrl present", async () => {
288
+ const server = await makeServer(makeLiveClient());
289
+ const tool = server.tools.get("ticketbai_submit");
290
+ const result = await tool.handler({ invoiceId: "inv_tbai_live" });
291
+ const sc = result.structuredContent;
292
+ assert.equal(sc["tbaiId"], "TBAI-00001-20260513-LIVE");
293
+ assert.equal(sc["status"], "accepted");
294
+ assert.ok(sc["qrUrl"].includes("TBAI"));
295
+ assert.equal(sc["_stub"], undefined);
296
+ });
297
+ });
298
+ // ── ticketbai_status tests ────────────────────────────────────────────────────
299
+ describe("ticketbai_status — 404-fallback stub", () => {
300
+ test("404 → stub with tbaiId, territory, status=accepted", async () => {
301
+ const server = await makeServer(make404Client());
302
+ const tool = server.tools.get("ticketbai_status");
303
+ const result = await tool.handler({ invoiceId: "inv_tbai_001" });
304
+ const sc = result.structuredContent;
305
+ assert.equal(sc["_stub"], true);
306
+ assert.ok(typeof sc["tbaiId"] === "string");
307
+ assert.equal(sc["territory"], "bizkaia");
308
+ assert.equal(sc["status"], "accepted");
309
+ assert.equal(sc["rejectionReason"], undefined);
310
+ assert.equal(sc["error"], undefined);
311
+ });
312
+ test("403 error returns isError response (not stub)", async () => {
313
+ const server = await makeServer(make403Client());
314
+ const tool = server.tools.get("ticketbai_status");
315
+ const result = await tool.handler({ invoiceId: "inv_tbai_403" });
316
+ assert.equal(result["isError"], true, "403 should produce isError response");
317
+ });
318
+ });
319
+ describe("ticketbai_status — live client", () => {
320
+ test("live → real tbaiId and accepted status", async () => {
321
+ const server = await makeServer(makeLiveClient());
322
+ const tool = server.tools.get("ticketbai_status");
323
+ const result = await tool.handler({ invoiceId: "inv_tbai_live" });
324
+ const sc = result.structuredContent;
325
+ assert.equal(sc["tbaiId"], "TBAI-00001-20260513-LIVE");
326
+ assert.equal(sc["status"], "accepted");
327
+ assert.equal(sc["_stub"], undefined);
328
+ });
329
+ });
330
+ // ── ksef_submit tests ─────────────────────────────────────────────────────────
331
+ describe("ksef_submit — always-stub (PR #417 pending)", () => {
332
+ test("returns _notImplemented=true regardless of client", async () => {
333
+ // Test with both 404 and live clients — ksef_submit is always-stub
334
+ for (const clientFactory of [make404Client, makeLiveClient]) {
335
+ const server = await makeServer(clientFactory());
336
+ const tool = server.tools.get("ksef_submit");
337
+ const result = await tool.handler({ invoiceId: "inv_ksef_001", mode: "production" });
338
+ const sc = result.structuredContent;
339
+ assert.equal(sc["_notImplemented"], true, "_notImplemented should be true");
340
+ assert.ok(typeof sc["_note"] === "string", "_note should be present");
341
+ assert.ok(sc["_note"].includes("PR #417"), "_note should mention PR #417");
342
+ assert.ok(typeof sc["_plannedEndpoint"] === "string", "_plannedEndpoint should be set");
343
+ }
344
+ });
345
+ test("invoiceId and mode echoed back in structuredContent", async () => {
346
+ const server = await makeServer(make404Client());
347
+ const tool = server.tools.get("ksef_submit");
348
+ const result = await tool.handler({ invoiceId: "inv_ksef_002", mode: "sandbox" });
349
+ const sc = result.structuredContent;
350
+ assert.equal(sc["invoiceId"], "inv_ksef_002");
351
+ assert.equal(sc["mode"], "sandbox");
352
+ });
353
+ test("mode defaults to production when omitted", async () => {
354
+ const server = await makeServer(make404Client());
355
+ const tool = server.tools.get("ksef_submit");
356
+ const result = await tool.handler({ invoiceId: "inv_ksef_003" });
357
+ const sc = result.structuredContent;
358
+ assert.equal(sc["mode"], "production");
359
+ });
360
+ test("content block explains how to work around missing endpoint", async () => {
361
+ const server = await makeServer(make404Client());
362
+ const tool = server.tools.get("ksef_submit");
363
+ const result = await tool.handler({ invoiceId: "inv_ksef_004", mode: "mock" });
364
+ const text = result.content[0].text;
365
+ assert.ok(text.includes("PR #417"), "Content should mention PR #417");
366
+ assert.ok(text.includes("einvoice_export"), "Content should suggest einvoice_export as workaround");
367
+ });
368
+ test("does not throw — always returns graceful stub", async () => {
369
+ const server = await makeServer(make404Client());
370
+ const tool = server.tools.get("ksef_submit");
371
+ // Should NOT throw even though endpoint doesn't exist
372
+ const result = await tool.handler({ invoiceId: "inv_ksef_005", mode: "production" });
373
+ assert.ok(result.content.length > 0);
374
+ assert.ok(result.structuredContent);
375
+ });
376
+ });
377
+ //# sourceMappingURL=einvoice-day4-tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"einvoice-day4-tools.test.js","sourceRoot":"","sources":["../../src/__tests__/einvoice-day4-tools.test.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * Or via: npm test (after build: node --test dist/__tests__/einvoice-tools.test.js)
7
7
  *
8
8
  * Coverage:
9
- * 1. Tool registration — all 4 tools registered on McpServer (62→66)
9
+ * 1. Tool registration — all original 4 tools registered on McpServer (plus 6 Day 4 = 10 total)
10
10
  * 2. 404-fallback path — when CF endpoint returns 404, stub fallback fires
11
11
  * 3. Success path — when CF endpoint returns real data, it is passed through
12
12
  * 4. Stub response shape — matches declared outputSchema (via fallback)
@@ -6,7 +6,7 @@
6
6
  * Or via: npm test (after build: node --test dist/__tests__/einvoice-tools.test.js)
7
7
  *
8
8
  * Coverage:
9
- * 1. Tool registration — all 4 tools registered on McpServer (62→66)
9
+ * 1. Tool registration — all original 4 tools registered on McpServer (plus 6 Day 4 = 10 total)
10
10
  * 2. 404-fallback path — when CF endpoint returns 404, stub fallback fires
11
11
  * 3. Success path — when CF endpoint returns real data, it is passed through
12
12
  * 4. Stub response shape — matches declared outputSchema (via fallback)
@@ -80,8 +80,8 @@ describe("E-Invoice Tools — Registration", () => {
80
80
  const { registerEInvoiceTools } = await import("../tools/einvoice.js");
81
81
  registerEInvoiceTools(server, clientStub);
82
82
  });
83
- test("registers exactly 4 e-invoice tools", () => {
84
- assert.equal(server.tools.size, 4);
83
+ test("registers exactly 10 e-invoice tools (4 original + 6 Day 4)", () => {
84
+ assert.equal(server.tools.size, 10);
85
85
  });
86
86
  test("registers send_einvoice", () => {
87
87
  assert.ok(server.tools.has("send_einvoice"), "send_einvoice not registered");
@@ -96,8 +96,8 @@ describe("E-Invoice Tools — Registration", () => {
96
96
  assert.ok(server.tools.has("export_datev"), "export_datev not registered");
97
97
  });
98
98
  });
99
- describe("E-Invoice Tools — registerAllTools includes new tools (6266)", () => {
100
- test("registerAllTools wires 4 new e-invoice tools via patchServerWithTracing", async () => {
99
+ describe("E-Invoice Tools — registerAllTools includes new tools (127133)", () => {
100
+ test("registerAllTools wires 10 e-invoice tools via patchServerWithTracing", async () => {
101
101
  const server = new StubMcpServer();
102
102
  const clientStub = make404Client();
103
103
  // Apply the same patch registerAllTools does
@@ -106,7 +106,7 @@ describe("E-Invoice Tools — registerAllTools includes new tools (62→66)", ()
106
106
  server.registerTool = function patchedRegisterTool(name, config, cb) {
107
107
  wrappedCount++;
108
108
  // Verify Langfuse tracing wrapper would be applied (traceMCPTool wraps cb)
109
- // We confirm the patch captures all tool registrations including our 4 new ones
109
+ // We confirm the patch captures all tool registrations including all 10 einvoice tools
110
110
  const wrappedCb = async (args) => {
111
111
  langfuseCallCount++;
112
112
  return cb(args);
@@ -115,8 +115,8 @@ describe("E-Invoice Tools — registerAllTools includes new tools (62→66)", ()
115
115
  };
116
116
  const { registerEInvoiceTools } = await import("../tools/einvoice.js");
117
117
  registerEInvoiceTools(server, clientStub);
118
- assert.equal(wrappedCount, 4, `Expected 4 tools wrapped, got ${wrappedCount}`);
119
- assert.equal(server.tools.size, 4);
118
+ assert.equal(wrappedCount, 10, `Expected 10 tools wrapped, got ${wrappedCount}`);
119
+ assert.equal(server.tools.size, 10);
120
120
  });
121
121
  });
122
122
  describe("send_einvoice — stub response shape", () => {
@@ -292,7 +292,7 @@ describe("export_datev — stub response shape", () => {
292
292
  });
293
293
  });
294
294
  describe("Langfuse wrapper — patchServerWithTracing wraps all tool callbacks", () => {
295
- test("patched registerTool intercepts all 4 einvoice tools (simulates traceMCPTool path)", async () => {
295
+ test("patched registerTool intercepts all 10 einvoice tools (simulates traceMCPTool path)", async () => {
296
296
  const server = new StubMcpServer();
297
297
  const clientStub = make404Client();
298
298
  // Simulate patchServerWithTracing (same mechanism as register-all.ts)
@@ -309,14 +309,14 @@ describe("Langfuse wrapper — patchServerWithTracing wraps all tool callbacks",
309
309
  };
310
310
  const { registerEInvoiceTools } = await import("../tools/einvoice.js");
311
311
  registerEInvoiceTools(server, clientStub);
312
- // All 4 tools were intercepted by the patch
313
- assert.equal(interceptCount, 4, `Expected 4 tools intercepted by tracing patch, got ${interceptCount}`);
312
+ // All 10 tools were intercepted by the patch (4 original + 6 Day 4)
313
+ assert.equal(interceptCount, 10, `Expected 10 tools intercepted by tracing patch, got ${interceptCount}`);
314
314
  // Exercise each tool to confirm the traced wrapper runs
315
315
  for (const [name, tool] of server.tools) {
316
316
  const args = getValidArgs(name);
317
317
  await tool.handler(args);
318
318
  }
319
- assert.equal(langfuseCallCount, 4, `Expected 4 Langfuse trace calls (one per tool), got ${langfuseCallCount}`);
319
+ assert.equal(langfuseCallCount, 10, `Expected 10 Langfuse trace calls (one per tool), got ${langfuseCallCount}`);
320
320
  });
321
321
  });
322
322
  function getValidArgs(toolName) {
@@ -329,6 +329,19 @@ function getValidArgs(toolName) {
329
329
  return { xml: "<Invoice/>", format: "cii" };
330
330
  case "export_datev":
331
331
  return { periodStart: "2026-01-01", periodEnd: "2026-01-31", format: "extf-buchungsstapel" };
332
+ // Day 4 tools
333
+ case "einvoice_export":
334
+ return { invoiceId: "inv_123", format: "facturae" };
335
+ case "face_submit":
336
+ return { invoiceId: "inv_123", mode: "production" };
337
+ case "face_status":
338
+ return { invoiceId: "inv_123" };
339
+ case "ticketbai_submit":
340
+ return { invoiceId: "inv_123" };
341
+ case "ticketbai_status":
342
+ return { invoiceId: "inv_123" };
343
+ case "ksef_submit":
344
+ return { invoiceId: "inv_123", mode: "production" };
332
345
  default:
333
346
  return {};
334
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"einvoice-tools.test.js","sourceRoot":"","sources":["../../src/__tests__/einvoice-tools.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAuBxC,MAAM,aAAa;IACjB,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAE/C,YAAY,CAAC,IAAY,EAAE,MAAkB,EAAE,OAAoB;QACjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAED,gFAAgF;AAEhF,4DAA4D;AAC5D,SAAS,aAAa;IACpB,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;IACF,OAAO;QACL,YAAY,EAAE,QAAQ;QACtB,iBAAiB,EAAE,QAAQ;QAC3B,mBAAmB,EAAE,QAAQ;QAC7B,WAAW,EAAE,QAAQ;KACuC,CAAC;AACjE,CAAC;AAED,0DAA0D;AAC1D,SAAS,cAAc;IACrB,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACzB,aAAa,EAAE,iBAAiB;YAChC,MAAM,EAAE,QAAiB;YACzB,sBAAsB,EAAE,EAAE;SAC3B,CAAC;QACF,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE,WAAoB;YAC5B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,oDAAoD;SAC7D,CAAC;QACF,mBAAmB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,OAAgB;YAC3B,UAAU,EAAE,EAAE;SACf,CAAC;QACF,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE,sEAAsE;YAC/E,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,QAAiB;SAC5B,CAAC;KAC0D,CAAC;AACjE,CAAC;AAED,gFAAgF;AAEhF,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B,sFAAsF;AACtF,wFAAwF;AACxF,mFAAmF;AACnF,0EAA0E;AAE1E,gFAAgF;AAEhF,oDAAoD;AACpD,iEAAiE;AAEjE,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,MAAqB,CAAC;IAE1B,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;IACtH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,6CAA6C;QAC7C,MAAM,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,YAAY,GAAG,CAAC,CAAC;QACpB,MAA6C,CAAC,YAAY,GAAG,SAAS,mBAAmB,CACxF,IAAY,EACZ,MAAkB,EAClB,EAAe;YAEf,YAAY,EAAE,CAAC;YACf,2EAA2E;YAC3E,gFAAgF;YAChF,MAAM,SAAS,GAAgB,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC5C,iBAAiB,EAAE,CAAC;gBACpB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QAEpH,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,iCAAiC,YAAY,EAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,QAAoC,CAAC;IAEzC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QACpH,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,QAAS,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAS,CAAC,OAAO,CAAC;YACrC,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,eAAe;YACvB,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;QACjE,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACrF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,KAAK,QAAQ,EAAE,yCAAyC,CAAC,CAAC;QACvG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAS,CAAC,OAAO,CAAC;YACrC,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAkB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAS,CAAC,OAAO,CAAC;YACrC,SAAS,EAAE,cAAc;YACzB,MAAM,EAAE,UAAU;YAClB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACpE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,IAAI,UAAsC,CAAC;IAE3C,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QACpH,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,UAAW,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE/E,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAW,CAAC,EAClG,WAAW,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,UAAW,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACjF,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,mCAAmC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6CAA6C,EAAE,GAAG,EAAE;IAC3D,IAAI,YAAwC,CAAC;IAE7C,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QACpH,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,YAAa,CAAC,OAAO,CAAC;YACzC,GAAG,EAAE,sCAAsC;YAC3C,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAE,EAAE,CAAC,QAAQ,CAAe,CAAC,MAAM,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,0CAA0C,CAAC,CAAC;QACnF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,YAAa,CAAC,OAAO,CAAC;YACzC,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAkB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,YAAa,CAAC,OAAO,CAAC;YACzC,GAAG,EAAE,uBAAuB;YAC5B,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,sCAAsC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,YAAa,CAAC,OAAO,CAAC;YACzC,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAkB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,SAAqC,CAAC;IAE1C,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QACpH,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,0BAA0B,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAC3E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CACN,MAAM,CAAC,iBAAkB,CAAC,UAAU,CAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EACjF,6CAA6C,CAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CACN,MAAM,CAAC,iBAAkB,CAAC,UAAU,CAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC5E,wCAAwC,CACzC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,SAAU,CAAC,OAAO,CAAC;YACtC,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAkB,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAClF,IAAI,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,sEAAsE;QACtE,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAA6C,CAAC,YAAY,GAAG,UAC5D,IAAY,EACZ,MAAkB,EAClB,EAAe;YAEf,cAAc,EAAE,CAAC;YACjB,yDAAyD;YACzD,MAAM,MAAM,GAAgB,KAAK,EAAE,IAAI,EAAE,EAAE;gBACzC,iBAAiB,EAAE,CAAC,CAAC,mCAAmC;gBACxD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,UAAU,CAAC,CAAC;QAEpH,4CAA4C;QAC5C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,sDAAsD,cAAc,EAAE,CAAC,CAAC;QAExG,wDAAwD;QACxD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAAE,uDAAuD,iBAAiB,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,QAAgB;IACpC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QACxE,KAAK,qBAAqB;YACxB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;QACtC,KAAK,uBAAuB;YAC1B,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC9C,KAAK,cAAc;YACjB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAC/F;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,KAAK,UAAU,UAAU,CAAC,MAAsD;QAC9E,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,MAAM,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7G,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,KAAK,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,kCAAkC,CAAC,CAAC;QACzE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,gCAAgC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,KAAK,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACxF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAW,EAAE,qCAAqC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,sDAAsD,CAAC,CAAC;QAC/F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzH,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAE,EAAE,CAAC,UAAU,CAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,uCAAuC,CAAC,CAAC;QAC/G,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,6CAA6C,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,KAAK,UAAU,UAAU,CAAC,MAAsD;QAC9E,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,MAAgF,EAAE,MAAM,CAAC,CAAC;QAChH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7G,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAE,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAE,EAAE,CAAC,QAAQ,CAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACzH,MAAM,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAE,EAAE,CAAC,SAAS,CAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"einvoice-tools.test.js","sourceRoot":"","sources":["../../src/__tests__/einvoice-tools.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Tests for Fiscal MCP tools — Wave 6 (8 tools).
2
+ * Tests for Fiscal MCP tools — Wave 6 (7 tools).
3
3
  *
4
4
  * Uses Node.js built-in test runner (node:test + node:assert).
5
5
  * Run: npm test (after build)
6
6
  *
7
7
  * Coverage:
8
- * 1. Tool registration — all 8 fiscal tools registered
8
+ * 1. Tool registration — all 7 fiscal tools registered
9
9
  * 2. get_modelo_303_summary — success path + period param
10
10
  * 3. get_modelo_130_summary — success path
11
11
  * 4. get_modelo_390_summary — success path
@@ -13,8 +13,9 @@
13
13
  * 6. get_modelo_347_summary — success path
14
14
  * 7. verifactu_status — success path
15
15
  * 8. verifactu_resubmit — confirm=false gate + confirm=true success
16
- * 9. ticketbai_statussuccess path + province field
17
- * 10. API error — 404 propagated as isError=true
16
+ * 9. API error 404 propagated as isError=true
17
+ *
18
+ * NOTE: ticketbai_status is tested in einvoice-day4-tools.test.ts (canonical).
18
19
  */
19
20
  export {};
20
21
  //# sourceMappingURL=fiscal-tools.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fiscal-tools.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/fiscal-tools.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
1
+ {"version":3,"file":"fiscal-tools.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/fiscal-tools.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}