History

health: classify Google disabled-API 403 as misconfigured, not expired

A SERVICE_DISABLED / accessNotConfigured 403 means the API is disabled in the OAuth client's project; the credential is fine. Probes now classify it as a new 'misconfigured' status: amber 'API disabled' badge, the provider's own remediation text (console link clickable) on the row, and no reconnect prompt.

Rhys Sullivan committed 4 months ago

Commit ee67b0e1 parent a546d2c9 files · +262 −37Browse files

Showing the changes to packages/plugins/openapi/src (1 of 9 files). Show all

Unified · Split

packages/plugins/openapi/src/sdk/backing.ts+4−2
@@ -7,7 +7,7 @@ import { · 6 unmodified lines
77 ToolName,
88 ToolResult,
99 authToolFailure,
10− classifyHttpStatus,
10+ classifyProbeResponse,
1111 detectInsufficientScope,
1212 sortHealthCheckCandidatesByIdentity,
1313 extractIdentity,
@@ -962,7 +962,9 @@ export const checkHealthOpenApi = (input: { · 948 unmodified lines
962962 } satisfies HealthCheckResult;
963963 }
964964
965− const status = classifyHttpStatus(probe.result.status);
965+ // Body-aware: a configuration 403 (Google accessNotConfigured /
966+ // SERVICE_DISABLED) reads misconfigured, not expired.
967+ const status = classifyProbeResponse(probe.result.status, probe.result.error);
966968 const identity =
967969 status === "healthy" ? extractIdentity(probe.result.data, spec.identityField) : undefined;
968970 // Sample the returned body ONLY on a healthy probe: the sample exists to