Skip to content

feat(openai): add variants for the responses API#142

Open
constantinius wants to merge 2 commits intomainfrom
constantinius/feat/opeani/test-responses-api
Open

feat(openai): add variants for the responses API#142
constantinius wants to merge 2 commits intomainfrom
constantinius/feat/opeani/test-responses-api

Conversation

@constantinius
Copy link
Copy Markdown
Collaborator

@linear-code
Copy link
Copy Markdown

linear-code bot commented Apr 13, 2026

@github-actions
Copy link
Copy Markdown

🔴 AI SDK Integration Test Results

Status: 3 regressions detected

Summary

Metric main PR Change
Total Tests 667 739 +72
Passed 466 534 +68 ✅
Failed 194 199 +5 ⚠️

🔴 Regressions

These tests were passing on main but are now failing:

cloudflare/vercel :: Long Input Agent Test (blocking, function, anthropic)

Error: 1 check(s) failed:

1 check(s) failed:
Attribute validation failed:
  Span af459ebc: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span af459ebc: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
browser/langchain :: Multi-Turn LLM Test (streaming)

Error: Browser test timed out (60s)

Browser test timed out (60s)
python/google-genai :: Conversation ID LLM Test (sync, blocking)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span bacf46da: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span bacf46da: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
gen_ai.response.model is missing (optional but recommended)

✅ Fixed

These tests were failing on main but are now passing:

  • browser/google-genai :: Multi-Turn LLM Test (blocking)
  • cloudflare/langchain :: Vision LLM Test (streaming)

🆕 New Tests

