Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 1.44 KB

File metadata and controls

20 lines (17 loc) · 1.44 KB

Changelog

[0.1.0] — 2026-06-01

Added

  • Initial release of the official @stemsplit/sdk Node.js / TypeScript SDK
  • StemSplit client with sub-resources: jobs, youtubeJobs, soundcloudJobs, denoiseJobs, account
  • client.jobs.create() — accepts a local file path, Buffer, Blob, or sourceUrl; handles the presigned upload dance automatically
  • StemJob.waitForCompletion() — polls until the job is terminal; throws typed JobFailedError / JobExpiredError
  • StemJob.downloadAll(dir) — downloads all stems to a local directory in one call
  • client.youtubeJobs.create() and waitForCompletion() for YouTube URL separation
  • client.soundcloudJobs.create() and waitForCompletion() for SoundCloud URL separation
  • client.denoiseJobs.create(), waitForCompletion(), and downloadResult() for voice denoising
  • client.account.get() for balance queries
  • client.jobs.iterAll() async generator for paginated iteration
  • Typed error hierarchy: AuthenticationError, InsufficientCreditsError, RateLimitError, NotFoundError, BadRequestError, InternalServerError, JobFailedError, JobExpiredError, NetworkError, SignatureVerificationError
  • webhooks.verifyAndParse() and webhooks.verify() — HMAC-SHA256 webhook signature verification
  • Automatic retries with exponential backoff + jitter on transient errors and 429s
  • Full TypeScript types matching the REST API; exports py.typed-equivalent declaration: true