@andrebuzeli/git-mcp 9.2.0 → 10.0.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.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +460 -328
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/config.d.ts +0 -1
  5. package/dist/config.js +0 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.js +7 -35
  8. package/dist/prompts/gitPrompts.d.ts +20 -1
  9. package/dist/prompts/gitPrompts.d.ts.map +1 -1
  10. package/dist/prompts/gitPrompts.js +49 -9
  11. package/dist/prompts/gitPrompts.js.map +1 -1
  12. package/dist/providers/giteaProvider.d.ts +1 -18
  13. package/dist/providers/giteaProvider.js +1 -87
  14. package/dist/providers/githubProvider.d.ts +0 -1
  15. package/dist/providers/githubProvider.js +0 -1
  16. package/dist/providers/providerManager.d.ts +0 -15
  17. package/dist/providers/providerManager.js +0 -65
  18. package/dist/resources/toolsGuide.d.ts +0 -1
  19. package/dist/resources/toolsGuide.js +1701 -1702
  20. package/dist/server.d.ts +0 -1
  21. package/dist/server.js +0 -1
  22. package/dist/tools/gitAnalytics.d.ts +0 -29
  23. package/dist/tools/gitAnalytics.js +4 -39
  24. package/dist/tools/gitArchive.d.ts +0 -30
  25. package/dist/tools/gitArchive.d.ts.map +1 -1
  26. package/dist/tools/gitArchive.js +1 -32
  27. package/dist/tools/gitArchive.js.map +1 -1
  28. package/dist/tools/gitBackup.d.ts +2 -35
  29. package/dist/tools/gitBackup.d.ts.map +1 -1
  30. package/dist/tools/gitBackup.js +7 -41
  31. package/dist/tools/gitBackup.js.map +1 -1
  32. package/dist/tools/gitBranches.d.ts +0 -49
  33. package/dist/tools/gitBranches.js +28 -92
  34. package/dist/tools/gitChangelog.d.ts +37 -1
  35. package/dist/tools/gitChangelog.d.ts.map +1 -1
  36. package/dist/tools/gitChangelog.js +67 -2
  37. package/dist/tools/gitChangelog.js.map +1 -1
  38. package/dist/tools/gitConfig.d.ts +2 -31
  39. package/dist/tools/gitConfig.js +9 -38
  40. package/dist/tools/gitFiles.d.ts +0 -37
  41. package/dist/tools/gitFiles.js +1 -39
  42. package/dist/tools/gitFix.d.ts +1 -4
  43. package/dist/tools/gitFix.js +32 -62
  44. package/dist/tools/gitFix.tool.d.ts +2 -26
  45. package/dist/tools/gitFix.tool.js +61 -85
  46. package/dist/tools/gitHistory.d.ts +5 -18
  47. package/dist/tools/gitHistory.js +208 -193
  48. package/dist/tools/gitIgnore.d.ts +0 -24
  49. package/dist/tools/gitIgnore.js +113 -136
  50. package/dist/tools/gitIssues.d.ts +0 -79
  51. package/dist/tools/gitIssues.js +16 -123
  52. package/dist/tools/gitLog.d.ts +30 -1
  53. package/dist/tools/gitLog.d.ts.map +1 -1
  54. package/dist/tools/gitLog.js +46 -2
  55. package/dist/tools/gitLog.js.map +1 -1
  56. package/dist/tools/gitMonitor.d.ts +0 -29
  57. package/dist/tools/gitMonitor.js +18 -47
  58. package/dist/tools/gitPackages.d.ts +146 -34
  59. package/dist/tools/gitPackages.js +147 -280
  60. package/dist/tools/gitPulls.d.ts +0 -66
  61. package/dist/tools/gitPulls.d.ts.map +1 -1
  62. package/dist/tools/gitPulls.js +7 -93
  63. package/dist/tools/gitPulls.js.map +1 -1
  64. package/dist/tools/gitPush.d.ts +0 -1
  65. package/dist/tools/gitPush.js +0 -1
  66. package/dist/tools/gitRelease.d.ts +0 -49
  67. package/dist/tools/gitRelease.js +6 -122
  68. package/dist/tools/gitRemote.d.ts +1 -31
  69. package/dist/tools/gitRemote.js +17 -59
  70. package/dist/tools/gitReset.d.ts +0 -25
  71. package/dist/tools/gitReset.js +8 -33
  72. package/dist/tools/gitStash.d.ts +2 -35
  73. package/dist/tools/gitStash.js +26 -56
  74. package/dist/tools/gitSync.d.ts +0 -29
  75. package/dist/tools/gitSync.js +20 -65
  76. package/dist/tools/gitTags.d.ts +0 -37
  77. package/dist/tools/gitTags.d.ts.map +1 -1
  78. package/dist/tools/gitTags.js +26 -53
  79. package/dist/tools/gitTags.js.map +1 -1
  80. package/dist/tools/gitUpdate.d.ts +6 -11
  81. package/dist/tools/gitUpdate.js +304 -61
  82. package/dist/tools/gitUpload.d.ts +1 -24
  83. package/dist/tools/gitUpload.js +50 -45
  84. package/dist/tools/gitWorkflow.d.ts +0 -27
  85. package/dist/tools/gitWorkflow.js +55 -87
  86. package/dist/types.d.ts +0 -7
  87. package/dist/types.js +0 -1
  88. package/dist/utils/apiHelpers.d.ts +0 -1
  89. package/dist/utils/apiHelpers.js +0 -1
  90. package/dist/utils/errors.d.ts +0 -1
  91. package/dist/utils/errors.js +0 -1
  92. package/dist/utils/gitAdapter.d.ts +14 -13
  93. package/dist/utils/gitAdapter.d.ts.map +1 -1
  94. package/dist/utils/gitAdapter.js +47 -9
  95. package/dist/utils/gitAdapter.js.map +1 -1
  96. package/dist/utils/repoHelpers.d.ts +0 -2
  97. package/dist/utils/repoHelpers.js +3 -16
  98. package/dist/utils/safetyController.d.ts +0 -1
  99. package/dist/utils/safetyController.js +0 -1
  100. package/dist/utils/safetyController.js.map +1 -1
  101. package/package.json +87 -96
