claude-use 11.67.5 → 11.68.1
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/cli.cjs +206 -74
- package/dist/index.cjs +11 -1
- package/dist/index.mjs +11 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -37387,7 +37387,7 @@ var init_package = __esm({
|
|
|
37387
37387
|
"package.json"() {
|
|
37388
37388
|
package_default = {
|
|
37389
37389
|
name: "claude-use",
|
|
37390
|
-
version: "11.
|
|
37390
|
+
version: "11.68.1",
|
|
37391
37391
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
37392
37392
|
license: "MIT",
|
|
37393
37393
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -44849,7 +44849,7 @@ var require_util3 = __commonJS({
|
|
|
44849
44849
|
"node_modules/.pnpm/undici@7.30.1/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
|
|
44850
44850
|
"use strict";
|
|
44851
44851
|
var { Transform } = require("node:stream");
|
|
44852
|
-
var
|
|
44852
|
+
var zlib3 = require("node:zlib");
|
|
44853
44853
|
var { redirectStatusSet, referrerPolicyTokens, badPortsSet } = require_constants4();
|
|
44854
44854
|
var { getGlobalOrigin } = require_global();
|
|
44855
44855
|
var { collectAnHTTPQuotedString, parseMIMEType } = require_data_url();
|
|
@@ -45452,7 +45452,7 @@ var require_util3 = __commonJS({
|
|
|
45452
45452
|
callback();
|
|
45453
45453
|
return;
|
|
45454
45454
|
}
|
|
45455
|
-
this._inflateStream = (chunk2[0] & 15) === 8 ?
|
|
45455
|
+
this._inflateStream = (chunk2[0] & 15) === 8 ? zlib3.createInflate(this.#zlibOptions) : zlib3.createInflateRaw(this.#zlibOptions);
|
|
45456
45456
|
this._inflateStream.on("data", this.push.bind(this));
|
|
45457
45457
|
this._inflateStream.on("end", () => this.push(null));
|
|
45458
45458
|
this._inflateStream.on("error", (err) => this.destroy(err));
|
|
@@ -60658,7 +60658,7 @@ var require_fetch = __commonJS({
|
|
|
60658
60658
|
} = require_response();
|
|
60659
60659
|
var { HeadersList } = require_headers();
|
|
60660
60660
|
var { Request: Request2, cloneRequest, getRequestDispatcher, getRequestState } = require_request2();
|
|
60661
|
-
var
|
|
60661
|
+
var zlib3 = require("node:zlib");
|
|
60662
60662
|
var {
|
|
60663
60663
|
makePolicyContainer,
|
|
60664
60664
|
clonePolicyContainer,
|
|
@@ -61659,28 +61659,28 @@ var require_fetch = __commonJS({
|
|
|
61659
61659
|
for (let i10 = codings.length - 1; i10 >= 0; --i10) {
|
|
61660
61660
|
const coding = codings[i10].trim();
|
|
61661
61661
|
if (coding === "x-gzip" || coding === "gzip") {
|
|
61662
|
-
decoders.push(
|
|
61662
|
+
decoders.push(zlib3.createGunzip({
|
|
61663
61663
|
// Be less strict when decoding compressed responses, since sometimes
|
|
61664
61664
|
// servers send slightly invalid responses that are still accepted
|
|
61665
61665
|
// by common browsers.
|
|
61666
61666
|
// Always using Z_SYNC_FLUSH is what cURL does.
|
|
61667
|
-
flush:
|
|
61668
|
-
finishFlush:
|
|
61667
|
+
flush: zlib3.constants.Z_SYNC_FLUSH,
|
|
61668
|
+
finishFlush: zlib3.constants.Z_SYNC_FLUSH
|
|
61669
61669
|
}));
|
|
61670
61670
|
} else if (coding === "deflate") {
|
|
61671
61671
|
decoders.push(createInflate2({
|
|
61672
|
-
flush:
|
|
61673
|
-
finishFlush:
|
|
61672
|
+
flush: zlib3.constants.Z_SYNC_FLUSH,
|
|
61673
|
+
finishFlush: zlib3.constants.Z_SYNC_FLUSH
|
|
61674
61674
|
}));
|
|
61675
61675
|
} else if (coding === "br") {
|
|
61676
|
-
decoders.push(
|
|
61677
|
-
flush:
|
|
61678
|
-
finishFlush:
|
|
61676
|
+
decoders.push(zlib3.createBrotliDecompress({
|
|
61677
|
+
flush: zlib3.constants.BROTLI_OPERATION_FLUSH,
|
|
61678
|
+
finishFlush: zlib3.constants.BROTLI_OPERATION_FLUSH
|
|
61679
61679
|
}));
|
|
61680
61680
|
} else if (coding === "zstd" && hasZstd) {
|
|
61681
|
-
decoders.push(
|
|
61682
|
-
flush:
|
|
61683
|
-
finishFlush:
|
|
61681
|
+
decoders.push(zlib3.createZstdDecompress({
|
|
61682
|
+
flush: zlib3.constants.ZSTD_e_continue,
|
|
61683
|
+
finishFlush: zlib3.constants.ZSTD_e_end
|
|
61684
61684
|
}));
|
|
61685
61685
|
} else {
|
|
61686
61686
|
decoders.length = 0;
|
|
@@ -67945,6 +67945,99 @@ var init_engine = __esm({
|
|
|
67945
67945
|
}
|
|
67946
67946
|
});
|
|
67947
67947
|
|
|
67948
|
+
// src/usage/unifiedRefusal.ts
|
|
67949
|
+
function exhaustionHeaders(params) {
|
|
67950
|
+
return {
|
|
67951
|
+
[`${UNIFIED_PREFIX2}representative-claim`]: params.window,
|
|
67952
|
+
[`${UNIFIED_PREFIX2}reset`]: String(params.resetSec),
|
|
67953
|
+
"retry-after": String(Math.max(1, params.resetSec - params.nowSec)),
|
|
67954
|
+
"x-should-retry": "false"
|
|
67955
|
+
};
|
|
67956
|
+
}
|
|
67957
|
+
function decodedText(body, encoding) {
|
|
67958
|
+
try {
|
|
67959
|
+
switch (encoding?.trim().toLowerCase()) {
|
|
67960
|
+
case void 0:
|
|
67961
|
+
case "":
|
|
67962
|
+
case "identity":
|
|
67963
|
+
return new TextDecoder().decode(body);
|
|
67964
|
+
case "gzip":
|
|
67965
|
+
case "x-gzip":
|
|
67966
|
+
return new TextDecoder().decode(zlib2.gunzipSync(body));
|
|
67967
|
+
case "deflate":
|
|
67968
|
+
return new TextDecoder().decode(zlib2.inflateSync(body));
|
|
67969
|
+
case "br":
|
|
67970
|
+
return new TextDecoder().decode(zlib2.brotliDecompressSync(body));
|
|
67971
|
+
default:
|
|
67972
|
+
return void 0;
|
|
67973
|
+
}
|
|
67974
|
+
} catch {
|
|
67975
|
+
return void 0;
|
|
67976
|
+
}
|
|
67977
|
+
}
|
|
67978
|
+
function windowOfMessage(message) {
|
|
67979
|
+
if (/\b(?:5|five)[\s-]?hours?\b/i.test(message)) {
|
|
67980
|
+
return "five_hour";
|
|
67981
|
+
}
|
|
67982
|
+
if (/\bweek(?:ly)?\b|\b(?:7|seven)[\s-]?days?\b/i.test(message)) {
|
|
67983
|
+
return "seven_day";
|
|
67984
|
+
}
|
|
67985
|
+
return void 0;
|
|
67986
|
+
}
|
|
67987
|
+
function resetOfMessage(message) {
|
|
67988
|
+
const found = /reset at (\d{4}-\d{2}-\d{2})[ T](\d{2}:\d{2}:\d{2})/i.exec(message);
|
|
67989
|
+
if (found === null) {
|
|
67990
|
+
return void 0;
|
|
67991
|
+
}
|
|
67992
|
+
const instant = Date.parse(`${found[1] ?? ""}T${found[2] ?? ""}${MESSAGE_CLOCK_OFFSET}`);
|
|
67993
|
+
return Number.isNaN(instant) ? void 0 : Math.floor(instant / MS_PER_SECOND8);
|
|
67994
|
+
}
|
|
67995
|
+
function quotaRefusalHeaders(params) {
|
|
67996
|
+
const { status, headers, body, nowMs } = params;
|
|
67997
|
+
if (status !== TOO_MANY_REQUESTS2 || Object.keys(headers).some((name) => name.startsWith(UNIFIED_PREFIX2))) {
|
|
67998
|
+
return void 0;
|
|
67999
|
+
}
|
|
68000
|
+
const text5 = decodedText(body, headers["content-encoding"]);
|
|
68001
|
+
if (text5 === void 0) {
|
|
68002
|
+
return void 0;
|
|
68003
|
+
}
|
|
68004
|
+
const scanner = createJsonScanner();
|
|
68005
|
+
scanner.push(text5);
|
|
68006
|
+
const { error: error63 } = scanner.result();
|
|
68007
|
+
const limit = classifyLimit({ status, headers: rateLimitHeadersOf(headers) ?? {}, error: error63, nowMs });
|
|
68008
|
+
const window = error63?.message === void 0 ? void 0 : windowOfMessage(error63.message);
|
|
68009
|
+
if (limit?.kind !== "quota-exhausted" || error63?.message === void 0 || window === void 0) {
|
|
68010
|
+
return void 0;
|
|
68011
|
+
}
|
|
68012
|
+
const nowSec = Math.floor(nowMs / MS_PER_SECOND8);
|
|
68013
|
+
const resetSec = limit.retryAfterSeconds === void 0 ? resetOfMessage(error63.message) : nowSec + Math.ceil(limit.retryAfterSeconds);
|
|
68014
|
+
if (resetSec === void 0) {
|
|
68015
|
+
return void 0;
|
|
68016
|
+
}
|
|
68017
|
+
const infix = WINDOW_INFIX[window];
|
|
68018
|
+
return {
|
|
68019
|
+
[`${UNIFIED_PREFIX2}status`]: "rejected",
|
|
68020
|
+
[`${UNIFIED_PREFIX2}${infix}-status`]: "rejected",
|
|
68021
|
+
[`${UNIFIED_PREFIX2}${infix}-utilization`]: "1",
|
|
68022
|
+
[`${UNIFIED_PREFIX2}${infix}-reset`]: String(resetSec),
|
|
68023
|
+
...exhaustionHeaders({ window, resetSec, nowSec })
|
|
68024
|
+
};
|
|
68025
|
+
}
|
|
68026
|
+
var zlib2, MS_PER_SECOND8, UNIFIED_PREFIX2, TOO_MANY_REQUESTS2, WINDOW_INFIX, MESSAGE_CLOCK_OFFSET;
|
|
68027
|
+
var init_unifiedRefusal = __esm({
|
|
68028
|
+
"src/usage/unifiedRefusal.ts"() {
|
|
68029
|
+
"use strict";
|
|
68030
|
+
zlib2 = __toESM(require("node:zlib"), 1);
|
|
68031
|
+
init_rateLimit();
|
|
68032
|
+
init_scan();
|
|
68033
|
+
MS_PER_SECOND8 = 1e3;
|
|
68034
|
+
UNIFIED_PREFIX2 = "anthropic-ratelimit-unified-";
|
|
68035
|
+
TOO_MANY_REQUESTS2 = 429;
|
|
68036
|
+
WINDOW_INFIX = { five_hour: "5h", seven_day: "7d" };
|
|
68037
|
+
MESSAGE_CLOCK_OFFSET = "+08:00";
|
|
68038
|
+
}
|
|
68039
|
+
});
|
|
68040
|
+
|
|
67948
68041
|
// src/antigravity/cloudUpstream.ts
|
|
67949
68042
|
function isCcpaEndpoint(endpoint) {
|
|
67950
68043
|
return endpoint.includes("cloudcode-pa.googleapis.com");
|
|
@@ -68129,14 +68222,14 @@ function parseRetryAfterSeconds(raw, defaultSeconds = DEFAULT_RETRY_AFTER_SECOND
|
|
|
68129
68222
|
}
|
|
68130
68223
|
const parsedDate = Date.parse(raw);
|
|
68131
68224
|
if (!Number.isNaN(parsedDate)) {
|
|
68132
|
-
const diffSec = Math.ceil((parsedDate - Date.now()) /
|
|
68225
|
+
const diffSec = Math.ceil((parsedDate - Date.now()) / MS_PER_SECOND9);
|
|
68133
68226
|
return Math.max(1, diffSec);
|
|
68134
68227
|
}
|
|
68135
68228
|
return defaultSeconds;
|
|
68136
68229
|
}
|
|
68137
68230
|
function unifiedAntigravityQuotaHeaders(params) {
|
|
68138
68231
|
const rejected = params.rejected === true;
|
|
68139
|
-
const nowSec = Math.floor(params.nowMs /
|
|
68232
|
+
const nowSec = Math.floor(params.nowMs / MS_PER_SECOND9);
|
|
68140
68233
|
const { fiveHour: b5h, weekly: bWk } = selectAntigravityBuckets(params.quota ?? {}, params.model);
|
|
68141
68234
|
const used5h = calculateUtilization(b5h?.remaining_fraction);
|
|
68142
68235
|
const reset5h = calculateResetTimestamp(nowSec, b5h?.reset_in_seconds);
|
|
@@ -68171,11 +68264,7 @@ function unifiedAntigravityQuotaHeaders(params) {
|
|
|
68171
68264
|
}
|
|
68172
68265
|
}
|
|
68173
68266
|
if (exhaustion !== void 0) {
|
|
68174
|
-
headers
|
|
68175
|
-
headers["anthropic-ratelimit-unified-reset"] = String(exhaustion.resetSec);
|
|
68176
|
-
headers["retry-after"] = String(Math.max(1, exhaustion.resetSec - nowSec));
|
|
68177
|
-
headers["x-should-retry"] = "false";
|
|
68178
|
-
return headers;
|
|
68267
|
+
return { ...headers, ...exhaustionHeaders({ window: exhaustion.window, resetSec: exhaustion.resetSec, nowSec }) };
|
|
68179
68268
|
}
|
|
68180
68269
|
if (earliestResetSec !== void 0) {
|
|
68181
68270
|
headers["anthropic-ratelimit-unified-reset"] = String(earliestResetSec);
|
|
@@ -68184,7 +68273,7 @@ function unifiedAntigravityQuotaHeaders(params) {
|
|
|
68184
68273
|
}
|
|
68185
68274
|
function antigravityQuotaExhaustion(quota, model, nowMs) {
|
|
68186
68275
|
const { fiveHour, weekly } = selectAntigravityBuckets(quota ?? {}, model);
|
|
68187
|
-
const nowSec = Math.floor(nowMs /
|
|
68276
|
+
const nowSec = Math.floor(nowMs / MS_PER_SECOND9);
|
|
68188
68277
|
const spent = [];
|
|
68189
68278
|
for (const [window, bucket] of [["five_hour", fiveHour], ["seven_day", weekly]]) {
|
|
68190
68279
|
const remaining = bucket?.remaining_fraction;
|
|
@@ -68205,7 +68294,7 @@ function bucketToEntry(bucket, nowMs) {
|
|
|
68205
68294
|
}
|
|
68206
68295
|
const remainingFraction = typeof bucket.remainingFraction === "number" && Number.isFinite(bucket.remainingFraction) ? bucket.remainingFraction : void 0;
|
|
68207
68296
|
const resetMs = typeof bucket.resetTime === "string" ? Date.parse(bucket.resetTime) : Number.NaN;
|
|
68208
|
-
const resetInSeconds = Number.isNaN(resetMs) ? void 0 : Math.max(0, Math.ceil((resetMs - nowMs) /
|
|
68297
|
+
const resetInSeconds = Number.isNaN(resetMs) ? void 0 : Math.max(0, Math.ceil((resetMs - nowMs) / MS_PER_SECOND9));
|
|
68209
68298
|
if (remainingFraction === void 0 && resetInSeconds === void 0) {
|
|
68210
68299
|
return void 0;
|
|
68211
68300
|
}
|
|
@@ -68285,17 +68374,18 @@ function createCachedAntigravityQuotaSource(params) {
|
|
|
68285
68374
|
};
|
|
68286
68375
|
}
|
|
68287
68376
|
function ageQuotaMap(quota, elapsedMs) {
|
|
68288
|
-
const elapsedSec = elapsedMs /
|
|
68377
|
+
const elapsedSec = elapsedMs / MS_PER_SECOND9;
|
|
68289
68378
|
return Object.fromEntries(
|
|
68290
68379
|
Object.entries(quota).map(([key, bucket]) => [key, bucket?.reset_in_seconds === void 0 ? bucket : { ...bucket, reset_in_seconds: Math.max(0, bucket.reset_in_seconds - elapsedSec) }])
|
|
68291
68380
|
);
|
|
68292
68381
|
}
|
|
68293
|
-
var
|
|
68382
|
+
var MS_PER_SECOND9, DEFAULT_RETRY_AFTER_SECONDS, FRACTION_DIGITS, GEMINI_5H_KEYS, GEMINI_WEEKLY_KEYS, ARGON_WEEKLY_KEYS, THIRD_PARTY_5H_KEYS, THIRD_PARTY_WEEKLY_KEYS, QUOTA_FAMILY_WINDOWS, SECONDS_PER_HOUR, HOURS_PER_FIVE_HOUR_WINDOW, DAYS_PER_WEEK, HOURS_PER_DAY3, FIVE_HOUR_PERIOD_SECONDS, WEEK_PERIOD_SECONDS, ANTIGRAVITY_QUOTA_REFRESH_MS;
|
|
68294
68383
|
var init_quota = __esm({
|
|
68295
68384
|
"src/antigravity/quota.ts"() {
|
|
68296
68385
|
"use strict";
|
|
68386
|
+
init_unifiedRefusal();
|
|
68297
68387
|
init_cloudUpstream();
|
|
68298
|
-
|
|
68388
|
+
MS_PER_SECOND9 = 1e3;
|
|
68299
68389
|
DEFAULT_RETRY_AFTER_SECONDS = 60;
|
|
68300
68390
|
FRACTION_DIGITS = 3;
|
|
68301
68391
|
GEMINI_5H_KEYS = ["gemini-5h", "gemini_5h", "gemini"];
|
|
@@ -68985,7 +69075,7 @@ async function fetchCatalogue(params) {
|
|
|
68985
69075
|
}
|
|
68986
69076
|
throw new CatalogueFetchError(`no catalogue from ${outcomes.join("; ")}`);
|
|
68987
69077
|
}
|
|
68988
|
-
var import_picomatch3, DEFAULT_CANDIDATE_URLS,
|
|
69078
|
+
var import_picomatch3, DEFAULT_CANDIDATE_URLS, MS_PER_SECOND10, SECONDS_PER_HOUR3, HOURS_PER_DAY4, MS_PER_HOUR3, HOURS_BETWEEN_RETRIES, HTTP_OK, HTTP_MULTIPLE_CHOICES, CATALOGUE_MAX_AGE_MS, CATALOGUE_RETRY_MS, CATALOGUE_REQUEST_SECONDS, CATALOGUE_REQUEST_TIMEOUT_MS, CATALOGUE_REFRESH_TIMEOUT_MS, CatalogueModelSchema, CatalogueCacheSchema, CatalogueFetchError;
|
|
68989
69079
|
var init_providerCatalogue = __esm({
|
|
68990
69080
|
"src/providerCatalogue.ts"() {
|
|
68991
69081
|
"use strict";
|
|
@@ -68993,17 +69083,17 @@ var init_providerCatalogue = __esm({
|
|
|
68993
69083
|
init_zod();
|
|
68994
69084
|
init_names();
|
|
68995
69085
|
DEFAULT_CANDIDATE_URLS = 2;
|
|
68996
|
-
|
|
69086
|
+
MS_PER_SECOND10 = 1e3;
|
|
68997
69087
|
SECONDS_PER_HOUR3 = 3600;
|
|
68998
69088
|
HOURS_PER_DAY4 = 24;
|
|
68999
|
-
MS_PER_HOUR3 = SECONDS_PER_HOUR3 *
|
|
69089
|
+
MS_PER_HOUR3 = SECONDS_PER_HOUR3 * MS_PER_SECOND10;
|
|
69000
69090
|
HOURS_BETWEEN_RETRIES = 1;
|
|
69001
69091
|
HTTP_OK = 200;
|
|
69002
69092
|
HTTP_MULTIPLE_CHOICES = 300;
|
|
69003
69093
|
CATALOGUE_MAX_AGE_MS = HOURS_PER_DAY4 * MS_PER_HOUR3;
|
|
69004
69094
|
CATALOGUE_RETRY_MS = HOURS_BETWEEN_RETRIES * MS_PER_HOUR3;
|
|
69005
69095
|
CATALOGUE_REQUEST_SECONDS = 10;
|
|
69006
|
-
CATALOGUE_REQUEST_TIMEOUT_MS = CATALOGUE_REQUEST_SECONDS *
|
|
69096
|
+
CATALOGUE_REQUEST_TIMEOUT_MS = CATALOGUE_REQUEST_SECONDS * MS_PER_SECOND10;
|
|
69007
69097
|
CATALOGUE_REFRESH_TIMEOUT_MS = DEFAULT_CANDIDATE_URLS * CATALOGUE_REQUEST_TIMEOUT_MS;
|
|
69008
69098
|
CatalogueModelSchema = external_exports.strictObject({ id: external_exports.string().min(1), name: external_exports.string().min(1).optional() });
|
|
69009
69099
|
CatalogueCacheSchema = external_exports.strictObject({ fetchedAt: external_exports.number(), url: external_exports.string().min(1), models: external_exports.array(CatalogueModelSchema) });
|
|
@@ -70293,7 +70383,7 @@ function quotaFreshnessMs(quota) {
|
|
|
70293
70383
|
const lengths = quota.windows.flatMap((window) => window.periodMs === void 0 ? [] : [window.periodMs]);
|
|
70294
70384
|
return lengths.length === 0 ? Number.POSITIVE_INFINITY : Math.min(...lengths) / PERCENT3;
|
|
70295
70385
|
}
|
|
70296
|
-
var ProviderQuotaError,
|
|
70386
|
+
var ProviderQuotaError, MS_PER_SECOND11, SECONDS_PER_HOUR4, HOURS_PER_DAY5, DAYS_PER_MONTH, PERCENT3, HTTP_OK2, ZAI_SOURCE, ZAI_HOST, ZAI_QUOTA_URL, ZAI_UNIT_HOURS, ZAI_UNIT_MONTHS, ZAI_UNIT_MS, ZAI_MEASURES, ZaiLimitSchema, ZaiResponseSchema, zaiQuotaAdapter, OPENROUTER_SOURCE, OPENROUTER_HOST, OPENROUTER_KEY_URL, OPENROUTER_CREDITS_URL, HTTP_FORBIDDEN, MS_PER_DAY3, OpenRouterKeySchema, OpenRouterCreditsSchema, openRouterQuotaAdapter, ANTIGRAVITY_SOURCE, ANTIGRAVITY_HOST, ANTIGRAVITY_QUOTA_URL, ANTIGRAVITY_USER_URL, GOOGLE_TOKENINFO_URL, FIVE_HOURS2, DAYS_PER_WEEK2, FIVE_HOURS_MS, WEEK_MS, AntigravityBucketSchema, AntigravitySummarySchema, GoogleTokenInfoSchema, AntigravityUserSchema, ANTIGRAVITY_WINDOW_MS, antigravityQuotaAdapter, PROVIDER_QUOTA_ADAPTERS;
|
|
70297
70387
|
var init_providerQuota = __esm({
|
|
70298
70388
|
"src/usage/providerQuota.ts"() {
|
|
70299
70389
|
"use strict";
|
|
@@ -70306,7 +70396,7 @@ var init_providerQuota = __esm({
|
|
|
70306
70396
|
this.name = "ProviderQuotaError";
|
|
70307
70397
|
}
|
|
70308
70398
|
};
|
|
70309
|
-
|
|
70399
|
+
MS_PER_SECOND11 = 1e3;
|
|
70310
70400
|
SECONDS_PER_HOUR4 = 3600;
|
|
70311
70401
|
HOURS_PER_DAY5 = 24;
|
|
70312
70402
|
DAYS_PER_MONTH = 30;
|
|
@@ -70318,8 +70408,8 @@ var init_providerQuota = __esm({
|
|
|
70318
70408
|
ZAI_UNIT_HOURS = 3;
|
|
70319
70409
|
ZAI_UNIT_MONTHS = 5;
|
|
70320
70410
|
ZAI_UNIT_MS = /* @__PURE__ */ new Map([
|
|
70321
|
-
[ZAI_UNIT_HOURS, SECONDS_PER_HOUR4 *
|
|
70322
|
-
[ZAI_UNIT_MONTHS, DAYS_PER_MONTH * HOURS_PER_DAY5 * SECONDS_PER_HOUR4 *
|
|
70411
|
+
[ZAI_UNIT_HOURS, SECONDS_PER_HOUR4 * MS_PER_SECOND11],
|
|
70412
|
+
[ZAI_UNIT_MONTHS, DAYS_PER_MONTH * HOURS_PER_DAY5 * SECONDS_PER_HOUR4 * MS_PER_SECOND11]
|
|
70323
70413
|
]);
|
|
70324
70414
|
ZAI_MEASURES = { TOKENS_LIMIT: "tokens", TIME_LIMIT: "tool-calls" };
|
|
70325
70415
|
ZaiLimitSchema = external_exports.object({
|
|
@@ -70371,7 +70461,7 @@ var init_providerQuota = __esm({
|
|
|
70371
70461
|
OPENROUTER_KEY_URL = `https://${OPENROUTER_HOST}/api/v1/key`;
|
|
70372
70462
|
OPENROUTER_CREDITS_URL = `https://${OPENROUTER_HOST}/api/v1/credits`;
|
|
70373
70463
|
HTTP_FORBIDDEN = 403;
|
|
70374
|
-
MS_PER_DAY3 = HOURS_PER_DAY5 * SECONDS_PER_HOUR4 *
|
|
70464
|
+
MS_PER_DAY3 = HOURS_PER_DAY5 * SECONDS_PER_HOUR4 * MS_PER_SECOND11;
|
|
70375
70465
|
OpenRouterKeySchema = external_exports.object({
|
|
70376
70466
|
data: external_exports.object({
|
|
70377
70467
|
limit: external_exports.number().nonnegative().nullable(),
|
|
@@ -70419,8 +70509,8 @@ var init_providerQuota = __esm({
|
|
|
70419
70509
|
GOOGLE_TOKENINFO_URL = "https://oauth2.googleapis.com/tokeninfo";
|
|
70420
70510
|
FIVE_HOURS2 = 5;
|
|
70421
70511
|
DAYS_PER_WEEK2 = 7;
|
|
70422
|
-
FIVE_HOURS_MS = FIVE_HOURS2 * SECONDS_PER_HOUR4 *
|
|
70423
|
-
WEEK_MS = DAYS_PER_WEEK2 * HOURS_PER_DAY5 * SECONDS_PER_HOUR4 *
|
|
70512
|
+
FIVE_HOURS_MS = FIVE_HOURS2 * SECONDS_PER_HOUR4 * MS_PER_SECOND11;
|
|
70513
|
+
WEEK_MS = DAYS_PER_WEEK2 * HOURS_PER_DAY5 * SECONDS_PER_HOUR4 * MS_PER_SECOND11;
|
|
70424
70514
|
AntigravityBucketSchema = external_exports.object({
|
|
70425
70515
|
bucketId: external_exports.string(),
|
|
70426
70516
|
remainingFraction: external_exports.number().optional(),
|
|
@@ -134592,9 +134682,9 @@ function unifiedQuotaHeaders(upstream, rejected, quotaError) {
|
|
|
134592
134682
|
}
|
|
134593
134683
|
return headers;
|
|
134594
134684
|
}
|
|
134595
|
-
var
|
|
134685
|
+
var MS_PER_SECOND12 = 1e3;
|
|
134596
134686
|
function snapshotWindow(reading) {
|
|
134597
|
-
return reading === void 0 ? void 0 : { used_percentage: reading.usedPercent, resets_at: new Date(Number(reading.resetAt) *
|
|
134687
|
+
return reading === void 0 ? void 0 : { used_percentage: reading.usedPercent, resets_at: new Date(Number(reading.resetAt) * MS_PER_SECOND12).toISOString() };
|
|
134598
134688
|
}
|
|
134599
134689
|
function buildUsageSnapshot(upstream, quotaError, nowMs) {
|
|
134600
134690
|
const { fiveHour, sevenDay } = windowReadings(upstream, quotaError !== void 0, quotaError);
|
|
@@ -135387,11 +135477,11 @@ async function* callLocalAntigravity(params) {
|
|
|
135387
135477
|
|
|
135388
135478
|
// src/antigravity/route.ts
|
|
135389
135479
|
init_quota();
|
|
135390
|
-
var
|
|
135480
|
+
var MS_PER_SECOND13 = 1e3;
|
|
135391
135481
|
var ROUTING_MEMORY_SESSIONS = 256;
|
|
135392
135482
|
function exhaustedMessage(exhaustion) {
|
|
135393
135483
|
const window = exhaustion.window === "five_hour" ? "5-hour" : "weekly";
|
|
135394
|
-
return `Antigravity ${window} limit reached; it resets at ${new Date(exhaustion.resetSec *
|
|
135484
|
+
return `Antigravity ${window} limit reached; it resets at ${new Date(exhaustion.resetSec * MS_PER_SECOND13).toISOString()}.`;
|
|
135395
135485
|
}
|
|
135396
135486
|
function createAntigravityRoute(ports) {
|
|
135397
135487
|
const fallbackId = ports.fallbackId ?? (() => (0, import_node_crypto23.randomUUID)());
|
|
@@ -135652,6 +135742,9 @@ init_connect();
|
|
|
135652
135742
|
var http5 = __toESM(require("node:http"), 1);
|
|
135653
135743
|
var https4 = __toESM(require("node:https"), 1);
|
|
135654
135744
|
init_connect();
|
|
135745
|
+
init_unifiedRefusal();
|
|
135746
|
+
var TOO_MANY_REQUESTS3 = 429;
|
|
135747
|
+
var REFUSAL_BODY_LIMIT_BYTES = 16384;
|
|
135655
135748
|
function responseHeaders2(headers) {
|
|
135656
135749
|
const result = {};
|
|
135657
135750
|
for (const [name, value2] of Object.entries(forwardableHeaders(headers))) {
|
|
@@ -135686,19 +135779,48 @@ function createPassthroughRoute(name, target) {
|
|
|
135686
135779
|
agent
|
|
135687
135780
|
};
|
|
135688
135781
|
const onUpstreamResponse = (upstreamResponse) => {
|
|
135689
|
-
|
|
135690
|
-
|
|
135782
|
+
const status = upstreamResponse.statusCode ?? HTTP_STATUS.badGateway;
|
|
135783
|
+
const head = responseHeaders2(upstreamResponse.headers);
|
|
135784
|
+
const chunks = upstreamChunks(upstreamResponse);
|
|
135691
135785
|
const stream = async () => {
|
|
135692
135786
|
try {
|
|
135693
|
-
|
|
135694
|
-
|
|
135695
|
-
|
|
135787
|
+
const held = [];
|
|
135788
|
+
let finished = false;
|
|
135789
|
+
if (status === TOO_MANY_REQUESTS3) {
|
|
135790
|
+
let heldBytes = 0;
|
|
135791
|
+
while (heldBytes <= REFUSAL_BODY_LIMIT_BYTES) {
|
|
135792
|
+
const next = await chunks.next();
|
|
135793
|
+
if (next.done === true) {
|
|
135794
|
+
finished = true;
|
|
135795
|
+
break;
|
|
135796
|
+
}
|
|
135797
|
+
held.push(next.value);
|
|
135798
|
+
heldBytes += next.value.length;
|
|
135696
135799
|
}
|
|
135800
|
+
}
|
|
135801
|
+
const translated = finished ? quotaRefusalHeaders({ status, headers: head, body: Buffer.concat(held), nowMs: Date.now() }) : void 0;
|
|
135802
|
+
response.start(status, { ...head, ...translated });
|
|
135803
|
+
response.flush();
|
|
135804
|
+
for (const chunk2 of held) {
|
|
135697
135805
|
await response.write(chunk2);
|
|
135698
135806
|
}
|
|
135807
|
+
if (!finished) {
|
|
135808
|
+
for await (const chunk2 of chunks) {
|
|
135809
|
+
if (request7.signal.aborted) {
|
|
135810
|
+
return;
|
|
135811
|
+
}
|
|
135812
|
+
await response.write(chunk2);
|
|
135813
|
+
}
|
|
135814
|
+
}
|
|
135699
135815
|
response.end();
|
|
135700
135816
|
} catch {
|
|
135701
|
-
response.
|
|
135817
|
+
if (response.headersSent) {
|
|
135818
|
+
response.destroy();
|
|
135819
|
+
} else {
|
|
135820
|
+
response.start(HTTP_STATUS.badGateway, { "Content-Type": "application/json" });
|
|
135821
|
+
await response.write(JSON.stringify({ type: "error", error: { type: "api_error", message: `upstream ${target.baseUrl} dropped the connection` } }));
|
|
135822
|
+
response.end();
|
|
135823
|
+
}
|
|
135702
135824
|
}
|
|
135703
135825
|
resolve3(void 0);
|
|
135704
135826
|
};
|
|
@@ -136512,7 +136634,7 @@ init_account();
|
|
|
136512
136634
|
var RC_SELF_HOST_OAUTH_HOST = "platform.claude.com";
|
|
136513
136635
|
var RC_SELF_HOST_SCOPE_LIST = ["user:profile", "user:inference", "user:sessions:claude_code", "user:mcp_servers", "user:file_upload"];
|
|
136514
136636
|
var RC_SELF_HOST_OAUTH_TOKEN_TTL_SECONDS = 3600;
|
|
136515
|
-
var
|
|
136637
|
+
var MS_PER_SECOND14 = 1e3;
|
|
136516
136638
|
var HTTP_SERVICE_UNAVAILABLE = 503;
|
|
136517
136639
|
function isRecord15(value2) {
|
|
136518
136640
|
return typeof value2 === "object" && value2 !== null && !Array.isArray(value2);
|
|
@@ -136568,7 +136690,7 @@ function createRcSelfHostLocal(deps) {
|
|
|
136568
136690
|
}
|
|
136569
136691
|
if (method === "POST" && pathname.startsWith("/api/eval/")) {
|
|
136570
136692
|
await deps.readBody(request7, CONTROL_BODY_CAP_BYTES);
|
|
136571
|
-
answerServerJson(response, HTTP_STATUS.ok, { features: growthBookFeatures(), dateUpdated: Math.floor(deps.now() /
|
|
136693
|
+
answerServerJson(response, HTTP_STATUS.ok, { features: growthBookFeatures(), dateUpdated: Math.floor(deps.now() / MS_PER_SECOND14) });
|
|
136572
136694
|
return true;
|
|
136573
136695
|
}
|
|
136574
136696
|
if (method === "GET" && pathname === "/api/oauth/profile") {
|
|
@@ -136752,12 +136874,12 @@ function eventExcerpt(text5) {
|
|
|
136752
136874
|
return text5.length <= RC_PENDING_SUMMARY_EXCERPT_CHARS ? text5 : `${text5.slice(0, RC_PENDING_SUMMARY_EXCERPT_CHARS)}...`;
|
|
136753
136875
|
}
|
|
136754
136876
|
var PERCENT_SCALE = 100;
|
|
136755
|
-
var
|
|
136877
|
+
var MS_PER_SECOND15 = 1e3;
|
|
136756
136878
|
function percentOf(fraction) {
|
|
136757
136879
|
return `${String(Math.round(fraction * PERCENT_SCALE))}%`;
|
|
136758
136880
|
}
|
|
136759
136881
|
function resetInstantOf(epochSeconds) {
|
|
136760
|
-
return new Date(epochSeconds *
|
|
136882
|
+
return new Date(epochSeconds * MS_PER_SECOND15).toISOString();
|
|
136761
136883
|
}
|
|
136762
136884
|
function formatRcRateLimitInfo(info) {
|
|
136763
136885
|
const parts = [info.status];
|
|
@@ -138192,7 +138314,7 @@ var RC_COMPAT_SESSIONS_PATH = "/v1/sessions";
|
|
|
138192
138314
|
var RC_SESSION_ID_PREFIX2 = "cse_";
|
|
138193
138315
|
var RC_SELF_HOST_API_BASE_URL = "https://api.anthropic.com";
|
|
138194
138316
|
var HTTP_CONFLICT = 409;
|
|
138195
|
-
var
|
|
138317
|
+
var MS_PER_SECOND16 = 1e3;
|
|
138196
138318
|
var HTTP_SERVICE_UNAVAILABLE2 = 503;
|
|
138197
138319
|
var RC_SELF_HOST_WORKER_JWT_TTL_SECONDS = 46800;
|
|
138198
138320
|
var RC_SELF_HOST_KEEPALIVE_MS = 15e3;
|
|
@@ -138292,7 +138414,7 @@ function parseJsonObject5(body) {
|
|
|
138292
138414
|
function mintWorkerJwt(randomToken, issuedAt) {
|
|
138293
138415
|
const encode3 = (value2) => Buffer.from(JSON.stringify(value2), "utf8").toString("base64url");
|
|
138294
138416
|
const header = encode3({ alg: "HS256", typ: "JWT" });
|
|
138295
|
-
const payload = encode3({ exp: Math.floor((issuedAt + RC_SELF_HOST_WORKER_JWT_TTL_SECONDS *
|
|
138417
|
+
const payload = encode3({ exp: Math.floor((issuedAt + RC_SELF_HOST_WORKER_JWT_TTL_SECONDS * MS_PER_SECOND16) / MS_PER_SECOND16), iat: Math.floor(issuedAt / MS_PER_SECOND16) });
|
|
138296
138418
|
return `${header}.${payload}.${Buffer.from(randomToken(), "utf8").toString("base64url")}`;
|
|
138297
138419
|
}
|
|
138298
138420
|
function createRcSelfHostSurface(deps) {
|
|
@@ -139540,7 +139662,7 @@ function createRealQuotaRefresher(params) {
|
|
|
139540
139662
|
// src/frontdoor/commands.ts
|
|
139541
139663
|
init_store2();
|
|
139542
139664
|
var MACOS_SAMPLER = "/usr/bin/sample";
|
|
139543
|
-
var
|
|
139665
|
+
var MS_PER_SECOND17 = 1e3;
|
|
139544
139666
|
function readRespawnDelayMs() {
|
|
139545
139667
|
const delay = Number(process.env[DOOR_RESPAWN_DELAY_ENV]);
|
|
139546
139668
|
return Number.isInteger(delay) && delay > 0 ? delay : 0;
|
|
@@ -140053,7 +140175,7 @@ function realFrontDoorSupervisorPorts(paths, respawnGeneration, lifecycle, track
|
|
|
140053
140175
|
cooldownStepMs: DOOR_STALL_BOUND_MS,
|
|
140054
140176
|
cooldownCapMs: DOOR_RESPAWN_COOLDOWN_CAP_MS,
|
|
140055
140177
|
startLockFile: paths.frontdoorLockFile,
|
|
140056
|
-
...process.platform === "darwin" ? { nativeSample: { command: MACOS_SAMPLER, args: ["{pid}", "{seconds}", "-file", "{file}"], directory: import_node_path54.default.join(import_node_path54.default.dirname(paths.frontdoorLogPath), "stall-samples"), seconds: Math.max(1, Math.ceil(DOOR_WATCHDOG_CHECK_MS /
|
|
140178
|
+
...process.platform === "darwin" ? { nativeSample: { command: MACOS_SAMPLER, args: ["{pid}", "{seconds}", "-file", "{file}"], directory: import_node_path54.default.join(import_node_path54.default.dirname(paths.frontdoorLogPath), "stall-samples"), seconds: Math.max(1, Math.ceil(DOOR_WATCHDOG_CHECK_MS / MS_PER_SECOND17)), overheadMs: PROBE_TIMEOUT_MS, keep: DOOR_RESPAWN_MAX_GENERATIONS + 1 } } : {}
|
|
140057
140179
|
}),
|
|
140058
140180
|
// The launch lifecycle publisher over the same backbone the typed API serves: the tick's registry facts go in here, and the door's own register, prune and end moments come out as source-tagged events.
|
|
140059
140181
|
observeLaunchRegistry: createLaunchEventPublisher(doorEvents, () => Date.now()).observe,
|
|
@@ -140272,7 +140394,7 @@ var realHeadroomGet = async (target, requestPath, timeoutMs) => {
|
|
|
140272
140394
|
// src/statusline/enrich.ts
|
|
140273
140395
|
init_quota();
|
|
140274
140396
|
var FULL_PERCENT2 = 100;
|
|
140275
|
-
var
|
|
140397
|
+
var MS_PER_SECOND18 = 1e3;
|
|
140276
140398
|
function identityOf(env) {
|
|
140277
140399
|
const headers = env.ANTHROPIC_CUSTOM_HEADERS;
|
|
140278
140400
|
if (headers !== void 0) {
|
|
@@ -140340,7 +140462,7 @@ function payloadWindow(rateLimits, key) {
|
|
|
140340
140462
|
const resetsAt = window.resets_at;
|
|
140341
140463
|
return {
|
|
140342
140464
|
used: Math.min(FULL_PERCENT2, Math.max(0, window.used_percentage)),
|
|
140343
|
-
resetAt: typeof resetsAt === "number" && Number.isFinite(resetsAt) ? isoOf(resetsAt *
|
|
140465
|
+
resetAt: typeof resetsAt === "number" && Number.isFinite(resetsAt) ? isoOf(resetsAt * MS_PER_SECOND18) : void 0
|
|
140344
140466
|
};
|
|
140345
140467
|
}
|
|
140346
140468
|
function payloadWindowsOf(payload) {
|
|
@@ -140368,7 +140490,7 @@ function antigravityQuotaMapOf(payload) {
|
|
|
140368
140490
|
function bucketView(bucket, nowMs) {
|
|
140369
140491
|
return {
|
|
140370
140492
|
used: bucket?.remaining_fraction === void 0 || !Number.isFinite(bucket.remaining_fraction) ? void 0 : (1 - Math.min(1, Math.max(0, bucket.remaining_fraction))) * FULL_PERCENT2,
|
|
140371
|
-
resetAt: bucket?.reset_in_seconds === void 0 || !Number.isFinite(bucket.reset_in_seconds) ? void 0 : isoOf(nowMs + bucket.reset_in_seconds *
|
|
140493
|
+
resetAt: bucket?.reset_in_seconds === void 0 || !Number.isFinite(bucket.reset_in_seconds) ? void 0 : isoOf(nowMs + bucket.reset_in_seconds * MS_PER_SECOND18)
|
|
140372
140494
|
};
|
|
140373
140495
|
}
|
|
140374
140496
|
function antigravityWindowsOf(payload, nowMs) {
|
|
@@ -140444,7 +140566,7 @@ function enrichStatuslinePayload(params) {
|
|
|
140444
140566
|
window.measures,
|
|
140445
140567
|
{
|
|
140446
140568
|
remaining_fraction: 1 - window.utilization,
|
|
140447
|
-
...window.resetsAt === void 0 ? {} : { reset_in_seconds: (Date.parse(window.resetsAt) - params.nowMs) /
|
|
140569
|
+
...window.resetsAt === void 0 ? {} : { reset_in_seconds: (Date.parse(window.resetsAt) - params.nowMs) / MS_PER_SECOND18 }
|
|
140448
140570
|
}
|
|
140449
140571
|
])
|
|
140450
140572
|
);
|
|
@@ -141062,6 +141184,13 @@ function runWithOutputInFile(runRoot, timeoutMs, file2, args, cwd) {
|
|
|
141062
141184
|
}
|
|
141063
141185
|
}
|
|
141064
141186
|
}
|
|
141187
|
+
function isRegularFile(file2) {
|
|
141188
|
+
try {
|
|
141189
|
+
return import_node_fs23.default.statSync(file2).isFile();
|
|
141190
|
+
} catch {
|
|
141191
|
+
return false;
|
|
141192
|
+
}
|
|
141193
|
+
}
|
|
141065
141194
|
function readText(file2) {
|
|
141066
141195
|
try {
|
|
141067
141196
|
return import_node_fs23.default.readFileSync(file2, "utf8");
|
|
@@ -141099,6 +141228,9 @@ function realStatuslinePorts(env, stateDirectory, runTimeoutMs = RUN_TIMEOUT_MS)
|
|
|
141099
141228
|
readText,
|
|
141100
141229
|
readRange: (file2, start, length) => {
|
|
141101
141230
|
try {
|
|
141231
|
+
if (!isRegularFile(file2)) {
|
|
141232
|
+
return void 0;
|
|
141233
|
+
}
|
|
141102
141234
|
const descriptor = import_node_fs23.default.openSync(file2, "r");
|
|
141103
141235
|
try {
|
|
141104
141236
|
const { size } = import_node_fs23.default.fstatSync(descriptor);
|
|
@@ -141542,12 +141674,12 @@ function dailyCostSegment(context) {
|
|
|
141542
141674
|
}
|
|
141543
141675
|
|
|
141544
141676
|
// src/statusline/elements/sessionFormat.ts
|
|
141545
|
-
var
|
|
141677
|
+
var MS_PER_SECOND19 = 1e3;
|
|
141546
141678
|
var SECONDS_PER_MINUTE3 = 60;
|
|
141547
141679
|
var MINUTES_PER_HOUR5 = 60;
|
|
141548
141680
|
var HOURS_PER_DAY9 = 24;
|
|
141549
141681
|
function formatElapsed(ms2) {
|
|
141550
|
-
const minutes = Math.floor(ms2 / (
|
|
141682
|
+
const minutes = Math.floor(ms2 / (MS_PER_SECOND19 * SECONDS_PER_MINUTE3));
|
|
141551
141683
|
if (minutes < 1) {
|
|
141552
141684
|
return "<1m";
|
|
141553
141685
|
}
|
|
@@ -141557,10 +141689,10 @@ function formatElapsed(ms2) {
|
|
|
141557
141689
|
return `${String(Math.floor(minutes / MINUTES_PER_HOUR5))}h ${String(minutes % MINUTES_PER_HOUR5)}m`;
|
|
141558
141690
|
}
|
|
141559
141691
|
function formatSpan(ms2) {
|
|
141560
|
-
if (ms2 <
|
|
141692
|
+
if (ms2 < MS_PER_SECOND19) {
|
|
141561
141693
|
return "<1s";
|
|
141562
141694
|
}
|
|
141563
|
-
const seconds = Math.floor(ms2 /
|
|
141695
|
+
const seconds = Math.floor(ms2 / MS_PER_SECOND19);
|
|
141564
141696
|
if (seconds < SECONDS_PER_MINUTE3) {
|
|
141565
141697
|
return `${String(seconds)}s`;
|
|
141566
141698
|
}
|
|
@@ -141577,7 +141709,7 @@ function formatAgo(ms2, t10) {
|
|
|
141577
141709
|
if (ms2 < 0) {
|
|
141578
141710
|
return t10("time.justNow");
|
|
141579
141711
|
}
|
|
141580
|
-
const seconds = Math.floor(ms2 /
|
|
141712
|
+
const seconds = Math.floor(ms2 / MS_PER_SECOND19);
|
|
141581
141713
|
if (seconds < SECONDS_PER_MINUTE3) {
|
|
141582
141714
|
return t10("time.ago", { value: `${String(seconds)}s` });
|
|
141583
141715
|
}
|
|
@@ -141867,8 +141999,8 @@ var RETENTION_DAYS = 30;
|
|
|
141867
141999
|
var HOURS_PER_DAY10 = 24;
|
|
141868
142000
|
var MINUTES_PER_HOUR6 = 60;
|
|
141869
142001
|
var SECONDS_PER_MINUTE4 = 60;
|
|
141870
|
-
var
|
|
141871
|
-
var CACHE_RETENTION_MS = RETENTION_DAYS * HOURS_PER_DAY10 * MINUTES_PER_HOUR6 * SECONDS_PER_MINUTE4 *
|
|
142002
|
+
var MS_PER_SECOND20 = 1e3;
|
|
142003
|
+
var CACHE_RETENTION_MS = RETENTION_DAYS * HOURS_PER_DAY10 * MINUTES_PER_HOUR6 * SECONDS_PER_MINUTE4 * MS_PER_SECOND20;
|
|
141872
142004
|
function pruneCache(ports, cutoffMs) {
|
|
141873
142005
|
const directory = cacheDirectory(ports);
|
|
141874
142006
|
const names = ports.listDirectory(directory);
|
|
@@ -141911,7 +142043,7 @@ var MIN_SPEED_GAP_MS = 500;
|
|
|
141911
142043
|
var TRANSCRIPT_BYTES_PER_TOKEN = 4;
|
|
141912
142044
|
var SpeedSampleSchema = external_exports.strictObject({ at: external_exports.number(), outputTokens: external_exports.number().optional(), transcriptBytes: external_exports.number().optional() });
|
|
141913
142045
|
var CACHE_KIND = "speed";
|
|
141914
|
-
var
|
|
142046
|
+
var MS_PER_SECOND21 = 1e3;
|
|
141915
142047
|
function tokensOf(sample, basis) {
|
|
141916
142048
|
const value2 = sample[basis];
|
|
141917
142049
|
return basis === "transcriptBytes" && value2 !== void 0 ? value2 / TRANSCRIPT_BYTES_PER_TOKEN : value2;
|
|
@@ -141933,7 +142065,7 @@ function speedBetween(previous, current) {
|
|
|
141933
142065
|
if (gapMs < MIN_SPEED_GAP_MS) {
|
|
141934
142066
|
return { tokensPerSecond: void 0, remember: false };
|
|
141935
142067
|
}
|
|
141936
|
-
return { tokensPerSecond: (now - before) / (gapMs /
|
|
142068
|
+
return { tokensPerSecond: (now - before) / (gapMs / MS_PER_SECOND21), remember: true };
|
|
141937
142069
|
}
|
|
141938
142070
|
function trackSpeed(ports, transcriptPath, current) {
|
|
141939
142071
|
const file2 = cacheFileFor(ports, CACHE_KIND, transcriptPath);
|
|
@@ -142728,7 +142860,7 @@ function formatWallClock(atMs, nowMs, clock, settings2) {
|
|
|
142728
142860
|
}
|
|
142729
142861
|
|
|
142730
142862
|
// src/statusline/elements/rows/promptCache.ts
|
|
142731
|
-
var
|
|
142863
|
+
var MS_PER_SECOND22 = 1e3;
|
|
142732
142864
|
var MIN_WARNING_SECONDS = 60;
|
|
142733
142865
|
var WARNING_FRACTION_DENOMINATOR = 5;
|
|
142734
142866
|
function warningSecondsOf(ttlSeconds) {
|
|
@@ -142741,13 +142873,13 @@ function promptCacheRow(context) {
|
|
|
142741
142873
|
}
|
|
142742
142874
|
const { palette, nowMs, settings: settings2, t: t10 } = context;
|
|
142743
142875
|
const ttlSeconds = cache.ttlSeconds ?? settings2.promptCache.ttlSeconds;
|
|
142744
|
-
const expiresAtMs = cache.anchorAtMs + ttlSeconds *
|
|
142876
|
+
const expiresAtMs = cache.anchorAtMs + ttlSeconds * MS_PER_SECOND22;
|
|
142745
142877
|
const remainingMs = expiresAtMs - nowMs;
|
|
142746
142878
|
const name = palette.paint("label", t10("promptCache.label"));
|
|
142747
142879
|
if (remainingMs <= 0) {
|
|
142748
142880
|
return { kind: "text", lines: [`${name} ${palette.paint("label", `\u23F1 ${t10("promptCache.expired")}`)}`] };
|
|
142749
142881
|
}
|
|
142750
|
-
const role = remainingMs <= warningSecondsOf(ttlSeconds) *
|
|
142882
|
+
const role = remainingMs <= warningSecondsOf(ttlSeconds) * MS_PER_SECOND22 ? "warning" : "context";
|
|
142751
142883
|
return { kind: "text", lines: [`${name} ${palette.paint(role, `\u23F1 ${t10("promptCache.until", { time: formatWallClock(expiresAtMs, nowMs, context.ports.clock, settings2.clock) })}`)}`] };
|
|
142752
142884
|
}
|
|
142753
142885
|
|
|
@@ -143738,7 +143870,7 @@ var MAX_OLDER_SHARE = 0.5;
|
|
|
143738
143870
|
var MAX_REMEMBERED_CALLS = callsRemembered(CALL_DIGEST_CHARS);
|
|
143739
143871
|
var MAX_SKIPPED_CALLS = callsSkippedAtMost(CALL_DIGEST_CHARS);
|
|
143740
143872
|
var MAX_COUNTED_NAMES = namesCounted(CALL_DIGEST_CHARS);
|
|
143741
|
-
var
|
|
143873
|
+
var MS_PER_SECOND23 = 1e3;
|
|
143742
143874
|
var SECONDS_PER_MINUTE5 = 60;
|
|
143743
143875
|
var MINUTES_PER_HOUR7 = 60;
|
|
143744
143876
|
var HOURS_PER_DAY11 = 24;
|
|
@@ -143751,7 +143883,7 @@ function timeoutFromEnv(env, name, fallback) {
|
|
|
143751
143883
|
function bashLiveLimitMs(env) {
|
|
143752
143884
|
return Math.max(timeoutFromEnv(env, "BASH_DEFAULT_TIMEOUT_MS", BASH_DEFAULT_TIMEOUT_MS), timeoutFromEnv(env, "BASH_MAX_TIMEOUT_MS", BASH_MAX_TIMEOUT_MS));
|
|
143753
143885
|
}
|
|
143754
|
-
var MAX_LIVE_AGENT_MS = HOURS_PER_DAY11 * MINUTES_PER_HOUR7 * SECONDS_PER_MINUTE5 *
|
|
143886
|
+
var MAX_LIVE_AGENT_MS = HOURS_PER_DAY11 * MINUTES_PER_HOUR7 * SECONDS_PER_MINUTE5 * MS_PER_SECOND23;
|
|
143755
143887
|
var AGENT_TOOLS = ["Task", "Agent"];
|
|
143756
143888
|
var TODO_WRITE_TOOL = "TodoWrite";
|
|
143757
143889
|
var TASK_CREATE_TOOL = "TaskCreate";
|
package/dist/index.cjs
CHANGED
|
@@ -4762,7 +4762,7 @@ var init_package = __esm({
|
|
|
4762
4762
|
"package.json"() {
|
|
4763
4763
|
package_default = {
|
|
4764
4764
|
name: "claude-use",
|
|
4765
|
-
version: "11.
|
|
4765
|
+
version: "11.68.1",
|
|
4766
4766
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
4767
4767
|
license: "MIT",
|
|
4768
4768
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -9740,6 +9740,15 @@ var init_engine = __esm({
|
|
|
9740
9740
|
}
|
|
9741
9741
|
});
|
|
9742
9742
|
|
|
9743
|
+
// src/usage/unifiedRefusal.ts
|
|
9744
|
+
var init_unifiedRefusal = __esm({
|
|
9745
|
+
"src/usage/unifiedRefusal.ts"() {
|
|
9746
|
+
"use strict";
|
|
9747
|
+
init_rateLimit();
|
|
9748
|
+
init_scan();
|
|
9749
|
+
}
|
|
9750
|
+
});
|
|
9751
|
+
|
|
9743
9752
|
// src/antigravity/cloudUpstream.ts
|
|
9744
9753
|
var init_cloudUpstream = __esm({
|
|
9745
9754
|
"src/antigravity/cloudUpstream.ts"() {
|
|
@@ -9752,6 +9761,7 @@ var SECONDS_PER_HOUR, HOURS_PER_FIVE_HOUR_WINDOW, DAYS_PER_WEEK, HOURS_PER_DAY4,
|
|
|
9752
9761
|
var init_quota = __esm({
|
|
9753
9762
|
"src/antigravity/quota.ts"() {
|
|
9754
9763
|
"use strict";
|
|
9764
|
+
init_unifiedRefusal();
|
|
9755
9765
|
init_cloudUpstream();
|
|
9756
9766
|
SECONDS_PER_HOUR = 3600;
|
|
9757
9767
|
HOURS_PER_FIVE_HOUR_WINDOW = 5;
|
package/dist/index.mjs
CHANGED
|
@@ -4738,7 +4738,7 @@ var init_package = __esm({
|
|
|
4738
4738
|
"package.json"() {
|
|
4739
4739
|
package_default = {
|
|
4740
4740
|
name: "claude-use",
|
|
4741
|
-
version: "11.
|
|
4741
|
+
version: "11.68.1",
|
|
4742
4742
|
description: "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
4743
4743
|
license: "MIT",
|
|
4744
4744
|
author: "Joseph Mearman <joseph@mearman.co.uk>",
|
|
@@ -9713,6 +9713,15 @@ var init_engine = __esm({
|
|
|
9713
9713
|
}
|
|
9714
9714
|
});
|
|
9715
9715
|
|
|
9716
|
+
// src/usage/unifiedRefusal.ts
|
|
9717
|
+
var init_unifiedRefusal = __esm({
|
|
9718
|
+
"src/usage/unifiedRefusal.ts"() {
|
|
9719
|
+
"use strict";
|
|
9720
|
+
init_rateLimit();
|
|
9721
|
+
init_scan();
|
|
9722
|
+
}
|
|
9723
|
+
});
|
|
9724
|
+
|
|
9716
9725
|
// src/antigravity/cloudUpstream.ts
|
|
9717
9726
|
var init_cloudUpstream = __esm({
|
|
9718
9727
|
"src/antigravity/cloudUpstream.ts"() {
|
|
@@ -9725,6 +9734,7 @@ var SECONDS_PER_HOUR, HOURS_PER_FIVE_HOUR_WINDOW, DAYS_PER_WEEK, HOURS_PER_DAY4,
|
|
|
9725
9734
|
var init_quota = __esm({
|
|
9726
9735
|
"src/antigravity/quota.ts"() {
|
|
9727
9736
|
"use strict";
|
|
9737
|
+
init_unifiedRefusal();
|
|
9728
9738
|
init_cloudUpstream();
|
|
9729
9739
|
SECONDS_PER_HOUR = 3600;
|
|
9730
9740
|
HOURS_PER_FIVE_HOUR_WINDOW = 5;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-use",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.68.1",
|
|
4
4
|
"description": "A profile manager and launcher for Claude Code that lets one person run multiple logins from one machine while controlling what gets shared between them.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Joseph Mearman <joseph@mearman.co.uk>",
|