@frihet/mcp-server 1.15.2 → 1.16.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 (45) hide show
  1. package/README.md +33 -1
  2. package/dist/__tests__/demo-mode.test.d.ts +11 -0
  3. package/dist/__tests__/demo-mode.test.d.ts.map +1 -0
  4. package/dist/__tests__/demo-mode.test.js +119 -0
  5. package/dist/__tests__/demo-mode.test.js.map +1 -0
  6. package/dist/demo-client.d.ts +468 -0
  7. package/dist/demo-client.d.ts.map +1 -0
  8. package/dist/demo-client.js +554 -0
  9. package/dist/demo-client.js.map +1 -0
  10. package/dist/demo-fixtures.d.ts +63 -0
  11. package/dist/demo-fixtures.d.ts.map +1 -0
  12. package/dist/demo-fixtures.js +276 -0
  13. package/dist/demo-fixtures.js.map +1 -0
  14. package/dist/index.js +15 -3
  15. package/dist/index.js.map +1 -1
  16. package/dist/tool-exposure.d.ts.map +1 -1
  17. package/dist/tool-exposure.js +12 -0
  18. package/dist/tool-exposure.js.map +1 -1
  19. package/dist/tools/audit_gl.d.ts.map +1 -1
  20. package/dist/tools/audit_gl.js +4 -1
  21. package/dist/tools/audit_gl.js.map +1 -1
  22. package/dist/tools/bank_rules.d.ts.map +1 -1
  23. package/dist/tools/bank_rules.js +2 -1
  24. package/dist/tools/bank_rules.js.map +1 -1
  25. package/dist/tools/einvoice.d.ts +1 -1
  26. package/dist/tools/igic.d.ts.map +1 -1
  27. package/dist/tools/igic.js +5 -1
  28. package/dist/tools/igic.js.map +1 -1
  29. package/dist/tools/impuesto_sociedades.d.ts.map +1 -1
  30. package/dist/tools/impuesto_sociedades.js +3 -1
  31. package/dist/tools/impuesto_sociedades.js.map +1 -1
  32. package/dist/tools/intelligence.d.ts.map +1 -1
  33. package/dist/tools/intelligence.js +5 -1
  34. package/dist/tools/intelligence.js.map +1 -1
  35. package/dist/tools/onboard_vies.d.ts.map +1 -1
  36. package/dist/tools/onboard_vies.js +3 -1
  37. package/dist/tools/onboard_vies.js.map +1 -1
  38. package/dist/tools/portal_domain.d.ts.map +1 -1
  39. package/dist/tools/portal_domain.js +4 -1
  40. package/dist/tools/portal_domain.js.map +1 -1
  41. package/dist/tools/shared.d.ts +15 -4
  42. package/dist/tools/shared.d.ts.map +1 -1
  43. package/dist/tools/shared.js +13 -0
  44. package/dist/tools/shared.js.map +1 -1
  45. package/package.json +2 -2
@@ -18,7 +18,7 @@
18
18
  * bump. Backend may still be Firestore-direct writes; tools will 404 gracefully.
19
19
  */
20
20
  import { z } from "zod/v4";
21
- import { withToolLogging, formatPaginatedResponse, formatRecord, listContent, mutateContent, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, paginatedOutput, } from "./shared.js";
21
+ import { withToolLogging, formatPaginatedResponse, formatRecord, listContent, mutateContent, openObjectOutput, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, paginatedOutput, } from "./shared.js";
22
22
  import { withBackendGuard } from "./backend-availability.js";
23
23
  const bankRuleItemOutput = z.object({
24
24
  id: z.string(),
@@ -84,6 +84,7 @@ export function registerBankRulesTools(server, client) {
84
84
  })).min(1).describe("Actions to apply when rule matches / Acciones a aplicar cuando la regla se cumple"),
85
85
  isActive: z.boolean().optional().describe("Whether the rule is active (default true) / Si la regla esta activa (por defecto true)"),
86
86
  },
