deepsource-mcp-server
Version:
Model Context Protocol server for DeepSource
168 lines (167 loc) • 6.92 kB
TypeScript
/**
* Type adapters for converting MCP tool parameters to domain handler parameters
*
* These adapters handle the conversion between primitive types from tool schemas
* and branded types expected by domain handlers.
*/
import { type ProjectKey, type GraphQLNodeId, type RunId, type CommitOid, type AnalyzerShortcode } from '../types/branded.js';
import { MetricShortcode, MetricKey } from '../types/metrics.js';
import { ReportType } from '../types/report-types.js';
import { DeepsourceQualityMetricsParams, DeepsourceUpdateMetricThresholdParams, DeepsourceUpdateMetricSettingParams } from '../handlers/quality-metrics.js';
import { DeepsourceComplianceReportParams } from '../handlers/compliance-reports.js';
import { DeepsourceProjectIssuesParams } from '../handlers/project-issues.js';
import { DeepsourceDependencyVulnerabilitiesParams } from '../handlers/dependency-vulnerabilities.js';
import { DeepsourceProjectRunsParams } from '../handlers/project-runs.js';
import { DeepsourceRunParams } from '../handlers/run.js';
import { DeepsourceRecentRunIssuesParams } from '../handlers/recent-run-issues.js';
/**
* Adapts quality metrics parameters from tool schema to handler interface
*/
export declare function adaptQualityMetricsParams(params: unknown): DeepsourceQualityMetricsParams;
/**
* Adapts update metric threshold parameters from tool schema to handler interface
*/
export declare function adaptUpdateMetricThresholdParams(params: unknown): DeepsourceUpdateMetricThresholdParams;
/**
* Adapts update metric setting parameters from tool schema to handler interface
*/
export declare function adaptUpdateMetricSettingParams(params: unknown): DeepsourceUpdateMetricSettingParams;
/**
* Adapts compliance report parameters from tool schema to handler interface
*/
export declare function adaptComplianceReportParams(params: unknown): DeepsourceComplianceReportParams;
/**
* Adapts project issues parameters from tool schema to handler interface
*/
export declare function adaptProjectIssuesParams(params: unknown): DeepsourceProjectIssuesParams;
/**
* Adapts dependency vulnerabilities parameters from tool schema to handler interface
*/
export declare function adaptDependencyVulnerabilitiesParams(params: unknown): DeepsourceDependencyVulnerabilitiesParams;
/**
* Adapts project runs parameters from tool schema to handler interface
*/
export declare function adaptProjectRunsParams(params: unknown): DeepsourceProjectRunsParams;
/**
* Adapts run parameters from tool schema to handler interface
*/
export declare function adaptRunParams(params: unknown): DeepsourceRunParams;
/**
* Adapts recent run issues parameters from tool schema to handler interface
*/
export declare function adaptRecentRunIssuesParams(params: unknown): DeepsourceRecentRunIssuesParams;
/**
* Parameters for domain-based handlers that expect branded types
*/
export interface DomainQualityMetricsParams {
projectKey: ProjectKey;
shortcodeIn?: MetricShortcode[];
}
export interface DomainUpdateMetricThresholdParams {
projectKey: ProjectKey;
repositoryId: GraphQLNodeId;
metricShortcode: MetricShortcode;
metricKey: MetricKey;
thresholdValue?: number | null;
}
export interface DomainUpdateMetricSettingParams {
projectKey: ProjectKey;
repositoryId: GraphQLNodeId;
metricShortcode: MetricShortcode;
isReported: boolean;
isThresholdEnforced: boolean;
}
export interface DomainComplianceReportParams {
projectKey: ProjectKey;
reportType: ReportType;
}
export interface DomainProjectIssuesParams {
projectKey: ProjectKey;
path?: string;
analyzerIn?: AnalyzerShortcode[];
tags?: string[];
first?: number;
last?: number;
after?: string;
before?: string;
}
export interface DomainDependencyVulnerabilitiesParams {
projectKey: ProjectKey;
first?: number;
last?: number;
after?: string;
before?: string;
}
export interface DomainProjectRunsParams {
projectKey: ProjectKey;
analyzerIn?: AnalyzerShortcode[];
first?: number;
last?: number;
after?: string;
before?: string;
}
export interface DomainRunParams {
projectKey: ProjectKey;
runIdentifier: RunId | CommitOid;
isCommitOid?: boolean;
}
export interface DomainRecentRunIssuesParams {
projectKey: ProjectKey;
branchName: string;
first?: number;
last?: number;
after?: string;
before?: string;
}
/**
* Adapts parameters for domain-based handlers
*/
export declare function adaptToDomainQualityMetricsParams(params: unknown): DomainQualityMetricsParams;
/**
* Adapts raw parameters to domain update metric threshold parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for updating metric thresholds
*/
export declare function adaptToDomainUpdateMetricThresholdParams(params: unknown): DomainUpdateMetricThresholdParams;
/**
* Adapts raw parameters to domain update metric setting parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for updating metric settings
*/
export declare function adaptToDomainUpdateMetricSettingParams(params: unknown): DomainUpdateMetricSettingParams;
/**
* Adapts raw parameters to domain compliance report parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for compliance reports
*/
export declare function adaptToDomainComplianceReportParams(params: unknown): DomainComplianceReportParams;
/**
* Adapts raw parameters to domain project issues parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for project issues
*/
export declare function adaptToDomainProjectIssuesParams(params: unknown): DomainProjectIssuesParams;
/**
* Adapts raw parameters to domain dependency vulnerabilities parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for dependency vulnerabilities
*/
export declare function adaptToDomainDependencyVulnerabilitiesParams(params: unknown): DomainDependencyVulnerabilitiesParams;
/**
* Adapts raw parameters to domain project runs parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for project runs
*/
export declare function adaptToDomainProjectRunsParams(params: unknown): DomainProjectRunsParams;
/**
* Adapts raw parameters to domain run parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for a specific run
*/
export declare function adaptToDomainRunParams(params: unknown): DomainRunParams;
/**
* Adapts raw parameters to domain recent run issues parameters
* @param params - Raw parameters from the MCP request
* @returns Typed domain parameters for recent run issues
*/
export declare function adaptToDomainRecentRunIssuesParams(params: unknown): DomainRecentRunIssuesParams;