@mcp-graph-workflow/mcp-graph 5.2.0 → 5.3.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 (203) hide show
  1. package/dist/api/router.d.ts +0 -1
  2. package/dist/api/router.d.ts.map +1 -1
  3. package/dist/api/router.js +3 -4
  4. package/dist/api/router.js.map +1 -1
  5. package/dist/api/routes/benchmark.d.ts.map +1 -1
  6. package/dist/api/routes/benchmark.js +47 -2
  7. package/dist/api/routes/benchmark.js.map +1 -1
  8. package/dist/api/routes/code-graph.d.ts +12 -0
  9. package/dist/api/routes/code-graph.d.ts.map +1 -0
  10. package/dist/api/routes/code-graph.js +154 -0
  11. package/dist/api/routes/code-graph.js.map +1 -0
  12. package/dist/api/routes/folder.d.ts +1 -4
  13. package/dist/api/routes/folder.d.ts.map +1 -1
  14. package/dist/api/routes/folder.js +19 -17
  15. package/dist/api/routes/folder.js.map +1 -1
  16. package/dist/api/routes/integrations.d.ts.map +1 -1
  17. package/dist/api/routes/integrations.js +60 -16
  18. package/dist/api/routes/integrations.js.map +1 -1
  19. package/dist/api/routes/knowledge.js +1 -1
  20. package/dist/api/routes/knowledge.js.map +1 -1
  21. package/dist/api/routes/skills.d.ts.map +1 -1
  22. package/dist/api/routes/skills.js +57 -3
  23. package/dist/api/routes/skills.js.map +1 -1
  24. package/dist/cli/commands/index-cmd.js +5 -5
  25. package/dist/cli/commands/index-cmd.js.map +1 -1
  26. package/dist/core/code/code-indexer.d.ts +20 -0
  27. package/dist/core/code/code-indexer.d.ts.map +1 -0
  28. package/dist/core/code/code-indexer.js +161 -0
  29. package/dist/core/code/code-indexer.js.map +1 -0
  30. package/dist/core/code/code-search.d.ts +16 -0
  31. package/dist/core/code/code-search.d.ts.map +1 -0
  32. package/dist/core/code/code-search.js +77 -0
  33. package/dist/core/code/code-search.js.map +1 -0
  34. package/dist/core/code/code-store.d.ts +35 -0
  35. package/dist/core/code/code-store.d.ts.map +1 -0
  36. package/dist/core/code/code-store.js +228 -0
  37. package/dist/core/code/code-store.js.map +1 -0
  38. package/dist/core/code/code-types.d.ts +209 -0
  39. package/dist/core/code/code-types.d.ts.map +1 -0
  40. package/dist/core/code/code-types.js +94 -0
  41. package/dist/core/code/code-types.js.map +1 -0
  42. package/dist/core/code/graph-traversal.d.ts +27 -0
  43. package/dist/core/code/graph-traversal.d.ts.map +1 -0
  44. package/dist/core/code/graph-traversal.js +122 -0
  45. package/dist/core/code/graph-traversal.js.map +1 -0
  46. package/dist/core/code/process-detector.d.ts +11 -0
  47. package/dist/core/code/process-detector.d.ts.map +1 -0
  48. package/dist/core/code/process-detector.js +65 -0
  49. package/dist/core/code/process-detector.js.map +1 -0
  50. package/dist/core/code/ts-analyzer.d.ts +12 -0
  51. package/dist/core/code/ts-analyzer.d.ts.map +1 -0
  52. package/dist/core/code/ts-analyzer.js +331 -0
  53. package/dist/core/code/ts-analyzer.js.map +1 -0
  54. package/dist/core/config/ai-memory-generator.d.ts.map +1 -1
  55. package/dist/core/config/ai-memory-generator.js +149 -61
  56. package/dist/core/config/ai-memory-generator.js.map +1 -1
  57. package/dist/core/config/config-loader.d.ts.map +1 -1
  58. package/dist/core/config/config-loader.js +2 -10
  59. package/dist/core/config/config-loader.js.map +1 -1
  60. package/dist/core/config/config-schema.d.ts +1 -2
  61. package/dist/core/config/config-schema.d.ts.map +1 -1
  62. package/dist/core/config/config-schema.js +2 -3
  63. package/dist/core/config/config-schema.js.map +1 -1
  64. package/dist/core/context/compact-context.d.ts +51 -0
  65. package/dist/core/context/compact-context.d.ts.map +1 -1
  66. package/dist/core/context/compact-context.js +292 -0
  67. package/dist/core/context/compact-context.js.map +1 -1
  68. package/dist/core/context/context-assembler.d.ts +1 -1
  69. package/dist/core/context/context-assembler.js +1 -1
  70. package/dist/core/doctor/doctor-checks.d.ts +1 -1
  71. package/dist/core/doctor/doctor-checks.js +21 -21
  72. package/dist/core/doctor/doctor-checks.js.map +1 -1
  73. package/dist/core/insights/bottleneck-detector.js +1 -1
  74. package/dist/core/insights/bottleneck-detector.js.map +1 -1
  75. package/dist/core/integrations/enriched-context.d.ts +10 -6
  76. package/dist/core/integrations/enriched-context.d.ts.map +1 -1
  77. package/dist/core/integrations/enriched-context.js +35 -35
  78. package/dist/core/integrations/enriched-context.js.map +1 -1
  79. package/dist/core/integrations/integration-orchestrator.js +2 -2
  80. package/dist/core/integrations/integration-orchestrator.js.map +1 -1
  81. package/dist/core/integrations/mcp-deps-installer.d.ts +1 -1
  82. package/dist/core/integrations/mcp-deps-installer.d.ts.map +1 -1
  83. package/dist/core/integrations/mcp-deps-installer.js +1 -60
  84. package/dist/core/integrations/mcp-deps-installer.js.map +1 -1
  85. package/dist/core/integrations/mcp-servers-config.d.ts +1 -1
  86. package/dist/core/integrations/mcp-servers-config.d.ts.map +1 -1
  87. package/dist/core/integrations/mcp-servers-config.js +0 -17
  88. package/dist/core/integrations/mcp-servers-config.js.map +1 -1
  89. package/dist/core/integrations/tool-status.d.ts +8 -3
  90. package/dist/core/integrations/tool-status.d.ts.map +1 -1
  91. package/dist/core/integrations/tool-status.js +38 -48
  92. package/dist/core/integrations/tool-status.js.map +1 -1
  93. package/dist/core/memory/memory-migrator.d.ts +15 -0
  94. package/dist/core/memory/memory-migrator.d.ts.map +1 -0
  95. package/dist/core/memory/memory-migrator.js +64 -0
  96. package/dist/core/memory/memory-migrator.js.map +1 -0
  97. package/dist/core/memory/memory-reader.d.ts +30 -0
  98. package/dist/core/memory/memory-reader.d.ts.map +1 -0
  99. package/dist/core/memory/memory-reader.js +106 -0
  100. package/dist/core/memory/memory-reader.js.map +1 -0
  101. package/dist/core/planner/lifecycle-phase.d.ts +1 -0
  102. package/dist/core/planner/lifecycle-phase.d.ts.map +1 -1
  103. package/dist/core/planner/lifecycle-phase.js +11 -8
  104. package/dist/core/planner/lifecycle-phase.js.map +1 -1
  105. package/dist/core/rag/memory-indexer.d.ts +16 -0
  106. package/dist/core/rag/memory-indexer.d.ts.map +1 -0
  107. package/dist/core/rag/{serena-indexer.js → memory-indexer.js} +12 -12
  108. package/dist/core/rag/memory-indexer.js.map +1 -0
  109. package/dist/core/rag/{serena-rag-query.d.ts → memory-rag-query.d.ts} +11 -9
  110. package/dist/core/rag/memory-rag-query.d.ts.map +1 -0
  111. package/dist/core/rag/{serena-rag-query.js → memory-rag-query.js} +18 -15
  112. package/dist/core/rag/memory-rag-query.js.map +1 -0
  113. package/dist/core/rag/skill-indexer.d.ts +16 -0
  114. package/dist/core/rag/skill-indexer.d.ts.map +1 -0
  115. package/dist/core/rag/skill-indexer.js +98 -0
  116. package/dist/core/rag/skill-indexer.js.map +1 -0
  117. package/dist/core/skills/built-in-skills.d.ts +26 -0
  118. package/dist/core/skills/built-in-skills.d.ts.map +1 -0
  119. package/dist/core/skills/built-in-skills.js +203 -0
  120. package/dist/core/skills/built-in-skills.js.map +1 -0
  121. package/dist/core/store/knowledge-store.d.ts +1 -1
  122. package/dist/core/store/knowledge-store.js +1 -1
  123. package/dist/core/store/migrations.d.ts.map +1 -1
  124. package/dist/core/store/migrations.js +89 -0
  125. package/dist/core/store/migrations.js.map +1 -1
  126. package/dist/core/store/tool-token-store.d.ts +39 -0
  127. package/dist/core/store/tool-token-store.d.ts.map +1 -0
  128. package/dist/core/store/tool-token-store.js +79 -0
  129. package/dist/core/store/tool-token-store.js.map +1 -0
  130. package/dist/mcp/app-factory.d.ts +0 -1
  131. package/dist/mcp/app-factory.d.ts.map +1 -1
  132. package/dist/mcp/app-factory.js +2 -2
  133. package/dist/mcp/app-factory.js.map +1 -1
  134. package/dist/mcp/lifecycle-wrapper.d.ts +1 -0
  135. package/dist/mcp/lifecycle-wrapper.d.ts.map +1 -1
  136. package/dist/mcp/lifecycle-wrapper.js +21 -0
  137. package/dist/mcp/lifecycle-wrapper.js.map +1 -1
  138. package/dist/mcp/server.js +19 -14
  139. package/dist/mcp/server.js.map +1 -1
  140. package/dist/mcp/tools/index.d.ts.map +1 -1
  141. package/dist/mcp/tools/index.js +4 -0
  142. package/dist/mcp/tools/index.js.map +1 -1
  143. package/dist/mcp/tools/list-skills.d.ts +7 -0
  144. package/dist/mcp/tools/list-skills.d.ts.map +1 -0
  145. package/dist/mcp/tools/list-skills.js +68 -0
  146. package/dist/mcp/tools/list-skills.js.map +1 -0
  147. package/dist/mcp/tools/memory.d.ts +8 -0
  148. package/dist/mcp/tools/memory.d.ts.map +1 -0
  149. package/dist/mcp/tools/memory.js +106 -0
  150. package/dist/mcp/tools/memory.js.map +1 -0
  151. package/dist/mcp/tools/reindex-knowledge.d.ts.map +1 -1
  152. package/dist/mcp/tools/reindex-knowledge.js +11 -7
  153. package/dist/mcp/tools/reindex-knowledge.js.map +1 -1
  154. package/dist/schemas/knowledge.schema.d.ts +4 -0
  155. package/dist/schemas/knowledge.schema.d.ts.map +1 -1
  156. package/dist/schemas/knowledge.schema.js +1 -1
  157. package/dist/schemas/knowledge.schema.js.map +1 -1
  158. package/dist/web/dashboard/dist/assets/benchmark-tab-B5Sr8Cah.js +1 -0
  159. package/dist/web/dashboard/dist/assets/constants-kpH_c6vY.js +1 -0
  160. package/dist/web/dashboard/dist/assets/gitnexus-tab-DqmbSdzV.js +430 -0
  161. package/dist/web/dashboard/dist/assets/graph-tab-BKns5HdW.js +1 -0
  162. package/dist/web/dashboard/dist/assets/graph-utils-BxUWNvsI.js +7 -0
  163. package/dist/web/dashboard/dist/assets/index-CZOiKbTP.js +53 -0
  164. package/dist/web/dashboard/dist/assets/index-Dd4vKyDX.js +17 -0
  165. package/dist/web/dashboard/dist/assets/index-xyMN-_UV.css +1 -0
  166. package/dist/web/dashboard/dist/assets/insights-tab-B1kPckBM.js +52 -0
  167. package/dist/web/dashboard/dist/assets/{logs-tab-Cxpcv_ni.js → logs-tab-BWfsrRlB.js} +1 -1
  168. package/dist/web/dashboard/dist/assets/memories-tab-D3zm-1Sq.js +1 -0
  169. package/dist/web/dashboard/dist/assets/prd-backlog-tab-DXP4dFP-.js +1 -0
  170. package/dist/web/dashboard/dist/assets/skills-tab-CAlVL80S.js +1 -0
  171. package/dist/web/dashboard/dist/index.html +2 -2
  172. package/package.json +2 -2
  173. package/dist/api/routes/gitnexus.d.ts +0 -12
  174. package/dist/api/routes/gitnexus.d.ts.map +0 -1
  175. package/dist/api/routes/gitnexus.js +0 -164
  176. package/dist/api/routes/gitnexus.js.map +0 -1
  177. package/dist/core/integrations/gitnexus-launcher.d.ts +0 -67
  178. package/dist/core/integrations/gitnexus-launcher.d.ts.map +0 -1
  179. package/dist/core/integrations/gitnexus-launcher.js +0 -268
  180. package/dist/core/integrations/gitnexus-launcher.js.map +0 -1
  181. package/dist/core/integrations/gitnexus-queries.d.ts +0 -55
  182. package/dist/core/integrations/gitnexus-queries.d.ts.map +0 -1
  183. package/dist/core/integrations/gitnexus-queries.js +0 -168
  184. package/dist/core/integrations/gitnexus-queries.js.map +0 -1
  185. package/dist/core/integrations/serena-reader.d.ts +0 -18
  186. package/dist/core/integrations/serena-reader.d.ts.map +0 -1
  187. package/dist/core/integrations/serena-reader.js +0 -68
  188. package/dist/core/integrations/serena-reader.js.map +0 -1
  189. package/dist/core/rag/serena-indexer.d.ts +0 -16
  190. package/dist/core/rag/serena-indexer.d.ts.map +0 -1
  191. package/dist/core/rag/serena-indexer.js.map +0 -1
  192. package/dist/core/rag/serena-rag-query.d.ts.map +0 -1
  193. package/dist/core/rag/serena-rag-query.js.map +0 -1
  194. package/dist/web/dashboard/dist/assets/benchmark-tab-DE6hAHVG.js +0 -1
  195. package/dist/web/dashboard/dist/assets/constants-BIEJOBya.js +0 -1
  196. package/dist/web/dashboard/dist/assets/gitnexus-tab-DsBjJHx8.js +0 -312
  197. package/dist/web/dashboard/dist/assets/graph-tab-C09DzeZ_.js +0 -1
  198. package/dist/web/dashboard/dist/assets/graph-utils-D4LFspTf.js +0 -23
  199. package/dist/web/dashboard/dist/assets/index-B2fTJ4AS.js +0 -53
  200. package/dist/web/dashboard/dist/assets/index-CkqEqKiH.css +0 -1
  201. package/dist/web/dashboard/dist/assets/insights-tab-Bm7CDckb.js +0 -1
  202. package/dist/web/dashboard/dist/assets/prd-backlog-tab-X84Rj-IB.js +0 -1
  203. package/dist/web/dashboard/dist/assets/serena-tab-BunULNvw.js +0 -1