87
+ outputSchema: openObjectOutput("Created bank rule record with ID, conditions and actions / Regla bancaria creada con ID, condiciones y acciones"),
87
88
  }, async ({ name, conditions, actions, isActive }) => withToolLogging("frihet_bank_rule_create", () => withBackendGuard("frihet_bank_rule_create", "/v1/banking/rules", async () => {
88
89
  const result = await client.createBankRule({ name, conditions, actions, isActive });
89
90
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"bank_rules.js","sourceRoot":"","sources":["../../src/tools/bank_rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bank_rules.js","sourceRoot":"","sources":["../../src/tools/bank_rules.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,7 @@ import type { IFrihetClient } from "../client-interface.js";
48
48
  * | facturae | Facturae | Spain (ES B2G mandatory) | Facturae 3.2.x — AEAT/FACe submission |
49
49
  */
50
50
  export declare const eInvoiceFormatSchema: z.ZodEnum<{
51
+ facturae: "facturae";
51
52
  "xrechnung-cii": "xrechnung-cii";
52
53
  "xrechnung-ubl": "xrechnung-ubl";
53
54
  "facturx-en16931": "facturx-en16931";
@@ -58,7 +59,6 @@ export declare const eInvoiceFormatSchema: z.ZodEnum<{
58
59
  ubl: "ubl";
59
60
  cii: "cii";
60
61
  "peppol-bis-3": "peppol-bis-3";
61
- facturae: "facturae";
62
62
  }>;
63
63
  export type EInvoiceFormat = z.infer<typeof eInvoiceFormatSchema>;
64
64
  export declare const sendEInvoiceOutput: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"igic.d.ts","sourceRoot":"","sources":["../../src/tools/igic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAsHhF"}
1
+ {"version":3,"file":"igic.d.ts","sourceRoot":"","sources":["../../src/tools/igic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAkIhF"}
@@ -14,7 +14,7 @@
14
14
  * Tools surface 404 until REST shell ships.
15
15
  */
16
16
  import { z } from "zod/v4";
17
- import { withToolLogging, formatRecord, getContent, READ_ONLY_ANNOTATIONS, } from "./shared.js";
17
+ import { withToolLogging, formatRecord, getContent, openObjectOutput, READ_ONLY_ANNOTATIONS, } from "./shared.js";
18
18
  import { withBackendGuard } from "./backend-availability.js";
19
19
  export function registerIgicTools(server, client) {
20
20
  // -- frihet_modelo_415_summary -------------------------------------------
@@ -30,6 +30,7 @@ export function registerIgicTools(server, client) {
30
30
  inputSchema: {
31
31
  year: z.string().optional().describe("Tax year (e.g. '2025', defaults to previous year) / Ejercicio fiscal (ej. '2025', por defecto ejercicio anterior)"),
32
32
  },
33
+ outputSchema: openObjectOutput("Modelo 415 summary: counterparty operations, totals and filing deadline / Resumen Modelo 415: operaciones, totales y plazo"),
33
34
  }, async ({ year }) => withToolLogging("frihet_modelo_415_summary", () => withBackendGuard("frihet_modelo_415_summary", "/v1/igic/415", async () => {
34
35
  const result = await client.getIgicModeloSummary("415", { year });
35
36
  return {
@@ -49,6 +50,7 @@ export function registerIgicTools(server, client) {
49
50
  inputSchema: {
50
51
  year: z.string().optional().describe("Tax year (e.g. '2025', defaults to previous year) / Ejercicio fiscal (ej. '2025', por defecto ejercicio anterior)"),
51
52
  },
53
+ outputSchema: openObjectOutput("Modelo 425 annual IGIC recap: IGIC collected, deductible, net payable / Resumen anual IGIC: repercutido, soportado, cuota"),
52
54
  }, async ({ year }) => withToolLogging("frihet_modelo_425_summary", () => withBackendGuard("frihet_modelo_425_summary", "/v1/igic/425", async () => {
53
55
  const result = await client.getIgicModeloSummary("425", { year });
54
56
  return {
@@ -69,6 +71,7 @@ export function registerIgicTools(server, client) {
69
71
  inputSchema: {
70
72
  period: z.string().optional().describe("Period in YYYY-MM format (defaults to last month) / Periodo YYYY-MM (por defecto mes anterior)"),
71
73
  },
74
+ outputSchema: openObjectOutput("Modelo 418 monthly IGIC summary: collected, deductible, net due, carryover / Resumen mensual IGIC: repercutido, soportado, cuota, saldo"),
72
75
  }, async ({ period }) => withToolLogging("frihet_modelo_418_summary", () => withBackendGuard("frihet_modelo_418_summary", "/v1/igic/418", async () => {
73
76
  const result = await client.getIgicModeloSummary("418", { period });
74
77
  return {
@@ -92,6 +95,7 @@ export function registerIgicTools(server, client) {
92
95
  amount: z.number().describe("Taxable base amount in EUR / Base imponible en EUR"),
93
96
  description: z.string().optional().describe("Product description for audit reference / Descripcion del producto (referencia auditoria)"),
94
97
  },
98
+ outputSchema: openObjectOutput("AIEM calculation result: applicable rate, tax base and amount due / Resultado AIEM: tipo aplicable, base imponible y cuota"),
95
99
  }, async ({ ncCode, amount, description }) => withToolLogging("frihet_aiem_calculate", () => withBackendGuard("frihet_aiem_calculate", "/v1/igic/aiem", async () => {
96
100
  const result = await client.calculateAiem({ ncCode, amount, description });
97
101
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"igic.js","sourceRoot":"","sources":["../../src/tools/igic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igic.js","sourceRoot":"","sources":["../../src/tools/igic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"impuesto_sociedades.d.ts","sourceRoot":"","sources":["../../src/tools/impuesto_sociedades.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA+D9F"}
1
+ {"version":3,"file":"impuesto_sociedades.d.ts","sourceRoot":"","sources":["../../src/tools/impuesto_sociedades.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAqE9F"}
@@ -13,7 +13,7 @@
13
13
  * Canary Islands variant: same models apply; ATC collects IS with territorial adjustments.
14
14
  */
15
15
  import { z } from "zod/v4";
16
- import { withToolLogging, formatRecord, getContent, READ_ONLY_ANNOTATIONS, } from "./shared.js";
16
+ import { withToolLogging, formatRecord, getContent, openObjectOutput, READ_ONLY_ANNOTATIONS, } from "./shared.js";
17
17
  import { withBackendGuard } from "./backend-availability.js";
18
18
  export function registerImpuestoSociedadesTools(server, client) {
19
19
  // -- frihet_modelo_200_summary -------------------------------------------
@@ -30,6 +30,7 @@ export function registerImpuestoSociedadesTools(server, client) {
30
30
  inputSchema: {
31
31
  year: z.string().optional().describe("Fiscal year (e.g. '2025', defaults to last closed year) / Ejercicio fiscal (ej. '2025', por defecto ultimo ejercicio cerrado)"),
32
32
  },
33
+ outputSchema: openObjectOutput("Modelo 200 annual corporate tax summary: taxable base, deductions, rate, net payable / Resumen anual IS: base, deducciones, tipo, cuota"),
33
34
  }, async ({ year }) => withToolLogging("frihet_modelo_200_summary", () => withBackendGuard("frihet_modelo_200_summary", "/v1/is/200", async () => {
34
35
  const result = await client.getISSummary("200", { year });
35
36
  return {
@@ -51,6 +52,7 @@ export function registerImpuestoSociedadesTools(server, client) {
51
52
  year: z.string().optional().describe("Fiscal year of the installments (e.g. '2026') / Ejercicio de los pagos fraccionados (ej. '2026')"),
52
53
  installment: z.enum(["1P", "2P", "3P"]).optional().describe("Specific installment (1P=April, 2P=October, 3P=December) or omit for all three / Plazo especifico (1P=abril, 2P=octubre, 3P=diciembre) u omitir para los tres"),
53
54
  },
55
+ outputSchema: openObjectOutput("Modelo 202 installment payments: amounts, due dates, payment status / Pagos fraccionados Modelo 202: importes, plazos, estado"),
54
56
  }, async ({ year, installment }) => withToolLogging("frihet_modelo_202_summary", () => withBackendGuard("frihet_modelo_202_summary", "/v1/is/202", async () => {
55
57
  const result = await client.getISSummary("202", { year, installment });
56
58
  const label = installment
@@ -1 +1 @@
1
- {"version":3,"file":"impuesto_sociedades.js","sourceRoot":"","sources":["../../src/tools/impuesto_sociedades.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,+BAA+B,CAAC,MAAiB,EAAE,MAAqB;IACtF,2EAA2E;IAE3E,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,oDAAoD;QAC3D,WAAW,EACT,0FAA0F;YAC1F,qFAAqF;YACrF,gEAAgE;YAChE,+FAA+F;YAC/F,wBAAwB;YACxB,qFAAqF;YACrF,sFAAsF;QACxF,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+HAA+H,CAAC;SACtK;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACpE,gBAAgB,CAAC,2BAA2B,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5E,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;IAEF,2EAA2E;IAE3E,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,+DAA+D;QACtE,WAAW,EACT,oGAAoG;YACpG,kEAAkE;YAClE,sGAAsG;YACtG,0CAA0C;YAC1C,2EAA2E;YAC3E,oGAAoG;QACtG,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kGAAkG,CAAC;YACxI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+JAA+J,CAAC;SAC7N;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACjF,gBAAgB,CAAC,2BAA2B,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,WAAW;YACvB,CAAC,CAAC,uBAAuB,WAAW,IAAI,IAAI,IAAI,EAAE,GAAG;YACrD,CAAC,CAAC,wCAAwC,IAAI,IAAI,EAAE,GAAG,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"impuesto_sociedades.js","sourceRoot":"","sources":["../../src/tools/impuesto_sociedades.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,UAAU,+BAA+B,CAAC,MAAiB,EAAE,MAAqB;IACtF,2EAA2E;IAE3E,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,oDAAoD;QAC3D,WAAW,EACT,0FAA0F;YAC1F,qFAAqF;YACrF,gEAAgE;YAChE,+FAA+F;YAC/F,wBAAwB;YACxB,qFAAqF;YACrF,sFAAsF;QACxF,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+HAA+H,CAAC;SACtK;QACD,YAAY,EAAE,gBAAgB,CAC5B,yIAAyI,CAC1I;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACpE,gBAAgB,CAAC,2BAA2B,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5E,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;IAEF,2EAA2E;IAE3E,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,KAAK,EAAE,+DAA+D;QACtE,WAAW,EACT,oGAAoG;YACpG,kEAAkE;YAClE,sGAAsG;YACtG,0CAA0C;YAC1C,2EAA2E;YAC3E,oGAAoG;QACtG,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kGAAkG,CAAC;YACxI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+JAA+J,CAAC;SAC7N;QACD,YAAY,EAAE,gBAAgB,CAC5B,+HAA+H,CAChI;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,EAAE,GAAG,EAAE,CACjF,gBAAgB,CAAC,2BAA2B,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,WAAW;YACvB,CAAC,CAAC,uBAAuB,WAAW,IAAI,IAAI,IAAI,EAAE,GAAG;YACrD,CAAC,CAAC,wCAAwC,IAAI,IAAI,EAAE,GAAG,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACzD,iBAAiB,EAAE,MAA4C;SAChE,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAU5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA+KxF"}
1
+ {"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAW5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA2LxF"}
@@ -10,7 +10,7 @@
10
10
  * - duplicate_invoice: Clone an invoice for a new period
11
11
  */
12
12
  import { z } from "zod/v4";
13
- import { withToolLogging, formatRecord, getContent, mutateContent, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, } from "./shared.js";
13
+ import { withToolLogging, formatRecord, getContent, mutateContent, openObjectOutput, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, } from "./shared.js";
14
14
  export function registerIntelligenceTools(server, client) {
15
15
  // -- get_business_context --
16
16
  server.registerTool("get_business_context", {
@@ -22,6 +22,7 @@ export function registerIntelligenceTools(server, client) {
22
22
  "principales clientes y resumen del mes actual. Llama a esto PRIMERO en cualquier sesion.",
23
23
  annotations: READ_ONLY_ANNOTATIONS,
24
24
  inputSchema: {},
25
+ outputSchema: openObjectOutput("Business context snapshot: workspace profile, fiscal setup, recent activity / Contexto de negocio: perfil, configuración fiscal y actividad reciente"),
25
26
  }, async () => withToolLogging("get_business_context", async () => {
26
27
  const result = await client.getBusinessContext();
27
28
  return {
@@ -45,6 +46,7 @@ export function registerIntelligenceTools(server, client) {
45
46
  .describe("Month in YYYY-MM format (defaults to current month). Example: '2026-03' " +
46
47
  "/ Mes en formato YYYY-MM (por defecto el mes actual)"),
47
48
  },
49
+ outputSchema: openObjectOutput("Monthly P&L summary: revenue, expenses, profit, tax liability, invoice stats / Resumen mensual: ingresos, gastos, beneficio, impuestos"),
48
50
  }, async ({ month }) => withToolLogging("get_monthly_summary", async () => {
49
51
  const result = await client.getMonthlySummary(month);
50
52
  const label = month ? `Monthly Summary (${month})` : "Monthly Summary (current month)";
@@ -69,6 +71,7 @@ export function registerIntelligenceTools(server, client) {
69
71
  .describe("Quarter in YYYY-Q# format (defaults to current quarter). Example: '2026-Q1' " +
70
72
  "/ Trimestre en formato YYYY-Q# (por defecto trimestre actual)"),
71
73
  },
74
+ outputSchema: openObjectOutput("Quarterly tax prep data: Modelo 303/130 totals, tax collected vs deductible / Datos trimestrales: Modelo 303/130, impuesto repercutido vs soportado"),
72
75
  }, async ({ quarter }) => withToolLogging("get_quarterly_taxes", async () => {
73
76
  const result = await client.getQuarterlyTaxes(quarter);
74
77
  const label = quarter ? `Quarterly Taxes (${quarter})` : "Quarterly Taxes (current quarter)";
@@ -98,6 +101,7 @@ export function registerIntelligenceTools(server, client) {
98
101
  .optional()
99
102
  .describe("Due date for the new invoice (YYYY-MM-DD) / Fecha de vencimiento de la nueva factura"),
100
103
  },
104
+ outputSchema: openObjectOutput("The newly created draft invoice, cloned from the original / La nueva factura borrador, clonada de la original"),
101
105
  }, async ({ id, newIssueDate, newDueDate }) => withToolLogging("duplicate_invoice", async () => {
102
106
  // 1. Fetch the original invoice (returns the FULL raw stored document —
103
107
  // payments, verifactu, eInvoice, operationType, createdBy, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"intelligence.js","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intelligence.js","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"onboard_vies.d.ts","sourceRoot":"","sources":["../../src/tools/onboard_vies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAW5D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAuEvF"}
1
+ {"version":3,"file":"onboard_vies.d.ts","sourceRoot":"","sources":["../../src/tools/onboard_vies.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,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA6EvF"}
@@ -17,7 +17,7 @@
17
17
  * Tools will surface 404 errors until backend REST shell ships.
18
18
  */
19
19
  import { z } from "zod/v4";
20
- import { withToolLogging, formatRecord, getContent, mutateContent, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, } from "./shared.js";
20
+ import { withToolLogging, formatRecord, getContent, mutateContent, openObjectOutput, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, } from "./shared.js";
21
21
  import { withBackendGuard } from "./backend-availability.js";
22
22
  export function registerOnboardViesTools(server, client) {
23
23
  // -- frihet_portal_onboard_link_generate ----------------------------------
@@ -39,6 +39,7 @@ export function registerOnboardViesTools(server, client) {
39
39
  .describe("Link expiry in hours, 1-168 (default 72h) / Caducidad del enlace en horas (por defecto 72h)"),
40
40
  workspaceId: z.string().optional().describe("Target gestor workspace ID / ID del workspace del gestor"),
41
41
  },
42
+ outputSchema: openObjectOutput("Generated self-onboard link with expiry and token / Enlace de auto-registro generado con caducidad y token"),
42
43
  }, async ({ email, name, expiresInHours, workspaceId }) => withToolLogging("frihet_portal_onboard_link_generate", () => withBackendGuard("frihet_portal_onboard_link_generate", "/v1/portal/onboard/link", async () => {
43
44
  const result = await client.generatePortalOnboardLink({ email, name, expiresInHours, workspaceId });
44
45
  return {
@@ -64,6 +65,7 @@ export function registerOnboardViesTools(server, client) {
64
65
  vatNumber: z.string().describe("EU VAT number to validate (without country prefix) / Numero de IVA intracomunitario (sin prefijo de pais)"),
65
66
  countryCode: z.string().length(2).describe("ISO 3166-1 alpha-2 country code (e.g. 'ES', 'DE', 'FR') / Codigo de pais ISO (ej. 'ES', 'DE', 'FR')"),
66
67
  },
68
+ outputSchema: openObjectOutput("VIES lookup result: company name, address and validity status / Resultado VIES: nombre, dirección y validez"),
67
69
  }, async ({ vatNumber, countryCode }) => withToolLogging("frihet_tax_id_vies_lookup", () => withBackendGuard("frihet_tax_id_vies_lookup", "/v1/portal/onboard/vies", async () => {
68
70
  const result = await client.lookupTaxIdViaVIES({ vatNumber, countryCode });
69
71
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"onboard_vies.js","sourceRoot":"","sources":["../../src/tools/onboard_vies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboard_vies.js","sourceRoot":"","sources":["../../src/tools/onboard_vies.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal_domain.d.ts","sourceRoot":"","sources":["../../src/tools/portal_domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAY5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAgGxF"}
1
+ {"version":3,"file":"portal_domain.d.ts","sourceRoot":"","sources":["../../src/tools/portal_domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAa5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAyGxF"}
@@ -14,7 +14,7 @@
14
14
  * Tools will surface 404 errors until backend REST shell ships.
15
15
  */
16
16
  import { z } from "zod/v4";
17
- import { withToolLogging, formatRecord, getContent, mutateContent, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, DELETE_ANNOTATIONS, } from "./shared.js";
17
+ import { withToolLogging, formatRecord, getContent, mutateContent, openObjectOutput, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, DELETE_ANNOTATIONS, } from "./shared.js";
18
18
  import { withBackendGuard } from "./backend-availability.js";
19
19
  export function registerPortalDomainTools(server, client) {
20
20
  // -- frihet_portal_domain_add ---------------------------------------------
@@ -30,6 +30,7 @@ export function registerPortalDomainTools(server, client) {
30
30
  domain: z.string().describe("Custom domain to add (e.g. 'portal.miempresa.com') / Dominio personalizado (ej. 'portal.miempresa.com')"),
31
31
  workspaceId: z.string().optional().describe("Target workspace ID (defaults to caller's workspace) / ID del workspace destino"),
32
32
  },
33
+ outputSchema: openObjectOutput("Added domain record with required DNS (CNAME) records / Dominio añadido con los registros DNS (CNAME) necesarios"),
33
34
  }, async ({ domain, workspaceId }) => withToolLogging("frihet_portal_domain_add", () => withBackendGuard("frihet_portal_domain_add", "/v1/portal/domain/add", async () => {
34
35
  const result = await client.addCustomPortalDomain({ domain, workspaceId });
35
36
  return {
@@ -54,6 +55,7 @@ export function registerPortalDomainTools(server, client) {
54
55
  inputSchema: {
55
56
  domain: z.string().describe("Custom domain to verify / Dominio personalizado a verificar"),
56
57
  },
58
+ outputSchema: openObjectOutput("Domain verification status (pending/verified/failed) and any DNS errors / Estado de verificación del dominio y errores DNS"),
57
59
  }, async ({ domain }) => withToolLogging("frihet_portal_domain_verify", () => withBackendGuard("frihet_portal_domain_verify", "/v1/portal/domain/verify", async () => {
58
60
  const result = await client.verifyCustomPortalDomain({ domain });
59
61
  return {
@@ -73,6 +75,7 @@ export function registerPortalDomainTools(server, client) {
73
75
  inputSchema: {
74
76
  domain: z.string().describe("Custom domain to remove / Dominio personalizado a eliminar"),
75
77
  },
78
+ outputSchema: openObjectOutput("Confirmation that the custom domain was removed / Confirmación de que el dominio personalizado fue eliminado"),
76
79
  }, async ({ domain }) => withToolLogging("frihet_portal_domain_remove", () => withBackendGuard("frihet_portal_domain_remove", "/v1/portal/domain/remove", async () => {
77
80
  const result = await client.removeCustomPortalDomain({ domain });
78
81
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"portal_domain.js","sourceRoot":"","sources":["../../src/tools/portal_domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portal_domain.js","sourceRoot":"","sources":["../../src/tools/portal_domain.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,17 @@ export declare const deleteResultOutput: z.ZodObject<{
94
94
  success: z.ZodBoolean;
95
95
  id: z.ZodString;
96
96
  }, z.core.$strip>;
97
+ /**
98
+ * Permissive structured-output schema for tools whose API returns an open
99
+ * `Record<string, unknown>` (summaries, single-object actions, VIES/portal
100
+ * responses). Declares NO required fields and stays `.passthrough()`, so the
101
+ * SDK's output validation (safeParseAsync of structuredContent) can NEVER
102
+ * reject a real response — the same over-strict-schema class of bug that made
103
+ * invoices inoperable in #65. The `.describe()` carries the semantic intent
104
+ * into the JSON Schema so agents (and directory scanners) still see what the
105
+ * tool returns, without the runtime risk of pinning a shape we don't control.
106
+ */
107
+ export declare function openObjectOutput(description: string): z.ZodObject<{}, z.core.$loose>;
97
108
  export declare const invoiceItemOutput: z.ZodObject<{
98
109
  id: z.ZodString;
99
110
  clientName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -233,9 +244,9 @@ export declare const reservationItemOutput: z.ZodObject<{
233
244
  guestId: z.ZodOptional<z.ZodString>;
234
245
  status: z.ZodEnum<{
235
246
  cancelled: "cancelled";
247
+ completed: "completed";
236
248
  confirmed: "confirmed";
237
249
  pending: "pending";
238
- completed: "completed";
239
250
  no_show: "no_show";
240
251
  }>;
241
252
  checkIn: z.ZodString;
@@ -326,8 +337,8 @@ export declare const posSaleItemOutput: z.ZodObject<{
326
337
  status: z.ZodOptional<z.ZodEnum<{
327
338
  succeeded: "succeeded";
328
339
  cancelled: "cancelled";
329
- pending: "pending";
330
340
  refunded: "refunded";
341
+ pending: "pending";
331
342
  partially_refunded: "partially_refunded";
332
343
  }>>;
333
344
  amountCents: z.ZodOptional<z.ZodNumber>;
@@ -398,8 +409,8 @@ export declare const bankTransactionItemOutput: z.ZodObject<{
398
409
  postedAt: z.ZodOptional<z.ZodString>;
399
410
  category: z.ZodOptional<z.ZodString>;
400
411
  status: z.ZodOptional<z.ZodEnum<{
401
- pending: "pending";
402
412
  posted: "posted";
413
+ pending: "pending";
403
414
  excluded: "excluded";
404
415
  }>>;
405
416
  matchedDocId: z.ZodOptional<z.ZodString>;
@@ -839,8 +850,8 @@ export declare const periodStatusOutput: z.ZodObject<{
839
850
  status: z.ZodOptional<z.ZodEnum<{
840
851
  open: "open";
841
852
  closed: "closed";
842
- closing: "closing";
843
853
  reopened: "reopened";
854
+ closing: "closing";
844
855
  }>>;
845
856
  startDate: z.ZodOptional<z.ZodString>;
846
857
  endDate: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
@@ -281,6 +281,19 @@ export const deleteResultOutput = z.object({
281
281
  success: z.boolean(),
282
282
  id: z.string(),
283
283
  });
284
+ /**
285
+ * Permissive structured-output schema for tools whose API returns an open
286
+ * `Record<string, unknown>` (summaries, single-object actions, VIES/portal
287
+ * responses). Declares NO required fields and stays `.passthrough()`, so the
288
+ * SDK's output validation (safeParseAsync of structuredContent) can NEVER
289
+ * reject a real response — the same over-strict-schema class of bug that made
290
+ * invoices inoperable in #65. The `.describe()` carries the semantic intent
291
+ * into the JSON Schema so agents (and directory scanners) still see what the
292
+ * tool returns, without the runtime risk of pinning a shape we don't control.
293
+ */
294
+ export function openObjectOutput(description) {
295
+ return z.object({}).passthrough().describe(description);
296
+ }
284
297
  /* --- Per-resource item schemas ------------------------------------ */
285
298
  const lineItemSchema = z.object({
286
299
  description: z.string(),