Skip to content

Pre-GA Design Partner and Early Access only. Request access

Helix Docs
v0.92.0 CLI · SDK

Binary request and response bodies

Authenticated calls carry bodies byte for byte, so binary uploads and downloads work end to end. Redirects come back to you instead of being followed.

npm install @trayai/helix-cli@0.92.0 @trayai/helix-sdk@0.92.0
View as Markdown

What matters in this release

Changed

ctx.http.authed() sends and returns bodies verbatim

Strings, Uint8Array, ArrayBuffer, Blob, FormData, and streams are all accepted and sent unchanged, so a string body is no longer rejected and never arrives JSON-quoted. Plain objects and arrays are still serialized as JSON. Binary uploads to a third-party API work end to end. Request bodies cap at 16 MB; use the target API's multipart or chunked flow above that.

Read the docs →
Changed

Response bodies are decoded by content type

JSON is parsed as before, textual types come back as a string, and anything else is returned as raw bytes, so a binary download arrives unmangled instead of corrupted by a text decode.

Read the docs →

Everything else that changed

Changed

  • Redirect responses are returned to your code with their location header3xx responses are no longer followed automatically, so you decide whether to follow one. Docs →
  • SdkError from the authenticated HTTP path carries a code on error.detail Docs →
  • The MCP credential test tool handles binary datatray_call_credential_broker takes a bodyBase64 argument for raw bytes, mutually exclusive with body, and returns binary responses inline up to 64 KiB. It accepts a raw string body, sends it verbatim, returns the upstream status and headers unchanged including 4xx and 5xx, and gives rejected calls a machine-readable code. Docs →

Removed

  • SdkError.unsupportedBodyType is no longer thrownThe body types that used to raise it are now sent verbatim, so there is nothing left to reject. Docs →

All releases

Loading search…

Jump to a section

tab to move · esc to close