Skip to content
PluginStats

@builddai/ai-kit weekly downloads statistics

By builddai · npm · AI SDKs

Chat contract, tool permissions, model plans and Jev decisions for apps that use buildd's model economy

View on npm Fresh · Oct 17, 2026

@builddai/ai-kit has 912 recorded weekly downloads on npm.

It ranks #1407 of 2,251 tracked npm listings by weekly downloads.

Over the past 7 days it changed by -31.6%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
912
Official API · Oct 17, 2026
7-day growth
-31.6%
-421 weekly downloads
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1407
Among tracked npm listings

About @builddai/ai-kit

@builddai/ai-kit

Shared chat contract, tool permissions, model plans and Jev decisions for apps that use buildd's model economy.

buildd decides which model a call uses and whether it may spend. Your app makes the call with its own provider key and reports a content-free usage record. buildd never sees prompts, tool results or replies.

Pin exact versions: a Jev model bump or a contract change is a new kit release, and you should re-run your evals before taking it. Releases publish on merge: a version bump landing on buildd's dev branch goes to npm with provenance and is tagged ai-kit-v. See CHANGELOG.md.

Entry points

| Import | What | Status |

| @builddai/ai-kit/chat/contract | Wire types: parts, object refs, data parts, approval previews, tool-permission rows. No deps, isomorphic | Ready | | @builddai/ai-kit/chat/server | createChatTurn (the turn runner), defineToolGroups + server-side Allow enforcement, the ChatStore persistence adapter. Peer ai@^7, loaded lazily on the first turn | Ready | | @builddai/ai-kit/chat/react | Thread, composer, tools / scope / tier pickers, thinking panel, approval / hand-off / setup cards, empty state, useKitChat. Peers react@^19, @ai-sdk/react@^4, ai@^7 (all required by this entry) | Ready | | @builddai/ai-kit/chat/theme.css | --kit-* CSS custom properties. No Tailwind | Ready | | @builddai/ai-kit/chat/styles.css | The components' layout, reading only --kit-*. No Tailwind | Ready | | @builddai/ai-kit/chat/schema.sql | Reference Postgres tables for a ChatStore (never run by the kit) | Reference | | @builddai/ai-kit/models | Model-plan client + usage sink. No deps; Node, Bun, edge | Ready | | @builddai/ai-kit/policy | Standalone model policy: surface + tier → provider, model, effort. Local-first, optional remote service with fallback. No deps; Node, Bun, edge | Ready | | @builddai/ai-kit/decide | Jev decisions: typed questions, gating, versioning, eval. Optional peer @typesafe-ai/sdk@0.6.0: install it to call decide; without it the module still loads and decide returns sdk_missing | Ready | | @builddai/ai-kit/surfaces | Jev picks the app's own chips and card: defineSurface (rank and choice slots in one call, shadow first, a slot gated only after an eval of at least 700 held-out rows) and the single-slot defineRankSurface | Ready (shadow) |

Model plans

Ask buildd which model to call and whether it may spend; make the call with your own key; record a content-free receipt.

• Caching. Plans are cached per (tier, surface, workspace, budget) until buildd's expiresAt (60s). Concurrent callers share one request. • Bounded fallback. buildd slower than 800ms, a 5xx, a network error or an unusable answer: the last good plan is served for up to maxStaleSeconds (24h) past expiry with planSource: 'cached', then your defaults with planSource: 'fallback' and planId: null. plan() never blocks longer than the deadline and throws only PlanDeniedError. • Budget. deny throws PlanDeniedError; downgrade returns the cheaper model as buildd sent it (plan.tier ≠ plan.requestedTier). • Receipts. recordUsage never throws. It rebuilds each record from the server's allowlist (plan id, model, provider, tier, kind, planSource, tokens, cost, latency, outcome, feedback), so nothing else you pass can reach buildd, and refuses locally what buildd would reject. Batches of ≤100, one retry on a network error / timeout / 5xx / 429, then dropped and counted in stats(). Optional kind (chat | inference | decision) lets buildd report spend by kind; a decision receipt needs no tier. • Storage. PlanStore is { get(key), set(key, value) }, sync or async. A failing store is treated as a miss. Default: in memory. • onError receives every absorbed failure, for logs.

