Roadmap¶
The core bridge is complete and released. The items below are optional
enhancements; none are required for the transport bridge, which stays
dependency-light (one module: github.com/coder/websocket).
Shipped¶
- [x]
HandleWS— bidirectional JSON-RPC relay with correctContent-Lengthframing in both directions. - [x]
DefaultServers()registry with neutralLSPBRIDGE_*env overrides; caller-supplied / extensibleServersmap. - [x] Global + per-subject concurrency caps (
WithSubject). - [x]
AvailableLanguages()progressive-enablement probe. - [x] Visible failure surfaces (
429/404/503/ JSON-RPC error frames);EncodeErrorhelper. - [x] Hermetic
cmd/fake-lspround-trip test at 100% coverage; CI on six arches.
Planned¶
- [ ] Warm-subprocess pooling — optionally keep a small pool of started servers per language to amortise cold-start latency (gopls/rust-analyzer init can be slow), behind an opt-in so the default stays one-process-per -connection.
- [ ] Metrics hooks — counters for spawns, cap rejections and frame throughput, exposed through a pluggable interface (no hard dependency on a metrics library).
- [ ] Configurable caps — expose the global / per-user ceilings as options rather than compile-time constants.