Plugins para SimpleGest TPV
SimpleGest TPV es un único TPV con un núcleo pequeño y estricto (ventas, documentos fiscales, caja e inventario) que se especializa por sector con plugins. Esta sección explica el SDK de plugins versión 0.2 (HOST_SDK_VERSION = 0.2.0), que sigue admitiendo los plugins escritos para 0.1.
Principios
Sección titulada «Principios»- El paquete
@simplegest/plugin-sdkes lo único que un plugin puede importar. Nada de Node, SQL, ficheros, red ni rutas internas (lo comprueba un test). - Declarativo primero. El manifiesto describe campos, columnas, pantallas, tablas, formularios, botones del TPV y bloques de impresión; el programa los pinta con sus propios componentes.
- Seguridad por capacidades. Un plugin solo usa lo que declara y lo que el usuario puede hacer; el servicio local lo comprueba en cada llamada.
- El núcleo fiscal es intocable. Ningún punto de extensión permite modificar documentos emitidos, importes, IVA ni numeración. El stock solo se mueve con comandos del dominio (entradas, mermas, ajustes), nunca ventas ni devoluciones.
- Los datos del cliente se conservan. Desactivar o desinstalar nunca borra datos; borrar exige desinstalar y confirmar, con exportación previa.
- Sin Internet. Un plugin funciona sin conexión o lo declara (
offline: 'degraded' | 'online-only').
Estructura
Sección titulada «Estructura»plugins/<publisher>.<nombre>/ manifest.ts # contrato declarativo (obligatorio) client.ts # comportamiento en la interfaz (opcional) server.ts # datos, comandos, eventos, validación de venta, migraciones (opcional)Un plugin oficial se registra en dos puntos: su manifiesto (y su server) en server/plugins/catalog.ts, y su client en src/platform/plugins/clientModules.ts. El núcleo no se modifica.
Plugins oficiales con el SDK 0.2
Sección titulada «Plugins oficiales con el SDK 0.2»Alimentación (simplegest.food), Moda (simplegest.fashion), Informática (simplegest.electronics), Fidelización Pro (simplegest.loyalty-pro), Etiquetas y precios (simplegest.labels), Reposición Inteligente (simplegest.replenishment), Analítica (simplegest.analytics) y Promociones Avanzadas (simplegest.advanced-promotions, SDK 0.2.1) están construidos solo con el SDK; son la mejor referencia de cada punto de extensión. Su manual de usuario está en la sección SimpleGest Shop.
Los plugins de pago solo se instalan y activan con una licencia firmada (Ed25519) por el servicio de cuentas, que el TPV verifica sin conexión (server/plugins/entitlements.ts). La aplicación instalada todavía no incluye la clave pública con la que verificarlas, así que hoy no se puede activar ninguno en ella. En desarrollo hay una fuente de licencias de desarrollo identificada como tal, que solo se aplica en el entorno de licencias de desarrollo (nunca en staging ni en la aplicación instalada). Cómo emitirá la cuenta esas licencias está en preparación; las condiciones comerciales no están definidas.
Hoja de ruta del SDK
Sección titulada «Hoja de ruta del SDK»| Versión | Estado | Añade |
|---|---|---|
| 0.2 | Implementada | Almacén propio y migraciones por plugin, interfaz declarativa (páginas, tablas, formularios, tarjetas, secciones, botones del TPV, filtros), captura de línea y validación de venta, lectores de códigos, documentos PDF, permisos y configuración de plugin, licencias firmadas |
| 0.2.1 | Implementada | Proveedores de reglas de descuento (sale.discount) evaluadas por el motor de promociones del núcleo (Promociones Avanzadas) |
| 0.3 | Diseñada | Secciones y campos de cliente en sus pantallas; varias tiendas |
| 1.0 | Diseñada | Aislamiento para terceros, paquetes firmados y publicación en SimpleGest Shop |