Use `StackShift\AssetsClient` from Composer. Laravel applications may register it as a singleton and pass `UploadedFile::getRealPath()` to upload or replace. Mutations require the current revision; resumable-session creation accepts an idempotency key.