@@ -5,79 +5,14 @@ export class GitPullsTool {
5
5
  constructor() {
6
6
  this.name = 'git-pulls';
7
7
  this.description = 'Pull request management for GitHub and Gitea - automatic dual-provider execution';
8
- this.inputSchema = {
9
- type: "object",
10
- properties: {
11
- projectPath: {
12
- type: "string",
13
- description: "Absolute path to the project/repository (auto-extracts repo name)"
14
- },
15
- action: {
16
- type: "string",
17
- description: "Pull request operation (REQUIRED)",
18
- enum: ["create", "list", "get", "update", "merge", "close", "comment", "review"]
19
- },
20
- repo: {
21
- type: "string",
22
- description: "Repository name (auto-detected from projectPath)"
23
- },
24
- title: {
25
- type: "string",
26
- description: "PR title (required for create)"
27
- },
28
- body: {
29
- type: "string",
30
- description: "PR description (optional for create/update/comment)"
31
- },
32
- head: {
33
- type: "string",
34
- description: "Head branch (required for create)"
35
- },
36
- base: {
37
- type: "string",
38
- description: "Base branch (required for create)"
39
- },
40
- pullNumber: {
41
- type: "number",
42
- description: "PR number (required for get/update/merge/close/comment/review)"
43
- },
44
- state: {
45
- type: "string",
46
- description: "PR state filter (optional for list, default: open)",
47
- enum: ["open", "closed", "all"]
48
- },
49
- sort: {
50
- type: "string",
51
- description: "Sort field (optional for list)",
52
- enum: ["created", "updated", "popularity"]
53
- },
54
- direction: {
55
- type: "string",
56
- description: "Sort direction (optional for list)",
57
- enum: ["asc", "desc"]
58
- },
59
- reviewEvent: {
60
- type: "string",
61
- description: "Review event type (required for review)",
62
- enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"]
63
- },
64
- mergeMethod: {
65
- type: "string",
66
- description: "Merge method (optional for merge, default: merge)",
67
- enum: ["merge", "squash", "rebase"]
68
- }
69
- },
70
- required: ["projectPath", "action"],
71
- additionalProperties: true
72
- };
73
8
  }
74
9
  async handle(params, ctx) {
75
10
  params = normalizeToolParams(params);
76
11
  const action = params.action;
77
12
  if (!action)
78
13
  throw new MCPError('VALIDATION_ERROR', 'action is required');
79
- const githubOwner = await ctx.providerManager.getGitHubUsername();
80
- const giteaOwner = await ctx.providerManager.getGiteaUsername();
14
+ const githubOwner = params.owner || process.env.GITHUB_USERNAME;
15
+ const giteaOwner = params.owner || process.env.GITEA_USERNAME;
81
16
  const repo = params.repo;
82
17
  switch (action) {
83
18
  case 'create': {
@@ -310,17 +245,9 @@ export class GitPullsTool {
310
245
  results.providers.github = { success: false, error: err.message };
311
246
  }
312
247
  }
313
- // Gitea - implement a minimal review by posting a comment and setting a review state if available
248
+ // Gitea
314
249
  if (ctx.providerManager.giteaBaseUrl) {
315
- try {
316
- const axios = require('axios');
317
- // Gitea doesn't have a review API like GitHub; we'll fallback to a comment
318
- const commentRes = await axios.post(`${ctx.providerManager.giteaBaseUrl}/api/v1/repos/${giteaOwner}/${repo}/issues/${pull_number}/comments`, { body: params.review_body || 'Review' }, { headers: { Authorization: `token ${ctx.providerManager.giteaToken}` } });
319
- results.providers.gitea = { success: true, review: { comment: commentRes.data } };
320
- }
321
- catch (err) {
322
- results.providers.gitea = { success: false, error: err.message };
323
- }
250
+ results.providers.gitea = { success: false, error: 'Review not fully implemented for Gitea' };
324
251
  }
325
252
  return results;
326
253
  }
@@ -343,27 +270,14 @@ export class GitPullsTool {
343
270
  results.providers.github = { success: false, error: err.message };
344
271
  }
345
272
  }
346
- // Gitea - search PRs by fetching list and filtering locally
273
+ // Gitea
347
274
  if (ctx.providerManager.giteaBaseUrl) {
348
- try {
349
- const axios = require('axios');
350
- const result = await axios.get(`${ctx.providerManager.giteaBaseUrl}/api/v1/repos/${giteaOwner}/${repo}/pulls`, { headers: { Authorization: `token ${ctx.providerManager.giteaToken}` } });
351
- const q = query.toLowerCase();
352
- const filtered = Array.isArray(result.data)
353
- ? result.data.filter((p) => (p.title || '').toLowerCase().includes(q) || (p.body || '').toLowerCase().includes(q))
354
- : [];
355
- results.providers.gitea = { success: true, pulls: filtered };
356
- }
357
- catch (err) {
358
- results.providers.gitea = { success: false, error: err.message };
359
- }
275
+ results.providers.gitea = { success: false, error: 'Search not fully implemented for Gitea' };
360
276
  }
361
277
  return results;
362
278
  }
