ai@6.0.312 declares metadata on TelemetrySettings with a different type. Code that imports TelemetrySettings from ai and supplies or reads metadata is affected. The release changelog lists only dependency updates, so the declarations are the evidence for this change.
What changed
TelemetrySettingsdeclaresmetadatadifferently. The type is the same name exported fromai, and the member now carries another type. The change is breaking.- Where it reaches you.
TelemetrySettingsis the type ofexperimental_telemetryon the call options of several functions, including embedding and reranking calls. Any code that builds that object with ametadatamember, or reads one back, is the code to check. - What the scan reports. It reports an import of
TelemetrySettingsfromaithat is named in a type position. Naming the type does not by itself mean the changed member reaches your code, so a site that never touchesmetadatamay need no edit.
Before and after
This finding has no deterministic rewrite, so there is no before and after to copy. The scan matches a site like this one:
import type { TelemetrySettings } from 'ai';In the declarations of ai@6.0.312, the type is attached to call options like this:
experimental_telemetry?: TelemetrySettings;The declaration text around that option is the same in 6.0.311 and 6.0.312. What changed is the type declared for metadata, so an edit has to follow what the release declares for that member and leave the rest of the file alone.
Migration guidance and its limits
Run emendant scan to list every site that imports TelemetrySettings from ai. The finding has an assisted fix, and that needs a named model provider. Name one on the command line and emendant fix tries each site. Without one, the finding is reported with its guidance and nothing is patched.
Emendant runs your typecheck and tests against a patch where your project has them, and a patch that fails is withheld. A site that only passes a settings object along may need no edit. Where a site cannot be brought into line with what the release declares, the finding stays open for you to review.
No finding in this release is report only, and none has a deterministic patch. If you build a metadata value for telemetry, compare it by hand with the type the release declares.
The scan does not report a TelemetrySettings imported from another module, so a local compatibility shim is not a finding. A clean scan covers this one type import only. It does not show that the rest of your upgrade is complete.
What Emendant detects, fixes and verifies
1 change in ai 6.0.312. 0 automatic fixes, 1 fixes requiring a model provider you choose, 0 report only. Each patch states which checks passed. Understand patch evidence.
| Change | Severity | Detects | Fix | Verified by |
|---|---|---|---|---|
Changed the members of TelemetrySettingsai-npm-6.0.312-telemetry-settings-members-changed | Breaking medium confidence |
| Patch, only when you name a model provider | Your typecheck and tests |
emendant explain <change-id> prints any row's entry, guidance and sources at the terminal.
Coverage
Requires emendant@0.3.0 or later. Run emendant feed update to get the latest coverage.
Coverage details
- Snapshot
2026-10-21.2, sequence 52, signed 21 October 2026- Feed entry
feed/npm/ai/6.0.312.json
emendant feed status shows the snapshot your machine holds.
Primary sources
Scan your repository
Find affected code without editing your files.
npx emendant scanThen npx emendant fix writes the patches the table says exist. The getting started guide covers the flags and the patch grades.
Related release pages
- Earlier ai release: AI SDK 6.0.0: what breaks when you upgrade ai from 5.x
- Later ai release: AI SDK 7.0.0: what breaks when you upgrade ai from 6.x
The AI SDK migration guide lists every release page and says which to read for your upgrade.