@imenam/mcp-github 1.1.54 → 1.1.55

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 (64) hide show
  1. package/README.md +276 -191
  2. package/dist/__tests__/gateway-exec/session.test.d.ts +2 -0
  3. package/dist/__tests__/gateway-exec/session.test.d.ts.map +1 -0
  4. package/dist/__tests__/gateway-exec/session.test.js +72 -0
  5. package/dist/__tests__/gateway-exec/session.test.js.map +1 -0
  6. package/dist/__tests__/git-proxy/pkt-line.test.d.ts +2 -0
  7. package/dist/__tests__/git-proxy/pkt-line.test.d.ts.map +1 -0
  8. package/dist/__tests__/git-proxy/pkt-line.test.js +93 -0
  9. package/dist/__tests__/git-proxy/pkt-line.test.js.map +1 -0
  10. package/dist/__tests__/git-proxy/proxy.e2e.test.d.ts +2 -0
  11. package/dist/__tests__/git-proxy/proxy.e2e.test.d.ts.map +1 -0
  12. package/dist/__tests__/git-proxy/proxy.e2e.test.js +206 -0
  13. package/dist/__tests__/git-proxy/proxy.e2e.test.js.map +1 -0
  14. package/dist/__tests__/handlers/agent-git.test.d.ts +2 -0
  15. package/dist/__tests__/handlers/agent-git.test.d.ts.map +1 -0
  16. package/dist/__tests__/handlers/agent-git.test.js +124 -0
  17. package/dist/__tests__/handlers/agent-git.test.js.map +1 -0
  18. package/dist/__tests__/utils/git.test.js +9 -2
  19. package/dist/__tests__/utils/git.test.js.map +1 -1
  20. package/dist/config-server.d.ts.map +1 -1
  21. package/dist/config-server.js +8 -0
  22. package/dist/config-server.js.map +1 -1
  23. package/dist/gateway-exec/session.d.ts +36 -0
  24. package/dist/gateway-exec/session.d.ts.map +1 -0
  25. package/dist/gateway-exec/session.js +116 -0
  26. package/dist/gateway-exec/session.js.map +1 -0
  27. package/dist/git-proxy/pkt-line.d.ts +50 -0
  28. package/dist/git-proxy/pkt-line.d.ts.map +1 -0
  29. package/dist/git-proxy/pkt-line.js +110 -0
  30. package/dist/git-proxy/pkt-line.js.map +1 -0
  31. package/dist/git-proxy/server.d.ts +27 -0
  32. package/dist/git-proxy/server.d.ts.map +1 -0
  33. package/dist/git-proxy/server.js +216 -0
  34. package/dist/git-proxy/server.js.map +1 -0
  35. package/dist/handlers/agent-git.d.ts +5 -0
  36. package/dist/handlers/agent-git.d.ts.map +1 -0
  37. package/dist/handlers/agent-git.js +205 -0
  38. package/dist/handlers/agent-git.js.map +1 -0
  39. package/dist/handlers/git.d.ts +1 -1
  40. package/dist/handlers/git.d.ts.map +1 -1
  41. package/dist/handlers/git.js +75 -121
  42. package/dist/handlers/git.js.map +1 -1
  43. package/dist/handlers/github.d.ts.map +1 -1
  44. package/dist/handlers/github.js +12 -7
  45. package/dist/handlers/github.js.map +1 -1
  46. package/dist/handlers/info.d.ts.map +1 -1
  47. package/dist/handlers/info.js +14 -3
  48. package/dist/handlers/info.js.map +1 -1
  49. package/dist/index.js +41 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/utils/git.d.ts +4 -1
  52. package/dist/utils/git.d.ts.map +1 -1
  53. package/dist/utils/git.js +30 -20
  54. package/dist/utils/git.js.map +1 -1
  55. package/dist/utils/role.d.ts +15 -0
  56. package/dist/utils/role.d.ts.map +1 -0
  57. package/dist/utils/role.js +18 -0
  58. package/dist/utils/role.js.map +1 -0
  59. package/dist/utils/target.d.ts +13 -0
  60. package/dist/utils/target.d.ts.map +1 -0
  61. package/dist/utils/target.js +38 -0
  62. package/dist/utils/target.js.map +1 -0
  63. package/package.json +1 -1
  64. package/public/index.html +5 -1
