@context-forge/mcp 0.6.7 → 0.6.8
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guideTools.d.ts","sourceRoot":"","sources":["../../src/tools/guideTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"guideTools.d.ts","sourceRoot":"","sources":["../../src/tools/guideTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgCpE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgI1D"}
|
package/dist/tools/guideTools.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { FileProjectStore, GuideManager, ConfigManager } from '@context-forge/core/node';
|
|
3
|
+
import { GuideDetector } from '@context-forge/core/node';
|
|
3
4
|
import { resolveProjectId } from './resolveProjectId.js';
|
|
4
5
|
import { errorResult, jsonResult } from './contextTools.js';
|
|
5
|
-
/** Resolve projectId to projectPath, throwing actionable errors */
|
|
6
|
-
async function
|
|
6
|
+
/** Resolve projectId to projectPath and project data, throwing actionable errors */
|
|
7
|
+
async function resolveProjectWithData(projectId) {
|
|
7
8
|
const resolvedId = await resolveProjectId(projectId);
|
|
8
9
|
const store = new FileProjectStore();
|
|
9
10
|
const project = await store.getById(resolvedId);
|
|
@@ -13,7 +14,7 @@ async function resolveProjectPath(projectId) {
|
|
|
13
14
|
if (!project.projectPath) {
|
|
14
15
|
throw new Error(`Project '${project.name}' has no configured project path. Set a project path first.`);
|
|
15
16
|
}
|
|
16
|
-
return project.projectPath;
|
|
17
|
+
return { projectPath: project.projectPath, project };
|
|
17
18
|
}
|
|
18
19
|
export function registerGuideTools(server) {
|
|
19
20
|
// --- guide_status ---
|
|
@@ -31,11 +32,23 @@ export function registerGuideTools(server) {
|
|
|
31
32
|
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
32
33
|
}, async ({ projectId }) => {
|
|
33
34
|
try {
|
|
34
|
-
const projectPath = await
|
|
35
|
+
const { projectPath, project } = await resolveProjectWithData(projectId);
|
|
35
36
|
const cm = new ConfigManager(projectPath);
|
|
36
37
|
const manager = new GuideManager(projectPath, cm);
|
|
37
38
|
const info = await manager.status();
|
|
38
|
-
|
|
39
|
+
// Report per-worktree sync status when worktrees exist and method is submodule
|
|
40
|
+
let worktreeSync;
|
|
41
|
+
if (info.method === 'submodule' && project.worktrees?.length) {
|
|
42
|
+
const detector = new GuideDetector();
|
|
43
|
+
worktreeSync = [];
|
|
44
|
+
for (const wt of project.worktrees) {
|
|
45
|
+
if (wt.worktreePath) {
|
|
46
|
+
const syncStatus = await detector.checkSyncStatus(wt.worktreePath);
|
|
47
|
+
worktreeSync.push({ name: wt.name, path: wt.worktreePath, status: syncStatus });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return jsonResult(worktreeSync ? { ...info, worktreeSync } : info);
|
|
39
52
|
}
|
|
40
53
|
catch (error) {
|
|
41
54
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -66,7 +79,7 @@ export function registerGuideTools(server) {
|
|
|
66
79
|
annotations: { readOnlyHint: false, openWorldHint: true },
|
|
67
80
|
}, async ({ projectId, strategy, source }) => {
|
|
68
81
|
try {
|
|
69
|
-
const projectPath = await
|
|
82
|
+
const { projectPath } = await resolveProjectWithData(projectId);
|
|
70
83
|
const cm = new ConfigManager(projectPath);
|
|
71
84
|
const manager = new GuideManager(projectPath, cm);
|
|
72
85
|
const result = await manager.install(strategy, source);
|
|
@@ -92,11 +105,21 @@ export function registerGuideTools(server) {
|
|
|
92
105
|
annotations: { readOnlyHint: false, openWorldHint: true },
|
|
93
106
|
}, async ({ projectId }) => {
|
|
94
107
|
try {
|
|
95
|
-
const projectPath = await
|
|
108
|
+
const { projectPath, project } = await resolveProjectWithData(projectId);
|
|
96
109
|
const cm = new ConfigManager(projectPath);
|
|
97
110
|
const manager = new GuideManager(projectPath, cm);
|
|
98
111
|
const result = await manager.update();
|
|
99
|
-
|
|
112
|
+
// Auto-sync all worktrees with registered paths
|
|
113
|
+
let syncResults;
|
|
114
|
+
if (project.worktrees?.length) {
|
|
115
|
+
const worktreePaths = project.worktrees
|
|
116
|
+
.map((wt) => wt.worktreePath)
|
|
117
|
+
.filter((p) => !!p);
|
|
118
|
+
if (worktreePaths.length > 0) {
|
|
119
|
+
syncResults = await manager.syncWorktrees(worktreePaths);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return jsonResult(syncResults ? { ...result, syncResults } : result);
|
|
100
123
|
}
|
|
101
124
|
catch (error) {
|
|
102
125
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guideTools.js","sourceRoot":"","sources":["../../src/tools/guideTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"guideTools.js","sourceRoot":"","sources":["../../src/tools/guideTools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO5D,oFAAoF;AACpF,KAAK,UAAU,sBAAsB,CAAC,SAAkB;IACtD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,gDAAgD,CAClF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,IAAI,6DAA6D,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,uEAAuE;YACvE,yFAAyF;YACzF,gFAAgF;QAClF,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;SACpF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;KAC1D,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YAEpC,+EAA+E;YAC/E,IAAI,YAA0E,CAAC;YAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;gBACrC,YAAY,GAAG,EAAE,CAAC;gBAClB,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACnC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;wBACpB,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;wBACnE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,yDAAyD;YACzD,uEAAuE;YACvE,iFAAiF;YACjF,qEAAqE;QACvE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACtC,QAAQ,EAAE;iBACV,QAAQ,CAAC,2EAA2E,CAAC;YACxF,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;SACnF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KAC1D,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,0EAA0E;YAC1E,yDAAyD;YACzD,gEAAgE;QAClE,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;SACpF;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KAC1D,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YAEtC,gDAAgD;YAChD,IAAI,WAAqF,CAAC;YAC1F,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS;qBACpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC;qBAC5B,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,WAAW,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@context-forge/mcp",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.8",
|
|
4
4
|
"description": "MCP server for Context Forge — generates structured AI context prompts from project configuration and templates",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
36
36
|
"zod": "^4.1.5",
|
|
37
|
-
"@context-forge/core": "0.6.
|
|
37
|
+
"@context-forge/core": "0.6.8"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^25.3.0",
|