deepsource-mcp-server
Version:
Model Context Protocol server for DeepSource
60 lines (59 loc) • 1.97 kB
TypeScript
/**
* @fileoverview AnalysisRun mapper
*
* Maps between DeepSource API models and domain AnalysisRun aggregates.
*/
import { AnalysisRun } from '../../domain/aggregates/analysis-run/analysis-run.aggregate.js';
import { DeepSourceRun } from '../../models/runs.js';
import { CommitInfo, RunSummary, RunStatus } from '../../domain/aggregates/analysis-run/analysis-run.types.js';
/**
* Maps a DeepSource API run to a domain AnalysisRun aggregate
*
* @param apiRun - The API run model
* @param projectKey - The project key (not available in API response)
* @returns The domain AnalysisRun aggregate
*/
export declare function mapAnalysisRunToDomain(apiRun: DeepSourceRun, projectKey: string): AnalysisRun;
/**
* Maps a domain AnalysisRun aggregate to persistence format
*
* @param run - The domain AnalysisRun aggregate
* @returns The persistence model
*/
export declare function mapAnalysisRunToPersistence(run: AnalysisRun): {
runId: string;
projectKey: string;
repositoryId: string;
commitInfo: CommitInfo;
status: RunStatus;
timestamps: {
createdAt: Date;
startedAt?: Date;
finishedAt?: Date;
};
summary?: RunSummary;
issues: Array<{
id: string;
issueCode: string;
analyzerShortcode: string;
category: string;
severity: string;
message: string;
path: string;
line?: number;
column?: number;
}>;
};
/**
* Maps multiple API runs to domain aggregates
*
* @param apiRuns - Array of API run models
* @param projectKey - The project key for all runs
* @returns Array of domain AnalysisRun aggregates
*/
export declare function mapAnalysisRunsToDomainList(apiRuns: DeepSourceRun[], projectKey: string): AnalysisRun[];
export declare const AnalysisRunMapper: {
toDomain: typeof mapAnalysisRunToDomain;
toPersistence: typeof mapAnalysisRunToPersistence;
toDomainList: typeof mapAnalysisRunsToDomainList;
};