evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
Build a validator that analyzes OpenAPI documents to determine which security schemes are required for specific operations.
Create a TypeScript module that examines OpenAPI 3.0 documents and extracts security requirements information. The validator should identify:
The validator should help developers understand the authentication requirements for each API operation.
Your implementation should provide a function that:
Return an object with:
hasRequirements: boolean indicating if any security is requiredrequirements: array of requirement groups (each group represents an OR option)Given a document with document-level security requiring "oauth2" with ["read"] scope, when requesting an operation without operation-level security, it returns the document-level requirements @test
Given a document where an operation defines security requiring "api_key", when requesting that operation, it returns the operation-level requirements and ignores document-level security @test
Given an operation with security array containing two objects (OR logic), when analyzed, it returns two requirement groups showing either scheme satisfies the requirement @test
Given an operation with a security object containing two schemes (AND logic), when analyzed, it returns one requirement group containing both schemes @test
/**
* Analyzes security requirements for a specific operation in an OpenAPI document
*/
export function analyzeSecurityRequirements(
document: OpenAPIV3.Document,
path: string,
method: string
): SecurityAnalysis;
/**
* Result of security requirements analysis
*/
export interface SecurityAnalysis {
hasRequirements: boolean;
requirements: SecurityRequirementGroup[];
}
/**
* A group of security schemes that must all be satisfied (AND logic)
* Multiple groups in the requirements array represent OR logic
*/
export interface SecurityRequirementGroup {
schemes: Array<{
name: string;
scopes: string[];
}>;
}Provides TypeScript type definitions for OpenAPI 3.0 documents including security types.