/** * Thrown by the AI analyze clients (`analyzeResource`, `analyzeResourcesBatch`) * when the backend rejects an enqueue with HTTP 429 because the caller's * per-cycle AI credit allowance is exhausted. * * The backend's pre-Bedrock quota gate (cdki-ai-service AnalyzeEnqueue / * AnalyzeBatchEnqueue) returns 429 *before* invoking the worker, so an * exhausted caller never triggers Bedrock spend. On the CLI side the * orchestrator (analysisJob.ts) catches this to: * 1. trip a one-shot latch so the remaining resources skip the AI call * entirely - every further enqueue would 429 too, so there's no point * hammering the backend; and * 2. surface a single clear "finishing static-only" message instead of a * generic per-resource failure for every remaining resource. * * Static findings are produced before the AI phase runs, so a tripped latch * degrades cleanly to static-only output with no lost work. */ export declare class QuotaExhaustedError extends Error { /** * Discriminant flag. `instanceof` is the primary check, but this survives * cases where the prototype chain is lost (bundling boundaries, structured * error re-wrapping), so detection stays reliable. */ readonly isQuotaExhausted = true; constructor(resourceId?: string); } /** Type guard used by the orchestrator to recognise a quota-exhaustion throw. */ export declare const isQuotaExhaustedError: (e: unknown) => e is QuotaExhaustedError;