@apistudio/apim-cli
Version:
CLI for API Management Products
44 lines (37 loc) • 1.33 kB
text/typescript
/**
* Copyright IBM Corp. 2024, 2025
*/
import { Severity } from '../../common/enums/aplication.enum.js';
import { IRange } from '../../common/models/lint-range.model.js';
import { IlintResponse } from '../../common/models/lint-response.model.js';
import { AiErrorRemediationInfo } from './ai-error-remediations-info.model.js';
export type AiErrorRemediationOperations = 'ADD' | 'DELETE' | 'UPDATE';
// Saves the error remediations for each file under the whole file path as key
export interface AiErrorRemediationsGroup {
[filePath: string]: AiErrorRemediations | null;
}
export interface AiErrorRemediations {
isFileManuallyUpdated: boolean;
updatedSpec: unknown[];
diffs: AiErrorRemediationDiffs;
}
// Saves the individual error remediaitons with the spec file path as key
export interface AiErrorRemediationDiffs {
[path: string]: {
validationErrors: AiErrorRemediationInfo[];
addedPaths: string[];
deletedPaths: string[];
operation: AiErrorRemediationOperations;
};
}
export interface CommonLintResponse {
path: string;
severity: Severity;
range: IRange;
code: string | number;
spectralMessage: string;
spectralRuleInfo: IlintResponse;
aiReccommendationMessage?: string;
aiErrorRemediationInfo?: AiErrorRemediationInfo;
triggeredBy?: 'Default linting' | 'Ruleset';
}