AI SDK 7.0.0 removes exports that earlier renames left behind as deprecated aliases, and deletes a long tail of internal types alongside them. Four experimental-prefixed functions, two names v6 already deprecated, and the types for streamText’s finish callbacks are gone or renamed. Anyone importing the old names from ai needs a typecheck to find every site before upgrading. Many more break code whose imports are already correct: four experimental_ option keys on the two generation calls, the two token counts v7 moved under detail objects, the property the response helpers take their stream on, the options object handed to a tool’s execute, and a middleware written against the v3 provider types.
What changed
- Two experimental-prefixed exports are gone outright.
experimental_customProviderandexperimental_generateImageare no longer published;customProviderandgenerateImageare the names. - Two more keep working under the old name, for now.
experimental_transcribeandexperimental_generateSpeechare still exported in v7, but deprecated:transcribeandgenerateSpeechare what the documentation uses. - Two names v6 already deprecated are deleted in v7.
ToolCallOptionsis gone;ToolExecutionOptionsis the type a tool’sexecutefunction receives.isToolOrDynamicToolUIPartis gone;isToolUIPartmeans what it meant. - Two more are renamed with the old name kept.
stepCountIsisisStepCountnow, andCallSettingsisLanguageModelCallOptions, which also split request-level options into a separateRequestOptionstype. streamText’s finish callbacks were retyped and renamed together.StreamTextOnFinishCallback,StreamTextOnStepFinishCallbackandTelemetrySettingsare no longer exported;onFinishbecameonEndandonStepFinishbecameonStepEndin the same release.- Two keys on the telemetry options object stop type checking.
metadataandtracerunderexperimental_telemetryare both gone in v7, which renamed that type fromTelemetrySettingstoTelemetryOptions. These fire at the call rather than at an import, ongenerateText,streamText,generateObject,streamObject,embed,embedManyandrerank. - The
experimental_prefix comes off four options on the generation calls.experimental_activeTools,experimental_outputandexperimental_contextare gone from bothgenerateTextandstreamText, andexperimental_prepareStepfromgenerateText, which is the only one of the two that ever declared it. Three of them simply lose the prefix.experimental_contextbecomesruntimeContext, and v7 types that value through the call rather than asunknown.experimental_outputis gone fromgenerateText’s result as well, whereoutputis the read. - The two token counts moved under detail objects.
usage.reasoningTokensisusage.outputTokenDetails.reasoningTokensnow, andusage.cachedInputTokensisusage.inputTokenDetails.cacheReadTokens. Both are matched on theusageandtotalUsageof agenerateTextorstreamTextresult rather than on the property name alone, so a provider’s own usage object beside them is not reported. Tokens written to the cache are a separate count at v7,cacheWriteTokens, which 6.0.282 did not report at all. createTextStreamResponseandpipeTextStreamToResponserenamedtextStreamtostream. The value is the sameReadableStream<string>, andstatusandresponsebeside it are unchanged.generateObjectandstreamObjectno longer take atimeout. v7 takesOmit<RequestOptions, 'timeout'>for those two and no other member of the options intersection declares the name, so the option is gone rather than moved.generateTextandstreamTextkeep it, which is why the two object calls are named one at a time.- Two telemetry values are no longer copied onto each step.
functionIdandmetadataare gone fromStepResult. v7’scallIdis not the same value: it identifies the generation call the step belongs to rather than carrying your grouping key. A step’sexperimental_contextisruntimeContextthere too, matching the option. streamText’s result names its partsstream. The result declaresstreamat 7.0.0 and marksfullStreamdeprecated in its favour, with the sameTextStreamParttype and the same order. Nothing is removed:fullStreamis still declared at 7.0.105.streamObject’s result keepsfullStreamwith no marker, so a loop over that one is not a finding.- A tool’s
executerequires acontextin its options. v7 takes its tool types from@ai-sdk/provider-utils5.0.0, whoseToolExecutionOptionsdeclarescontextas required; 6.0.282 took them from 4.0.51, which declared an optionalexperimental_contextand nocontext. The SDK supplies the options for its own calls, so this lands on tests and wrappers that callexecutethemselves and build the literal by hand. LanguageModelMiddlewareis declared against the v4 provider types. v7 aliases it toLanguageModelV4Middlewarewhere v6 aliasedLanguageModelV3Middleware. The seven members keep their names, buttransformParams,wrapGenerate,wrapStream,overrideProvider,overrideModelIdandoverrideSupportedUrlsnow receive and returnLanguageModelV4values. v7 keepsspecificationVersionoptional and typed as a string on purpose, so a middleware declaring'v3'still checks; what stops checking is code inside the middleware that names a v3 type or reads a call option or result field v4 no longer carries.- A long tail of internal type exports, gone or newly deprecated. Telemetry hooks (
TelemetryIntegration,bindTelemetryIntegration,registerTelemetryIntegration),prepareToolsAndToolChoicefromai/internal,OutputInterface, and the callback and event types theon*Eventnaming replaced are removed or marked deprecated. The table below names each one.
Before and after
The clearest deterministic patch is the experimental-prefix rename, on a file that calls four of them and re-exports one under another name:
import { experimental_customProvider, experimental_generateImage, experimental_generateSpeech, experimental_transcribe,} from 'ai';
export const registry = experimental_customProvider({ languageModels: {} });export const image = () => experimental_generateImage({ model: null as never, prompt: 'a cat' });export const speech = () => experimental_generateSpeech({ model: null as never, text: 'hello' });export const text = () => experimental_transcribe({ model: null as never, audio: new Uint8Array() });
export { experimental_transcribe as transcribeAudio };After npx emendant fix, every import and every reference is renamed, including inside the re-export:
import { customProvider, generateImage, generateSpeech, transcribe,} from 'ai';
export const registry = customProvider({ languageModels: {} });export const image = () => generateImage({ model: null as never, prompt: 'a cat' });export const speech = () => generateSpeech({ model: null as never, text: 'hello' });export const text = () => transcribe({ model: null as never, audio: new Uint8Array() });
export { transcribe as transcribeAudio };The other four deterministic patches are the same specifier rewrite: ToolCallOptions to ToolExecutionOptions, isToolOrDynamicToolUIPart to isToolUIPart, stepCountIs to isStepCount, and CallSettings to LanguageModelCallOptions.
Fourteen more rename a property rather than an import specifier. One of them rewrites fullStream to stream, and only where the receiver is what streamText returned, so the read on streamObject’s result beside it is left alone:
const result = streamText({ model, prompt: 'hi' });for await (const part of result.fullStream) console.log(part);const object = streamObject({ model, prompt: 'hi', schema: undefined as never });for await (const part of object.fullStream) console.log(part);After the patch the first loop reads result.stream and the second is unchanged. A pipeThrough or a tee over the same read is the same site and needs no other edit.
The largest group of property renames is the four experimental_ options, reported at the key in the options literal:
return generateText({ model, prompt: 'hi', experimental_activeTools: ['weather'], experimental_output: undefined, experimental_prepareStep: () => undefined, experimental_context: { tenant: 'acme' },});After the patches, three keys have lost the prefix and the fourth has a new name:
return generateText({ model, prompt: 'hi', activeTools: ['weather'], output: undefined, prepareStep: () => undefined, runtimeContext: { tenant: 'acme' },});The token counts move a path rather than a name, so usage.reasoningTokens becomes usage.outputTokenDetails.reasoningTokens and usage.cachedInputTokens becomes usage.inputTokenDetails.cacheReadTokens, on the usage and the totalUsage of both results. generateText’s result.experimental_output becomes result.output. The two response helpers take stream where they took textStream, and a shorthand property is rewritten as a pair: createTextStreamResponse({ status: 200, textStream }) becomes createTextStreamResponse({ status: 200, stream: textStream }).
Thirty-eight changes are assisted rather than deterministic, and two of them are worth showing. The first is the streamText callback types. Emendant reports the import of StreamTextOnFinishCallback, StreamTextOnStepFinishCallback or TelemetrySettings, but writing the replacement means typing the callback from the option it fills (onEnd or onStepEnd) rather than from a name that no longer exists, and that needs a named model provider.
The second is the tool options literal, which is reported at the literal rather than at an import, because the key that would be the site is the one that is missing:
await weather.execute({ city: 'Exeter' }, { toolCallId: 'a', messages: [] });The value to add is the tool’s context, an empty object where the tool declares no contextSchema and otherwise a value of that schema’s type. toolCallId and messages stay as they are. An options object passed by name, or a literal holding a spread, is not reported, since the key may be there at runtime.
The other thirty-six assisted changes are the removed and newly deprecated exports the table names, and the option keys on consumeStream, experimental_generateVideo and the two internal helpers. Emendant reports the site and asks a model for the name that belongs there, because the name is documented by the release and is not in the two published packages the entry was derived from.
Migration guidance and its limits
Apply the twenty-two deterministic patches. Eight rename an import specifier and fourteen rename a property, which is an option key in a literal or a read on a result. The values either side are unchanged, so the call sites are correct once the name is, with one thing to check after: runtimeContext is typed through the call’s own runtime context parameter where experimental_context was unknown, so a context object that carried no type of its own may now need one.
The thirty-eight assisted changes need a model provider named on the command line or in emendant.json. Without one they are reported with their guidance and nothing is sent anywhere. Two of them are assisted because the edit means reading how your code builds an object: the callback types have to be written from the option they fill, and the tool context from the tool’s own contextSchema. The rest are assisted because the replacement name is documented by the release and is not in the two published packages, so the entry states the construct that broke and asks a model for what belongs there instead.
Read those patches before applying them. A deterministic patch is the same rewrite in every repository, from parameters a person curated; an assisted patch is one model’s answer to one prompt. Both are bounded to the site and both are proved the same way, in a copy of your repository moved to 7.0.0 and put through whichever of your own typecheck and tests it finds there, and a patch that fails is withheld. A repository declaring neither gets its patches graded structurally checked, which says the edits applied and the workspace matched again, and that nothing compiled or ran the code. Where the release documented no replacement at all, such as OutputInterface and the telemetry hooks, the guidance tells the model to decline rather than invent a name, so expect some of these to come back unfixed and stay yours to write.
Seven findings are report only, and each for its own reason. The two telemetry keys are the first: neither has a destination inside the call. A custom Tracer now goes to the OpenTelemetry constructor from @ai-sdk/otel and is registered once with registerTelemetry, which the migration guide places at application startup rather than in the file the finding is in. metadata has no replacement key at all; per-call attributes reach telemetry through includeRuntimeContext and includeToolsContext, which name properties of a runtime context rather than carrying a literal map.
timeout on generateObject and streamObject is report only because there is no option to rename it to. Pass an abortSignal from a timer instead, which both releases accept.
StepResult’s functionId and metadata are report only for the same reason as the telemetry keys: v7 keeps no per-step copy of what you passed in. Read them from the telemetry settings you handed to the call, which still declares both.
LanguageModelMiddleware is report only for a third reason: the edit is inside your middleware’s own body, wherever it names a v3 type or reads a field the v4 call options and results dropped. The finding says a value is built against the type, not which members that value names, which is why its confidence is medium and no patch is offered.
This page needs emendant@0.3.0 or later. The entries behind six of the rows below use a matcher kind or a receiver no earlier client reads, and an older CLI skips the whole file for this release with a coverage warning rather than reporting part of it.
This release also renamed the system prompt option to instructions, and moved onRerankFinish and onEmbedFinish to onRerankEnd and onEmbedEnd. Neither is a name the table below covers, so nothing here detects them. A clean scan says a file uses none of the constructs below, nothing more.
What Emendant detects, fixes and verifies
67 changes in ai 7.0.0. 22 patched by a transform, 38 patched only with a model provider you name, 7 report only. Every patch is proved in a copy of your repository before it is offered, and its header names the checks that passed. This table is generated from the feed entry, so it cannot claim more than the entry does.
| Change | Severity | Detects | Fix | Verified by |
|---|---|---|---|---|
experimental_customProvider was removedai-npm-7.0.0-experimental-customprovider-removed | Breaking |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
experimental_generateImage was removedai-npm-7.0.0-experimental-generateimage-removed | Breaking |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
ToolCallOptions was removedai-npm-7.0.0-toolcalloptions-removed | Breaking deprecated in 6.0.0 |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
isToolOrDynamicToolUIPart was removedai-npm-7.0.0-istoolordynamictooluipart-removed | Breaking deprecated in 6.0.0 |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
experimental_transcribe became transcribeai-npm-7.0.0-experimental-transcribe-renamed | Deprecation |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
experimental_generateSpeech became generateSpeechai-npm-7.0.0-experimental-generatespeech-renamed | Deprecation |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
stepCountIs became isStepCountai-npm-7.0.0-stepcountis-renamed | Deprecation |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
CallSettings became LanguageModelCallOptionsai-npm-7.0.0-callsettings-renamed | Deprecation |
| Patch, written by the replace-import-specifier transform | Your typecheck and tests |
The streamText callback types were removedai-npm-7.0.0-streamtext-callback-types-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed Experimental_GenerateImageResultai-npm-7.0.0-experimental-generate-image-result-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed GenerateTextOnToolCallFinishCallbackai-npm-7.0.0-generate-text-on-tool-call-finish-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed GenerateTextOnToolCallStartCallbackai-npm-7.0.0-generate-text-on-tool-call-start-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed OutputInterfaceai-npm-7.0.0-output-interface-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextOnStartCallbackai-npm-7.0.0-stream-text-on-start-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextOnStepStartCallbackai-npm-7.0.0-stream-text-on-step-start-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextOnToolCallFinishCallbackai-npm-7.0.0-stream-text-on-tool-call-finish-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextOnToolCallStartCallbackai-npm-7.0.0-stream-text-on-tool-call-start-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed TelemetryIntegrationai-npm-7.0.0-telemetry-integration-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed ToolLoopAgentOnFinishCallbackai-npm-7.0.0-tool-loop-agent-on-finish-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed ToolLoopAgentOnStepFinishCallbackai-npm-7.0.0-tool-loop-agent-on-step-finish-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed bindTelemetryIntegrationai-npm-7.0.0-bind-telemetry-integration-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed registerTelemetryIntegrationai-npm-7.0.0-register-telemetry-integration-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated Experimental_SpeechResultai-npm-7.0.0-experimental-speech-result-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated Experimental_TranscriptionResultai-npm-7.0.0-experimental-transcription-result-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated GenerateTextOnFinishCallbackai-npm-7.0.0-generate-text-on-finish-callback-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated GenerateTextOnStepFinishCallbackai-npm-7.0.0-generate-text-on-step-finish-callback-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnFinishEventai-npm-7.0.0-on-finish-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnStartEventai-npm-7.0.0-on-start-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnStepFinishEventai-npm-7.0.0-on-step-finish-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnStepStartEventai-npm-7.0.0-on-step-start-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnToolCallFinishEventai-npm-7.0.0-on-tool-call-finish-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated OnToolCallStartEventai-npm-7.0.0-on-tool-call-start-event-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated UIMessageStreamOnFinishCallbackai-npm-7.0.0-uimessage-stream-on-finish-callback-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Deprecated UIMessageStreamOnStepFinishCallbackai-npm-7.0.0-uimessage-stream-on-step-finish-callback-deprecated | Deprecation |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed prepareToolsAndToolChoiceai-npm-7.0.0-internal-prepare-tools-and-tool-choice-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextEndEventai-npm-7.0.0-stream-text-end-event-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed StreamTextOnEndCallbackai-npm-7.0.0-stream-text-on-end-callback-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed ToolChoiceViolationErrorai-npm-7.0.0-tool-choice-violation-error-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed UIMessageStreamOutcomeai-npm-7.0.0-uimessage-stream-outcome-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed UIMessageStreamWriterWithOutcomeai-npm-7.0.0-uimessage-stream-writer-with-outcome-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed abortSignal from the first argument of consumeStream()ai-npm-7.0.0-consume-stream-argument-1-abort-signal-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed frameImages from the first argument of experimental_generateVideo()ai-npm-7.0.0-experimental-generate-video-argument-1-frame-images-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed inputReferences from the first argument of experimental_generateVideo()ai-npm-7.0.0-experimental-generate-video-argument-1-input-references-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed timeout from the first argument of prepareCallSettings()ai-npm-7.0.0-internal-prepare-call-settings-argument-1-timeout-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
Removed additionalRetryableError from the first argument of prepareRetries()ai-npm-7.0.0-internal-prepare-retries-argument-1-additional-retryable-error-removed | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
metadata is gone from the telemetry optionsai-npm-7.0.0-telemetry-metadata-removed | Breaking |
| Report only | Not applicable |
tracer is gone from the telemetry optionsai-npm-7.0.0-telemetry-tracer-removed | Breaking |
| Report only | Not applicable |
streamText's result names its parts stream instead of fullStreamai-npm-7.0.0-stream-text-result-fullstream-deprecated | Deprecation |
| Patch, written by the rename-property transform | Your typecheck and tests |
A tool's execute takes a context in its optionsai-npm-7.0.0-tool-execution-options-context-required | Breaking |
| Patch, only when you name a model provider | Your typecheck and tests |
LanguageModelMiddleware is declared against the v4 provider typesai-npm-7.0.0-language-model-middleware-members-changed | Breaking medium confidence |
| Report only | Not applicable |
generateText's result no longer declares experimental_outputai-npm-7.0.0-generate-text-result-experimental-output-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
LanguageModelUsage moved reasoningTokens under outputTokenDetailsai-npm-7.0.0-language-model-usage-reasoning-tokens-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
LanguageModelUsage replaced cachedInputTokens with inputTokenDetails.cacheReadTokensai-npm-7.0.0-language-model-usage-cached-input-tokens-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
generateText no longer accepts experimental_activeToolsai-npm-7.0.0-generate-text-argument-1-experimental-active-tools-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
streamText no longer accepts experimental_activeToolsai-npm-7.0.0-stream-text-argument-1-experimental-active-tools-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
generateText no longer accepts experimental_outputai-npm-7.0.0-generate-text-argument-1-experimental-output-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
streamText no longer accepts experimental_outputai-npm-7.0.0-stream-text-argument-1-experimental-output-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
generateText no longer accepts experimental_prepareStepai-npm-7.0.0-generate-text-argument-1-experimental-prepare-step-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
generateText renamed experimental_context to runtimeContextai-npm-7.0.0-generate-text-argument-1-experimental-context-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
streamText renamed experimental_context to runtimeContextai-npm-7.0.0-stream-text-argument-1-experimental-context-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
generateObject no longer accepts timeoutai-npm-7.0.0-generate-object-argument-1-timeout-removed | Breaking |
| Report only | Not applicable |
streamObject no longer accepts timeoutai-npm-7.0.0-stream-object-argument-1-timeout-removed | Breaking |
| Report only | Not applicable |
createTextStreamResponse renamed textStream to streamai-npm-7.0.0-create-text-stream-response-argument-1-text-stream-renamed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
pipeTextStreamToResponse renamed textStream to streamai-npm-7.0.0-pipe-text-stream-to-response-argument-1-text-stream-renamed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
StepResult no longer carries functionIdai-npm-7.0.0-step-result-function-id-removed | Breaking |
| Report only | Not applicable |
StepResult no longer carries metadataai-npm-7.0.0-step-result-metadata-removed | Breaking |
| Report only | Not applicable |
StepResult renamed experimental_context to runtimeContextai-npm-7.0.0-step-result-experimental-context-removed | Breaking |
| Patch, written by the rename-property transform | Your typecheck and tests |
emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.
Coverage
- Snapshot
2026-09-20.1, sequence 27, signed 20 September 2026- Minimum CLI
emendant@0.3.0- Feed entry
feed/npm/ai/7.0.0.json
emendant feed status shows the snapshot your machine holds, and emendant feed update fetches the latest.
Primary sources
Every claim above was checked against these, each pinned to the release rather than to a default branch.
- Migration guidevercel/ai at ai@7.0.0
- package.jsonvercel/ai at ai@7.0.0
- ai@7.0.0npm registry, the published package
- ai@6.0.258npm registry, the published package
- ai@6.0.279npm registry, the published package
- ai@6.0.280npm registry, the published package
- ai@6.0.0npm registry, the published package
- Changelogvercel/ai at ai@7.0.0
- ai@6.0.282npm registry, the published package
- ai@7.0.105npm registry, the published package
- @ai-sdk/provider-utils@5.0.0npm registry, the published package
- @ai-sdk/provider-utils@4.0.51npm registry, the published package
- @ai-sdk/provider@4.0.0npm registry, the published package
- @ai-sdk/provider@3.0.16npm registry, the published package
Scan your repository
Runs locally, reads your lockfile and source, sends nothing anywhere.
npx emendant scanThen npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.