claudish 7.55.0 → 7.56.0
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/index.js +216 -10
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -729,7 +729,7 @@ var init_onepassword_config = __esm(() => {
|
|
|
729
729
|
});
|
|
730
730
|
|
|
731
731
|
// src/version.ts
|
|
732
|
-
var VERSION = "7.
|
|
732
|
+
var VERSION = "7.56.0";
|
|
733
733
|
|
|
734
734
|
// src/logger.ts
|
|
735
735
|
var exports_logger = {};
|
|
@@ -28057,6 +28057,7 @@ var init_provider_definitions = __esm(() => {
|
|
|
28057
28057
|
{ prefix: "antigravity/", stripPrefix: true },
|
|
28058
28058
|
{ prefix: "go/", stripPrefix: true }
|
|
28059
28059
|
],
|
|
28060
|
+
modelDiscovery: { path: "", format: "antigravity" },
|
|
28060
28061
|
isDirectApi: true,
|
|
28061
28062
|
description: "Antigravity subscription (ag@; go@ deprecated)"
|
|
28062
28063
|
},
|
|
@@ -30105,6 +30106,17 @@ var init_openai_api_format = __esm(() => {
|
|
|
30105
30106
|
});
|
|
30106
30107
|
|
|
30107
30108
|
// src/auth/antigravity-token.ts
|
|
30109
|
+
var exports_antigravity_token = {};
|
|
30110
|
+
__export(exports_antigravity_token, {
|
|
30111
|
+
writeSharedAntigravityToken: () => writeSharedAntigravityToken,
|
|
30112
|
+
readSharedAntigravityToken: () => readSharedAntigravityToken,
|
|
30113
|
+
locateAgyBinary: () => locateAgyBinary,
|
|
30114
|
+
hasSharedAntigravityToken: () => hasSharedAntigravityToken,
|
|
30115
|
+
getValidAntigravityAccessToken: () => getValidAntigravityAccessToken,
|
|
30116
|
+
forceRefreshAntigravityToken: () => forceRefreshAntigravityToken,
|
|
30117
|
+
deleteSharedAntigravityToken: () => deleteSharedAntigravityToken,
|
|
30118
|
+
_resetAntigravityTokenState: () => _resetAntigravityTokenState
|
|
30119
|
+
});
|
|
30108
30120
|
import { execFileSync } from "child_process";
|
|
30109
30121
|
import { existsSync as existsSync7 } from "fs";
|
|
30110
30122
|
import { homedir as homedir9 } from "os";
|
|
@@ -30298,6 +30310,17 @@ var init_antigravity_token = __esm(() => {
|
|
|
30298
30310
|
});
|
|
30299
30311
|
|
|
30300
30312
|
// src/auth/antigravity-user.ts
|
|
30313
|
+
var exports_antigravity_user = {};
|
|
30314
|
+
__export(exports_antigravity_user, {
|
|
30315
|
+
setupAntigravityUser: () => setupAntigravityUser,
|
|
30316
|
+
retrieveUserQuota: () => retrieveUserQuota,
|
|
30317
|
+
resetAntigravityUserCache: () => resetAntigravityUserCache,
|
|
30318
|
+
getServedAntigravityModels: () => getServedAntigravityModels,
|
|
30319
|
+
getAntigravityTierFullName: () => getAntigravityTierFullName,
|
|
30320
|
+
getAntigravityTierDisplayName: () => getAntigravityTierDisplayName,
|
|
30321
|
+
buildAntigravityUserAgent: () => buildAntigravityUserAgent,
|
|
30322
|
+
_resetAntigravityServedModelsCache: () => _resetAntigravityServedModelsCache
|
|
30323
|
+
});
|
|
30301
30324
|
function makeTerminalSetupError(message) {
|
|
30302
30325
|
const err = new Error(message);
|
|
30303
30326
|
err.terminal = true;
|
|
@@ -30357,6 +30380,9 @@ function getAntigravityTierDisplayName() {
|
|
|
30357
30380
|
return "Antigravity Free";
|
|
30358
30381
|
return cachedAgTierName || "Antigravity";
|
|
30359
30382
|
}
|
|
30383
|
+
function getAntigravityTierFullName() {
|
|
30384
|
+
return cachedAgTierName || getAntigravityTierDisplayName();
|
|
30385
|
+
}
|
|
30360
30386
|
async function retrieveUserQuota(accessToken, projectId) {
|
|
30361
30387
|
try {
|
|
30362
30388
|
const res = await fetch(`${ANTIGRAVITY_API_BASE}:retrieveUserQuota`, {
|
|
@@ -30364,7 +30390,7 @@ async function retrieveUserQuota(accessToken, projectId) {
|
|
|
30364
30390
|
headers: {
|
|
30365
30391
|
Authorization: `Bearer ${accessToken}`,
|
|
30366
30392
|
"Content-Type": "application/json",
|
|
30367
|
-
"User-Agent":
|
|
30393
|
+
"User-Agent": buildAntigravityUserAgent()
|
|
30368
30394
|
},
|
|
30369
30395
|
body: JSON.stringify({ project: projectId })
|
|
30370
30396
|
});
|
|
@@ -30398,7 +30424,21 @@ async function getServedAntigravityModels(accessToken, projectId, opts) {
|
|
|
30398
30424
|
const servedIds = data.models ? Object.keys(data.models) : [];
|
|
30399
30425
|
const defaultId = typeof data.defaultAgentModelId === "string" ? data.defaultAgentModelId : null;
|
|
30400
30426
|
if (servedIds.length > 0) {
|
|
30401
|
-
|
|
30427
|
+
const meta3 = {};
|
|
30428
|
+
for (const [id, record4] of Object.entries(data.models ?? {})) {
|
|
30429
|
+
const entry = {};
|
|
30430
|
+
if (typeof record4?.maxTokens === "number" && record4.maxTokens > 0) {
|
|
30431
|
+
entry.contextWindow = record4.maxTokens;
|
|
30432
|
+
}
|
|
30433
|
+
if (typeof record4?.maxOutputTokens === "number" && record4.maxOutputTokens > 0) {
|
|
30434
|
+
entry.maxOutputTokens = record4.maxOutputTokens;
|
|
30435
|
+
}
|
|
30436
|
+
if (typeof record4?.displayName === "string" && record4.displayName) {
|
|
30437
|
+
entry.displayName = record4.displayName;
|
|
30438
|
+
}
|
|
30439
|
+
meta3[id] = entry;
|
|
30440
|
+
}
|
|
30441
|
+
agServedCache = { servedIds, defaultId, meta: meta3 };
|
|
30402
30442
|
agServedCacheAt = now;
|
|
30403
30443
|
return agServedCache;
|
|
30404
30444
|
}
|
|
@@ -30410,7 +30450,11 @@ async function getServedAntigravityModels(accessToken, projectId, opts) {
|
|
|
30410
30450
|
}
|
|
30411
30451
|
if (agServedCache)
|
|
30412
30452
|
return agServedCache;
|
|
30413
|
-
return { servedIds: [], defaultId: null };
|
|
30453
|
+
return { servedIds: [], defaultId: null, meta: {} };
|
|
30454
|
+
}
|
|
30455
|
+
function _resetAntigravityServedModelsCache() {
|
|
30456
|
+
agServedCache = null;
|
|
30457
|
+
agServedCacheAt = 0;
|
|
30414
30458
|
}
|
|
30415
30459
|
var ANTIGRAVITY_API_BASE = "https://cloudcode-pa.googleapis.com/v1internal", SERVED_MODELS_TTL_MS, ANTIGRAVITY_IDE_TYPE = "ANTIGRAVITY", cachedAgProjectId = null, cachedAgTierId = null, cachedAgTierName = null, agServedCache = null, agServedCacheAt = 0;
|
|
30416
30460
|
var init_antigravity_user = __esm(() => {
|
|
@@ -32142,6 +32186,10 @@ async function resolveGrokClientVersion() {
|
|
|
32142
32186
|
} catch {}
|
|
32143
32187
|
return FALLBACK_GROK_CLIENT_VERSION;
|
|
32144
32188
|
}
|
|
32189
|
+
function readGrokProxyUrl() {
|
|
32190
|
+
const fromEnv = process.env[GROK_PROXY_URL_ENV]?.trim();
|
|
32191
|
+
return (fromEnv || DEFAULT_GROK_PROXY_URL).replace(/\/+$/, "");
|
|
32192
|
+
}
|
|
32145
32193
|
function grokAuthHeaders(token, version2 = readGrokClientVersion()) {
|
|
32146
32194
|
return {
|
|
32147
32195
|
Authorization: `Bearer ${token}`,
|
|
@@ -32254,7 +32302,7 @@ function refreshShared(cred) {
|
|
|
32254
32302
|
}
|
|
32255
32303
|
return refreshInFlight;
|
|
32256
32304
|
}
|
|
32257
|
-
var GROK_CLIENT_IDENTIFIER = "grok-shell", FALLBACK_GROK_CLIENT_VERSION = "1.0.4", LEGACY_SCOPE = "https://accounts.x.ai/sign-in", EXPIRY_SKEW_MS2, grokHomeOverride = null, claudishOAuthPathOverride = null, GROK_CHANNEL_URL = "https://x.ai/cli/stable", liveClientVersion = null, SIGN_IN_HINT, refreshInFlight = null;
|
|
32305
|
+
var GROK_PROXY_URL_ENV = "GROK_PROXY_URL", DEFAULT_GROK_PROXY_URL = "https://cli-chat-proxy.grok.com/v1", GROK_CLIENT_IDENTIFIER = "grok-shell", FALLBACK_GROK_CLIENT_VERSION = "1.0.4", LEGACY_SCOPE = "https://accounts.x.ai/sign-in", EXPIRY_SKEW_MS2, grokHomeOverride = null, claudishOAuthPathOverride = null, GROK_CHANNEL_URL = "https://x.ai/cli/stable", liveClientVersion = null, SIGN_IN_HINT, refreshInFlight = null;
|
|
32258
32306
|
var init_grok_credentials = __esm(() => {
|
|
32259
32307
|
init_grok_oauth();
|
|
32260
32308
|
EXPIRY_SKEW_MS2 = 5 * 60 * 1000;
|
|
@@ -32976,15 +33024,22 @@ function validateVertexOAuthConfig() {
|
|
|
32976
33024
|
}
|
|
32977
33025
|
return null;
|
|
32978
33026
|
}
|
|
33027
|
+
function vertexApiHost(location) {
|
|
33028
|
+
if (location === "global")
|
|
33029
|
+
return "aiplatform.googleapis.com";
|
|
33030
|
+
if (location === "eu")
|
|
33031
|
+
return "aiplatform.eu.rep.googleapis.com";
|
|
33032
|
+
return `${location}-aiplatform.googleapis.com`;
|
|
33033
|
+
}
|
|
32979
33034
|
function buildVertexOAuthEndpoint(config2, publisher, model, streaming = true) {
|
|
32980
33035
|
const method = streaming ? "streamGenerateContent" : "generateContent";
|
|
32981
33036
|
if (publisher === "google") {
|
|
32982
33037
|
const sseParam = streaming ? "?alt=sse" : "";
|
|
32983
|
-
return `https://${config2.location}
|
|
33038
|
+
return `https://${vertexApiHost(config2.location)}/v1/` + `projects/${config2.projectId}/locations/${config2.location}/` + `publishers/${publisher}/models/${model}:${method}${sseParam}`;
|
|
32984
33039
|
}
|
|
32985
33040
|
if (publisher === "mistralai") {
|
|
32986
33041
|
const mistralMethod = streaming ? "streamRawPredict" : "rawPredict";
|
|
32987
|
-
return `https://${config2.location}
|
|
33042
|
+
return `https://${vertexApiHost(config2.location)}/v1/` + `projects/${config2.projectId}/locations/${config2.location}/` + `publishers/mistralai/models/${model}:${mistralMethod}`;
|
|
32988
33043
|
}
|
|
32989
33044
|
return `https://aiplatform.googleapis.com/v1/projects/${config2.projectId}/locations/global/endpoints/openapi/chat/completions`;
|
|
32990
33045
|
}
|
|
@@ -35368,6 +35423,27 @@ function windowFromBucket(bucket) {
|
|
|
35368
35423
|
}
|
|
35369
35424
|
return window2;
|
|
35370
35425
|
}
|
|
35426
|
+
function parseModelVersion(modelId) {
|
|
35427
|
+
const match = modelId.match(/(?:^|-)(\d+(?:[.-]\d+)*)(?![0-9a-z])/i);
|
|
35428
|
+
if (!match)
|
|
35429
|
+
return;
|
|
35430
|
+
const [major, minor] = match[1].split(/[.-]/);
|
|
35431
|
+
const value = Number(`${major}.${(minor ?? "0").slice(0, 3)}`);
|
|
35432
|
+
return Number.isFinite(value) ? value : undefined;
|
|
35433
|
+
}
|
|
35434
|
+
function compareModelRecency(a, b) {
|
|
35435
|
+
const va = parseModelVersion(a.id);
|
|
35436
|
+
const vb = parseModelVersion(b.id);
|
|
35437
|
+
if (va === undefined && vb === undefined)
|
|
35438
|
+
return a.id.localeCompare(b.id);
|
|
35439
|
+
if (va === undefined)
|
|
35440
|
+
return 1;
|
|
35441
|
+
if (vb === undefined)
|
|
35442
|
+
return -1;
|
|
35443
|
+
if (vb !== va)
|
|
35444
|
+
return vb - va;
|
|
35445
|
+
return a.id.localeCompare(b.id);
|
|
35446
|
+
}
|
|
35371
35447
|
function planFromBuckets(buckets, activeModelId) {
|
|
35372
35448
|
const windows = [];
|
|
35373
35449
|
if (activeModelId) {
|
|
@@ -35383,6 +35459,7 @@ function planFromBuckets(buckets, activeModelId) {
|
|
|
35383
35459
|
if (w)
|
|
35384
35460
|
windows.push(w);
|
|
35385
35461
|
}
|
|
35462
|
+
windows.sort(compareModelRecency);
|
|
35386
35463
|
}
|
|
35387
35464
|
if (windows.length === 0)
|
|
35388
35465
|
return;
|
|
@@ -35601,6 +35678,106 @@ var init_codex = __esm(() => {
|
|
|
35601
35678
|
};
|
|
35602
35679
|
});
|
|
35603
35680
|
|
|
35681
|
+
// src/auth/quota/sources/grok.ts
|
|
35682
|
+
function periodLabel(type) {
|
|
35683
|
+
switch (type) {
|
|
35684
|
+
case "USAGE_PERIOD_TYPE_WEEKLY":
|
|
35685
|
+
return "7d";
|
|
35686
|
+
case "USAGE_PERIOD_TYPE_DAILY":
|
|
35687
|
+
return "24h";
|
|
35688
|
+
case "USAGE_PERIOD_TYPE_MONTHLY":
|
|
35689
|
+
return "30d";
|
|
35690
|
+
default:
|
|
35691
|
+
if (!type)
|
|
35692
|
+
return "period";
|
|
35693
|
+
return type.replace(/^USAGE_PERIOD_TYPE_/, "").toLowerCase() || "period";
|
|
35694
|
+
}
|
|
35695
|
+
}
|
|
35696
|
+
function windowsFromBilling(config2) {
|
|
35697
|
+
const resetsAt = config2.currentPeriod?.end ?? config2.billingPeriodEnd;
|
|
35698
|
+
const label = periodLabel(config2.currentPeriod?.type);
|
|
35699
|
+
const windows = [];
|
|
35700
|
+
for (const entry of config2.productUsage ?? []) {
|
|
35701
|
+
if (typeof entry?.usagePercent !== "number" || !entry.product)
|
|
35702
|
+
continue;
|
|
35703
|
+
const used = toUsedPct(entry.usagePercent);
|
|
35704
|
+
if (used === undefined)
|
|
35705
|
+
continue;
|
|
35706
|
+
const w = { id: entry.product, used_pct: used };
|
|
35707
|
+
if (resetsAt)
|
|
35708
|
+
w.resets_at = resetsAt;
|
|
35709
|
+
windows.push(w);
|
|
35710
|
+
}
|
|
35711
|
+
if (windows.length === 0 && typeof config2.creditUsagePercent === "number") {
|
|
35712
|
+
const used = toUsedPct(config2.creditUsagePercent);
|
|
35713
|
+
if (used !== undefined) {
|
|
35714
|
+
const w = { id: label, used_pct: used };
|
|
35715
|
+
if (resetsAt)
|
|
35716
|
+
w.resets_at = resetsAt;
|
|
35717
|
+
windows.push(w);
|
|
35718
|
+
}
|
|
35719
|
+
}
|
|
35720
|
+
return windows;
|
|
35721
|
+
}
|
|
35722
|
+
async function fetchPlan2() {
|
|
35723
|
+
try {
|
|
35724
|
+
const [token, version2] = await Promise.all([
|
|
35725
|
+
resolveGrokAccessToken(),
|
|
35726
|
+
resolveGrokClientVersion()
|
|
35727
|
+
]);
|
|
35728
|
+
const res = await fetch(`${readGrokProxyUrl()}${BILLING_PATH}`, {
|
|
35729
|
+
method: "GET",
|
|
35730
|
+
headers: grokAuthHeaders(token, version2)
|
|
35731
|
+
});
|
|
35732
|
+
if (!res.ok) {
|
|
35733
|
+
log(`[quota:grok] billing fetch failed: ${res.status}`);
|
|
35734
|
+
return;
|
|
35735
|
+
}
|
|
35736
|
+
const body = await res.json();
|
|
35737
|
+
const config2 = body?.config;
|
|
35738
|
+
if (!config2)
|
|
35739
|
+
return;
|
|
35740
|
+
const windows = windowsFromBilling(config2);
|
|
35741
|
+
if (windows.length === 0)
|
|
35742
|
+
return;
|
|
35743
|
+
return {
|
|
35744
|
+
label: "Grok Build",
|
|
35745
|
+
windows,
|
|
35746
|
+
source: "provider",
|
|
35747
|
+
observed_at: new Date().toISOString()
|
|
35748
|
+
};
|
|
35749
|
+
} catch (err) {
|
|
35750
|
+
log(`[quota:grok] billing fetch error: ${err}`);
|
|
35751
|
+
return;
|
|
35752
|
+
}
|
|
35753
|
+
}
|
|
35754
|
+
var BILLING_PATH = "/billing?format=credits", grokQuotaAdapter;
|
|
35755
|
+
var init_grok = __esm(() => {
|
|
35756
|
+
init_logger();
|
|
35757
|
+
init_grok_credentials();
|
|
35758
|
+
init_types2();
|
|
35759
|
+
grokQuotaAdapter = {
|
|
35760
|
+
providerId: "grok-subscription",
|
|
35761
|
+
label: "Grok Build",
|
|
35762
|
+
capability() {
|
|
35763
|
+
return { kind: "endpoint" };
|
|
35764
|
+
},
|
|
35765
|
+
isAvailable() {
|
|
35766
|
+
try {
|
|
35767
|
+
return hasGrokCredentials();
|
|
35768
|
+
} catch {
|
|
35769
|
+
return false;
|
|
35770
|
+
}
|
|
35771
|
+
},
|
|
35772
|
+
poll(_ctx) {
|
|
35773
|
+
return fetchPlan2();
|
|
35774
|
+
},
|
|
35775
|
+
fetchExplicit(_ctx) {
|
|
35776
|
+
return fetchPlan2();
|
|
35777
|
+
}
|
|
35778
|
+
};
|
|
35779
|
+
});
|
|
35780
|
+
|
|
35604
35781
|
// src/auth/quota/registry.ts
|
|
35605
35782
|
function unsupported(providerId, label, evidence) {
|
|
35606
35783
|
return {
|
|
@@ -35624,6 +35801,7 @@ var PROBED_ON = "2026-08-05", NO_SURFACE, ADAPTERS, BY_ID;
|
|
|
35624
35801
|
var init_registry = __esm(() => {
|
|
35625
35802
|
init_antigravity2();
|
|
35626
35803
|
init_codex();
|
|
35804
|
+
init_grok();
|
|
35627
35805
|
NO_SURFACE = [
|
|
35628
35806
|
{
|
|
35629
35807
|
id: "glm-coding",
|
|
@@ -35753,6 +35931,7 @@ var init_registry = __esm(() => {
|
|
|
35753
35931
|
ADAPTERS = [
|
|
35754
35932
|
codexQuotaAdapter,
|
|
35755
35933
|
antigravityQuotaAdapter,
|
|
35934
|
+
grokQuotaAdapter,
|
|
35756
35935
|
...NO_SURFACE.map((p) => unsupported(p.id, p.label, p.evidence))
|
|
35757
35936
|
];
|
|
35758
35937
|
BY_ID = new Map(ADAPTERS.map((a) => [a.providerId, a]));
|
|
@@ -43036,6 +43215,27 @@ async function discoverProviderModels(providerName) {
|
|
|
43036
43215
|
_cache.set(providerName, { models: models2, expiresAt: Date.now() + CACHE_TTL_MS });
|
|
43037
43216
|
return models2;
|
|
43038
43217
|
}
|
|
43218
|
+
if (descriptor.format === "antigravity") {
|
|
43219
|
+
const { getValidAntigravityAccessToken: getValidAntigravityAccessToken2 } = await Promise.resolve().then(() => (init_antigravity_token(), exports_antigravity_token));
|
|
43220
|
+
const { setupAntigravityUser: setupAntigravityUser2, getServedAntigravityModels: getServedAntigravityModels2 } = await Promise.resolve().then(() => (init_antigravity_user(), exports_antigravity_user));
|
|
43221
|
+
const token = await getValidAntigravityAccessToken2();
|
|
43222
|
+
if (!token) {
|
|
43223
|
+
return recordFailure({ kind: "no-credentials", provider: providerName });
|
|
43224
|
+
}
|
|
43225
|
+
const { projectId } = await setupAntigravityUser2(token);
|
|
43226
|
+
const { servedIds, meta: meta3 } = await getServedAntigravityModels2(token, projectId);
|
|
43227
|
+
if (servedIds.length === 0) {
|
|
43228
|
+
return recordFailure({ kind: "empty-roster", provider: providerName });
|
|
43229
|
+
}
|
|
43230
|
+
const models2 = servedIds.map((id) => {
|
|
43231
|
+
const m = meta3[id];
|
|
43232
|
+
return m?.contextWindow ? { id, contextWindow: m.contextWindow } : { id };
|
|
43233
|
+
});
|
|
43234
|
+
_failures.delete(providerName);
|
|
43235
|
+
log(`[model-discovery:${providerName}] discovered ${models2.length} models`);
|
|
43236
|
+
_cache.set(providerName, { models: models2, expiresAt: Date.now() + CACHE_TTL_MS });
|
|
43237
|
+
return models2;
|
|
43238
|
+
}
|
|
43039
43239
|
if (descriptor.format === "ollama-tags") {
|
|
43040
43240
|
const { fetchOllamaModels: fetchOllamaModels2 } = await Promise.resolve().then(() => exports_ollama_discovery);
|
|
43041
43241
|
const installed = await fetchOllamaModels2({ enrichCapabilities: false });
|
|
@@ -67277,12 +67477,16 @@ function renderPlan(adapter, plan) {
|
|
|
67277
67477
|
console.log("");
|
|
67278
67478
|
console.log(` ${peakColor}${B}${peak}%${R} ${D}peak usage across ${plan.windows.length} window${plan.windows.length === 1 ? "" : "s"}${R}`);
|
|
67279
67479
|
console.log("");
|
|
67480
|
+
const NAME_MIN = 14;
|
|
67481
|
+
const NAME_MAX = 28;
|
|
67482
|
+
const widest = plan.windows.reduce((m, w) => Math.max(m, w.id.length), 0);
|
|
67483
|
+
const nameWidth = Math.min(NAME_MAX, Math.max(NAME_MIN, widest + 1));
|
|
67280
67484
|
for (const w of plan.windows) {
|
|
67281
67485
|
const color = colorFor(w.used_pct);
|
|
67282
67486
|
const bar = buildUsageBar(w.used_pct / 100, color, 24);
|
|
67283
67487
|
const reset = w.resets_at ? formatRelativeReset(w.resets_at) : "";
|
|
67284
|
-
const name = w.id.length >
|
|
67285
|
-
console.log(` ${GRY}\u2502${R} ${WHT}${name.padEnd(
|
|
67488
|
+
const name = w.id.length > nameWidth ? `${w.id.slice(0, nameWidth - 1)}\u2026` : w.id;
|
|
67489
|
+
console.log(` ${GRY}\u2502${R} ${WHT}${name.padEnd(nameWidth)}${R}${bar} ${color}${String(w.used_pct).padStart(3)}%${R} ${GRY}${I}${reset}${R}`);
|
|
67286
67490
|
}
|
|
67287
67491
|
console.log("");
|
|
67288
67492
|
console.log(` ${GRN}\u2588${R}${GRY} <50%${R} ${YEL}\u2588${R}${GRY} 50-80%${R} ${RED}\u2588${R}${GRY} >80%${R} ${D}\u2591 available${R}`);
|
|
@@ -67370,7 +67574,9 @@ var init_quota_command = __esm(() => {
|
|
|
67370
67574
|
sakana: "sakana-subscription",
|
|
67371
67575
|
fugu: "sakana-subscription",
|
|
67372
67576
|
zen: "opencode-zen-go",
|
|
67373
|
-
qwen: "qwen-cloud"
|
|
67577
|
+
qwen: "qwen-cloud",
|
|
67578
|
+
grok: "grok-subscription",
|
|
67579
|
+
supergrok: "grok-subscription"
|
|
67374
67580
|
};
|
|
67375
67581
|
});
|
|
67376
67582
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudish",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.56.0",
|
|
4
4
|
"description": "Run Claude Code with any model - OpenRouter, Ollama, LM Studio & local models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
"ai"
|
|
61
61
|
],
|
|
62
62
|
"optionalDependencies": {
|
|
63
|
-
"@claudish/magmux-darwin-arm64": "7.
|
|
64
|
-
"@claudish/magmux-darwin-x64": "7.
|
|
65
|
-
"@claudish/magmux-linux-arm64": "7.
|
|
66
|
-
"@claudish/magmux-linux-x64": "7.
|
|
63
|
+
"@claudish/magmux-darwin-arm64": "7.56.0",
|
|
64
|
+
"@claudish/magmux-darwin-x64": "7.56.0",
|
|
65
|
+
"@claudish/magmux-linux-arm64": "7.56.0",
|
|
66
|
+
"@claudish/magmux-linux-x64": "7.56.0"
|
|
67
67
|
},
|
|
68
68
|
"author": "Jack Rudenko <i@madappgang.com>",
|
|
69
69
|
"license": "MIT",
|