SuperAPI AI Directory

ai-sdk-core-v7

Coding & development

View repository

Updated 10-15 17:27

About this skill

Skill: ai-sdk-core

Scope

  • Applies to: Backend AI with Vercel AI SDK v7 (ai package)
  • Does NOT cover: React chat UIs (see ai-sdk-ui)

Assumptions

Principles

  • generateText / streamText for request handlers and one-shot API routes; instructions for system-style prompt
  • Request-handler tool loops: stopWhen: isStepCount(n) on generateText / streamText — not maxSteps, not stepCountIs
  • ToolLoopAgent + generate() / stream() for durable agents — not hand-rolled loops, not new Agent()
  • UI streams: createUIMessageStreamResponse + toUIMessageStream({ stream: result.stream }) from 'ai'. Use these for new handlers and for dedicated stream/SDK updates
  • result.toUIMessageStreamResponse() still works in v7 (deprecated). Leave it only when the task is unrelated to streaming or the SDK
  • Tool results must be JSON-serializable (no Date)
  • System prompt lives in instructions. Client messages must not include { role: 'system' } unless the server fully trusts the payload

Constraints

MUST

  • Read bundled docs before writing calls
  • convertToModelMessages when the client sends UI messages
  • Reject untrusted { role: 'system' } in messages. Do not set allowSystemInMessages: true for client-supplied chat

AVOID

  • toDataStreamResponse / pipeDataStreamToResponse
  • stepCountIs / maxSteps / result.fullStream / top-level system: (use isStepCount, result.stream, instructions)
  • Guessing model IDs

Interactions

Templates

References