@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.
- package/package.json +1 -1
- package/src/mcpServer.js +30 -13
package/package.json
CHANGED
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
|
-
|
|
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
|
-
|
|
1879
|
+
pResults.map(r => `${r.path || ""}:${r.start_line || 0}:${r.symbol || ""}`)
|
|
1875
1880
|
);
|
|
1876
|
-
for (const r of
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
1900
|
+
primary.count = Array.isArray(mergedArr) ? mergedArr.length : primary.count + additional.count;
|
|
1890
1901
|
}
|
|
1891
1902
|
} catch (_) {}
|
|
1892
1903
|
}
|
|
1893
1904
|
|
|
1894
|
-
|
|
1895
|
-
|
|
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(
|
|
1900
|
-
|
|
1901
|
-
if (
|
|
1902
|
-
|
|
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(
|
|
1926
|
+
final_results_count: Array.isArray(resultsArr) ? resultsArr.length : 0,
|
|
1910
1927
|
original_limit: originalLimit || null,
|
|
1911
1928
|
};
|
|
1912
1929
|
return JSON.stringify(primary);
|