@@ -1,10 +1,12 @@
1
1
  /**
2
- * Enriched Context Builder — combines Serena memories with GitNexus data
2
+ * Enriched Context Builder — combines project memories with native Code Intelligence
3
3
  * for a unified symbol context. All data sourced locally.
4
4
  */
5
- import { readAllSerenaMemories } from "./serena-reader.js";
6
- import { isGitNexusRunning } from "./gitnexus-launcher.js";
5
+ import { readAllMemories } from "../memory/memory-reader.js";
6
+ import { migrateSerenaMemories } from "../memory/memory-migrator.js";
7
7
  import { logger } from "../utils/logger.js";
8
+ import { CodeStore } from "../code/code-store.js";
9
+ import { getSymbolContext } from "../code/graph-traversal.js";
8
10
  /**
9
11
  * Filter memories that mention the given symbol (case-insensitive).
10
12
  */
@@ -13,7 +15,6 @@ function filterRelevantMemories(memories, symbol) {
13
15
  return memories
14
16
  .filter((m) => m.content.toLowerCase().includes(lower))
15
17
  .map((m) => {
16
- // Extract relevant excerpt — lines containing the symbol
17
18
  const lines = m.content.split("\n");
18
19
  const relevant = lines.filter((l) => l.toLowerCase().includes(lower));
19
20
  const excerpt = relevant.slice(0, 5).join("\n") || m.content.slice(0, 200);
@@ -21,68 +22,67 @@ function filterRelevantMemories(memories, symbol) {
21
22
  });
22
23
  }
23
24
  /**
24
- * Try to fetch GitNexus context for a symbol.
25
+ * Query native Code Intelligence engine for symbol context.
25
26
  */
26
- async function fetchGitNexusContext(symbol, port) {
27
- const running = await isGitNexusRunning(port);
28
- if (!running) {
27
+ function fetchCodeContext(symbol, db, projectId) {
28
+ if (!db)
29
29
  return { available: false };
30
- }
31
30
  try {
32
- const res = await fetch(`http://localhost:${port}/api/context`, {
33
- method: "POST",
34
- headers: { "Content-Type": "application/json" },
35
- body: JSON.stringify({ symbol }),
36
- });
37
- if (!res.ok) {
38
- return { available: true, data: null };
39
- }
40
- const data = await res.json();
41
- return { available: true, data };
31
+ const codeStore = new CodeStore(db);
32
+ const meta = codeStore.getIndexMeta(projectId);
33
+ if (!meta)
34
+ return { available: false };
35
+ const context = getSymbolContext(codeStore, symbol, projectId);
36
+ return {
37
+ available: true,
38
+ data: context.symbols.length > 0 ? context : undefined,
39
+ };
42
40
  }
43
41
  catch {
44
42
  return { available: false };
45
43
  }
46
44
  }
47
45
  /**
48
- * Build enriched context for a symbol by combining Serena + GitNexus data.
46
+ * Build enriched context for a symbol by combining project memories + native Code Intelligence.
49
47
  */
50
- export async function buildEnrichedContext(symbol, basePath, gitnexusPort = 3737) {
48
+ export async function buildEnrichedContext(symbol, basePath, _unused, options) {
51
49
  logger.info("Building enriched context", { symbol, basePath });
50
+ // Lazy migration: copy .serena/memories → workflow-graph/memories if needed
51
+ await migrateSerenaMemories(basePath);
52
52
  // Fetch data from both sources in parallel
53
- const [memories, gitnexus] = await Promise.all([
54
- readAllSerenaMemories(basePath),
55
- fetchGitNexusContext(symbol, gitnexusPort),
53
+ const [memories, codeGraph] = await Promise.all([
54
+ readAllMemories(basePath),
55
+ Promise.resolve(fetchCodeContext(symbol, options?.db ?? null, options?.projectId ?? "default")),
56
56
  ]);
57
- const serenaAvailable = memories.length > 0;
57
+ const memoriesAvailable = memories.length > 0;
58
58
  const relevantMemories = filterRelevantMemories(memories, symbol);
59
59
  // Build combined summary
60
60
  const parts = [`Symbol: ${symbol}`];
61
61
  if (relevantMemories.length > 0) {
62
- parts.push(`\nSerena Memories (${relevantMemories.length} relevant):`);
62
+ parts.push(`\nMemories (${relevantMemories.length} relevant):`);
63
63
  for (const mem of relevantMemories) {
64
64
  parts.push(` [${mem.name}] ${mem.excerpt.split("\n")[0]}`);
65
65
  }
66
66
  }
67
- if (gitnexus.available && gitnexus.data) {
68
- parts.push("\nGitNexus Context: Available (see gitnexus.data)");
67
+ if (codeGraph.available && codeGraph.data) {
68
+ parts.push(`\nCode Graph: ${codeGraph.data.symbols.length} symbols, ${codeGraph.data.relations.length} relations`);
69
69
  }
70
- else if (!gitnexus.available) {
71
- parts.push("\nGitNexus: Not available");
70
+ else if (!codeGraph.available) {
71
+ parts.push("\nCode Intelligence: Not indexed. Run reindex first.");
72
72
  }
73
73
  const combined = parts.join("\n");
74
74
  logger.info("Enriched context built", {
75
75
  symbol,
76
- serenaMemories: relevantMemories.length,
77
- gitnexusAvailable: gitnexus.available,
76
+ memories: relevantMemories.length,
77
+ codeGraphAvailable: codeGraph.available,
78
78
  });
79
79
  return {
80
80
  symbol,
81
- serena: {
82
- available: serenaAvailable,
81
+ memories: {
82
+ available: memoriesAvailable,
83
83
  relevantMemories,
84
84
  },
85
- gitnexus,
85
+ codeGraph,
86
86
  combined,
87
87
  };
88
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enriched-context.js","sourceRoot":"","sources":["../../../src/core/integrations/enriched-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enriched-context.js","sourceRoot":"","sources":["../../../src/core/integrations/enriched-context.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export class IntegrationOrchestrator {
46
46
  getStatuses() {
47
47
  // Refresh document counts
48
48
  const knowledgeStore = new KnowledgeStore(this.store.getDb());
49
- const sourceTypes = ["upload", "serena", "code_context", "docs", "web_capture"];
49
+ const sourceTypes = ["upload", "memory", "serena", "code_context", "docs", "web_capture"];
50
50
  for (const st of sourceTypes) {
51
51
  const existing = this.statuses.get(st);
52
52
  if (existing) {
@@ -95,7 +95,7 @@ export class IntegrationOrchestrator {
95
95
  logger.info("Orchestrator: knowledge indexed", { source, count: event.payload.documentsIndexed });
96
96
  }
97
97
  initStatuses() {
98
- const sourceTypes = ["upload", "serena", "code_context", "docs", "web_capture"];
98
+ const sourceTypes = ["upload", "memory", "serena", "code_context", "docs", "web_capture"];
99
99
  const knowledgeStore = new KnowledgeStore(this.store.getDb());
100
100
  for (const st of sourceTypes) {
101
101
  this.statuses.set(st, {
@@ -1 +1 @@
1
- {"version":3,"file":"integration-orchestrator.js","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-orchestrator.js","sourceRoot":"","sources":["../../../src/core/integrations/integration-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAiB5C,MAAM,OAAO,uBAAuB;IAC1B,KAAK,CAAc;IACnB,QAAQ,CAAgB;IACxB,QAAQ,CAAS;IACjB,WAAW,CAAU;IACrB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAExD,YACE,KAAkB,EAClB,QAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;QAEhD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC7C,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,WAAW;QACT,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;QAEnG,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,KAAiB;QAC/C,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9D,sBAAsB;YACtB,MAAM,UAAU,GAAG,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAEnE,qBAAqB;YACrB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,cAAc,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAEvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,EAAE;gBAC3C,MAAM,EAAE,gBAAgB;gBACxB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS;aACtF,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;gBAC5C,WAAW,EAAE,UAAU,CAAC,gBAAgB;gBACxC,cAAc,EAAE,SAAS,CAAC,KAAK;gBAC/B,kBAAkB,EAAE,SAAS,CAAC,SAAS;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAiB;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpG,CAAC;IAEO,YAAY;QAClB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAU,CAAC;QACnG,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9D,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE;gBACpB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,MAAmC,EAAE,KAAc;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,QAAQ,CAAC,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrF,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * MCP dependencies installer.
3
- * Detects and installs ecosystem tools (GitNexus, Serena, Context7, Playwright).
3
+ * Detects ecosystem tools (Context7, Playwright).
4
4
  * Never throws — returns InstallResult[] with status for each dependency.
5
5
  */
6
6
  export type InstallStatus = "installed" | "already_available" | "skipped" | "failed";
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-deps-installer.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/mcp-deps-installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;AAiGD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAcnF"}
1
+ {"version":3,"file":"mcp-deps-installer.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/mcp-deps-installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAErF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E;AA0BD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAYnF"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * MCP dependencies installer.
3
- * Detects and installs ecosystem tools (GitNexus, Serena, Context7, Playwright).
3
+ * Detects ecosystem tools (Context7, Playwright).
4
4
  * Never throws — returns InstallResult[] with status for each dependency.
5
5
  */
6
6
  import { execFile } from "node:child_process";
@@ -20,63 +20,6 @@ export async function isCommandAvailable(command) {
20
20
  return false;
21
21
  }
22
22
  }
23
- /**
24
- * Run a shell command and return success/failure.
25
- */
26
- async function runCommand(cmd, args, timeoutMs = 60000) {
27
- try {
28
- const { stdout, stderr } = await execAsync(cmd, args, { timeout: timeoutMs });
29
- return { ok: true, output: stdout || stderr };
30
- }
31
- catch (err) {
32
- const message = err instanceof Error ? err.message : String(err);
33
- return { ok: false, output: message };
34
- }
35
- }
36
- async function checkGitNexus() {
37
- const name = "gitnexus";
38
- const available = await isCommandAvailable("gitnexus");
39
- if (available) {
40
- logger.info("GitNexus already available", { name });
41
- return { name, status: "already_available", message: "gitnexus command found in PATH" };
42
- }
43
- // Try to verify via npx
44
- const npxCheck = await runCommand("npx", ["-y", "gitnexus", "--version"], 30000);
45
- if (npxCheck.ok) {
46
- logger.success("GitNexus available via npx", { name });
47
- return { name, status: "already_available", message: "gitnexus available via npx" };
48
- }
49
- logger.warn("GitNexus not available", { name, error: npxCheck.output });
50
- return { name, status: "failed", message: `gitnexus not available: ${npxCheck.output}` };
51
- }
52
- async function checkSerena() {
53
- const name = "serena";
54
- // Check if uvx is available
55
- const uvxAvailable = await isCommandAvailable("uvx");
56
- if (uvxAvailable) {
57
- logger.info("uvx already available, Serena can be used", { name });
58
- return { name, status: "already_available", message: "uvx available — serena can run via uvx" };
59
- }
60
- // Check if pip/pip3 is available to install uvx
61
- const pipCmd = (await isCommandAvailable("pip3")) ? "pip3" : (await isCommandAvailable("pip")) ? "pip" : null;
62
- if (!pipCmd) {
63
- logger.warn("Python/pip not available, skipping Serena install", { name });
64
- return {
65
- name,
66
- status: "skipped",
67
- message: "Python/pip not available. Install Python 3 and run: pip install uvx",
68
- };
69
- }
70
- // Try to install uvx via pip
71
- logger.info("Installing uvx via pip", { name, pip: pipCmd });
72
- const uvxInstall = await runCommand(pipCmd, ["install", "uvx"], 120000);
73
- if (!uvxInstall.ok) {
74
- logger.warn("Failed to install uvx", { name, error: uvxInstall.output });
75
- return { name, status: "failed", message: `Failed to install uvx: ${uvxInstall.output}` };
76
- }
77
- logger.success("uvx installed, Serena ready", { name });
78
- return { name, status: "installed", message: "uvx installed via pip — serena ready" };
79
- }
80
23
  async function checkContext7() {
81
24
  const name = "context7";
82
25
  const npxAvailable = await isCommandAvailable("npx");
@@ -102,8 +45,6 @@ async function checkPlaywright() {
102
45
  export async function installAllMcpDeps(_basePath) {
103
46
  logger.info("Checking MCP ecosystem dependencies");
104
47
  const results = await Promise.all([
105
- checkGitNexus(),
106
- checkSerena(),
107
48
  checkContext7(),
108
49
  checkPlaywright(),
109
50
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-deps-installer.js","sourceRoot":"","sources":["../../../src/core/integrations/mcp-deps-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-deps-installer.js","sourceRoot":"","sources":["../../../src/core/integrations/mcp-deps-installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAUtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,MAAM,IAAI,GAAG,UAAU,CAAC;IAExB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;IAC1H,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,IAAI,GAAG,YAAY,CAAC;IAE1B,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;IAC1H,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChC,aAAa,EAAE;QACf,eAAe,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE5D,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Centralized MCP server configuration for all ecosystem tools.
3
3
  * Generates the complete .mcp.json config with all integrated servers.
4
4
  */
5
- export declare const MCP_SERVER_NAMES: readonly ["mcp-graph", "gitnexus", "serena", "context7", "playwright"];
5
+ export declare const MCP_SERVER_NAMES: readonly ["mcp-graph", "context7", "playwright"];
6
6
  export type McpServerName = (typeof MCP_SERVER_NAMES)[number];
7
7
  export interface McpServerEntry {
8
8
  command: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers-config.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/mcp-servers-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,wEAMnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C;AAkCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACnC,gBAAgB,CAUlB"}
1
+ {"version":3,"file":"mcp-servers-config.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/mcp-servers-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,gBAAgB,kDAInB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C;AAmBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACnC,gBAAgB,CAUlB"}
@@ -4,8 +4,6 @@
4
4
  */
5
5
  export const MCP_SERVER_NAMES = [
6
6
  "mcp-graph",
7
- "gitnexus",
8
- "serena",
9
7
  "context7",
10
8
  "playwright",
11
9
  ];
@@ -15,21 +13,6 @@ function getDefaultServers() {
15
13
  command: "npx",
16
14
  args: ["-y", "@mcp-graph-workflow/mcp-graph"],
17
15
  },
18
- gitnexus: {
19
- command: "npx",
20
- args: ["-y", "gitnexus", "mcp"],
21
- },
22
- serena: {
23
- command: "uvx",
24
- args: [
25
- "--from",
26
- "git+https://github.com/oraios/serena",
27
- "serena",
28
- "start-mcp-server",
29
- "--project",
30
- ".",
31
- ],
32
- },
33
16
  context7: {
34
17
  command: "npx",
35
18
  args: ["-y", "@upstash/context7-mcp"],
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-servers-config.js","sourceRoot":"","sources":["../../../src/core/integrations/mcp-servers-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,UAAU;IACV,QAAQ;IACR,UAAU;IACV,YAAY;CACJ,CAAC;AAcX,SAAS,iBAAiB;IACxB,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,+BAA+B,CAAC;SAC9C;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC;SAChC;QACD,MAAM,EAAE;YACN,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,QAAQ;gBACR,sCAAsC;gBACtC,QAAQ;gBACR,kBAAkB;gBAClB,WAAW;gBACX,GAAG;aACJ;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC;SACtC;QACD,UAAU,EAAE;YACV,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,wBAAwB,CAAC;SACjC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAoC;IAEpC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAmC,CAAC;IACvF,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO;QACL,UAAU,EAAE;YACV,GAAG,eAAe;YAClB,GAAG,cAAc;SAClB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mcp-servers-config.js","sourceRoot":"","sources":["../../../src/core/integrations/mcp-servers-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,WAAW;IACX,UAAU;IACV,YAAY;CACJ,CAAC;AAcX,SAAS,iBAAiB;IACxB,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,+BAA+B,CAAC;SAC9C;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,uBAAuB,CAAC;SACtC;QACD,UAAU,EAAE;YACV,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,wBAAwB,CAAC;SACjC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAoC;IAEpC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAmC,CAAC;IACvF,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,OAAO;QACL,UAAU,EAAE;YACV,GAAG,eAAe;YAClB,GAAG,cAAc;SAClB;KACF,CAAC;AACJ,CAAC"}
@@ -5,9 +5,14 @@ export interface ToolInfo {
5
5
  details?: Record<string, unknown>;
6
6
  }
7
7
  export interface IntegrationsStatus {
8
- gitnexus: ToolInfo;
9
- serena: ToolInfo & {
10
- memories: string[];
8
+ codeGraph: ToolInfo & {
9
+ symbolCount: number;
10
+ };
11
+ memories: {
12
+ available: boolean;
13
+ count: number;
14
+ directory: string;
15
+ names: string[];
11
16
  };
12
17
  playwright: ToolInfo;
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-status.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/tool-status.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1C,UAAU,EAAE,QAAQ,CAAC;CACtB;AAiED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+BzF"}
1
+ {"version":3,"file":"tool-status.d.ts","sourceRoot":"","sources":["../../../src/core/integrations/tool-status.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,QAAQ,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACpF,UAAU,EAAE,QAAQ,CAAC;CACtB;AAqDD;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4BzF"}
@@ -1,21 +1,8 @@
1
+ import { existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import Database from "better-sqlite3";
1
4
  import { logger } from "../utils/logger.js";
2
5
  import { whichCommand } from "../utils/platform.js";
3
- /**
4
- * Detect whether a local HTTP service is running by attempting a fetch.
5
- */
6
- async function probeHttp(url, timeoutMs = 2000) {
7
- try {
8
- const controller = new AbortController();
9
- const timer = setTimeout(() => controller.abort(), timeoutMs);
10
- const res = await fetch(url, { signal: controller.signal });
11
- clearTimeout(timer);
12
- return res.ok || res.status < 500;
13
- }
14
- catch (err) {
15
- logger.debug("probe:http:fail", { url, error: err instanceof Error ? err.message : String(err) });
16
- return false;
17
- }
18
- }
19
6
  /**
20
7
  * Check if a command-line tool is installed by looking for it in PATH.
21
8
  */
@@ -33,34 +20,40 @@ async function isCommandInstalled(command) {
33
20
  }
34
21
  }
35
22
  /**
36
- * Read Serena memory file names from .serena/memories/ directory.
23
+ * Read memory file names from workflow-graph/memories/ directory.
37
24
  */
38
- async function readSerenaMemories(basePath) {
25
+ async function readMemoryNames(basePath) {
39
26
  try {
40
- const path = await import("node:path");
41
- const { readdir } = await import("node:fs/promises");
42
- const memoriesDir = path.join(basePath, ".serena", "memories");
43
- const files = await readdir(memoriesDir);
44
- return files.filter((f) => f.endsWith(".md")).map((f) => f.replace(/\.md$/, ""));
27
+ const { listMemories } = await import("../memory/memory-reader.js");
28
+ return await listMemories(basePath);
45
29
  }
46
30
  catch (err) {
47
- logger.debug("serena:memories:fail", { error: err instanceof Error ? err.message : String(err) });
31
+ logger.debug("memories:list:fail", { error: err instanceof Error ? err.message : String(err) });
48
32
  return [];
49
33
  }
50
34
  }
51
35
  /**
52
- * Check if Serena is configured for this project.
36
+ * Check code graph index status from SQLite.
53
37
  */
54
- async function isSerenaConfigured(basePath) {
38
+ function getCodeGraphStatus(basePath) {
55
39
  try {
56
- const path = await import("node:path");
57
- const { access } = await import("node:fs/promises");
58
- await access(path.join(basePath, ".serena"));
59
- return true;
40
+ const dbPath = path.join(basePath, "workflow-graph", "graph.db");
41
+ if (!existsSync(dbPath))
42
+ return { indexed: false, symbolCount: 0 };
43
+ const db = new Database(dbPath, { readonly: true });
44
+ try {
45
+ const row = db.prepare("SELECT symbol_count FROM code_index_meta LIMIT 1").get();
46
+ return { indexed: !!row, symbolCount: row?.symbol_count ?? 0 };
47
+ }
48
+ catch {
49
+ return { indexed: false, symbolCount: 0 };
50
+ }
51
+ finally {
52
+ db.close();
53
+ }
60
54
  }
61
- catch (err) {
62
- logger.debug("serena:config:fail", { basePath, error: err instanceof Error ? err.message : String(err) });
63
- return false;
55
+ catch {
56
+ return { indexed: false, symbolCount: 0 };
64
57
  }
65
58
  }
66
59
  /**
@@ -68,25 +61,22 @@ async function isSerenaConfigured(basePath) {
68
61
  */
69
62
  export async function getIntegrationsStatus(basePath) {
70
63
  logger.info("Checking integrations status", { basePath });
71
- const GITNEXUS_PORT = parseInt(process.env.GITNEXUS_PORT || "3737", 10);
72
- const gitnexusUrl = `http://localhost:${GITNEXUS_PORT}`;
73
- const [gitnexusInstalled, gitnexusRunning, serenaConfigured, serenaMemories, playwrightInstalled] = await Promise.all([
74
- isCommandInstalled("gitnexus"),
75
- probeHttp(gitnexusUrl),
76
- isSerenaConfigured(basePath),
77
- readSerenaMemories(basePath),
64
+ const [memoryNames, playwrightInstalled] = await Promise.all([
65
+ readMemoryNames(basePath),
78
66
  isCommandInstalled("npx").then(() => true).catch(() => false),
79
67
  ]);
68
+ const codeGraphInfo = getCodeGraphStatus(basePath);
80
69
  return {
81
- gitnexus: {
82
- installed: gitnexusInstalled,
83
- running: gitnexusRunning,
84
- ...(gitnexusRunning ? { url: gitnexusUrl } : {}),
70
+ codeGraph: {
71
+ installed: true, // Native — always available
72
+ running: codeGraphInfo.indexed,
73
+ symbolCount: codeGraphInfo.symbolCount,
85
74
  },
86
- serena: {
87
- installed: serenaConfigured,
88
- running: serenaConfigured,
89
- memories: serenaMemories,
75
+ memories: {
76
+ available: memoryNames.length > 0,
77
+ count: memoryNames.length,
78
+ directory: "workflow-graph/memories",
79
+ names: memoryNames,
90
80
  },
91
81
  playwright: {
92
82
  installed: playwrightInstalled,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-status.js","sourceRoot":"","sources":["../../../src/core/integrations/tool-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-status.js","sourceRoot":"","sources":["../../../src/core/integrations/tool-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Memory Migrator — copies .serena/memories/ → workflow-graph/memories/.
3
+ * Skips files that already exist in target. Used for seamless transition
4
+ * from Serena MCP to native memory system.
5
+ */
6
+ export interface MigrationResult {
7
+ migrated: number;
8
+ skipped: number;
9
+ }
10
+ /**
11
+ * Migrate Serena memories from .serena/memories/ to workflow-graph/memories/.
12
+ * Files that already exist in the target are skipped (not overwritten).
13
+ */
14
+ export declare function migrateSerenaMemories(basePath: string): Promise<MigrationResult>;
15
+ //# sourceMappingURL=memory-migrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-migrator.d.ts","sourceRoot":"","sources":["../../../src/core/memory/memory-migrator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAyBD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAqCtF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Memory Migrator — copies .serena/memories/ → workflow-graph/memories/.
3
+ * Skips files that already exist in target. Used for seamless transition
4
+ * from Serena MCP to native memory system.
5
+ */
6
+ import path from "node:path";
7
+ import { readdir, readFile, writeFile, mkdir } from "node:fs/promises";
8
+ import { existsSync } from "node:fs";
9
+ import { logger } from "../utils/logger.js";
10
+ import { STORE_DIR } from "../utils/constants.js";
11
+ const SERENA_MEMORIES_DIR = ".serena/memories";
12
+ const TARGET_MEMORIES_DIR = "memories";
13
+ /**
14
+ * Recursively collect all .md file paths relative to root.
15
+ */
16
+ async function collectFiles(dir, root) {
17
+ const entries = await readdir(dir, { withFileTypes: true });
18
+ const results = [];
19
+ for (const entry of entries) {
20
+ const fullPath = path.join(dir, entry.name);
21
+ if (entry.isDirectory()) {
22
+ const nested = await collectFiles(fullPath, root);
23
+ results.push(...nested);
24
+ }
25
+ else if (entry.isFile() && entry.name.endsWith(".md")) {
26
+ results.push(path.relative(root, fullPath));
27
+ }
28
+ }
29
+ return results;
30
+ }
31
+ /**
32
+ * Migrate Serena memories from .serena/memories/ to workflow-graph/memories/.
33
+ * Files that already exist in the target are skipped (not overwritten).
34
+ */
35
+ export async function migrateSerenaMemories(basePath) {
36
+ const sourceDir = path.join(basePath, SERENA_MEMORIES_DIR);
37
+ const targetDir = path.join(basePath, STORE_DIR, TARGET_MEMORIES_DIR);
38
+ if (!existsSync(sourceDir)) {
39
+ return { migrated: 0, skipped: 0 };
40
+ }
41
+ let migrated = 0;
42
+ let skipped = 0;
43
+ const files = await collectFiles(sourceDir, sourceDir);
44
+ for (const relativePath of files) {
45
+ const sourcePath = path.join(sourceDir, relativePath);
46
+ const targetPath = path.join(targetDir, relativePath);
47
+ if (existsSync(targetPath)) {
48
+ skipped++;
49
+ continue;
50
+ }
51
+ const targetFileDir = path.dirname(targetPath);
52
+ if (!existsSync(targetFileDir)) {
53
+ await mkdir(targetFileDir, { recursive: true });
54
+ }
55
+ const content = await readFile(sourcePath, "utf-8");
56
+ await writeFile(targetPath, content, "utf-8");
57
+ migrated++;
58
+ }
59
+ if (migrated > 0) {
60
+ logger.info("Serena memories migrated", { migrated, skipped, from: sourceDir, to: targetDir });
61
+ }
62
+ return { migrated, skipped };
63
+ }
64
+ //# sourceMappingURL=memory-migrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-migrator.js","sourceRoot":"","sources":["../../../src/core/memory/memory-migrator.ts"],"names":[],"mappings":"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"}