tokentracker-cli 0.50.1 → 0.50.3
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/dashboard/dist/assets/{ActivityHeatmap-Csg0JY68.js → ActivityHeatmap-0q7X-MU0.js} +1 -1
- package/dashboard/dist/assets/{Card-BDI8Fbh9.js → Card-COkgCx0E.js} +1 -1
- package/dashboard/dist/assets/{DashboardPage-woYtbruG.js → DashboardPage-d7iWJ8BP.js} +1 -1
- package/dashboard/dist/assets/{DevicePage-EjJbP8Br.js → DevicePage-CcnR7jrM.js} +1 -1
- package/dashboard/dist/assets/{DialogTitle-D66QJAs3.js → DialogTitle-KHKLQQwO.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-D3DCx8y6.js → FadeIn-DV7Q4VG6.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-DpuKyZW3.js → HeaderGithubStar-SNJgZ30E.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-Dz3YjhM0.js → IpCheckPage-D6M_bYmt.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-B5UjGCVn.js → LandingPage-DUrzXT0k.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardAvatar-C1HvZXs0.js → LeaderboardAvatar-Dt95f7Gi.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-CIp04vrj.js → LeaderboardPage-BGFhnXmS.js} +3 -3
- package/dashboard/dist/assets/{LeaderboardProfileModal-BH31dBaK.js → LeaderboardProfileModal-OOywYvPV.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-DpXj5L5i.js → LeaderboardProfilePage-C_cRxtzp.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-DVg3GfTr.js → LimitsPage-B-gnXm50.js} +1 -1
- package/dashboard/dist/assets/{LocalOnlyNotice-BADyYIuM.js → LocalOnlyNotice-Bcl3gqFG.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-BId7DDhf.js → LoginPage-CdgZOU88.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-BQhCMi7D.js → PopoverPopup-HVN1F-x1.js} +1 -1
- package/dashboard/dist/assets/{ResetPasswordPage-Bgj2woMZ.js → ResetPasswordPage-77jAYJBd.js} +1 -1
- package/dashboard/dist/assets/{Select-BRQHUMnI.js → Select-BKFKUG-i.js} +1 -1
- package/dashboard/dist/assets/{SelectItemText-DKPqC7Id.js → SelectItemText-Dxxa2xhF.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-D7LxfBPd.js → SettingsPage-DsP93J03.js} +1 -1
- package/dashboard/dist/assets/{SkillsPage-cFXqx_rg.js → SkillsPage-DjH3G8ID.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-D6wEB36p.js → WidgetsPage-cv08fTrH.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-C6tq3AaH.js → WrappedPage-CiDz9X1b.js} +1 -1
- package/dashboard/dist/assets/{agent-logos-CjZOhWL1.js → agent-logos-Cc9OmNAL.js} +1 -1
- package/dashboard/dist/assets/{arrow-up-right-BVQI0Szz.js → arrow-up-right-BVuZproE.js} +1 -1
- package/dashboard/dist/assets/{download-45UoPdKK.js → download-WoUoOacO.js} +1 -1
- package/dashboard/dist/assets/{info-ClM58qOx.js → info-DA2yuYir.js} +1 -1
- package/dashboard/dist/assets/{main-CR3s46Km.js → main-aM1XUmtT.js} +2 -2
- package/dashboard/dist/assets/{use-limits-display-prefs-Boy1oEqT.js → use-limits-display-prefs-C6F8uAzS.js} +1 -1
- package/dashboard/dist/assets/{use-native-settings-CGKAtYGs.js → use-native-settings-CGOpLzIg.js} +1 -1
- package/dashboard/dist/assets/{use-usage-limits-kGnhUHc-.js → use-usage-limits-BWfbnY78.js} +1 -1
- package/dashboard/dist/assets/{useCurrency-xorCxnW3.js → useCurrency-D_NuT89g.js} +1 -1
- package/dashboard/dist/assets/{useScrollLock-B0eyFEUR.js → useScrollLock-BAbGBHiu.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist/share.html +1 -1
- package/package.json +1 -1
- package/src/lib/local-api.js +76 -4
- package/src/lib/pricing/curated-overrides.json +1 -0
- package/src/lib/pricing/matcher.js +27 -0
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/subscriptions.js +3 -3
- package/src/lib/usage-limits.js +7 -1
package/src/lib/subscriptions.js
CHANGED
|
@@ -217,7 +217,7 @@ function readClaudeCodeCredentialsFile({ home, fsReader } = {}) {
|
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
|
|
220
|
-
function detectClaudeCodeCredentialsPresence({ platform, securityRunner, home, fsReader } = {}) {
|
|
220
|
+
function detectClaudeCodeCredentialsPresence({ platform = process.platform, securityRunner, home, fsReader } = {}) {
|
|
221
221
|
if (platform === "darwin") {
|
|
222
222
|
for (const service of CLAUDE_CODE_KEYCHAIN_SERVICES) {
|
|
223
223
|
const present = probeMacosKeychainGenericPassword({
|
|
@@ -273,7 +273,7 @@ function extractClaudeKeychainSubscription(payload) {
|
|
|
273
273
|
return { subscriptionType, rateLimitTier };
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
function detectClaudeCodeSubscriptionDetails({ platform, securityRunner, home, fsReader } = {}) {
|
|
276
|
+
function detectClaudeCodeSubscriptionDetails({ platform = process.platform, securityRunner, home, fsReader } = {}) {
|
|
277
277
|
const rawPayloads = [];
|
|
278
278
|
if (platform === "darwin") {
|
|
279
279
|
for (const service of CLAUDE_CODE_KEYCHAIN_SERVICES) {
|
|
@@ -364,7 +364,7 @@ async function detectOpenclawSessionIntegration({ home, env }) {
|
|
|
364
364
|
};
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
function readClaudeCodeAccessToken({ platform, securityRunner, home, fsReader } = {}) {
|
|
367
|
+
function readClaudeCodeAccessToken({ platform = process.platform, securityRunner, home, fsReader } = {}) {
|
|
368
368
|
if (platform === "darwin") {
|
|
369
369
|
for (const service of CLAUDE_CODE_KEYCHAIN_SERVICES) {
|
|
370
370
|
try {
|
package/src/lib/usage-limits.js
CHANGED
|
@@ -1922,6 +1922,8 @@ async function fetchAntigravityLimits({ home, commandRunner, requestFn, timeoutM
|
|
|
1922
1922
|
return finalize(modelConfigs, { fallbackToConfigs: true });
|
|
1923
1923
|
}
|
|
1924
1924
|
} catch (error) {
|
|
1925
|
+
const cached = readAntigravityLimitsCache({ home, nowMs });
|
|
1926
|
+
if (cached) return cached;
|
|
1925
1927
|
const message = error?.message === "timeout"
|
|
1926
1928
|
? "Antigravity quota request timed out."
|
|
1927
1929
|
: error?.message || "Unknown error";
|
|
@@ -2144,7 +2146,11 @@ async function fetchUsageLimitsUncached({
|
|
|
2144
2146
|
claude: withPlanLabel(claude, claudePlanType, "Claude"),
|
|
2145
2147
|
codex: withPlanLabel(codex, codex.plan_type, "Codex"),
|
|
2146
2148
|
cursor: withPlanLabel(cursor, cursor.membership_type, "Cursor"),
|
|
2147
|
-
|
|
2149
|
+
// Kimi's subType (TYPE_PURCHASE/TYPE_EVENT) is the credit *source*, not a plan
|
|
2150
|
+
// tier, and membership.level is an opaque enum (LEVEL_INTERMEDIATE) with no
|
|
2151
|
+
// authoritative human-readable plan mapping. Both rendered as garbage like
|
|
2152
|
+
// "Kimi Type_event" (issue #130), so show the bare brand instead.
|
|
2153
|
+
kimi: withPlanLabel(kimi, null, "Kimi"),
|
|
2148
2154
|
gemini: withPlanLabel(gemini, gemini.account_plan, "Gemini"),
|
|
2149
2155
|
kiro: withPlanLabel(kiro, kiro.plan_name, "Kiro"),
|
|
2150
2156
|
antigravity: withPlanLabel(antigravity, antigravity.account_plan, "Antigravity"),
|