Passing (128):

  • browser/openai :: Basic LLM Test (streaming, chat)
  • browser/openai :: Basic LLM Test (streaming, responses)
  • browser/openai :: Basic LLM Test (blocking, chat)
  • browser/openai :: Basic LLM Test (blocking, responses)
  • browser/openai :: Multi-Turn LLM Test (streaming, chat)
  • browser/openai :: Multi-Turn LLM Test (streaming, responses)
  • browser/openai :: Multi-Turn LLM Test (blocking, chat)
  • browser/openai :: Multi-Turn LLM Test (blocking, responses)
  • browser/openai :: Basic Error LLM Test (streaming, chat)
  • browser/openai :: Basic Error LLM Test (streaming, responses)
  • browser/openai :: Basic Error LLM Test (blocking, chat)
  • browser/openai :: Basic Error LLM Test (blocking, responses)
  • browser/openai :: Vision LLM Test (streaming, chat)
  • browser/openai :: Vision LLM Test (streaming, responses)
  • browser/openai :: Vision LLM Test (blocking, chat)
  • browser/openai :: Vision LLM Test (blocking, responses)
  • browser/openai :: Long Input LLM Test (streaming, chat)
  • browser/openai :: Long Input LLM Test (streaming, responses)
  • browser/openai :: Long Input LLM Test (blocking, chat)
  • browser/openai :: Long Input LLM Test (blocking, responses)
  • browser/openai :: Conversation ID LLM Test (streaming, chat)
  • browser/openai :: Conversation ID LLM Test (streaming, responses)
  • browser/openai :: Conversation ID LLM Test (blocking, chat)
  • browser/openai :: Conversation ID LLM Test (blocking, responses)
  • cloudflare/openai :: Basic LLM Test (streaming, chat)
  • cloudflare/openai :: Basic LLM Test (streaming, responses)
  • cloudflare/openai :: Basic LLM Test (blocking, chat)
  • cloudflare/openai :: Basic LLM Test (blocking, responses)
  • cloudflare/openai :: Multi-Turn LLM Test (streaming, chat)
  • cloudflare/openai :: Multi-Turn LLM Test (streaming, responses)
  • cloudflare/openai :: Multi-Turn LLM Test (blocking, chat)
  • cloudflare/openai :: Multi-Turn LLM Test (blocking, responses)
  • cloudflare/openai :: Basic Error LLM Test (streaming, chat)
  • cloudflare/openai :: Basic Error LLM Test (streaming, responses)
  • cloudflare/openai :: Basic Error LLM Test (blocking, chat)
  • cloudflare/openai :: Basic Error LLM Test (blocking, responses)
  • cloudflare/openai :: Vision LLM Test (streaming, chat)
  • cloudflare/openai :: Vision LLM Test (streaming, responses)
  • cloudflare/openai :: Vision LLM Test (blocking, chat)
  • cloudflare/openai :: Vision LLM Test (blocking, responses)
  • cloudflare/openai :: Long Input LLM Test (streaming, chat)
  • cloudflare/openai :: Long Input LLM Test (streaming, responses)
  • cloudflare/openai :: Long Input LLM Test (blocking, chat)
  • cloudflare/openai :: Long Input LLM Test (blocking, responses)
  • cloudflare/openai :: Conversation ID LLM Test (streaming, chat)
  • cloudflare/openai :: Conversation ID LLM Test (streaming, responses)
  • cloudflare/openai :: Conversation ID LLM Test (blocking, chat)
  • cloudflare/openai :: Conversation ID LLM Test (blocking, responses)
  • nextjs/openai :: Basic LLM Test (streaming, chat)
  • nextjs/openai :: Basic LLM Test (streaming, responses)
  • nextjs/openai :: Basic LLM Test (blocking, chat)
  • nextjs/openai :: Basic LLM Test (blocking, responses)
  • nextjs/openai :: Multi-Turn LLM Test (streaming, chat)
  • nextjs/openai :: Multi-Turn LLM Test (streaming, responses)
  • nextjs/openai :: Multi-Turn LLM Test (blocking, chat)
  • nextjs/openai :: Multi-Turn LLM Test (blocking, responses)
  • nextjs/openai :: Basic Error LLM Test (streaming, chat)
  • nextjs/openai :: Basic Error LLM Test (streaming, responses)
  • nextjs/openai :: Basic Error LLM Test (blocking, chat)
  • nextjs/openai :: Basic Error LLM Test (blocking, responses)
  • nextjs/openai :: Vision LLM Test (streaming, chat)
  • nextjs/openai :: Vision LLM Test (streaming, responses)
  • nextjs/openai :: Vision LLM Test (blocking, chat)
  • nextjs/openai :: Vision LLM Test (blocking, responses)
  • nextjs/openai :: Long Input LLM Test (streaming, chat)
  • nextjs/openai :: Long Input LLM Test (streaming, responses)
  • nextjs/openai :: Long Input LLM Test (blocking, chat)
  • nextjs/openai :: Long Input LLM Test (blocking, responses)
  • nextjs/openai :: Conversation ID LLM Test (streaming, chat)
  • nextjs/openai :: Conversation ID LLM Test (streaming, responses)
  • nextjs/openai :: Conversation ID LLM Test (blocking, chat)
  • nextjs/openai :: Conversation ID LLM Test (blocking, responses)
  • node/openai :: Basic LLM Test (streaming, chat)
  • node/openai :: Basic LLM Test (streaming, responses)
  • node/openai :: Basic LLM Test (blocking, chat)
  • node/openai :: Basic LLM Test (blocking, responses)
  • node/openai :: Multi-Turn LLM Test (streaming, chat)
  • node/openai :: Multi-Turn LLM Test (streaming, responses)
  • node/openai :: Multi-Turn LLM Test (blocking, chat)
  • node/openai :: Multi-Turn LLM Test (blocking, responses)
  • node/openai :: Basic Error LLM Test (streaming, chat)
  • node/openai :: Basic Error LLM Test (streaming, responses)
  • node/openai :: Basic Error LLM Test (blocking, chat)
  • node/openai :: Basic Error LLM Test (blocking, responses)
  • node/openai :: Vision LLM Test (streaming, chat)
  • node/openai :: Vision LLM Test (streaming, responses)
  • node/openai :: Vision LLM Test (blocking, chat)
  • node/openai :: Vision LLM Test (blocking, responses)
  • node/openai :: Long Input LLM Test (streaming, chat)
  • node/openai :: Long Input LLM Test (streaming, responses)
  • node/openai :: Long Input LLM Test (blocking, chat)
  • node/openai :: Long Input LLM Test (blocking, responses)
  • node/openai :: Conversation ID LLM Test (streaming, chat)
  • node/openai :: Conversation ID LLM Test (streaming, responses)
  • node/openai :: Conversation ID LLM Test (blocking, chat)
  • node/openai :: Conversation ID LLM Test (blocking, responses)
  • python/openai :: Basic LLM Test (sync, streaming, responses)
  • python/openai :: Basic LLM Test (sync, blocking, chat)
  • python/openai :: Basic LLM Test (sync, blocking, responses)
  • python/openai :: Basic LLM Test (async, streaming, responses)
  • python/openai :: Basic LLM Test (async, blocking, chat)
  • python/openai :: Basic LLM Test (async, blocking, responses)
  • python/openai :: Multi-Turn LLM Test (sync, streaming, responses)
  • python/openai :: Multi-Turn LLM Test (sync, blocking, chat)
  • python/openai :: Multi-Turn LLM Test (sync, blocking, responses)
  • python/openai :: Multi-Turn LLM Test (async, streaming, responses)
  • python/openai :: Multi-Turn LLM Test (async, blocking, chat)
  • python/openai :: Multi-Turn LLM Test (async, blocking, responses)
  • python/openai :: Basic Error LLM Test (sync, streaming, chat)
  • python/openai :: Basic Error LLM Test (sync, streaming, responses)
  • python/openai :: Basic Error LLM Test (sync, blocking, chat)
  • python/openai :: Basic Error LLM Test (sync, blocking, responses)
  • python/openai :: Basic Error LLM Test (async, streaming, chat)
  • python/openai :: Basic Error LLM Test (async, streaming, responses)
  • python/openai :: Basic Error LLM Test (async, blocking, chat)
  • python/openai :: Basic Error LLM Test (async, blocking, responses)
  • python/openai :: Long Input LLM Test (sync, streaming, responses)
  • python/openai :: Long Input LLM Test (sync, blocking, chat)
  • python/openai :: Long Input LLM Test (sync, blocking, responses)
  • python/openai :: Long Input LLM Test (async, streaming, responses)
  • python/openai :: Long Input LLM Test (async, blocking, chat)
  • python/openai :: Long Input LLM Test (async, blocking, responses)
  • python/openai :: Conversation ID LLM Test (sync, streaming, responses)
  • python/openai :: Conversation ID LLM Test (sync, blocking, chat)
  • python/openai :: Conversation ID LLM Test (sync, blocking, responses)
  • python/openai :: Conversation ID LLM Test (async, streaming, responses)
  • python/openai :: Conversation ID LLM Test (async, blocking, chat)
  • python/openai :: Conversation ID LLM Test (async, blocking, responses)

