docs: add status sections, fix the React quick start, drop the broken CSS import - #69
docs: add status sections, fix the React quick start, drop the broken CSS import#69darrenapfel wants to merge 4 commits into
Conversation
|
Per review: the positioning sentences ("experimental" and the production-path steering toward @deepgram/sdk) are replaced with neutral factual status wording (pre-1.0, interfaces may change) pending the wording-alignment conversation — the full before/after set is documented, and either version can land once the positioning call is made. 🤖 Generated with Claude Code |
## Summary - Upgrade `@deepgram/agents` from `@deepgram/sdk` 5.1.0 to 5.9.0. - Preserve SDK 5.9 WebSocket ordering while normalizing binary `Blob` messages to the documented `ArrayBuffer` audio event. - Fix the immediate-Welcome race, make Agents the sole reconnect owner, replay runtime settings before buffered audio, and preserve inline conversation/function-call context. - Add current listen, latency, history, injection, and function-response types/events. - Pin TypeScript 5.9.3 to match API Extractor and correct stale VAD/configuration documentation. ## Compatibility - The public declaration diff is additive; no existing exported symbol or method was removed. - Existing lockfiles remain on 0.1.1. The intended release is 0.1.2 under the repository current pre-1.0 policy. - Consumers that directly co-install `@deepgram/sdk` 5.1 and exchange SDK-derived types with Agents must upgrade both together. `restaurants-web` was verified successfully with both packages on SDK 5.9; its exact 0.1.1 pin prevents an accidental update. - This supersedes the partial SDK 5.5 dependency update in #67 and overlaps README changes in #69. ## Validation - `bun install --frozen-lockfile` - `bun run typecheck` - `bun run build` - `bun run test`: 112 Agents tests and 29 Widget tests pass - Live production smoke on commit `d08b6df`: Welcome and Settings applied, one conversation message, 190 ordered audio frames / 182,400 bytes - Packed-stack checks: React, UI, and Widget typecheck/build/tests pass - Application checks: Voice Heist build passes; Voice-enabled Browser typecheck/build plus 27 tests pass; Restaurants typecheck plus 68 tests pass when Agents and direct SDK are upgraded together
… CSS import
- Status sections in the root README and both package READMEs state that
these packages are experimental and pre-1.0 and name @deepgram/sdk (the
official JavaScript SDK) as the supported production path for the Voice
Agent API. The package READMEs are what npmjs.com renders, so the label
now appears where installers actually look.
- The React quick start imported '@deepgram/ui/styles.css', which fails to
build against the published @deepgram/ui 0.1.4 (the file ships raw
Tailwind source; see the fix staged in the deepgram/ui repository). The
import is also unnecessary: compiled styles are embedded in the JS bundle
and injected automatically. The example now omits it and says so.
- The same example rendered AgentConversation with no children, which shows
nothing (the component renders only its children); it now uses the
useAgentConversation hook in a child component, matching the
@deepgram/ui package README.
- The development clone command used an SSH remote; it now uses HTTPS so it
works without a GitHub SSH key.
- The SDK package README now shows npm install first, with bun as the
alternative, since npm is the default for most readers.
Validated: the corrected React example is the same pattern built clean-room
with Vite 8 against packed @deepgram/ui on 2026-08-24; the widget quick
start ('npm install @deepgram/agents-widget', import { init }) was built
clean-room the same day.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Removes the positioning claims from the Status sections (the experimental label where it editorializes, and the steering of production integrations to @deepgram/sdk) while keeping the factual parts: pre-1.0, interfaces may change, release cadence, and the sibling-package map. Staged as a variant for the wording-alignment conversation Corey Weathers asked for; not pushed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
f00d8b8 to
dd47e79
Compare
|
Fixed the fork-only CDN check in Current checks: |
|
@darrenapfel - re-reviewed against current Verdict: request changes Title: [B1] React quick start omits the Summary: Expected: Copying the quick start produces fully styled components using the automatically injected CSS. Observed: Variables including Recommended fix: Wrap the controls in the styling scope: <AgentProvider config={config}>
<div data-dg-agent>
<AgentStartButton />
<Conversation />
<AgentTextInput />
</div>
</AgentProvider>Title: [B2] Four React examples still render an empty transcript Summary: The PR correctly identifies that Expected: Every React example with a conversation panel renders current conversation entries. Observed: Recommended fix: In all four examples, import Title: [B3] Package-status positioning has no agreed final version Summary: The PR body says the status sections call the packages "experimental" and steer production users to Expected: The checked-in status copy and PR description reflect one approved positioning decision. Observed: The files contain neutral pre-1.0 wording, the PR body describes stronger experimental/production-path wording, and the latest author note says the decision is still pending. Recommended fix: Confirm the intended status framing with Corey, apply it consistently to all three status sections, and update the PR body to describe the actual wording and changed CI scope. Title: [S1] Contributor setup still uses the SSH clone path Summary: The root development command moves to HTTPS so developers without a configured GitHub SSH key can clone the repo, but the contribution guide retains the SSH URL. Expected: Either setup path can clone the public repository without an SSH key. Observed: Recommended fix: Change it to Title: [S2] Status copy describes the whole package family as browser components Summary: The family includes a core session SDK, React hooks/provider, UI components, and a widget. Calling all of them "embeddable browser components" understates the non-component packages. Expected: The status paragraph accurately names the distinct developer surfaces. Observed: Recommended fix: Use: "The packages in this family build on the Deepgram Voice Agent API to provide browser SDKs, React hooks and UI components, and an embeddable widget." Verified: Full build, typecheck, and all 144 tests pass. The clean-room React sample compiles against published |
…amples, HTTPS clone in the contribution guide Review follow-up on deepgram#69. - README React quick start: wrap the components in a `data-dg-agent` element. The styles that @deepgram/ui injects, including its theme variables and dark-mode behavior, are scoped to that attribute, and AgentProvider does not render it. The note under the example now says so. - README status paragraph: name the distinct surfaces (browser SDKs, React hooks and UI components, an embeddable widget) instead of "embeddable browser components". - Examples 10 to 13: import useAgentConversation and AgentMessage, render one AgentMessage per conversation entry through a Conversation component, and update the displayed code to match the executable example. AgentConversation renders only its children, so the previous childless element showed no transcript. - .github/CONTRIBUTING.md: clone all three sibling repositories over HTTPS so the setup works without a GitHub SSH key. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
@GregHolmes thanks for the re-review. Pushed 5273ad4 with the following. B1. The React quick start now wraps the components in a B2. Examples 10, 11, 12 and 13 now import B3. I did not change the status wording. The neutral pre-1.0 text stays in all three status sections until Corey and I settle the positioning, and I will apply whatever we agree to all three at once. I have updated the PR description so it describes the wording that is actually in the files and the fork guard you added to the CDN dry-run workflow. S1. The contribution guide now clones all three sibling repositories over HTTPS. S2. Applied your sentence for the status paragraph as written. Build, typecheck and the 144 tests pass locally on the new head. |
What this fixes. Four documentation problems. First, the root README's React quick start imported
@deepgram/ui/styles.css, which fails to build against the published@deepgram/ui0.1.4 because that file ships raw Tailwind source rather than compiled CSS (a fix is proposed separately in the deepgram/ui repository). The import is also unnecessary:@deepgram/uiembeds its compiled styles in the JavaScript bundle and injects them automatically. Second, the same quick start renderedAgentConversationwith no children and placed the components outside thedata-dg-agentelement that scopes the injected styles, so a copied example showed no transcript and no theming. The four React examples (10 to 13) had the same emptyAgentConversation. Third, none of the READMEs stated the packages' maturity. Fourth, the development and contribution instructions cloned over SSH, which fails without a GitHub SSH key.The change.
<div data-dg-agent>, renders the conversation through theuseAgentConversationhook in a child component, and says under the example that the injected styles apply only inside an element carryingdata-dg-agent.useAgentConversationandAgentMessage, render oneAgentMessageper conversation entry, and show the same code they execute.packages/sdk,packages/widget, the files npmjs.com renders) carry neutral factual wording: the packages are pre-1.0, interfaces may change between minor versions, and releases follow the libraries rather than a fixed schedule. The root README's status paragraph names the surfaces the family provides (browser SDKs, React hooks and UI components, an embeddable widget). An earlier revision called the packages experimental and pointed production users to@deepgram/sdk; that wording was withdrawn pending a positioning decision with Corey, and whatever is agreed will be applied to all three status sections together..github/CONTRIBUTING.mduse HTTPS. The core-SDK package README showsnpm installfirst with bun as the alternative..github/workflows/cdn-dryrun.yml(Greg Holmes,eb7f1ed): the credentialed CDN dry-run job skips on pull requests from forks, since GitHub withholds repository secrets from them. Same-repository pull requests and manual runs still perform the dry-run. Build, typecheck and tests run unchanged.Validation. Build, typecheck and all 144 tests pass on the current head. The examples app builds clean with Vite. The corrected React quick start is the pattern that built in a clean-room Vite 8 project on 2026-08-24, and the
[data-dg-agent]scoping of the message variables was confirmed against the published@deepgram/ui@0.1.4bundle. The widget quick start (npm install @deepgram/agents-widget,import { init }) was built clean-room the same day.Provenance. This change was written by an artificial-intelligence coding agent operating on a local clone, at the direction of Darren Apfel, and was validated as described above.
🤖 Generated with Claude Code