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
7 ToolName,7 ToolName,
8 ToolResult,8 ToolResult,
9 authToolFailure,9 authToolFailure,
10 classifyHttpStatus,10 classifyProbeResponse,
11 detectInsufficientScope,11 detectInsufficientScope,
12 sortHealthCheckCandidatesByIdentity,12 sortHealthCheckCandidatesByIdentity,
13 extractIdentity,13 extractIdentity,
@@ -962,7 +962,9 @@ export const checkHealthOpenApi = (input: { · 948 unmodified lines
962 } satisfies HealthCheckResult;962 } satisfies HealthCheckResult;
963 }963 }
964 964
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);
966 const identity =968 const identity =
967 status === "healthy" ? extractIdentity(probe.result.data, spec.identityField) : undefined;969 status === "healthy" ? extractIdentity(probe.result.data, spec.identityField) : undefined;
968 // Sample the returned body ONLY on a healthy probe: the sample exists to970 // Sample the returned body ONLY on a healthy probe: the sample exists to