@arandevcode/opencode-quota-extended 0.2.1 → 0.2.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.
Files changed (42) hide show
  1. package/README-es.md +5 -5
  2. package/README.md +5 -5
  3. package/dist/lib/balance.d.ts +14 -0
  4. package/dist/lib/balance.d.ts.map +1 -0
  5. package/dist/lib/balance.js +23 -0
  6. package/dist/lib/balance.js.map +1 -0
  7. package/dist/lib/pace.d.ts +28 -0
  8. package/dist/lib/pace.d.ts.map +1 -0
  9. package/dist/lib/pace.js +46 -0
  10. package/dist/lib/pace.js.map +1 -0
  11. package/dist/lib/refresh-scheduler.d.ts +20 -0
  12. package/dist/lib/refresh-scheduler.d.ts.map +1 -0
  13. package/dist/lib/refresh-scheduler.js +57 -0
  14. package/dist/lib/refresh-scheduler.js.map +1 -0
  15. package/dist/lib/types.d.ts +15 -0
  16. package/dist/lib/types.d.ts.map +1 -1
  17. package/dist/providers/opencode-go.d.ts +5 -2
  18. package/dist/providers/opencode-go.d.ts.map +1 -1
  19. package/dist/providers/opencode-go.js +156 -42
  20. package/dist/providers/opencode-go.js.map +1 -1
  21. package/dist/tui.d.ts.map +1 -1
  22. package/dist/tui.tsx +58 -83
  23. package/dist/ui/SidebarPanel.d.ts.map +1 -1
  24. package/dist/ui/SidebarPanel.tsx +11 -3
  25. package/dist/ui/cards.d.ts.map +1 -1
  26. package/dist/ui/cards.tsx +13 -1
  27. package/package.json +11 -7
  28. package/scripts/clean.mjs +8 -0
  29. package/scripts/postbuild.mjs +56 -0
  30. package/scripts/setup.mjs +45 -0
  31. package/dist/lib/sanitize.d.ts +0 -10
  32. package/dist/lib/sanitize.d.ts.map +0 -1
  33. package/dist/lib/sanitize.js +0 -14
  34. package/dist/lib/sanitize.js.map +0 -1
  35. package/dist/lib/throttle.d.ts +0 -18
  36. package/dist/lib/throttle.d.ts.map +0 -1
  37. package/dist/lib/throttle.js +0 -26
  38. package/dist/lib/throttle.js.map +0 -1
  39. package/dist/lib/toast-format.d.ts +0 -24
  40. package/dist/lib/toast-format.d.ts.map +0 -1
  41. package/dist/lib/toast-format.js +0 -79
  42. package/dist/lib/toast-format.js.map +0 -1
@@ -1,79 +0,0 @@
1
- import { formatResetRelative, clampPercent } from "./reset-format.js";
2
- function padRight(text, width) {
3
- if (text.length >= width)
4
- return text;
5
- return text + " ".repeat(width - text.length);
6
- }
7
- function padLeft(text, width) {
8
- if (text.length >= width)
9
- return text;
10
- return " ".repeat(width - text.length) + text;
11
- }
12
- function formatProviderHeader(provider) {
13
- return provider.label;
14
- }
15
- function formatWindowLine(provider, window, now) {
16
- const label = padRight(window.label, 7);
17
- const countdown = formatResetRelative(window.resetTimeIso, now);
18
- const reset = padRight(countdown, 11);
19
- const percent = `${clampPercent(window.percentRemaining)}%`;
20
- const percentCell = padLeft(percent, 4);
21
- // Copilot exposes remaining/total counts — surface them after the percent.
22
- let suffix = "";
23
- if (provider.id === "github-copilot" &&
24
- typeof window.remaining === "number" &&
25
- typeof window.total === "number") {
26
- suffix = ` (${window.remaining}/${window.total})`;
27
- }
28
- return ` ${label} ${reset} ${percentCell}${suffix}`;
29
- }
30
- function formatProviderBlock(provider, now) {
31
- if (provider.status !== "ok" || provider.windows.length === 0)
32
- return [];
33
- const lines = [{ text: formatProviderHeader(provider) }];
34
- for (const window of provider.windows) {
35
- lines.push({ text: formatWindowLine(provider, window, now) });
36
- }
37
- return lines;
38
- }
39
- function formatProviderError(provider) {
40
- if (provider.status === "ok")
41
- return null;
42
- // Skip purely "skipped" providers (no auth configured) — they would spam
43
- // the toast every time it fires. Surface only real errors.
44
- if (provider.status === "skipped" || provider.status === "no-auth") {
45
- return null;
46
- }
47
- const reason = provider.error ?? provider.status;
48
- return { text: `${provider.label}: ${reason}` };
49
- }
50
- /**
51
- * Render a CardsSnapshot to a multi-line toast string, or `null` if there
52
- * is nothing meaningful to display.
53
- */
54
- export function formatToastMessage(snapshot, opts = {}) {
55
- const now = opts.now ?? new Date();
56
- const maxWidth = opts.maxLineWidth ?? 60;
57
- const lines = [];
58
- for (const provider of snapshot.providers) {
59
- const block = formatProviderBlock(provider, now);
60
- if (block.length > 0) {
61
- lines.push(...block);
62
- }
63
- }
64
- const errors = [];
65
- for (const provider of snapshot.providers) {
66
- const err = formatProviderError(provider);
67
- if (err)
68
- errors.push(err);
69
- }
70
- if (errors.length > 0) {
71
- if (lines.length > 0)
72
- lines.push({ text: "" });
73
- lines.push(...errors);
74
- }
75
- if (lines.length === 0)
76
- return null;
77
- return lines.map((l) => l.text.slice(0, maxWidth)).join("\n");
78
- }
79
- //# sourceMappingURL=toast-format.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toast-format.js","sourceRoot":"","sources":["../../src/lib/toast-format.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAatE,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAuB;IACnD,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAuB,EACvB,MAAwC,EACxC,GAAS;IAET,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,2EAA2E;IAC3E,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IACE,QAAQ,CAAC,EAAE,KAAK,gBAAgB;QAChC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAChC,CAAC;QACD,MAAM,GAAG,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,KAAK,IAAI,KAAK,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAuB,EACvB,GAAS;IAET,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACzE,MAAM,KAAK,GAAoB,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1E,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAuB;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1C,yEAAyE;IACzE,2DAA2D;IAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,EAAE,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,OAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IACzC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,GAAG;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC"}