
Security News
Insecure Agents Podcast: How to Keep AI Agents From Bypassing Security Controls
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.
@strav/storage
Advanced tools
Strav storage layer — Storage abstraction + LocalStorage (Bun.file + node:fs) + S3Storage (Bun.S3Client, works with AWS / R2 / B2 / Tigris / MinIO via the endpoint option). Kernel-free; mirrors @strav/cache + @strav/broadcast.
Object storage / filesystem abstraction for Strav 1.0. Two drivers — local filesystem and S3-compatible (AWS / R2 / B2 / Tigris / MinIO via the endpoint option). Apps inject the abstract Storage token; the provider in the container picks the concrete driver. Same dependency shape as @strav/cache and @strav/broadcast.
import { Storage } from '@strav/storage'
@inject()
class ReportsController {
constructor(private readonly storage: Storage) {}
async upload(req: Request): Promise<Response> {
const body = await req.arrayBuffer()
await this.storage.put(`reports/${ulid()}.pdf`, body, {
contentType: 'application/pdf',
visibility: 'private',
})
return new Response(null, { status: 201 })
}
async share(path: string): Promise<string> {
return this.storage.signedUrl(path, { expiresIn: 3600 })
}
}
Canonical docs live in docs/storage/README.md.
| Driver | Subpath | Notes |
|---|---|---|
| Local | @strav/storage (root) + @strav/storage/local | Bun.file + Bun.write + node:fs/promises. Single-node deployments + dev. |
| S3-compatible | @strav/storage/s3 | Bun's built-in S3Client — no third-party Bun S3 client dep. Works with AWS S3, Cloudflare R2, Backblaze B2, Tigris, MinIO via the endpoint option. |
All paths funnel through a strict normalizer (no ../, no absolute paths, no backslashes) so controller code stays portable between drivers. Visibility maps to S3 ACL ('public' → public-read, 'private' → private); on LocalStorage it's a hint only — apps serving uploads via a static handler get the "public" semantic for free.
FAQs
Strav storage layer — Storage abstraction + LocalStorage (Bun.file + node:fs) + S3Storage (Bun.S3Client, works with AWS / R2 / B2 / Tigris / MinIO via the endpoint option). Kernel-free; mirrors @strav/cache + @strav/broadcast.
The npm package @strav/storage receives a total of 5 weekly downloads. As such, @strav/storage popularity was classified as not popular.
We found that @strav/storage demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.

Security News
upm uses Node.js to deliver fast npm installs in about 250 KB, with a JavaScript API and security defaults.