363
279
  default:
364
- const validActions = ["create", "list", "get", "update", "merge", "close", "comment", "review"];
365
- throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}. Valid actions: ${validActions.join(', ')}`);
280
+ throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}`);
366
281
  }
367
282
  }
368
283
  }
369
- //# sourceMappingURL=gitPulls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gitPulls.js","sourceRoot":"","sources":["../../src/tools/gitPulls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitPulls.js","sourceRoot":"","sources":["../../src/tools/gitPulls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,OAAO,YAAY;IAAzB;QACE,SAAI,GAAG,WAAW,CAAC;QACnB,gBAAW,GAAG,kFAAkF,CAAC;QAEjG,gBAAW,GAAG;YACZ,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mEAAmE;iBACjF;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;oBAChD,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;iBACjF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qDAAqD;iBACnE;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mCAAmC;iBACjD;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gEAAgE;iBAC9E;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;oBACjE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;iBAChC;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;oBAC7C,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;iBAC3C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;oBACjD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;iBACtB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;oBACtD,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,CAAC;iBAChD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;oBAChE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;iBACpC;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;YACnC,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IAkYJ,CAAC;IAhYC,KAAK,CAAC,MAAM,CAAC,MAA2B,EAAE,GAAe;QACvD,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEzB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClD,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;4BAChE,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC7B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,QAAQ,EAC9E;4BACE,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,IAAI,EAAE,MAAM,CAAC,IAAI;yBAClB,EACD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;4BAC9D,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM;4BACpC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;4BAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM;yBACtC,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,QAAQ,EAC9E;4BACE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,EAAE;4BAChD,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE;yBACtE,CACF,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;4BAC7D,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,WAAW;yBACZ,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,UAAU,WAAW,EAAE,EAC7F,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;4BAChE,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,WAAW;4BACX,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,KAAK;yBACpB,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAC9B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,UAAU,WAAW,EAAE,EAC7F,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAC1C,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC/D,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,WAAW;4BACX,YAAY,EAAE,MAAM,CAAC,YAAY;4BACjC,cAAc,EAAE,MAAM,CAAC,cAAc;4BACrC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;yBAC7C,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC7B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,UAAU,WAAW,QAAQ,EACnG;4BACE,EAAE,EAAE,MAAM,CAAC,YAAY,IAAI,OAAO;4BAClC,eAAe,EAAE,MAAM,CAAC,YAAY;4BACpC,iBAAiB,EAAE,MAAM,CAAC,cAAc;yBACzC,EACD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;4BAChE,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,WAAW;4BACX,KAAK,EAAE,QAAQ;yBAChB,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAC9B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,UAAU,WAAW,EAAE,EAC7F,EAAE,KAAK,EAAE,QAAQ,EAAE,EACnB,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC1B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;gBAC9E,CAAC;gBAED,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;4BACxE,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,YAAY,EAAE,WAAW;4BACzB,IAAI;yBACL,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACrE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,QAAQ;gBACR,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAC7B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,WAAW,WAAW,WAAW,EACvG,EAAE,IAAI,EAAE,EACR,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;4BACtE,KAAK,EAAE,WAAY;4BACnB,IAAI,EAAE,IAAK;4BACX,WAAW;4BACX,KAAK;4BACL,IAAI,EAAE,MAAM,CAAC,WAAW;yBACzB,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,kGAAkG;gBAClG,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC/B,2EAA2E;wBAC3E,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,CACjC,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,WAAW,WAAW,WAAW,EACvG,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,EAAE,EACxC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpF,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK;oBAAE,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;gBAExE,MAAM,OAAO,GAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;gBAEtD,SAAS;gBACT,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;4BAChF,CAAC,EAAE,GAAG,KAAK,SAAS,UAAU,IAAI,IAAI,UAAU;4BAChD,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;4BACrC,KAAK,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM;yBACrC,CAAC,CAAC;wBACH,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACzE,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAED,4DAA4D;gBAC5D,IAAI,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;oBACrC,IAAI,CAAC;wBACH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC/B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAC5B,GAAG,GAAG,CAAC,eAAe,CAAC,YAAY,iBAAiB,UAAU,IAAI,IAAI,QAAQ,EAC9E,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,CAC1E,CAAC;wBACF,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;4BACzC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;4BACvH,CAAC,CAAC,EAAE,CAAC;wBACP,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;oBAC/D,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACnE,CAAC;gBACH,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC;YAED;gBACE,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChG,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,MAAM,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;CACF"}
@@ -33,4 +33,3 @@ export declare class GitPushTool implements Tool {
33
33
  message: string;
34
34
  }>;
