feat: 增加项目无关的本地清洗评审器
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
export type RunStatus = "success" | "failed" | "unstable";
|
||||
|
||||
export interface ModifierSummary {
|
||||
modifier_position: number;
|
||||
modifier_id: string;
|
||||
modifier_version: string;
|
||||
parameters: unknown;
|
||||
applicability: string;
|
||||
change_count: number;
|
||||
stage_available: boolean;
|
||||
}
|
||||
|
||||
export interface DocumentSummary {
|
||||
document_id: string;
|
||||
source_label: string;
|
||||
status: RunStatus;
|
||||
current_kind: "success_output" | "partial_output";
|
||||
input_sha256: string;
|
||||
current_sha256: string;
|
||||
modifier_count: number;
|
||||
completed_stage_count: number;
|
||||
change_count: number;
|
||||
error_count: number;
|
||||
residual_proposal_count: number;
|
||||
}
|
||||
|
||||
export interface CollectionSummaryResponse {
|
||||
schema_version: 1;
|
||||
collection: {
|
||||
label: string;
|
||||
status: RunStatus;
|
||||
};
|
||||
documents: DocumentSummary[];
|
||||
summary: {
|
||||
document_count: number;
|
||||
success_count: number;
|
||||
failed_count: number;
|
||||
unstable_count: number;
|
||||
change_count: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ChangeDetail {
|
||||
modifier_position: number;
|
||||
modifier_id: string;
|
||||
modifier_version: string;
|
||||
proposal_index: number;
|
||||
edit_index: number;
|
||||
reason: string;
|
||||
location: {
|
||||
line: number;
|
||||
column: number;
|
||||
};
|
||||
span: {
|
||||
start: number;
|
||||
end: number;
|
||||
};
|
||||
editor_range: {
|
||||
start: number;
|
||||
end: number;
|
||||
};
|
||||
before: string;
|
||||
after: string;
|
||||
before_sha256: string;
|
||||
after_sha256: string;
|
||||
}
|
||||
|
||||
export interface ErrorDetail {
|
||||
code: string;
|
||||
stage: string;
|
||||
modifier_position: number;
|
||||
modifier_id: string;
|
||||
modifier_version: string;
|
||||
diagnostic_type: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface ResidualProposalDetail {
|
||||
modifier_position: number;
|
||||
modifier_id: string;
|
||||
modifier_version: string;
|
||||
proposal_index: number;
|
||||
snapshot_sha256: string;
|
||||
reason: string;
|
||||
edits: unknown[];
|
||||
}
|
||||
|
||||
export interface DocumentComparisonResponse {
|
||||
schema_version: 1;
|
||||
document: DocumentSummary;
|
||||
modifiers: ModifierSummary[];
|
||||
input_markdown: string;
|
||||
current_markdown: string | null;
|
||||
changes: ChangeDetail[];
|
||||
errors: ErrorDetail[];
|
||||
residual_proposals: ResidualProposalDetail[];
|
||||
}
|
||||
|
||||
export interface ModifierStageResponse {
|
||||
schema_version: 1;
|
||||
document_id: string;
|
||||
modifier: ModifierSummary;
|
||||
before_sha256: string;
|
||||
after_sha256: string;
|
||||
before_markdown: string;
|
||||
after_markdown: string;
|
||||
changes: ChangeDetail[];
|
||||
}
|
||||
|
||||
export interface ApiErrorResponse {
|
||||
error: {
|
||||
code: string;
|
||||
message: string;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user