Through a LiteLLM gateway (0.7.0). buildd's plan still names the real provider and model; pass gateway and the call goes to your proxy instead, on its OpenAI-compatible API. cfg.via is litellm, so build an OpenAI-compatible client whatever cfg.provider says:

• The model is sent as provider/model (LiteLLM's convention). models maps a provider/model or bare model to your proxy's alias; prefix: false sends the bare id. • Receipts keep plan.provider and plan.model, so buildd prices the call as the model it is. List in providers what the gateway can reach. • Chat: modelFromPlan({ models, gateway, create }). The gateway's apiKey pays for the turn (none ⇒ 409 no_key); a gateway function returning null takes the direct key path, so one app can serve both.

Model policy (standalone)

/policy answers "which model?" from two things the app knows structurally: its surface (chat | coding) and the tier it wants. It works with no service and no buildd account; a policy service is optional.

• No intent field. What kind of request it is gets inferred behind the policy, later, when useful; a request carrying intent is refused. • Precedence: app/workspace (+ surface) override → surfaces[surface][tier] → tiers[tier] → fallback. source on the decision says which answered; cached / fallback mean the service did not. • Credentials are separate. The policy token authorises policy calls only; it is never a provider key (one is refused) and the service never returns one (an answer carrying anything credential-shaped is refused). • Experiments: pinned, split (sticky per workspace/app), shadow (the route never changes; experiment.shadow names the challenger for an out-of-band run), adaptive only with a trustworthy signal for its surface (coding: tests, goal criteria, review, merge, rework; chat: none yet). • Outcomes are typed observations keyed by planId, never one score.

The service is apps/model-policy in the buildd repo (a Cloudflare Worker).

Chat

A streamed chat turn on AI SDK v7, with the writes it proposes gated on the server, and the React components that render it. The kit owns the turn and the permission rules; your app owns the tools, the model key, the storage and the look.

Peers

| Entry | Needs |…

Description from the npm listing.

  • buildd
  • ai
  • chat
  • ai-sdk
  • tool-permissions

Where @builddai/ai-kit sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 71, #8 (overall #1408)
All npm: every listing in weekly downloads order
PNG SVG
AI SDKs249 listings · 13 pages · page 7, #13 (overall #133)
AI SDKs: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

@builddai/ai-kit weekly downloads on npm, last 90 days: 912 weekly downloads as of Oct 17, 2026.@builddai/ai-kitWeekly downloads on npm · Last 90 days912downloads / week05001K1.5K2K2.5K3K3.5KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
@builddai/ai-kit weekly downloads on npm, last 90 days: 912 weekly downloads as of Oct 17, 2026.
PNG SVG

7/30/90-day growth

@builddai/ai-kit weekly downloads growth on npm: -31.6% over 7 days, 30-day growth unavailable, 90-day growth unavailable.@builddai/ai-kitWeekly downloads growth on npm912downloads / week now7-day growth-421 weekly downloads-31.6%30-day growth+912 weekly downloadsInsufficient history90-day growth+912 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@builddai/ai-kit weekly downloads growth on npm: -31.6% over 7 days, 30-day growth unavailable, 90-day growth unavailable.
PNG SVG

Ranking history

@builddai/ai-kit npm ranking history: currently #1407 (by weekly downloads).@builddai/ai-kitnpm ranking · by weekly downloads · Last 90 days#1407current rank#1405#1406#1407#1408#1409Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 18, 2026 – Oct 18, 2026 · 1 observations · Updated Oct 17, 2026pluginstats.com
@builddai/ai-kit npm ranking history: currently #1407 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (121)
Recent weekly downloads observations for @builddai/ai-kit
Date (UTC)Weekly downloadsChange vs. previous
912-508
1,420-120
1,540-43
1,583-51
1,6340
1,634-181
1,815+482
1,333+281
1,052-113
1,165-103
1,268-661
1,929-305
2,234-1.1K
3,335—

Similar npm AI SDKs plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/@builddai/ai-kit. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.