Skip to content

docs: refresh AI SDK comparison against ai@6.0.200#745

Merged
AlemTuzlak merged 3 commits into
mainfrom
docs/ai-sdk-comparison-refresh
Jun 11, 2026
Merged

docs: refresh AI SDK comparison against ai@6.0.200#745
AlemTuzlak merged 3 commits into
mainfrom
docs/ai-sdk-comparison-refresh

Conversation

@tombeckenham

@tombeckenham tombeckenham commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Fact-checked every claim in docs/comparison/vercel-ai-sdk.md with a multi-agent verification pass: TanStack-side claims checked against this repo, Vercel-side claims checked against current official sources (ai-sdk.dev, npm, vercel/ai releases), and each new "where we're ahead" item adversarially verified to confirm the AI SDK lacks an equivalent.

Corrections (Vercel side had drifted)

  • ai@6 is dual CJS+ESM, not ESM-only; noted that v7 is in pre-release
  • ~38 first-party provider packages, not 50+ (per the official providers index)
  • Solid: AI SDK's package is community-maintained and frozen at an SDK-4-era version — updated from "not a differentiator" to a TanStack advantage
  • Lazy tool discovery: AI SDK 6 shipped an Anthropic-only analogue (tool search + deferLoading) — claim narrowed from "no equivalent" to cross-provider vs provider-specific
  • Middleware: acknowledged experimental_transform, experimental_onToolCallStart/Finish, prepareStep, repairToolCall; gap restated as the unified app-level middleware system
  • extendAdapter: acknowledged stable customProvider() / createProviderRegistry(); edge restated as literal-type narrowing vs string model ids
  • Code execution: acknowledged provider-hosted code tools (Anthropic, xAI, OpenAI); edge restated as SDK-managed sandboxes
  • addToolResultaddToolOutput (v6 rename)

New advantages added (each verified to have no AI SDK equivalent)

  • Native AG-UI protocol — new section + wire-protocol table row; AI SDK streams its proprietary UI Message Stream, AG-UI interop only via the external @ag-ui/vercel-ai-sdk translation layer, native support an open feature request
  • Hooks for every activity — new section + table row; AI SDK UI has only useChat/useCompletion/useObject
  • Multi-turn structured output — new section; AI SDK structured output is per-call with no structured-output message part
  • Debug logging — new section + table row
  • Code Mode skills — table row + prose on the LLM-writable persistent skill library

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added an activity-coverage audit dimension to gap-analysis docs to assess provider adapter support across seven activity kinds.
    • Updated audit checklist with rules for building provider×activity grids, identifying real gaps, and handling stale/missing adapters.
    • Expanded report template to include provider-by-activity matrices and gap entries with citations, suggested adapters, and effort estimates.
    • Revised Vercel AI SDK comparison with an updated feature matrix, tool-calling and middleware distinctions, and new AG-UI protocol coverage.

tombeckenham and others added 2 commits June 11, 2026 10:47
Adds a sixth audit dimension (and an `activities` invocation scope) that
diffs which of the 7 core activity kinds each provider ships an adapter
for against what upstream offers, with a provider×activity grid in the
report template.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Corrections (verified against ai-sdk.dev docs, npm, and vercel/ai as of
June 2026):

- ai@6 is dual CJS+ESM, not ESM-only; note v7 pre-release exists
- ~38 first-party provider packages, not 50+
- Solid is community-maintained on the AI SDK side (frozen at an SDK-4-era
  version) - now a TanStack differentiator, not a wash
- Lazy tool discovery is no longer unmatched: AI SDK 6 has Anthropic-only
  tool search with deferLoading; ours remains cross-provider
- Narrow the middleware claim: experimental_transform, onToolCallStart/
  Finish, prepareStep, and repairToolCall exist - the gap is the unified
  app-level middleware system
- extendAdapter: AI SDK has stable customProvider()/createProviderRegistry();
  the edge is literal-type narrowing vs string model ids
- Code execution: provider-hosted tools exist (Anthropic, xAI, OpenAI);
  the edge is SDK-managed sandboxes you control
- addToolResult renamed to addToolOutput in v6

New advantages (each adversarially verified to have no AI SDK equivalent):

- Native AG-UI protocol section + wire-protocol table row
- Hooks for Every Activity section + generation-hooks table row
- Multi-Turn Structured Output section
- Debug Logging section + table row
- Code Mode Skills table row + LLM-writable skills prose

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: dd57bce2-4f72-4ac9-a3ee-d9795550b0f2

📥 Commits

Reviewing files that changed from the base of the PR and between e06fa82 and 6232d10.

