Conversation
Co-authored-by: Brian Yin <57741529+Toubat@users.noreply.github.com>
Co-authored-by: Brian Yin <57741529+Toubat@users.noreply.github.com>
Remove baseUrl and useProxy from interruptionOptionDefaults so they are resolved dynamically in the constructor. Previously, the defaults pre-populated baseUrl with the cloud inference URL, which prevented the LIVEKIT_REMOTE_EOT_URL environment variable from being used.
…into feat/barge-in
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…into feat/barge-in
|
| @@ -0,0 +1,136 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file CLAUDE.md (root)
The root CLAUDE.md is a new file but lacks the SPDX license header required by CONTRIBUTING.md ("When creating a new file, make sure to add SPDX headers for REUSE-3.2 compliance") and by the CLAUDE.md Code Conventions section itself. All existing markdown files in the repo (e.g., CONTRIBUTING.md:1-5, README.md:1-5, CODE_OF_CONDUCT.md:1-5) include an HTML-comment SPDX header. Additionally, REUSE.toml has no annotation covering **/CLAUDE.md, so these files will fail the REUSE/SPDX CI check.
Prompt for agents
Add SPDX license headers to all 14 new CLAUDE.md files. Each file should start with:
<!--
SPDX-FileCopyrightText: 2026 LiveKit, Inc.
SPDX-License-Identifier: Apache-2.0
-->
before the existing # CLAUDE.md heading.
The affected files are:
- CLAUDE.md
- agents/src/inference/CLAUDE.md
- agents/src/ipc/CLAUDE.md
- agents/src/llm/CLAUDE.md
- agents/src/metrics/CLAUDE.md
- agents/src/stream/CLAUDE.md
- agents/src/stt/CLAUDE.md
- agents/src/telemetry/CLAUDE.md
- agents/src/tokenize/CLAUDE.md
- agents/src/tts/CLAUDE.md
- agents/src/voice/CLAUDE.md
- agents/src/voice/room_io/CLAUDE.md
- agents/src/voice/transcription/CLAUDE.md
- agents/src/voice/turn_config/CLAUDE.md
Alternatively, add a REUSE.toml annotation entry:
[[annotations]]
path = ["**/CLAUDE.md"]
SPDX-FileCopyrightText = "2026 LiveKit, Inc."
SPDX-License-Identifier = "Apache-2.0"
Either approach satisfies REUSE-3.2 compliance. Using both (inline header + REUSE.toml) follows the pattern used for README.md files.
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,21 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/inference/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,22 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/ipc/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,36 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/llm/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,14 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/metrics/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,22 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/tts/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,36 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/voice/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,23 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/voice/room_io/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,23 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/voice/transcription/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,25 @@ | |||
| # CLAUDE.md | |||
There was a problem hiding this comment.
🔴 Missing SPDX license header on new file agents/src/voice/turn_config/CLAUDE.md
New file lacks the SPDX license header required by CONTRIBUTING.md and CLAUDE.md Code Conventions. Not covered by any REUSE.toml annotation either, which will fail the REUSE/SPDX CI check.
| # CLAUDE.md | |
| <!-- | |
| SPDX-FileCopyrightText: 2026 LiveKit, Inc. | |
| SPDX-License-Identifier: Apache-2.0 | |
| --> | |
| # CLAUDE.md |
Was this helpful? React with 👍 or 👎 to provide feedback.
| if (event === AgentSessionEventTypes.MetricsCollected) { | ||
| this._usageCollector.collect((eventData as MetricsCollectedEvent).metrics); | ||
| } |
There was a problem hiding this comment.
🔴 Double-collection of usage metrics causes all token/duration counts to be doubled
The new emit override in agent_session.ts:335-337 calls this._usageCollector.collect() on every MetricsCollected event. However, agent_activity.ts already calls this.agentSession._usageCollector.collect(ev) directly before emitting the same event at agent_activity.ts:732 and agent_activity.ts:159. Since ModelUsageCollector.collect() accumulates values (e.g., usage.inputTokens += metrics.promptTokens at agents/src/metrics/model_usage.ts:203), every metric is now added twice — once by the direct call and once by the emit intercept. This doubles all reported usage: token counts, audio durations, character counts, request counts, and session durations. The doubled data is exposed via session.usage, streamed to clients in client_events.ts:526-530, and used in session reports.
Prompt for agents
In agents/src/voice/agent_session.ts, the emit() override at lines 335-337 adds a second call to _usageCollector.collect() for MetricsCollected events, but agent_activity.ts already calls _usageCollector.collect() directly before emitting (at agent_activity.ts:732 and agent_activity.ts:159). Choose one approach:
Option A (recommended): Remove the direct _usageCollector.collect() calls in agent_activity.ts (lines 159 and 732), and let the emit override in agent_session.ts be the single collection point. This centralizes the logic.
Option B: Remove the new collect() call in the emit override (lines 335-337 of agent_session.ts), keeping the existing direct calls in agent_activity.ts as the sole collection point.
Was this helpful? React with 👍 or 👎 to provide feedback.
No description provided.