@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
TypeScript
/**
* @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