crosscheck-mcp 0.2.11 → 0.2.13
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 +47 -11
- package/dist/browser-ext.cjs.map +1 -1
- package/dist/browser-ext.js +47 -11
- package/dist/browser-ext.js.map +1 -1
- package/dist/node-stdio.cjs +76 -11
- package/dist/node-stdio.cjs.map +1 -1
- package/dist/node-stdio.js +76 -11
- package/dist/node-stdio.js.map +1 -1
- package/dist/self-check.cjs +1000 -0
- package/dist/self-check.cjs.map +1 -0
- package/dist/self-check.d.cts +30 -0
- package/dist/self-check.d.ts +30 -0
- package/dist/self-check.js +977 -0
- package/dist/self-check.js.map +1 -0
- package/package.json +6 -1
package/dist/node-stdio.js
CHANGED
|
@@ -1952,6 +1952,28 @@ var DEFAULT_MODELS = {
|
|
|
1952
1952
|
kimi: "kimi-k3",
|
|
1953
1953
|
qwen: "qwen3.8-max"
|
|
1954
1954
|
};
|
|
1955
|
+
var MODEL_ENV_VARS = {
|
|
1956
|
+
anthropic: "ANTHROPIC_MODEL",
|
|
1957
|
+
openai: "OPENAI_MODEL",
|
|
1958
|
+
xai: "XAI_MODEL",
|
|
1959
|
+
mistral: "MISTRAL_MODEL",
|
|
1960
|
+
groq: "GROQ_MODEL",
|
|
1961
|
+
deepseek: "DEEPSEEK_MODEL",
|
|
1962
|
+
gemini: "GEMINI_MODEL",
|
|
1963
|
+
kimi: "KIMI_MODEL",
|
|
1964
|
+
qwen: "QWEN_MODEL"
|
|
1965
|
+
};
|
|
1966
|
+
function detectStalePins(env) {
|
|
1967
|
+
const out = [];
|
|
1968
|
+
for (const [provider, envVar] of Object.entries(MODEL_ENV_VARS)) {
|
|
1969
|
+
const pinned = env[envVar];
|
|
1970
|
+
const current = DEFAULT_MODELS[provider];
|
|
1971
|
+
if (pinned && current && pinned !== current) {
|
|
1972
|
+
out.push({ provider, envVar, pinned, current });
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1975
|
+
return out;
|
|
1976
|
+
}
|
|
1955
1977
|
function buildProviders(opts) {
|
|
1956
1978
|
const out = {};
|
|
1957
1979
|
const anthropicKey = opts.env["ANTHROPIC_API_KEY"];
|
|
@@ -2170,7 +2192,7 @@ import { z } from "zod";
|
|
|
2170
2192
|
// src/server-meta.ts
|
|
2171
2193
|
init_esm_shims();
|
|
2172
2194
|
var SERVER_NAME = "crosscheck-agent";
|
|
2173
|
-
var SERVER_VERSION = true ? "0.2.
|
|
2195
|
+
var SERVER_VERSION = true ? "0.2.13" : "0.0.0-dev";
|
|
2174
2196
|
|
|
2175
2197
|
// src/tools/audit.ts
|
|
2176
2198
|
init_esm_shims();
|
|
@@ -12481,7 +12503,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
|
|
|
12481
12503
|
var DEFAULT_PACKAGE = "crosscheck-cli";
|
|
12482
12504
|
var FETCH_TIMEOUT_MS = 3e3;
|
|
12483
12505
|
function engineVersion() {
|
|
12484
|
-
return true ? "0.2.
|
|
12506
|
+
return true ? "0.2.13" : "0.0.0-dev";
|
|
12485
12507
|
}
|
|
12486
12508
|
function defaultUpdateCachePath() {
|
|
12487
12509
|
const base = process.env["CROSSCHECK_DATA_DIR"] || path10.join(os.homedir() || os.tmpdir(), ".crosscheck");
|
|
@@ -13307,8 +13329,24 @@ function registerCoreTools(opts = {}) {
|
|
|
13307
13329
|
o.repoRoot,
|
|
13308
13330
|
o.workerToolsCfg
|
|
13309
13331
|
),
|
|
13310
|
-
triangulateTool(
|
|
13311
|
-
|
|
13332
|
+
triangulateTool(
|
|
13333
|
+
o.providers ?? {},
|
|
13334
|
+
o.providerAllowlist ?? null,
|
|
13335
|
+
o.bridge,
|
|
13336
|
+
o.storage,
|
|
13337
|
+
o.circuitBreakers,
|
|
13338
|
+
o.transcriptsDir,
|
|
13339
|
+
o.repoRoot
|
|
13340
|
+
),
|
|
13341
|
+
planTool(
|
|
13342
|
+
o.providers ?? {},
|
|
13343
|
+
o.providerAllowlist ?? null,
|
|
13344
|
+
o.bridge,
|
|
13345
|
+
o.storage,
|
|
13346
|
+
o.circuitBreakers,
|
|
13347
|
+
o.transcriptsDir,
|
|
13348
|
+
o.repoRoot
|
|
13349
|
+
),
|
|
13312
13350
|
critiqueTool(
|
|
13313
13351
|
o.providers ?? {},
|
|
13314
13352
|
o.providerAllowlist ?? null,
|
|
@@ -13318,7 +13356,15 @@ function registerCoreTools(opts = {}) {
|
|
|
13318
13356
|
o.transcriptsDir,
|
|
13319
13357
|
o.repoRoot
|
|
13320
13358
|
),
|
|
13321
|
-
reviewTool(
|
|
13359
|
+
reviewTool(
|
|
13360
|
+
o.providers ?? {},
|
|
13361
|
+
o.providerAllowlist ?? null,
|
|
13362
|
+
o.bridge,
|
|
13363
|
+
o.storage,
|
|
13364
|
+
o.circuitBreakers,
|
|
13365
|
+
o.transcriptsDir,
|
|
13366
|
+
o.repoRoot
|
|
13367
|
+
),
|
|
13322
13368
|
listProvidersTool(o.providers ?? {}, o.activeProviders ?? null, o.moderatorDefault ?? "anthropic"),
|
|
13323
13369
|
recallTool(o.storage, o.bridge),
|
|
13324
13370
|
sessionMemoryTool(o.storage, o.bridge),
|
|
@@ -13735,7 +13781,7 @@ function listProvidersTool(providers, activeProviders, moderatorDefault) {
|
|
|
13735
13781
|
})
|
|
13736
13782
|
};
|
|
13737
13783
|
}
|
|
13738
|
-
function reviewTool(providers, allowlist, bridge) {
|
|
13784
|
+
function reviewTool(providers, allowlist, bridge, storage, breakers, transcriptsDir, repoRoot) {
|
|
13739
13785
|
return {
|
|
13740
13786
|
name: "review",
|
|
13741
13787
|
description: "Have an LLM panel peer-review a code or proposal snippet. Returns the confer envelope (one answer per provider).",
|
|
@@ -13754,7 +13800,11 @@ function reviewTool(providers, allowlist, bridge) {
|
|
|
13754
13800
|
handler: (args) => runReview(args, {
|
|
13755
13801
|
providers,
|
|
13756
13802
|
allowlist,
|
|
13757
|
-
...bridge ? { bridge } : {}
|
|
13803
|
+
...bridge ? { bridge } : {},
|
|
13804
|
+
...storage ? { storage } : {},
|
|
13805
|
+
...breakers ? { breakers } : {},
|
|
13806
|
+
...transcriptsDir ? { transcriptsDir } : {},
|
|
13807
|
+
...repoRoot ? { repoRoot } : {}
|
|
13758
13808
|
})
|
|
13759
13809
|
};
|
|
13760
13810
|
}
|
|
@@ -13786,7 +13836,7 @@ function critiqueTool(providers, allowlist, bridge, storage, breakers, transcrip
|
|
|
13786
13836
|
})
|
|
13787
13837
|
};
|
|
13788
13838
|
}
|
|
13789
|
-
function planTool(providers, allowlist, bridge) {
|
|
13839
|
+
function planTool(providers, allowlist, bridge, storage, breakers, transcriptsDir, repoRoot) {
|
|
13790
13840
|
return {
|
|
13791
13841
|
name: "plan",
|
|
13792
13842
|
description: 'Have an LLM panel debate a step-by-step plan for the stated goal under the given constraints. Returns the debate envelope with a moderator-synthesised plan. Defaults to `mode: "fast"` (2 rounds + early_stop) \u2014 set `mode: "thorough"` for 5 rounds without early_stop. Explicit `max_rounds` / `early_stop` / `early_stop_threshold` always override the mode preset. Use `structured: true` for schema-validated synthesis.',
|
|
@@ -13813,11 +13863,15 @@ function planTool(providers, allowlist, bridge) {
|
|
|
13813
13863
|
handler: (args) => runPlan(args, {
|
|
13814
13864
|
providers,
|
|
13815
13865
|
allowlist,
|
|
13816
|
-
...bridge ? { bridge } : {}
|
|
13866
|
+
...bridge ? { bridge } : {},
|
|
13867
|
+
...storage ? { storage } : {},
|
|
13868
|
+
...breakers ? { breakers } : {},
|
|
13869
|
+
...transcriptsDir ? { transcriptsDir } : {},
|
|
13870
|
+
...repoRoot ? { repoRoot } : {}
|
|
13817
13871
|
})
|
|
13818
13872
|
};
|
|
13819
13873
|
}
|
|
13820
|
-
function triangulateTool(providers, allowlist, bridge) {
|
|
13874
|
+
function triangulateTool(providers, allowlist, bridge, storage, breakers, transcriptsDir, repoRoot) {
|
|
13821
13875
|
return {
|
|
13822
13876
|
name: "triangulate",
|
|
13823
13877
|
description: "Run a coordinate flow and reshape the output as a consensus + minority report with per-provider weights. v1 uses 1.0 weights (matches a fresh provider_stats DB); future versions thread real win-rate weights when the DB layer ports.",
|
|
@@ -13838,7 +13892,11 @@ function triangulateTool(providers, allowlist, bridge) {
|
|
|
13838
13892
|
handler: (args) => runTriangulate(args, {
|
|
13839
13893
|
providers,
|
|
13840
13894
|
allowlist,
|
|
13841
|
-
...bridge ? { bridge } : {}
|
|
13895
|
+
...bridge ? { bridge } : {},
|
|
13896
|
+
...storage ? { storage } : {},
|
|
13897
|
+
...breakers ? { breakers } : {},
|
|
13898
|
+
...transcriptsDir ? { transcriptsDir } : {},
|
|
13899
|
+
...repoRoot ? { repoRoot } : {}
|
|
13842
13900
|
})
|
|
13843
13901
|
};
|
|
13844
13902
|
}
|
|
@@ -14739,6 +14797,13 @@ async function main() {
|
|
|
14739
14797
|
if (Object.keys(providers).length > 0) {
|
|
14740
14798
|
process.stderr.write(
|
|
14741
14799
|
`crosscheck-agent: native providers loaded: ${Object.keys(providers).sort().join(", ")}
|
|
14800
|
+
`
|
|
14801
|
+
);
|
|
14802
|
+
}
|
|
14803
|
+
for (const stale of detectStalePins(process.env)) {
|
|
14804
|
+
if (!(stale.provider in providers)) continue;
|
|
14805
|
+
process.stderr.write(
|
|
14806
|
+
`crosscheck-agent: ${stale.provider} is pinned to "${stale.pinned}" via ${stale.envVar}, but the current default is "${stale.current}". If that wasn't intentional, update or remove ${stale.envVar} in your .env.
|
|
14742
14807
|
`
|
|
14743
14808
|
);
|
|
14744
14809
|
}
|