| .. | ||
| crates/common | ||
| README.md | ||
nigig-lite
Shared, dependency-light crates for the nigig / nimanyatta family.
crates/common — nigig-common
The shared foundation crate consumed by the nimanyatta chat/sync server (as a
path dependency from nimanyatta/Cargo.toml) and by its load-test suites:
ids— strongly-typed ULID identifiers (UserId,RoomId,EventId,DeviceId) that serialise in prefixed wire form (user_01H…).errors— the unifiedAppErrormodel: HTTP status mapping, stable machine-readable codes, and an xitca-webServiceimpl that renders JSON error bodies.auth— REST DTOs for register/login/refresh/logout, token pairs, and theUserProfilerecord shape.rooms— room, membership, timeline-event and message-content models plus the rooms REST DTOs.roles— server/room/custom role and permission model (PermissionSet,ResolvedPermissions).sync— the/syncrequest/response contract (filters, pagination tokens).protocol— the WebSocket chat protocol (ClientToServerMsg,ServerToClientMsg, presence, receipts) mirrored fromnimanyatta/crates/nimanyatta-protocol.validatable— shared input validators (username/password/message body rules).
The crate is standalone (empty [workspace] table) and has its own unit tests
(cargo test → 21 tests).
The WebSocket wire shapes are kept byte-compatible with
nimanyatta/crates/nimanyatta-protocol — the client library — so both sides
of the socket agree on field names and tagging.