apiVersion: capsule.dev/v0.1
kind: Capsule
name: cverse-livekit-adapter
version: 0.1.0
type: adapter
purpose:
summary: 'Provides Go-based integration with LiveKit, a WebRTC platform, for managing
real-time rooms, generating access tokens, and handling media streams. This capsule
abstracts LiveKit interactions for the Go orchestration server.
'
owns:
- LiveKit room management logic
- LiveKit token generation
- LiveKit media processing utilities (VP8 chunking)
does_not_own:
- The LiveKit server itself
- Direct WebRTC peer connection management
- Go orchestration server business logic
interfaces:
provides:
- kind: library
name: livekit-server-sdk
description: Go library for interacting with LiveKit server.
requires:
- kind: env
name: LIVEKIT_API_KEY
description: API key for LiveKit server authentication.
- kind: env
name: LIVEKIT_API_SECRET
description: API secret for LiveKit server authentication.
- kind: env
name: LIVEKIT_WS_URL
description: WebSocket URL for the LiveKit server.
agent:
summary_for_ai: 'An AI agent working on this capsule would focus on updating LiveKit
SDK versions, optimizing room management strategies, or enhancing media stream
handling related to LiveKit. It requires strong Go programming skills and knowledge
of LiveKit APIs.
'
avoid:
- Modifying LiveKit server internals.
- Implementing core Go orchestration logic.
verification:
invariants:
- LiveKit room creation and token generation must be reliable.
- Media stream processing must be efficient and correct.
x-reuse:
notes: 'Requires a running LiveKit server instance and corresponding API credentials
(`LIVEKIT_API_KEY`, `LIVEKIT_API_SECRET`, `LIVEKIT_WS_URL`).
'
x-reconstruct:
install: install.json