Storage
Storage S3 Adapter Integration
Alpha
DSAR is currently in alpha. APIs, package surfaces, configuration, and documentation may change as the project evolves.
This document describes how to register and use @dsar/storage-s3 with backend runtime.
Runtime Registration
Config Fields
bucket(required)region(required)endpoint(optional for S3-compatible providers)accessKeyId,secretAccessKey,sessionToken(optional explicit credentials)forcePathStyle(optional)prefix(optional, defaultartifacts)timeoutMs(optional, default3000)retryMaxAttempts(optional, default3)
Key Strategy Reference
Default deterministic key layout:
<prefix>/<requestId>/<manifestId>/<category>/<redaction>/<thirdParty>/<artifactName>
Fallback behavior:
- missing
requestId=>request-unknown - missing
manifestId=>manifest-unknown - missing
category=>uncategorized - missing name/id =>
artifact.bin
Error and Retry Behavior Matrix
| Category | Retriable | Examples |
|---|---|---|
timeout | yes | timeout, aborted request |
rate_limit | yes | throttling, 429 |
network | yes | socket/connection failures |
auth | no | unauthorized, access denied |
validation | no | malformed key/input |
config | no | invalid adapter config |
unknown | no | unmatched provider errors |
Manifest Linkage
Storage operations preserve manifest-linked metadata on artifact references:
requestIdmanifestIdmanifestHashmanifestSignature
This metadata is available via putObject results and headObject/getObject metadata for review and audit correlation paths.