Files
skills/plugins/document-navigator/docs/persistence/storage/storage-s3
admin 9bf56a806b Move docs/ package mirror into document-navigator plugin
Relocate the ~6k-file docs tree from the repo root into
plugins/document-navigator/docs/ so the plugin is self-contained and
portable. docs/superpowers/ (specs and plans) stays at the repo root.

Moved via cp+rm rather than git mv because directory rename() fails with
EPERM on this WSL /mnt DrvFs mount; git rename-detection pairs the
identical-content files at commit time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 01:10:00 +01:00
..

@suaveplan/storage-s3 - S3-compatible object storage adapter for @suaveplan/storage: implements AbstractStorage backed by @aws-sdk/client-s3 with presigned URLs, multipart upload, retry integration, and OTel instrumentation.

Summary

S3-compatible object storage adapter for @suaveplan/storage. Extends AbstractStorage backed by @aws-sdk/client-s3 with presigned URL generation, multipart upload, retry integration, and OpenTelemetry instrumentation.

Documentation tree

- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_- [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_- [registry](./src/registry/registry/registry.md) — _(no submodules)_- [s3](./src/s3/s3.md) — _(no submodules)_ - [s3](./src/s3/s3.md) — _(no submodules)_- [utils](./src/utils/credential-validator.md) — _(no submodules)_ - [credential-validator](./src/utils/credential-validator.md) — _(no submodules)_

Installation

bun add @suaveplan/storage-s3

Quick Start

import { createS3 } from "@suaveplan/storage-s3";

const storage = createS3({
  bucket: "my-bucket",
  region: "us-east-1",
  accessKeyId: "AKIAIOSFODNN7EXAMPLE",
  secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
});

await storage.set("hello.txt", new TextEncoder().encode("hello"));
const data = await storage.get("hello.txt");

Modules