import type { FinalReviewOutput } from '../../services/final-review/final-review-types.js'; /** Whitelist of supported `--llm-provider` values for `peaks prepare-final-review`. */ export declare const SUPPORTED_LLM_PROVIDERS: readonly ["anthropic", "stub"]; export type SupportedLlmProvider = (typeof SUPPORTED_LLM_PROVIDERS)[number]; /** * Default stays `stub` (unlike `peaks audit goal`, whose default is the real * provider): the scaffold route is what CI and the registered e2e contract * exercise without credentials, and the stub envelope is labelled * `status: 'scaffold-only'` / `providerBinding: 'stub'` so it can never be * read as a review. */ export declare const DEFAULT_LLM_PROVIDER: SupportedLlmProvider; export declare function isSupportedLlmProvider(value: string): value is SupportedLlmProvider; export type FinalReviewStatus = 'scaffold-only' | 'review-complete' | 'not-applicable'; /** * Which LLM produced this envelope. `unknown` is reserved for failure * envelopes, where no binding was ever established. */ export type FinalReviewProviderBinding = 'stub' | 'anthropic-messages-api' | 'unknown'; export interface FinalReviewData { readonly status: FinalReviewStatus; readonly rid: string; readonly sessionId: string; readonly auditGoalPath: string; readonly serviceWired: boolean; readonly providerBinding: FinalReviewProviderBinding; /** Model id the bound provider answered with (real-provider runs only). */ readonly model?: string; /** The 4-dim review the service produced (real-provider runs only). */ readonly review?: FinalReviewOutput; /** * Environment variables that were absent when binding failed. Surfaced on * `data` because `fail()` redacts `message` through * `redactSensitiveErrorMessage`, whose catch-all pattern matches the words * `token` / `api_key` and would blank out the very names an operator needs. */ readonly missingEnv?: readonly string[]; } /** * Empty placeholder used by `fail()` envelopes. `status` is * `'not-applicable'` on the error path so consumers can tell * "this is a placeholder on a failure" apart from "this is a real * scaffold-only success". */ export declare function emptyFinalReviewData(rid: string, sessionId: string, auditGoalPath: string, missingEnv?: readonly string[]): FinalReviewData; export type PrepareFinalReviewOptions = { project: string; sessionId: string; llmProvider?: string; base?: string; json?: boolean; };