Protocol dependency: language-provider-protocol#1
Release coordination: #135
Goal
Add the Wright-owned client/runtime side of the Language Provider Protocol without importing source-language compiler ownership back into Wright.
Scope
- Consume the versioned LPP contract and conformance fixtures from
wrightkit/language-provider-protocol.
- Add provider configuration/discovery by opaque language/provider identity rather than OPY/DEL-specific branches.
- Spawn and manage long-running stdio provider processes.
- Implement initialize/handshake, protocol-version checks, capability negotiation, request correlation, shutdown, timeout/process-exit/error handling, and structured diagnostics.
- Keep the client transport-neutral above the process adapter so ToolService and language services consume provider capabilities rather than raw JSON-RPC details.
- Verify interoperability against the LPP conformance/mock provider, including a deliberately non-OPY/DEL language id.
- Do not silently fall back to embedded compiler semantics when a required provider capability is unavailable.
Non-goals
- Full
opy-rs or del-rs production cutover.
- Provider package management, auto-download, marketplace, or network transport.
- Exposing provider AST/HIR or Workshop internal IR.
- New source-language features.
Acceptance criteria
- Wright initializes and queries a conforming provider without OPY/DEL-specific protocol schema logic.
- Capability absence, provider failure, protocol mismatch, malformed responses, and clean shutdown are deterministic and tested.
- The LPP conformance/mock provider passes end-to-end through Wright's client path.
- Tooling layers can depend on a stable provider-client abstraction rather than process/JSON-RPC implementation details.
- No source-language compiler implementation is added to the LPP client layer.
Protocol dependency: language-provider-protocol#1
Release coordination: #135
Goal
Add the Wright-owned client/runtime side of the Language Provider Protocol without importing source-language compiler ownership back into Wright.
Scope
wrightkit/language-provider-protocol.Non-goals
opy-rsordel-rsproduction cutover.Acceptance criteria