You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/migration/ag-ui-compliance.md
+31-1Lines changed: 31 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -363,7 +363,37 @@ Pure AG-UI `RunAgentInput` payloads (no TanStack `parts` field) work end-to-end:
363
363
364
364
## `@ag-ui/core` bump
365
365
366
-
`@tanstack/ai` now depends on `@ag-ui/core@^0.0.52`. If your code imports types from `@tanstack/ai` that re-export AG-UI types, you may need minor type adjustments — see the changeset for specifics.
366
+
`@tanstack/ai` now depends on `@ag-ui/core@0.1.1-canary.beta.0`. If your code imports types from `@tanstack/ai` that re-export AG-UI types, you may need minor type adjustments — see the changeset for specifics.
367
+
368
+
### zod is no longer installed for you
369
+
370
+
`@ag-ui/core` used to list `zod` as a runtime dependency, so every
371
+
`@tanstack/ai` install pulled zod in transitively. As of `0.1.x` it declares zod
372
+
as an optional peer instead, and `@tanstack/ai` no longer uses zod anywhere —
373
+
the package now ships with no schema-validation runtime at all.
374
+
375
+
`chatParamsFromRequest` / `chatParamsFromRequestBody` were the only zod
376
+
consumers: they validated the request body with AG-UI's `RunAgentInputSchema`.
377
+
They now validate the same `RunAgentInput` contract structurally. Their
378
+
signatures, their thrown types (`AGUIError`, and a 400 `Response` from
379
+
`chatParamsFromRequest`), and the `parts` passthrough on messages are all
380
+
unchanged. The one visible difference is friendlier failures — the error names
381
+
the offending field, e.g.:
382
+
383
+
```
384
+
Request body is not a valid AG-UI RunAgentInput. ... Validation errors: messages[1].content must be a string
385
+
```
386
+
387
+
zod is still fully supported for defining tools; it is just no longer installed
388
+
on your behalf. If your project used zod without declaring it — relying on the
389
+
transitive copy — add it explicitly:
390
+
391
+
```bash
392
+
npm install zod
393
+
```
394
+
395
+
If you define tools with a different Standard Schema library (ArkType, Valibot),
0 commit comments