crosscheck-mcp 0.2.13 → 0.2.14
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 +23 -7
- package/dist/browser-ext.cjs.map +1 -1
- package/dist/browser-ext.js +23 -7
- package/dist/browser-ext.js.map +1 -1
- package/dist/node-stdio.cjs +23 -7
- package/dist/node-stdio.cjs.map +1 -1
- package/dist/node-stdio.js +23 -7
- package/dist/node-stdio.js.map +1 -1
- package/package.json +1 -1
package/dist/browser-ext.cjs
CHANGED
|
@@ -495,8 +495,21 @@ function isCreditsFailure(status, bodyText) {
|
|
|
495
495
|
}
|
|
496
496
|
return false;
|
|
497
497
|
}
|
|
498
|
-
|
|
498
|
+
var MODEL_ACCESS_RE = /model_not_found|does not have access to model|does not exist|model[\s_]not[\s_]found|invalid model|unknown model|unsupported model/i;
|
|
499
|
+
function isModelAccessFailure(status, bodyText) {
|
|
500
|
+
if (status < 400 || status >= 500) return false;
|
|
501
|
+
return MODEL_ACCESS_RE.test(bodyText);
|
|
502
|
+
}
|
|
503
|
+
function httpFailureToProviderError(provider, status, bodyText, retryAfterS, model) {
|
|
499
504
|
const detail = bodyText.slice(0, 512);
|
|
505
|
+
if (isModelAccessFailure(status, bodyText)) {
|
|
506
|
+
const modelRef = model ? `"${model}"` : "the configured model";
|
|
507
|
+
return new ProviderError(
|
|
508
|
+
"client",
|
|
509
|
+
`${provider}: your account/project doesn't have access to ${modelRef} (HTTP ${status}). This is a model-access problem, not a key problem \u2014 your ${provider} API key is fine, ${modelRef} just isn't enabled for this account/project. Fix: run \`crosscheck models set ${provider} <a-model-you-have-access-to>\` (or set ${provider.toUpperCase()}_MODEL in your .env until that's available). Detail: ${detail}`,
|
|
510
|
+
{ status }
|
|
511
|
+
);
|
|
512
|
+
}
|
|
500
513
|
if (isCreditsFailure(status, bodyText)) {
|
|
501
514
|
return new ProviderError(
|
|
502
515
|
"auth",
|
|
@@ -825,7 +838,7 @@ async function sendAnthropic(args) {
|
|
|
825
838
|
return { text, attempts: 1, usage: applyPricing(usage, args.pricing) };
|
|
826
839
|
}
|
|
827
840
|
const bodyText = await respLike.text().catch(() => "");
|
|
828
|
-
throw httpFailureToProviderError("anthropic", status, bodyText, parseRetryAfter(respLike));
|
|
841
|
+
throw httpFailureToProviderError("anthropic", status, bodyText, parseRetryAfter(respLike), args.model);
|
|
829
842
|
};
|
|
830
843
|
await acquireRateLimit("anthropic", args.signal ? { signal: args.signal } : void 0);
|
|
831
844
|
return sendWithRetry(attemptOnce, resolveRetryConfig(), args.signal);
|
|
@@ -1003,7 +1016,7 @@ async function sendGemini(args) {
|
|
|
1003
1016
|
return { text, attempts: 1, usage: applyPricing2(usage, args.pricing) };
|
|
1004
1017
|
}
|
|
1005
1018
|
const bodyText = await respLike.text().catch(() => "");
|
|
1006
|
-
throw httpFailureToProviderError("gemini", status, bodyText, parseRetryAfter(respLike));
|
|
1019
|
+
throw httpFailureToProviderError("gemini", status, bodyText, parseRetryAfter(respLike), args.model);
|
|
1007
1020
|
};
|
|
1008
1021
|
await acquireRateLimit("gemini", args.signal ? { signal: args.signal } : void 0);
|
|
1009
1022
|
return sendWithRetry(attemptOnce, resolveRetryConfig(), args.signal);
|
|
@@ -1176,7 +1189,7 @@ async function sendOpenAICompatible(args) {
|
|
|
1176
1189
|
return { text, attempts: 1, usage: applyPricing3(usage, args.pricing) };
|
|
1177
1190
|
}
|
|
1178
1191
|
const bodyText = await respLike.text().catch(() => "");
|
|
1179
|
-
throw httpFailureToProviderError(args.provider, status, bodyText, parseRetryAfter(respLike));
|
|
1192
|
+
throw httpFailureToProviderError(args.provider, status, bodyText, parseRetryAfter(respLike), args.model);
|
|
1180
1193
|
};
|
|
1181
1194
|
await acquireRateLimit(args.provider, args.signal ? { signal: args.signal } : void 0);
|
|
1182
1195
|
return sendWithRetry(attemptOnce, resolveRetryConfig(), args.signal);
|
|
@@ -1185,7 +1198,10 @@ async function sendOpenAICompatible(args) {
|
|
|
1185
1198
|
// src/providers/registry.ts
|
|
1186
1199
|
var DEFAULT_MODELS = {
|
|
1187
1200
|
anthropic: "claude-opus-5",
|
|
1188
|
-
|
|
1201
|
+
// gpt-5.5 is not enabled on every OpenAI account/project (some are still
|
|
1202
|
+
// capped at gpt-5) — gpt-5 is the safer, more broadly available default
|
|
1203
|
+
// until a user/org explicitly opts into 5.5 via `crosscheck models set`.
|
|
1204
|
+
openai: "gpt-5",
|
|
1189
1205
|
xai: "grok-4-latest",
|
|
1190
1206
|
mistral: "mistral-large-latest",
|
|
1191
1207
|
groq: "llama-3.3-70b-versatile",
|
|
@@ -1280,7 +1296,7 @@ var import_zod = require("zod");
|
|
|
1280
1296
|
|
|
1281
1297
|
// src/server-meta.ts
|
|
1282
1298
|
var SERVER_NAME = "crosscheck-agent";
|
|
1283
|
-
var SERVER_VERSION = true ? "0.2.
|
|
1299
|
+
var SERVER_VERSION = true ? "0.2.14" : "0.0.0-dev";
|
|
1284
1300
|
|
|
1285
1301
|
// src/tools/audit.ts
|
|
1286
1302
|
var import_node_fs4 = require("fs");
|
|
@@ -11490,7 +11506,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
|
|
|
11490
11506
|
var DEFAULT_PACKAGE = "crosscheck-cli";
|
|
11491
11507
|
var FETCH_TIMEOUT_MS = 3e3;
|
|
11492
11508
|
function engineVersion() {
|
|
11493
|
-
return true ? "0.2.
|
|
11509
|
+
return true ? "0.2.14" : "0.0.0-dev";
|
|
11494
11510
|
}
|
|
11495
11511
|
function defaultUpdateCachePath() {
|
|
11496
11512
|
const base = process.env["CROSSCHECK_DATA_DIR"] || import_node_path12.default.join(import_node_os2.default.homedir() || import_node_os2.default.tmpdir(), ".crosscheck");
|