Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
rust/crates/lk-agents-abi/src/telemetry/semconv.rs linguist-generated
livekit-agents/livekit/agents/_semconv.py linguist-generated
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ jobs:

steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
with:
# lk-agents-storage reads protocol/livekit/agent/thread_schema_v1.sql at build time
submodules: true
- name: Install uv
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
with:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/test-realtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
with:
ref: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.branch != '' && github.event.inputs.branch || github.ref }}
lfs: true
# lk-agents-storage reads protocol/livekit/agent/thread_schema_v1.sql at build time
submodules: true

- name: Install uv
uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0
Expand Down
4 changes: 3 additions & 1 deletion docs/rust-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ classes; the Python voice pipeline does not call them.
| `lk-agents-abi` | The provider seam (`Stt`, `Tts`, `Llm`, `Vad`, `Realtime` traits) and the data vocabulary every other crate is written against, one module per subject named like the Python package. The host records (`#[derive(Host)]`). Behind its `python` feature: the registration table, the fork guard, the host bridge. Performs no I/O. |
| `lk-agents-bindgen` | The expansion of `#[host(..)]`: an item's pyo3 binding, emitted in the crate that owns the item. Shares its attribute parser with `lk-agents-codegen`. |
| `lk-agents-host-derive` | The proc macros: `#[derive(Host)]`, `#[host(..)]`, `Vocabulary`. Reached through `lk-agents-abi`. |
| `lk-agents-codegen` | The generator binary: reads every declaration and writes the `.pyi` stubs, the pydantic modules, the TypeScript interfaces and the napi records. Also `check-layout`, the architecture check on the voice crate's module boundaries. |
| `lk-agents-codegen` | The generator binary: reads every declaration and writes the `.pyi` stubs, the pydantic modules, the TypeScript interfaces and the napi records, and copies the protocol's semantic conventions. Also `check-layout`, the architecture check on the voice crate's module boundaries. |
| `lk-agents-media` | Container decode to PCM, ogg/opus encode, image encode, resampling. Pure Rust by default; `blingfire`, `images`, `ffmpeg` and `resample` add the C and C++ parts. |
| `lk-agents-rtc` | RTC capabilities supplied by the host SDK: rooms, participants, tracks, streams and audio sources as host proxies, plus a fake room for tests. |
| `lk-agents-inference` | The `Native*` inference-gateway clients (STT, TTS, LLM, realtime, VAD, end of turn, AMD, interruption), the fallback adapters, the MCP client. The socket appears only in `transport` and `native`. |
Expand Down Expand Up @@ -146,6 +146,8 @@ pub struct AgentStateChanged { .. }
pydantic modules under `livekit-agents/livekit/agents/_generated/`, the
TypeScript interfaces, and the napi records under
`lk-agents-node/src/generated/`. Generated files carry a first-line mark.
It also copies the `protocol` submodule's semantic conventions
(`protocol/otel/gen`) into `lk-agents-abi` and the Python package.

```bash
cd rust
Expand Down
Loading
Loading