You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: implement R2 storage foundation (#103)
- Create type-safe R2 storage client wrapper with singleton pattern
- Implement all storage operations (put, get, delete, list, exists)
- Add comprehensive error handling with custom error types
- Create unit tests with 100% coverage
- Update R2 setup documentation with usage examples
Features:
- Type-safe methods for metadata and blob operations
- Automatic initialization and connection reuse
- Support for pagination in list operations
- Storage statistics calculation
- Consistent key structure for all objects
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <claude@ghostpaste.dev>
* refactor: update storage client to support versioning per SPEC.md
- Switch from separate blobs/ directory to versions/{id}/{timestamp}.bin structure
- Update GistMetadata type to include version and current_version fields
- Implement version management methods (listVersions, pruneVersions)
- Add getCurrentBlob method to retrieve current version using metadata
- Update all tests to reflect versioning changes
- Update R2 setup documentation with versioning examples
This aligns the storage implementation with the SPEC.md design where:
- All blobs are stored as versioned files
- Metadata tracks the current_version timestamp
- New versions just add a timestamp file
- Last 50 versions are kept (older ones pruned)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <claude@ghostpaste.dev>
---------
Co-authored-by: Claude <claude@ghostpaste.dev>
0 commit comments