lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

README (2284B)


      1 # radroots_events
      2 
      3 This is the README for `radroots_events`, which provides typed `radroots` event
      4 models, kinds, and tag conventions for the `radroots` core libraries.
      5 
      6 ## Overview
      7 
      8  * typed content modules for accounts, app data, comments, coops, documents,
      9    farms, farm workspaces, farm CRDT changes, farm files, groups, auth events,
     10    jobs, lists, messages, posts, profiles, reactions, trades, and related
     11    domains;
     12  * shared event references, pointers, and kind and tag definitions used across
     13    event-processing code;
     14  * portable event model semantics for both `std` and `no_std` builds;
     15  * optional integration with `serde` for serialization.
     16 
     17 ## Field Event Boundary
     18 
     19 `radroots_events` includes the public event-layer models needed by Field-style
     20 farming operations:
     21 
     22  * workspace manifests for discovering the farm group, relay set, media servers,
     23    and supported event kinds;
     24  * CRDT change envelopes for operation documents such as tasks, work sessions,
     25    harvest records, and approvals;
     26  * farm file metadata events for media attached to farm documents;
     27  * NIP-42 relay auth and NIP-98 HTTP auth payload models;
     28  * NIP-29 group metadata, member lists, roles, invites, joins, leaves, and user
     29    operations for the supported `9000`, `9001`, `9002`, `9005`, `9007`, `9008`,
     30    `9009`, `9021`, `9022`, `39000`, `39001`, `39002`, and `39003` subset.
     31 
     32 The NIP-29 group surface uses bare metadata marker tags such as `private`,
     33 `restricted`, `hidden`, and `closed`, `supported_kinds` declarations, and
     34 `code` tags for invite and join flows. User management and moderation events
     35 preserve optional reason content. LiveKit room metadata and live participant
     36 state are not part of this crate's current group event subset.
     37 
     38 Task records, work sessions, harvest records, approvals, and similar Field
     39 business objects are CRDT document semantics carried by
     40 `RadrootsFarmCrdtChange`. They are not separate `rr-rs` event families and this
     41 crate does not enforce private Field workflow authorization.
     42 
     43 ## Copyright
     44 
     45 Except as otherwise noted, all files in the `radroots_events` distribution are
     46 
     47  Copyright (c) 2020-2026 Tyson Lupul
     48 
     49 For information on usage and redistribution, and for a DISCLAIMER OF ALL
     50 WARRANTIES, see LICENSE included in the `radroots_events` distribution.