fix(types): restore provider breaker status guard (#10088)

This commit is contained in:
backryun
2026-08-12 20:25:10 +09:00
committed by GitHub
parent 755a65be46
commit c9282248eb
2 changed files with 7 additions and 0 deletions

View File

@@ -88,6 +88,7 @@ import {
import { buildModalityBridgeHeader } from "@/lib/guardrails/modalityBridge/bridgeStats";
import {
isAntigravityMissingProjectError,
isProviderBreakerFailureStatus,
PROVIDER_BREAKER_FAILURE_STATUSES,
resolveStreamReadinessClassificationError,
shouldTripProviderBreakerForResult,

View File

@@ -16,6 +16,7 @@
import { test } from "node:test";
import assert from "node:assert/strict";
import { shouldTripProviderBreakerForResult } from "../../src/sse/handlers/chat.ts";
import { isProviderBreakerFailureStatus } from "../../src/sse/handlers/chatPredicates.ts";
import { shouldRecordProviderBreakerFailure } from "../../open-sse/services/combo/comboPredicates.ts";
// The exact abort shape described in the PR body / issue #7907: no upstream
@@ -26,6 +27,11 @@ const ABORT_RESULT = {
error: "request_signal_aborted",
} as const;
test("single-model breaker status guard accepts only provider-level failures", () => {
assert.equal(isProviderBreakerFailureStatus(502), true);
assert.equal(isProviderBreakerFailureStatus(429), false);
});
test("chat.ts single-model path: breaker stays CLOSED on a client abort (502 default, no errorCode)", () => {
assert.equal(shouldTripProviderBreakerForResult(ABORT_RESULT, false, false), false);
});