TanStack
OSS
ai
Overview
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
feat/gemini-realtime-chat
01f679c5 docs(realtime): use updateSession instead of removed setVADMode This PR replaced the useRealtimeChat `vadMode`/`setVADMode` return values with a generic `updateSession`. Update the realtime-chat doc snippet to destructure `updateSession` and switch VAD at runtime via `updateSession({ vadMode })`, so the (non-ignored) snippet type-checks again under kiira. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/gemini-realtime-chat
01f679c5 Merge 1d043081bed15c6d43221eaf6b7a3ed96037124d into 9b85804fe07147e860cc06ad7da25c426803eddb
by Nikas Belo...
N
Succeeded
feat/gemini-realtime-chat
9697a0ee fix(ai-gemini): resolve GeminiClientConfig from concrete module in adapter types (#919) The built .d.ts files imported `GeminiClientConfig` from '../utils.js', but the utils barrel builds to utils/index.js — no utils.js exists. Under consumers' skipLibCheck this silently resolved `GeminiClientConfig` to `any`, disabling client-config type-checking for every Gemini adapter and, for the one config with an own member (`GeminiVideoConfig.allowUrlFetch`), surfacing a spurious "`httpOptions` does not exist" excess-property error at call sites. Import the type from the concrete '../utils/client' module so the emitted declarations point at a file that exists and resolve to the real type. This is what caused @tanstack/ai-e2e:test:types to fail on main after #820 enabled type-checking of testing/**. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Failed
feat/gemini-realtime-chat
9697a0ee Merge c7c274d2ea6d6b4dfbb279ccecb3e38ac59b4dbb into d453647500e33a1412f84a2cc91d486a11265b9b
by Nikas Belo...
N
Succeeded
feat/gemini-realtime-chat
ea136ea2 fix(ai-client): include tool outputSchema in applySessionConfig Mirror the outputSchema through the session-update tool mapping the same way inputSchema is handled, so tool output schemas reach providers (e.g. Gemini's responseJsonSchema) on mid-session updateSession(), not just at connect. Addresses a CodeRabbit review comment on PR #405. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Failed
feat/gemini-realtime-chat
ea136ea2 Merge 919cab5b1ddf847011153dd1f3e7536321e0aaaa into 084c9e4a64215e352d14ce4f844c641fd5de8326
by Nikas Belo...
N
Succeeded
feat/gemini-realtime-chat
dfd122b4 fix(ai-gemini): address review findings on the realtime adapter Correctness / error surfacing: - token.ts: compute token expiry inside generateToken() so a reused adapter no longer mints tokens with a fixed (eventually past) expiry. - client.ts: surface an error instead of silently dropping messages when the socket isn't open; route JSON parse failures to onError instead of swallowing them; stop the WebSocket close handler from overwriting a surfaced error with a benign "idle"; detach socket handlers on disconnect so deliberate reconnects don't emit a spurious idle/disconnect. - adapter.ts: emit input transcripts with the real `finished` flag instead of always-final; tear down socket + audio graph if mic/worklet setup fails (e.g. denied mic) rather than leaking; route playback errors to onError. - utils.ts: clean up mic/AudioContext on failed start()/init(); drop the empty resume() catch; revoke worklet blob URLs. Types / correctness: - Fix tool double-conversion: build FunctionDeclarations once from the correct source (Zod tools vs serialized configs) and use genai v2's responseJsonSchema (the old outputJsonSchema was silently dropped). Removes the `as any` casts and the dead functionsMap. - event-emitter: replace Set<RealtimeEventHandler<any>> with a never-param store (contravariance) — no `any`, no non-null assertions. - ai-client updateSession: replace the `(this.options as any)` loop with explicit typed field assignment. - Flesh out GeminiRealtimeProviderOptions to match what's consumed (googleGrounding, proactiveAudio) and export it so it's a usable, non-dead type. - Rename the isSetupCompelete typo to isSetupComplete. Cleanup: - Remove leftover debug console.logs (incl. the full-setup-JSON dump); decode audio base64 once instead of twice. Tests: - Add focused tests for parseResponseMessages (server-message -> event mapping) and per-call token expiry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/gemini-realtime-chat
dfd122b4 Merge 16f6aa039a989a01c54b38ffc128c0f4693ec185 into 084c9e4a64215e352d14ce4f844c641fd5de8326
by Nikas Belo...
N
Previous page
Previous
Next
Next page