Adopt @livekit/agents 1.5.0 (pre-release)#54
Open
toubatbrian wants to merge 5 commits into
Open
Conversation
Bump @livekit/agents to the 0.0.0-next-20260624041820 pre-release (next
dist-tag) to validate against the upcoming 1.5.0 release. Pinned exactly
for reproducible validation; to be repinned to stable 1.5.0 on release.
Update the commented-out tools example in agent.ts to the 1.5.0 flat-array
tool syntax with a required `name` (llm.tool({ name, ... }) in a `tools: [...]`
array), and note that voice.Agent.create({...}) is now available as an
alternative to subclassing voice.Agent.
Co-authored-by: Cursor <cursoragent@cursor.com>
check-template-files fails when pnpm-lock.yaml is tracked, and these files (absent on main) altered CI's install so prettier wasn't resolved. Untrack them to align with main. Co-authored-by: Cursor <cursoragent@cursor.com>
u9g
reviewed
Jun 24, 2026
| super({ | ||
| instructions: dedent` | ||
| // Build a custom voice AI assistant with the functional `Agent.create` API | ||
| // (introduced in @livekit/agents 1.5.0). You can also subclass `voice.Agent`. |
Contributor
There was a problem hiding this comment.
I don't think it's a good idea to say you can also subclass voice.Agent, since they should be equally powerful(?)
Collaborator
Author
There was a problem hiding this comment.
Both are equally powerful just differ in syntax
| // tools keep working across agent handoffs. Add the toolset to this `tools` array like any | ||
| // other tool: | ||
| // | ||
| // let supportClient: SupportClient | undefined; |
Contributor
There was a problem hiding this comment.
maybe we should actually have a working example here? what's a simple backend service that we could connect to that requires a long-running connection that we could showcase?
rektdeckard
reviewed
Jun 24, 2026
rektdeckard
left a comment
Contributor
There was a problem hiding this comment.
I think we should wait for stable release to update our public templates, but otherwise this looks good.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adopts the upcoming @livekit/agents 1.5.0 by pinning the published pre-release and adapting
src/to the 1.5.0 API.Version bump (
package.json)dependencies."@livekit/agents":^1.4.7→ exact0.0.0-next-20260624041820(thenextdist-tag pre-release).@livekit/plugins-ai-coustics(^0.2.14) is intentionally unchanged — it is a separately-versioned noise-cancellation package, not part of the agents-js 1.5.0 release. There are no@livekit/agents-plugin-*deps in this starter (it is fully inference-based).src/adaptationssrc/agent.ts: updated the commented-out tools example from the old object-map syntax (tools: { getWeather: llm.tool({...}) }) to the 1.5.0 flat-array syntax with a requiredname:voice.Agent.create({ ... })is now available as an alternative to subclassingvoice.Agent(the class-based form is kept and remains valid).src/main.tsandsrc/agent.test.ts: no changes required — the session setup (inference.STT/TTS/TurnDetector,turnHandling,voice.AgentSession,session.start,generateReply, ai-coustics noise cancellation) and the eval test API (session.run,result.expect.nextEvent().isMessage().judge(),noMoreEvents()) all type-check and pass unchanged against the pre-release.Validation
All run against
0.0.0-next-20260624041820:pnpm install— ✅ resolves and installs the exact pre-releasepnpm typecheck— ✅ passpnpm build— ✅ pass (dist/main.js)pnpm lint— ✅ passpnpm test(vitest, 3 eval tests via the LiveKit inference gateway) — ✅ 3 passedagents-cli smoke test
Ran the worker on the pre-release (
node dist/main.js dev→registered worker,version: 0.0.0-next-20260624041820) and drove it in text mode withagents-cli:new --agent my-agent --mode text→ session created.--resume --until 'conversation_item_added(.item.message.role="ASSISTANT")') → outcomeok, exit 0, no error events. Greeting: "Hi there. How can I help you today?"--say "hello") → outcomeok, exit 0, no error events. Reply: "Hello. What can I help you with today?"No
errorevents, agent greets and replies correctly, exit code 0 — the starter runs cleanly on the 1.5.0 pre-release.