The Wire · Showcase
WORKFLOW HOOKS NOW EXPOSE CONFLICTING RUNS, AI SDK GAINS FILE I/O AND VUE SUPPORT
By RepoJournal · Filed · About Vercel
Workflow SDK exposes conflicting run IDs on hook collisions [ref:1], while the AI SDK ships file operations and Vue composables that unblock tool-building and framework support.
The workflow team shipped a critical piece for debugging production conflicts: `conflictingRunId` now surfaces in hook conflict events [1], giving you the active run ID when two deployments collide on the same hook. This pairs with new versioning docs [2] that explain run pinning, the deployment lifecycle, and when to use `deploymentId: "latest"` for explicit upgrades. The worlds overview got a cleanup too [3], hiding flaky test indicators to focus on ownership and encryption signals.
On the AI side, the sandbox abstraction finally got proper file I/O [4]: streaming `readFile` and `writeFile` methods plus typed convenience wrappers for binary and text. This kills the shell-command wrapper pattern that broke on binary content. Vue developers can now use `useChat` [5], a reactive composable that wraps the Chat transport with auto-recreation on config changes. The SDK also added Cerebras as a chat provider [6], fixing a loop issue where valid structured responses were treated as tool-call signals.
Turborepo cut internal technical debt hard: four Rust crates removed panicking lint allows by replacing assertions with proper error handling [8] [9] [10] [11] [12]. The scope, task hash, frameworks, and microfrontends proxy crates now propagate errors instead of unwrapping, tightening the safety net. CI also got smarter, narrowing the Node test matrix to skip 20/24 for most PRs [7].
Action items
- → Review conflictingRunId handling in your hook conflict error paths vercel/workflow [plan]
- → Adopt readFile/writeFile for tool file operations instead of shell wrappers vercel/ai [plan]
- → Update to Vue composable if you're shipping chat UIs vercel/ai [monitor]
References
- [1] Expose conflicting run id on hook conflicts ↗ vercel/workflow
- [2] Add workflow versioning docs ↗ vercel/workflow
- [3] [codex] Hide flaky worlds indicators ↗ vercel/workflow
- [4] feat(provider-utils): add `readFile` and `writeFile` plus convenience wrappers to `Experimental_Sandbox` abstraction (#15345) vercel/ai
- [5] feat(vue): add useChat composable (#15387) vercel/ai
- [6] feat(cerebras): add chat language model provider (#15420) vercel/ai
- [7] ci: narrow PR test node matrix (#15411) vercel/ai
- [8] chore: Remove Rust re-export shims ↗ vercel/turborepo
- [9] fix: Remove scope panic lint allows (#12855) vercel/turborepo
- [10] fix: Remove task hash panic lints (#12856) vercel/turborepo
- [11] fix: Remove frameworks panic lint allows (#12857) vercel/turborepo
- [12] fix: Remove microfrontends proxy expect lint allow (#12859) vercel/turborepo
FAQ
- What changed in Vercel on May 19, 2026?
- Workflow SDK exposes conflicting run IDs on hook collisions , while the AI SDK ships file operations and Vue composables that unblock tool-building and framework support.
- What should Vercel teams do about it?
- Review conflictingRunId handling in your hook conflict error paths • Adopt readFile/writeFile for tool file operations instead of shell wrappers • Update to Vue composable if you're shipping chat UIs
- Which Vercel repositories shipped on May 19, 2026?
- vercel/workflow, vercel/ai, vercel/turborepo