UNPKG

@cyanheads/git-mcp-server

Version:

An MCP (Model Context Protocol) server enabling LLMs and AI agents to interact with Git repositories. Provides tools for comprehensive Git operations including clone, commit, branch, diff, log, status, push, pull, merge, rebase, worktree, tag management,

196 lines 7.49 kB
/** * @fileoverview Defines the core logic, schemas, and types for the git_merge tool. * @module src/mcp-server/tools/gitMerge/logic */ import { z } from "zod"; import { type RequestContext } from "../../../utils/index.js"; export declare const GitMergeInputSchema: z.ZodObject<{ path: z.ZodDefault<z.ZodString>; branch: z.ZodString; commitMessage: z.ZodOptional<z.ZodString>; noFf: z.ZodDefault<z.ZodBoolean>; squash: z.ZodDefault<z.ZodBoolean>; abort: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { path: string; branch: string; noFf: boolean; squash: boolean; abort: boolean; commitMessage?: string | undefined; }, { branch: string; path?: string | undefined; commitMessage?: string | undefined; noFf?: boolean | undefined; squash?: boolean | undefined; abort?: boolean | undefined; }>; export declare const GitMergeOutputSchema: z.ZodObject<{ success: z.ZodBoolean; message: z.ZodString; conflict: z.ZodOptional<z.ZodBoolean>; fastForward: z.ZodOptional<z.ZodBoolean>; aborted: z.ZodOptional<z.ZodBoolean>; needsManualCommit: z.ZodOptional<z.ZodBoolean>; status: z.ZodOptional<z.ZodObject<{ current_branch: z.ZodNullable<z.ZodString>; staged_changes: z.ZodObject<{ Added: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Modified: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Deleted: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Renamed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Copied: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; TypeChanged: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }, { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }>; unstaged_changes: z.ZodObject<{ Added: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Modified: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Deleted: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Renamed: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; Copied: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; TypeChanged: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }, { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }>; untracked_files: z.ZodArray<z.ZodString, "many">; conflicted_files: z.ZodArray<z.ZodString, "many">; is_clean: z.ZodBoolean; }, "strip", z.ZodTypeAny, { current_branch: string | null; staged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; unstaged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; untracked_files: string[]; conflicted_files: string[]; is_clean: boolean; }, { current_branch: string | null; staged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; unstaged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; untracked_files: string[]; conflicted_files: string[]; is_clean: boolean; }>>; }, "strip", z.ZodTypeAny, { message: string; success: boolean; aborted?: boolean | undefined; status?: { current_branch: string | null; staged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; unstaged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; untracked_files: string[]; conflicted_files: string[]; is_clean: boolean; } | undefined; conflict?: boolean | undefined; fastForward?: boolean | undefined; needsManualCommit?: boolean | undefined; }, { message: string; success: boolean; aborted?: boolean | undefined; status?: { current_branch: string | null; staged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; unstaged_changes: { Added?: string[] | undefined; Modified?: string[] | undefined; Deleted?: string[] | undefined; Renamed?: string[] | undefined; Copied?: string[] | undefined; TypeChanged?: string[] | undefined; }; untracked_files: string[]; conflicted_files: string[]; is_clean: boolean; } | undefined; conflict?: boolean | undefined; fastForward?: boolean | undefined; needsManualCommit?: boolean | undefined; }>; export type GitMergeInput = z.infer<typeof GitMergeInputSchema>; export type GitMergeOutput = z.infer<typeof GitMergeOutputSchema>; /** * 4. IMPLEMENT the core logic function. * @throws {McpError} If the logic encounters an unrecoverable issue. */ export declare function gitMergeLogic(params: GitMergeInput, context: RequestContext & { getWorkingDirectory: () => string | undefined; }): Promise<GitMergeOutput>; //# sourceMappingURL=logic.d.ts.map