Skills Agentes

Migrate Ai Sdk V6 To V7

Migra aplicaciones de AI SDK 6.x a AI SDK 7.0; útil al actualizar paquetes de Vercel AI SDK o corregir errores de migración a v7.

Oficial
Estrellas
26.9k

en todo el repo

Actividad
49

0–100, la ruta de este skill

Actualizado
hace 3 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
2.1k tok

69 tok en reposo

Paquete
1 archivo

8 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add vercel/ai --skill migrate-ai-sdk-v6-to-v7 --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Actualiza paquetes 'ai' y '@ai-sdk/*' de la v6.x a la v7.0
  • Renombra APIs como 'system'->'instructions', 'fullStream'->'stream', callbacks 'experimental_*'
  • Ajusta forma de resultados multi-step (usage, content, toolCalls) y helpers de streaming
  • Corrige requisitos de runtime ESM-only y Node.js >=22
  • Revisa paquetes específicos: MCP, Vue Chat, Anthropic, Google providers

Úsalo cuando

  • Al actualizar paquetes de Vercel AI SDK
  • Al corregir errores de migración a v7
  • Cuando el usuario menciona AI SDK v6, v7, upgrade, migration, breaking changes, system to instructions, fullStream, telemetry, tool context o finalStep

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • “Ayúdame a migrar mi app de AI SDK v6 a v7”
    • “Tengo errores de tipos después de actualizar a AI SDK 7.0”
    • “¿Cómo reemplazo fullStream y experimental_telemetry en mi código?”

    SKILL.md

    En inglés

    AI SDK 6 to 7 Migration

    Use content/docs/08-migration-guides/23-migration-guide-7-0.mdx from the AI SDK repo as the source of truth. This skill is the working checklist; read the guide for exact examples or when behavior is unclear.

    Migration Workflow

    1. Ensure the user has a clean backup or committed baseline before editing.
    2. Inspect package.json and lockfiles to identify installed ai, @ai-sdk/*, provider, UI, MCP, and telemetry packages.
    3. Upgrade AI SDK packages to latest versions, and add @ai-sdk/otel only if the project uses OpenTelemetry spans.
    4. Update runtime and module assumptions: Node.js must be >=22, and AI SDK packages are ESM-only. Replace require() imports with ESM imports and add "type": "module" or use .mjs where needed.
    5. Search for the v6 patterns below, migrate only the code that exists, then run typecheck and targeted tests.

    Prefer behavior-preserving changes. When v7 changes semantics, decide whether the app wants the new all-steps behavior or the previous final-step-only behavior.

    Core API Changes

    • experimental_customProvider -> customProvider.
    • experimental_generateImage -> generateImage; Experimental_GenerateImageResult -> GenerateImageResult.
    • experimental_transcribe -> transcribe; Experimental_TranscriptionResult -> TranscriptionResult.
    • experimental_generateSpeech -> generateSpeech; Experimental_SpeechResult -> SpeechResult.
    • experimental_output option/result -> output option/result.
    • CallSettings -> LanguageModelCallOptions & Omit<RequestOptions, 'timeout'>; prepareCallSettings -> prepareLanguageModelCallOptions.
    • stepCountIs -> isStepCount.

    Prompts and Steps

    • Rename top-level system to instructions for generateText, streamText, generateObject, streamObject, and streamUI.
    • Move { role: 'system' } messages from prompt or messages into top-level instructions. Only use allowSystemInMessages: true for trusted persisted messages.
    • Rename experimental_prepareStep to prepareStep.
    • In prepareStep, rename returned system to instructions.
    • In experimental_repairToolCall, use { instructions } instead of { system }.
    • Audit prepareStep behavior: returned instructions and messages now carry forward into later steps. If code depended on one-step-only overrides, rebuild from initialInstructions, initialMessages, and responseMessages explicitly.

    Lifecycle Callbacks

    • experimental_onStart -> onStart.
    • experimental_onStepStart -> onStepStart.
    • onFinish -> onEnd.
    • onStepFinish -> onStepEnd.
    • For embed, embedMany, and rerank, experimental_onFinish -> onEnd.
    • Callback event fields use instructions instead of system.

    Usage, Telemetry, and Include Options

    • usage.cachedInputTokens -> usage.inputTokenDetails.cacheReadTokens.
    • usage.reasoningTokens -> usage.outputTokenDetails.reasoningTokens.
    • OpenTelemetry moved out of ai; install @ai-sdk/otel and call registerTelemetry(new OpenTelemetry(...)) at app startup.
    • Telemetry is enabled by default once an integration is registered. Remove redundant isEnabled: true; use isEnabled: false to opt out per call.
    • Move experimental_telemetry.tracer into the OpenTelemetry constructor.
    • experimental_telemetry -> telemetry.
    • Telemetry integration callbacks: onRerankFinish -> onRerankEnd, onEmbedFinish -> onEmbedEnd. Update tracing-channel subscribers for the same event type names.
    • experimental_include -> include.
    • includeRawChunks -> include.rawChunks.
    • Request and response bodies are excluded by default. If code reads request.body or response.body, opt in with include.requestBody and, for generateText, include.responseBody.

    Streaming, Messages, and Tools

    • StreamTextResult.fullStream -> stream.
    • streamText onChunk now receives all stream parts, including lifecycle, boundary, finish, abort, and error parts. Guard by chunk.type before assuming text/tool/raw content.
    • step.response.messages is no longer accumulated across previous steps. Use result.responseMessages for the full response message history, or flatten result.steps.
    • Tool execution callbacks: experimental_onToolCallStart -> onToolExecutionStart, experimental_onToolCallFinish -> onToolExecutionEnd.
    • Tool callback experimental_context -> context.
    • Split shared runtime data from tool-specific data: use top-level runtimeContext for orchestration state, declare per-tool contextSchema, and pass per-tool values through toolsContext.
    • Move needsApproval from tool() / dynamicTool() into per-call or agent toolApproval.
    • experimental_activeTools -> activeTools.
    • ToolCallOptions -> ToolExecutionOptions.
    • isToolOrDynamicToolUIPart -> isToolUIPart.

    Content Parts and Reasoning

    • Tool result { type: 'media' } is removed; use { type: 'file-data' }.
    • Migrate toModelOutput image-*, file-*, file-id, and image-file-id variants to canonical { type: 'file', mediaType, data: { type: 'data' | 'url' | 'reference', ... } }.
    • User message { type: 'image', image, mediaType? } is deprecated; use { type: 'file', mediaType: 'image' | 'image/*', data }.
    • Add support for the new reasoning-file content type in exhaustive switches, renderers, serializers, and validators.
    • When adopting top-level reasoning, remove overlapping provider-specific reasoning settings from providerOptions unless provider-specific settings intentionally take precedence.

    Multi-Step Result Shape

    • result.usage now includes all steps; result.totalUsage is deprecated. Use result.finalStep.usage for final-step-only usage.
    • Top-level content, toolCalls, staticToolCalls, dynamicToolCalls, toolResults, staticToolResults, dynamicToolResults, files, sources, and warnings now include all steps. Use finalStep for previous final-step-only behavior.
    • Top-level reasoning, reasoningText, request, response, and providerMetadata are deprecated for final-step data. Use result.finalStep.*; for streamText, await result.finalStep.
    • Apply the same result-shape rules to onEnd events.

    Stream Response Helpers

    The streamText result helper methods are deprecated. Replace result methods with top-level stateless helpers:

    • result.toUIMessageStream(...) -> toUIMessageStream({ stream: result.stream, ... }).
    • result.toUIMessageStreamResponse(...) -> toUIMessageStream(...) plus createUIMessageStreamResponse({ stream }).
    • result.pipeUIMessageStreamToResponse(response, ...) -> toUIMessageStream(...) plus pipeUIMessageStreamToResponse({ response, stream }).
    • result.toTextStreamResponse() -> toTextStream({ stream: result.stream }) plus createTextStreamResponse({ stream }).
    • result.pipeTextStreamToResponse(response) -> toTextStream({ stream: result.stream }) plus pipeTextStreamToResponse({ response, stream }).

    Package-Specific Checks

    • MCP: MCPTransportConfig.redirect now defaults to 'error'. Only set redirect: 'follow' for trusted MCP servers that rely on redirects.
    • Vue: @ai-sdk/vue Chat class is deprecated. Prefer useChat, including getter/ref init for reactive chat inputs.
    • Anthropic and @ai-sdk/google-vertex/anthropic: providerMetadata.anthropic.cacheCreationInputTokens was removed. Use usage.inputTokenDetails.cacheWriteTokens; raw Anthropic usage remains at finalStep.providerMetadata?.anthropic?.usage.
    • Google: rename GoogleGenerativeAI* types, classes, and functions to Google*, e.g. createGoogleGenerativeAI -> createGoogle. The google entry point is unchanged.

    Validation

    Run the project typecheck after edits, then the smallest relevant test suite. Also smoke-test streaming, chat UI, tool execution, telemetry, and multi-step flows if the migration touched them. If type errors remain, search the migration guide for the exact removed or renamed symbol before inventing a workaround.

    Reproducido de vercel/ai bajo licencia NOASSERTION. Leer esta página en markdown.

    Archivos

    1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere backup o baseline confirmado antes de editar, y acceso al archivo de la guía de migración 08-migration-guides/23-migration-guide-7-0.mdx del repo AI SDK.

    Detalles

    Creador
    vercel
    Licencia
    NOASSERTION
    Recursos incluidos
    Solo SKILL.md
    Repositorio
    vercel/ai
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de vercel/ai

    Este repo incluye 13 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack ai entero y su comando de instalación

    Actualiza las dependencias del SDK principal de los paquetes harness. Úsalo cuando se solicite actualizar los SDKs de harness o las dependencias del adaptador harness.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 28 días
    Oficialherramientas desarrollo

    Guía para añadir paquetes de proveedores de IA de primera parte al AI SDK. Úsala al crear un paquete de proveedor bajo packages/ para integrar un servicio de IA externo.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialherramientas desarrollo

    Captura fixtures de test con las respuestas reales de las APIs de los proveedores.

    Costo de contexto al activarse
    541 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialtesting qa

    Desarrolla ejemplos para las funciones del AI SDK; úsalo al crear, ejecutar o modificar ejemplos bajo examples/ai-functions/src para validar soporte de providers o demostrar features.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialherramientas desarrollo

    Guía para añadir nuevos paquetes harness de AI SDK. Úsala al crear un paquete @ai-sdk/harness-<name> que adapte un runtime de coding-agent a HarnessV1.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    Oficialherramientas desarrollo

    Añade nuevos IDs de modelo o elimina IDs obsoletos en los proveedores existentes del AI SDK, incluyendo tipos, docs, ejemplos y tests.

    Costo de contexto al activarse
    2.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    Oficialherramientas desarrollo

    Skills relacionados

    Guía para añadir nuevos ejemplos de funciones de IA, usados para probar características específicas contra las APIs reales de los proveedores.

    Costo de contexto al activarse
    234 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 5 meses
    Oficialherramientas desarrollo

    Guía para añadir nuevos paquetes harness de AI SDK. Úsala al crear un paquete @ai-sdk/harness-<name> que adapte un runtime de coding-agent a HarnessV1.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 2 meses
    Oficialherramientas desarrollo

    Guía para añadir paquetes de proveedores de IA de primera parte al AI SDK. Úsala al crear un paquete de proveedor bajo packages/ para integrar un servicio de IA externo.

    Costo de contexto al activarse
    3.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialherramientas desarrollo