Skip to content

Releases: robzilla1738/ContextSDK

v0.3.0 — production hardening

Choose a tag to compare

@robzilla1738 robzilla1738 released this 05 Jun 22:38

contextSDK 0.3.0 — production hardening across data integrity, providers, security, and onboarding. Verified live against real E2B, Vercel, and Modal sandboxes, including cross-provider hops.

Heads-up — one breaking change: contextsdk run now prints the wrapped command's own stdout/stderr and exits with its exit code. Pass --json for the previous { ok, result } envelope.

Highlights

Data integrity

  • Crash-safe saves. Encrypted bundles/images are written under generation-scoped keys and the manifest write is the atomic commit point, guarded by ETag compare-and-swap with re-asserted lock ownership. An interrupted save can no longer strand a manifest pointing at ciphertext it cannot decrypt; superseded objects are garbage-collected.
  • Stronger crypto guarantees. GCM auth-tag (16B) and nonce (12B) lengths are pinned so manifest metadata cannot weaken verification; failed decryptions remove partial plaintext; key buffers are zeroed after use.

Providers

  • e2b SDK v2 with retrying presigned-URL transfers (no more fresh-sandbox connect-timeout flakiness).
  • Session-sized sandbox lifetimes (E2B 30m, Vercel 45m, Modal 60m) with keepAlive heartbeats, replacing the providers' 5-minute defaults that killed agent sessions. The e2b 60-second per-command timeout is disabled for wrapped work.
  • Tree contexts attach via the unprivileged directory-bundle path on every provider — no host mkfs.ext4/e2fsck needed unless you opt into --format ext4.
  • Vercel headless auth pass-through (token/teamId/projectId); adapters only terminate sandboxes they created; the SSH adapter now uses bash, BatchMode, and the bundle path.

Security

  • Archive members are validated inside the runtime as well as on the host: path traversal, link escapes, special files, entry-count and decompressed-size caps, and a realpath escape check. Context ids are validated before they reach storage keys.

Onboarding

  • Works with zero cloud config. When no S3 bucket is set, contexts live in a local encrypted store (~/.contextsdk/storage) via the new FsStorage, which implements the same compare-and-swap semantics as S3.

Packaging & project

  • Bumped to 0.3.0; adapters declare @contextsdk/core as a peer dependency; sideEffects: false; typed RuntimeCommandError.
  • Added CI (Node 20/22/24), root LICENSE, CHANGELOG.md, SECURITY.md, CONTRIBUTING.md. Tests expanded from 74 to 115.

Compatibility

  • 0.3.0 reads contexts written by 0.1.0/0.2.0 (legacy current.* keys migrate on next save); 0.2.0 can read contexts saved by 0.3.0.
  • Packages are ESM-only and require Node >= 20 on a POSIX host (tar, zstd, python3).

See CHANGELOG.md for the full list.

contextSDK v0.1.0

Choose a tag to compare

@robzilla1738 robzilla1738 released this 05 Jun 04:06

contextSDK v0.1.0

Initial public release of contextSDK: a portable encrypted context layer for AI sandboxes and VMs.

What is included

  • Core SDK for encrypted tree bundles, locks, manifests, checkpoints, version metadata, and mounted file APIs.
  • E2B adapter for loop-mounted ext4 materialization.
  • Vercel adapter with persistent named sandbox runtime state for dependency-heavy work.
  • Modal adapter with Volume-backed context directories and portable bundle export.
  • Local CLI source and build output in the repository.
  • Enterprise rollout docs, examples, and matching AGENTS.md / CLAUDE.md project instructions.

npm packages

Installable now:

  • @contextsdk/core@0.1.0
  • @contextsdk/adapter-e2b@0.1.0
  • @contextsdk/adapter-vercel@0.1.0
  • @contextsdk/adapter-modal@0.1.0

CLI status:

  • @contextsdk/cli@0.1.0 was accepted by npm and reports latest: 0.1.0 via npm dist-tag, but public npm view and install currently return 404. Use the built local CLI until npm registry state is corrected.
node packages/cli/dist/cli.js --help