@rynfar/meridian 1.37.0 → 1.37.1
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.
|
@@ -16491,6 +16491,7 @@ function createProxyServer(config = {}) {
|
|
|
16491
16491
|
const serverVersion = finalConfig.version ?? "unknown";
|
|
16492
16492
|
restoreActiveProfile(finalConfig.profiles);
|
|
16493
16493
|
const sessionDiscoveredTools = new Map;
|
|
16494
|
+
const sessionToolCache = new Map;
|
|
16494
16495
|
const app = new Hono2;
|
|
16495
16496
|
app.use("*", cors());
|
|
16496
16497
|
app.use("/v1/*", requireAuth);
|
|
@@ -16767,13 +16768,23 @@ function createProxyServer(config = {}) {
|
|
|
16767
16768
|
const capturedToolUses = [];
|
|
16768
16769
|
const fileChanges = [];
|
|
16769
16770
|
let passthroughMcp;
|
|
16770
|
-
|
|
16771
|
-
|
|
16771
|
+
let requestTools = Array.isArray(body.tools) ? body.tools : [];
|
|
16772
|
+
if (passthrough && requestTools.length === 0 && profileSessionId) {
|
|
16773
|
+
const cached = sessionToolCache.get(profileSessionId);
|
|
16774
|
+
if (cached && cached.length > 0) {
|
|
16775
|
+
requestTools = cached;
|
|
16776
|
+
console.error(`[PROXY] ${requestMeta.requestId} tools_restored: client sent 0 tools but session had ${cached.length} — reusing cached tools to preserve prompt cache`);
|
|
16777
|
+
}
|
|
16778
|
+
}
|
|
16779
|
+
if (passthrough && requestTools.length > 0) {
|
|
16780
|
+
passthroughMcp = createPassthroughMcpServer(requestTools, adapter.getCoreToolNames?.());
|
|
16781
|
+
if (profileSessionId)
|
|
16782
|
+
sessionToolCache.set(profileSessionId, requestTools);
|
|
16772
16783
|
}
|
|
16773
16784
|
const hasDeferredTools = passthroughMcp?.hasDeferredTools ?? false;
|
|
16774
16785
|
const coreNames = adapter.getCoreToolNames?.();
|
|
16775
16786
|
const coreSet = coreNames ? new Set(coreNames.map((n) => n.toLowerCase())) : undefined;
|
|
16776
|
-
const deferredToolCount = hasDeferredTools &&
|
|
16787
|
+
const deferredToolCount = hasDeferredTools && requestTools.length > 0 ? requestTools.filter((t) => t.defer_loading === true || coreSet && !coreSet.has(String(t.name).toLowerCase())).length : 0;
|
|
16777
16788
|
if (hasDeferredTools) {
|
|
16778
16789
|
console.error(`[PROXY] ${requestMeta.requestId} deferred=${deferredToolCount}/${toolCount} tools (core: ${coreNames?.join(",") ?? "none"})`);
|
|
16779
16790
|
}
|
package/dist/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAyBvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAGzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AAkJ7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/proxy/server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAyBvD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAA+B,iBAAiB,EAAE,mBAAmB,EAAsC,MAAM,iBAAiB,CAAA;AAGzI,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,CAAA;AAkJ7B,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,WAAW,CAi4DhF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAiEhG"}
|
package/dist/server.js
CHANGED
package/package.json
CHANGED