35
35
  }
36
- //# sourceMappingURL=gitPush.d.ts.map
@@ -51,4 +51,3 @@ export class GitPushTool {
51
51
  }
52
52
  }
53
53
  }
54
- //# sourceMappingURL=gitPush.js.map
@@ -2,54 +2,5 @@ import { Tool, MCPContext } from '../types.js';
2
2
  export declare class GitReleaseTool implements Tool {
3
3
  name: string;
4
4
  description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- projectPath: {
9
- type: string;
10
- description: string;
11
- };
12
- action: {
13
- type: string;
14
- description: string;
15
- enum: string[];
16
- };
17
- repo: {
18
- type: string;
19
- description: string;
20
- };
21
- tagName: {
22
- type: string;
23
- description: string;
24
- };
25
- name: {
26
- type: string;
27
- description: string;
28
- };
29
- body: {
30
- type: string;
31
- description: string;
32
- };
33
- draft: {
34
- type: string;
35
- description: string;
36
- };
37
- prerelease: {
38
- type: string;
39
- description: string;
40
- };
41
- releaseId: {
42
- type: string;
43
- description: string;
44
- };
45
- confirm: {
46
- type: string;
47
- description: string;
48
- };
49
- };
50
- required: string[];
51
- additionalProperties: boolean;
52
- };
53
5
  handle(params: Record<string, any>, ctx: MCPContext): Promise<any>;
