@bugbug-io/sdk 14.15.1 → 14.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -8351,7 +8351,8 @@ var InternalServerError = class extends BugBugError {
8351
8351
  }
8352
8352
  };
8353
8353
  var ServiceUnavailableError = class extends BugBugError {
8354
- constructor(message = "Service temporarily unavailable", response, request) {
8354
+ retryAfter;
8355
+ constructor(message = "Service temporarily unavailable", response, request, retryAfter) {
8355
8356
  super(
8356
8357
  SDK_ERROR_CODES.SERVICE_UNAVAILABLE,
8357
8358
  message,
@@ -8361,6 +8362,7 @@ var ServiceUnavailableError = class extends BugBugError {
8361
8362
  request
8362
8363
  );
8363
8364
  this.name = "ServiceUnavailableError";
8365
+ this.retryAfter = retryAfter;
8364
8366
  }
8365
8367
  };
8366
8368
  var UnexpectedResponseError = class extends BugBugError {
@@ -9855,7 +9857,7 @@ var buildUserAgent = (clientType, version) => `BugBug ${clientType.toUpperCase()
9855
9857
  // ../core/package.json
9856
9858
  var package_default = {
9857
9859
  name: "@bugbug-io/core",
9858
- version: "14.15.1",
9860
+ version: "14.16.0",
9859
9861
  private: true,
9860
9862
  type: "module",
9861
9863
  main: "dist/index.js",
@@ -10395,6 +10397,14 @@ function parseJsonOrText(text) {
10395
10397
  return text;
10396
10398
  }
10397
10399
  }
10400
+ function parseRetryAfterMs(header, now2 = Date.now()) {
10401
+ const value = header?.trim();
10402
+ if (!value) return void 0;
10403
+ if (/^\d+$/.test(value)) return parseInt(value, 10) * 1e3;
10404
+ const date = Date.parse(value);
10405
+ if (Number.isNaN(date)) return void 0;
10406
+ return Math.max(0, date - now2);
10407
+ }
10398
10408
 
10399
10409
  // src/services/apiClient/apiClient.ts
10400
10410
  var BugBugApiClient = class {
@@ -10638,10 +10648,8 @@ var BugBugApiClient = class {
10638
10648
  requestWithResponseContext
10639
10649
  );
10640
10650
  case 429: {
10641
- const retryAfter = response?.headers.get("Retry-After");
10642
- const retryAfterMs = retryAfter ? parseInt(retryAfter) * 1e3 : void 0;
10643
10651
  throw new RateLimitError(
10644
- retryAfterMs,
10652
+ parseRetryAfterMs(response?.headers.get("Retry-After")),
10645
10653
  errorMessage || "Rate limit exceeded",
10646
10654
  response,
10647
10655
  requestWithResponseContext
@@ -10659,7 +10667,8 @@ var BugBugApiClient = class {
10659
10667
  throw new ServiceUnavailableError(
10660
10668
  errorMessage || "Service temporarily unavailable. Please try again later.",
10661
10669
  response,
10662
- requestWithResponseContext
10670
+ requestWithResponseContext,
10671
+ parseRetryAfterMs(response?.headers.get("Retry-After"))
10663
10672
  );
10664
10673
  default:
10665
10674
  if (status === void 0) {
@@ -15260,7 +15269,7 @@ var NEVER = INVALID;
15260
15269
  // ../api-schema/dist/schemas/common.js
15261
15270
  var UuidSchema = external_exports.string().min(1).describe("UUID");
15262
15271
  var DateTimeSchema = external_exports.string().describe("ISO 8601 date-time string");
15263
- var CursorSchema = external_exports.string().describe("Opaque cursor returned as next_token.");
15272
+ var CursorSchema = external_exports.string().describe("Opaque cursor for the next page: pass the `next_token` value from the previous response. There is no page number parameter.");
15264
15273
  var PageSizeSchema = external_exports.number().int().min(1).max(100).describe("Number of results per page.");
15265
15274
  var StepTimingSecondsSchema = external_exports.number().min(0).max(300).nullable().optional();
15266
15275
 
@@ -15541,6 +15550,7 @@ var AssertStepSchema = StepBaseSchema.extend({
15541
15550
  selectorsPresets: external_exports.array(SelectorsPresetSchema).describe("Target selectors used by the element-related assertion."),
15542
15551
  assertionProperty: AssertionPropertySchema.describe("Assertion property to inspect, for example text or value."),
15543
15552
  assertionType: AssertionTypeSchema.describe("Assertion operator used by BugBug."),
15553
+ assertionCaseInsensitive: external_exports.boolean().nullable().optional().describe("Ignore letter case in text comparisons. Null uses legacy behavior; omitted updates keep the current setting."),
15544
15554
  assertionExpectedValue: external_exports.string().nullable().describe("Expected assertion value when applicable."),
15545
15555
  assertionJavaScript: external_exports.string().nullable().describe("Custom JavaScript used by script-based assertions."),
15546
15556
  assertionVariableName: external_exports.string().nullable().describe("Variable name used by variable-based assertions.")
@@ -15678,6 +15688,7 @@ var IfConditionStepSchema = StepBaseSchema.extend({
15678
15688
  selectorsPresets: external_exports.array(SelectorsPresetSchema).optional().describe("Target selectors used to locate the element for the condition."),
15679
15689
  assertionProperty: AssertionPropertySchema.describe("Assertion property to inspect for the branch condition."),
15680
15690
  assertionType: AssertionTypeSchema.describe("Assertion operator used to evaluate the branch condition."),
15691
+ assertionCaseInsensitive: external_exports.boolean().nullable().optional().describe("Ignore letter case in text comparisons. Null uses legacy behavior; omitted updates keep the current setting."),
15681
15692
  assertionExpectedValue: external_exports.string().nullable().describe("Expected assertion value when applicable."),
15682
15693
  assertionJavaScript: external_exports.string().nullable().describe("Custom JavaScript used by script-based conditions."),
15683
15694
  assertionVariableName: external_exports.string().nullable().describe("Variable name used by variable-based conditions.")