@@ -1,7 +1,8 @@
1
1
  import {} from "@modelcontextprotocol/sdk/types.js";
2
2
  import fs from "fs";
3
3
  import { logToFile } from "../logger.js";
4
- import { getCurrentBranch, execGitSecure, performClone, alignRepoOwnership } from "../utils/git.js";
4
+ import { getCurrentBranch, execGitSecure, performClone, alignRepoOwnership, remoteBranchExists, ensureOrigin } from "../utils/git.js";
5
+ import { getGitHubRemoteUrl, resolveTarget } from "../utils/target.js";
5
6
  export const GIT_TOOLS = [
6
7
  {
7
8
  name: "commit",
@@ -58,118 +59,97 @@ export const GIT_TOOLS = [
58
59
  },
59
60
  },
60
61
  ];
61
- export async function handleCommit(args, config) {
62
- if (config.READ_ONLY)
63
- throw new Error("Server is in read-only mode");
64
- const { message } = args;
65
- const finalRepoPath = config.REPO_PATH;
66
- if (!finalRepoPath) {
62
+ function requireRepoPath(config) {
63
+ const repoPath = config.REPO_PATH;
64
+ if (!repoPath) {
67
65
  throw new Error("Repository path is not defined. You must call 'clone' first.");
68
66
  }
69
- if (!fs.existsSync(finalRepoPath)) {
70
- throw new Error(`Repository not found at "${finalRepoPath}". You must call 'clone' first.`);
67
+ if (!fs.existsSync(repoPath)) {
68
+ throw new Error(`Repository not found at "${repoPath}". You must call 'clone' first.`);
71
69
  }
72
- const currentBranch = getCurrentBranch(finalRepoPath);
73
- if (currentBranch !== config.TARGET_BRANCH) {
74
- throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${config.TARGET_BRANCH}". Run 'init_working_dir' first.`);
70
+ return repoPath;
71
+ }
72
+ function requireTargetBranch(repoPath, target) {
73
+ const currentBranch = getCurrentBranch(repoPath);
74
+ if (currentBranch !== target.targetBranch) {
75
+ throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${target.targetBranch}". Run 'init_working_dir' first.`);
75
76
  }
76
- const execOptions = { cwd: finalRepoPath };
77
+ }
78
+ /** git add + commit. Rend false si l'arbre de travail est propre. */
79
+ function commitAll(repoPath, message) {
80
+ const execOptions = { cwd: repoPath };
81
+ execGitSecure("git add .", execOptions);
77
82
  try {
78
- execGitSecure("git add .", execOptions);
79
- try {
80
- execGitSecure(`git commit -m "${message}"`, execOptions);
81
- }
82
- catch (e) {
83
- const status = execGitSecure("git status --porcelain", execOptions).toString();
84
- if (status.length === 0) {
85
- return { content: [{ type: "text", text: "Nothing to commit, working tree clean." }] };
86
- }
87
- throw e;
83
+ execGitSecure(`git commit -m "${message}"`, execOptions);
84
+ return true;
85
+ }
86
+ catch (e) {
87
+ const status = execGitSecure("git status --porcelain", execOptions).toString();
88
+ if (status.length === 0)
89
+ return false;
90
+ throw e;
91
+ }
92
+ }
93
+ function pushToTarget(repoPath, target) {
94
+ execGitSecure(`push ${getGitHubRemoteUrl(target)} HEAD:${target.targetBranch}`, { cwd: repoPath });
95
+ }
96
+ export async function handleCommit(args, config) {
97
+ const target = resolveTarget();
98
+ if (target.readOnly)
99
+ throw new Error("Server is in read-only mode");
100
+ const { message } = args;
101
+ const repoPath = requireRepoPath(config);
102
+ requireTargetBranch(repoPath, target);
103
+ try {
104
+ if (!commitAll(repoPath, message)) {
105
+ return { content: [{ type: "text", text: "Nothing to commit, working tree clean." }] };
88
106
  }
89
107
  const successMsg = `Successfully committed all changes with message: "${message}"`;
90
108
  logToFile(successMsg);
91
109
  return { content: [{ type: "text", text: successMsg }] };
92
110
  }
93
111
  catch (error) {
94
- const msg = `Git commit failed at ${finalRepoPath}: ${error.message}`;
112
+ const msg = `Git commit failed at ${repoPath}: ${error.message}`;
95
113
  logToFile(msg);
96
114
  throw new Error(msg);
97
115
  }
98
116
  }
99
117
  export async function handlePush(_args, config) {
100
- if (config.READ_ONLY)
118
+ const target = resolveTarget();
119
+ if (target.readOnly)
101
120
  throw new Error("Server is in read-only mode");
102
- const finalRepoPath = config.REPO_PATH;
103
- if (!finalRepoPath) {
104
- throw new Error("Repository path is not defined. You must call 'clone' first.");
105
- }
106
- if (!fs.existsSync(finalRepoPath)) {
107
- throw new Error(`Repository not found at "${finalRepoPath}". You must call 'clone' first.`);
108
- }
109
- if (!config.TARGET_BRANCH) {
110
- throw new Error("TARGET_BRANCH environment variable is not defined");
111
- }
112
- const currentBranch = getCurrentBranch(finalRepoPath);
113
- if (currentBranch !== config.TARGET_BRANCH) {
114
- throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${config.TARGET_BRANCH}". Run 'init_working_dir' first.`);
115
- }
116
- const execOptions = { cwd: finalRepoPath };
121
+ const repoPath = requireRepoPath(config);
122
+ requireTargetBranch(repoPath, target);
117
123
  try {
118
- const remote = config.TARGET_REPO
119
- ? `https://github.com/${config.TARGET_REPO}.git`
120
- : "origin";
121
- execGitSecure(`push ${remote} HEAD:${config.TARGET_BRANCH}`, execOptions);
122
- const successMsg = `Successfully pushed to ${config.TARGET_BRANCH} from ${finalRepoPath}`;
124
+ pushToTarget(repoPath, target);
125
+ const successMsg = `Successfully pushed to ${target.targetBranch} from ${repoPath}`;
123
126
  logToFile(successMsg);
124
127
  return { content: [{ type: "text", text: successMsg }] };
125
128
  }
126
129
  catch (error) {
127
- const msg = `Git push failed at ${finalRepoPath}: ${error.message}`;
130
+ const msg = `Git push failed at ${repoPath}: ${error.message}`;
128
131
  logToFile(msg);
129
132
  throw new Error(msg);
130
133
  }
131
134
  }
132
135
  export async function handleCommitAndPush(args, config) {
133
- if (config.READ_ONLY)
136
+ const target = resolveTarget();
137
+ if (target.readOnly)
134
138
  throw new Error("Server is in read-only mode");
135
139
  const { message } = args;
136
- const finalRepoPath = config.REPO_PATH;
137
- if (!finalRepoPath) {
138
- throw new Error("Repository path is not defined. You must call 'clone' first.");
139
- }
140
- if (!fs.existsSync(finalRepoPath)) {
141
- throw new Error(`Repository not found at "${finalRepoPath}". You must call 'clone' first.`);
142
- }
143
- if (!config.TARGET_BRANCH) {
144
- throw new Error("TARGET_BRANCH environment variable is not defined");
145
- }
146
- const currentBranch = getCurrentBranch(finalRepoPath);
147
- if (currentBranch !== config.TARGET_BRANCH) {
148
- throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${config.TARGET_BRANCH}". Run 'init_working_dir' first.`);
149
- }
150
- const execOptions = { cwd: finalRepoPath };
140
+ const repoPath = requireRepoPath(config);
141
+ requireTargetBranch(repoPath, target);
151
142
  try {
152
- execGitSecure("git add .", execOptions);
153
- try {
154
- execGitSecure(`git commit -m "${message}"`, execOptions);
155
- }
156
- catch (e) {
157
- const status = execGitSecure("git status --porcelain", execOptions).toString();
158
- if (status.length === 0) {
159
- return { content: [{ type: "text", text: "Nothing to commit, working tree clean." }] };
160
- }
161
- throw e;
143
+ if (!commitAll(repoPath, message)) {
144
+ return { content: [{ type: "text", text: "Nothing to commit, working tree clean." }] };
162
145
  }
163
- const remote = config.TARGET_REPO
164
- ? `https://github.com/${config.TARGET_REPO}.git`
165
- : "origin";
166
- execGitSecure(`push ${remote} HEAD:${config.TARGET_BRANCH}`, execOptions);
167
- const successMsg = `Successfully committed and pushed all changes to branch ${config.TARGET_BRANCH} from ${finalRepoPath}`;
146
+ pushToTarget(repoPath, target);
147
+ const successMsg = `Successfully committed and pushed all changes to branch ${target.targetBranch} from ${repoPath}`;
168
148
  logToFile(successMsg);
169
149
  return { content: [{ type: "text", text: successMsg }] };
170
150
  }
171
151
  catch (error) {
172
- const msg = `Git operation failed at ${finalRepoPath}: ${error.message}`;
152
+ const msg = `Git operation failed at ${repoPath}: ${error.message}`;
173
153
  logToFile(msg);
174
154
  throw new Error(msg);
175
155
  }
@@ -179,35 +159,20 @@ export async function handleClone() {
179
159
  return { content: [{ type: "text", text: result }] };
180
160
  }
181
161
  export async function handleCheckStatus(_args, config) {
182
- const repoPath = config.REPO_PATH;
183
- if (!repoPath) {
184
- throw new Error("Repository path is not defined. You must call 'clone' first.");
185
- }
186
- if (!fs.existsSync(repoPath)) {
187
- throw new Error(`Repository not found at "${repoPath}". You must call 'clone' first.`);
188
- }
162
+ const target = resolveTarget();
163
+ const repoPath = requireRepoPath(config);
189
164
  const currentBranch = getCurrentBranch(repoPath);
190
- const expectedBranch = config.TARGET_BRANCH;
165
+ const expectedBranch = target.targetBranch;
191
166
  const match = currentBranch === expectedBranch;
192
167
  return { content: [{ type: "text", text: JSON.stringify({ currentBranch, expectedBranch, match }, null, 2) }] };
193
168
  }
194
- export async function handleInitWorkingDir(_args, config, octokit) {
195
- const repoPath = config.REPO_PATH;
196
- if (!repoPath) {
197
- throw new Error("Repository path is not defined. You must call 'clone' first.");
198
- }
199
- if (!fs.existsSync(repoPath)) {
200
- throw new Error(`Repository not found at "${repoPath}". You must call 'clone' first.`);
201
- }
202
- if (!config.TARGET_BRANCH) {
203
- throw new Error("TARGET_BRANCH is not defined.");
204
- }
205
- if (!config.TARGET_REPO || !config.TARGET_REPO.includes("/")) {
206
- throw new Error("TARGET_REPO must be defined as 'owner/repo'");
207
- }
169
+ export async function handleInitWorkingDir(_args, config) {
170
+ const target = resolveTarget();
171
+ const repoPath = requireRepoPath(config);
172
+ const remoteUrl = getGitHubRemoteUrl(target);
208
173
  const execOptions = { cwd: repoPath };
209
174
  const steps = [];
210
- const [owner, repo] = config.TARGET_REPO.split("/");
175
+ ensureOrigin(repoPath, remoteUrl);
211
176
  const currentBranchBefore = getCurrentBranch(repoPath);
212
177
  const stashOutput = execGitSecure(`stash push -u -m "auto-stash/${currentBranchBefore}"`, execOptions).toString().trim();
213
178
  if (stashOutput.includes("No local changes to save")) {
@@ -216,30 +181,19 @@ export async function handleInitWorkingDir(_args, config, octokit) {
216
181
  else {
217
182
  steps.push(`Stashed local changes as "auto-stash/${currentBranchBefore}"`);
218
183
  }
219
- execGitSecure(`checkout ${config.BASE_BRANCH}`, execOptions);
220
- steps.push(`Checked out ${config.BASE_BRANCH}`);
184
+ execGitSecure(`checkout ${target.baseBranch}`, execOptions);
185
+ steps.push(`Checked out ${target.baseBranch}`);
221
186
  execGitSecure("fetch --all", execOptions);
222
187
  steps.push("Fetched all remotes");
223
- let branchExistsOnRemote = false;
224
- if (octokit && owner && repo) {
225
- try {
226
- await octokit.rest.repos.getBranch({ owner, repo, branch: config.TARGET_BRANCH });
227
- branchExistsOnRemote = true;
228
- }
229
- catch (e) {
230
- if (e.status !== 404)
231
- throw e;
232
- }
233
- }
234
- if (branchExistsOnRemote) {
235
- execGitSecure(`checkout ${config.TARGET_BRANCH}`, execOptions);
236
- execGitSecure(`pull origin ${config.TARGET_BRANCH}`, execOptions);
237
- steps.push(`Checked out and pulled "${config.TARGET_BRANCH}"`);
188
+ if (remoteBranchExists(repoPath, remoteUrl, target.targetBranch)) {
189
+ execGitSecure(`checkout ${target.targetBranch}`, execOptions);
190
+ execGitSecure(`pull origin ${target.targetBranch}`, execOptions);
191
+ steps.push(`Checked out and pulled "${target.targetBranch}"`);
238
192
  }
239
193
  else {
240
- execGitSecure(`checkout -b ${config.TARGET_BRANCH}`, execOptions);
241
- execGitSecure(`push -u origin ${config.TARGET_BRANCH}`, execOptions);
242
- steps.push(`Created and pushed new branch "${config.TARGET_BRANCH}"`);
194
+ execGitSecure(`checkout -b ${target.targetBranch}`, execOptions);
195
+ execGitSecure(`push -u origin ${target.targetBranch}`, execOptions);
196
+ steps.push(`Created and pushed new branch "${target.targetBranch}"`);
243
197
  }
244
198
  // checkout/stash/pull ont pu créer des fichiers appartenant à root → réaligner
245
199
  // sur l'utilisateur de l'agent avant qu'il ne reprenne l'édition.
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/handlers/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/handlers/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/handlers/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAQ/D,wBAAgB,UAAU;;;;;;UAOzB;AAED,wBAAgB,YAAY,SAE3B;AAED,eAAO,MAAM,YAAY,EAAE,IAAI,EAa9B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;GAkD7D"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/handlers/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAS/D,wBAAgB,UAAU;;;;;;UAOzB;AAED,wBAAgB,YAAY,SAE3B;AAED,eAAO,MAAM,YAAY,EAAE,IAAI,EAa9B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;GAsD7D"}
@@ -3,6 +3,7 @@ import { Octokit } from "octokit";
3
3
  import { logToFile } from "../logger.js";
4
4
  import { getConfig } from "../utils/config.js";
5
5
  import { getCurrentBranch } from "../utils/git.js";
6
+ import { getRole } from "../utils/role.js";
6
7
  let _octokit = null;
7
8
  export function getOctokit() {
8
9
  const { GITHUB_TOKEN } = getConfig();
@@ -37,13 +38,17 @@ export async function handlePullRequest(args, config) {
37
38
  }
38
39
  if (config.READ_ONLY)
39
40
  throw new Error("Server is in read-only mode");
40
- const prRepoPath = config.REPO_PATH;
41
- if (!prRepoPath) {
42
- throw new Error("Repository path is not defined. You must call 'clone' first.");
43
- }
44
- const currentBranch = getCurrentBranch(prRepoPath);
45
- if (currentBranch !== config.TARGET_BRANCH) {
46
- throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${config.TARGET_BRANCH}". Run 'init_working_dir' first.`);
41
+ // En rôle remote, la copie de travail est sur la machine de l'agent : seul le
42
+ // rôle standalone peut vérifier la branche courante.
43
+ if (getRole() === "standalone") {
44
+ const prRepoPath = config.REPO_PATH;
45
+ if (!prRepoPath) {
46
+ throw new Error("Repository path is not defined. You must call 'clone' first.");
47
+ }
48
+ const currentBranch = getCurrentBranch(prRepoPath);
49
+ if (currentBranch !== config.TARGET_BRANCH) {
50
+ throw new Error(`Branch mismatch: current branch is "${currentBranch}", expected "${config.TARGET_BRANCH}". Run 'init_working_dir' first.`);
51
+ }
47
52
  }
48
53
  const { title, body } = args;
49
54
  if (!config.TARGET_REPO || !config.TARGET_REPO.includes("/")) {
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/handlers/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,IAAI,QAAQ,GAAmB,IAAI,CAAC;AAEpC,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBACvE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;aAClF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAS,EAAE,MAAW;IAC5D,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,MAAM,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,aAAa,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,gBAAgB,MAAM,CAAC,aAAa,kCAAkC,CAAC,CAAC;IAC9I,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEpD,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/C,KAAK;YACL,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,IAAI,EAAE,MAAM,CAAC,aAAa;YAC1B,IAAI,EAAE,MAAM,CAAC,WAAW;SACzB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,sCAAsC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClF,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9D,SAAS,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/handlers/github.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/handlers/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAK/D,eAAO,MAAM,UAAU,EAAE,IAAI,EAmB5B,CAAC;AAEF,wBAAsB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;GAoB1D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG;;;;;GAqB5C"}
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/handlers/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAM/D,eAAO,MAAM,UAAU,EAAE,IAAI,EAmB5B,CAAC;AAEF,wBAAsB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;;;;;GA+B1D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,GAAG;;;;;GAqB5C"}
@@ -2,6 +2,7 @@ import {} from "@modelcontextprotocol/sdk/types.js";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
4
  import { logToFile } from "../logger.js";
5
+ import { getGatewayRoute, getRole } from "../utils/role.js";
5
6
  export const INFO_TOOLS = [
6
7
  {
7
8
  name: "get_info",
@@ -23,16 +24,26 @@ export const INFO_TOOLS = [
23
24
  },
24
25
  ];
25
26
  export async function handleGetInfo(_args, config) {
27
+ const role = getRole();
28
+ const workingCopy = role === "remote"
29
+ ? {
30
+ REPO_PATH: config.REPO_PATH || "<dossier de lancement du relais agent>/<nom du dépôt>",
31
+ GIT_REMOTE: `<GATEWAY_URL>${getGatewayRoute()}/http/repo.git`,
32
+ }
33
+ : {
34
+ CLONE_DIR: config.CLONE_DIR,
35
+ REPO_PATH: config.REPO_PATH || "Not defined (Call 'clone' first)",
36
+ CURRENT_WORKING_DIR: process.cwd(),
37
+ };
26
38
  const info = {
39
+ ROLE: role,
27
40
  TARGET_REPO: config.TARGET_REPO,
28
41
  TARGET_BRANCH: config.TARGET_BRANCH,
29
42
  BASE_BRANCH: config.BASE_BRANCH,
30
- CLONE_DIR: config.CLONE_DIR,
31
- REPO_PATH: config.REPO_PATH || "Not defined (Call 'clone' first)",
32
43
  READ_ONLY: config.READ_ONLY,
33
44
  INCLUDE_PUBLIC: config.INCLUDE_PUBLIC,
34
45
  INCLUDE_NOT_OWNED: config.INCLUDE_NOT_OWNED,
35
- CURRENT_WORKING_DIR: process.cwd(),
46
+ ...workingCopy,
36
47
  GITHUB_TOKEN_LAST_5: config.GITHUB_TOKEN ? `***${config.GITHUB_TOKEN.slice(-5)}` : "Non configuré",
37
48
  };
38
49
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/handlers/info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/handlers/info.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,14 +9,31 @@ import { logToFile, setupLogging } from "./logger.js";
9
9
  import { getConfig, setupIpcErrorHandlers } from "./utils/config.js";
10
10
  import { spawnGuiProcess } from "./gui-process.js";
11
11
  import { performClone } from "./utils/git.js";
12
- import { resetOctokit, getOctokit, GITHUB_TOOLS, handlePullRequest } from "./handlers/github.js";
12
+ import { getGatewayRoute, getRole } from "./utils/role.js";
13
+ import { GITHUB_ORIGIN, startGitProxy } from "./git-proxy/server.js";
14
+ import { resetOctokit, GITHUB_TOOLS, handlePullRequest } from "./handlers/github.js";
13
15
  import { GIT_TOOLS, handleCommit, handlePush, handleCommitAndPush, handleClone, handleCheckStatus, handleInitWorkingDir } from "./handlers/git.js";
14
16
  import { DEPLOY_TOOLS, handleDeploy, handleTest, handleTestLogs } from "./handlers/deploy.js";
15
17
  import { INFO_TOOLS, handleGetInfo, handleGetLogs } from "./handlers/info.js";
18
+ import { handleAgentGitTool } from "./handlers/agent-git.js";
16
19
  const __filename = fileURLToPath(import.meta.url);
17
20
  const __dirname = path.dirname(__filename);
18
21
  setupLogging("MASTER");
19
22
  setupIpcErrorHandlers();
23
+ function fatal(message) {
24
+ console.error(message);
25
+ logToFile(message);
26
+ process.exit(1);
27
+ }
28
+ let ROLE;
29
+ try {
30
+ ROLE = getRole();
31
+ if (ROLE === "remote")
32
+ getGatewayRoute();
33
+ }
34
+ catch (error) {
35
+ fatal(`Configuration invalide : ${error.message}`);
36
+ }
20
37
  if (!process.env.PROXY_URL) {
21
38
  console.error('[MASTER] PROXY_URL non défini — GUI désactivée.');
22
39
  }
@@ -75,13 +92,18 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
75
92
  const config = getConfig();
76
93
  try {
77
94
  logToFile(`Executing tool: ${name}`);
95
+ if (ROLE === "remote") {
96
+ const agentGit = handleAgentGitTool(name, args, config);
97
+ if (agentGit)
98
+ return await agentGit;
99
+ }
78
100
  switch (name) {
79
101
  case "commit": return await handleCommit(args, config);
80
102
  case "push": return await handlePush(args, config);
81
103
  case "commit_and_push": return await handleCommitAndPush(args, config);
82
104
  case "clone": return await handleClone();
83
105
  case "check_status": return await handleCheckStatus(args, config);
84
- case "init_working_dir": return await handleInitWorkingDir(args, config, getOctokit());
106
+ case "init_working_dir": return await handleInitWorkingDir(args, config);
85
107
  case "pull_request": return await handlePullRequest(args, config);
86
108
  case "deploy": return await handleDeploy(args, config);
87
109
  case "test": return await handleTest(args, config);
@@ -101,10 +123,26 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
101
123
  };
102
124
  }
103
125
  });
126
+ async function startRemoteGitProxy() {
127
+ const rawPort = process.env.MCP_HTTP_RELAY_PORT;
128
+ const port = Number(rawPort);
129
+ if (!rawPort || !Number.isInteger(port) || port < 1 || port > 65535) {
130
+ fatal(`MCP_HTTP_RELAY_PORT="${rawPort ?? ""}" invalide : le rôle remote exige le port de relais HTTP déclaré au gateway.`);
131
+ }
132
+ try {
133
+ await startGitProxy({ getConfig, upstreamOrigin: GITHUB_ORIGIN }, port);
134
+ }
135
+ catch (error) {
136
+ fatal(`Impossible d'ouvrir le proxy git sur 127.0.0.1:${port} : ${error.message}`);
137
+ }
138
+ logToFile(`[git-proxy] Proxy git à l'écoute sur 127.0.0.1:${port}`);
139
+ }
104
140
  async function main() {
141
+ if (ROLE === "remote")
142
+ await startRemoteGitProxy();
105
143
  const transport = new StdioServerTransport();
106
144
  await server.connect(transport);
107
- const msg = `GitHub MCP Server running on stdio (CWD: ${process.cwd()})`;
145
+ const msg = `GitHub MCP Server running on stdio (role: ${ROLE}, CWD: ${process.cwd()})`;
108
146
  console.error(msg);
109
147
  logToFile(msg);
110
148
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export declare function getCurrentBranch(repoPath: string): string;
2
- export declare function getGitAuthHeader(): string | null;
3
2
  export declare function execGitSecure(command: string, options: any): string;
3
+ /** Indique si la branche existe sur le remote, via `git ls-remote` (code 2 : absente). */
4
+ export declare function remoteBranchExists(repoPath: string, remoteUrl: string, branch: string): boolean;
5
+ /** Fait pointer `origin` sur l'URL attendue pour le rôle de l'instance. */
6
+ export declare function ensureOrigin(repoPath: string, remoteUrl: string): void;
4
7
  /**
5
8
  * Aligne la propriété et les droits du dépôt sur l'utilisateur de l'agent.
6
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAKhD;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAY1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAazD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAuDpD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/utils/git.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAc1D;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAQ/F;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAEtE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAazD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAiDpD"}