export interface CustomWidgetAiEvaluationCase {
id: string;
request: string;
documentationUrl: string;
apiNotes: string;
acceptance: {
sourceAuth?: { type: "none" | "bearer" | "apiKeyHeader" | "apiKeyQuery"; name?: string };
requestRules: ReadonlyArray<{
label: string;
pathIncludes: string;
kind?: "query" | "action";
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
trigger?: "load" | "manual";
optionReference?: boolean;
parameterReference?: boolean;
invalidates?: boolean;
}>;
templateComponents: readonly string[];
};
}
export const CUSTOM_WIDGET_AI_EVALUATION_CASES: readonly CustomWidgetAiEvaluationCase[] = [
{
id: "pokedex",
documentationUrl: "https://pokeapi.co/docs/v2",
request:
"Create a polished Pokédex browser with searchable Pokémon, a responsive result grid, manual detail loading, sprites, types, abilities, base-stat progress bars, and clear loading, empty, and failure states.",
apiNotes:
"Use GET /api/v2/pokemon?limit=