@context-engine-bridge/context-engine-mcp-bridge 0.0.59 → 0.0.60

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/mcpServer.js +30 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@context-engine-bridge/context-engine-mcp-bridge",
3
- "version": "0.0.59",
3
+ "version": "0.0.60",
4
4
  "description": "Context Engine MCP bridge (http/stdio proxy combining indexer + memory servers)",
5
5
  "bin": {
6
6
  "ctxce": "bin/ctxce.js",
package/src/mcpServer.js CHANGED
@@ -1869,44 +1869,61 @@ function _mergeResults(primaryText, additionalTexts) {
1869
1869
  const additional = JSON.parse(addText);
1870
1870
  if (!additional || !additional.ok) continue;
1871
1871
 
1872
- if (Array.isArray(primary.results) && Array.isArray(additional.results)) {
1872
+ const pResults = Array.isArray(primary.results) ? primary.results : (Array.isArray(primary.results_json) ? primary.results_json : null);
1873
+ const aResults = Array.isArray(additional.results) ? additional.results : (Array.isArray(additional.results_json) ? additional.results_json : null);
1874
+ if (pResults && aResults) {
1875
+ if (!Array.isArray(primary.results)) {
1876
+ primary.results_json = pResults;
1877
+ }
1873
1878
  const existingPaths = new Set(
1874
- primary.results.map(r => `${r.path || ""}:${r.start_line || 0}:${r.symbol || ""}`)
1879
+ pResults.map(r => `${r.path || ""}:${r.start_line || 0}:${r.symbol || ""}`)
1875
1880
  );
1876
- for (const r of additional.results) {
1881
+ for (const r of aResults) {
1877
1882
  const key = `${r.path || ""}:${r.start_line || 0}:${r.symbol || ""}`;
1878
1883
  if (!existingPaths.has(key)) {
1879
- primary.results.push(r);
1884
+ pResults.push(r);
1880
1885
  existingPaths.add(key);
1881
1886
  }
1882
1887
  }
1888
+ if (!Array.isArray(primary.results)) {
1889
+ primary.results_json = pResults;
1890
+ } else {
1891
+ primary.results = pResults;
1892
+ }
1883
1893
  }
1884
1894
 
1895
+ const mergedArr = Array.isArray(primary.results) ? primary.results : primary.results_json;
1885
1896
  if (typeof primary.total === "number" && typeof additional.total === "number") {
1886
- primary.total = primary.results ? primary.results.length : primary.total + additional.total;
1897
+ primary.total = Array.isArray(mergedArr) ? mergedArr.length : primary.total + additional.total;
1887
1898
  }
1888
1899
  if (typeof primary.count === "number" && typeof additional.count === "number") {
1889
- primary.count = primary.results ? primary.results.length : primary.count + additional.count;
1900
+ primary.count = Array.isArray(mergedArr) ? mergedArr.length : primary.count + additional.count;
1890
1901
  }
1891
1902
  } catch (_) {}
1892
1903
  }
1893
1904
 
1894
- if (Array.isArray(primary.results) && primary.results.length > 1) {
1895
- primary.results.sort((a, b) => (b.score || 0) - (a.score || 0));
1905
+ const resultsArr = Array.isArray(primary.results) ? primary.results : primary.results_json;
1906
+ if (Array.isArray(resultsArr) && resultsArr.length > 1) {
1907
+ resultsArr.sort((a, b) => (b.score || 0) - (a.score || 0));
1896
1908
  }
1897
1909
 
1898
1910
  const originalLimit = primary._original_limit;
1899
- if (originalLimit && Array.isArray(primary.results) && primary.results.length > originalLimit) {
1900
- primary.results = primary.results.slice(0, originalLimit);
1901
- if (typeof primary.total === "number") primary.total = primary.results.length;
1902
- if (typeof primary.count === "number") primary.count = primary.results.length;
1911
+ if (originalLimit && Array.isArray(resultsArr) && resultsArr.length > originalLimit) {
1912
+ const sliced = resultsArr.slice(0, originalLimit);
1913
+ if (Array.isArray(primary.results)) {
1914
+ primary.results = sliced;
1915
+ } else {
1916
+ primary.results_json = sliced;
1917
+ }
1918
+ if (typeof primary.total === "number") primary.total = sliced.length;
1919
+ if (typeof primary.count === "number") primary.count = sliced.length;
1903
1920
  }
1904
1921
 
1905
1922
  primary._cross_collection = true;
1906
1923
  primary._fanout_debug = {
1907
1924
  additional_texts_count: additionalTexts.length,
1908
1925
  additional_ok_count: additionalTexts.filter(t => { try { return JSON.parse(t).ok; } catch(_) { return false; } }).length,
1909
- final_results_count: Array.isArray(primary.results) ? primary.results.length : 0,
1926
+ final_results_count: Array.isArray(resultsArr) ? resultsArr.length : 0,
1910
1927
  original_limit: originalLimit || null,
1911
1928
  };
1912
1929
  return JSON.stringify(primary);