How aws/language-server-runtimes works
Language Server Runtimes is a library for building language servers that expose protocol features to clients and provide a capability interface to server implementations. The main flow is client LSP traffic through a runtime entry point and router to registered servers, with protocol contracts defining messages and server interfaces defining available features. Distinct branches cover chat, credentials and identity management, agent support, telemetry, and standalone runtime utilities. Several implementation files are indexed but unsampled, so their documented capabilities are represented without asserting unverified call paths.
Main entry points: base-runtime.ts Runtime entry · server.ts Server contract · lspRouter.ts LSP router · standalone.ts Standalone runtime
Components 21
Runtime core
- Runtime entry
runtimes/runtimes/base-runtime.ts - Web worker
runtimes/runtimes/webworker.ts - LSP router
runtimes/runtimes/lsp/router/lspRouter.ts - LSP server
runtimes/runtimes/lsp/router/lspServer.ts
Protocol contracts
- LSP protocol
runtimes/protocol/lsp.ts - Feature protocols
runtimes/protocol - Runtime types
types - Identity protocol
runtimes/protocol/identity-management.ts
Server capabilities
- Server contract
runtimes/server-interface/server.ts - LSP interface
runtimes/server-interface/lsp.ts - Identity interface
runtimes/server-interface/identity-management.ts - Agent interface
runtimes/server-interface/agent.ts - Chat interface
runtimes/server-interface/chat.ts
Runtime services
- Credentials service
runtimes/runtimes/auth/auth.ts - Chat runtime
runtimes/runtimes/chat/baseChat.ts - Agent runtime
runtimes/runtimes/agent.ts - Operational telemetry
runtimes/runtimes/operational-telemetry/operational-telemetry.ts
Standalone support
- Standalone runtime
runtimes/runtimes/standalone.ts - Checked file operations
runtimes/runtimes/util/standalone/checkedFileOperations.ts - Proxy support
runtimes/runtimes/util/standalone/experimentalProxyUtil.ts
Other components
- LSP client
Connections 21
- LSP client → Runtime entry: sends LSP
- Web worker → Runtime entry: configures transport
runtimes/runtimes/webworker.ts - Runtime entry → LSP router: creates router
runtimes/runtimes/base-runtime.ts - Runtime entry → LSP server: sets up server
runtimes/runtimes/base-runtime.ts - LSP router → LSP server: routes requests
runtimes/runtimes/lsp/router/lspRouter.ts - LSP router → LSP client: registers handlers
runtimes/runtimes/lsp/router/lspRouter.ts - LSP router → Server contract: dispatches to servers
- Server contract → LSP interface: exposes feature
runtimes/server-interface/server.ts - Server contract → Identity interface: exposes feature
runtimes/server-interface/server.ts - Server contract → Agent interface: exposes feature
runtimes/server-interface/server.ts - Server contract → Chat interface: exposes feature
runtimes/server-interface/server.ts - Feature protocols → LSP protocol: uses LSP base
runtimes/protocol/auth.ts - Identity interface → Identity protocol: defines handlers
runtimes/server-interface/identity-management.ts - Runtime entry → Credentials service: initializes
runtimes/runtimes/base-runtime.ts - Credentials service → Identity protocol: handles credential messages
runtimes/runtimes/auth/auth.ts - Runtime entry → Chat runtime: initializes
runtimes/runtimes/base-runtime.ts - Runtime entry → Agent runtime: initializes
runtimes/runtimes/base-runtime.ts - Runtime entry → Operational telemetry: configures
runtimes/runtimes/base-runtime.ts - Standalone runtime → Checked file operations: uses file checks
- Standalone runtime → Proxy support: supports proxy setup
- LSP protocol → Runtime types: re-exports shared types
runtimes/protocol/lsp.ts