I noticed that endpointing.mode in the Node.js SDK type allows both “fixed” and “dynamic”, but the docs seem to indicate that dynamic endpointing is Python-only and that Node.js should use fixed endpointing.
A few questions:
Is endpointing.mode: “dynamic” actually supported in the Node.js Agents SDK?
If it is accepted by the type system, does it currently have any runtime effect in Node.js?
When using MultilingualModel() for LiveKit turn detection, is dynamic endpointing recommended, or should Node.js users stick with fixed minDelay / maxDelay?
@Robbe, In the meantime, Team is going to respond back, the dynamic endpointing landed in agents-js on 2026-05-14 [livekit/agents-js@10236d9, PR #1475] and shipped in @livekit/agents 1.4.3 (May 18) and 1.4.4 (May 21) [npm: @livekit/agents]. The createEndpointing() factory in agents/src/voice/turn_config/endpointing.ts branches on mode === "dynamic" and returns a fully-implemented DynamicEndpointing class, so the TypeScript type isn’t decorative: it has real runtime effect in Node.
The tuning docs page still presents dynamic as Python-specific (the Node.js options table omits the mode parameter entirely) [Turn-taking tuning | LiveKit Documentation], which is the docs lagging the source after the May 14 merge rather than a Node limitation.
MultilingualModel + dynamic endpointing isn’t explicitly addressed in either the docs or the source comments, but the turn detector and endpointing algorithm are separate components, so they compose. The docs’ “fixed” starting config reads more like a safe default than an incompatibility statement.