Merge pull request #14 from chad-loder/fix-fork-repository-parameters
Fix GitLab API fork repository parameter handling
This commit is contained in:
21
index.ts
21
index.ts
@ -894,11 +894,22 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
||||
|
||||
switch (request.params.name) {
|
||||
case "fork_repository": {
|
||||
const args = ForkRepositorySchema.parse(request.params.arguments);
|
||||
const fork = await forkProject(args.project_id, args.namespace);
|
||||
return {
|
||||
content: [{ type: "text", text: JSON.stringify(fork, null, 2) }],
|
||||
};
|
||||
const forkArgs = ForkRepositorySchema.parse(request.params.arguments);
|
||||
try {
|
||||
const forkedProject = await forkProject(forkArgs.project_id, forkArgs.namespace);
|
||||
return {
|
||||
content: [{ type: "text", text: JSON.stringify(forkedProject, null, 2) }],
|
||||
};
|
||||
} catch (forkError) {
|
||||
console.error("Error forking repository:", forkError);
|
||||
let forkErrorMessage = "Failed to fork repository";
|
||||
if (forkError instanceof Error) {
|
||||
forkErrorMessage = `${forkErrorMessage}: ${forkError.message}`;
|
||||
}
|
||||
return {
|
||||
content: [{ type: "text", text: JSON.stringify({ error: forkErrorMessage }, null, 2) }],
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
case "create_branch": {
|
||||
|
@ -159,12 +159,12 @@ export const GitLabForkParentSchema = z.object({
|
||||
username: z.string(), // Changed from login to match GitLab API
|
||||
id: z.number(),
|
||||
avatar_url: z.string(),
|
||||
}),
|
||||
}).optional(), // Made optional to handle cases where GitLab API doesn't include it
|
||||
web_url: z.string(), // Changed from html_url to match GitLab API
|
||||
});
|
||||
|
||||
export const GitLabForkSchema = GitLabRepositorySchema.extend({
|
||||
forked_from_project: GitLabForkParentSchema, // Changed from parent to match GitLab API
|
||||
forked_from_project: GitLabForkParentSchema.optional(), // Made optional to handle cases where GitLab API doesn't include it
|
||||
});
|
||||
|
||||
// Issue related schemas
|
||||
|
Reference in New Issue
Block a user