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
feat/ag-ui-client-compliance
f7700ec9 fix(ai): infer Zod outputSchema instead of collapsing to unknown (#563) Zod's core $ZodType['~standard'] is typed as StandardSchemaV1.Props (no jsonSchema converter), so chat({ outputSchema: zodSchema }) fell through to unknown and forced callers to cast or re-parse. Widen SchemaInput + InferSchemaType to also match StandardSchemaV1 so the inference recovers; runtime path is unchanged. Add an actionable runtime error for validator-only schemas (no ~standard.jsonSchema) that the type widening now lets through. Closes #562 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/ag-ui-client-compliance
f7700ec9 fix(ai): infer Zod outputSchema instead of collapsing to unknown (#563) Zod's core $ZodType['~standard'] is typed as StandardSchemaV1.Props (no jsonSchema converter), so chat({ outputSchema: zodSchema }) fell through to unknown and forced callers to cast or re-parse. Widen SchemaInput + InferSchemaType to also match StandardSchemaV1 so the inference recovers; runtime path is unchanged. Add an actionable runtime error for validator-only schemas (no ~standard.jsonSchema) that the type widening now lets through. Closes #562 Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
by Tom Beckenham
T
Succeeded
feat/ag-ui-client-compliance
3bc952f9 fix(ci): exclude codemod test fixtures from knip's unused-files check Knip statically analyzes imports to find unused files, but the codemod fixtures are loaded at test time via readFileSync(...) — knip can't see those reads and was flagging all 14 fixtures as unused. Add codemods/**/__testfixtures__/** to knip's ignore list.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
3bc952f9 fix(ci): exclude codemod test fixtures from knip's unused-files check Knip statically analyzes imports to find unused files, but the codemod fixtures are loaded at test time via readFileSync(...) — knip can't see those reads and was flagging all 14 fixtures as unused. Add codemods/**/__testfixtures__/** to knip's ignore list.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
9074ccd2 ci: apply automated fixes
by autofix-ci...
a
Failed
feat/ag-ui-client-compliance
9074ccd2 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/ag-ui-client-compliance
d582a874 Merge 3c451865de9d98d3e8aa3272a8826cc41ccfcdb6 into 7205937bc94b7ce20093f9d8de1eaa9df29800c9
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
d582a874 fix(examples/ts-react-chat): use array form for serverTools in mergeAgentTools call mergeAgentTools changed from `Record<string, Tool>` to `Array<Tool>` in the round-1 CR pass, but this example was still constructing a record via Object.fromEntries(...). Pass the array directly and drop the now- unused `Tool` type import.
by Alem Tuzlak
A
Failed
feat/ag-ui-client-compliance
8b28458e ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/ag-ui-client-compliance
8b28458e ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/ag-ui-client-compliance
385ded10 fix: address CodeRabbit feedback on AG-UI compliance PR Critical - Codemod fixture for `chat({ conversationId })`: read from `body.threadId` (the AG-UI top-level wire field) instead of the now-undefined `body.forwardedProps?.conversationId`. Document the value-source limitation in the codemod README. Major - chat-client.ts: convert each client tool's `inputSchema` to JSON Schema via `convertSchemaToJsonSchema` before sending on the wire. `inputSchema` is a Standard Schema instance (Zod, ArkType, Valibot, etc.); foreign AG-UI servers expect JSON Schema in `RunAgentInput.tools[].parameters`. Mirrors the existing realtime- client.ts pattern. - Codemod: narrow the Svelte `updateBody` rename gate from "any import from `@tanstack/ai-svelte`" to "imports `createChat`". A file that imports types or other helpers from the package but uses an unrelated `.updateBody(...)` from elsewhere will no longer be falsely rewritten. Minor - ESLint sort-imports: alphabetize named imports in `transform.test.ts` and `chat-params.test.ts`. - `codemods/package.json`: bump `@types/jscodeshift` to `^17.1.1` to match `jscodeshift@^17.1.1` (was `^0.12.0`, mismatched major). - `chat-architecture.md`: fix relative link to the migration guide from the package's nested docs/ directory. - Codemod README: add `text` language identifier to the conflict- warning code block to satisfy MD040. Skipped - "gpt-5.2 doesn't exist": false positive (CodeRabbit's web search hallucinated a 2026 release; the rest of the repo uses gpt-5.2). - Tier-2 quick-start expansion: keeping the Tier-1 minimal `body.messages` example intentional. Tier-2 helper usage is documented in the migration guide. - `uiMessagesToWire` signature widening: out-of-scope refactor across packages; documented for follow-up.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
385ded10 Merge 59d9faca53b6773fcafbd3d04d075485435a00e9 into 7205937bc94b7ce20093f9d8de1eaa9df29800c9
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
bbb2cc8e fix(ai-client,examples): correct AG-UI run tracking and forwardedProps precedence Fixes surfaced by full-PR review: - chat-client: extract runId from RUN_ERROR via the AG-UI passthrough field, not just RUN_FINISHED. A per-run RUN_ERROR carrying a runId was falling into the no-runId branch and clearing every active run in the session, breaking concurrent multi-run state. - connection-adapters: synthesized RUN_FINISHED and RUN_ERROR in the legacy connect-wrapper now carry the caller's threadId and runId from runContext instead of bogus 'connect-wrapper' / Date.now() ids, so client-side activeRunIds tracking matches. - connection-adapters: reverse forwardedProps merge order so per-call data wins over the static fetchServerSentEvents/fetchHttpStream options.body, matching the documented "per-message body takes priority" contract. - ts-react-chat example: validate provider against adapterConfig keys (was accepting any string and crashing inside the try block); use the client-supplied model for openrouter (was hardcoded to openai/gpt-5.1).
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
bbb2cc8e Merge e055a3d76af10f819d74c35223e50bf5670fd909 into b0354adceb9bbaa3b63124bce7864d9ca338b5c2
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
1f2bad2e fix(e2e): unwrap forwardedProps in non-chat media route handlers Connection adapters now POST AG-UI RunAgentInput envelopes with input data nested under forwardedProps. Update the image, tts, transcription, and video route handlers (sse + http-stream) to read from body.forwardedProps ?? body.data ?? body so they work for both the AG-UI envelope (connection adapter path) and the existing server-function fetcher path.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
1f2bad2e fix(e2e): unwrap forwardedProps in non-chat media route handlers Connection adapters now POST AG-UI RunAgentInput envelopes with input data nested under forwardedProps. Update the image, tts, transcription, and video route handlers (sse + http-stream) to read from body.forwardedProps ?? body.data ?? body so they work for both the AG-UI envelope (connection adapter path) and the existing server-function fetcher path.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
a61b1cdc fix(e2e): unwrap forwardedProps in non-chat media route handlers Connection adapters now POST AG-UI RunAgentInput envelopes with input data nested under forwardedProps. Update the image, tts, transcription, and video route handlers (sse + http-stream) to read from body.forwardedProps ?? body.data ?? body so they work for both the AG-UI envelope (connection adapter path) and the existing server-function fetcher path.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
a61b1cdc fix(e2e): unwrap forwardedProps in non-chat media route handlers Connection adapters now POST AG-UI RunAgentInput envelopes with input data nested under forwardedProps. Update the image, tts, transcription, and video route handlers (sse + http-stream) to read from body.forwardedProps ?? body.data ?? body so they work for both the AG-UI envelope (connection adapter path) and the existing server-function fetcher path.
by Alem Tuzlak
A
Succeeded
feat/ag-ui-client-compliance
2f62c01e fix(examples/ts-code-mode-web): persist reports across reloads (#515) The debounced save in usePersistedReports was created once and cached in a ref, capturing the initial empty 'reports' Map and null 'activeReportId' from the first effect run. Subsequent renders re-fired the effect but reused the cached closure, so every localStorage.setItem wrote the empty initial state. Recreate the debounced save each effect run; the cleanup cancels the in-flight debounce on each render so debouncing semantics are preserved. Repro: 1. Run examples/ts-code-mode-web (pnpm dev) and open /reporting-agent 2. Generate a report 3. DevTools > Application > Local Storage > 'tanstack-ai-reports' shows {"reports":[],"activeReportId":null,"version":1} despite the populated UI; reload makes the report disappear
by Arnþór Snæ...
A
Succeeded
feat/ag-ui-client-compliance
2f62c01e Merge 612139b2e5118a58c27667302823f2e1f5688d03 into b98ae85d30de662e437cd247cc8a696a037cf80b
by Alem Tuzlak
A
Previous page
Previous
Next
Next page