tane/packages/commons_core
vjrj 2b58fe40ce feat(block2): Nostr transport backend in commons_core (all 3 contracts)
Second production slice: the concrete Nostr backend on the shared connection,
using the vetted nostr package's crypto (NIP-44 spec-vector tested, gift wrap).

- NostrConnection: one dart:io WebSocket + identity + EVENT/OK, REQ/EOSE via
  the library's Event/Filter/Request. Pure Dart, no Flutter.
- NostrOfferTransport (NIP-99 kind 30402) + Nip99Codec: geohash coarsened to a
  NIP-52 prefix ladder on the wire; Offer stays inventory/location-agnostic.
- NostrMessageTransport (NIP-17): send/inbox via the library's DirectMessage
  gift-wrap onion.
- NostrTrustTransport (custom addressable kind 30777): certify/revoke/discover.
- MiniRelay test support + integration tests: offers, messaging (metadata
  privacy), WoT membership + revoke, and trust-filters-offers — all over ONE
  shared connection, hermetic in-process relay.

Renamed the core offer lifecycle enum OfferStatus -> OfferLifecycle to avoid
colliding with app_seeds' sharing-intent OfferStatus (no Block 1 code touched;
app_seeds analyzes clean, 0 errors). commons_core: 55 tests green.
2026-07-10 02:38:50 +02:00
..
lib feat(block2): Nostr transport backend in commons_core (all 3 contracts) 2026-07-10 02:38:50 +02:00
test feat(block2): Nostr transport backend in commons_core (all 3 contracts) 2026-07-10 02:38:50 +02:00
.gitignore feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
analysis_options.yaml feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
CHANGELOG.md feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
pubspec.yaml feat(block2): commons_core social foundation — derivation, types, interfaces, WoT 2026-07-10 02:31:02 +02:00
README.md feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00

TODO: Put a short description of the package here that helps potential users know whether this package might be useful for them.

Features

TODO: List what your package can do. Maybe include images, gifs, or videos.

Getting started

TODO: List prerequisites and provide or point to information on how to start using the package.

Usage

TODO: Include short and useful examples for package users. Add longer examples to /example folder.

const like = 'sample';

Additional information

TODO: Tell users more about the package: where to find more information, how to contribute to the package, how to file issues, what response they can expect from the package authors, and more.