Failing (16):

python/openai :: Basic LLM Test (sync, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span b4ec8fb6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span b4ec8fb6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
python/openai :: Basic LLM Test (async, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span a4eee807: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span a4eee807: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
python/openai :: Multi-Turn LLM Test (sync, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span a2149175: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span a2149175: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span b55e3bcb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span b55e3bcb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 807ad1b7: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 807ad1b7: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
python/openai :: Multi-Turn LLM Test (async, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span 89e3163e: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 89e3163e: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 8f401220: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 8f401220: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span b41e8463: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span b41e8463: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
python/openai :: Vision LLM Test (sync, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span a90ae985: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span a90ae985: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (sync, streaming, responses)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (sync, blocking, chat)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (sync, blocking, responses)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (async, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span 8f654129: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 8f654129: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (async, streaming, responses)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (async, blocking, chat)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Vision LLM Test (async, blocking, responses)

Error: 1 check(s) failed:

1 check(s) failed:
Messages should not contain raw base64 data (should be redacted)
Messages should contain '[Blob substitute]' marker indicating binary content was redacted
python/openai :: Long Input LLM Test (sync, streaming, chat)

Error: 1 check(s) failed:

1 check(s) failed:
Attribute validation failed:
  Span 901e8436: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 901e8436: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
python/openai :: Long Input LLM Test (async, streaming, chat)

Error: 1 check(s) failed:

1 check(s) failed:
Attribute validation failed:
  Span 9fd18d22: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 9fd18d22: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
python/openai :: Conversation ID LLM Test (sync, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span 8e662ff3: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 8e662ff3: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span ba9f6152: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span ba9f6152: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span a79ca025: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span a79ca025: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 90cda1b6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 90cda1b6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist
python/openai :: Conversation ID LLM Test (async, streaming, chat)

Error: 2 check(s) failed:

2 check(s) failed:
Attribute validation failed:
  Span 97c19f4d: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 97c19f4d: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 8f8d09e4: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 8f8d09e4: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 97b13bbb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 97b13bbb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
  Span 9817e525: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
  Span 9817e525: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
Token usage validation failed:
  input_tokens must exist
  output_tokens must exist
  total_tokens must exist

🗑️ Removed Tests

These tests existed on main but are not in the PR:

  • browser/openai :: Basic LLM Test (streaming)
  • browser/openai :: Basic LLM Test (blocking)
  • browser/openai :: Multi-Turn LLM Test (streaming)
  • browser/openai :: Multi-Turn LLM Test (blocking)
  • browser/openai :: Basic Error LLM Test (streaming)
  • browser/openai :: Basic Error LLM Test (blocking)
  • browser/openai :: Vision LLM Test (streaming)
  • browser/openai :: Vision LLM Test (blocking)
  • browser/openai :: Long Input LLM Test (streaming)
  • browser/openai :: Long Input LLM Test (blocking)
  • browser/openai :: Conversation ID LLM Test (streaming)
  • browser/openai :: Conversation ID LLM Test (blocking)
  • cloudflare/openai :: Basic LLM Test (streaming)
  • cloudflare/openai :: Basic LLM Test (blocking)
  • cloudflare/openai :: Multi-Turn LLM Test (streaming)
  • cloudflare/openai :: Multi-Turn LLM Test (blocking)
  • cloudflare/openai :: Basic Error LLM Test (streaming)
  • cloudflare/openai :: Basic Error LLM Test (blocking)
  • cloudflare/openai :: Vision LLM Test (streaming)
  • cloudflare/openai :: Vision LLM Test (blocking)
  • cloudflare/openai :: Long Input LLM Test (streaming)
  • cloudflare/openai :: Long Input LLM Test (blocking)
  • cloudflare/openai :: Conversation ID LLM Test (streaming)
  • cloudflare/openai :: Conversation ID LLM Test (blocking)
  • nextjs/openai :: Basic LLM Test (streaming)
  • nextjs/openai :: Basic LLM Test (blocking)
  • nextjs/openai :: Multi-Turn LLM Test (streaming)
  • nextjs/openai :: Multi-Turn LLM Test (blocking)
  • nextjs/openai :: Basic Error LLM Test (streaming)
  • nextjs/openai :: Basic Error LLM Test (blocking)
  • nextjs/openai :: Vision LLM Test (streaming)
  • nextjs/openai :: Vision LLM Test (blocking)
  • nextjs/openai :: Long Input LLM Test (streaming)
  • nextjs/openai :: Long Input LLM Test (blocking)
  • nextjs/openai :: Conversation ID LLM Test (streaming)
  • nextjs/openai :: Conversation ID LLM Test (blocking)
  • node/openai :: Basic LLM Test (streaming)
  • node/openai :: Basic LLM Test (blocking)
  • node/openai :: Multi-Turn LLM Test (streaming)
  • node/openai :: Multi-Turn LLM Test (blocking)
  • node/openai :: Basic Error LLM Test (streaming)
  • node/openai :: Basic Error LLM Test (blocking)
  • node/openai :: Vision LLM Test (streaming)
  • node/openai :: Vision LLM Test (blocking)
  • node/openai :: Long Input LLM Test (streaming)
  • node/openai :: Long Input LLM Test (blocking)
  • node/openai :: Conversation ID LLM Test (streaming)
  • node/openai :: Conversation ID LLM Test (blocking)
  • python/openai :: Basic LLM Test (sync, streaming)
  • python/openai :: Basic LLM Test (sync, blocking)
  • python/openai :: Basic LLM Test (async, streaming)
  • python/openai :: Basic LLM Test (async, blocking)
  • python/openai :: Multi-Turn LLM Test (sync, streaming)
  • python/openai :: Multi-Turn LLM Test (sync, blocking)
  • python/openai :: Multi-Turn LLM Test (async, streaming)
  • python/openai :: Multi-Turn LLM Test (async, blocking)
  • python/openai :: Basic Error LLM Test (sync, streaming)
  • python/openai :: Basic Error LLM Test (sync, blocking)
  • python/openai :: Basic Error LLM Test (async, streaming)
  • python/openai :: Basic Error LLM Test (async, blocking)
  • python/openai :: Vision LLM Test (sync, streaming)
  • python/openai :: Vision LLM Test (sync, blocking)
  • python/openai :: Vision LLM Test (async, streaming)
  • python/openai :: Vision LLM Test (async, blocking)
  • python/openai :: Long Input LLM Test (sync, streaming)
  • python/openai :: Long Input LLM Test (sync, blocking)
  • python/openai :: Long Input LLM Test (async, streaming)
  • python/openai :: Long Input LLM Test (async, blocking)
  • python/openai :: Conversation ID LLM Test (sync, streaming)
  • python/openai :: Conversation ID LLM Test (sync, blocking)
  • python/openai :: Conversation ID LLM Test (async, streaming)
  • python/openai :: Conversation ID LLM Test (async, blocking)

Test Matrix

Agent Tests

SDK Basic Agent Test Conversation ID Agent Test Long Input Agent Test Tool Call Agent Test Tool Error Agent Test Vision Agent Test
browser/langgraph blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain blk, combinedblk, compiledblk, custom-stateblk, graphblk, langchainstr, combinedstr, compiledstr, custom-statestr, graphstr, langchain
cloudflare/langgraph
cloudflare/vercel blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openai ❌📉blk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai
nextjs/mastra
nextjs/vercel blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai
node/langgraph
node/manual
node/mastra
node/vercel blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai blk, class, anthropicblk, class, openaiblk, function, anthropicblk, function, openaistr, class, anthropicstr, class, openaistr, function, anthropicstr, function, openai
python/langgraph as as as as as as
python/manual as as as as as as
python/openai-agents
python/pydantic-ai a, fallbacka, single a, fallbacka, single a, fallbacka, single a, fallbacka, single a, fallbacka, single a, fallbacka, single

Embedding Tests

SDK Basic Embeddings Test
browser/google-genai
browser/langchain
browser/openai
cloudflare/google-genai
cloudflare/langchain
cloudflare/openai
cloudflare/vercel
nextjs/google-genai
nextjs/langchain
nextjs/openai
nextjs/vercel
node/google-genai
node/langchain
node/openai
node/vercel
python/google-genai a, blks, blk
python/langchain a, blks, blk
python/litellm a, blks, blk
python/manual a, blks, blk
python/openai a, blks, blk

LLM Tests

SDK Basic Error LLM Test Basic LLM Test Conversation ID LLM Test Long Input LLM Test Multi-Turn LLM Test Vision LLM Test
browser/anthropic blkstr blkstr blkstr blkstr blkstr blkstr
browser/google-genai blkstr blkstr blkstr blkstr ✅🔧blkstr blkstr
browser/langchain blkstr blkstr blkstr blkstr blk ❌📉str blkstr
browser/openai 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses
cloudflare/anthropic blkstr blkstr blkstr blkstr blkstr blkstr
cloudflare/google-genai blkstr blkstr blkstr blkstr blkstr blkstr
cloudflare/langchain blkstr blkstr blkstr blkstr blkstr blk ✅🔧str
cloudflare/openai 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses
nextjs/anthropic blkstr blkstr blkstr blkstr blkstr blkstr
nextjs/google-genai blkstr blkstr blkstr blkstr blkstr blkstr
nextjs/langchain blkstr blkstr blkstr blkstr blkstr blkstr
nextjs/openai 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses
node/anthropic blkstr blkstr blkstr blkstr blkstr blkstr
node/google-genai blkstr blkstr blkstr blkstr blkstr blkstr
node/langchain blkstr blkstr blkstr blkstr blkstr blkstr
node/manual
node/openai 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses 🗑️blk ✅🆕blk, chat ✅🆕blk, responses 🗑️str ✅🆕str, chat ✅🆕str, responses
python/anthropic a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str
python/google-genai a, blka, strs, blks, str a, blka, strs, blks, str a, blka, str ❌📉s, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str
python/langchain a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str
python/litellm a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str a, blka, strs, blks, str
python/manual a, blks, blk a, blks, blk a, blks, blk a, blks, blk a, blks, blk
python/openai 🗑️a, blk ✅🆕a, blk, chat ✅🆕a, blk, responses 🗑️a, str ✅🆕a, str, chat ✅🆕a, str, responses 🗑️s, blk ✅🆕s, blk, chat ✅🆕s, blk, responses 🗑️s, str ✅🆕s, str, chat ✅🆕s, str, responses 🗑️a, blk ✅🆕a, blk, chat ✅🆕a, blk, responses 🗑️a, str ❌🆕a, str, chat ✅🆕a, str, responses 🗑️s, blk ✅🆕s, blk, chat ✅🆕s, blk, responses 🗑️s, str ❌🆕s, str, chat ✅🆕s, str, responses 🗑️a, blk ✅🆕a, blk, chat ✅🆕a, blk, responses 🗑️a, str ❌🆕a, str, chat ✅🆕a, str, responses 🗑️s, blk ✅🆕s, blk, chat ✅🆕s, blk, responses 🗑️s, str ❌🆕s, str, chat ✅🆕s, str, responses 🗑️a, blk ✅🆕a, blk, chat ✅🆕a, blk, responses 🗑️a, str ❌🆕a, str, chat ✅🆕a, str, responses 🗑️s, blk ✅🆕s, blk, chat ✅🆕s, blk, responses 🗑️s, str ❌🆕s, str, chat ✅🆕s, str, responses 🗑️a, blk ✅🆕a, blk, chat ✅🆕a, blk, responses 🗑️a, str ❌🆕a, str, chat ✅🆕a, str, responses 🗑️s, blk ✅🆕s, blk, chat ✅🆕s, blk, responses 🗑️s, str ❌🆕s, str, chat ✅🆕s, str, responses 🗑️a, blk ❌🆕a, blk, chat ❌🆕a, blk, responses 🗑️a, str ❌🆕a, str, chat ❌🆕a, str, responses 🗑️s, blk ❌🆕s, blk, chat ❌🆕s, blk, responses 🗑️s, str ❌🆕s, str, chat ❌🆕s, str, responses

MCP Tests

SDK Basic MCP Tool Call Test MCP Multiple Tool Calls Test MCP Prompt Get Test MCP Resource Read Test MCP Tool Error Test
node/mcp sseio sseio sseio sseio sseio
python/fastmcp a, blk, ssea, blk, io a, blk, ssea, blk, io a, blk, ssea, blk, io a, blk, ssea, blk, io a, blk, ssea, blk, io
python/mcp a, blk, sse, hia, blk, sse, loa, blk, io, hia, blk, io, lo a, blk, sse, hia, blk, sse, loa, blk, io, hia, blk, io, lo a, blk, sse, hia, blk, sse, loa, blk, io, hia, blk, io, lo a, blk, sse, hia, blk, sse, loa, blk, io, hia, blk, io, lo a, blk, sse, hia, blk, sse, loa, blk, io, hia, blk, io, lo

Legend: ✅ Pass | ❌ Fail | ✅🔧 Fixed | ❌📉 Regressed | ✅🆕 New (pass) | ❌🆕 New (fail) | 🗑️ Removed | str=streaming blk=blocking a=async s=sync io=stdio sse=sse hi=highlevel lo=lowlevel


Generated by AI SDK Integration Tests

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.

1 participant