@web-ai-sdk/all
One-install meta-package for web-ai-sdk, the TypeScript SDK for the Web’s Built-in AI APIs. Pulls in every @web-ai-sdk/* building block: prompt, summarizer, translator, detector, writer, rewriter, proofreader, and webmcp, each as a regular dependency so consumers don’t have to track them individually.
Status
Section titled “Status”Each underlying scoped package is independently supported in Chrome / Edge with the corresponding Built-in AI flag enabled. See the per-package READMEs for browser support details:
@web-ai-sdk/prompt@web-ai-sdk/summarizer@web-ai-sdk/translator@web-ai-sdk/detector@web-ai-sdk/writer@web-ai-sdk/rewriter@web-ai-sdk/proofreader@web-ai-sdk/webmcp
Install
Section titled “Install”pnpm add @web-ai-sdk/all# or: npm i @web-ai-sdk/all / bun add @web-ai-sdk/allreact is a peer dependency only when you import any /react subpath.
Two equivalent import shapes
Section titled “Two equivalent import shapes”Subpath imports (recommended for production)
Section titled “Subpath imports (recommended for production)”Tree-shakes cleanly; the bundler only pulls in the building blocks you actually use.
import { ask, createSession } from "@web-ai-sdk/all/prompt";import { summarize } from "@web-ai-sdk/all/summarizer";import { translate } from "@web-ai-sdk/all/translator";import { detect } from "@web-ai-sdk/all/detector";import { write } from "@web-ai-sdk/all/writer";import { rewrite } from "@web-ai-sdk/all/rewriter";import { proofread } from "@web-ai-sdk/all/proofreader";import { registerTool, defineTool } from "@web-ai-sdk/all/webmcp";import { usePrompt, useSession } from "@web-ai-sdk/all/prompt/react";import { useSummarizer } from "@web-ai-sdk/all/summarizer/react";Namespaced root (handy for prototyping)
Section titled “Namespaced root (handy for prototyping)”import { prompt, summarizer, translator, detector, writer, rewriter, proofreader, webmcp } from "@web-ai-sdk/all";
await prompt.ask({ input: "Hello" });await summarizer.summarize({ language: "en", input: document.body.innerText });The root entry namespaces each scoped package because several exports (e.g. checkAvailability, isAvailable, defaultCacheKey) appear in more than one package and would collide on a flat re-export.
Why a meta-package?
Section titled “Why a meta-package?”The scoped packages are deliberately small lifecycle wrappers; a meta-package just spares consumers from tracking eight separate installs and version pins. The aggregator is a thin re-export shell with no behaviour of its own; all logic, tests, and version history live in the scoped packages.
Versioning
Section titled “Versioning”The aggregator and the eight scoped packages release together via a Changesets fixed group: every release ships all nine at the same version. Pin a single number, get the whole suite.
License
Section titled “License”MIT.