📒 Files selected for processing (3)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/report-template.md
✅ Files skipped from review due to trivial changes (1)
  • .claude/skills/gap-analysis/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • .claude/skills/gap-analysis/references/report-template.md
  • .claude/skills/gap-analysis/references/audit-checklist.md

📝 Walkthrough

Walkthrough

This PR adds a sixth audit dimension (Activity coverage) to gap-analysis docs—documenting the activities scope, checklist rules, and report template—and refreshes the Vercel AI SDK comparison to reflect v6, middleware/tooling changes, and AG-UI protocol details.

Changes

Gap-Analysis Activity Coverage Dimension

Layer / File(s) Summary
Skill definition and activity reference
.claude/skills/gap-analysis/SKILL.md
Added activities scope to Args, declared Activity coverage as dimension 6, and introduced "Known activities (7)" with filename→activity-kind mappings.
Audit checklist and orchestration
.claude/skills/gap-analysis/references/audit-checklist.md
Added dimension-6 rules: derive provider×activity grid from adapter filenames, classify real gaps vs ❌-by-design, handle stale adapters, map activities→upstream capabilities, and updated subagent/orchestrator dispatch to centralize dimension-6 processing.
Report template
.claude/skills/gap-analysis/references/report-template.md
Extended report template with an Activity coverage section: provider×activity matrix legend and repeatable gap-report entries with upstream citation, adapter status, suggested adapter name, and effort fields.

Vercel AI SDK Comparison Refresh

Layer / File(s) Summary
Feature matrix and v6 tool-calling updates
docs/comparison/vercel-ai-sdk.md
Rewrote feature comparison table (provider counts, framework support, tool discovery/connection framing) and updated tool-calling wording to reflect v6 addToolOutput and deferred tool discovery examples.
Middleware and custom-model comparison
docs/comparison/vercel-ai-sdk.md
Expanded custom-model registration/registry details (customProvider(), createProviderRegistry()); replaced middleware section with Vercel's model-level wrapLanguageModel() and v6 per-call options discussion.
Code execution and AG-UI protocol
docs/comparison/vercel-ai-sdk.md
Added @tanstack/ai-code-mode-skills note; new "Native AG-UI Protocol" subsections covering event streaming, per-activity hooks, multi-turn structured output, and debug/log interop.
Recommendation guidance
docs/comparison/vercel-ai-sdk.md
Updated "When to choose" bullets to emphasize AG-UI native wiring, wider framework coverage (Solid/Preact/React Native), and reframed Vercel guidance around first-party provider packages.

Sequence Diagram(s)

sequenceDiagram
  participant Orchestrator
  participant Subagent
  participant AdapterFiles
  participant UpstreamDocs

  Subagent->>Orchestrator: skip dimensions 2 and 6, run dims 1/3/4/5
  Orchestrator->>AdapterFiles: list provider adapter filenames (build activity matrix)
  Orchestrator->>UpstreamDocs: WebFetch only for ❌ cells to gather upstream evidence
  Orchestrator->>Subagent: emit per-provider dimension-5 telemetry (unchanged)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • TanStack/ai#571: Earlier PR that introduced the gap-analysis maintainer skill; this PR extends it with the new activity-coverage audit dimension.

Poem

🐰 A rabbit reads adapters by moonlight,
Counting seven activities through the night—
A sixth dimension blooms in the chart,
Docs refreshed and comparisons smart—
Hoppity-hop, the audit starts!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is largely incomplete; it omits the required '🎯 Changes' section structure, includes no 'Checklist' section, and fails to declare 'Release Impact' (whether this is docs-only or requires a changeset). Add the missing template sections: fill '🎯 Changes' with a summary of what was changed and why, complete the '✅ Checklist', and clearly state under '🚀 Release Impact' whether this is docs-only or requires a changeset.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'docs: refresh AI SDK comparison against ai@6.0.200' is specific and directly describes the main change—updating the Vercel AI SDK comparison documentation to reflect current facts against version ai@6.0.200.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/ai-sdk-comparison-refresh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud

nx-cloud Bot commented Jun 11, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit e06fa82

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 10s View ↗
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2026-06-11 01:23:33 UTC

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

🚀 Changeset Version Preview

6 package(s) bumped directly, 25 bumped as dependents.

🟥 Major bumps

