23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# Decision: FOLD into `network-discovery-trystero` (not split)
|
||
|
||
- **Date**: 2026-05-12
|
||
- **Decided by**: autonomous Wave 3.3 implementation
|
||
- **Parent**: `network-transport-family` proposal, §"Split vs. fold" for discovery-bundled transports
|
||
|
||
## Outcome
|
||
|
||
`@suaveplan/network-transport-trystero` is NOT shipped as a separate package. Its functionality lives at `@suaveplan/network-discovery-trystero/transport` (subpath export of the existing discovery package).
|
||
|
||
## Rationale
|
||
|
||
1. Upstream code bundles transport + discovery as one integrated unit; the existing four-transport adapter pattern inside the discovery package already provides the multi-wire machinery.
|
||
2. Splitting would extract working integrated code into two packages with no functional gain.
|
||
3. Fold preserves upstream parity, shares the four-transport selection cleanly, and ships an actual usable transport in ~3× less effort.
|
||
|
||
## What to import
|
||
|
||
- Discovery: `import { TrysteroDiscovery } from "@suaveplan/network-discovery-trystero"`
|
||
- Transport: `import { TrysteroNodeTransport, TrysteroPlugin } from "@suaveplan/network-discovery-trystero/transport"` (or `/plugin`)
|
||
|
||
Note: the class is named `TrysteroNodeTransport` (not `TrysteroTransport`) to avoid collision with the existing `TrysteroTransport` string-union type (`"torrent" | "nostr" | "mqtt" | "ipfs"`) in the discovery package.
|