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.js
CHANGED
|
@@ -5695,11 +5695,43 @@ Synthesize the node outputs into a single coherent deliverable. Preserve any [MI
|
|
|
5695
5695
|
{ role: "system", content: "You are the orchestrator. Combine node outputs into the final result." },
|
|
5696
5696
|
{ role: "user", content: recombinePrompt }
|
|
5697
5697
|
];
|
|
5698
|
-
|
|
5698
|
+
let synthProvider = moderator;
|
|
5699
|
+
let synthModel = null;
|
|
5700
|
+
if (cheapMode && opts.pricing) {
|
|
5701
|
+
const pick = selectForDifficulty({
|
|
5702
|
+
pricing: opts.pricing,
|
|
5703
|
+
tier: "med",
|
|
5704
|
+
availableProviders: cheapAvailable,
|
|
5705
|
+
providerWeights: cheapWeights,
|
|
5706
|
+
...cheapAllowOnly ? { allowOnly: cheapAllowOnly } : {}
|
|
5707
|
+
});
|
|
5708
|
+
for (const c of pick.scored) {
|
|
5709
|
+
if (isModelDead(c.provider, c.model)) continue;
|
|
5710
|
+
const base = opts.providers[c.provider];
|
|
5711
|
+
if (base) {
|
|
5712
|
+
synthProvider = retargetProvider(base, c.model);
|
|
5713
|
+
synthModel = `${c.provider}/${c.model}`;
|
|
5714
|
+
break;
|
|
5715
|
+
}
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
let synthAns = await askOne(synthProvider, recMsgs, {
|
|
5699
5719
|
maxTokens,
|
|
5700
5720
|
temperature: 0.4,
|
|
5701
5721
|
purpose: "synth"
|
|
5702
5722
|
});
|
|
5723
|
+
if (synthAns.error !== void 0 && synthProvider !== moderator) {
|
|
5724
|
+
if (isDeadModelError(synthAns) && synthModel) {
|
|
5725
|
+
const [prov, mdl] = synthModel.split("/");
|
|
5726
|
+
if (prov && mdl) recordDeadModel(prov, mdl, synthAns.error ?? "");
|
|
5727
|
+
}
|
|
5728
|
+
synthAns = await askOne(moderator, recMsgs, {
|
|
5729
|
+
maxTokens,
|
|
5730
|
+
temperature: 0.4,
|
|
5731
|
+
purpose: "synth"
|
|
5732
|
+
});
|
|
5733
|
+
synthModel = null;
|
|
5734
|
+
}
|
|
5703
5735
|
const finalText = synthAns.error !== void 0 ? "" : synthAns.response ?? "";
|
|
5704
5736
|
const synthErr = synthAns.error;
|
|
5705
5737
|
const publicNodes = Object.keys(nodesById).map(
|
|
@@ -5723,6 +5755,7 @@ Synthesize the node outputs into a single coherent deliverable. Preserve any [MI
|
|
|
5723
5755
|
fail_fast: failFast,
|
|
5724
5756
|
cheap_mode: cheapMode
|
|
5725
5757
|
};
|
|
5758
|
+
if (synthModel) result["synth_model"] = synthModel;
|
|
5726
5759
|
if (synthErr) result["synth_error"] = synthErr;
|
|
5727
5760
|
if (plannerErrors.length > 0) result["planner_errors"] = plannerErrors;
|
|
5728
5761
|
if (unknownNames.length > 0) result["skipped_unknown_providers"] = unknownNames;
|