Skip to content
PluginStats

@plimsollmark/client weekly downloads statistics

By plimsollmark · npm · AI SDKs

TypeScript client for plimsolld, with AI SDK, Trigger.dev and Mastra executeCode add-ons

View on npm Fresh · Oct 17, 2026

@plimsollmark/client has 50 recorded weekly downloads on npm.

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

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

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
50
Official API · Oct 17, 2026
7-day growth
-94.2%
-811 weekly downloads
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
#1730
Among tracked npm listings

About @plimsollmark/client

@plimsollmark/client

A TypeScript client for plimsolld, plus three add-ons that give an agent an executeCode tool backed by plimsoll: one for the Vercel AI SDK, one for Trigger.dev chat agents and one for Mastra agents. All three sit on the same client and the same per-conversation sandbox layer, so they behave the same way.

The client has no runtime dependencies (Node >= 22.18). It speaks Connect's JSON protocol over fetch and keeps the promises the Go client keeps:

• it states the protocol number on every request; • it checks every answer's run record: it recomputes the request and result digests from what it sent and received (run-records.md), and an answer that does not check, or has no record, is a data_loss error with the result attached, because the code may have run; • it checks the reported isolation tier against the caller's floor the same way; • in a session it tracks the chain of records, so a call made by anyone else who holds the session ID is caught at the next call, and at close; • an error says whether anything ran: notDispatched is set only when the daemon stated that nothing did, and only then is a retry safe; • every request carries a fresh Plimsoll-Request-Id and an answer counts only if it carries the ID back: one that does not (another request's answer, served by an intermediary, or a daemon older than protocol 3) has answerNotBound set and no notDispatched, and a success of that kind is a data_loss error.

The tier it reports is configuration and provider evidence, never runtime attestation (the README's provider table says what each tier means).

Install

The package's version is the plimsoll release it ships in: version X.Y.Z was built and tested against plimsolld vX.Y.Z. The add-ons need their framework installed beside it: ai and zod for /ai-sdk, @trigger.dev/sdk, ai and zod for /trigger, @mastra/core and zod for /mastra.

This package has no dependencies, so it brings nothing into your installation; the frameworks do. One worth knowing about: @trigger.dev/sdk 4.7 pins socket.io-client 4.7.5, whose engine.io-client resolves a ws affected by two advisories fixed in 8.21.0 (GHSA-58qx-3vcg-4xpx and GHSA-96hv-2xvq-fx4p, EXTERNAL · advisory ↗). npm applies overrides only from your application's own package.json, so this package's override cannot reach your installation. Until Trigger.dev moves, add one there, as this repository's tests do:

The client

A cell's files are written into the session's work directory, the interpreter's working directory, before the code runs. Its result adds interpreterStarted (this call began with a fresh interpreter, so nothing defined earlier exists) and interpreterEnded; its exit code is 0 when the code ran, 1 when it raised and 124 at the deadline. Python needs python3 in the daemon's image (plimsoll/sandbox-python has it, with NumPy and SciPy); describe() lists the languages the daemon proved on environments.project.languages.

close() sends one CloseSession however many times it is called, and every later call gets the first one's summary or error: the daemon forgets a session at its first close and would answer a second with NotFound. A close refused not dispatched (aborted before it was sent, say) closed nothing, so a later close() tries again.

Cleartext HTTP is accepted only to a loopback address unless you pass insecureHttp: true.

executeCode for an agent: CodeSandboxes

The executeCode tool takes code, a language ("python" or "javascript"; the languages option sets which the tool offers and the default, Python first unless you say otherwise) and optional files: text files written into the working directory before the code runs, so the model can hand the code another tool's output by path instead of pasting it into the source. The value of the code's last expression is printed, as in a notebook.

Every call of a conversation runs in the same sandbox, so code one call ran can change what later calls see: a call's output is only as trustworthy as the calls before it in that conversation (what a session gives up). The tool's calls are cells, which carry no grant, so no API access is shared between them.

The key decides who shares a sandbox, so derive it from identities you verified. A sandbox holds one trust domain: everything one call leaves there, later calls with the same key see. plimsoll ties a session to the credential that opened it, not to the users behind that credential, so if your service runs many users' code through one plimsoll credential, two users with the same key share one sandbox, files and variables included. Build the key from your own authenticated user and conversation (or job) IDs, never from a string a user or the model supplies, or give each customer a plimsoll credential of their own (who may share a session).

A key is a SandboxKey: either a string (the Trigger.dev add-on passes its run ID) or { owner, conversation }, the user a conversation belongs to and the conversation's ID (the AI SDK add-on passes { owner: userId, conversation: conversationId }, the Mastra add-on { owner: resourceId, conversation: threadId }). The parts are encoded as a JSON array, never joined with a separator, so no user's IDs can spell another user's key or a string key. The owner is what maxSessionsPerOwner counts (below).…

Description from the npm listing.

  • sandbox
  • code-execution
  • ai-agents
  • trigger.dev
  • ai-sdk
  • mastra
  • code-interpreter

Where @plimsollmark/client 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 87, #11 (overall #1731)
All npm: every listing in weekly downloads order
PNG SVG
AI SDKs249 listings · 13 pages · page 12, #20 (overall #240)
AI SDKs: every listing in weekly downloads order
PNG SVG

Charts

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

Adoption over time

@plimsollmark/client weekly downloads on npm, last 90 days: 50 weekly downloads as of Oct 17, 2026.@plimsollmark/clientWeekly downloads on npm · Last 90 days50downloads / week05001K1.5K2K2.5KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
@plimsollmark/client weekly downloads on npm, last 90 days: 50 weekly downloads as of Oct 17, 2026.
PNG SVG

7/30/90-day growth

@plimsollmark/client weekly downloads growth on npm: -94.2% over 7 days, 30-day growth unavailable, 90-day growth unavailable.@plimsollmark/clientWeekly downloads growth on npm50downloads / week now7-day growth-811 weekly downloads-94.2%30-day growth+50 weekly downloadsInsufficient history90-day growth+50 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
@plimsollmark/client weekly downloads growth on npm: -94.2% over 7 days, 30-day growth unavailable, 90-day growth unavailable.
PNG SVG

Ranking history

@plimsollmark/client npm ranking history: currently #1730 (by weekly downloads).@plimsollmark/clientnpm ranking · by weekly downloads · Last 90 days#1730current rank#400#600#800#1000#1200#1400#1600#1800Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
@plimsollmark/client npm ranking history: currently #1730 (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 (543)
Recent weekly downloads observations for @plimsollmark/client
Date (UTC)Weekly downloadsChange vs. previous
50-66
116-215
331-18
349-12
3610
361-101
462-399
861-857
1,718-617
2,335+18
2,317+12
2,3050
2,305+114
2,191—

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/@plimsollmark/client. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.