crosscheck-mcp 0.2.23 → 0.2.25
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/browser-ext.cjs +36 -10
- package/dist/browser-ext.cjs.map +1 -1
- package/dist/browser-ext.js +36 -10
- package/dist/browser-ext.js.map +1 -1
- package/dist/embed.cjs +13563 -0
- package/dist/embed.cjs.map +1 -0
- package/dist/embed.d.cts +205 -0
- package/dist/embed.d.ts +205 -0
- package/dist/embed.js +13540 -0
- package/dist/embed.js.map +1 -0
- package/dist/node-stdio.cjs +36 -10
- package/dist/node-stdio.cjs.map +1 -1
- package/dist/node-stdio.d.cts +57 -57
- package/dist/node-stdio.d.ts +57 -57
- package/dist/node-stdio.js +36 -10
- package/dist/node-stdio.js.map +1 -1
- package/package.json +7 -2
package/dist/browser-ext.js
CHANGED
|
@@ -517,7 +517,7 @@ function defaultTransient(kind) {
|
|
|
517
517
|
var CREDIT_RE = /insufficient|no\s+credit|credits?|billing|quota|payment\s*required|exceeded your current quota|not\s+enough|fund|no active subscription|spend limit/i;
|
|
518
518
|
function isCreditsFailure(status, bodyText) {
|
|
519
519
|
if (status === 402) return true;
|
|
520
|
-
if (status === 401 || status === 403 || status ===
|
|
520
|
+
if (status === 401 || status === 403 || status === 400) {
|
|
521
521
|
return CREDIT_RE.test(bodyText);
|
|
522
522
|
}
|
|
523
523
|
return false;
|
|
@@ -554,7 +554,7 @@ function httpFailureToProviderError(provider, status, bodyText, retryAfterS, mod
|
|
|
554
554
|
if (status === 429) {
|
|
555
555
|
return new ProviderError(
|
|
556
556
|
"rate_limit",
|
|
557
|
-
`${provider}: rate limited (HTTP 429). Detail: ${detail}`,
|
|
557
|
+
`${provider}: rate limited (HTTP 429) \u2014 retrying with backoff. Note that some providers word a rate limit as a balance problem; check your balance before topping up. Detail: ${detail}`,
|
|
558
558
|
{ status, ...retryAfterS !== void 0 ? { retryAfterS } : {} }
|
|
559
559
|
);
|
|
560
560
|
}
|
|
@@ -1322,10 +1322,20 @@ function fallbackModelsFor(env, provider) {
|
|
|
1322
1322
|
if (pinned && pinned !== DEFAULT_MODELS[provider]) return [];
|
|
1323
1323
|
return DEFAULT_FALLBACKS[provider] ?? [];
|
|
1324
1324
|
}
|
|
1325
|
+
var DEFAULT_EXCLUDED_PROVIDERS = ["mistral", "groq"];
|
|
1326
|
+
function excludedProviders(env) {
|
|
1327
|
+
const parse = (v) => (v ?? "").split(",").map((x) => x.trim().toLowerCase()).filter((x) => x !== "");
|
|
1328
|
+
const excluded = new Set(
|
|
1329
|
+
parse(env["CROSSCHECK_EXCLUDE_PROVIDERS"]).length > 0 ? parse(env["CROSSCHECK_EXCLUDE_PROVIDERS"]) : DEFAULT_EXCLUDED_PROVIDERS
|
|
1330
|
+
);
|
|
1331
|
+
for (const name of parse(env["CROSSCHECK_ENABLE_PROVIDERS"])) excluded.delete(name);
|
|
1332
|
+
return excluded;
|
|
1333
|
+
}
|
|
1325
1334
|
function buildProviders(opts) {
|
|
1326
1335
|
const out = {};
|
|
1336
|
+
const excluded = excludedProviders(opts.env);
|
|
1327
1337
|
const anthropicKey = opts.env["ANTHROPIC_API_KEY"];
|
|
1328
|
-
if (anthropicKey) {
|
|
1338
|
+
if (anthropicKey && !excluded.has("anthropic")) {
|
|
1329
1339
|
const model = opts.env["ANTHROPIC_MODEL"] ?? DEFAULT_MODELS.anthropic;
|
|
1330
1340
|
out["anthropic"] = makeAnthropicProvider(model, anthropicKey, opts, fallbackModelsFor(opts.env, "anthropic"));
|
|
1331
1341
|
}
|
|
@@ -1341,11 +1351,12 @@ function buildProviders(opts) {
|
|
|
1341
1351
|
for (const s of openAiCompatSpec) {
|
|
1342
1352
|
const apiKey = opts.env[s.keyEnv];
|
|
1343
1353
|
if (!apiKey) continue;
|
|
1354
|
+
if (excluded.has(s.name)) continue;
|
|
1344
1355
|
const model = opts.env[s.modelEnv] ?? s.defaultModel;
|
|
1345
1356
|
out[s.name] = makeOpenAICompatibleProvider(s.name, model, apiKey, opts, fallbackModelsFor(opts.env, s.name));
|
|
1346
1357
|
}
|
|
1347
1358
|
const geminiKey = opts.env["GEMINI_API_KEY"];
|
|
1348
|
-
if (geminiKey) {
|
|
1359
|
+
if (geminiKey && !excluded.has("gemini")) {
|
|
1349
1360
|
const model = opts.env["GEMINI_MODEL"] ?? DEFAULT_MODELS.gemini;
|
|
1350
1361
|
out["gemini"] = makeGeminiProvider(model, geminiKey, opts, fallbackModelsFor(opts.env, "gemini"));
|
|
1351
1362
|
}
|
|
@@ -1411,7 +1422,7 @@ import { z } from "zod";
|
|
|
1411
1422
|
|
|
1412
1423
|
// src/server-meta.ts
|
|
1413
1424
|
var SERVER_NAME = "crosscheck-agent";
|
|
1414
|
-
var SERVER_VERSION = true ? "0.2.
|
|
1425
|
+
var SERVER_VERSION = true ? "0.2.25" : "0.0.0-dev";
|
|
1415
1426
|
|
|
1416
1427
|
// src/tools/audit.ts
|
|
1417
1428
|
import { readdirSync, readFileSync as readFileSync3, statSync } from "fs";
|
|
@@ -5150,11 +5161,20 @@ ${ctxBody}` });
|
|
|
5150
5161
|
});
|
|
5151
5162
|
};
|
|
5152
5163
|
const onAnswer = opts.onAnswer;
|
|
5153
|
-
const
|
|
5164
|
+
const onPanelistStart = opts.onPanelistStart;
|
|
5165
|
+
const workerCall = onAnswer || onPanelistStart ? async (p) => {
|
|
5166
|
+
if (onPanelistStart) {
|
|
5167
|
+
try {
|
|
5168
|
+
onPanelistStart(p.name, p.model);
|
|
5169
|
+
} catch {
|
|
5170
|
+
}
|
|
5171
|
+
}
|
|
5154
5172
|
const answer = await dispatchOne(p);
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5173
|
+
if (onAnswer) {
|
|
5174
|
+
try {
|
|
5175
|
+
onAnswer(answer, p.name);
|
|
5176
|
+
} catch {
|
|
5177
|
+
}
|
|
5158
5178
|
}
|
|
5159
5179
|
return answer;
|
|
5160
5180
|
} : dispatchOne;
|
|
@@ -9452,6 +9472,12 @@ ${prior.body}` });
|
|
|
9452
9472
|
content: `This is round ${rnd} of ${maxRounds}. Reply for this round.`
|
|
9453
9473
|
});
|
|
9454
9474
|
for (const p of selected) {
|
|
9475
|
+
if (opts.onPanelistStart) {
|
|
9476
|
+
try {
|
|
9477
|
+
opts.onPanelistStart(p.name, p.model, rnd);
|
|
9478
|
+
} catch {
|
|
9479
|
+
}
|
|
9480
|
+
}
|
|
9455
9481
|
const entry = await callPanelist(p, roundMessages);
|
|
9456
9482
|
const withRound = { ...entry, round: rnd };
|
|
9457
9483
|
transcript.push(withRound);
|
|
@@ -11901,7 +11927,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
|
|
|
11901
11927
|
var DEFAULT_PACKAGE = "crosscheck-cli";
|
|
11902
11928
|
var FETCH_TIMEOUT_MS = 3e3;
|
|
11903
11929
|
function engineVersion() {
|
|
11904
|
-
return true ? "0.2.
|
|
11930
|
+
return true ? "0.2.25" : "0.0.0-dev";
|
|
11905
11931
|
}
|
|
11906
11932
|
function defaultUpdateCachePath() {
|
|
11907
11933
|
const base = process.env["CROSSCHECK_DATA_DIR"] || path9.join(os.homedir() || os.tmpdir(), ".crosscheck");
|