Package Version Reason
@tanstack/ai-event-client 0.5.4 → 1.0.0 Changeset
@tanstack/ai-fal 0.7.23 → 1.0.0 Changeset
@tanstack/ai-gemini 0.15.1 → 1.0.0 Changeset
@tanstack/ai-openai 0.14.1 → 1.0.0 Changeset
@tanstack/ai-anthropic 0.15.1 → 1.0.0 Dependent
@tanstack/ai-code-mode 0.2.5 → 1.0.0 Dependent
@tanstack/ai-code-mode-skills 0.2.5 → 1.0.0 Dependent
@tanstack/ai-elevenlabs 0.2.20 → 1.0.0 Dependent
@tanstack/ai-grok 0.11.2 → 1.0.0 Dependent
@tanstack/ai-groq 0.4.2 → 1.0.0 Dependent
@tanstack/ai-isolate-node 0.1.30 → 1.0.0 Dependent
@tanstack/ai-isolate-quickjs 0.1.30 → 1.0.0 Dependent
@tanstack/ai-ollama 0.8.1 → 1.0.0 Dependent
@tanstack/ai-openrouter 0.13.1 → 1.0.0 Dependent
@tanstack/ai-preact 0.9.4 → 1.0.0 Dependent
@tanstack/ai-react 0.15.4 → 1.0.0 Dependent
@tanstack/ai-react-ui 0.8.6 → 1.0.0 Dependent
@tanstack/ai-solid 0.13.4 → 1.0.0 Dependent
@tanstack/ai-solid-ui 0.7.6 → 1.0.0 Dependent
@tanstack/ai-svelte 0.13.4 → 1.0.0 Dependent
@tanstack/ai-vue 0.13.4 → 1.0.0 Dependent
@tanstack/openai-base 0.8.1 → 1.0.0 Dependent

🟨 Minor bumps

Package Version Reason
@tanstack/ai 0.28.0 → 0.29.0 Changeset
@tanstack/ai-client 0.16.3 → 0.17.0 Changeset

🟩 Patch bumps

Package Version Reason
@tanstack/ai-devtools-core 0.4.8 → 0.4.9 Dependent
@tanstack/ai-isolate-cloudflare 0.2.21 → 0.2.22 Dependent
@tanstack/ai-mcp 0.1.0 → 0.1.1 Dependent
@tanstack/ai-vue-ui 0.2.16 → 0.2.17 Dependent
@tanstack/preact-ai-devtools 0.1.51 → 0.1.52 Dependent
@tanstack/react-ai-devtools 0.2.51 → 0.2.52 Dependent
@tanstack/solid-ai-devtools 0.2.51 → 0.2.52 Dependent

@pkg-pr-new

pkg-pr-new Bot commented Jun 11, 2026

Copy link
Copy Markdown

Open in StackBlitz

@tanstack/ai

npm i https://pkg.pr.new/@tanstack/ai@745

@tanstack/ai-anthropic

npm i https://pkg.pr.new/@tanstack/ai-anthropic@745

@tanstack/ai-client

npm i https://pkg.pr.new/@tanstack/ai-client@745

@tanstack/ai-code-mode

npm i https://pkg.pr.new/@tanstack/ai-code-mode@745

@tanstack/ai-code-mode-skills

npm i https://pkg.pr.new/@tanstack/ai-code-mode-skills@745

@tanstack/ai-devtools-core

npm i https://pkg.pr.new/@tanstack/ai-devtools-core@745

@tanstack/ai-elevenlabs

npm i https://pkg.pr.new/@tanstack/ai-elevenlabs@745

@tanstack/ai-event-client

npm i https://pkg.pr.new/@tanstack/ai-event-client@745

@tanstack/ai-fal

npm i https://pkg.pr.new/@tanstack/ai-fal@745

@tanstack/ai-gemini

npm i https://pkg.pr.new/@tanstack/ai-gemini@745

@tanstack/ai-grok

npm i https://pkg.pr.new/@tanstack/ai-grok@745

@tanstack/ai-groq

npm i https://pkg.pr.new/@tanstack/ai-groq@745

@tanstack/ai-isolate-cloudflare

npm i https://pkg.pr.new/@tanstack/ai-isolate-cloudflare@745

@tanstack/ai-isolate-node

npm i https://pkg.pr.new/@tanstack/ai-isolate-node@745

@tanstack/ai-isolate-quickjs

npm i https://pkg.pr.new/@tanstack/ai-isolate-quickjs@745

@tanstack/ai-mcp

npm i https://pkg.pr.new/@tanstack/ai-mcp@745

@tanstack/ai-ollama

npm i https://pkg.pr.new/@tanstack/ai-ollama@745

@tanstack/ai-openai

npm i https://pkg.pr.new/@tanstack/ai-openai@745

@tanstack/ai-openrouter

npm i https://pkg.pr.new/@tanstack/ai-openrouter@745

@tanstack/ai-preact

npm i https://pkg.pr.new/@tanstack/ai-preact@745

@tanstack/ai-react

