Skip to content

Move the Voice Samples to @sentdm/voice-client 0.2.0 and /v3/voice - #2

Merged
betimd merged 1 commit into
mainfrom
feat/voice-client-0.2
Oct 23, 2026
Merged

betimd merged 1 commit into
mainfrom
feat/voice-client-0.2

Conversation

@betimd

@betimd betimd commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

Move the Voice Samples to @sentdm/voice-client 0.2.0 and /v3/voice

Changes / Fixes / Features included

This PR includes changes / features as below:

  • All four samples move from the deprecated @sentdm/voice 0.1.x to @sentdm/voice-client 0.2.0 (plus @sentdm/voice-client-react in the feature tour). They also move to the /v3/voice API that is in prod since services #2441:
    • tokens are minted at /v3/voice/tokens, as opaque vt_… strings the SDK exchanges itself;
    • calls are at /v3/voice/calls*;
    • the service worker ships as @sentdm/voice-client/sw.js.
  • voice-feature-tour-sent:
    • the SDK is built with the configured API baseURL;
    • every /v3/calls path in the API console, the proxy allowlist and the call screens is updated;
    • the telemetry relay is now an SDK relay (app/api/sdk-relay, option "SDK requests to Sent"). 0.2.0 drops telemetry.baseURL, so the token exchange goes through the same relay. It forwards anything under v3/voice/, with a 15 s timeout, and records only telemetry batches, never the exchange.
  • chat-voice-agent-openai-sent: @sentdm/sentdm 0.44 → 0.46 for voice.tokens.create.
  • inbound and outbound agents: the token path, imports and docs are updated, and dist/ and THIRD_PARTY_NOTICES.md are rebuilt. 0.2.0 bundles its provider, so its own notices file is appended.
  • Temporary Next.js workaround: 0.2.0's bundled provider keeps AMD define([...]) branches that Turbopack fails on (114 "Can't resolve './core'"). Both Next.js samples carry a small loader that disables them, marked for removal once @sentdm/voice-client 0.2.1 is installed. The fix is Drop the bundled provider's AMD branches, which fail Next.js builds with Turbopack sent-dm-voice-typescript#12.

Part of EPIC-4426 (Sent Voice): https://github.com/sentdm/sent-dm-agentic-org/blob/main/_pm/epics/EPIC-4426-sent-voice.md

How to test?

In order to test changes included in the PR follow steps as below:

  • In each sample, run a frozen install, then check, test, build and (inbound/outbound) test:browser and test:dashboard. All pass, and the tree is clean after the builds
  • Run the feature tour with a dev API key and open /phone. Registration should go through the SDK relay, and the Telemetry tab should list batches but not the token exchange
  • Place a call from the feature tour and check it appears under Calls, which reads /v3/voice/calls
  • Not run here: nothing was tested against the live API or with real calls

@sentdm/voice is deprecated. The samples now use @sentdm/voice-client,
and the feature tour its React bindings from @sentdm/voice-client-react.
Voice tokens are minted with POST /v3/voice/tokens, and the call
commands live under /v3/voice/calls.

- Feature tour: the SDK sends its own requests to Sent, the exchange of
  the opaque vt_ token and the telemetry batches, under its baseURL. By
  default that is the app's SDK relay at /api/sdk-relay, which replaces
  the telemetry relay. It forwards any SDK request under /v3/voice/ to
  the configured API base URL and records only the telemetry batches.
  The service worker is copied from @sentdm/voice-client/sw.js.
- Inbound and outbound agents: rebuilt dist/. Their third-party notices
  now carry the notices voice-client ships for the code it bundles.
- Chat + voice agent: @sentdm/sentdm 0.46.0, whose voice.tokens.create
  replaces channels.voice.createToken.
- Both Next.js samples: a temporary Turbopack loader turns off the AMD
  branches in the voice client's bundled calling library, which name
  files the package does not ship and fail the build. It goes once
  @sentdm/voice-client 0.2.1 is installed.
@betimd
betimd merged commit f6cecc8 into main Oct 23, 2026
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant