The Wire · Showcase
Laravel AI drops streaming protocol bomb
By RepoJournal · Filed · About Laravel
The Vercel streaming protocol is getting a long-overdue overhaul that finally surfaces errors to your AI SDK client.
The laravel/ai desk is rewriting the Vercel protocol stream to match what the AI SDK client actually expects [1]. Usage and finish reason are no longer thrown away, and provider failures after streaming starts now produce an error state instead of a dead spinner. The follow-up refactor renames `toVercelProtocolLine()` and flattens the usage object to the Vercel AI SDK schema [2]. While these changes land, remember the 0.11 upgrade guide is now available [3]. On the boost desk, there are landmines: pointing `boost:add-skill` at a skill's own directory found nothing, because the path filter only kept directories one level below [4]. Worse, running it against a repo with a root-level `SKILL.md` could delete everything in `.ai/skills` [5]. Both are being fixed. And under `ANSI_QUOTES`, MySQL schema reads were throwing and returning an empty table list; quoting the table type as a string literal fixes it [6]. Still, with 20 commits and 11 PRs across three repos, this is a day for careful upgrading, not blind deploys.
One email a day. Unsubscribe in one click.
Keep up with Laravel in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review the Vercel protocol streaming changes before upgrading laravel/ai laravel/ai [plan]
- → If you run boost:add-skill against a single-skill repo, test after the SKILL.md fix laravel/boost [immediate]
- → Patch MySQL schema reads if you use ANSI_QUOTES mode laravel/boost [plan]
References
- [1] Align the Vercel UI message stream with the data stream protocol ↗ laravel/ai
- [2] Refactor Vercel protocol streaming to handle errors correctly laravel/ai
- [3] Add 0.11 upgrade guide (#897) laravel/ai
- [4] Accept any skill path shape in boost:add-skill, and keep the audit gate correct ↗ laravel/boost
- [5] Ignore a repository-root SKILL.md so add-skill cannot delete the whole skills directory ↗ laravel/boost
- [6] Quote the MySQL table type as a string literal so schema reads work under ANSI_QUOTES ↗ laravel/boost