UNPKG

@yeepay/coderocket-mcp

Version:

CodeRocket MCP - Independent AI-powered code review server for Model Context Protocol

132 lines 6.35 kB
import { z } from 'zod'; // AI服务类型 export const AIServiceSchema = z.enum(['gemini', 'claudecode']); // 审查状态 export const ReviewStatusSchema = z.enum(['✅', '⚠️', '❌', '🔍', '📝']); // 代码审查请求(传统方式,保留向后兼容) export const ReviewCodeRequestSchema = z.object({ code: z.string().describe('要审查的代码内容'), language: z.string().optional().describe('代码语言(可选,用于更好的分析)'), context: z.string().optional().describe('代码上下文信息(可选)'), ai_service: AIServiceSchema.optional().describe('指定使用的AI服务(可选)'), custom_prompt: z.string().optional().describe('自定义审查提示词(可选)'), }); // Git变更审查请求(新的自动化方式) export const ReviewChangesRequestSchema = z.object({ repository_path: z .string() .optional() .describe('Git仓库路径(可选,默认为当前目录)'), ai_service: AIServiceSchema.optional().describe('指定使用的AI服务(可选)'), custom_prompt: z.string().optional().describe('自定义审查提示词(可选)'), include_staged: z .boolean() .optional() .default(true) .describe('是否包含已暂存的变更'), include_unstaged: z .boolean() .optional() .default(true) .describe('是否包含未暂存的变更'), }); // Git提交审查请求 export const ReviewCommitRequestSchema = z.object({ commit_hash: z .string() .optional() .describe('提交哈希(可选,默认为最新提交)'), repository_path: z .string() .optional() .describe('Git仓库路径(可选,默认为当前目录)'), ai_service: AIServiceSchema.optional().describe('指定使用的AI服务(可选)'), custom_prompt: z.string().optional().describe('自定义审查提示词(可选)'), }); // 文件审查请求 export const ReviewFilesRequestSchema = z.object({ files: z.array(z.string()).describe('要审查的文件路径列表'), repository_path: z .string() .optional() .describe('Git仓库路径(可选,默认为当前目录)'), ai_service: AIServiceSchema.optional().describe('指定使用的AI服务(可选)'), custom_prompt: z.string().optional().describe('自定义审查提示词(可选)'), }); // 审查结果 export const ReviewResultSchema = z.object({ status: ReviewStatusSchema.describe('审查状态'), summary: z.string().describe('审查摘要'), details: z.string().describe('详细审查内容'), ai_service_used: AIServiceSchema.describe('使用的AI服务'), timestamp: z.string().describe('审查时间'), report_file: z.string().optional().describe('生成的报告文件路径(如果有)'), }); // 各种审查操作的响应类型 export const ReviewCodeResponseSchema = z.object({ status: ReviewStatusSchema.describe('审查状态'), summary: z.string().describe('审查摘要'), review: z.string().describe('审查结果'), ai_service_used: AIServiceSchema.describe('使用的AI服务'), timestamp: z.string().describe('审查时间'), }); export const ReviewChangesResponseSchema = z.object({ status: ReviewStatusSchema.describe('审查状态'), summary: z.string().describe('审查摘要'), review: z.string().describe('审查结果'), ai_service_used: AIServiceSchema.describe('使用的AI服务'), timestamp: z.string().describe('审查时间'), }); export const ReviewCommitResponseSchema = z.object({ status: ReviewStatusSchema.describe('审查状态'), summary: z.string().describe('审查摘要'), review: z.string().describe('审查结果'), ai_service_used: AIServiceSchema.describe('使用的AI服务'), timestamp: z.string().describe('审查时间'), }); export const ReviewFilesResponseSchema = z.object({ status: ReviewStatusSchema.describe('审查状态'), summary: z.string().describe('审查摘要'), review: z.string().describe('审查结果'), ai_service_used: AIServiceSchema.describe('使用的AI服务'), timestamp: z.string().describe('审查时间'), }); // AI服务状态 export const AIServiceStatusSchema = z.object({ service: AIServiceSchema.describe('AI服务名称'), available: z.boolean().describe('是否可用'), configured: z.boolean().describe('是否已配置'), install_command: z.string().optional().describe('安装命令(如果未安装)'), config_command: z.string().optional().describe('配置命令(如果未配置)'), error_message: z.string().optional().describe('错误信息(如果有)'), }); // 错误响应 export const ErrorResponseSchema = z.object({ error: z.string().describe('错误信息'), error_code: z.string().optional().describe('错误代码'), suggestions: z.array(z.string()).optional().describe('解决建议'), }); // 配置AI服务请求 export const ConfigureAIServiceRequestSchema = z.object({ service: AIServiceSchema.describe('要配置的AI服务(gemini/claudecode)'), scope: z.enum(['project', 'global']).optional().default('project').describe('配置范围(project: 项目级别, global: 全局级别)'), api_key: z.string().optional().describe('API密钥'), timeout: z.number().optional().describe('超时时间(秒)'), max_retries: z.number().optional().describe('最大重试次数'), }); // 获取AI服务状态请求(无参数) export const GetAIServiceStatusRequestSchema = z.object({}); // 配置AI服务响应 export const ConfigureAIServiceResponseSchema = z.object({ success: z.boolean().describe('配置是否成功'), message: z.string().describe('成功或错误信息'), config_path: z.string().optional().describe('配置文件保存路径'), restart_required: z.boolean().optional().describe('是否需要重启服务'), }); // 获取AI服务状态响应 export const GetAIServiceStatusResponseSchema = z.object({ services: z.array(AIServiceStatusSchema).describe('所有AI服务的状态信息'), current_service: z.string().describe('当前激活的AI服务'), auto_switch_enabled: z.boolean().describe('是否启用自动切换'), }); //# sourceMappingURL=types.js.map