Skip to content

Releases: nubiia-dev/mcp-freematica

v0.6.0 — Cierre del ciclo de facturación (TD-153)

Choose a tag to compare

@iamsamuelfraga iamsamuelfraga released this 12 Jun 07:04
38077d4

Release de la épica TD-153. Pasa de 34 a 45 tools. Cierra el ciclo de lectura financiera: pedido → albarán → factura interna → factura electrónica → cartera/cobro.

Tools nuevas (TD-154 — Facturas electrónicas, 6 tools)

  • `freematica_list_facturas_electronicas` — Facturae/EDICOM via `/pven/v1/facturas`
  • `freematica_get_factura_electronica` — detalle por idReg
  • `freematica_get_factura_documento` — VoFacturasDocumento (JSON, no binario) con guardrail de tamaño
  • `freematica_get_factura_log` — log de eventos auditoría (envío, recepción, aceptación AAPP)
  • `freematica_get_edicom_info` — estado integración EDICOM (⚠️ contiene credenciales)
  • `freematica_list_facturas_documentos` — descarga masiva con truncate por tamaño

Tools nuevas (TD-155 — Albaranes + resultados facturación, 5 tools)

  • `freematica_list_albaranes_ventas` — `GET /pven/v2/albaranes-ventas` (query params nativos, codEmpresa obligatorio)
  • `freematica_get_albaran_venta` — detalle por idReg
  • `freematica_list_albaranes_factura` — vinculación albarán↔factura via `/pven/v2/albaranes-facturas` (idReg nativo + FIQL para resto)
  • `freematica_get_albaran_factura` — detalle vinculación
  • `freematica_list_resultados_facturacion` — proceso batch de facturación de vigilancia via `/pvss/v1/facturacion-resultados`

Métricas

  • 45 tools registradas (vs 34 en v0.5.1)
  • 720 tests passing
  • Coverage: clients 98%, schemas 99.68%, tools 100% statements / 60%+ branches
  • Sin breaking changes

Bugs evitados pre-merge gracias a code review

  • 🔴 `leido` se enviaba como `"true"/"false"` cuando el API espera `"1"/"0"` (silent filter bypass)
  • 🟠 Prefijos sintéticos `AVC_`/`AFA_` reemplazados por reales `ALVC_`/`FVCA_`/`FACT_*` validados contra OpenAPI

Refs: TD-153, TD-154, TD-155

v0.5.1 — Pedidos de compra (TD-152)

Choose a tag to compare

@iamsamuelfraga iamsamuelfraga released this 12 Jun 06:06
053b136

Añade 2 tools de lectura cerrando el ciclo de compras (lectura).

Tools nuevas

  • `freematica_list_pedidos_compra` — `GET /pcmp/v2/pedidos` con design mixto: 4 query params nativos (codEmpresa, desdeFecha, hastaFecha, codProveedor) + filtros FIQL adicionales via rQuery (numPedido, codDocumento, delegacion, formaPago, tipoIva, codCliente, codInstalador, codMantenedor, referencia, rango fechaEntrega, estado pendiente/bloqueado/recibido).
  • `freematica_get_pedido_compra` — `GET /pcmp/v2/pedidos/{idreg}`. Devuelve objeto compuesto `{ VoPedidosCompraCab, cabecera_proveedor, lineas[] }`.

Métricas

  • Total tools registradas: 34 (vs 32 en v0.5.0)
  • 648 tests passing
  • Coverage 100% statements en archivos nuevos

Sin breaking changes

Refs: TD-152

v0.5.0 — Ampliación dominio financiero/PRL + hardening

Choose a tag to compare

@iamsamuelfraga iamsamuelfraga released this 10 Jun 09:14
a76c438

Release de la épica TD-116. Pasa de 8 a 32 tools registradas.

Nuevas familias de tools

  • Cartera de clientes (morosidad): 2 tools
  • Facturas de ventas (cabecera + líneas + IVA + vencimientos): 5 tools
  • Facturas de compras: 2 tools
  • Proveedores: 2 tools
  • Localizaciones (cobro clientes, pago proveedores, servicio clientes): 3 tools
  • Contabilidad (cuentas, cuentas analíticas, export-asientos): 3 tools
  • PRL (ficha prevención cliente, vigilancia salud get + list): 3 tools
  • Personal (list + get): 2 tools
  • Calendarios (list + periodos): 2 tools
  • Master-data: 6 catálogos nuevos (18 → 24)

Hardening

  • FIQL builder con escape completo (anti-injection) + property-based tests
  • HardenedBaseClient: timeout configurable, retry exponencial, circuit breaker, 429 con Retry-After
  • Logging estructurado pino con sanitización de credenciales x-auth-*
  • Protección de tamaño de respuesta en export-asientos (default 10MB)
  • 595 tests passing, coverage global 99.4%

Nuevas env vars opcionales

  • FREEMATICA_TIMEOUT_MS (default 30000)
  • FREEMATICA_MAX_RETRIES (default 3)
  • FREEMATICA_CIRCUIT_BREAKER_THRESHOLD (default 5)
  • FREEMATICA_CIRCUIT_BREAKER_TIMEOUT_MS (default 30000)
  • FREEMATICA_MAX_RESPONSE_SIZE_MB (default 10)
  • LOG_LEVEL (default info)

Documentación

  • README ampliado con sección filtros tipados + configuración avanzada + troubleshooting
  • 3 ADRs en docs/adr/ (FIQL, retry+CB, pino logging)
  • 5 examples ejecutables en examples/

Sin breaking changes

Las 8 tools de v0.4.1 mantienen su API.

Stories

  • TD-117 Foundation
  • TD-118 Cartera + Facturas Ventas
  • TD-119 Compras + Proveedores + Localizaciones
  • TD-120 Contabilidad
  • TD-121 PRL + Personal + Calendarios
  • TD-122 Master-data
  • TD-123 Testing gap + coverage
  • TD-124 Docs + CI/CD hardening