dsh-agy 0.3.1 → 0.4.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.
Files changed (30) hide show
  1. package/README.md +29 -5
  2. package/lib/{accounts-CkaHhb5H.mjs → accounts-BN4h0AU4.mjs} +446 -63
  3. package/lib/accounts-BN4h0AU4.mjs.map +1 -0
  4. package/lib/cli/index.mjs +5 -5
  5. package/lib/client.js +25 -3
  6. package/lib/{constants-Db4tmyfb.mjs → constants-BpyRirvk.mjs} +38 -2
  7. package/lib/constants-BpyRirvk.mjs.map +1 -0
  8. package/lib/{exchange-yZPIZumk.mjs → exchange-LzEyxve1.mjs} +2 -2
  9. package/lib/{exchange-yZPIZumk.mjs.map → exchange-LzEyxve1.mjs.map} +1 -1
  10. package/lib/{import-BaFULQnH.mjs → import-CotRHNDk.mjs} +3 -3
  11. package/lib/{import-BaFULQnH.mjs.map → import-CotRHNDk.mjs.map} +1 -1
  12. package/lib/index.mjs +2 -2
  13. package/lib/{models-BGuwl50d.mjs → models-Qn0-sh6X.mjs} +2 -2
  14. package/lib/{models-BGuwl50d.mjs.map → models-Qn0-sh6X.mjs.map} +1 -1
  15. package/lib/{plugin-common-B1MG00JT.mjs → plugin-common-N7p9Cm-3.mjs} +58 -14
  16. package/lib/plugin-common-N7p9Cm-3.mjs.map +1 -0
  17. package/lib/{quota-summary-5CypVffd.mjs → quota-summary-adID82I2.mjs} +9 -12
  18. package/lib/quota-summary-adID82I2.mjs.map +1 -0
  19. package/lib/{translate-BQu8HLvB.mjs → translate-YhGDUuVa.mjs} +157 -23
  20. package/lib/translate-YhGDUuVa.mjs.map +1 -0
  21. package/lib/web/plugin.d.mts +28 -1
  22. package/lib/web/plugin.d.mts.map +1 -1
  23. package/lib/web/plugin.mjs +35 -19
  24. package/lib/web/plugin.mjs.map +1 -1
  25. package/package.json +9 -4
  26. package/lib/accounts-CkaHhb5H.mjs.map +0 -1
  27. package/lib/constants-Db4tmyfb.mjs.map +0 -1
  28. package/lib/plugin-common-B1MG00JT.mjs.map +0 -1
  29. package/lib/quota-summary-5CypVffd.mjs.map +0 -1
  30. package/lib/translate-BQu8HLvB.mjs.map +0 -1
package/README.md CHANGED
@@ -20,8 +20,8 @@ fingerprinting, and both CLI and web management.
20
20
  rate limits, per-account cooldown to the real reset time, per-account device
21
21
  fingerprints.
22
22
  - **Inline Settings UI**: an Antigravity section inside DSH Settings with four
23
- tabs — accounts (login, activation, per-model quota bars, test calls,
24
- fingerprint and proxy management), models (per-model visibility), usage
23
+ tabs — accounts (login, activation, grouped 5-hour/weekly quota windows, test
24
+ calls, fingerprint and proxy management), models (per-model visibility), usage
25
25
  (cumulative token and request statistics), and credentials (import/export).
26
26
  No separate page: the surface only exists where DSH Settings does.
27
27
  - **Model visibility toggles**: hide individual models from the DSH model
@@ -37,10 +37,14 @@ fingerprinting, and both CLI and web management.
37
37
 
38
38
  ## Screenshots
39
39
 
40
- The Antigravity section inside DSH Settings — accounts, per-model quota, and
41
- one-shot model tests:
40
+ The Antigravity section inside DSH Settings. Account emails and project names are
41
+ redacted.
42
42
 
43
- ![dsh-agy settings](https://raw.githubusercontent.com/chaos-03x/dsh-agy/main/assets/screenshot_en.png)
43
+ | Accounts | Models |
44
+ |:---:|:---:|
45
+ | ![accounts](https://raw.githubusercontent.com/chaos-03x/dsh-agy/main/assets/en_accounts.png) | ![models](https://raw.githubusercontent.com/chaos-03x/dsh-agy/main/assets/en_models.png) |
46
+ | **Limits** — 5-hour and weekly windows | **Usage** — cumulative, per-model and per-account |
47
+ | ![limits](https://raw.githubusercontent.com/chaos-03x/dsh-agy/main/assets/en_limits.png) | ![usage](https://raw.githubusercontent.com/chaos-03x/dsh-agy/main/assets/en_usage.png) |
44
48
 
45
49
  ## Quickstart
46
50
 
@@ -193,6 +197,26 @@ reset with headroom left are used first ("use it or lose it"), near-exhausted
193
197
  families are avoided, and exhausted families block the account until the real
194
198
  reset time.
195
199
 
200
+ Each family is measured on **both** of its windows, because they refill on
201
+ different clocks:
202
+
203
+ | Window | Refills | Exhausted when | Blocks until |
204
+ |---|---|---|---|
205
+ | Rolling 5-hour | every 5 hours | below 15% left | the 5-hour reset |
206
+ | Weekly | every 7 days | 1% or less left | the **weekly** reset |
207
+
208
+ The two gates are independent. A family can sit at 90% of its 5-hour budget
209
+ while its week is spent — four 5-hour refills do not return a weekly budget —
210
+ so a week-exhausted account is rotated away instead of being selected and
211
+ failing. The thresholds are deliberately different (15% of five hours is ~45
212
+ minutes of runway; 1% of a week is ~1.7 hours): judging the 5-hour window too
213
+ late costs a wait of at most five hours, while judging the week too late parks
214
+ the account for days.
215
+
216
+ The weekly reading comes only from `retrieveUserQuotaSummary` — the per-model
217
+ `fetchAvailableModels` probe has no window field at all — and a probe that
218
+ reports neither window cannot erase a known-drained one.
219
+
196
220
  429 (Too Many Requests) responses:
197
221
 
198
222
  | Category | Behavior |