Visión general de la arquitectura
Fetchpier separa el shell de escritorio de la capa de negocio para que la app y la CLI ejecuten los mismos formatos y pipeline.
Renderer (React) -> puente IPC validado -> proceso principal -> @fetchpier/core ^CLI fp -------------------------------------------------+ v archivos + APIs remotasFrontera del escritorio
Section titled “Frontera del escritorio”El renderer es Chromium bajo sandbox del sistema operativo, sin Node.js ni acceso directo a disco o red. Un preload expone operaciones tipadas y estrechas. El proceso principal valida, maneja ventanas y diálogos nativos, y delega al core. Los contratos IPC usan datos serializables.
Capa de negocio compartida
Section titled “Capa de negocio compartida”@fetchpier/core controla descubrimiento e inicialización de workspaces, parseo/serialización .http,
entornos, valores locales y secretos, cookies, TLS, pipeline HTTP, historial, importación y sandbox.
Recibe adaptadores de filesystem, transporte, claves y eventos: Electron y la CLI aportan los suyos.
Capa de línea de comandos
Section titled “Capa de línea de comandos”@fetchpier/cli resuelve contexto, expande paths, ejecuta secuencialmente, genera reportes y traduce
resultados a códigos de salida. Comparte el workspace, no el estado privado de la app; por eso no ve
certificados globales ni el entorno elegido en el escritorio.
Filesystem y red
Section titled “Filesystem y red”No hay base embebida. Los archivos son la fuente de verdad y las escrituras del workspace se reemplazan atómicamente. IDs estables mantienen relaciones a través de renombres.
Las conexiones del core surgen de solicitudes, importaciones por URL o la comprobación opcional de actualizaciones. CSP, guards, tests y auditorías impiden contenido remoto en el renderer. Ver Privacidad y acceso a la red.
Las extensiones públicas son scripts fp.*, la CLI/API programática y los archivos .http/JSON. No
hay sistema de plugins; cualquier ampliación interna debe conservar las invariantes de procesos,
filesystem y red.