deepsource-mcp-server
Version:
Model Context Protocol server for DeepSource
67 lines (66 loc) • 2.39 kB
TypeScript
import { ReportType } from '../deepsource.js';
import { BaseHandlerDeps } from './base/handler.interface.js';
import { Logger } from '../utils/logging/logger.js';
import { IComplianceReportRepository } from '../domain/aggregates/compliance-report/compliance-report.repository.js';
/**
* Interface for parameters for getting a compliance report
* @public
*/
export interface DeepsourceComplianceReportParams {
/** DeepSource project key to identify the project */
projectKey: string;
/** Type of compliance report to fetch */
reportType: ReportType;
}
/**
* Extended dependencies interface for compliance report handler
*/
interface ComplianceReportHandlerDeps {
complianceReportRepository: IComplianceReportRepository;
logger: Logger;
}
/**
* Creates a compliance report handler with injected dependencies
* @param deps - The dependencies for the handler
* @returns The configured handler function
*/
export declare function createComplianceReportHandlerWithRepo(deps: ComplianceReportHandlerDeps): (params: DeepsourceComplianceReportParams) => Promise<{
content: {
type: "text";
text: string;
}[];
isError?: never;
} | {
isError: boolean;
content: {
type: "text";
text: string;
}[];
}>;
/**
* Creates a compliance report handler with injected dependencies
* @param deps - The dependencies for the handler
* @returns The configured handler factory
*/
export declare const createComplianceReportHandler: import("./base/handler.interface.js").HandlerFactory<BaseHandlerDeps, DeepsourceComplianceReportParams, import("../models/common.js").ApiResponse>;
/**
* Fetches and returns compliance reports from a DeepSource project using domain aggregates
* @param params - Parameters for fetching the compliance report, including project key and report type
* @returns Response containing the compliance report with security issues statistics
* @throws Error if the DEEPSOURCE_API_KEY environment variable is not set or if the report type is unsupported or if API call fails
* @public
*/
export declare function handleDeepsourceComplianceReport(params: DeepsourceComplianceReportParams): Promise<{
content: {
type: "text";
text: string;
}[];
isError?: never;
} | {
isError: boolean;
content: {
type: "text";
text: string;
}[];
}>;
export {};