@qhel/protocol
v0.9.0
Published
Contrato compartido (tipos del protocolo) entre el SDK de Qhel y el engine.
Maintainers
Readme
@qhel/protocol
Contrato compartido (tipos del protocolo de wire) entre el engine de
Qhel y el SDK cliente
@qhel/sdk. Es la fuente de verdad
del wire (ADR-018): mensajes cliente↔servidor, tipos de campo y códigos de error.
Normalmente no instalas esto directamente — usa
@qhel/sdk, que lo reexporta. Este paquete existe para compartir el contrato entre el engine (Rust, que lo espeja) y el SDK (TypeScript), y para quien construya un cliente propio.
Qué define
PROTOCOL_VERSION— versión del wire, negociada en el handshake.ClientMessage/ServerMessage— todos los mensajes del protocolo (hello,create,update,delete,removeField,increment,decrement,transaction,search,similar,check,list,getMany,query,count,subscribe,clear,sync,bulkLoad→welcome,change,removed,results,queryResults,count,matches,duplicate,silentReview,signal,imported,resync(suscriptor lento: re-sincroniza, gap 12),error).FieldValue— valor de un campo con tipos: texto, número, booleano, null,DateTimeValue({ "$datetime": "<UTC RFC3339>" }),ExactValue({ "$exact": "<decimal>" }, dinero sin coma flotante) y valores anidados (arrays y objetos recursivos deFieldValue).ScoredItem— item + score de similitud (respuesta a search/similar/check).Signal/SignalKind— primitiva de señales semánticas (ADR-024).ErrorCode—forbidden | rejected | badRequest | conflict | incompatibleVersion | quotaExceeded(conflict= concurrencia optimista/CAS, ADR-032).
Compatibilidad
El engine acepta su PROTOCOL_VERSION y el inmediatamente anterior (N-1). La
matriz SDK↔engine vive en el CHANGELOG de @qhel/sdk.
Instalación
npm install @qhel/protocolQhel es software propietario (ver LICENSE).
