TanStack
OSS
ai
Sign in / Sign up
Open main menu
ai
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
0ad99b7c ci: apply automated fixes
by autofix-ci...
a
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
0ad99b7c Merge 308dcf4491df32d1630d02adf32ff3f936bcb24c into ff338557d9ea54c960617f52c89c488140d60f85
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
d49cf9a0 test(e2e): cover elevenlabs tts, transcription, and music; drop local aimock override Layers onto 527336c (sfx coverage) to close the remaining elevenlabs e2e gaps and remove the dependency on an unpublished local aimock checkout. - Switch to published `@copilotkit/aimock@^1.18.0` and drop the `link:../../CopilotKit/aimock` override so the suite is portable. - Mount synthetic handlers for `/v1/text-to-speech/{voice_id}` and `/v1/speech-to-text` in `global-setup.ts` (aimock 1.18 still has no native handlers for these), following the existing grok pattern. Scribe response uses snake_case + `logprob` to satisfy the SDK's runtime validator. - Add `elevenlabs` to the `tts` + `transcription` matrix entries; the existing specs auto-pick it up via `providersFor()`. - Default voice for elevenlabs in `TTSUI` so the adapter's required voice param is satisfied without spec edits. - Add `audio-gen` music fixture + spec covering fetcher and sse modes; the spec scopes to elevenlabs since gemini Lyria fixtures aren't wired yet. - Migrate `llmock-server.ts` record config to the 1.17+ `record: RecordConfig` shape and add `elevenlabs` to the upstream-providers map for music recording via `ELEVENLABS_API_KEY`. Fixes a latent bug from the pre-1.17 API where openai/anthropic/gemini recordings would 502 on "Invalid upstream URL". - README §2a documents the music recording flow. - Routes regen + new `api.audio.stream.ts` for HTTP-stream parity. Net coverage: 10 elevenlabs tests (3 tts + 3 transcription + 2 audio-gen + 2 sound-effects). Full e2e suite green at 166/166. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
d49cf9a0 Merge 4646eafe966751af9f7897f153777959651a35b0 into ff338557d9ea54c960617f52c89c488140d60f85
by Tom Beckenham
T
Failed
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
232a6cdb test(e2e): add elevenlabs music + sound-effects coverage via aimock PR Adds end-to-end tests for the new ElevenLabs adapters by exercising the unpublished aimock PR's `/v1/sound-generation` and `/v1/music/*` mocks. - Add `elevenlabs` provider (media-only) and `sound-effects` feature to the e2e test matrix - Wire `createElevenLabsAudio('music_v1' | 'eleven_text_to_sound_v2')` through `createAudioAdapter`, dispatched by the new `feature` parameter - Reuse `AudioGenUI` for both audio-gen and sound-effects features - Add fixture for sound-effects with `[sfx]` prefix - Add `sound-effects.spec.ts` covering fetcher + sse modes - Extend `ElevenLabsClientConfig` with `headers` so e2e tests can multiplex aimock fixtures via the `X-Test-Id` header The pnpm override pinning `@copilotkit/aimock` to a local path is included so the suite can be exercised against the unpublished aimock PR. It must be removed before this branch merges. Cherry-picked from e1dea50b on the elevenlabs-audio-adapters branch and adapted to the simplified `createElevenLabsAudio` API on this branch (was `createElevenLabsMusic` / `createElevenLabsSoundEffects`). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Failed
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
232a6cdb Merge 527336ca4530bb2e1a6409923c064bc9ae7d8da0 into ff338557d9ea54c960617f52c89c488140d60f85
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
3e9711bc docs: regenerate API documentation (#507) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
by github-act...
g
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
3e9711bc Merge 30bf8c0d1dc651c5a250d5388b4eaddadb371883 into ff338557d9ea54c960617f52c89c488140d60f85
by Tom Beckenham
T
Failed
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
5389df21 docs: regenerate API documentation (#507) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
by github-act...
g
Failed
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
5389df21 docs: regenerate API documentation (#507) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
by github-act...
g
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
67650256 feat(ai-elevenlabs): env fallback for agent id, language override in realtime example Mirror the `ELEVENLABS_API_KEY` pattern for agent ids: add `getElevenLabsAgentIdFromEnv()` and make `agentId` optional on `ElevenLabsRealtimeTokenOptions`. `elevenlabsRealtimeToken()` now resolves `options.agentId ?? ELEVENLABS_AGENT_ID` at call time. Simplify the ts-react-chat example: drop the manual `process.env` dance and the Agent ID text input from the realtime page — the adapter handles the env fallback now. Replace the input with a Language selector that threads `overrides.language` through to the session, so users can switch off the agent's dashboard default (common need when the agent is configured for one language but a caller wants another). Also broaden `.env.example` in ts-react-chat to cover every provider the example actually reads (Anthropic, Gemini, xAI, Groq, OpenRouter, fal) — previously only OpenAI and ElevenLabs were listed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
67650256 Merge 28ccc0d1ae7c62c83166829916bff02440a7f78f into dc71c721a01d3b5d73d09e36fc2d87873b206b1b
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
b4dcdf59 ci: apply automated fixes
by autofix-ci...
a
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
b4dcdf59 Merge 3b588edf767b2fe0f5cc0f726a2e34f748c39a12 into dc71c721a01d3b5d73d09e36fc2d87873b206b1b
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
afeff90e refactor(ai-elevenlabs): tighten model id types, alias output format to SDK Drop `(string & {})` widening from the ElevenLabs model id types so callers are blocked from passing unknown models — the pinned lists are now the source of truth, kept in sync via the automated SDK update pipeline. Alias `ElevenLabsOutputFormat` to the SDK's `AllowedOutputFormats` so that a plain `@elevenlabs/elevenlabs-js` version bump carries the format list through with no manual regeneration. Removes drift (`mp3_24000_48`, `pcm_32000` were already missing) and lets us drop the `as never` casts at the SDK boundary. Also promote `isElevenLabsMusicModel` / `isElevenLabsSoundEffectsModel` to type predicates so the dispatch in `runMusic` / `runSoundEffects` is visibly narrowed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
afeff90e refactor(ai-elevenlabs): tighten model id types, alias output format to SDK Drop `(string & {})` widening from the ElevenLabs model id types so callers are blocked from passing unknown models — the pinned lists are now the source of truth, kept in sync via the automated SDK update pipeline. Alias `ElevenLabsOutputFormat` to the SDK's `AllowedOutputFormats` so that a plain `@elevenlabs/elevenlabs-js` version bump carries the format list through with no manual regeneration. Removes drift (`mp3_24000_48`, `pcm_32000` were already missing) and lets us drop the `as never` casts at the SDK boundary. Also promote `isElevenLabsMusicModel` / `isElevenLabsSoundEffectsModel` to type predicates so the dispatch in `runMusic` / `runSoundEffects` is visibly narrowed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
28c76145 fix(#485): unblock CI by mirroring ssr.external to ts-react-chat and descoping elevenlabs e2e Two CI failures on PR #504: 1. `ts-react-chat:build` hit the same `getHeader` SSR collision as the e2e app — now that the example wires ElevenLabs into the server-side audio-adapter factories, its SSR bundle faces the same SDK/h3 symbol clash. Same fix (`ssr.external` + nitro `externals.external`) applied to `examples/ts-react-chat/vite.config.ts`. 2. `elevenlabs -- tts` and `elevenlabs -- transcription` e2e tests failed because aimock doesn't yet stub `api.elevenlabs.io` routes — the real SDK HTTP calls had no mock target and errored out. Removed `elevenlabs` from the `tts` + `transcription` support matrix sets in `testing/e2e/{tests/test-matrix.ts,src/lib/feature-support.ts}` for now; the factories stay in `media-providers.ts` so they light up automatically once aimock ships coverage. Tracked as part of the nitro/aimock follow-ups. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
28c76145 Merge c3b18f949d028d50a8e4e1bc48f165893b3a2ac1 into dc71c721a01d3b5d73d09e36fc2d87873b206b1b
by Tom Beckenham
T
Succeeded
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
e017b41a fix(e2e): keep @elevenlabs/elevenlabs-js external in the SSR bundle The SDK defines a top-level `function getHeader(…)` in `core/fetcher/getHeader.js`, which collides with h3's auto-imported `getHeader` once vite/nitro inline both into the same server chunk — esbuild then rejects the duplicate symbol and the e2e build fails with `The symbol "getHeader" has already been declared`. Marking the SDK as a vite SSR + nitro external keeps it resolved at runtime on the server side, which is what we want anyway for a server-only REST client. Also adds a local `pnpm dev:chat` convenience script to run the ts-react-chat example without remembering the filter flag. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Failed
485-feat-ai-elevenlabs-tts-music-sfx-transcription-adapters-via-official-sdk
e017b41a Merge de7c30233db4ff93abc874fa5f924ad62ca13ade into dc71c721a01d3b5d73d09e36fc2d87873b206b1b
by Tom Beckenham
T
Previous page
Previous
Next
Next page