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/improve-usage
9b7c8d7b docs: regenerate API documentation (#674) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
by github-act...
g
Succeeded
feat/improve-usage
9b7c8d7b Merge 34426634453a0f604ad240b2f672369638adab92 into f008c5fe2158261503e3a48c676b3d39526105f0
by Alem Tuzlak
A
Succeeded
feat/improve-usage
b64b95bd fix(usage): serializable TokenUsage details default; example + flaky e2e fixes Narrow TokenUsage's provider-details default so it stays assignable across JSON-serialization boundaries (TanStack Start server-fn return types model serializable values as `{}` and reject `unknown`, which permits null/undefined). - Add exported `ProviderUsageDetails = Record<string, NonNullable<unknown>>` in @tanstack/ai-event-client and use it as the `TokenUsage` default generic; re-export from @tanstack/ai and align `buildBaseUsage`'s default. Adapters with explicit provider-detail generics are unaffected. Fixes the example's server-fn return types collapsing to `Promise<unknown>`. - examples/ts-react-chat: remove duplicate `TranscriptionGenerateInput` import that crashed the route generator (and the dev server). - e2e: raise agentic-structured-stream per-test + assertion timeouts to absorb the structured-output React-commit lag under parallel-worker dev-server contention (data was correct; only the final commit lagged). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/improve-usage
b64b95bd Merge a2c58bc12978aeffbb921fbb1e67dcc32c032b2d into 8036b5054330a180023c6e3225b8d2735a43a919
by Alem Tuzlak
A
Succeeded
feat/improve-usage
af32a087 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/improve-usage
af32a087 Merge a4bcfe72e1a0a3248cdab418f4e9d875c210c3b4 into 8036b5054330a180023c6e3225b8d2735a43a919
by Alem Tuzlak
A
Succeeded
feat/improve-usage
1efbe4e0 refactor(usage): single-source TokenUsage, generic provider details, undefined-on-absent - Define canonical TokenUsage/PromptTokensDetails/CompletionTokensDetails/ UsageCostBreakdown once in the leaf @tanstack/ai-event-client and re-export from @tanstack/ai (no dependency cycle, no drift; unifies the cost fields) - Make TokenUsage generic over its provider details bag (TokenUsage<TProviderDetails = Record<string, unknown>>) and buildBaseUsage generic; specialize the Anthropic/Gemini/Ollama/OpenRouter builders and drop the [key: string]: unknown index signatures (interfaces -> type aliases) - Usage builders return undefined for absent provider usage instead of fabricating zeroed totals; guard the Anthropic structured-output path so it can no longer throw or report 0/0/0 - Add E2E coverage that detailed usage breakdowns (cached/reasoning tokens) reach RUN_FINISHED.usage end-to-end via the shared openai-base chat path Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/improve-usage
1efbe4e0 Merge 1e401c5f0922c2f366e8ec2fda84701f596a9571 into 8036b5054330a180023c6e3225b8d2735a43a919
by Alem Tuzlak
A
Succeeded
feat/improve-usage
7fb4be50 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/improve-usage
7fb4be50 Merge 29fd1ba362131ec7de683bac5d1051a44fb1b83e into 8036b5054330a180023c6e3225b8d2735a43a919
by Alem Tuzlak
A
Succeeded
feat/improve-usage
b20705aa fix(usage): close cross-adapter usage-extraction parity gaps Audit of token-usage extraction surfaced three real gaps; fix all three: - Gemini dropped `DOCUMENT` modality token counts (PDF inputs) because `flattenModalityTokenCounts` had no DOCUMENT case. Add a `documentTokens` field to `PromptTokensDetails`/`CompletionTokensDetails` (core + event-client) and flatten DOCUMENT into it. - OpenAI-compatible chat (OpenAI/Grok/Groq via openai-base) dropped `accepted_/rejected_prediction_tokens` while OpenRouter captured them. Surface them under `providerUsageDetails` to match (rejected tokens are billed). - Grok transcription (xAI `/v1/stt`, duration-billed, no token usage) reported no usage at all. Surface `durationSeconds` from the response duration, mirroring the OpenAI whisper-1 path. Docs + tests updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/improve-usage
b20705aa Merge 869f5213087ebe924f56cde79403c17049a11799 into 8036b5054330a180023c6e3225b8d2735a43a919
by Alem Tuzlak
A
Succeeded
feat/improve-usage
7c262046 Merge a5c22425e00f8b6cb6cb1ce3cbb74a06415e11be into 548e113627ca373256cce5d549a9938f39b81fe9
by Alem Tuzlak
A
Succeeded
feat/improve-usage
7c262046 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/improve-usage
2cc4b6ad ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/improve-usage
2cc4b6ad Merge b955acbbf879111f629374ba1d4d2c4fec1c6cba into 548e113627ca373256cce5d549a9938f39b81fe9
by Alem Tuzlak
A
Succeeded
feat/improve-usage
78170080 feat(usage): unify TokenUsage across all modalities and fix usage builder bugs Make TokenUsage the single canonical usage type for image, audio, and TTS results (previously a minimal inputTokens/outputTokens shape) so every modality reports the same per-modality breakdowns as chat/transcription. - types: ImageGenerationResult.usage, AudioGenerationResult.usage, and new TTSResult.usage are now TokenUsage; ai-event-client ImageUsage is a deprecated alias and image/audio usage events carry TokenUsage. - openai-base: add shared buildImagesUsage (OpenAI + Grok image) surfacing the text/image input token breakdown. - gemini: image/audio/tts now surface usageMetadata via buildGeminiUsage (previously dropped); openrouter image surfaces chat usage via buildOpenRouterUsage. - activities: emit audio:usage / speech:usage when the adapter reports usage. - fixes: ollama no longer produces NaN totals or drops duration-only usage; anthropic defaults output_tokens and no longer emits empty detail objects; openai gpt-4o transcription reads input_token_details and never falls back to duration billing when usage is absent. - tests + docs updated for the new shape.
by Alem Tuzlak
A
Succeeded
feat/improve-usage
78170080 Merge f892ecc055a6c974c54a680693c3d468881cb2ed into 548e113627ca373256cce5d549a9938f39b81fe9
by Alem Tuzlak
A
Succeeded
feat/improve-usage
033f1daf Merge e0538512af1f5747eaaad82d41a7c78ab2280631 into a40f88847f382244d752b745402f00aa59e75072
by Alem Tuzlak
A
Succeeded
feat/improve-usage
033f1daf chore: sync model metadata from OpenRouter (#630) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
by github-act...
g
Previous page
Previous
Next
Next page