Hi LiveKit team,
I’m currently building an agent using the Node.js/TypeScript SDK (@livekit/agents).
I saw that the Python SDK includes useful Prebuilt Tasks (GetNameTask, GetDOBTask, GetPhoneNumberTask, GetEmailTask, etc.) under livekit.agents.beta.workflows. However, I haven’t seen equivalent built-in tasks available in the Node.js/TypeScript SDK yet.
Could you share if bringing Prebuilt Tasks/Workflows to the Node.js / TypeScript SDK is on your roadmap, and if so, what the expected timeline looks like for a stable release?
I’m evaluating whether I should wait for an official SDK implementation or build custom extraction tasks for TypeScript in the meantime.
Thanks!
@Hemanth_Kumar they are already written, just not on main yet.
All of them exist on the brian/expressive-mode branch: name.ts, dob.ts, email_address.ts, phone_number.ts, address.ts, credit_card.ts and dtmf_inputs.ts. They were ported from Python in #2007 on 9 July and tidied up in #2016, but both of those merged into that feature branch rather than into main.
What is holding them is #1982, which merges brian/expressive-mode into main. It is open and not a draft, though it was last updated on 10 July. On main today agents/src/workflows/ still only has task_group, utils and warm_transfer.
Worth reading the implementations on that branch while you decide, since they are the same shape as the Python ones. Timeline is a LiveKit answer though, I can only see what is in the repo.
Thanks so much for digging into this, @abidullahcs.uk — really helpful pointer.
Confirmed on my end: the brian/expressive-mode branch does have all the task files (name.ts, dob.ts, phone_number.ts, email_address.ts, address.ts, credit_card.ts, dtmf_inputs.ts) under agents/src/workflows/, and #1982 is still open with no recent activity since mid-July.
Since this is a monorepo and #1982 is a large, active PR (expressiveness mode, 36 packages), I’m hesitant to point package.json straight at the branch head — it could get force-pushed/rebased and break silently on our next install. For now we’re planning to pin to a specific commit SHA and vendor just the task files we need into our own repo, rather than depend on the live branch.
Livekit team — is there any signal on whether #1982 is actively being worked toward merge, or should we treat the prebuilt tasks as “reference implementation only” for the foreseeable future? Trying to decide whether it’s worth waiting vs. committing to a vendored copy long-term.
Thanks again!
@Hemanth_Kumar one thing to check before you vendor, since only three of the seven lift out cleanly.
name.ts, dob.ts and phone_number.ts import nothing from the branch’s own workflows/utils.ts ortask_group.ts, so those should move across on their own. The other four do: email_address.ts and address.ts both pull resolveWorkflowInstructions from ./utils.js, dtmf_inputs.ts pulls formatDtmf from the same file, and credit_card.ts imports from ./task_group.js. On that branch workflows/utils.ts differs from main by 73 lines and task_group.ts by 6, so those helpers would need to come with them.
Branch head is f4c10c9, dated 14 July, if that is useful for the pin.
Let me check with the agents team on the status.
I see expressive mode for Agents JS was merged as part of expressive mode by tinalenguyen · Pull Request #2267 · livekit/agents-js · GitHub, so I’m unsure what the status of the brian/expressive-mode is, and what the plans to merge it are, since(as was said in this thread) there are merge conflicts.