Add userAgent client option for application identification

Merged
MU
16h ago
+10-1

Adds an optional userAgent client option that prepends the application's identifier to the SDK's default User-Agent. Blank values keep the existing default, and explicit headers retain their override behavior.

Validation: ./scripts/lint passes formatting, ESLint, build, TypeScript, package type checks, and publint.


[!NOTE]
Low Risk
Small, opt-in change to default User-Agent composition with no auth or data-path impact.

Overview
Adds an optional userAgent field on ClientOptions so callers can identify their app (e.g. my-app/1.0) in outbound API traffic.

When set, getUserAgent() prepends that trimmed value to the existing SDK string (Limrun/JS <version>); empty/whitespace-only values leave behavior unchanged. Constructor JSDoc documents the option and notes that an explicit User-Agent in defaultHeaders or per-request headers still wins via the existing header merge order.

Reviewed by Cursor Bugbot for commit 1718ba24811332a60e977edd3baaea7cf730a14d. Bugbot is set up for automated code reviews on this repo. Configure here.