crosscheck-cli 0.0.53 → 0.0.54
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/config.js +1 -1
- package/dist/doctor.js +2 -1
- package/dist/doctor.js.map +1 -1
- package/dist/mcp.js +12 -1
- package/dist/mcp.js.map +1 -1
- package/dist/model-prefs.js +63 -19
- package/dist/model-prefs.js.map +1 -1
- package/dist/model-resolve.js +19 -3
- package/dist/model-resolve.js.map +1 -1
- package/dist/models-cli.js +46 -12
- package/dist/models-cli.js.map +1 -1
- package/package.json +2 -2
package/dist/config.js
CHANGED
|
@@ -31,7 +31,7 @@ export const ENGINE_PACKAGE = "crosscheck-mcp";
|
|
|
31
31
|
* mode behind "MCP error -32000: Connection closed" on some machines). Keep
|
|
32
32
|
* this in lockstep with the `crosscheck-mcp` dependency in package.json.
|
|
33
33
|
*/
|
|
34
|
-
export const ENGINE_FALLBACK_VERSION = "0.2.
|
|
34
|
+
export const ENGINE_FALLBACK_VERSION = "0.2.15";
|
|
35
35
|
/**
|
|
36
36
|
* Ed25519 public key (PEM, SPKI) used to verify activation JWTs. This is
|
|
37
37
|
* replaced at build time by the publish pipeline with the public half of
|
package/dist/doctor.js
CHANGED
|
@@ -293,7 +293,8 @@ export async function runDoctor() {
|
|
|
293
293
|
`\`crosscheck models get ${r.provider}\` for detail, or ask your admin to set a fallback.`);
|
|
294
294
|
}
|
|
295
295
|
else if (r.model) {
|
|
296
|
-
|
|
296
|
+
const fallbacks = r.fallbackModels.length > 0 ? `, fallbacks: ${r.fallbackModels.join(", ")}` : "";
|
|
297
|
+
line("ok", `${r.provider} model: ${r.model} (${r.source}${fallbacks})`);
|
|
297
298
|
}
|
|
298
299
|
}
|
|
299
300
|
}
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
CHANGED
|
@@ -216,7 +216,11 @@ export async function startMcpServer(opts) {
|
|
|
216
216
|
// browser at /account/models) > org model policy's fallback. Applied by
|
|
217
217
|
// SETTING or DELETING the env var outright (never left to spread-with-
|
|
218
218
|
// undefined semantics) so a policy-blocked preference can't leak through
|
|
219
|
-
// via the inherited process.env spread above.
|
|
219
|
+
// via the inherited process.env spread above. Also sets
|
|
220
|
+
// <PROVIDER>_MODEL_FALLBACKS — "greenlight fallbacks" the engine tries,
|
|
221
|
+
// in order, only on a model-access failure (crosscheck-mcp's core/
|
|
222
|
+
// model-fallback.ts) — layered from the user's own configured chain
|
|
223
|
+
// plus any org-allowed models not already in it.
|
|
220
224
|
const configuredProviders = new Set(KEY_BINDINGS.filter(([, envVar]) => envVar in keys).map(([name]) => name.slice("key:".length)));
|
|
221
225
|
const resolvedModels = resolveAllModels({
|
|
222
226
|
env: process.env,
|
|
@@ -235,6 +239,13 @@ export async function startMcpServer(opts) {
|
|
|
235
239
|
else {
|
|
236
240
|
delete env[modelEnvVar];
|
|
237
241
|
}
|
|
242
|
+
const fallbacksEnvVar = `${modelEnvVar}_FALLBACKS`;
|
|
243
|
+
if (r.fallbackModels.length > 0) {
|
|
244
|
+
env[fallbacksEnvVar] = r.fallbackModels.join(",");
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
delete env[fallbacksEnvVar];
|
|
248
|
+
}
|
|
238
249
|
}
|
|
239
250
|
const child = spawn(command, args, { env, stdio: "inherit" });
|
|
240
251
|
// Keep the activation alive for the life of this serve process: fire a
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/model-prefs.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Personal model-preference storage + sync. Works on ANY tier — standard
|
|
3
3
|
* or enterprise — unlike enterprise/policy.ts's org-wide provider policy.
|
|
4
|
-
* Set locally via `crosscheck models set <provider> <model
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Set locally via `crosscheck models set <provider> <model>` (pins the
|
|
5
|
+
* max/primary model) and `crosscheck models fallback <provider> <model>`
|
|
6
|
+
* (greenlights a fallback), or from the browser at crosscheckagent.com/
|
|
7
|
+
* account/models; each side best-effort pushes to the other so either one
|
|
8
|
+
* reflects the current chain.
|
|
7
9
|
*
|
|
8
10
|
* Deliberately fails OPEN (falls back to whatever's cached locally, or no
|
|
9
11
|
* preference at all) rather than restrictive, unlike the enterprise policy
|
|
@@ -19,14 +21,27 @@ import { dataDir } from "./keychain.js";
|
|
|
19
21
|
function cachePath() {
|
|
20
22
|
return path.join(dataDir(), "model-prefs.json");
|
|
21
23
|
}
|
|
24
|
+
/** Accepts both the current shape (string[] chains) and the original
|
|
25
|
+
* single-string shape from before fallback chains existed, so an
|
|
26
|
+
* already-written model-prefs.json from an older CLI still loads. */
|
|
27
|
+
function normalize(parsed) {
|
|
28
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
|
|
29
|
+
return {};
|
|
30
|
+
const out = {};
|
|
31
|
+
for (const [provider, value] of Object.entries(parsed)) {
|
|
32
|
+
if (typeof value === "string") {
|
|
33
|
+
out[provider] = [value];
|
|
34
|
+
}
|
|
35
|
+
else if (Array.isArray(value) && value.every((v) => typeof v === "string")) {
|
|
36
|
+
out[provider] = value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
22
41
|
export function readLocalModelPrefs() {
|
|
23
42
|
try {
|
|
24
43
|
const raw = readFileSync(cachePath(), "utf8");
|
|
25
|
-
|
|
26
|
-
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
27
|
-
return parsed;
|
|
28
|
-
}
|
|
29
|
-
return {};
|
|
44
|
+
return normalize(JSON.parse(raw));
|
|
30
45
|
}
|
|
31
46
|
catch {
|
|
32
47
|
return {};
|
|
@@ -40,11 +55,40 @@ function writeLocalModelPrefs(prefs) {
|
|
|
40
55
|
// best-effort — a failed write just means the next read sees stale data
|
|
41
56
|
}
|
|
42
57
|
}
|
|
58
|
+
/** Pins the max/primary model (chain position 0), keeping any existing
|
|
59
|
+
* fallbacks for that provider unchanged. */
|
|
43
60
|
export function setLocalModelPref(provider, model) {
|
|
44
|
-
const
|
|
61
|
+
const existing = readLocalModelPrefs()[provider] ?? [];
|
|
62
|
+
// Promote `model` to position 0; keep the rest of the existing chain as
|
|
63
|
+
// fallbacks, minus `model` itself (in case it was already in there).
|
|
64
|
+
const next = { ...readLocalModelPrefs(), [provider]: [model, ...existing.filter((m) => m !== model)] };
|
|
65
|
+
writeLocalModelPrefs(next);
|
|
66
|
+
return next;
|
|
67
|
+
}
|
|
68
|
+
/** Greenlights a fallback model — appended after the primary and any
|
|
69
|
+
* earlier fallbacks, unless it's already in the chain. Setting a
|
|
70
|
+
* fallback for a provider with no primary yet is fine; the fallback
|
|
71
|
+
* chain still works once a primary is set (or the engine default acts
|
|
72
|
+
* as the de-facto primary). */
|
|
73
|
+
export function addLocalModelFallback(provider, model) {
|
|
74
|
+
const existing = readLocalModelPrefs()[provider] ?? [];
|
|
75
|
+
if (existing.includes(model))
|
|
76
|
+
return readLocalModelPrefs();
|
|
77
|
+
const next = { ...readLocalModelPrefs(), [provider]: [...existing, model] };
|
|
78
|
+
writeLocalModelPrefs(next);
|
|
79
|
+
return next;
|
|
80
|
+
}
|
|
81
|
+
/** Removes one model from a provider's fallback chain — the primary
|
|
82
|
+
* (position 0) can be removed this way too, promoting the next entry. */
|
|
83
|
+
export function removeLocalModelFallback(provider, model) {
|
|
84
|
+
const existing = readLocalModelPrefs()[provider] ?? [];
|
|
85
|
+
const next = { ...readLocalModelPrefs(), [provider]: existing.filter((m) => m !== model) };
|
|
86
|
+
if (next[provider].length === 0)
|
|
87
|
+
delete next[provider];
|
|
45
88
|
writeLocalModelPrefs(next);
|
|
46
89
|
return next;
|
|
47
90
|
}
|
|
91
|
+
/** Clears a provider's whole chain (primary + fallbacks). */
|
|
48
92
|
export function unsetLocalModelPref(provider) {
|
|
49
93
|
const next = { ...readLocalModelPrefs() };
|
|
50
94
|
delete next[provider];
|
|
@@ -52,10 +96,10 @@ export function unsetLocalModelPref(provider) {
|
|
|
52
96
|
return next;
|
|
53
97
|
}
|
|
54
98
|
/**
|
|
55
|
-
* Pull the server-stored preference and merge
|
|
56
|
-
* server values win for keys it returns; existing local-only
|
|
57
|
-
* yet pushed, e.g. from an offline `models set`) are
|
|
58
|
-
* failure just returns whatever's already cached locally
|
|
99
|
+
* Pull the server-stored preference chains and merge them into the local
|
|
100
|
+
* cache — server values win for keys it returns; existing local-only
|
|
101
|
+
* entries (not yet pushed, e.g. from an offline `models set`) are
|
|
102
|
+
* preserved. Any failure just returns whatever's already cached locally.
|
|
59
103
|
*/
|
|
60
104
|
export async function syncModelPreferencesFromServer(jwt) {
|
|
61
105
|
try {
|
|
@@ -68,7 +112,7 @@ export async function syncModelPreferencesFromServer(jwt) {
|
|
|
68
112
|
const body = (await res.body.json());
|
|
69
113
|
if (!("ok" in body) || !body.ok)
|
|
70
114
|
return readLocalModelPrefs();
|
|
71
|
-
const merged = { ...readLocalModelPrefs(), ...body.preferences };
|
|
115
|
+
const merged = normalize({ ...readLocalModelPrefs(), ...body.preferences });
|
|
72
116
|
writeLocalModelPrefs(merged);
|
|
73
117
|
return merged;
|
|
74
118
|
}
|
|
@@ -76,15 +120,15 @@ export async function syncModelPreferencesFromServer(jwt) {
|
|
|
76
120
|
return readLocalModelPrefs();
|
|
77
121
|
}
|
|
78
122
|
}
|
|
79
|
-
/** Best-effort push of one provider
|
|
123
|
+
/** Best-effort push of one provider's whole chain to the server — a
|
|
80
124
|
* failure here only means the browser page won't reflect it until the
|
|
81
|
-
* next successful sync; the local
|
|
82
|
-
export async function pushModelPreferenceToServer(jwt, provider,
|
|
125
|
+
* next successful sync; the local change still takes effect immediately. */
|
|
126
|
+
export async function pushModelPreferenceToServer(jwt, provider, models) {
|
|
83
127
|
try {
|
|
84
128
|
const res = await request(`${SERVER_URL}/api/crosscheck/models`, {
|
|
85
129
|
method: "POST",
|
|
86
130
|
headers: { authorization: `Bearer ${jwt}`, "content-type": "application/json" },
|
|
87
|
-
body: JSON.stringify({ provider,
|
|
131
|
+
body: JSON.stringify({ provider, models }),
|
|
88
132
|
});
|
|
89
133
|
return res.statusCode === 200;
|
|
90
134
|
}
|
|
@@ -92,7 +136,7 @@ export async function pushModelPreferenceToServer(jwt, provider, model) {
|
|
|
92
136
|
return false;
|
|
93
137
|
}
|
|
94
138
|
}
|
|
95
|
-
/** Best-effort removal of one provider's
|
|
139
|
+
/** Best-effort removal of one provider's whole chain on the server. */
|
|
96
140
|
export async function deleteModelPreferenceOnServer(jwt, provider) {
|
|
97
141
|
try {
|
|
98
142
|
const res = await request(`${SERVER_URL}/api/crosscheck/models`, {
|
package/dist/model-prefs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-prefs.js","sourceRoot":"","sources":["../src/model-prefs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-prefs.js","sourceRoot":"","sources":["../src/model-prefs.ts"],"names":[],"mappings":"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"}
|
package/dist/model-resolve.js
CHANGED
|
@@ -10,7 +10,9 @@ import { resolveEffectiveModel } from "./model-policy.js";
|
|
|
10
10
|
/** CLI-canonical provider name -> the engine's `<PROVIDER>_MODEL` env var.
|
|
11
11
|
* Mirrors mcp.ts's KEY_BINDINGS pairing (same providers, same env-var
|
|
12
12
|
* prefixes, `_API_KEY` -> `_MODEL`) — kept here since both the env
|
|
13
|
-
* injection (mcp.ts) and the CLI/doctor display need it.
|
|
13
|
+
* injection (mcp.ts) and the CLI/doctor display need it. The engine
|
|
14
|
+
* reads the matching `<...>_MODEL_FALLBACKS` (comma-separated) itself —
|
|
15
|
+
* see crosscheck-mcp's providers/registry.ts. */
|
|
14
16
|
export const MODEL_ENV_VARS = {
|
|
15
17
|
anthropic: "ANTHROPIC_MODEL",
|
|
16
18
|
openai: "OPENAI_MODEL",
|
|
@@ -22,10 +24,22 @@ export const MODEL_ENV_VARS = {
|
|
|
22
24
|
kimi: "KIMI_MODEL",
|
|
23
25
|
qwen: "QWEN_MODEL",
|
|
24
26
|
};
|
|
27
|
+
function dedupeExcluding(models, exclude) {
|
|
28
|
+
const seen = new Set(exclude ? [exclude] : []);
|
|
29
|
+
const out = [];
|
|
30
|
+
for (const m of models) {
|
|
31
|
+
if (seen.has(m))
|
|
32
|
+
continue;
|
|
33
|
+
seen.add(m);
|
|
34
|
+
out.push(m);
|
|
35
|
+
}
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
25
38
|
export function resolveModelForProvider(args) {
|
|
26
39
|
const envVar = MODEL_ENV_VARS[args.provider];
|
|
27
40
|
const envValue = envVar ? args.env[envVar] : undefined;
|
|
28
|
-
const
|
|
41
|
+
const localChain = args.localPrefs[args.provider] ?? [];
|
|
42
|
+
const candidate = envValue ?? localChain[0];
|
|
29
43
|
const policy = args.modelPolicy?.[args.provider];
|
|
30
44
|
const resolved = resolveEffectiveModel({ candidate, policy });
|
|
31
45
|
let source;
|
|
@@ -44,7 +58,9 @@ export function resolveModelForProvider(args) {
|
|
|
44
58
|
else {
|
|
45
59
|
source = "policy-fallback";
|
|
46
60
|
}
|
|
47
|
-
|
|
61
|
+
const policyAllowed = policy && Array.isArray(policy.allow) ? policy.allow : [];
|
|
62
|
+
const fallbackModels = dedupeExcluding([...localChain.slice(1), ...policyAllowed], resolved);
|
|
63
|
+
return { provider: args.provider, ...(resolved !== undefined ? { model: resolved } : {}), source, fallbackModels };
|
|
48
64
|
}
|
|
49
65
|
/** Resolves every canonical provider, regardless of whether it has a key
|
|
50
66
|
* configured — callers filter to "has a key" themselves (mcp.ts) or show
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolve.js","sourceRoot":"","sources":["../src/model-resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAoB,MAAM,mBAAmB,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"model-resolve.js","sourceRoot":"","sources":["../src/model-resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/models-cli.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `crosscheck models` — the terminal half of model selection (the other
|
|
3
3
|
* half is crosscheckagent.com/account/models and, for org-wide policy,
|
|
4
|
-
* /account/enterprise).
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* /account/enterprise). "Pin your max model, greenlight fallbacks": `set`
|
|
5
|
+
* pins the primary; `fallback` adds/removes greenlit fallbacks tried, in
|
|
6
|
+
* order, only when the primary comes back with a model-access failure
|
|
7
|
+
* (never for any other kind of error — see crosscheck-mcp's core/model-
|
|
8
|
+
* fallback.ts). See model-resolve.ts for the actual precedence — this
|
|
9
|
+
* file is purely command plumbing over it.
|
|
7
10
|
*/
|
|
8
11
|
import { getSecret } from "./keychain.js";
|
|
9
12
|
import { CANONICAL_PROVIDERS, resolveProvider } from "./key-format.js";
|
|
10
|
-
import { readLocalModelPrefs, setLocalModelPref, unsetLocalModelPref, syncModelPreferencesFromServer, pushModelPreferenceToServer, deleteModelPreferenceOnServer, } from "./model-prefs.js";
|
|
13
|
+
import { readLocalModelPrefs, setLocalModelPref, addLocalModelFallback, removeLocalModelFallback, unsetLocalModelPref, syncModelPreferencesFromServer, pushModelPreferenceToServer, deleteModelPreferenceOnServer, } from "./model-prefs.js";
|
|
11
14
|
import { fetchProviderPolicy } from "./enterprise/policy.js";
|
|
12
15
|
import { resolveAllModels, resolveModelForProvider } from "./model-resolve.js";
|
|
13
|
-
const USAGE = "usage: crosscheck models list|get <provider>|set <provider> <model
|
|
16
|
+
const USAGE = "usage: crosscheck models list|get <provider>|set <provider> <model>|\n" +
|
|
17
|
+
" fallback <provider> <model> [--remove]|unset <provider>|sync\n" +
|
|
14
18
|
` providers: ${CANONICAL_PROVIDERS.join(", ")}`;
|
|
15
19
|
/** Best-effort: only enterprise installs have a model policy at all, and
|
|
16
20
|
* only once signed in. A standard install (or one not yet activated)
|
|
@@ -38,6 +42,9 @@ function describeSource(source) {
|
|
|
38
42
|
return "engine default";
|
|
39
43
|
}
|
|
40
44
|
}
|
|
45
|
+
function formatFallbacks(r) {
|
|
46
|
+
return r.fallbackModels.length > 0 ? ` (fallbacks: ${r.fallbackModels.join(", ")})` : "";
|
|
47
|
+
}
|
|
41
48
|
function printList(results) {
|
|
42
49
|
const providerWidth = Math.max(...results.map((r) => r.provider.length), "provider".length);
|
|
43
50
|
const modelWidth = Math.max(...results.map((r) => (r.model ?? "(engine default)").length), "model".length);
|
|
@@ -46,9 +53,13 @@ function printList(results) {
|
|
|
46
53
|
for (const r of results) {
|
|
47
54
|
const model = r.model ?? "(engine default)";
|
|
48
55
|
// eslint-disable-next-line no-console
|
|
49
|
-
console.log(`${r.provider.padEnd(providerWidth)} ${model.padEnd(modelWidth)} ${describeSource(r.source)}`);
|
|
56
|
+
console.log(`${r.provider.padEnd(providerWidth)} ${model.padEnd(modelWidth)} ${describeSource(r.source)}${formatFallbacks(r)}`);
|
|
50
57
|
}
|
|
51
58
|
}
|
|
59
|
+
async function pushChain(provider, chain) {
|
|
60
|
+
const jwt = await getSecret("jwt");
|
|
61
|
+
return jwt ? pushModelPreferenceToServer(jwt, provider, chain) : false;
|
|
62
|
+
}
|
|
52
63
|
export async function runModelsCommand(sub, rest) {
|
|
53
64
|
switch (sub) {
|
|
54
65
|
case undefined:
|
|
@@ -71,7 +82,7 @@ export async function runModelsCommand(sub, rest) {
|
|
|
71
82
|
const r = resolveModelForProvider({ provider, env: process.env, localPrefs, modelPolicy });
|
|
72
83
|
// eslint-disable-next-line no-console
|
|
73
84
|
console.log(r.model
|
|
74
|
-
? `${provider}: ${r.model} (${describeSource(r.source)})`
|
|
85
|
+
? `${provider}: ${r.model} (${describeSource(r.source)})${formatFallbacks(r)}`
|
|
75
86
|
: `${provider}: (engine default — nothing set, run \`crosscheck models set ${provider} <model>\` to change it)`);
|
|
76
87
|
return;
|
|
77
88
|
}
|
|
@@ -84,11 +95,11 @@ export async function runModelsCommand(sub, rest) {
|
|
|
84
95
|
process.exit(1);
|
|
85
96
|
return;
|
|
86
97
|
}
|
|
87
|
-
setLocalModelPref(provider, model);
|
|
98
|
+
const chain = setLocalModelPref(provider, model);
|
|
99
|
+
const pushed = await pushChain(provider, chain[provider] ?? [model]);
|
|
88
100
|
const jwt = await getSecret("jwt");
|
|
89
|
-
const pushed = jwt ? await pushModelPreferenceToServer(jwt, provider, model) : false;
|
|
90
101
|
// eslint-disable-next-line no-console
|
|
91
|
-
console.log(`✓ ${provider} -> ${model} (saved locally` +
|
|
102
|
+
console.log(`✓ ${provider} max model -> ${model} (saved locally` +
|
|
92
103
|
(pushed
|
|
93
104
|
? ", synced to your account)"
|
|
94
105
|
: jwt
|
|
@@ -98,6 +109,27 @@ export async function runModelsCommand(sub, rest) {
|
|
|
98
109
|
console.log("Reconnect the MCP server (or restart Claude Code) for this to take effect.");
|
|
99
110
|
return;
|
|
100
111
|
}
|
|
112
|
+
case "fallback": {
|
|
113
|
+
const provider = resolveProvider(rest[0] ?? "");
|
|
114
|
+
const model = rest[1];
|
|
115
|
+
const remove = rest.includes("--remove");
|
|
116
|
+
if (!provider || !model) {
|
|
117
|
+
// eslint-disable-next-line no-console
|
|
118
|
+
console.error(USAGE);
|
|
119
|
+
process.exit(1);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const chain = remove ? removeLocalModelFallback(provider, model) : addLocalModelFallback(provider, model);
|
|
123
|
+
const pushed = await pushChain(provider, chain[provider] ?? []);
|
|
124
|
+
// eslint-disable-next-line no-console
|
|
125
|
+
console.log(remove
|
|
126
|
+
? `✓ ${provider}: ${model} removed from fallbacks${pushed ? " (synced to your account)" : ""}.`
|
|
127
|
+
: `✓ ${provider}: ${model} greenlit as a fallback${pushed ? " (synced to your account)" : ""} — ` +
|
|
128
|
+
"tried only if the max model has a model-access problem, never for any other kind of failure.");
|
|
129
|
+
// eslint-disable-next-line no-console
|
|
130
|
+
console.log("Reconnect the MCP server (or restart Claude Code) for this to take effect.");
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
101
133
|
case "unset": {
|
|
102
134
|
const provider = resolveProvider(rest[0] ?? "");
|
|
103
135
|
if (!provider) {
|
|
@@ -111,7 +143,7 @@ export async function runModelsCommand(sub, rest) {
|
|
|
111
143
|
if (jwt)
|
|
112
144
|
await deleteModelPreferenceOnServer(jwt, provider);
|
|
113
145
|
// eslint-disable-next-line no-console
|
|
114
|
-
console.log(`✓ ${provider}
|
|
146
|
+
console.log(`✓ ${provider} chain cleared (max model + all fallbacks) — will use the engine default (or org fallback, if any).`);
|
|
115
147
|
return;
|
|
116
148
|
}
|
|
117
149
|
case "sync": {
|
|
@@ -125,7 +157,9 @@ export async function runModelsCommand(sub, rest) {
|
|
|
125
157
|
const prefs = await syncModelPreferencesFromServer(jwt);
|
|
126
158
|
const entries = Object.entries(prefs);
|
|
127
159
|
// eslint-disable-next-line no-console
|
|
128
|
-
console.log(`✓ Synced from your account. Local preferences: ${entries.length
|
|
160
|
+
console.log(`✓ Synced from your account. Local preferences: ${entries.length
|
|
161
|
+
? entries.map(([p, chain]) => `${p}=${chain.join(">")}`).join(", ")
|
|
162
|
+
: "(none set)"}`);
|
|
129
163
|
return;
|
|
130
164
|
}
|
|
131
165
|
default:
|
package/dist/models-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models-cli.js","sourceRoot":"","sources":["../src/models-cli.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"models-cli.js","sourceRoot":"","sources":["../src/models-cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crosscheck-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.54",
|
|
4
4
|
"description": "Crosscheck — multi-LLM orchestration MCP for the terminal. Single-machine activation, BYO upstream LLM keys, content-free telemetry. Installs into Claude Code in one command.",
|
|
5
5
|
"license": "SEE LICENSE.md",
|
|
6
6
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"prepublishOnly": "npm run build"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"crosscheck-mcp": "0.2.
|
|
30
|
+
"crosscheck-mcp": "0.2.15"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "^22.10.0",
|