mcp-swagger-parser
Version:
Enterprise-grade OpenAPI/Swagger specification parser for Model Context Protocol (MCP) projects
81 lines • 2.35 kB
TypeScript
/**
* Swagger 2.0 to OpenAPI 3.0 converter
*/
/**
* Conversion options for Swagger 2.0 to OpenAPI 3.0
*/
export interface ConversionOptions {
/** Fix up small errors in the source definition */
patch?: boolean;
/** Do not throw on non-patchable errors, add warning extensions */
warnOnly?: boolean;
/** Resolve internal references also */
resolveInternal?: boolean;
/** Override default target version of 3.0.0 */
targetVersion?: string;
/** Preserve $ref siblings */
preserveRefs?: boolean;
/** Property name to use for warning extensions */
warnProperty?: string;
/** URL of original spec, creates x-origin entry */
url?: string;
/** Enable debug mode, adds specification-extensions */
debug?: boolean;
}
/**
* Conversion result
*/
export interface ConversionResult {
/** The converted OpenAPI 3.0 specification */
openapi: any;
/** Warnings generated during conversion */
warnings?: string[];
/** Number of patches applied */
patches?: number;
/** Conversion duration in milliseconds */
duration?: number;
/** Original specification version */
originalVersion?: string;
/** Target specification version */
targetVersion?: string;
}
/**
* Swagger 2.0 to OpenAPI 3.0 converter options
*/
export interface Swagger2OpenAPIOptions {
patch?: boolean;
warnOnly?: boolean;
resolveInternal?: boolean;
targetVersion?: string;
warnProperty?: string;
url?: string;
debug?: boolean;
refSiblings?: 'remove' | 'preserve' | 'allOf';
direct?: boolean;
patches?: number;
warnings?: string[];
}
/**
* Swagger 2.0 to OpenAPI 3.0 converter
*/
export declare class Swagger2OpenAPIConverter {
private options;
constructor(options?: ConversionOptions);
/**
* Convert a Swagger 2.0 specification to OpenAPI 3.0
*/
convert(swagger2Spec: any): Promise<ConversionResult>;
/**
* Convert from object with additional validation
*/
convertWithValidation(swagger2Spec: any): Promise<ConversionResult>;
/**
* Update conversion options
*/
updateOptions(options: Partial<ConversionOptions>): void;
/**
* Get current conversion options
*/
getOptions(): Swagger2OpenAPIOptions;
}
//# sourceMappingURL=swagger2openapi-converter.d.ts.map