@cyanheads/git-mcp-server 2.7.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -13
- package/dist/index.js +612 -439
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -15335,7 +15335,7 @@ var package_default;
|
|
|
15335
15335
|
var init_package = __esm(() => {
|
|
15336
15336
|
package_default = {
|
|
15337
15337
|
name: "@cyanheads/git-mcp-server",
|
|
15338
|
-
version: "2.7.
|
|
15338
|
+
version: "2.7.1",
|
|
15339
15339
|
mcpName: "io.github.cyanheads/git-mcp-server",
|
|
15340
15340
|
description: "A secure and scalable Git MCP server enabling AI agents to perform comprehensive Git version control operations via STDIO and Streamable HTTP.",
|
|
15341
15341
|
main: "dist/index.js",
|
|
@@ -193816,7 +193816,7 @@ PromptRegistry = __legacyDecorateClassTS([
|
|
|
193816
193816
|
var import_tsyringe12 = __toESM(require_cjs4(), 1);
|
|
193817
193817
|
init_utils();
|
|
193818
193818
|
|
|
193819
|
-
// src/mcp-server/tools/definitions/git-
|
|
193819
|
+
// src/mcp-server/tools/definitions/git-changelog-analyze.tool.ts
|
|
193820
193820
|
init_zod();
|
|
193821
193821
|
|
|
193822
193822
|
// src/mcp-server/tools/schemas/common.ts
|
|
@@ -193856,6 +193856,125 @@ var DepthSchema = exports_external.number().int().min(1).optional().describe("Cr
|
|
|
193856
193856
|
var SignSchema = exports_external.boolean().optional().describe("Sign the commit/tag with GPG.");
|
|
193857
193857
|
var NoVerifySchema = exports_external.boolean().default(false).describe("Bypass pre-commit and commit-msg hooks.");
|
|
193858
193858
|
|
|
193859
|
+
// src/mcp-server/tools/utils/json-response-formatter.ts
|
|
193860
|
+
init_config();
|
|
193861
|
+
class JsonFormatterError extends Error {
|
|
193862
|
+
cause;
|
|
193863
|
+
constructor(message, cause) {
|
|
193864
|
+
super(message);
|
|
193865
|
+
this.cause = cause;
|
|
193866
|
+
this.name = "JsonFormatterError";
|
|
193867
|
+
}
|
|
193868
|
+
}
|
|
193869
|
+
function detectCircularReference(obj, seen = new WeakSet, path4 = "root") {
|
|
193870
|
+
if (obj === null || typeof obj !== "object")
|
|
193871
|
+
return null;
|
|
193872
|
+
if (seen.has(obj))
|
|
193873
|
+
return path4;
|
|
193874
|
+
seen.add(obj);
|
|
193875
|
+
if (Array.isArray(obj)) {
|
|
193876
|
+
for (let i2 = 0;i2 < obj.length; i2++) {
|
|
193877
|
+
const result = detectCircularReference(obj[i2], seen, `${path4}[${i2}]`);
|
|
193878
|
+
if (result)
|
|
193879
|
+
return result;
|
|
193880
|
+
}
|
|
193881
|
+
} else {
|
|
193882
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
193883
|
+
const result = detectCircularReference(value, seen, `${path4}.${key}`);
|
|
193884
|
+
if (result)
|
|
193885
|
+
return result;
|
|
193886
|
+
}
|
|
193887
|
+
}
|
|
193888
|
+
return null;
|
|
193889
|
+
}
|
|
193890
|
+
function defaultReplacer(_key, value) {
|
|
193891
|
+
if (value instanceof Date)
|
|
193892
|
+
return value.toISOString();
|
|
193893
|
+
if (typeof value === "bigint")
|
|
193894
|
+
return value.toString();
|
|
193895
|
+
if (value === undefined)
|
|
193896
|
+
return null;
|
|
193897
|
+
if (typeof value === "function")
|
|
193898
|
+
return;
|
|
193899
|
+
return value;
|
|
193900
|
+
}
|
|
193901
|
+
function safeJsonStringify(data, replacer, indent) {
|
|
193902
|
+
const circularPath = detectCircularReference(data);
|
|
193903
|
+
if (circularPath) {
|
|
193904
|
+
throw new JsonFormatterError(`Circular reference detected at: ${circularPath}`);
|
|
193905
|
+
}
|
|
193906
|
+
const combinedReplacer = (key, value) => {
|
|
193907
|
+
const processed = defaultReplacer(key, value);
|
|
193908
|
+
return replacer ? replacer(key, processed) : processed;
|
|
193909
|
+
};
|
|
193910
|
+
try {
|
|
193911
|
+
return JSON.stringify(data, combinedReplacer, indent);
|
|
193912
|
+
} catch (error49) {
|
|
193913
|
+
throw new JsonFormatterError("Failed to serialize to JSON", error49 instanceof Error ? error49 : undefined);
|
|
193914
|
+
}
|
|
193915
|
+
}
|
|
193916
|
+
function estimateTokenCount(text) {
|
|
193917
|
+
const normalized = text.replace(/\s+/g, " ").trim();
|
|
193918
|
+
return Math.ceil(normalized.length / 4);
|
|
193919
|
+
}
|
|
193920
|
+
function createJsonFormatter(options) {
|
|
193921
|
+
const {
|
|
193922
|
+
verbosity = config2.mcpResponseVerbosity,
|
|
193923
|
+
filter,
|
|
193924
|
+
prettyPrint = true,
|
|
193925
|
+
replacer,
|
|
193926
|
+
debug = false,
|
|
193927
|
+
memoize = false
|
|
193928
|
+
} = options || {};
|
|
193929
|
+
const cache = memoize ? new Map : null;
|
|
193930
|
+
return (result) => {
|
|
193931
|
+
const startTime = debug ? Date.now() : 0;
|
|
193932
|
+
try {
|
|
193933
|
+
const filteredResult = filter ? filter(result, verbosity) : result;
|
|
193934
|
+
let cacheKey = null;
|
|
193935
|
+
if (cache) {
|
|
193936
|
+
try {
|
|
193937
|
+
cacheKey = JSON.stringify({ result: filteredResult, verbosity });
|
|
193938
|
+
const cached2 = cache.get(cacheKey);
|
|
193939
|
+
if (cached2) {
|
|
193940
|
+
if (debug && process.stderr?.isTTY) {
|
|
193941
|
+
console.log("[JsonFormatter] Cache hit");
|
|
193942
|
+
}
|
|
193943
|
+
return [{ type: "text", text: cached2 }];
|
|
193944
|
+
}
|
|
193945
|
+
} catch {
|
|
193946
|
+
cacheKey = null;
|
|
193947
|
+
}
|
|
193948
|
+
}
|
|
193949
|
+
const jsonString = safeJsonStringify(filteredResult, replacer, prettyPrint ? 2 : 0);
|
|
193950
|
+
if (cache && cacheKey) {
|
|
193951
|
+
cache.set(cacheKey, jsonString);
|
|
193952
|
+
}
|
|
193953
|
+
if (debug && process.stderr?.isTTY) {
|
|
193954
|
+
const elapsed = Date.now() - startTime;
|
|
193955
|
+
console.log(`[JsonFormatter] ${elapsed}ms, ~${estimateTokenCount(jsonString)} tokens`);
|
|
193956
|
+
}
|
|
193957
|
+
return [{ type: "text", text: jsonString }];
|
|
193958
|
+
} catch (error49) {
|
|
193959
|
+
const errorMessage = error49 instanceof JsonFormatterError ? error49.message : "Unknown formatting error";
|
|
193960
|
+
if (debug && process.stderr?.isTTY) {
|
|
193961
|
+
console.error("[JsonFormatter] Error:", error49);
|
|
193962
|
+
}
|
|
193963
|
+
return [
|
|
193964
|
+
{
|
|
193965
|
+
type: "text",
|
|
193966
|
+
text: JSON.stringify({
|
|
193967
|
+
error: "JSON_FORMATTING_ERROR",
|
|
193968
|
+
message: errorMessage,
|
|
193969
|
+
verbosity
|
|
193970
|
+
}, null, prettyPrint ? 2 : 0)
|
|
193971
|
+
}
|
|
193972
|
+
];
|
|
193973
|
+
}
|
|
193974
|
+
};
|
|
193975
|
+
}
|
|
193976
|
+
var defaultJsonFormatter = createJsonFormatter();
|
|
193977
|
+
|
|
193859
193978
|
// src/mcp-server/tools/utils/toolHandlerFactory.ts
|
|
193860
193979
|
init_tokens();
|
|
193861
193980
|
init_utils();
|
|
@@ -194057,130 +194176,183 @@ function createToolHandler(coreLogic, options = {}) {
|
|
|
194057
194176
|
};
|
|
194058
194177
|
}
|
|
194059
194178
|
|
|
194060
|
-
// src/mcp-server/tools/
|
|
194061
|
-
|
|
194062
|
-
|
|
194063
|
-
|
|
194064
|
-
|
|
194065
|
-
|
|
194066
|
-
|
|
194067
|
-
|
|
194068
|
-
|
|
194069
|
-
|
|
194070
|
-
|
|
194071
|
-
|
|
194072
|
-
|
|
194073
|
-
|
|
194074
|
-
|
|
194075
|
-
|
|
194076
|
-
|
|
194077
|
-
|
|
194078
|
-
|
|
194079
|
-
|
|
194080
|
-
|
|
194081
|
-
|
|
194082
|
-
|
|
194083
|
-
|
|
194084
|
-
|
|
194085
|
-
|
|
194086
|
-
|
|
194087
|
-
|
|
194088
|
-
|
|
194089
|
-
|
|
194090
|
-
|
|
194091
|
-
|
|
194092
|
-
|
|
194093
|
-
|
|
194094
|
-
|
|
194095
|
-
|
|
194096
|
-
|
|
194097
|
-
|
|
194098
|
-
|
|
194099
|
-
|
|
194100
|
-
|
|
194179
|
+
// src/mcp-server/tools/definitions/git-changelog-analyze.tool.ts
|
|
194180
|
+
var TOOL_NAME = "git_changelog_analyze";
|
|
194181
|
+
var TOOL_TITLE = "Git Changelog Analyze";
|
|
194182
|
+
var TOOL_DESCRIPTION = "Gather git history context (commits, tags) and structured review instructions to support LLM-driven changelog analysis. Changelog file should be read separately; this tool provides the supporting git data and analysis framework. Pass one or more review types to control what kind of analysis to perform.";
|
|
194183
|
+
var ReviewTypeSchema = exports_external.enum([
|
|
194184
|
+
"security",
|
|
194185
|
+
"features",
|
|
194186
|
+
"storyline",
|
|
194187
|
+
"gaps",
|
|
194188
|
+
"breaking_changes",
|
|
194189
|
+
"quality"
|
|
194190
|
+
]);
|
|
194191
|
+
var REVIEW_TYPE_INSTRUCTIONS = {
|
|
194192
|
+
security: `## Security Review
|
|
194193
|
+
Examine the changelog entries and cross-reference with the provided git commits. Identify:
|
|
194194
|
+
- Security-related commits (touching auth, crypto, input validation, dependency updates) that lack changelog documentation
|
|
194195
|
+
- Changelog entries that understate the security implications of changes
|
|
194196
|
+
- Patterns suggesting security debt (repeated quick-fixes to security-adjacent areas)
|
|
194197
|
+
- Missing CVE references or security advisory links for dependency updates
|
|
194198
|
+
- Changes to access control, session management, or data handling that should be called out explicitly`,
|
|
194199
|
+
features: `## Feature Trajectory Review
|
|
194200
|
+
Analyze the progression of features documented in the changelog alongside recent commit activity to identify:
|
|
194201
|
+
- Logical next features based on the development direction and momentum
|
|
194202
|
+
- Features that appear partially implemented (started in one version, not completed in subsequent ones)
|
|
194203
|
+
- Feature areas receiving heavy investment vs areas being neglected
|
|
194204
|
+
- Opportunities for feature consolidation or decomposition
|
|
194205
|
+
- Gaps between what commits show being built and what the changelog advertises`,
|
|
194206
|
+
storyline: `## Project Storyline Review
|
|
194207
|
+
Narrate the project's evolution using the changelog as the primary source and tags as milestones:
|
|
194208
|
+
- Describe the arc of the project from earliest to latest entry
|
|
194209
|
+
- Identify major pivots, theme shifts, or focus changes between releases
|
|
194210
|
+
- Highlight the most significant releases and what made them important
|
|
194211
|
+
- Characterize the project's current phase (early development, rapid growth, stabilization, mature maintenance)
|
|
194212
|
+
- Note the rhythm of releases — accelerating, steady, or slowing`,
|
|
194213
|
+
gaps: `## Gap Analysis
|
|
194214
|
+
Cross-reference the changelog with the provided git commit history to find discrepancies:
|
|
194215
|
+
- Commits that introduce meaningful changes but have no corresponding changelog entry
|
|
194216
|
+
- Version bumps in tags that lack changelog documentation
|
|
194217
|
+
- Categories of changes systematically under-documented (e.g., always documents features but never documents fixes or internal refactors)
|
|
194218
|
+
- Time periods with high commit activity but sparse changelog updates
|
|
194219
|
+
- Changelog entries that don't correspond to identifiable commits (phantom entries)`,
|
|
194220
|
+
breaking_changes: `## Breaking Changes Review
|
|
194221
|
+
Analyze the changelog for breaking change documentation quality:
|
|
194222
|
+
- Are breaking changes clearly marked and easy to find (dedicated section, visual callout)?
|
|
194223
|
+
- Do major version bumps (in tags) correlate with documented breaking changes?
|
|
194224
|
+
- Are migration paths or upgrade instructions provided for each breaking change?
|
|
194225
|
+
- What is the frequency and pattern of breaking changes over time — increasing or stabilizing?
|
|
194226
|
+
- Are breaking changes concentrated in certain areas of the project?
|
|
194227
|
+
- Are deprecation notices given before removals?`,
|
|
194228
|
+
quality: `## Quality Trends Review
|
|
194229
|
+
Examine commit history and changelog entries for code quality and process health indicators:
|
|
194230
|
+
- Ratio of bug fixes to features over time — is the project stabilizing or accumulating debt?
|
|
194231
|
+
- Commit message quality and consistency (conventional commits adherence, descriptive subjects)
|
|
194232
|
+
- Frequency of "hotfix" or "emergency" patterns suggesting insufficient testing
|
|
194233
|
+
- Documentation update frequency relative to code changes
|
|
194234
|
+
- Release cadence regularity — predictable schedule or sporadic?
|
|
194235
|
+
- Revert frequency and what it suggests about review/testing practices`
|
|
194236
|
+
};
|
|
194237
|
+
var InputSchema = exports_external.object({
|
|
194238
|
+
path: PathSchema,
|
|
194239
|
+
reviewTypes: exports_external.array(ReviewTypeSchema).min(1).describe("Types of changelog review to perform. At least one required. Options: security, features, storyline, gaps, breaking_changes, quality."),
|
|
194240
|
+
maxCommits: exports_external.number().int().min(1).max(1000).default(200).describe("Maximum recent commits to fetch for cross-referencing (1-1000)."),
|
|
194241
|
+
sinceTag: exports_external.string().optional().describe('Only include git history since this tag (e.g., "v1.2.0"). Narrows the analysis window.'),
|
|
194242
|
+
branch: CommitRefSchema.optional().describe("Branch to analyze (defaults to current branch).")
|
|
194243
|
+
});
|
|
194244
|
+
var CommitSummarySchema = exports_external.object({
|
|
194245
|
+
hash: exports_external.string().describe("Short commit hash."),
|
|
194246
|
+
subject: exports_external.string().describe("Commit subject line."),
|
|
194247
|
+
author: exports_external.string().describe("Commit author."),
|
|
194248
|
+
timestamp: exports_external.number().int().describe("Unix timestamp."),
|
|
194249
|
+
refs: exports_external.array(exports_external.string()).optional().describe("Tags or branches at this commit.")
|
|
194250
|
+
});
|
|
194251
|
+
var TagSummarySchema = exports_external.object({
|
|
194252
|
+
name: exports_external.string().describe("Tag name."),
|
|
194253
|
+
commit: exports_external.string().describe("Commit hash the tag points to."),
|
|
194254
|
+
timestamp: exports_external.number().int().optional().describe("Tag creation timestamp."),
|
|
194255
|
+
message: exports_external.string().optional().describe("Annotated tag message.")
|
|
194256
|
+
});
|
|
194257
|
+
var OutputSchema2 = exports_external.object({
|
|
194258
|
+
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194259
|
+
reviewTypes: exports_external.array(ReviewTypeSchema).describe("Review types that were requested."),
|
|
194260
|
+
gitContext: exports_external.object({
|
|
194261
|
+
currentBranch: exports_external.string().nullable().describe("Current branch name."),
|
|
194262
|
+
totalCommitsFetched: exports_external.number().int().describe("Number of commits returned."),
|
|
194263
|
+
commits: exports_external.array(CommitSummarySchema).describe("Recent commits for cross-referencing."),
|
|
194264
|
+
tags: exports_external.array(TagSummarySchema).describe("Repository tags for release context.")
|
|
194265
|
+
}).describe("Git history context for changelog cross-referencing."),
|
|
194266
|
+
reviewInstructions: exports_external.string().describe("Analysis instructions for each requested review type. Guides the LLM on what to look for in the changelog.")
|
|
194267
|
+
});
|
|
194268
|
+
function buildReviewInstructions(reviewTypes) {
|
|
194269
|
+
const preamble = `Analyze the changelog file using the git context provided below. For each review type, produce structured findings with specific references to changelog entries and commits.
|
|
194270
|
+
`;
|
|
194271
|
+
const sections = reviewTypes.map((type2) => REVIEW_TYPE_INSTRUCTIONS[type2]).join(`
|
|
194272
|
+
|
|
194273
|
+
`);
|
|
194274
|
+
return `${preamble}
|
|
194275
|
+
${sections}`;
|
|
194101
194276
|
}
|
|
194102
|
-
function
|
|
194103
|
-
const
|
|
194104
|
-
|
|
194105
|
-
|
|
194106
|
-
|
|
194107
|
-
const combinedReplacer = (key, value) => {
|
|
194108
|
-
const processed = defaultReplacer(key, value);
|
|
194109
|
-
return replacer ? replacer(key, processed) : processed;
|
|
194277
|
+
async function gitChangelogAnalyzeLogic(input, { provider, targetPath, appContext }) {
|
|
194278
|
+
const operationContext = {
|
|
194279
|
+
workingDirectory: targetPath,
|
|
194280
|
+
requestContext: appContext,
|
|
194281
|
+
tenantId: appContext.tenantId || "default-tenant"
|
|
194110
194282
|
};
|
|
194111
|
-
|
|
194112
|
-
|
|
194113
|
-
}
|
|
194114
|
-
|
|
194283
|
+
const logOptions = {
|
|
194284
|
+
maxCount: input.maxCommits
|
|
194285
|
+
};
|
|
194286
|
+
if (input.sinceTag) {
|
|
194287
|
+
logOptions.branch = `${input.sinceTag}..HEAD`;
|
|
194288
|
+
} else if (input.branch) {
|
|
194289
|
+
logOptions.branch = input.branch;
|
|
194115
194290
|
}
|
|
194116
|
-
|
|
194117
|
-
|
|
194118
|
-
|
|
194119
|
-
|
|
194120
|
-
|
|
194121
|
-
|
|
194122
|
-
|
|
194123
|
-
|
|
194124
|
-
|
|
194125
|
-
|
|
194126
|
-
|
|
194127
|
-
|
|
194128
|
-
|
|
194129
|
-
|
|
194130
|
-
|
|
194131
|
-
|
|
194132
|
-
|
|
194133
|
-
|
|
194134
|
-
|
|
194135
|
-
|
|
194136
|
-
|
|
194137
|
-
|
|
194138
|
-
|
|
194139
|
-
|
|
194140
|
-
|
|
194141
|
-
|
|
194142
|
-
|
|
194143
|
-
}
|
|
194144
|
-
return [{ type: "text", text: cached2 }];
|
|
194145
|
-
}
|
|
194146
|
-
} catch {
|
|
194147
|
-
cacheKey = null;
|
|
194148
|
-
}
|
|
194149
|
-
}
|
|
194150
|
-
const jsonString = safeJsonStringify(filteredResult, replacer, prettyPrint ? 2 : 0);
|
|
194151
|
-
if (cache && cacheKey) {
|
|
194152
|
-
cache.set(cacheKey, jsonString);
|
|
194153
|
-
}
|
|
194154
|
-
if (debug && process.stderr?.isTTY) {
|
|
194155
|
-
const elapsed = Date.now() - startTime;
|
|
194156
|
-
console.log(`[JsonFormatter] ${elapsed}ms, ~${estimateTokenCount(jsonString)} tokens`);
|
|
194157
|
-
}
|
|
194158
|
-
return [{ type: "text", text: jsonString }];
|
|
194159
|
-
} catch (error49) {
|
|
194160
|
-
const errorMessage = error49 instanceof JsonFormatterError ? error49.message : "Unknown formatting error";
|
|
194161
|
-
if (debug && process.stderr?.isTTY) {
|
|
194162
|
-
console.error("[JsonFormatter] Error:", error49);
|
|
194163
|
-
}
|
|
194164
|
-
return [
|
|
194165
|
-
{
|
|
194166
|
-
type: "text",
|
|
194167
|
-
text: JSON.stringify({
|
|
194168
|
-
error: "JSON_FORMATTING_ERROR",
|
|
194169
|
-
message: errorMessage,
|
|
194170
|
-
verbosity
|
|
194171
|
-
}, null, prettyPrint ? 2 : 0)
|
|
194172
|
-
}
|
|
194173
|
-
];
|
|
194174
|
-
}
|
|
194291
|
+
const [logResult, tagResult, statusResult] = await Promise.all([
|
|
194292
|
+
provider.log(logOptions, operationContext),
|
|
194293
|
+
provider.tag({ mode: "list" }, operationContext),
|
|
194294
|
+
provider.status({ includeUntracked: false }, operationContext)
|
|
194295
|
+
]);
|
|
194296
|
+
const reviewInstructions = buildReviewInstructions(input.reviewTypes);
|
|
194297
|
+
return {
|
|
194298
|
+
success: true,
|
|
194299
|
+
reviewTypes: input.reviewTypes,
|
|
194300
|
+
gitContext: {
|
|
194301
|
+
currentBranch: statusResult.currentBranch,
|
|
194302
|
+
totalCommitsFetched: logResult.totalCount,
|
|
194303
|
+
commits: logResult.commits.map((c) => ({
|
|
194304
|
+
hash: c.shortHash,
|
|
194305
|
+
subject: c.subject,
|
|
194306
|
+
author: c.author,
|
|
194307
|
+
timestamp: c.timestamp,
|
|
194308
|
+
...c.refs && c.refs.length > 0 && { refs: c.refs }
|
|
194309
|
+
})),
|
|
194310
|
+
tags: (tagResult.tags ?? []).map((t) => ({
|
|
194311
|
+
name: t.name,
|
|
194312
|
+
commit: t.commit,
|
|
194313
|
+
...t.timestamp != null && { timestamp: t.timestamp },
|
|
194314
|
+
...t.message != null && { message: t.message }
|
|
194315
|
+
}))
|
|
194316
|
+
},
|
|
194317
|
+
reviewInstructions
|
|
194175
194318
|
};
|
|
194176
194319
|
}
|
|
194177
|
-
|
|
194320
|
+
function filterChangelogAnalyzeOutput(result, level) {
|
|
194321
|
+
if (level === "minimal") {
|
|
194322
|
+
return {
|
|
194323
|
+
success: result.success,
|
|
194324
|
+
reviewTypes: result.reviewTypes,
|
|
194325
|
+
gitContext: {
|
|
194326
|
+
currentBranch: result.gitContext.currentBranch,
|
|
194327
|
+
totalCommitsFetched: result.gitContext.totalCommitsFetched,
|
|
194328
|
+
commits: [],
|
|
194329
|
+
tags: []
|
|
194330
|
+
},
|
|
194331
|
+
reviewInstructions: result.reviewInstructions
|
|
194332
|
+
};
|
|
194333
|
+
}
|
|
194334
|
+
return result;
|
|
194335
|
+
}
|
|
194336
|
+
var responseFormatter = createJsonFormatter({
|
|
194337
|
+
filter: filterChangelogAnalyzeOutput
|
|
194338
|
+
});
|
|
194339
|
+
var gitChangelogAnalyzeTool = {
|
|
194340
|
+
name: TOOL_NAME,
|
|
194341
|
+
title: TOOL_TITLE,
|
|
194342
|
+
description: TOOL_DESCRIPTION,
|
|
194343
|
+
inputSchema: InputSchema,
|
|
194344
|
+
outputSchema: OutputSchema2,
|
|
194345
|
+
annotations: { readOnlyHint: true },
|
|
194346
|
+
logic: withToolAuth(["tool:git:read"], createToolHandler(gitChangelogAnalyzeLogic)),
|
|
194347
|
+
responseFormatter
|
|
194348
|
+
};
|
|
194178
194349
|
|
|
194179
194350
|
// src/mcp-server/tools/definitions/git-blame.tool.ts
|
|
194180
|
-
|
|
194181
|
-
var
|
|
194182
|
-
var
|
|
194183
|
-
var
|
|
194351
|
+
init_zod();
|
|
194352
|
+
var TOOL_NAME2 = "git_blame";
|
|
194353
|
+
var TOOL_TITLE2 = "Git Blame";
|
|
194354
|
+
var TOOL_DESCRIPTION2 = "Show line-by-line authorship information for a file, displaying who last modified each line and when.";
|
|
194355
|
+
var InputSchema2 = exports_external.object({
|
|
194184
194356
|
path: PathSchema,
|
|
194185
194357
|
file: exports_external.string().min(1).describe("Path to the file to blame (relative to repository root)."),
|
|
194186
194358
|
startLine: exports_external.number().int().min(1).optional().describe("Start line number (1-indexed)."),
|
|
@@ -194194,7 +194366,7 @@ var BlameLineSchema = exports_external.object({
|
|
|
194194
194366
|
timestamp: exports_external.number().int().describe("Unix timestamp of the commit that last modified this line."),
|
|
194195
194367
|
content: exports_external.string().describe("The actual content/text of this line.")
|
|
194196
194368
|
});
|
|
194197
|
-
var
|
|
194369
|
+
var OutputSchema3 = exports_external.object({
|
|
194198
194370
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194199
194371
|
file: exports_external.string().describe("The file that was blamed."),
|
|
194200
194372
|
lines: exports_external.array(BlameLineSchema).describe("Array of blame information for each line."),
|
|
@@ -194233,26 +194405,26 @@ function filterGitBlameOutput(result, level) {
|
|
|
194233
194405
|
}
|
|
194234
194406
|
return result;
|
|
194235
194407
|
}
|
|
194236
|
-
var
|
|
194408
|
+
var responseFormatter2 = createJsonFormatter({
|
|
194237
194409
|
filter: filterGitBlameOutput
|
|
194238
194410
|
});
|
|
194239
194411
|
var gitBlameTool = {
|
|
194240
|
-
name:
|
|
194241
|
-
title:
|
|
194242
|
-
description:
|
|
194243
|
-
inputSchema:
|
|
194244
|
-
outputSchema:
|
|
194412
|
+
name: TOOL_NAME2,
|
|
194413
|
+
title: TOOL_TITLE2,
|
|
194414
|
+
description: TOOL_DESCRIPTION2,
|
|
194415
|
+
inputSchema: InputSchema2,
|
|
194416
|
+
outputSchema: OutputSchema3,
|
|
194245
194417
|
annotations: { readOnlyHint: true },
|
|
194246
194418
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitBlameLogic)),
|
|
194247
|
-
responseFormatter
|
|
194419
|
+
responseFormatter: responseFormatter2
|
|
194248
194420
|
};
|
|
194249
194421
|
|
|
194250
194422
|
// src/mcp-server/tools/definitions/git-clean.tool.ts
|
|
194251
194423
|
init_zod();
|
|
194252
|
-
var
|
|
194253
|
-
var
|
|
194254
|
-
var
|
|
194255
|
-
var
|
|
194424
|
+
var TOOL_NAME3 = "git_clean";
|
|
194425
|
+
var TOOL_TITLE3 = "Git Clean";
|
|
194426
|
+
var TOOL_DESCRIPTION3 = "Remove untracked files from the working directory. Requires force flag for safety. Use dry-run to preview files that would be removed.";
|
|
194427
|
+
var InputSchema3 = exports_external.object({
|
|
194256
194428
|
path: PathSchema,
|
|
194257
194429
|
force: ForceSchema.refine((val) => val === true, {
|
|
194258
194430
|
message: "force flag must be set to true to clean untracked files"
|
|
@@ -194261,7 +194433,7 @@ var InputSchema2 = exports_external.object({
|
|
|
194261
194433
|
directories: exports_external.boolean().default(false).describe("Remove untracked directories in addition to files."),
|
|
194262
194434
|
ignored: exports_external.boolean().default(false).describe("Remove ignored files as well.")
|
|
194263
194435
|
});
|
|
194264
|
-
var
|
|
194436
|
+
var OutputSchema4 = exports_external.object({
|
|
194265
194437
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194266
194438
|
filesRemoved: exports_external.array(exports_external.string()).describe("List of files that were removed."),
|
|
194267
194439
|
directoriesRemoved: exports_external.array(exports_external.string()).describe("List of directories that were removed."),
|
|
@@ -194293,29 +194465,29 @@ function filterGitCleanOutput(result, level) {
|
|
|
194293
194465
|
}
|
|
194294
194466
|
return result;
|
|
194295
194467
|
}
|
|
194296
|
-
var
|
|
194468
|
+
var responseFormatter3 = createJsonFormatter({
|
|
194297
194469
|
filter: filterGitCleanOutput
|
|
194298
194470
|
});
|
|
194299
194471
|
var gitCleanTool = {
|
|
194300
|
-
name:
|
|
194301
|
-
title:
|
|
194302
|
-
description:
|
|
194303
|
-
inputSchema:
|
|
194304
|
-
outputSchema:
|
|
194472
|
+
name: TOOL_NAME3,
|
|
194473
|
+
title: TOOL_TITLE3,
|
|
194474
|
+
description: TOOL_DESCRIPTION3,
|
|
194475
|
+
inputSchema: InputSchema3,
|
|
194476
|
+
outputSchema: OutputSchema4,
|
|
194305
194477
|
annotations: { readOnlyHint: false },
|
|
194306
194478
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitCleanLogic)),
|
|
194307
|
-
responseFormatter:
|
|
194479
|
+
responseFormatter: responseFormatter3
|
|
194308
194480
|
};
|
|
194309
194481
|
|
|
194310
194482
|
// src/mcp-server/tools/definitions/git-clear-working-dir.tool.ts
|
|
194311
194483
|
init_zod();
|
|
194312
|
-
var
|
|
194313
|
-
var
|
|
194314
|
-
var
|
|
194315
|
-
var
|
|
194484
|
+
var TOOL_NAME4 = "git_clear_working_dir";
|
|
194485
|
+
var TOOL_TITLE4 = "Git Clear Working Directory";
|
|
194486
|
+
var TOOL_DESCRIPTION4 = "Clear the session working directory setting. This resets the context without restarting the server. Subsequent git operations will require an explicit path parameter unless git_set_working_dir is called again.";
|
|
194487
|
+
var InputSchema4 = exports_external.object({
|
|
194316
194488
|
confirm: exports_external.enum(["Y", "y", "Yes", "yes"]).describe("Explicit confirmation required to clear working directory. Accepted values: 'Y', 'y', 'Yes', or 'yes'.")
|
|
194317
194489
|
});
|
|
194318
|
-
var
|
|
194490
|
+
var OutputSchema5 = exports_external.object({
|
|
194319
194491
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194320
194492
|
message: exports_external.string().describe("Confirmation message."),
|
|
194321
194493
|
previousPath: exports_external.string().optional().describe("The working directory that was cleared (if one was set).")
|
|
@@ -194340,26 +194512,26 @@ function filterGitClearWorkingDirOutput(result, level) {
|
|
|
194340
194512
|
}
|
|
194341
194513
|
return result;
|
|
194342
194514
|
}
|
|
194343
|
-
var
|
|
194515
|
+
var responseFormatter4 = createJsonFormatter({
|
|
194344
194516
|
filter: filterGitClearWorkingDirOutput
|
|
194345
194517
|
});
|
|
194346
194518
|
var gitClearWorkingDirTool = {
|
|
194347
|
-
name:
|
|
194348
|
-
title:
|
|
194349
|
-
description:
|
|
194350
|
-
inputSchema:
|
|
194351
|
-
outputSchema:
|
|
194519
|
+
name: TOOL_NAME4,
|
|
194520
|
+
title: TOOL_TITLE4,
|
|
194521
|
+
description: TOOL_DESCRIPTION4,
|
|
194522
|
+
inputSchema: InputSchema4,
|
|
194523
|
+
outputSchema: OutputSchema5,
|
|
194352
194524
|
annotations: { readOnlyHint: false },
|
|
194353
194525
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitClearWorkingDirLogic, { skipPathResolution: true })),
|
|
194354
|
-
responseFormatter:
|
|
194526
|
+
responseFormatter: responseFormatter4
|
|
194355
194527
|
};
|
|
194356
194528
|
|
|
194357
194529
|
// src/mcp-server/tools/definitions/git-clone.tool.ts
|
|
194358
194530
|
init_zod();
|
|
194359
|
-
var
|
|
194360
|
-
var
|
|
194361
|
-
var
|
|
194362
|
-
var
|
|
194531
|
+
var TOOL_NAME5 = "git_clone";
|
|
194532
|
+
var TOOL_TITLE5 = "Git Clone";
|
|
194533
|
+
var TOOL_DESCRIPTION5 = "Clone a repository from a remote URL to a local path. Supports HTTP/HTTPS and SSH URLs, with optional shallow cloning.";
|
|
194534
|
+
var InputSchema5 = exports_external.object({
|
|
194363
194535
|
url: exports_external.string().url().describe("Remote repository URL to clone from."),
|
|
194364
194536
|
localPath: exports_external.string().min(1).describe("Local path where the repository should be cloned."),
|
|
194365
194537
|
branch: exports_external.string().optional().describe("Specific branch to clone (defaults to remote HEAD)."),
|
|
@@ -194367,7 +194539,7 @@ var InputSchema4 = exports_external.object({
|
|
|
194367
194539
|
bare: exports_external.boolean().default(false).describe("Create a bare repository (no working directory)."),
|
|
194368
194540
|
mirror: exports_external.boolean().default(false).describe("Create a mirror clone (implies bare).")
|
|
194369
194541
|
});
|
|
194370
|
-
var
|
|
194542
|
+
var OutputSchema6 = exports_external.object({
|
|
194371
194543
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194372
194544
|
remoteUrl: exports_external.string().describe("The remote URL that was cloned."),
|
|
194373
194545
|
localPath: exports_external.string().describe("Local path where repository was cloned."),
|
|
@@ -194409,31 +194581,31 @@ function filterGitCloneOutput(result, level) {
|
|
|
194409
194581
|
}
|
|
194410
194582
|
return result;
|
|
194411
194583
|
}
|
|
194412
|
-
var
|
|
194584
|
+
var responseFormatter5 = createJsonFormatter({
|
|
194413
194585
|
filter: filterGitCloneOutput
|
|
194414
194586
|
});
|
|
194415
194587
|
var gitCloneTool = {
|
|
194416
|
-
name:
|
|
194417
|
-
title:
|
|
194418
|
-
description:
|
|
194419
|
-
inputSchema:
|
|
194420
|
-
outputSchema:
|
|
194588
|
+
name: TOOL_NAME5,
|
|
194589
|
+
title: TOOL_TITLE5,
|
|
194590
|
+
description: TOOL_DESCRIPTION5,
|
|
194591
|
+
inputSchema: InputSchema5,
|
|
194592
|
+
outputSchema: OutputSchema6,
|
|
194421
194593
|
annotations: { readOnlyHint: false },
|
|
194422
194594
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitCloneLogic, { skipPathResolution: true })),
|
|
194423
|
-
responseFormatter:
|
|
194595
|
+
responseFormatter: responseFormatter5
|
|
194424
194596
|
};
|
|
194425
194597
|
|
|
194426
194598
|
// src/mcp-server/tools/definitions/git-init.tool.ts
|
|
194427
194599
|
init_zod();
|
|
194428
|
-
var
|
|
194429
|
-
var
|
|
194430
|
-
var
|
|
194431
|
-
var
|
|
194600
|
+
var TOOL_NAME6 = "git_init";
|
|
194601
|
+
var TOOL_TITLE6 = "Git Init";
|
|
194602
|
+
var TOOL_DESCRIPTION6 = "Initialize a new Git repository at the specified path. Creates a .git directory and sets up the initial branch.";
|
|
194603
|
+
var InputSchema6 = exports_external.object({
|
|
194432
194604
|
path: PathSchema,
|
|
194433
194605
|
initialBranch: exports_external.string().optional().describe("Name of the initial branch (default: main)."),
|
|
194434
194606
|
bare: exports_external.boolean().default(false).describe("Create a bare repository (no working directory).")
|
|
194435
194607
|
});
|
|
194436
|
-
var
|
|
194608
|
+
var OutputSchema7 = exports_external.object({
|
|
194437
194609
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194438
194610
|
path: exports_external.string().describe("Path where repository was initialized."),
|
|
194439
194611
|
initialBranch: exports_external.string().describe("Name of the initial branch."),
|
|
@@ -194475,26 +194647,26 @@ function filterGitInitOutput(result, level) {
|
|
|
194475
194647
|
}
|
|
194476
194648
|
return result;
|
|
194477
194649
|
}
|
|
194478
|
-
var
|
|
194650
|
+
var responseFormatter6 = createJsonFormatter({
|
|
194479
194651
|
filter: filterGitInitOutput
|
|
194480
194652
|
});
|
|
194481
194653
|
var gitInitTool = {
|
|
194482
|
-
name:
|
|
194483
|
-
title:
|
|
194484
|
-
description:
|
|
194485
|
-
inputSchema:
|
|
194486
|
-
outputSchema:
|
|
194654
|
+
name: TOOL_NAME6,
|
|
194655
|
+
title: TOOL_TITLE6,
|
|
194656
|
+
description: TOOL_DESCRIPTION6,
|
|
194657
|
+
inputSchema: InputSchema6,
|
|
194658
|
+
outputSchema: OutputSchema7,
|
|
194487
194659
|
annotations: { readOnlyHint: false },
|
|
194488
194660
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitInitLogic)),
|
|
194489
|
-
responseFormatter:
|
|
194661
|
+
responseFormatter: responseFormatter6
|
|
194490
194662
|
};
|
|
194491
194663
|
|
|
194492
194664
|
// src/mcp-server/tools/definitions/git-reflog.tool.ts
|
|
194493
194665
|
init_zod();
|
|
194494
|
-
var
|
|
194495
|
-
var
|
|
194496
|
-
var
|
|
194497
|
-
var
|
|
194666
|
+
var TOOL_NAME7 = "git_reflog";
|
|
194667
|
+
var TOOL_TITLE7 = "Git Reflog";
|
|
194668
|
+
var TOOL_DESCRIPTION7 = "View the reference logs (reflog) to track when branch tips and other references were updated. Useful for recovering lost commits.";
|
|
194669
|
+
var InputSchema7 = exports_external.object({
|
|
194498
194670
|
path: PathSchema,
|
|
194499
194671
|
ref: exports_external.string().optional().describe("Show reflog for specific reference (default: HEAD)."),
|
|
194500
194672
|
maxCount: LimitSchema
|
|
@@ -194506,7 +194678,7 @@ var ReflogEntrySchema = exports_external.object({
|
|
|
194506
194678
|
message: exports_external.string().describe("Detailed message describing the action."),
|
|
194507
194679
|
timestamp: exports_external.number().int().describe("Unix timestamp when this action occurred.")
|
|
194508
194680
|
});
|
|
194509
|
-
var
|
|
194681
|
+
var OutputSchema8 = exports_external.object({
|
|
194510
194682
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194511
194683
|
ref: exports_external.string().describe("The reference that was queried."),
|
|
194512
194684
|
entries: exports_external.array(ReflogEntrySchema).describe("Array of reflog entries in reverse chronological order."),
|
|
@@ -194542,32 +194714,32 @@ function filterGitReflogOutput(result, level) {
|
|
|
194542
194714
|
}
|
|
194543
194715
|
return result;
|
|
194544
194716
|
}
|
|
194545
|
-
var
|
|
194717
|
+
var responseFormatter7 = createJsonFormatter({
|
|
194546
194718
|
filter: filterGitReflogOutput
|
|
194547
194719
|
});
|
|
194548
194720
|
var gitReflogTool = {
|
|
194549
|
-
name:
|
|
194550
|
-
title:
|
|
194551
|
-
description:
|
|
194552
|
-
inputSchema:
|
|
194553
|
-
outputSchema:
|
|
194721
|
+
name: TOOL_NAME7,
|
|
194722
|
+
title: TOOL_TITLE7,
|
|
194723
|
+
description: TOOL_DESCRIPTION7,
|
|
194724
|
+
inputSchema: InputSchema7,
|
|
194725
|
+
outputSchema: OutputSchema8,
|
|
194554
194726
|
annotations: { readOnlyHint: true },
|
|
194555
194727
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitReflogLogic)),
|
|
194556
|
-
responseFormatter:
|
|
194728
|
+
responseFormatter: responseFormatter7
|
|
194557
194729
|
};
|
|
194558
194730
|
|
|
194559
194731
|
// src/mcp-server/tools/definitions/git-set-working-dir.tool.ts
|
|
194560
194732
|
init_zod();
|
|
194561
|
-
var
|
|
194562
|
-
var
|
|
194563
|
-
var
|
|
194564
|
-
var
|
|
194733
|
+
var TOOL_NAME8 = "git_set_working_dir";
|
|
194734
|
+
var TOOL_TITLE8 = "Git Set Working Directory";
|
|
194735
|
+
var TOOL_DESCRIPTION8 = "Set the session working directory for all git operations. This allows subsequent git commands to omit the path parameter and use this directory as the default.";
|
|
194736
|
+
var InputSchema8 = exports_external.object({
|
|
194565
194737
|
path: exports_external.string().min(1).describe("Absolute path to the git repository to use as the working directory."),
|
|
194566
194738
|
validateGitRepo: exports_external.boolean().default(true).describe("Validate that the path is a Git repository."),
|
|
194567
194739
|
initializeIfNotPresent: exports_external.boolean().default(false).describe("If not a Git repository, initialize it with 'git init'."),
|
|
194568
194740
|
includeMetadata: exports_external.boolean().default(false).describe("Include repository metadata (status, branches, remotes, recent commits) in the response. Set to true for immediate repository context understanding. Defaults to false to minimize response size.")
|
|
194569
194741
|
});
|
|
194570
|
-
var
|
|
194742
|
+
var OutputSchema9 = exports_external.object({
|
|
194571
194743
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194572
194744
|
path: exports_external.string().describe("The working directory that was set."),
|
|
194573
194745
|
message: exports_external.string().describe("Confirmation message."),
|
|
@@ -194717,30 +194889,30 @@ function filterGitSetWorkingDirOutput(result, level) {
|
|
|
194717
194889
|
}
|
|
194718
194890
|
return result;
|
|
194719
194891
|
}
|
|
194720
|
-
var
|
|
194892
|
+
var responseFormatter8 = createJsonFormatter({
|
|
194721
194893
|
filter: filterGitSetWorkingDirOutput
|
|
194722
194894
|
});
|
|
194723
194895
|
var gitSetWorkingDirTool = {
|
|
194724
|
-
name:
|
|
194725
|
-
title:
|
|
194726
|
-
description:
|
|
194727
|
-
inputSchema:
|
|
194728
|
-
outputSchema:
|
|
194896
|
+
name: TOOL_NAME8,
|
|
194897
|
+
title: TOOL_TITLE8,
|
|
194898
|
+
description: TOOL_DESCRIPTION8,
|
|
194899
|
+
inputSchema: InputSchema8,
|
|
194900
|
+
outputSchema: OutputSchema9,
|
|
194729
194901
|
annotations: { readOnlyHint: false },
|
|
194730
194902
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitSetWorkingDirLogic, { skipPathResolution: true })),
|
|
194731
|
-
responseFormatter:
|
|
194903
|
+
responseFormatter: responseFormatter8
|
|
194732
194904
|
};
|
|
194733
194905
|
|
|
194734
194906
|
// src/mcp-server/tools/definitions/git-status.tool.ts
|
|
194735
194907
|
init_zod();
|
|
194736
|
-
var
|
|
194737
|
-
var
|
|
194738
|
-
var
|
|
194739
|
-
var
|
|
194908
|
+
var TOOL_NAME9 = "git_status";
|
|
194909
|
+
var TOOL_TITLE9 = "Git Status";
|
|
194910
|
+
var TOOL_DESCRIPTION9 = "Show the working tree status including staged, unstaged, and untracked files.";
|
|
194911
|
+
var InputSchema9 = exports_external.object({
|
|
194740
194912
|
path: PathSchema,
|
|
194741
194913
|
includeUntracked: exports_external.boolean().default(true).describe("Include untracked files in the output.")
|
|
194742
194914
|
});
|
|
194743
|
-
var
|
|
194915
|
+
var OutputSchema10 = exports_external.object({
|
|
194744
194916
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194745
194917
|
currentBranch: exports_external.string().nullable().describe("Current branch name."),
|
|
194746
194918
|
isClean: exports_external.boolean().describe("True if working directory is clean."),
|
|
@@ -194787,18 +194959,18 @@ function filterGitStatusOutput(result, level) {
|
|
|
194787
194959
|
}
|
|
194788
194960
|
return result;
|
|
194789
194961
|
}
|
|
194790
|
-
var
|
|
194962
|
+
var responseFormatter9 = createJsonFormatter({
|
|
194791
194963
|
filter: filterGitStatusOutput
|
|
194792
194964
|
});
|
|
194793
194965
|
var gitStatusTool = {
|
|
194794
|
-
name:
|
|
194795
|
-
title:
|
|
194796
|
-
description:
|
|
194797
|
-
inputSchema:
|
|
194798
|
-
outputSchema:
|
|
194966
|
+
name: TOOL_NAME9,
|
|
194967
|
+
title: TOOL_TITLE9,
|
|
194968
|
+
description: TOOL_DESCRIPTION9,
|
|
194969
|
+
inputSchema: InputSchema9,
|
|
194970
|
+
outputSchema: OutputSchema10,
|
|
194799
194971
|
annotations: { readOnlyHint: true },
|
|
194800
194972
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitStatusLogic)),
|
|
194801
|
-
responseFormatter:
|
|
194973
|
+
responseFormatter: responseFormatter9
|
|
194802
194974
|
};
|
|
194803
194975
|
|
|
194804
194976
|
// src/mcp-server/tools/definitions/git-wrapup-instructions.tool.ts
|
|
@@ -194807,15 +194979,15 @@ init_utils();
|
|
|
194807
194979
|
import { readFileSync } from "fs";
|
|
194808
194980
|
import path4 from "path";
|
|
194809
194981
|
init_config();
|
|
194810
|
-
var
|
|
194811
|
-
var
|
|
194812
|
-
var
|
|
194813
|
-
var
|
|
194982
|
+
var TOOL_NAME10 = "git_wrapup_instructions";
|
|
194983
|
+
var TOOL_TITLE10 = "Git Wrap-up Instructions";
|
|
194984
|
+
var TOOL_DESCRIPTION10 = "Provides the user's desired Git wrap-up workflow and instructions. Returns custom workflow steps (if configured) or default best practices for reviewing, documenting, and committing changes. Includes current repository status to guide next actions.";
|
|
194985
|
+
var InputSchema10 = exports_external.object({
|
|
194814
194986
|
acknowledgement: exports_external.enum(["Y", "y", "Yes", "yes"]).describe("Acknowledgement to initiate the wrap-up workflow."),
|
|
194815
194987
|
updateAgentMetaFiles: exports_external.enum(["Y", "y", "Yes", "yes"]).optional().describe("Include an instruction to update agent-specific meta files."),
|
|
194816
194988
|
createTag: exports_external.boolean().optional().describe("If true, instructs the agent to create a Git tag after committing all changes. Only set to true if given permission to do so.")
|
|
194817
194989
|
});
|
|
194818
|
-
var
|
|
194990
|
+
var OutputSchema11 = exports_external.object({
|
|
194819
194991
|
instructions: exports_external.string().describe("The set of instructions for the wrap-up workflow."),
|
|
194820
194992
|
gitStatus: exports_external.object({
|
|
194821
194993
|
branch: exports_external.string().describe("Current branch name."),
|
|
@@ -194936,18 +195108,18 @@ function filterGitWrapupInstructionsOutput(result, level) {
|
|
|
194936
195108
|
}
|
|
194937
195109
|
return result;
|
|
194938
195110
|
}
|
|
194939
|
-
var
|
|
195111
|
+
var responseFormatter10 = createJsonFormatter({
|
|
194940
195112
|
filter: filterGitWrapupInstructionsOutput
|
|
194941
195113
|
});
|
|
194942
195114
|
var gitWrapupInstructionsTool = {
|
|
194943
|
-
name:
|
|
194944
|
-
title:
|
|
194945
|
-
description:
|
|
194946
|
-
inputSchema:
|
|
194947
|
-
outputSchema:
|
|
195115
|
+
name: TOOL_NAME10,
|
|
195116
|
+
title: TOOL_TITLE10,
|
|
195117
|
+
description: TOOL_DESCRIPTION10,
|
|
195118
|
+
inputSchema: InputSchema10,
|
|
195119
|
+
outputSchema: OutputSchema11,
|
|
194948
195120
|
annotations: { readOnlyHint: true },
|
|
194949
195121
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitWrapupInstructionsLogic, { skipPathResolution: true })),
|
|
194950
|
-
responseFormatter:
|
|
195122
|
+
responseFormatter: responseFormatter10
|
|
194951
195123
|
};
|
|
194952
195124
|
|
|
194953
195125
|
// src/mcp-server/tools/definitions/git-add.tool.ts
|
|
@@ -194975,17 +195147,17 @@ function flattenChanges(changes) {
|
|
|
194975
195147
|
}
|
|
194976
195148
|
|
|
194977
195149
|
// src/mcp-server/tools/definitions/git-add.tool.ts
|
|
194978
|
-
var
|
|
194979
|
-
var
|
|
194980
|
-
var
|
|
194981
|
-
var
|
|
195150
|
+
var TOOL_NAME11 = "git_add";
|
|
195151
|
+
var TOOL_TITLE11 = "Git Add";
|
|
195152
|
+
var TOOL_DESCRIPTION11 = "Stage files for commit. Add file contents to the staging area (index) to prepare for the next commit.";
|
|
195153
|
+
var InputSchema11 = exports_external.object({
|
|
194982
195154
|
path: PathSchema,
|
|
194983
195155
|
files: exports_external.array(exports_external.string()).min(1).describe('Array of file paths to stage (relative to repository root). Use ["."] to stage all changes.'),
|
|
194984
195156
|
update: exports_external.boolean().default(false).describe("Stage only modified and deleted files (skip untracked files)."),
|
|
194985
195157
|
all: AllSchema,
|
|
194986
195158
|
force: exports_external.boolean().default(false).describe("Allow adding otherwise ignored files.")
|
|
194987
195159
|
});
|
|
194988
|
-
var
|
|
195160
|
+
var OutputSchema12 = exports_external.object({
|
|
194989
195161
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
194990
195162
|
stagedFiles: exports_external.array(exports_external.string()).describe("Files that were successfully staged."),
|
|
194991
195163
|
totalFiles: exports_external.number().int().describe("Total number of files staged."),
|
|
@@ -195053,25 +195225,25 @@ function filterGitAddOutput(result, level) {
|
|
|
195053
195225
|
}
|
|
195054
195226
|
return result;
|
|
195055
195227
|
}
|
|
195056
|
-
var
|
|
195228
|
+
var responseFormatter11 = createJsonFormatter({
|
|
195057
195229
|
filter: filterGitAddOutput
|
|
195058
195230
|
});
|
|
195059
195231
|
var gitAddTool = {
|
|
195060
|
-
name:
|
|
195061
|
-
title:
|
|
195062
|
-
description:
|
|
195063
|
-
inputSchema:
|
|
195064
|
-
outputSchema:
|
|
195232
|
+
name: TOOL_NAME11,
|
|
195233
|
+
title: TOOL_TITLE11,
|
|
195234
|
+
description: TOOL_DESCRIPTION11,
|
|
195235
|
+
inputSchema: InputSchema11,
|
|
195236
|
+
outputSchema: OutputSchema12,
|
|
195065
195237
|
annotations: { readOnlyHint: false },
|
|
195066
195238
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitAddLogic)),
|
|
195067
|
-
responseFormatter:
|
|
195239
|
+
responseFormatter: responseFormatter11
|
|
195068
195240
|
};
|
|
195069
195241
|
|
|
195070
195242
|
// src/mcp-server/tools/definitions/git-commit.tool.ts
|
|
195071
195243
|
init_zod();
|
|
195072
|
-
var
|
|
195073
|
-
var
|
|
195074
|
-
var
|
|
195244
|
+
var TOOL_NAME12 = "git_commit";
|
|
195245
|
+
var TOOL_TITLE12 = "Git Commit";
|
|
195246
|
+
var TOOL_DESCRIPTION12 = `Create a new commit with staged changes in the repository. Records a snapshot of the staging area with a commit message.
|
|
195075
195247
|
|
|
195076
195248
|
**Commit Message Format:**
|
|
195077
195249
|
Pass commit messages as JSON string parameters. Multi-line messages are supported using standard JSON string escaping.
|
|
@@ -195081,7 +195253,7 @@ Pass commit messages as JSON string parameters. Multi-line messages are supporte
|
|
|
195081
195253
|
- Multi-line: { "message": "feat: add user authentication\\n\\nImplemented OAuth2 flow with JWT tokens.\\nAdded tests for login and logout." }
|
|
195082
195254
|
|
|
195083
195255
|
Note: Do not use bash heredoc syntax. Literal escape sequences (\\n, \\t) in the message string are automatically normalized to their actual characters.`;
|
|
195084
|
-
var
|
|
195256
|
+
var InputSchema12 = exports_external.object({
|
|
195085
195257
|
path: PathSchema,
|
|
195086
195258
|
message: CommitMessageSchema,
|
|
195087
195259
|
author: exports_external.object({
|
|
@@ -195095,7 +195267,7 @@ var InputSchema11 = exports_external.object({
|
|
|
195095
195267
|
filesToStage: exports_external.array(exports_external.string()).optional().describe("File paths to stage before committing (atomic stage+commit operation)."),
|
|
195096
195268
|
forceUnsignedOnFailure: exports_external.boolean().default(false).describe("If GPG/SSH signing fails, retry the commit without signing instead of failing.")
|
|
195097
195269
|
});
|
|
195098
|
-
var
|
|
195270
|
+
var OutputSchema13 = exports_external.object({
|
|
195099
195271
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195100
195272
|
commitHash: exports_external.string().describe("SHA-1 hash of the created commit."),
|
|
195101
195273
|
message: exports_external.string().describe("The commit message."),
|
|
@@ -195202,26 +195374,26 @@ function filterGitCommitOutput(result, level) {
|
|
|
195202
195374
|
}
|
|
195203
195375
|
return result;
|
|
195204
195376
|
}
|
|
195205
|
-
var
|
|
195377
|
+
var responseFormatter12 = createJsonFormatter({
|
|
195206
195378
|
filter: filterGitCommitOutput
|
|
195207
195379
|
});
|
|
195208
195380
|
var gitCommitTool = {
|
|
195209
|
-
name:
|
|
195210
|
-
title:
|
|
195211
|
-
description:
|
|
195212
|
-
inputSchema:
|
|
195213
|
-
outputSchema:
|
|
195381
|
+
name: TOOL_NAME12,
|
|
195382
|
+
title: TOOL_TITLE12,
|
|
195383
|
+
description: TOOL_DESCRIPTION12,
|
|
195384
|
+
inputSchema: InputSchema12,
|
|
195385
|
+
outputSchema: OutputSchema13,
|
|
195214
195386
|
annotations: { readOnlyHint: false },
|
|
195215
195387
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitCommitLogic)),
|
|
195216
|
-
responseFormatter:
|
|
195388
|
+
responseFormatter: responseFormatter12
|
|
195217
195389
|
};
|
|
195218
195390
|
|
|
195219
195391
|
// src/mcp-server/tools/definitions/git-diff.tool.ts
|
|
195220
195392
|
init_zod();
|
|
195221
|
-
var
|
|
195222
|
-
var
|
|
195223
|
-
var
|
|
195224
|
-
var
|
|
195393
|
+
var TOOL_NAME13 = "git_diff";
|
|
195394
|
+
var TOOL_TITLE13 = "Git Diff";
|
|
195395
|
+
var TOOL_DESCRIPTION13 = "View differences between commits, branches, or working tree. Shows changes in unified diff format.";
|
|
195396
|
+
var InputSchema13 = exports_external.object({
|
|
195225
195397
|
path: PathSchema,
|
|
195226
195398
|
target: CommitRefSchema.optional().describe("Target commit/branch to compare against. If not specified, shows unstaged changes in working tree."),
|
|
195227
195399
|
source: CommitRefSchema.optional().describe("Source commit/branch to compare from. If target is specified but not source, compares target against working tree."),
|
|
@@ -195232,7 +195404,7 @@ var InputSchema12 = exports_external.object({
|
|
|
195232
195404
|
stat: exports_external.boolean().default(false).describe("Show diffstat (summary of changes) instead of full diff content."),
|
|
195233
195405
|
contextLines: exports_external.number().int().min(0).max(100).default(3).describe("Number of context lines to show around changes.")
|
|
195234
195406
|
});
|
|
195235
|
-
var
|
|
195407
|
+
var OutputSchema14 = exports_external.object({
|
|
195236
195408
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195237
195409
|
diff: exports_external.string().describe("The diff output in unified diff format."),
|
|
195238
195410
|
filesChanged: exports_external.number().int().describe("Number of files with differences."),
|
|
@@ -195273,26 +195445,26 @@ function filterGitDiffOutput(result, level) {
|
|
|
195273
195445
|
}
|
|
195274
195446
|
return result;
|
|
195275
195447
|
}
|
|
195276
|
-
var
|
|
195448
|
+
var responseFormatter13 = createJsonFormatter({
|
|
195277
195449
|
filter: filterGitDiffOutput
|
|
195278
195450
|
});
|
|
195279
195451
|
var gitDiffTool = {
|
|
195280
|
-
name:
|
|
195281
|
-
title:
|
|
195282
|
-
description:
|
|
195283
|
-
inputSchema:
|
|
195284
|
-
outputSchema:
|
|
195452
|
+
name: TOOL_NAME13,
|
|
195453
|
+
title: TOOL_TITLE13,
|
|
195454
|
+
description: TOOL_DESCRIPTION13,
|
|
195455
|
+
inputSchema: InputSchema13,
|
|
195456
|
+
outputSchema: OutputSchema14,
|
|
195285
195457
|
annotations: { readOnlyHint: true },
|
|
195286
195458
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitDiffLogic)),
|
|
195287
|
-
responseFormatter:
|
|
195459
|
+
responseFormatter: responseFormatter13
|
|
195288
195460
|
};
|
|
195289
195461
|
|
|
195290
195462
|
// src/mcp-server/tools/definitions/git-log.tool.ts
|
|
195291
195463
|
init_zod();
|
|
195292
|
-
var
|
|
195293
|
-
var
|
|
195294
|
-
var
|
|
195295
|
-
var
|
|
195464
|
+
var TOOL_NAME14 = "git_log";
|
|
195465
|
+
var TOOL_TITLE14 = "Git Log";
|
|
195466
|
+
var TOOL_DESCRIPTION14 = "View commit history with optional filtering by author, date range, file path, or commit message pattern.";
|
|
195467
|
+
var InputSchema14 = exports_external.object({
|
|
195296
195468
|
path: PathSchema,
|
|
195297
195469
|
maxCount: LimitSchema,
|
|
195298
195470
|
skip: SkipSchema,
|
|
@@ -195320,7 +195492,7 @@ var CommitSchema = exports_external.object({
|
|
|
195320
195492
|
stat: exports_external.string().optional().describe("File change statistics (when stat option is used)."),
|
|
195321
195493
|
patch: exports_external.string().optional().describe("Full diff patch (when patch option is used).")
|
|
195322
195494
|
});
|
|
195323
|
-
var
|
|
195495
|
+
var OutputSchema15 = exports_external.object({
|
|
195324
195496
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195325
195497
|
commits: exports_external.array(CommitSchema).describe("Array of commit objects."),
|
|
195326
195498
|
totalCount: exports_external.number().int().describe("Total number of commits returned (may be limited by maxCount).")
|
|
@@ -195359,33 +195531,33 @@ function filterGitLogOutput(result, level) {
|
|
|
195359
195531
|
}
|
|
195360
195532
|
return result;
|
|
195361
195533
|
}
|
|
195362
|
-
var
|
|
195534
|
+
var responseFormatter14 = createJsonFormatter({
|
|
195363
195535
|
filter: filterGitLogOutput
|
|
195364
195536
|
});
|
|
195365
195537
|
var gitLogTool = {
|
|
195366
|
-
name:
|
|
195367
|
-
title:
|
|
195368
|
-
description:
|
|
195369
|
-
inputSchema:
|
|
195370
|
-
outputSchema:
|
|
195538
|
+
name: TOOL_NAME14,
|
|
195539
|
+
title: TOOL_TITLE14,
|
|
195540
|
+
description: TOOL_DESCRIPTION14,
|
|
195541
|
+
inputSchema: InputSchema14,
|
|
195542
|
+
outputSchema: OutputSchema15,
|
|
195371
195543
|
annotations: { readOnlyHint: true },
|
|
195372
195544
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitLogLogic)),
|
|
195373
|
-
responseFormatter:
|
|
195545
|
+
responseFormatter: responseFormatter14
|
|
195374
195546
|
};
|
|
195375
195547
|
|
|
195376
195548
|
// src/mcp-server/tools/definitions/git-show.tool.ts
|
|
195377
195549
|
init_zod();
|
|
195378
|
-
var
|
|
195379
|
-
var
|
|
195380
|
-
var
|
|
195381
|
-
var
|
|
195550
|
+
var TOOL_NAME15 = "git_show";
|
|
195551
|
+
var TOOL_TITLE15 = "Git Show";
|
|
195552
|
+
var TOOL_DESCRIPTION15 = "Show details of a git object (commit, tree, blob, or tag). Displays commit information and the diff of changes introduced.";
|
|
195553
|
+
var InputSchema15 = exports_external.object({
|
|
195382
195554
|
path: PathSchema,
|
|
195383
195555
|
object: CommitRefSchema.describe("Git object to show (commit hash, branch, tag, tree, or blob)."),
|
|
195384
195556
|
format: exports_external.enum(["raw", "json"]).optional().describe("Output format for the git object."),
|
|
195385
195557
|
stat: exports_external.boolean().default(false).describe("Show diffstat instead of full diff."),
|
|
195386
195558
|
filePath: exports_external.string().optional().describe("View specific file at a given commit reference. When provided, shows the file content from the specified object.")
|
|
195387
195559
|
});
|
|
195388
|
-
var
|
|
195560
|
+
var OutputSchema16 = exports_external.object({
|
|
195389
195561
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195390
195562
|
object: exports_external.string().describe("Object identifier."),
|
|
195391
195563
|
type: exports_external.enum(["commit", "tag", "tree", "blob"]).describe("Type of git object shown."),
|
|
@@ -195436,26 +195608,26 @@ function filterGitShowOutput(result, level) {
|
|
|
195436
195608
|
}
|
|
195437
195609
|
return result;
|
|
195438
195610
|
}
|
|
195439
|
-
var
|
|
195611
|
+
var responseFormatter15 = createJsonFormatter({
|
|
195440
195612
|
filter: filterGitShowOutput
|
|
195441
195613
|
});
|
|
195442
195614
|
var gitShowTool = {
|
|
195443
|
-
name:
|
|
195444
|
-
title:
|
|
195445
|
-
description:
|
|
195446
|
-
inputSchema:
|
|
195447
|
-
outputSchema:
|
|
195615
|
+
name: TOOL_NAME15,
|
|
195616
|
+
title: TOOL_TITLE15,
|
|
195617
|
+
description: TOOL_DESCRIPTION15,
|
|
195618
|
+
inputSchema: InputSchema15,
|
|
195619
|
+
outputSchema: OutputSchema16,
|
|
195448
195620
|
annotations: { readOnlyHint: true },
|
|
195449
195621
|
logic: withToolAuth(["tool:git:read"], createToolHandler(gitShowLogic)),
|
|
195450
|
-
responseFormatter:
|
|
195622
|
+
responseFormatter: responseFormatter15
|
|
195451
195623
|
};
|
|
195452
195624
|
|
|
195453
195625
|
// src/mcp-server/tools/definitions/git-branch.tool.ts
|
|
195454
195626
|
init_zod();
|
|
195455
|
-
var
|
|
195456
|
-
var
|
|
195457
|
-
var
|
|
195458
|
-
var
|
|
195627
|
+
var TOOL_NAME16 = "git_branch";
|
|
195628
|
+
var TOOL_TITLE16 = "Git Branch";
|
|
195629
|
+
var TOOL_DESCRIPTION16 = "Manage branches: list all branches, show current branch, create a new branch, delete a branch, or rename a branch.";
|
|
195630
|
+
var InputSchema16 = exports_external.object({
|
|
195459
195631
|
path: PathSchema,
|
|
195460
195632
|
operation: exports_external.enum(["list", "create", "delete", "rename", "show-current"]).default("list").describe("The branch operation to perform."),
|
|
195461
195633
|
name: BranchNameSchema.optional().describe("Branch name for create/delete/rename operations."),
|
|
@@ -195475,7 +195647,7 @@ var BranchInfoSchema = exports_external.object({
|
|
|
195475
195647
|
ahead: exports_external.number().int().optional().describe("Commits ahead of upstream."),
|
|
195476
195648
|
behind: exports_external.number().int().optional().describe("Commits behind upstream.")
|
|
195477
195649
|
});
|
|
195478
|
-
var
|
|
195650
|
+
var OutputSchema17 = exports_external.object({
|
|
195479
195651
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195480
195652
|
operation: exports_external.enum(["list", "create", "delete", "rename", "show-current"]),
|
|
195481
195653
|
branches: exports_external.array(BranchInfoSchema).optional().describe("List of branches (for list operation)."),
|
|
@@ -195574,26 +195746,26 @@ function filterGitBranchOutput(result, level) {
|
|
|
195574
195746
|
}
|
|
195575
195747
|
return result;
|
|
195576
195748
|
}
|
|
195577
|
-
var
|
|
195749
|
+
var responseFormatter16 = createJsonFormatter({
|
|
195578
195750
|
filter: filterGitBranchOutput
|
|
195579
195751
|
});
|
|
195580
195752
|
var gitBranchTool = {
|
|
195581
|
-
name:
|
|
195582
|
-
title:
|
|
195583
|
-
description:
|
|
195584
|
-
inputSchema:
|
|
195585
|
-
outputSchema:
|
|
195753
|
+
name: TOOL_NAME16,
|
|
195754
|
+
title: TOOL_TITLE16,
|
|
195755
|
+
description: TOOL_DESCRIPTION16,
|
|
195756
|
+
inputSchema: InputSchema16,
|
|
195757
|
+
outputSchema: OutputSchema17,
|
|
195586
195758
|
annotations: { readOnlyHint: false },
|
|
195587
195759
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitBranchLogic)),
|
|
195588
|
-
responseFormatter:
|
|
195760
|
+
responseFormatter: responseFormatter16
|
|
195589
195761
|
};
|
|
195590
195762
|
|
|
195591
195763
|
// src/mcp-server/tools/definitions/git-checkout.tool.ts
|
|
195592
195764
|
init_zod();
|
|
195593
|
-
var
|
|
195594
|
-
var
|
|
195595
|
-
var
|
|
195596
|
-
var
|
|
195765
|
+
var TOOL_NAME17 = "git_checkout";
|
|
195766
|
+
var TOOL_TITLE17 = "Git Checkout";
|
|
195767
|
+
var TOOL_DESCRIPTION17 = "Switch branches or restore working tree files. Can checkout an existing branch, create a new branch, or restore specific files.";
|
|
195768
|
+
var InputSchema17 = exports_external.object({
|
|
195597
195769
|
path: PathSchema,
|
|
195598
195770
|
target: exports_external.union([BranchNameSchema, CommitRefSchema]).describe("Branch name, commit hash, or tag to checkout."),
|
|
195599
195771
|
createBranch: exports_external.boolean().default(false).describe("Create a new branch with the specified name."),
|
|
@@ -195601,7 +195773,7 @@ var InputSchema16 = exports_external.object({
|
|
|
195601
195773
|
paths: exports_external.array(exports_external.string()).optional().describe("Specific file paths to checkout/restore (relative to repository root)."),
|
|
195602
195774
|
track: exports_external.boolean().optional().describe("Set up tracking relationship with remote branch when creating new branch.")
|
|
195603
195775
|
});
|
|
195604
|
-
var
|
|
195776
|
+
var OutputSchema18 = exports_external.object({
|
|
195605
195777
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195606
195778
|
target: exports_external.string().describe("Checked out branch or commit."),
|
|
195607
195779
|
branchCreated: exports_external.boolean().describe("True if a new branch was created."),
|
|
@@ -195640,26 +195812,26 @@ function filterGitCheckoutOutput(result, level) {
|
|
|
195640
195812
|
}
|
|
195641
195813
|
return result;
|
|
195642
195814
|
}
|
|
195643
|
-
var
|
|
195815
|
+
var responseFormatter17 = createJsonFormatter({
|
|
195644
195816
|
filter: filterGitCheckoutOutput
|
|
195645
195817
|
});
|
|
195646
195818
|
var gitCheckoutTool = {
|
|
195647
|
-
name:
|
|
195648
|
-
title:
|
|
195649
|
-
description:
|
|
195650
|
-
inputSchema:
|
|
195651
|
-
outputSchema:
|
|
195819
|
+
name: TOOL_NAME17,
|
|
195820
|
+
title: TOOL_TITLE17,
|
|
195821
|
+
description: TOOL_DESCRIPTION17,
|
|
195822
|
+
inputSchema: InputSchema17,
|
|
195823
|
+
outputSchema: OutputSchema18,
|
|
195652
195824
|
annotations: { readOnlyHint: false },
|
|
195653
195825
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitCheckoutLogic)),
|
|
195654
|
-
responseFormatter:
|
|
195826
|
+
responseFormatter: responseFormatter17
|
|
195655
195827
|
};
|
|
195656
195828
|
|
|
195657
195829
|
// src/mcp-server/tools/definitions/git-cherry-pick.tool.ts
|
|
195658
195830
|
init_zod();
|
|
195659
|
-
var
|
|
195660
|
-
var
|
|
195661
|
-
var
|
|
195662
|
-
var
|
|
195831
|
+
var TOOL_NAME18 = "git_cherry_pick";
|
|
195832
|
+
var TOOL_TITLE18 = "Git Cherry-Pick";
|
|
195833
|
+
var TOOL_DESCRIPTION18 = "Cherry-pick commits from other branches. Apply specific commits to the current branch without merging entire branches.";
|
|
195834
|
+
var InputSchema18 = exports_external.object({
|
|
195663
195835
|
path: PathSchema,
|
|
195664
195836
|
commits: exports_external.array(CommitRefSchema).min(1).describe("Commit hashes to cherry-pick."),
|
|
195665
195837
|
noCommit: exports_external.boolean().default(false).describe("Don't create commit (stage changes only)."),
|
|
@@ -195669,7 +195841,7 @@ var InputSchema17 = exports_external.object({
|
|
|
195669
195841
|
strategy: MergeStrategySchema.describe("Merge strategy to use for cherry-pick."),
|
|
195670
195842
|
signoff: exports_external.boolean().default(false).describe("Add Signed-off-by line to the commit message.")
|
|
195671
195843
|
});
|
|
195672
|
-
var
|
|
195844
|
+
var OutputSchema19 = exports_external.object({
|
|
195673
195845
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195674
195846
|
pickedCommits: exports_external.array(exports_external.string()).describe("Commits that were successfully cherry-picked."),
|
|
195675
195847
|
conflicts: exports_external.boolean().describe("Whether operation had conflicts."),
|
|
@@ -195710,26 +195882,26 @@ function filterGitCherryPickOutput(result, level) {
|
|
|
195710
195882
|
}
|
|
195711
195883
|
return result;
|
|
195712
195884
|
}
|
|
195713
|
-
var
|
|
195885
|
+
var responseFormatter18 = createJsonFormatter({
|
|
195714
195886
|
filter: filterGitCherryPickOutput
|
|
195715
195887
|
});
|
|
195716
195888
|
var gitCherryPickTool = {
|
|
195717
|
-
name:
|
|
195718
|
-
title:
|
|
195719
|
-
description:
|
|
195720
|
-
inputSchema:
|
|
195721
|
-
outputSchema:
|
|
195889
|
+
name: TOOL_NAME18,
|
|
195890
|
+
title: TOOL_TITLE18,
|
|
195891
|
+
description: TOOL_DESCRIPTION18,
|
|
195892
|
+
inputSchema: InputSchema18,
|
|
195893
|
+
outputSchema: OutputSchema19,
|
|
195722
195894
|
annotations: { readOnlyHint: false },
|
|
195723
195895
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitCherryPickLogic)),
|
|
195724
|
-
responseFormatter:
|
|
195896
|
+
responseFormatter: responseFormatter18
|
|
195725
195897
|
};
|
|
195726
195898
|
|
|
195727
195899
|
// src/mcp-server/tools/definitions/git-merge.tool.ts
|
|
195728
195900
|
init_zod();
|
|
195729
|
-
var
|
|
195730
|
-
var
|
|
195731
|
-
var
|
|
195732
|
-
var
|
|
195901
|
+
var TOOL_NAME19 = "git_merge";
|
|
195902
|
+
var TOOL_TITLE19 = "Git Merge";
|
|
195903
|
+
var TOOL_DESCRIPTION19 = "Merge branches together. Integrates changes from another branch into the current branch with optional merge strategies.";
|
|
195904
|
+
var InputSchema19 = exports_external.object({
|
|
195733
195905
|
path: PathSchema,
|
|
195734
195906
|
branch: BranchNameSchema.describe("Branch to merge into current branch."),
|
|
195735
195907
|
strategy: MergeStrategySchema,
|
|
@@ -195738,7 +195910,7 @@ var InputSchema18 = exports_external.object({
|
|
|
195738
195910
|
message: CommitMessageSchema.optional().describe("Custom merge commit message."),
|
|
195739
195911
|
abort: exports_external.boolean().default(false).describe("Abort an in-progress merge that has conflicts.")
|
|
195740
195912
|
});
|
|
195741
|
-
var
|
|
195913
|
+
var OutputSchema20 = exports_external.object({
|
|
195742
195914
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195743
195915
|
strategy: exports_external.string().describe("Merge strategy used."),
|
|
195744
195916
|
fastForward: exports_external.boolean().describe("Whether merge was fast-forward."),
|
|
@@ -195792,26 +195964,26 @@ function filterGitMergeOutput(result, level) {
|
|
|
195792
195964
|
}
|
|
195793
195965
|
return result;
|
|
195794
195966
|
}
|
|
195795
|
-
var
|
|
195967
|
+
var responseFormatter19 = createJsonFormatter({
|
|
195796
195968
|
filter: filterGitMergeOutput
|
|
195797
195969
|
});
|
|
195798
195970
|
var gitMergeTool = {
|
|
195799
|
-
name:
|
|
195800
|
-
title:
|
|
195801
|
-
description:
|
|
195802
|
-
inputSchema:
|
|
195803
|
-
outputSchema:
|
|
195971
|
+
name: TOOL_NAME19,
|
|
195972
|
+
title: TOOL_TITLE19,
|
|
195973
|
+
description: TOOL_DESCRIPTION19,
|
|
195974
|
+
inputSchema: InputSchema19,
|
|
195975
|
+
outputSchema: OutputSchema20,
|
|
195804
195976
|
annotations: { readOnlyHint: false },
|
|
195805
195977
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitMergeLogic)),
|
|
195806
|
-
responseFormatter:
|
|
195978
|
+
responseFormatter: responseFormatter19
|
|
195807
195979
|
};
|
|
195808
195980
|
|
|
195809
195981
|
// src/mcp-server/tools/definitions/git-rebase.tool.ts
|
|
195810
195982
|
init_zod();
|
|
195811
|
-
var
|
|
195812
|
-
var
|
|
195813
|
-
var
|
|
195814
|
-
var
|
|
195983
|
+
var TOOL_NAME20 = "git_rebase";
|
|
195984
|
+
var TOOL_TITLE20 = "Git Rebase";
|
|
195985
|
+
var TOOL_DESCRIPTION20 = "Rebase commits onto another branch. Reapplies commits on top of another base tip for a cleaner history.";
|
|
195986
|
+
var InputSchema20 = exports_external.object({
|
|
195815
195987
|
path: PathSchema,
|
|
195816
195988
|
mode: exports_external.enum(["start", "continue", "abort", "skip"]).default("start").describe("Rebase operation mode: 'start', 'continue', 'abort', or 'skip'."),
|
|
195817
195989
|
upstream: CommitRefSchema.optional().describe("Upstream branch to rebase onto (required for start mode)."),
|
|
@@ -195820,7 +195992,7 @@ var InputSchema19 = exports_external.object({
|
|
|
195820
195992
|
onto: CommitRefSchema.optional().describe("Rebase onto different commit than upstream."),
|
|
195821
195993
|
preserve: exports_external.boolean().default(false).describe("Preserve merge commits during rebase.")
|
|
195822
195994
|
});
|
|
195823
|
-
var
|
|
195995
|
+
var OutputSchema21 = exports_external.object({
|
|
195824
195996
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195825
195997
|
conflicts: exports_external.boolean().describe("Whether rebase had conflicts."),
|
|
195826
195998
|
conflictedFiles: exports_external.array(exports_external.string()).describe("Files with conflicts that need resolution."),
|
|
@@ -195870,33 +196042,33 @@ function filterGitRebaseOutput(result, level) {
|
|
|
195870
196042
|
}
|
|
195871
196043
|
return result;
|
|
195872
196044
|
}
|
|
195873
|
-
var
|
|
196045
|
+
var responseFormatter20 = createJsonFormatter({
|
|
195874
196046
|
filter: filterGitRebaseOutput
|
|
195875
196047
|
});
|
|
195876
196048
|
var gitRebaseTool = {
|
|
195877
|
-
name:
|
|
195878
|
-
title:
|
|
195879
|
-
description:
|
|
195880
|
-
inputSchema:
|
|
195881
|
-
outputSchema:
|
|
196049
|
+
name: TOOL_NAME20,
|
|
196050
|
+
title: TOOL_TITLE20,
|
|
196051
|
+
description: TOOL_DESCRIPTION20,
|
|
196052
|
+
inputSchema: InputSchema20,
|
|
196053
|
+
outputSchema: OutputSchema21,
|
|
195882
196054
|
annotations: { readOnlyHint: false },
|
|
195883
196055
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitRebaseLogic)),
|
|
195884
|
-
responseFormatter:
|
|
196056
|
+
responseFormatter: responseFormatter20
|
|
195885
196057
|
};
|
|
195886
196058
|
|
|
195887
196059
|
// src/mcp-server/tools/definitions/git-fetch.tool.ts
|
|
195888
196060
|
init_zod();
|
|
195889
|
-
var
|
|
195890
|
-
var
|
|
195891
|
-
var
|
|
195892
|
-
var
|
|
196061
|
+
var TOOL_NAME21 = "git_fetch";
|
|
196062
|
+
var TOOL_TITLE21 = "Git Fetch";
|
|
196063
|
+
var TOOL_DESCRIPTION21 = "Fetch updates from a remote repository. Downloads objects and refs without merging them.";
|
|
196064
|
+
var InputSchema21 = exports_external.object({
|
|
195893
196065
|
path: PathSchema,
|
|
195894
196066
|
remote: RemoteNameSchema.optional().describe("Remote name (default: origin)."),
|
|
195895
196067
|
prune: PruneSchema,
|
|
195896
196068
|
tags: exports_external.boolean().default(false).describe("Fetch all tags from the remote."),
|
|
195897
196069
|
depth: DepthSchema
|
|
195898
196070
|
});
|
|
195899
|
-
var
|
|
196071
|
+
var OutputSchema22 = exports_external.object({
|
|
195900
196072
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195901
196073
|
remote: exports_external.string().describe("Remote name that was fetched from."),
|
|
195902
196074
|
fetchedRefs: exports_external.array(exports_external.string()).describe("References that were fetched from the remote."),
|
|
@@ -195937,33 +196109,33 @@ function filterGitFetchOutput(result, level) {
|
|
|
195937
196109
|
}
|
|
195938
196110
|
return result;
|
|
195939
196111
|
}
|
|
195940
|
-
var
|
|
196112
|
+
var responseFormatter21 = createJsonFormatter({
|
|
195941
196113
|
filter: filterGitFetchOutput
|
|
195942
196114
|
});
|
|
195943
196115
|
var gitFetchTool = {
|
|
195944
|
-
name:
|
|
195945
|
-
title:
|
|
195946
|
-
description:
|
|
195947
|
-
inputSchema:
|
|
195948
|
-
outputSchema:
|
|
196116
|
+
name: TOOL_NAME21,
|
|
196117
|
+
title: TOOL_TITLE21,
|
|
196118
|
+
description: TOOL_DESCRIPTION21,
|
|
196119
|
+
inputSchema: InputSchema21,
|
|
196120
|
+
outputSchema: OutputSchema22,
|
|
195949
196121
|
annotations: { readOnlyHint: false },
|
|
195950
196122
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitFetchLogic)),
|
|
195951
|
-
responseFormatter:
|
|
196123
|
+
responseFormatter: responseFormatter21
|
|
195952
196124
|
};
|
|
195953
196125
|
|
|
195954
196126
|
// src/mcp-server/tools/definitions/git-pull.tool.ts
|
|
195955
196127
|
init_zod();
|
|
195956
|
-
var
|
|
195957
|
-
var
|
|
195958
|
-
var
|
|
195959
|
-
var
|
|
196128
|
+
var TOOL_NAME22 = "git_pull";
|
|
196129
|
+
var TOOL_TITLE22 = "Git Pull";
|
|
196130
|
+
var TOOL_DESCRIPTION22 = "Pull changes from a remote repository. Fetches and integrates changes into the current branch.";
|
|
196131
|
+
var InputSchema22 = exports_external.object({
|
|
195960
196132
|
path: PathSchema,
|
|
195961
196133
|
remote: RemoteNameSchema.optional().describe("Remote name (default: origin)."),
|
|
195962
196134
|
branch: BranchNameSchema.optional().describe("Branch name (default: current branch)."),
|
|
195963
196135
|
rebase: exports_external.boolean().default(false).describe("Use rebase instead of merge when integrating changes."),
|
|
195964
196136
|
fastForwardOnly: exports_external.boolean().default(false).describe("Fail if can't fast-forward (no merge commit).")
|
|
195965
196137
|
});
|
|
195966
|
-
var
|
|
196138
|
+
var OutputSchema23 = exports_external.object({
|
|
195967
196139
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
195968
196140
|
remote: exports_external.string().describe("Remote name that was pulled from."),
|
|
195969
196141
|
branch: exports_external.string().describe("Branch that was pulled."),
|
|
@@ -196011,26 +196183,26 @@ function filterGitPullOutput(result, level) {
|
|
|
196011
196183
|
}
|
|
196012
196184
|
return result;
|
|
196013
196185
|
}
|
|
196014
|
-
var
|
|
196186
|
+
var responseFormatter22 = createJsonFormatter({
|
|
196015
196187
|
filter: filterGitPullOutput
|
|
196016
196188
|
});
|
|
196017
196189
|
var gitPullTool = {
|
|
196018
|
-
name:
|
|
196019
|
-
title:
|
|
196020
|
-
description:
|
|
196021
|
-
inputSchema:
|
|
196022
|
-
outputSchema:
|
|
196190
|
+
name: TOOL_NAME22,
|
|
196191
|
+
title: TOOL_TITLE22,
|
|
196192
|
+
description: TOOL_DESCRIPTION22,
|
|
196193
|
+
inputSchema: InputSchema22,
|
|
196194
|
+
outputSchema: OutputSchema23,
|
|
196023
196195
|
annotations: { readOnlyHint: false },
|
|
196024
196196
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitPullLogic)),
|
|
196025
|
-
responseFormatter:
|
|
196197
|
+
responseFormatter: responseFormatter22
|
|
196026
196198
|
};
|
|
196027
196199
|
|
|
196028
196200
|
// src/mcp-server/tools/definitions/git-push.tool.ts
|
|
196029
196201
|
init_zod();
|
|
196030
|
-
var
|
|
196031
|
-
var
|
|
196032
|
-
var
|
|
196033
|
-
var
|
|
196202
|
+
var TOOL_NAME23 = "git_push";
|
|
196203
|
+
var TOOL_TITLE23 = "Git Push";
|
|
196204
|
+
var TOOL_DESCRIPTION23 = "Push changes to a remote repository. Uploads local commits to the remote branch.";
|
|
196205
|
+
var InputSchema23 = exports_external.object({
|
|
196034
196206
|
path: PathSchema,
|
|
196035
196207
|
remote: RemoteNameSchema.optional().describe("Remote name (default: origin)."),
|
|
196036
196208
|
branch: BranchNameSchema.optional().describe("Branch name (default: current branch)."),
|
|
@@ -196042,7 +196214,7 @@ var InputSchema22 = exports_external.object({
|
|
|
196042
196214
|
delete: exports_external.boolean().default(false).describe("Delete the specified remote branch."),
|
|
196043
196215
|
remoteBranch: BranchNameSchema.optional().describe("Remote branch name to push to (if different from local branch name).")
|
|
196044
196216
|
});
|
|
196045
|
-
var
|
|
196217
|
+
var OutputSchema24 = exports_external.object({
|
|
196046
196218
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196047
196219
|
remote: exports_external.string().describe("Remote name that was pushed to."),
|
|
196048
196220
|
branch: exports_external.string().describe("Branch that was pushed."),
|
|
@@ -196103,26 +196275,26 @@ function filterGitPushOutput(result, level) {
|
|
|
196103
196275
|
}
|
|
196104
196276
|
return result;
|
|
196105
196277
|
}
|
|
196106
|
-
var
|
|
196278
|
+
var responseFormatter23 = createJsonFormatter({
|
|
196107
196279
|
filter: filterGitPushOutput
|
|
196108
196280
|
});
|
|
196109
196281
|
var gitPushTool = {
|
|
196110
|
-
name:
|
|
196111
|
-
title:
|
|
196112
|
-
description:
|
|
196113
|
-
inputSchema:
|
|
196114
|
-
outputSchema:
|
|
196282
|
+
name: TOOL_NAME23,
|
|
196283
|
+
title: TOOL_TITLE23,
|
|
196284
|
+
description: TOOL_DESCRIPTION23,
|
|
196285
|
+
inputSchema: InputSchema23,
|
|
196286
|
+
outputSchema: OutputSchema24,
|
|
196115
196287
|
annotations: { readOnlyHint: false },
|
|
196116
196288
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitPushLogic)),
|
|
196117
|
-
responseFormatter:
|
|
196289
|
+
responseFormatter: responseFormatter23
|
|
196118
196290
|
};
|
|
196119
196291
|
|
|
196120
196292
|
// src/mcp-server/tools/definitions/git-remote.tool.ts
|
|
196121
196293
|
init_zod();
|
|
196122
|
-
var
|
|
196123
|
-
var
|
|
196124
|
-
var
|
|
196125
|
-
var
|
|
196294
|
+
var TOOL_NAME24 = "git_remote";
|
|
196295
|
+
var TOOL_TITLE24 = "Git Remote";
|
|
196296
|
+
var TOOL_DESCRIPTION24 = "Manage remote repositories: list remotes, add new remotes, remove remotes, rename remotes, or get/set remote URLs.";
|
|
196297
|
+
var InputSchema24 = exports_external.object({
|
|
196126
196298
|
path: PathSchema,
|
|
196127
196299
|
mode: exports_external.enum(["list", "add", "remove", "rename", "get-url", "set-url"]).default("list").describe("The remote operation to perform."),
|
|
196128
196300
|
name: RemoteNameSchema.optional().describe("Remote name for add/remove/rename/get-url/set-url operations."),
|
|
@@ -196135,7 +196307,7 @@ var RemoteInfoSchema = exports_external.object({
|
|
|
196135
196307
|
fetchUrl: exports_external.string().describe("Fetch URL."),
|
|
196136
196308
|
pushUrl: exports_external.string().describe("Push URL (may differ from fetch URL).")
|
|
196137
196309
|
});
|
|
196138
|
-
var
|
|
196310
|
+
var OutputSchema25 = exports_external.object({
|
|
196139
196311
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196140
196312
|
mode: exports_external.string().describe("Operation mode that was performed."),
|
|
196141
196313
|
remotes: exports_external.array(RemoteInfoSchema).optional().describe("List of remotes (for list mode)."),
|
|
@@ -196188,32 +196360,32 @@ function filterGitRemoteOutput(result, level) {
|
|
|
196188
196360
|
}
|
|
196189
196361
|
return result;
|
|
196190
196362
|
}
|
|
196191
|
-
var
|
|
196363
|
+
var responseFormatter24 = createJsonFormatter({
|
|
196192
196364
|
filter: filterGitRemoteOutput
|
|
196193
196365
|
});
|
|
196194
196366
|
var gitRemoteTool = {
|
|
196195
|
-
name:
|
|
196196
|
-
title:
|
|
196197
|
-
description:
|
|
196198
|
-
inputSchema:
|
|
196199
|
-
outputSchema:
|
|
196367
|
+
name: TOOL_NAME24,
|
|
196368
|
+
title: TOOL_TITLE24,
|
|
196369
|
+
description: TOOL_DESCRIPTION24,
|
|
196370
|
+
inputSchema: InputSchema24,
|
|
196371
|
+
outputSchema: OutputSchema25,
|
|
196200
196372
|
annotations: { readOnlyHint: false },
|
|
196201
196373
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitRemoteLogic)),
|
|
196202
|
-
responseFormatter:
|
|
196374
|
+
responseFormatter: responseFormatter24
|
|
196203
196375
|
};
|
|
196204
196376
|
|
|
196205
196377
|
// src/mcp-server/tools/definitions/git-reset.tool.ts
|
|
196206
196378
|
init_zod();
|
|
196207
|
-
var
|
|
196208
|
-
var
|
|
196209
|
-
var
|
|
196210
|
-
var
|
|
196379
|
+
var TOOL_NAME25 = "git_reset";
|
|
196380
|
+
var TOOL_TITLE25 = "Git Reset";
|
|
196381
|
+
var TOOL_DESCRIPTION25 = "Reset current HEAD to specified state. Can be used to unstage files (soft), discard commits (mixed), or discard all changes (hard).";
|
|
196382
|
+
var InputSchema25 = exports_external.object({
|
|
196211
196383
|
path: PathSchema,
|
|
196212
196384
|
mode: exports_external.enum(["soft", "mixed", "hard", "merge", "keep"]).default("mixed").describe("Reset mode: soft (keep changes staged), mixed (unstage changes), hard (discard all changes), merge (reset and merge), keep (reset but keep local changes)."),
|
|
196213
196385
|
target: CommitRefSchema.optional().describe("Target commit to reset to (default: HEAD)."),
|
|
196214
196386
|
paths: exports_external.array(exports_external.string()).optional().describe("Specific file paths to reset (leaves HEAD unchanged).")
|
|
196215
196387
|
});
|
|
196216
|
-
var
|
|
196388
|
+
var OutputSchema26 = exports_external.object({
|
|
196217
196389
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196218
196390
|
mode: exports_external.string().describe("Reset mode that was used."),
|
|
196219
196391
|
target: exports_external.string().describe("Target commit that was reset to."),
|
|
@@ -196251,26 +196423,26 @@ function filterGitResetOutput(result, level) {
|
|
|
196251
196423
|
}
|
|
196252
196424
|
return result;
|
|
196253
196425
|
}
|
|
196254
|
-
var
|
|
196426
|
+
var responseFormatter25 = createJsonFormatter({
|
|
196255
196427
|
filter: filterGitResetOutput
|
|
196256
196428
|
});
|
|
196257
196429
|
var gitResetTool = {
|
|
196258
|
-
name:
|
|
196259
|
-
title:
|
|
196260
|
-
description:
|
|
196261
|
-
inputSchema:
|
|
196262
|
-
outputSchema:
|
|
196430
|
+
name: TOOL_NAME25,
|
|
196431
|
+
title: TOOL_TITLE25,
|
|
196432
|
+
description: TOOL_DESCRIPTION25,
|
|
196433
|
+
inputSchema: InputSchema25,
|
|
196434
|
+
outputSchema: OutputSchema26,
|
|
196263
196435
|
annotations: { readOnlyHint: false },
|
|
196264
196436
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitResetLogic)),
|
|
196265
|
-
responseFormatter:
|
|
196437
|
+
responseFormatter: responseFormatter25
|
|
196266
196438
|
};
|
|
196267
196439
|
|
|
196268
196440
|
// src/mcp-server/tools/definitions/git-stash.tool.ts
|
|
196269
196441
|
init_zod();
|
|
196270
|
-
var
|
|
196271
|
-
var
|
|
196272
|
-
var
|
|
196273
|
-
var
|
|
196442
|
+
var TOOL_NAME26 = "git_stash";
|
|
196443
|
+
var TOOL_TITLE26 = "Git Stash";
|
|
196444
|
+
var TOOL_DESCRIPTION26 = "Manage stashes: list stashes, save current changes (push), restore changes (pop/apply), or remove stashes (drop/clear).";
|
|
196445
|
+
var InputSchema26 = exports_external.object({
|
|
196274
196446
|
path: PathSchema,
|
|
196275
196447
|
mode: exports_external.enum(["list", "push", "pop", "apply", "drop", "clear"]).default("list").describe("The stash operation to perform."),
|
|
196276
196448
|
message: exports_external.string().optional().describe("Stash message description (for push operation)."),
|
|
@@ -196285,7 +196457,7 @@ var StashInfoSchema = exports_external.object({
|
|
|
196285
196457
|
description: exports_external.string().describe("Stash description."),
|
|
196286
196458
|
timestamp: exports_external.number().int().describe("Unix timestamp when stashed.")
|
|
196287
196459
|
});
|
|
196288
|
-
var
|
|
196460
|
+
var OutputSchema27 = exports_external.object({
|
|
196289
196461
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196290
196462
|
mode: exports_external.string().describe("Operation mode that was performed."),
|
|
196291
196463
|
stashes: exports_external.array(StashInfoSchema).optional().describe("List of stashes (for list mode)."),
|
|
@@ -196334,26 +196506,26 @@ function filterGitStashOutput(result, level) {
|
|
|
196334
196506
|
}
|
|
196335
196507
|
return result;
|
|
196336
196508
|
}
|
|
196337
|
-
var
|
|
196509
|
+
var responseFormatter26 = createJsonFormatter({
|
|
196338
196510
|
filter: filterGitStashOutput
|
|
196339
196511
|
});
|
|
196340
196512
|
var gitStashTool = {
|
|
196341
|
-
name:
|
|
196342
|
-
title:
|
|
196343
|
-
description:
|
|
196344
|
-
inputSchema:
|
|
196345
|
-
outputSchema:
|
|
196513
|
+
name: TOOL_NAME26,
|
|
196514
|
+
title: TOOL_TITLE26,
|
|
196515
|
+
description: TOOL_DESCRIPTION26,
|
|
196516
|
+
inputSchema: InputSchema26,
|
|
196517
|
+
outputSchema: OutputSchema27,
|
|
196346
196518
|
annotations: { readOnlyHint: false },
|
|
196347
196519
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitStashLogic)),
|
|
196348
|
-
responseFormatter:
|
|
196520
|
+
responseFormatter: responseFormatter26
|
|
196349
196521
|
};
|
|
196350
196522
|
|
|
196351
196523
|
// src/mcp-server/tools/definitions/git-tag.tool.ts
|
|
196352
196524
|
init_zod();
|
|
196353
|
-
var
|
|
196354
|
-
var
|
|
196355
|
-
var
|
|
196356
|
-
var
|
|
196525
|
+
var TOOL_NAME27 = "git_tag";
|
|
196526
|
+
var TOOL_TITLE27 = "Git Tag";
|
|
196527
|
+
var TOOL_DESCRIPTION27 = "Manage tags: list all tags, create a new tag, or delete a tag. Tags are used to mark specific points in history (releases, milestones).";
|
|
196528
|
+
var InputSchema27 = exports_external.object({
|
|
196357
196529
|
path: PathSchema,
|
|
196358
196530
|
mode: exports_external.enum(["list", "create", "delete"]).default("list").describe("The tag operation to perform."),
|
|
196359
196531
|
tagName: TagNameSchema.optional().describe("Tag name for create/delete operations."),
|
|
@@ -196369,7 +196541,7 @@ var TagInfoSchema = exports_external.object({
|
|
|
196369
196541
|
tagger: exports_external.string().optional().describe("Tagger name and email."),
|
|
196370
196542
|
timestamp: exports_external.number().int().optional().describe("Tag creation timestamp.")
|
|
196371
196543
|
});
|
|
196372
|
-
var
|
|
196544
|
+
var OutputSchema28 = exports_external.object({
|
|
196373
196545
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196374
196546
|
mode: exports_external.string().describe("Operation mode that was performed."),
|
|
196375
196547
|
tags: exports_external.array(TagInfoSchema).optional().describe("List of tags (for list mode)."),
|
|
@@ -196417,26 +196589,26 @@ function filterGitTagOutput(result, level) {
|
|
|
196417
196589
|
}
|
|
196418
196590
|
return result;
|
|
196419
196591
|
}
|
|
196420
|
-
var
|
|
196592
|
+
var responseFormatter27 = createJsonFormatter({
|
|
196421
196593
|
filter: filterGitTagOutput
|
|
196422
196594
|
});
|
|
196423
196595
|
var gitTagTool = {
|
|
196424
|
-
name:
|
|
196425
|
-
title:
|
|
196426
|
-
description:
|
|
196427
|
-
inputSchema:
|
|
196428
|
-
outputSchema:
|
|
196596
|
+
name: TOOL_NAME27,
|
|
196597
|
+
title: TOOL_TITLE27,
|
|
196598
|
+
description: TOOL_DESCRIPTION27,
|
|
196599
|
+
inputSchema: InputSchema27,
|
|
196600
|
+
outputSchema: OutputSchema28,
|
|
196429
196601
|
annotations: { readOnlyHint: false },
|
|
196430
196602
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitTagLogic)),
|
|
196431
|
-
responseFormatter:
|
|
196603
|
+
responseFormatter: responseFormatter27
|
|
196432
196604
|
};
|
|
196433
196605
|
|
|
196434
196606
|
// src/mcp-server/tools/definitions/git-worktree.tool.ts
|
|
196435
196607
|
init_zod();
|
|
196436
|
-
var
|
|
196437
|
-
var
|
|
196438
|
-
var
|
|
196439
|
-
var
|
|
196608
|
+
var TOOL_NAME28 = "git_worktree";
|
|
196609
|
+
var TOOL_TITLE28 = "Git Worktree";
|
|
196610
|
+
var TOOL_DESCRIPTION28 = "Manage multiple working trees: list worktrees, add new worktrees for parallel work, remove worktrees, or move worktrees to new locations.";
|
|
196611
|
+
var InputSchema28 = exports_external.object({
|
|
196440
196612
|
path: PathSchema,
|
|
196441
196613
|
mode: exports_external.enum(["list", "add", "remove", "move", "prune"]).default("list").describe("The worktree operation to perform."),
|
|
196442
196614
|
worktreePath: exports_external.string().optional().describe("Path for the new worktree (for add/move operations)."),
|
|
@@ -196457,7 +196629,7 @@ var WorktreeInfoSchema = exports_external.object({
|
|
|
196457
196629
|
locked: exports_external.boolean().describe("Whether the worktree is locked."),
|
|
196458
196630
|
prunable: exports_external.boolean().describe("Whether the worktree can be pruned.")
|
|
196459
196631
|
});
|
|
196460
|
-
var
|
|
196632
|
+
var OutputSchema29 = exports_external.object({
|
|
196461
196633
|
success: exports_external.boolean().describe("Indicates if the operation was successful."),
|
|
196462
196634
|
mode: exports_external.string().describe("Operation mode that was performed."),
|
|
196463
196635
|
worktrees: exports_external.array(WorktreeInfoSchema).optional().describe("List of worktrees (for list mode)."),
|
|
@@ -196521,18 +196693,18 @@ function filterGitWorktreeOutput(result, level) {
|
|
|
196521
196693
|
}
|
|
196522
196694
|
return result;
|
|
196523
196695
|
}
|
|
196524
|
-
var
|
|
196696
|
+
var responseFormatter28 = createJsonFormatter({
|
|
196525
196697
|
filter: filterGitWorktreeOutput
|
|
196526
196698
|
});
|
|
196527
196699
|
var gitWorktreeTool = {
|
|
196528
|
-
name:
|
|
196529
|
-
title:
|
|
196530
|
-
description:
|
|
196531
|
-
inputSchema:
|
|
196532
|
-
outputSchema:
|
|
196700
|
+
name: TOOL_NAME28,
|
|
196701
|
+
title: TOOL_TITLE28,
|
|
196702
|
+
description: TOOL_DESCRIPTION28,
|
|
196703
|
+
inputSchema: InputSchema28,
|
|
196704
|
+
outputSchema: OutputSchema29,
|
|
196533
196705
|
annotations: { readOnlyHint: false },
|
|
196534
196706
|
logic: withToolAuth(["tool:git:write"], createToolHandler(gitWorktreeLogic)),
|
|
196535
|
-
responseFormatter:
|
|
196707
|
+
responseFormatter: responseFormatter28
|
|
196536
196708
|
};
|
|
196537
196709
|
|
|
196538
196710
|
// src/mcp-server/tools/definitions/index.ts
|
|
@@ -196540,6 +196712,7 @@ var allToolDefinitions = [
|
|
|
196540
196712
|
gitAddTool,
|
|
196541
196713
|
gitBlameTool,
|
|
196542
196714
|
gitBranchTool,
|
|
196715
|
+
gitChangelogAnalyzeTool,
|
|
196543
196716
|
gitCheckoutTool,
|
|
196544
196717
|
gitCherryPickTool,
|
|
196545
196718
|
gitCleanTool,
|