Skip to content

Conversation

@sam-goodwin
Copy link
Contributor

Summary

Adds four new S3 data plane capabilities: ListObjectsV2, HeadObject, CopyObject, and Multipart Upload operations. Each capability includes automated IAM policy generation and environment variable injection for Lambda bindings.

Implementation

  • ListObjectsV2: List objects in a bucket with prefix and pagination support
  • HeadObject: Retrieve object metadata without downloading the object
  • CopyObject: Copy objects within or between buckets with metadata support
  • Multipart Upload: Full lifecycle support for multipart uploads (create, upload part, complete, abort)

All capabilities follow the existing Effect-based pattern with provider implementations for automatic policy and environment variable binding to Lambda functions.

Test Coverage

Added comprehensive test suite (bucket.data-plane.test.ts) covering all operations and error cases.

Examples

Added FileApi example demonstrating real-world usage of all S3 data plane operations through a Lambda function.

🤖 Generated with Claude Code

Add ListObjectsV2, HeadObject, CopyObject, and Multipart Upload (create, upload part, complete, abort) capabilities to S3. Each capability includes automated IAM policy generation and environment variable injection for Lambda bindings.

- Add bucket.list-objects-v2.ts for ListObjectsV2 operations
- Add bucket.head-object.ts for object metadata retrieval
- Add bucket.copy-object.ts for object copying with metadata support
- Add bucket.multipart-upload.ts with all multipart operations
- Add comprehensive test suite for data plane APIs
- Add FileApi example demonstrating all S3 operations
- Update AWS providers to register new S3 capabilities

All capabilities follow existing patterns with Effect-based functions and provider implementations.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 12, 2026

Open in StackBlitz

npm i https://pkg.pr.new/alchemy-run/alchemy-effect@34

commit: c6ceebc

@sam-goodwin sam-goodwin merged commit f2986ab into main Jan 12, 2026
2 checks passed
@sam-goodwin sam-goodwin deleted the sam-goodwin/s3-data-plane-apis branch January 12, 2026 02:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants