fix(mcp): fall back to lane cwd when source_repo is null
Adopted lanes have source_repo = null; lane-mcp.js passed it raw to readSourceMcpServers and threw ENOMCPCONFIG. Match the existing fallback pattern in lane-env.js/lane-profile.js.
This commit is contained in:
@@ -79,6 +79,13 @@ describe("syncMcp — reading and relocating", () => {
|
|||||||
`${lane.cwd}/.playwright-mcp/profiles/default`
|
`${lane.cwd}/.playwright-mcp/profiles/default`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("falls back to the lane's own cwd when source_repo is null (adopted lane)", async () => {
|
||||||
|
const lane = makeLane(null);
|
||||||
|
writeClaudeJson({ [lane.cwd]: { mcpServers: { playwright: { command: "npx", args: [] } } } });
|
||||||
|
const result = await laneMcp.syncMcp(lane);
|
||||||
|
assert.deepEqual(result.servers, ["playwright"]);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("syncMcp — Playwright output-dir pinning", () => {
|
describe("syncMcp — Playwright output-dir pinning", () => {
|
||||||
|
|||||||
@@ -120,8 +120,9 @@ function excludeFromGit(laneDir, line) {
|
|||||||
* @returns {{servers: string[], profilesSeeded: string[]}}
|
* @returns {{servers: string[], profilesSeeded: string[]}}
|
||||||
*/
|
*/
|
||||||
async function syncMcp(lane) {
|
async function syncMcp(lane) {
|
||||||
const sourceServers = readSourceMcpServers(lane.source_repo);
|
const sourceRepo = lane.source_repo || lane.cwd;
|
||||||
const relocated = relocate(sourceServers, lane.source_repo, lane.cwd);
|
const sourceServers = readSourceMcpServers(sourceRepo);
|
||||||
|
const relocated = relocate(sourceServers, sourceRepo, lane.cwd);
|
||||||
pinPlaywrightOutputDir(relocated, lane.cwd);
|
pinPlaywrightOutputDir(relocated, lane.cwd);
|
||||||
|
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
@@ -130,7 +131,7 @@ async function syncMcp(lane) {
|
|||||||
);
|
);
|
||||||
excludeFromGit(lane.cwd, ".mcp.json");
|
excludeFromGit(lane.cwd, ".mcp.json");
|
||||||
|
|
||||||
const profilesSeeded = seedProfiles(lane.source_repo, lane.cwd);
|
const profilesSeeded = seedProfiles(sourceRepo, lane.cwd);
|
||||||
|
|
||||||
return { servers: Object.keys(relocated), profilesSeeded };
|
return { servers: Object.keys(relocated), profilesSeeded };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user