dsh-subscriptions 0.1.5 → 0.2.2
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/README.md +212 -154
- package/lib/auth/claude-code-creds.js +31 -9
- package/lib/auth/device-flow.js +16 -9
- package/lib/auth/oauth-flow.js +13 -10
- package/lib/auth/rpc.d.ts +73 -2
- package/lib/auth/rpc.js +124 -23
- package/lib/auth/store.js +80 -31
- package/lib/client/CursorCard.d.ts +1 -1
- package/lib/client/CursorCard.js +50 -16
- package/lib/client/ExternalUsageCards.d.ts +1 -1
- package/lib/client/ExternalUsageCards.js +37 -16
- package/lib/client/ImageGallery.d.ts +2 -2
- package/lib/client/ImageGallery.js +92 -33
- package/lib/client/ImageGenerateToolview.js +50 -14
- package/lib/client/OllamaCard.d.ts +13 -0
- package/lib/client/OllamaCard.js +94 -0
- package/lib/client/OllamaSettingsManager.d.ts +24 -0
- package/lib/client/OllamaSettingsManager.js +329 -0
- package/lib/client/ProviderAccountManager.d.ts +1 -1
- package/lib/client/ProviderAccountManager.js +164 -49
- package/lib/client/ProviderModelEditor.js +109 -26
- package/lib/client/SpeedSelect.d.ts +62 -14
- package/lib/client/SpeedSelect.js +257 -46
- package/lib/client/SubscriptionUsageBadge.d.ts +5 -11
- package/lib/client/SubscriptionUsageBadge.js +301 -112
- package/lib/client/SubscriptionsSection.d.ts +2 -0
- package/lib/client/SubscriptionsSection.js +259 -85
- package/lib/client/UsageBadgeDisplaySetting.js +35 -12
- package/lib/client/UsageMeter.d.ts +1 -1
- package/lib/client/UsageMeter.js +69 -27
- package/lib/client/VideoGenerateToolview.js +69 -17
- package/lib/client/account-preferences.d.ts +8 -0
- package/lib/client/account-preferences.js +20 -5
- package/lib/client/host-contract.d.ts +11 -2
- package/lib/client/host-contract.js +20 -3
- package/lib/client/index.d.ts +5 -5
- package/lib/client/index.js +34 -12
- package/lib/client/locales.d.ts +78 -0
- package/lib/client/locales.js +121 -34
- package/lib/client/ollama-draft.d.ts +229 -0
- package/lib/client/ollama-draft.js +255 -0
- package/lib/client/reset-action.js +6 -4
- package/lib/client/reset-credits-view.d.ts +1 -1
- package/lib/client/reset-credits-view.js +66 -17
- package/lib/client/subscription-card-styles.js +94 -24
- package/lib/client/usage-color-preferences.js +4 -2
- package/lib/client/usage-pace.d.ts +7 -0
- package/lib/client/usage-pace.js +43 -10
- package/lib/client.js +1647 -266
- package/lib/client.js.map +1 -1
- package/lib/http.js +1 -1
- package/lib/index.d.ts +28 -3
- package/lib/index.js +9329 -8217
- package/lib/model-defaults.js +4 -2
- package/lib/provider-settings.d.ts +14 -1
- package/lib/provider-settings.js +64 -20
- package/lib/providers/account-preferences.js +51 -22
- package/lib/providers/accounts.js +15 -9
- package/lib/providers/antigravity-oauth-client.js +2 -2
- package/lib/providers/antigravity.js +141 -68
- package/lib/providers/catalog-store.js +120 -41
- package/lib/providers/claude-cli-version.js +3 -3
- package/lib/providers/claude.d.ts +23 -3
- package/lib/providers/claude.js +167 -92
- package/lib/providers/codex-client-version.js +3 -3
- package/lib/providers/codex-search.js +40 -13
- package/lib/providers/codex.js +196 -112
- package/lib/providers/common.d.ts +14 -0
- package/lib/providers/common.js +118 -38
- package/lib/providers/copilot.js +143 -82
- package/lib/providers/cursor-adapter.js +42 -18
- package/lib/providers/cursor-auth.d.ts +1 -1
- package/lib/providers/cursor-auth.js +69 -24
- package/lib/providers/cursor-model-settings.js +14 -5
- package/lib/providers/cursor-usage.js +27 -13
- package/lib/providers/external-usage-controller.d.ts +9 -2
- package/lib/providers/external-usage-controller.js +30 -7
- package/lib/providers/external-usage.d.ts +8 -0
- package/lib/providers/external-usage.js +140 -20
- package/lib/providers/grok.js +152 -89
- package/lib/providers/image-pool.js +29 -11
- package/lib/providers/minimax-usage.js +31 -11
- package/lib/providers/npm-cli-version.js +10 -3
- package/lib/providers/ollama-settings.d.ts +90 -0
- package/lib/providers/ollama-settings.js +213 -0
- package/lib/providers/ollama-web.d.ts +46 -0
- package/lib/providers/ollama-web.js +231 -0
- package/lib/providers/ollama.d.ts +107 -0
- package/lib/providers/ollama.js +608 -0
- package/lib/providers/pool-family.js +11 -3
- package/lib/providers/pool-health.js +28 -8
- package/lib/providers/pool-usage.js +16 -9
- package/lib/providers/pool.d.ts +8 -0
- package/lib/providers/pool.js +81 -42
- package/lib/providers/rate-limit.js +8 -2
- package/lib/providers/replay.js +40 -17
- package/lib/providers/reset-redemption.js +18 -6
- package/lib/tools/image-generate.js +123 -65
- package/lib/tools/registration.js +5 -2
- package/lib/tools/video-generate.js +51 -31
- package/lib/tools/x-search.js +50 -22
- package/lib/translate/anthropic.js +85 -37
- package/lib/translate/antigravity-schema.js +71 -28
- package/lib/translate/antigravity-thinking.js +22 -9
- package/lib/translate/antigravity.js +141 -50
- package/lib/translate/chat-completions.js +67 -23
- package/lib/translate/resolved.js +55 -21
- package/lib/translate/responses.js +69 -29
- package/lib/translate/sse.js +4 -1
- package/package.json +26 -4
package/lib/client/usage-pace.js
CHANGED
|
@@ -21,7 +21,7 @@ export function resetCountdownParts(ms) {
|
|
|
21
21
|
{ unit: 'hour', count: Math.floor((total % 1440) / 60) },
|
|
22
22
|
{ unit: 'minute', count: total % 60 },
|
|
23
23
|
];
|
|
24
|
-
return parts.filter(part => part.count > 0).slice(0, 2);
|
|
24
|
+
return parts.filter((part) => part.count > 0).slice(0, 2);
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Whether the reported percentage still describes the window now. Only a fresh
|
|
@@ -30,10 +30,14 @@ export function resetCountdownParts(ms) {
|
|
|
30
30
|
* drawn: where the window stands in time never depends on the reading.
|
|
31
31
|
*/
|
|
32
32
|
export function isUsageFresh(window, observation, now = Date.now()) {
|
|
33
|
-
return validUsage(window.usedPercent) &&
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
return (validUsage(window.usedPercent) &&
|
|
34
|
+
observation.stale !== true &&
|
|
35
|
+
observation.observedAt !== undefined &&
|
|
36
|
+
Number.isFinite(observation.observedAt) &&
|
|
37
|
+
observation.observedAt <= now &&
|
|
38
|
+
now - observation.observedAt <= USAGE_FRESHNESS_MS &&
|
|
39
|
+
(window.resetsAt === undefined ||
|
|
40
|
+
(Number.isFinite(window.resetsAt) && window.resetsAt > now)));
|
|
37
41
|
}
|
|
38
42
|
/**
|
|
39
43
|
* How far through its window the clock is, from the window's own timing alone.
|
|
@@ -48,10 +52,19 @@ export function elapsedPercent(window, now = Date.now()) {
|
|
|
48
52
|
if (end === undefined || !Number.isFinite(end) || end <= now)
|
|
49
53
|
return undefined;
|
|
50
54
|
const duration = window.windowDurationMs;
|
|
51
|
-
const start = window.startsAt ??
|
|
52
|
-
|
|
55
|
+
const start = window.startsAt ??
|
|
56
|
+
(window.fixedWindow === true &&
|
|
57
|
+
duration !== undefined &&
|
|
58
|
+
Number.isFinite(duration) &&
|
|
59
|
+
duration > 0
|
|
60
|
+
? end - duration
|
|
61
|
+
: undefined);
|
|
62
|
+
if (start === undefined ||
|
|
63
|
+
!Number.isFinite(start) ||
|
|
64
|
+
start >= end ||
|
|
65
|
+
start > now)
|
|
53
66
|
return undefined;
|
|
54
|
-
return Math.min(100, Math.max(0, (now - start) / (end - start) * 100));
|
|
67
|
+
return Math.min(100, Math.max(0, ((now - start) / (end - start)) * 100));
|
|
55
68
|
}
|
|
56
69
|
export function usageColorState(used, elapsed, preset, fresh) {
|
|
57
70
|
if (!validUsage(used))
|
|
@@ -65,7 +78,27 @@ export function usageColorState(used, elapsed, preset, fresh) {
|
|
|
65
78
|
}
|
|
66
79
|
export function usageBarColor(used, elapsed, preset = 'standard', fresh = true) {
|
|
67
80
|
const state = usageColorState(used, elapsed, preset, fresh);
|
|
68
|
-
return state === 'red'
|
|
69
|
-
|
|
81
|
+
return state === 'red'
|
|
82
|
+
? 'var(--dsw-alias-state-error-primary)'
|
|
83
|
+
: state === 'yellow'
|
|
84
|
+
? 'var(--dsw-alias-state-warn-label)'
|
|
70
85
|
: 'var(--dsw-alias-state-success-primary)';
|
|
71
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Marker position from the window's display-only assumed start
|
|
89
|
+
* (`displayStartsAt`): the reading and its age are irrelevant, exactly
|
|
90
|
+
* like the verified marker. Returns undefined when the window carries no
|
|
91
|
+
* assumed start or its reset has passed.
|
|
92
|
+
*/
|
|
93
|
+
export function displayStartPercent(window, now = Date.now()) {
|
|
94
|
+
const end = window.resetsAt;
|
|
95
|
+
const start = window.displayStartsAt;
|
|
96
|
+
if (end === undefined || !Number.isFinite(end) || end <= now)
|
|
97
|
+
return undefined;
|
|
98
|
+
if (start === undefined ||
|
|
99
|
+
!Number.isFinite(start) ||
|
|
100
|
+
start >= end ||
|
|
101
|
+
start > now)
|
|
102
|
+
return undefined;
|
|
103
|
+
return Math.min(100, Math.max(0, ((now - start) / (end - start)) * 100));
|
|
104
|
+
}
|