@autohq/cli 0.1.349 → 0.1.350

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.
@@ -23492,7 +23492,7 @@ Object.assign(lookup, {
23492
23492
  // package.json
23493
23493
  var package_default = {
23494
23494
  name: "@autohq/cli",
23495
- version: "0.1.349",
23495
+ version: "0.1.350",
23496
23496
  license: "SEE LICENSE IN README.md",
23497
23497
  publishConfig: {
23498
23498
  access: "public"
@@ -67657,6 +67657,9 @@ function classifyRetryableCodexTurnFailure(message) {
67657
67657
  if (!message) {
67658
67658
  return null;
67659
67659
  }
67660
+ if (isDeterministicClientErrorMessage(message)) {
67661
+ return null;
67662
+ }
67660
67663
  const explicitRetryAfterMs = parseExplicitRetryAfterMs(message);
67661
67664
  const retryAfterMs = explicitRetryAfterMs ?? parseTryAgainDelayMs(message);
67662
67665
  if (!isRateLimitMessage(message) && explicitRetryAfterMs === null) {
@@ -67684,6 +67687,17 @@ function isRateLimitMessage(message) {
67684
67687
  message
67685
67688
  ) || /\b429\b[^\n.]{0,80}\btoo many requests\b/i.test(message) || /\brate[-\s]?limit(?:ed| reached)?\b/i.test(message);
67686
67689
  }
67690
+ function isDeterministicClientErrorMessage(message) {
67691
+ const status = clientErrorStatusCode(message);
67692
+ return status !== null && status !== 429;
67693
+ }
67694
+ function clientErrorStatusCode(message) {
67695
+ const status = message.match(
67696
+ /\b(?:http\s*)?(?:status(?:\s*code)?|code)\s*[:=]?\s*(4\d\d)\b/i
67697
+ ) ?? message.match(/\bhttp\s+(4\d\d)\b/i) ?? message.match(/\bfailed\s*\((4\d\d)\)/i);
67698
+ const value2 = Number.parseInt(status?.[1] ?? "", 10);
67699
+ return Number.isInteger(value2) ? value2 : null;
67700
+ }
67687
67701
  function parseExplicitRetryAfterMs(message) {
67688
67702
  return parseDelayMs(
67689
67703
  message.match(
package/dist/index.js CHANGED
@@ -30534,7 +30534,7 @@ var init_package = __esm({
30534
30534
  "package.json"() {
30535
30535
  package_default = {
30536
30536
  name: "@autohq/cli",
30537
- version: "0.1.349",
30537
+ version: "0.1.350",
30538
30538
  license: "SEE LICENSE IN README.md",
30539
30539
  publishConfig: {
30540
30540
  access: "public"
@@ -45323,6 +45323,9 @@ function classifyRetryableCodexTurnFailure(message) {
45323
45323
  if (!message) {
45324
45324
  return null;
45325
45325
  }
45326
+ if (isDeterministicClientErrorMessage(message)) {
45327
+ return null;
45328
+ }
45326
45329
  const explicitRetryAfterMs = parseExplicitRetryAfterMs(message);
45327
45330
  const retryAfterMs = explicitRetryAfterMs ?? parseTryAgainDelayMs(message);
45328
45331
  if (!isRateLimitMessage(message) && explicitRetryAfterMs === null) {
@@ -45350,6 +45353,17 @@ function isRateLimitMessage(message) {
45350
45353
  message
45351
45354
  ) || /\b429\b[^\n.]{0,80}\btoo many requests\b/i.test(message) || /\brate[-\s]?limit(?:ed| reached)?\b/i.test(message);
45352
45355
  }
45356
+ function isDeterministicClientErrorMessage(message) {
45357
+ const status = clientErrorStatusCode(message);
45358
+ return status !== null && status !== 429;
45359
+ }
45360
+ function clientErrorStatusCode(message) {
45361
+ const status = message.match(
45362
+ /\b(?:http\s*)?(?:status(?:\s*code)?|code)\s*[:=]?\s*(4\d\d)\b/i
45363
+ ) ?? message.match(/\bhttp\s+(4\d\d)\b/i) ?? message.match(/\bfailed\s*\((4\d\d)\)/i);
45364
+ const value = Number.parseInt(status?.[1] ?? "", 10);
45365
+ return Number.isInteger(value) ? value : null;
45366
+ }
45353
45367
  function parseExplicitRetryAfterMs(message) {
45354
45368
  return parseDelayMs(
45355
45369
  message.match(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autohq/cli",
3
- "version": "0.1.349",
3
+ "version": "0.1.350",
4
4
  "license": "SEE LICENSE IN README.md",
5
5
  "publishConfig": {
6
6
  "access": "public"