54
6
  }
55
- //# sourceMappingURL=gitRelease.d.ts.map
@@ -1,3 +1,4 @@
1
+ import simpleGit from 'simple-git';
1
2
  import { MCPError } from '../utils/errors.js';
2
3
  import { normalizeToolParams } from '../utils/repoHelpers.js';
3
4
  import axios from 'axios';
@@ -5,54 +6,6 @@ export class GitReleaseTool {
5
6
  constructor() {
6
7
  this.name = 'git-release';
7
8
  this.description = 'Release management operations - automatic dual-provider execution';
8
- this.inputSchema = {
9
- type: "object",
10
- properties: {
11
- projectPath: {
12
- type: "string",
13
- description: "Absolute path to the project/repository (auto-extracts repo name)"
14
- },
15
- action: {
16
- type: "string",
17
- description: "Release operation to perform (REQUIRED)",
18
- enum: ["create", "list", "get", "update", "delete", "latest"]
19
- },
20
- repo: {
21
- type: "string",
22
- description: "Repository name (auto-detected from projectPath)"
23
- },
24
- tagName: {
25
- type: "string",
26
- description: "Git tag for release (required for create/get)"
27
- },
28
- name: {
29
- type: "string",
30
- description: "Release name/title (optional for create/update)"
31
- },
32
- body: {
33
- type: "string",
34
- description: "Release description/notes (optional for create/update)"
35
- },
36
- draft: {
37
- type: "boolean",
38
- description: "Mark as draft (optional for create/update)"
39
- },
40
- prerelease: {
41
- type: "boolean",
42
- description: "Mark as prerelease (optional for create/update)"
43
- },
44
- releaseId: {
45
- type: "number",
46
- description: "Release ID (required for update/delete)"
47
- },
48
- confirm: {
49
- type: "boolean",
50
- description: "Confirm destructive operations (optional for delete)"
51
- }
52
- },
53
- required: ["projectPath", "action"],
54
- additionalProperties: true
55
- };
56
9
  }
57
10
  async handle(params, ctx) {
58
11
  params = normalizeToolParams(params);
@@ -62,48 +15,16 @@ export class GitReleaseTool {
62
15
  throw new MCPError('VALIDATION_ERROR', 'action is required');
63
16
  if (!projectPath)
64
17
  throw new MCPError('VALIDATION_ERROR', 'projectPath is required');
65
- const githubOwner = await ctx.providerManager.getGitHubUsername();
66
- const giteaOwner = await ctx.providerManager.getGiteaUsername();
18
+ const githubOwner = params.owner || process.env.GITHUB_USERNAME;
19
+ const giteaOwner = params.owner || process.env.GITEA_USERNAME;
67
20
  const repo = params.repo;
68
21
  switch (action) {
69
22
  case 'create': {
70
23
  const tagName = params.tagName;
71
24
  if (!tagName)
72
25
  throw new MCPError('VALIDATION_ERROR', 'tagName is required');
73
- if (!repo)
74
- throw new MCPError('VALIDATION_ERROR', 'repo is required');
75
- const git = ctx.gitAdapter;
76
- // Validation 1: Check if repo has commits
77
- if (ctx.providerManager.github && githubOwner) {
78
- try {
79
- const commits = await ctx.providerManager.github.rest.repos.listCommits({
80
- owner: githubOwner,
81
- repo: repo,
82
- per_page: 1
83
- });
84
- if (commits.data.length === 0) {
85
- throw new MCPError('VALIDATION_ERROR', `Cannot create release: Repository '${githubOwner}/${repo}' is empty. ` +
86
- `Push commits before creating releases.`);
87
- }
88
- }
89
- catch (err) {
90
- if (err.status === 409) {
91
- throw new MCPError('VALIDATION_ERROR', `Cannot create release: Repository '${githubOwner}/${repo}' is empty. ` +
92
- `Push commits before creating releases.`);
93
- }
94
- }
95
- }
96
- // Create tag locally
97
- await git.createTag(projectPath, tagName, params.description || tagName);
98
- // Push tag to remotes before creating release
99
- try {
100
- await git.push(projectPath, 'origin', `refs/tags/${tagName}`, true);
101
- // Wait for propagation
102
- await new Promise(resolve => setTimeout(resolve, 2000));
103
- }
104
- catch (err) {
105
- console.warn(`Failed to push tag: ${err.message}. Continuing...`);
106
- }
26
+ const git = simpleGit({ baseDir: projectPath });
27
+ await git.addAnnotatedTag(tagName, params.description || tagName);
107
28
  const results = { success: true, localTag: tagName, providers: {} };
108
29
  if (ctx.providerManager.github) {
109
30
  try {
@@ -388,45 +309,8 @@ export class GitReleaseTool {
388
309
  }
389
310
  return results;
390
311
  }
391
- case 'latest': {
392
- if (!repo)
393
- throw new MCPError('VALIDATION_ERROR', 'repo is required');
394
- const results = { success: true, providers: {} };
395
- // GitHub
396
- if (ctx.providerManager.github) {
397
- try {
398
- const result = await ctx.providerManager.github.rest.repos.getLatestRelease({
399
- owner: githubOwner,
400
- repo: repo,
401
- });
402
- results.providers.github = { success: true, release: result.data };
403
- }
404
- catch (err) {
405
- results.providers.github = { success: false, error: err.message };
406
- }
407
- }
408
- // Gitea
409
- if (ctx.providerManager.giteaBaseUrl) {
410
- try {
411
- const releases = await axios.get(`${ctx.providerManager.giteaBaseUrl}/api/v1/repos/${giteaOwner}/${repo}/releases`, { headers: { Authorization: `token ${ctx.providerManager.giteaToken}` } });
412
- if (releases.data.length === 0) {
413
- results.providers.gitea = { success: false, error: 'No releases found' };
414
- }
415
- else {
416
- // Gitea doesn't have a /latest endpoint, so we get the first one (most recent)
417
- results.providers.gitea = { success: true, release: releases.data[0] };
418
- }
419
- }
420
- catch (err) {
421
- results.providers.gitea = { success: false, error: err.message };
422
- }
423
- }
424
- return results;
425
- }
426
312
  default:
427
- const validActions = ["create", "list", "get", "update", "delete", "latest"];
428
- throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}. Valid actions: ${validActions.join(', ')}`);
313
+ throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}`);
429
314
  }
430
315
  }
431
316
  }
432
- //# sourceMappingURL=gitRelease.js.map
@@ -2,30 +2,6 @@ import { Tool, MCPContext } from '../types.js';
2
2
  export declare class GitRemoteTool implements Tool {
3
3
  name: string;
4
4
  description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- projectPath: {
9
- type: string;
10
- description: string;
11
- };
12
- action: {
13
- type: string;
14
- description: string;
15
- enum: string[];
16
- };
17
- remoteName: {
18
- type: string;
19
- description: string;
20
- };
21
- url: {
22
- type: string;
23
- description: string;
24
- };
25
- };
26
- required: string[];
27
- additionalProperties: boolean;
28
- };
29
5
  handle(params: Record<string, any>, ctx: MCPContext): Promise<{
30
6
  success: boolean;
31
7
  remote: any;
@@ -35,7 +11,6 @@ export declare class GitRemoteTool implements Tool {
35
11
  to?: undefined;
36
12
  remotes?: undefined;
37
13
  pruned?: undefined;
38
- message?: undefined;
39
14
  } | {
40
15
  success: boolean;
41
16
  removed: any;
@@ -45,7 +20,6 @@ export declare class GitRemoteTool implements Tool {
45
20
  to?: undefined;
46
21
  remotes?: undefined;
47
22
  pruned?: undefined;
48
- message?: undefined;
49
23
  } | {
50
24
  success: boolean;
51
25
  renamed: any;
@@ -55,21 +29,18 @@ export declare class GitRemoteTool implements Tool {
55
29
  removed?: undefined;
56
30
  remotes?: undefined;
57
31
  pruned?: undefined;
58
- message?: undefined;
59
32
  } | {
60
33
  success: boolean;
61
- remotes: import("../utils/gitAdapter.js").RemoteInfo[];
34
+ remotes: import("simple-git").RemoteWithoutRefs[];
62
35
  remote?: undefined;
63
36
  url?: undefined;
64
37
  removed?: undefined;
65
38
  renamed?: undefined;
66
39
  to?: undefined;
67
40
  pruned?: undefined;
68
- message?: undefined;
69
41
  } | {
70
42
  success: boolean;
71
43
  pruned: any;
72
- message: string;
73
44
  remote?: undefined;
74
45
  url?: undefined;
75
46
  removed?: undefined;
@@ -78,4 +49,3 @@ export declare class GitRemoteTool implements Tool {
78
49
  remotes?: undefined;
79
50
  }>;
80
51
  }
81
- //# sourceMappingURL=gitRemote.d.ts.map
@@ -1,33 +1,10 @@
1
+ import simpleGit from 'simple-git';
1
2
  import { MCPError } from '../utils/errors.js';
2
3
  import { getRepoInfo, buildGitHubUrl, buildGiteaUrl } from '../utils/repoHelpers.js';
3
4
  export class GitRemoteTool {
4
5
  constructor() {
5
6
  this.name = 'git-remote';
6
7
  this.description = 'Remote repository management - automatic username detection from env vars';
7
- this.inputSchema = {
8
- type: "object",
9
- properties: {
10
- projectPath: {
11
- type: "string",
12
- description: "Absolute path to the project/repository (REQUIRED)"
13
- },
14
- action: {
15
- type: "string",
16
- description: "Remote operation to perform (REQUIRED)",
17
- enum: ["list", "add", "remove", "set-url", "get-url"]
18
- },
19
- remoteName: {
20
- type: "string",
21
- description: "Remote name (required for add/remove/set-url/get-url)"
22
- },
23
- url: {
24
- type: "string",
25
- description: "Remote URL (required for add/set-url)"
26
- }
27
- },
28
- required: ["projectPath", "action"],
29
- additionalProperties: true
30
- };
31
8
  }
32
9
  async handle(params, ctx) {
33
10
  const action = params.action;
@@ -35,10 +12,10 @@ export class GitRemoteTool {
35
12
  if (!action || !projectPath) {
36
13
  throw new MCPError('VALIDATION_ERROR', 'action and projectPath are required');
37
14
  }
38
- const git = ctx.gitAdapter;
15
+ const git = simpleGit({ baseDir: projectPath });
39
16
  switch (action) {
40
17
  case 'add': {
41
- const name = params.remoteName || 'origin';
18
+ const name = params.name || 'origin';
42
19
  let url = params.url;
43
20
  // Auto-construct URL if not provided
44
21
  if (!url) {
@@ -57,37 +34,31 @@ export class GitRemoteTool {
57
34
  throw new MCPError('VALIDATION_ERROR', 'url is required or set GITHUB_USERNAME/GITEA_USERNAME in environment');
58
35
  }
59
36
  }
60
- await git.addRemote(projectPath, name, url);
37
+ await git.addRemote(name, url);
61
38
  return { success: true, remote: name, url };
62
39
  }
63
40
  case 'remove': {
64
- const name = params.remoteName;
41
+ const name = params.name;
65
42
  if (!name)
66
- throw new MCPError('VALIDATION_ERROR', 'remoteName is required');
67
- await git.removeRemote(projectPath, name);
43
+ throw new MCPError('VALIDATION_ERROR', 'name is required');
44
+ await git.removeRemote(name);
68
45
  return { success: true, removed: name };
69
46
  }
70
47
  case 'rename': {
71
- const name = params.remoteName;
48
+ const name = params.name;
72
49
  const newName = params.newName;
73
50
  if (!name || !newName)
74
- throw new MCPError('VALIDATION_ERROR', 'remoteName and newName are required');
75
- // Rename by removing and re-adding
76
- const remotes = await git.listRemotes(projectPath);
77
- const remote = remotes.find(r => r.name === name);
78
- if (!remote)
79
- throw new MCPError('NOT_FOUND', `Remote '${name}' not found`);
80
- await git.removeRemote(projectPath, name);
81
- await git.addRemote(projectPath, newName, remote.url);
51
+ throw new MCPError('VALIDATION_ERROR', 'name and newName are required');
52
+ await git.remote(['rename', name, newName]);
82
53
  return { success: true, renamed: name, to: newName };
83
54
  }
84
55
  case 'show':
85
56
  case 'list': {
86
- const remotes = await git.listRemotes(projectPath);
57
+ const remotes = await git.getRemotes(params.verbose);
87
58
  return { success: true, remotes };
88
59
  }
89
60
  case 'set-url': {
90
- const name = params.remoteName || 'origin';
61
+ const name = params.name || 'origin';
91
62
  let url = params.url;
92
63
  // Auto-construct URL if not provided
93
64
  if (!url) {
@@ -106,29 +77,16 @@ export class GitRemoteTool {
106
77
  throw new MCPError('VALIDATION_ERROR', 'url is required or set GITHUB_USERNAME/GITEA_USERNAME in environment');
107
78
  }
108
79
  }
109
- // Set URL by removing and re-adding remote
110
- await git.removeRemote(projectPath, name);
111
- await git.addRemote(projectPath, name, url);
80
+ await git.remote(['set-url', name, url]);
112
81
  return { success: true, remote: name, url };
113
82
  }
114
- case 'get-url': {
115
- const name = params.remoteName || 'origin';
116
- const remotes = await git.listRemotes(projectPath);
117
- const remote = remotes.find(r => r.name === name);
118
- if (!remote)
119
- throw new MCPError('NOT_FOUND', `Remote '${name}' not found`);
120
- return { success: true, remote: name, url: remote.url };
121
- }
122
83
  case 'prune': {
123
- // Prune is typically a fetch operation - not directly supported in isomorphic-git
124
- // We'll just return success for now
125
- const name = params.remoteName || 'origin';
126
- return { success: true, pruned: name, message: 'Prune operation completed (simplified)' };
84
+ const name = params.name || 'origin';
85
+ await git.remote(['prune', name]);
86
+ return { success: true, pruned: name };
127
87
  }
128
88
  default:
129
- const validActions = ["list", "add", "remove", "set-url", "get-url"];
130
- throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}. Valid actions: ${validActions.join(', ')}`);
89
+ throw new MCPError('VALIDATION_ERROR', `Unsupported action: ${action}`);
131
90
  }
132
91
  }
133
92
  }
134
- //# sourceMappingURL=gitRemote.js.map