crosscheck-mcp 0.1.1 → 0.1.2
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/dist/node-stdio.cjs +34 -1
- package/dist/node-stdio.cjs.map +1 -1
- package/dist/node-stdio.js +34 -1
- package/dist/node-stdio.js.map +1 -1
- package/package.json +1 -1
package/dist/node-stdio.cjs
CHANGED
|
@@ -5717,11 +5717,43 @@ Synthesize the node outputs into a single coherent deliverable. Preserve any [MI
|
|
|
5717
5717
|
{ role: "system", content: "You are the orchestrator. Combine node outputs into the final result." },
|
|
5718
5718
|
{ role: "user", content: recombinePrompt }
|
|
5719
5719
|
];
|
|
5720
|
-
|
|
5720
|
+
let synthProvider = moderator;
|
|
5721
|
+
let synthModel = null;
|
|
5722
|
+
if (cheapMode && opts.pricing) {
|
|
5723
|
+
const pick = selectForDifficulty({
|
|
5724
|
+
pricing: opts.pricing,
|
|
5725
|
+
tier: "med",
|
|
5726
|
+
availableProviders: cheapAvailable,
|
|
5727
|
+
providerWeights: cheapWeights,
|
|
5728
|
+
...cheapAllowOnly ? { allowOnly: cheapAllowOnly } : {}
|
|
5729
|
+
});
|
|
5730
|
+
for (const c of pick.scored) {
|
|
5731
|
+
if (isModelDead(c.provider, c.model)) continue;
|
|
5732
|
+
const base = opts.providers[c.provider];
|
|
5733
|
+
if (base) {
|
|
5734
|
+
synthProvider = retargetProvider(base, c.model);
|
|
5735
|
+
synthModel = `${c.provider}/${c.model}`;
|
|
5736
|
+
break;
|
|
5737
|
+
}
|
|
5738
|
+
}
|
|
5739
|
+
}
|
|
5740
|
+
let synthAns = await askOne(synthProvider, recMsgs, {
|
|
5721
5741
|
maxTokens,
|
|
5722
5742
|
temperature: 0.4,
|
|
5723
5743
|
purpose: "synth"
|
|
5724
5744
|
});
|
|
5745
|
+
if (synthAns.error !== void 0 && synthProvider !== moderator) {
|
|
5746
|
+
if (isDeadModelError(synthAns) && synthModel) {
|
|
5747
|
+
const [prov, mdl] = synthModel.split("/");
|
|
5748
|
+
if (prov && mdl) recordDeadModel(prov, mdl, synthAns.error ?? "");
|
|
5749
|
+
}
|
|
5750
|
+
synthAns = await askOne(moderator, recMsgs, {
|
|
5751
|
+
maxTokens,
|
|
5752
|
+
temperature: 0.4,
|
|
5753
|
+
purpose: "synth"
|
|
5754
|
+
});
|
|
5755
|
+
synthModel = null;
|
|
5756
|
+
}
|
|
5725
5757
|
const finalText = synthAns.error !== void 0 ? "" : synthAns.response ?? "";
|
|
5726
5758
|
const synthErr = synthAns.error;
|
|
5727
5759
|
const publicNodes = Object.keys(nodesById).map(
|
|
@@ -5745,6 +5777,7 @@ Synthesize the node outputs into a single coherent deliverable. Preserve any [MI
|
|
|
5745
5777
|
fail_fast: failFast,
|
|
5746
5778
|
cheap_mode: cheapMode
|
|
5747
5779
|
};
|
|
5780
|
+
if (synthModel) result["synth_model"] = synthModel;
|
|
5748
5781
|
if (synthErr) result["synth_error"] = synthErr;
|
|
5749
5782
|
if (plannerErrors.length > 0) result["planner_errors"] = plannerErrors;
|
|
5750
5783
|
if (unknownNames.length > 0) result["skipped_unknown_providers"] = unknownNames;
|