npm i https://pkg.pr.new/@tanstack/ai-react@745

@tanstack/ai-react-ui

npm i https://pkg.pr.new/@tanstack/ai-react-ui@745

@tanstack/ai-solid

npm i https://pkg.pr.new/@tanstack/ai-solid@745

@tanstack/ai-solid-ui

npm i https://pkg.pr.new/@tanstack/ai-solid-ui@745

@tanstack/ai-svelte

npm i https://pkg.pr.new/@tanstack/ai-svelte@745

@tanstack/ai-utils

npm i https://pkg.pr.new/@tanstack/ai-utils@745

@tanstack/ai-vue

npm i https://pkg.pr.new/@tanstack/ai-vue@745

@tanstack/ai-vue-ui

npm i https://pkg.pr.new/@tanstack/ai-vue-ui@745

@tanstack/openai-base

npm i https://pkg.pr.new/@tanstack/openai-base@745

@tanstack/preact-ai-devtools

npm i https://pkg.pr.new/@tanstack/preact-ai-devtools@745

@tanstack/react-ai-devtools

npm i https://pkg.pr.new/@tanstack/react-ai-devtools@745

@tanstack/solid-ai-devtools

npm i https://pkg.pr.new/@tanstack/solid-ai-devtools@745

commit: 6232d10

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
.claude/skills/gap-analysis/references/report-template.md (1)

6-11: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add activities to the scope list.

The scope list is missing activities, which is documented as a valid scope in SKILL.md (lines 23-26 and 60-61). The filename pattern for this scope would be <YYYY-MM-DD>-activities.md.

📝 Proposed fix to add the missing scope
 `<scope>` is one of:
 
 - `<provider>` — e.g. `openai`
 - `feature-<feature>` — e.g. `feature-tts`
 - `models`
+- `activities`
 - `all`
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/skills/gap-analysis/references/report-template.md around lines 6 -
11, The scope list under `<scope>` is missing the `activities` option; update
the list (the block showing `<provider>`, `feature-<feature>`, `models`, `all`)
to include `activities` as a valid scope and mention its filename pattern
(`<YYYY-MM-DD>-activities.md`) so it matches the `SKILL.md` documentation
references to `activities`.
docs/comparison/vercel-ai-sdk.md (1)

70-85: ⚠️ Potential issue | 🟡 Minor

Update OpenAI “latest model” check for the docs sample

gpt-5.5 is the newest fixed OpenAI chat text model in packages/ai-openai/src/model-meta.ts (no gpt-5.6+ or gpt-6 entries). However, the adapter also exposes the “latest” alias gpt-chat-latest in OPENAI_CHAT_MODELS, which is the value that best matches the “latest model per provider” guideline—consider switching the docs sample to openaiText('gpt-chat-latest') instead of openaiText('gpt-5.5').

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/comparison/vercel-ai-sdk.md` around lines 70 - 85, The docs sample
hardcodes the OpenAI model string to openaiText('gpt-5.5') while the adapter
exposes the "latest" alias OPENAI_CHAT_MODELS entry gpt-chat-latest; update the
example to use openaiText('gpt-chat-latest') so it follows the "latest model per
provider" guideline—locate the example using openaiText and replace the gpt-5.5
literal with the gpt-chat-latest alias in the snippet.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In @.claude/skills/gap-analysis/references/report-template.md:
- Around line 6-11: The scope list under `<scope>` is missing the `activities`
option; update the list (the block showing `<provider>`, `feature-<feature>`,
`models`, `all`) to include `activities` as a valid scope and mention its
filename pattern (`<YYYY-MM-DD>-activities.md`) so it matches the `SKILL.md`
documentation references to `activities`.

In `@docs/comparison/vercel-ai-sdk.md`:
- Around line 70-85: The docs sample hardcodes the OpenAI model string to
openaiText('gpt-5.5') while the adapter exposes the "latest" alias
OPENAI_CHAT_MODELS entry gpt-chat-latest; update the example to use
openaiText('gpt-chat-latest') so it follows the "latest model per provider"
guideline—locate the example using openaiText and replace the gpt-5.5 literal
with the gpt-chat-latest alias in the snippet.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 531f4def-e02b-4732-8f68-7f177634d69b

📥 Commits

Reviewing files that changed from the base of the PR and between ff267a5 and e06fa82.

📒 Files selected for processing (4)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/report-template.md
  • docs/comparison/vercel-ai-sdk.md

@AlemTuzlak AlemTuzlak merged commit b48458a into main Jun 11, 2026
10 checks passed
@AlemTuzlak AlemTuzlak deleted the docs/ai-sdk-comparison-refresh branch June 11, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants