lib

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

commit 0a7e2668bc360b98a2c31b237ad26a93d7cca25d
parent 7b0e4b3ef0f7fd41a2dd13318d974d973a04fcd7
Author: triesap <tyson@radroots.org>
Date:   Tue,  4 Aug 2026 20:15:48 +0000

sdk: pin unpublished lib dependencies by revision

- Resolve every cross-repository Lib crate from the pushed immutable master revision.
- Retain exact alpha versions while removing obsolete local Lib patch overrides.
- Update the lockfile to record the single reviewed Git source for 21 packages.
- Align feature-gated reducer tests with source-bound rebuild lifecycle contracts.

Diffstat:
Mcrates/sdk/src/sync.rs | 22+++++++++++++++++++++-
Mcrates/sdk/src/transport.rs | 17+++++++++--------
2 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/crates/sdk/src/sync.rs b/crates/sdk/src/sync.rs @@ -202,7 +202,9 @@ mod tests { journal::IdempotencyKey, memory::MemoryStorage, outbox::LeaseOwner, - projection::{ProjectionGeneration, ProjectionId}, + projection::{ + ProjectionGeneration, ProjectionId, RawSourceDigest, RebuildFailure, RebuildTicketId, + }, }; use radroots_sync::{ Engine, PullRequest, PushRequest, @@ -286,14 +288,32 @@ mod tests { self.generation } + fn begin_rebuild( + &self, + _ticket_id: RebuildTicketId, + _source_generation: SourceGeneration, + _source_digest: RawSourceDigest, + ) -> Result<(), ReducerError> { + Ok(()) + } + fn reduce( &self, events: &[StoredVisibleEvent], prior_projected_rows: u64, + _rebuild_ticket: Option<RebuildTicketId>, ) -> Result<u64, ReducerError> { assert!(events.is_empty()); Ok(prior_projected_rows) } + + fn abort_rebuild( + &self, + _ticket_id: RebuildTicketId, + _failure: RebuildFailure, + ) -> Result<(), ReducerError> { + Ok(()) + } } fn target() -> Target { diff --git a/crates/sdk/src/transport.rs b/crates/sdk/src/transport.rs @@ -487,13 +487,10 @@ impl DaemonDelivery { #[cfg(test)] mod tests { - use radroots_event::{SignedEvent, wire::v1::Nip01EventWire}; use radroots_transport::{ - DeliveryRequest, Error, FetchRequest, TARGET_SET_MAX_ITEMS, Target, + Error, TARGET_SET_MAX_ITEMS, Target, capability::{Availability, Maturity}, policy::{SatisfactionClass, SatisfactionPolicy, TargetPolicy}, - sink::DeliveryPayload, - source::FetchBounds, target::TargetFingerprint, }; @@ -503,10 +500,11 @@ mod tests { Target::nostr_relay(format!("wss://relay-{index}.example")).expect("target") } - fn signed_event() -> SignedEvent { + #[cfg(feature = "nostr")] + fn signed_event() -> radroots_event::SignedEvent { let raw = r#"{"id":"56bfc78223bb2221bad82b539efdec1ade0f56d0eb0e1f592fd387df4b2ceee0","pubkey":"585591529da0bab31b3b1b1f986611cf5f435dca84f978c89ee8a40cca7103df","created_at":1700000001,"kind":0,"tags":[],"content":"{}","sig":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"}"#; - let wire = Nip01EventWire::parse_json(raw).expect("wire event"); - SignedEvent::from_wire_verified_id(wire, raw).expect("signed event") + let wire = radroots_event::wire::v1::Nip01EventWire::parse_json(raw).expect("wire event"); + radroots_event::SignedEvent::from_wire_verified_id(wire, raw).expect("signed event") } #[test] @@ -698,7 +696,10 @@ mod tests { #[cfg(feature = "nostr")] #[tokio::test] async fn empty_nostr_slot_reports_unavailable_and_rejects_operations() { - use radroots_transport::{EventSink as _, EventSource as _}; + use radroots_transport::{ + DeliveryRequest, EventSink as _, EventSource as _, FetchRequest, sink::DeliveryPayload, + source::FetchBounds, + }; let slot = NostrSlot::new(RelayUrlPolicy::Local); let source = radroots_transport::EventSource::status(&slot)