crosscheck-mcp 0.2.26 → 0.2.27
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 +86 -33
- package/dist/browser-ext.cjs.map +1 -1
- package/dist/browser-ext.js +86 -33
- package/dist/browser-ext.js.map +1 -1
- package/dist/embed.cjs +42 -19
- package/dist/embed.cjs.map +1 -1
- package/dist/embed.js +42 -19
- package/dist/embed.js.map +1 -1
- package/dist/node-stdio.cjs +44 -21
- package/dist/node-stdio.cjs.map +1 -1
- package/dist/node-stdio.js +44 -21
- package/dist/node-stdio.js.map +1 -1
- package/dist/pricing.json +44 -14
- package/package.json +1 -1
package/dist/browser-ext.js
CHANGED
|
@@ -77,10 +77,40 @@ var pricing_default = {
|
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
openai: {
|
|
80
|
+
"gpt-6-astra": {
|
|
81
|
+
prompt_per_1k: 0.01,
|
|
82
|
+
completion_per_1k: 0.05,
|
|
83
|
+
cached_per_1k: 1e-3
|
|
84
|
+
},
|
|
85
|
+
"gpt-6-sol": {
|
|
86
|
+
prompt_per_1k: 2e-3,
|
|
87
|
+
completion_per_1k: 0.01,
|
|
88
|
+
cached_per_1k: 2e-4
|
|
89
|
+
},
|
|
90
|
+
"gpt-6-luna": {
|
|
91
|
+
prompt_per_1k: 1e-4,
|
|
92
|
+
completion_per_1k: 5e-4,
|
|
93
|
+
cached_per_1k: 1e-5
|
|
94
|
+
},
|
|
95
|
+
"gpt-5.6-sol": {
|
|
96
|
+
prompt_per_1k: 4e-3,
|
|
97
|
+
completion_per_1k: 0.02,
|
|
98
|
+
cached_per_1k: 4e-4
|
|
99
|
+
},
|
|
100
|
+
"gpt-5.6-terra": {
|
|
101
|
+
prompt_per_1k: 2e-3,
|
|
102
|
+
completion_per_1k: 0.012,
|
|
103
|
+
cached_per_1k: 2e-4
|
|
104
|
+
},
|
|
105
|
+
"gpt-5.6-luna": {
|
|
106
|
+
prompt_per_1k: 2e-4,
|
|
107
|
+
completion_per_1k: 12e-4,
|
|
108
|
+
cached_per_1k: 2e-5
|
|
109
|
+
},
|
|
80
110
|
"gpt-5.6": {
|
|
81
|
-
prompt_per_1k:
|
|
82
|
-
completion_per_1k: 0.
|
|
83
|
-
cached_per_1k:
|
|
111
|
+
prompt_per_1k: 4e-3,
|
|
112
|
+
completion_per_1k: 0.02,
|
|
113
|
+
cached_per_1k: 4e-4
|
|
84
114
|
},
|
|
85
115
|
"gpt-5.5": {
|
|
86
116
|
prompt_per_1k: 5e-3,
|
|
@@ -93,9 +123,14 @@ var pricing_default = {
|
|
|
93
123
|
cached_per_1k: 125e-6
|
|
94
124
|
},
|
|
95
125
|
"gpt-5-mini": {
|
|
96
|
-
prompt_per_1k:
|
|
97
|
-
completion_per_1k:
|
|
98
|
-
cached_per_1k: 25e-
|
|
126
|
+
prompt_per_1k: 25e-5,
|
|
127
|
+
completion_per_1k: 2e-3,
|
|
128
|
+
cached_per_1k: 25e-6
|
|
129
|
+
},
|
|
130
|
+
"gpt-5-nano": {
|
|
131
|
+
prompt_per_1k: 5e-5,
|
|
132
|
+
completion_per_1k: 4e-4,
|
|
133
|
+
cached_per_1k: 5e-6
|
|
99
134
|
},
|
|
100
135
|
"gpt-4o": {
|
|
101
136
|
prompt_per_1k: 25e-4,
|
|
@@ -118,19 +153,14 @@ var pricing_default = {
|
|
|
118
153
|
cached_per_1k: 15e-4
|
|
119
154
|
},
|
|
120
155
|
o3: {
|
|
121
|
-
prompt_per_1k:
|
|
122
|
-
completion_per_1k:
|
|
123
|
-
cached_per_1k: 5e-
|
|
156
|
+
prompt_per_1k: 2e-3,
|
|
157
|
+
completion_per_1k: 8e-3,
|
|
158
|
+
cached_per_1k: 5e-4
|
|
124
159
|
},
|
|
125
160
|
"o3-mini": {
|
|
126
161
|
prompt_per_1k: 11e-4,
|
|
127
162
|
completion_per_1k: 44e-4,
|
|
128
163
|
cached_per_1k: 55e-5
|
|
129
|
-
},
|
|
130
|
-
"gpt-6-astra": {
|
|
131
|
-
prompt_per_1k: 0.01,
|
|
132
|
-
completion_per_1k: 0.05,
|
|
133
|
-
cached_per_1k: 1e-3
|
|
134
164
|
}
|
|
135
165
|
},
|
|
136
166
|
xai: {
|
|
@@ -1299,7 +1329,7 @@ async function sendOpenAICompatible(args) {
|
|
|
1299
1329
|
// src/providers/registry.ts
|
|
1300
1330
|
var DEFAULT_MODELS = {
|
|
1301
1331
|
anthropic: "claude-opus-5-5",
|
|
1302
|
-
openai: "gpt-
|
|
1332
|
+
openai: "gpt-6-sol",
|
|
1303
1333
|
xai: "grok-4-latest",
|
|
1304
1334
|
mistral: "mistral-large-latest",
|
|
1305
1335
|
groq: "llama-3.3-70b-versatile",
|
|
@@ -1445,7 +1475,7 @@ import { z } from "zod";
|
|
|
1445
1475
|
|
|
1446
1476
|
// src/server-meta.ts
|
|
1447
1477
|
var SERVER_NAME = "crosscheck-agent";
|
|
1448
|
-
var SERVER_VERSION = true ? "0.2.
|
|
1478
|
+
var SERVER_VERSION = true ? "0.2.27" : "0.0.0-dev";
|
|
1449
1479
|
|
|
1450
1480
|
// src/tools/audit.ts
|
|
1451
1481
|
import { readdirSync, readFileSync as readFileSync3, statSync } from "fs";
|
|
@@ -3019,13 +3049,25 @@ function numberOrNull(v) {
|
|
|
3019
3049
|
import { performance as performance2 } from "perf_hooks";
|
|
3020
3050
|
|
|
3021
3051
|
// src/core/co-reason.ts
|
|
3022
|
-
var CO_REASON_MODEL = "gpt-
|
|
3052
|
+
var CO_REASON_MODEL = "gpt-6-sol";
|
|
3053
|
+
var CO_REASON_ALTERNATE = "gpt-6-astra";
|
|
3054
|
+
var LABELS = {
|
|
3055
|
+
"gpt-6-sol": "GPT-6 Sol",
|
|
3056
|
+
"gpt-6-astra": "GPT-6 Astra",
|
|
3057
|
+
"gpt-5.6-sol": "GPT-5.6 Sol"
|
|
3058
|
+
};
|
|
3059
|
+
function coReasonLabel(model) {
|
|
3060
|
+
return LABELS[model] ?? model;
|
|
3061
|
+
}
|
|
3062
|
+
var CO_REASON_LABEL = coReasonLabel(CO_REASON_MODEL);
|
|
3023
3063
|
var CO_REASON_PROVIDER = "openai";
|
|
3024
|
-
|
|
3025
|
-
function pickCoReasoner(providers, upgradeRequested) {
|
|
3064
|
+
function pickCoReasoner(providers, upgradeRequested, openAiSeatModel) {
|
|
3026
3065
|
if (!upgradeRequested) return null;
|
|
3027
3066
|
const base = providers[CO_REASON_PROVIDER];
|
|
3028
|
-
|
|
3067
|
+
if (!base) return null;
|
|
3068
|
+
const seat = openAiSeatModel ?? base.model;
|
|
3069
|
+
const model = seat === CO_REASON_MODEL ? CO_REASON_ALTERNATE : CO_REASON_MODEL;
|
|
3070
|
+
return retargetProvider(base, model);
|
|
3029
3071
|
}
|
|
3030
3072
|
async function coReasonThenInject(opts) {
|
|
3031
3073
|
const { provider, messages, maxTokens } = opts;
|
|
@@ -3251,7 +3293,7 @@ function buildSuggestedUpgrade(toolName, assessment) {
|
|
|
3251
3293
|
model: UPGRADE_MODEL,
|
|
3252
3294
|
label: UPGRADE_LABEL,
|
|
3253
3295
|
reason: assessment.reason,
|
|
3254
|
-
how: `re-run \`${toolName}\` with reasoning:"max" (or upgrade:true) to route the lead reasoning seat to ${UPGRADE_LABEL}, and \u2014 when an OpenAI key is configured \u2014 add
|
|
3296
|
+
how: `re-run \`${toolName}\` with reasoning:"max" (or upgrade:true) to route the lead reasoning seat to ${UPGRADE_LABEL}, and \u2014 when an OpenAI key is configured \u2014 add an OpenAI second-opinion pass that ${UPGRADE_LABEL} weighs before finalizing (the result names which model ran). Other panel seats stay on their normal models.`
|
|
3255
3297
|
};
|
|
3256
3298
|
}
|
|
3257
3299
|
|
|
@@ -3554,8 +3596,9 @@ ${rubricText}`;
|
|
|
3554
3596
|
const upgradeRequested = isUpgradeRequested(args);
|
|
3555
3597
|
const upgraded = upgradeRequested && opts.providers["anthropic"] !== void 0;
|
|
3556
3598
|
const auditorForCall = upgraded ? retargetProvider(opts.providers["anthropic"], UPGRADE_MODEL) : auditor;
|
|
3599
|
+
const coProvider = pickCoReasoner(opts.providers, upgradeRequested);
|
|
3557
3600
|
const coReason = await coReasonThenInject({
|
|
3558
|
-
provider:
|
|
3601
|
+
provider: coProvider,
|
|
3559
3602
|
messages: msgs,
|
|
3560
3603
|
maxTokens: 2048,
|
|
3561
3604
|
purpose: "audit-coreason"
|
|
@@ -3639,7 +3682,7 @@ ${rubricText}`;
|
|
|
3639
3682
|
model: UPGRADE_MODEL,
|
|
3640
3683
|
label: UPGRADE_LABEL,
|
|
3641
3684
|
seat: "auditor",
|
|
3642
|
-
...coReasoned ? { co_reasoner: { model:
|
|
3685
|
+
...coReasoned ? { co_reasoner: { model: coProvider.model, label: coReasonLabel(coProvider.model) } } : {}
|
|
3643
3686
|
};
|
|
3644
3687
|
} else if (upgradeRequested) {
|
|
3645
3688
|
result["reasoning_upgrade"] = {
|
|
@@ -4370,8 +4413,12 @@ var SUPER_MODELS = {
|
|
|
4370
4413
|
// Fable 5.1 verified present on the account; 5 as the fallback for accounts
|
|
4371
4414
|
// that haven't been granted 5.1 yet.
|
|
4372
4415
|
anthropic: ["claude-fable-5-1", UPGRADE_MODEL],
|
|
4373
|
-
// Astra
|
|
4374
|
-
|
|
4416
|
+
// Astra is live (verified against the account's model list 2026-09-23).
|
|
4417
|
+
// The fallback is named explicitly rather than reusing CO_REASON_MODEL:
|
|
4418
|
+
// that constant means "OpenAI's top reasoning model" for the max-reasoning
|
|
4419
|
+
// co-reasoner, which is a different question from "what should super fall
|
|
4420
|
+
// back to". Sharing the symbol silently coupled two unrelated decisions.
|
|
4421
|
+
openai: ["gpt-6-astra", "gpt-6-sol"],
|
|
4375
4422
|
// Explicitly left as-is per product decision. Note grok-4-latest is not in
|
|
4376
4423
|
// xAI's published model list, but it resolves in practice — real panel calls
|
|
4377
4424
|
// on it succeeded as recently as 2026-08-30 — so it is an unlisted alias
|
|
@@ -7352,8 +7399,9 @@ ${recombineSys}` : recombineSys },
|
|
|
7352
7399
|
provider: synthProvider.name
|
|
7353
7400
|
} }
|
|
7354
7401
|
);
|
|
7402
|
+
const coProvider = pickCoReasoner(opts.providers, upgradeRequested);
|
|
7355
7403
|
const coReason = await coReasonThenInject({
|
|
7356
|
-
provider:
|
|
7404
|
+
provider: coProvider,
|
|
7357
7405
|
messages: recMsgs,
|
|
7358
7406
|
maxTokens,
|
|
7359
7407
|
purpose: "orchestrate-coreason"
|
|
@@ -7412,7 +7460,7 @@ ${recombineSys}` : recombineSys },
|
|
|
7412
7460
|
model: UPGRADE_MODEL,
|
|
7413
7461
|
label: UPGRADE_LABEL,
|
|
7414
7462
|
seat: "recombine/synthesis",
|
|
7415
|
-
...coReasoned ? { co_reasoner: { model:
|
|
7463
|
+
...coReasoned ? { co_reasoner: { model: coProvider.model, label: coReasonLabel(coProvider.model) } } : {}
|
|
7416
7464
|
};
|
|
7417
7465
|
} else if (upgradeRequested) {
|
|
7418
7466
|
result["reasoning_upgrade"] = {
|
|
@@ -8758,8 +8806,9 @@ CRITIQUES:
|
|
|
8758
8806
|
${critiqueBlock}`
|
|
8759
8807
|
}
|
|
8760
8808
|
];
|
|
8809
|
+
const coProvider = pickCoReasoner(opts.providers, upgradeRequested);
|
|
8761
8810
|
const coReason = await coReasonThenInject({
|
|
8762
|
-
provider:
|
|
8811
|
+
provider: coProvider,
|
|
8763
8812
|
messages: synthMessages,
|
|
8764
8813
|
maxTokens,
|
|
8765
8814
|
purpose: "coordinate-coreason"
|
|
@@ -8823,7 +8872,7 @@ ${critiqueBlock}`
|
|
|
8823
8872
|
model: superRequested ? superPrimary("anthropic") ?? UPGRADE_MODEL : UPGRADE_MODEL,
|
|
8824
8873
|
label: UPGRADE_LABEL,
|
|
8825
8874
|
seat: "synthesizer",
|
|
8826
|
-
...coReasonAns ? { co_reasoner: { model:
|
|
8875
|
+
...coReasonAns ? { co_reasoner: { model: coProvider.model, label: coReasonLabel(coProvider.model) } } : {}
|
|
8827
8876
|
};
|
|
8828
8877
|
} else if (upgradeRequested) {
|
|
8829
8878
|
result["reasoning_upgrade"] = {
|
|
@@ -9545,6 +9594,7 @@ ${prior.body}` });
|
|
|
9545
9594
|
let synthesisErrors = [];
|
|
9546
9595
|
let personaMeta = null;
|
|
9547
9596
|
let coReasoned = false;
|
|
9597
|
+
let coReasonerModel = null;
|
|
9548
9598
|
if (moderator) {
|
|
9549
9599
|
const synthProvider = superRequested && opts.providers["anthropic"] ? retargetForSuper(opts.providers["anthropic"]) : upgraded ? retargetProvider(opts.providers["anthropic"], UPGRADE_MODEL) : moderator;
|
|
9550
9600
|
const condensed = buildModeratorTranscript(transcript);
|
|
@@ -9572,13 +9622,16 @@ TRANSCRIPT:
|
|
|
9572
9622
|
${condensed}`
|
|
9573
9623
|
}
|
|
9574
9624
|
];
|
|
9625
|
+
const openAiSeat = selected.find((p) => p.name === "openai")?.model;
|
|
9626
|
+
const coProvider = pickCoReasoner(opts.providers, upgradeRequested, openAiSeat);
|
|
9575
9627
|
const coReason = await coReasonThenInject({
|
|
9576
|
-
provider:
|
|
9628
|
+
provider: coProvider,
|
|
9577
9629
|
messages: synthMessages,
|
|
9578
9630
|
maxTokens,
|
|
9579
9631
|
purpose: "debate-coreason"
|
|
9580
9632
|
});
|
|
9581
9633
|
synthMessages = coReason.messages;
|
|
9634
|
+
coReasonerModel = coProvider?.model ?? null;
|
|
9582
9635
|
if (coReason.answer) extraAnswers.push(coReason.answer);
|
|
9583
9636
|
coReasoned = coReason.answer !== null;
|
|
9584
9637
|
if (structuredOpt) {
|
|
@@ -9637,7 +9690,7 @@ ${condensed}`
|
|
|
9637
9690
|
model: superRequested ? superPrimary("anthropic") ?? UPGRADE_MODEL : UPGRADE_MODEL,
|
|
9638
9691
|
label: UPGRADE_LABEL,
|
|
9639
9692
|
seat: "moderator synthesis",
|
|
9640
|
-
...coReasoned ? { co_reasoner: { model:
|
|
9693
|
+
...coReasoned && coReasonerModel ? { co_reasoner: { model: coReasonerModel, label: coReasonLabel(coReasonerModel) } } : {}
|
|
9641
9694
|
};
|
|
9642
9695
|
} else if (upgradeRequested) {
|
|
9643
9696
|
result["reasoning_upgrade"] = {
|
|
@@ -11661,7 +11714,7 @@ Re-emit the FULL solution. No commentary.`
|
|
|
11661
11714
|
model: UPGRADE_MODEL,
|
|
11662
11715
|
label: UPGRADE_LABEL,
|
|
11663
11716
|
seat: "solver",
|
|
11664
|
-
...coReasoned ? { co_reasoner: { model:
|
|
11717
|
+
...coReasoned ? { co_reasoner: { model: coProvider.model, label: coReasonLabel(coProvider.model) } } : {}
|
|
11665
11718
|
};
|
|
11666
11719
|
} else if (upgradeRequested) {
|
|
11667
11720
|
result["reasoning_upgrade"] = {
|
|
@@ -11950,7 +12003,7 @@ var CHECK_INTERVAL_SECONDS = 3 * 24 * 60 * 60;
|
|
|
11950
12003
|
var DEFAULT_PACKAGE = "crosscheck-cli";
|
|
11951
12004
|
var FETCH_TIMEOUT_MS = 3e3;
|
|
11952
12005
|
function engineVersion() {
|
|
11953
|
-
return true ? "0.2.
|
|
12006
|
+
return true ? "0.2.27" : "0.0.0-dev";
|
|
11954
12007
|
}
|
|
11955
12008
|
function defaultUpdateCachePath() {
|
|
11956
12009
|
const base = process.env["CROSSCHECK_DATA_DIR"] || path9.join(os.homedir() || os.tmpdir(), ".crosscheck");
|