Files
2026-05-27 23:29:53 +01:00

22 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Decision: FOLD into `network-discovery-peerjs` (not split)
- **Date**: 2026-05-12
- **Decided by**: autonomous Wave 3.2 implementation
- **Parent**: `network-transport-family` proposal, §"Split vs. fold" for discovery-bundled transports
## Outcome
`@suaveplan/network-transport-peerjs` is NOT shipped as a separate package. Its functionality lives at `@suaveplan/network-discovery-peerjs/transport` (subpath export of the existing discovery package).
## Rationale
1. Upstream code bundles transport + discovery as one integrated unit; the existing `PeerConnectionManager` + `PeerJSConnection` modules ARE the transport machinery.
2. Splitting would require extracting a working integrated unit and re-testing — much higher risk for no functional gain.
3. Fold preserves upstream parity and ships an actual usable transport in ~3× less effort.
4. The two surfaces share a single PeerJS unit cleanly via a discriminated wire frame (`{kind: "suaveplan.transport.v1", envelope}`) that discovery's Zod schema explicitly rejects.
## What to import
- Discovery: `import { PeerJSDiscovery } from "@suaveplan/network-discovery-peerjs"`
- Transport: `import { PeerJSTransport, PeerJSPlugin } from "@suaveplan/network-discovery-peerjs/transport"` (or `/plugin`)