@slkiser/opencode-quota 2.9.1 → 2.10.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.
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  - Automatic quota toasts after assistant responses
6
6
  - Manual `/quota`, `/pricing_refresh`, and `/tokens_*` commands for deeper local reporting with zero context window pollution
7
7
 
8
- **Quota providers**: GitHub Copilot, OpenAI (Plus/Pro), Cursor, Qwen Code, Alibaba Coding Plan, Chutes AI, Firmware AI, Google Antigravity, and Z.ai coding plan.
8
+ **Quota providers**: GitHub Copilot, OpenAI (Plus/Pro), Cursor, Qwen Code, Alibaba Coding Plan, Chutes AI, Firmware AI, Google Antigravity, Z.ai coding plan, and NanoGPT.
9
9
 
10
10
  **Token reports**: All models and providers in [models.dev](https://models.dev), plus deterministic local pricing for Cursor Auto/Composer and Cursor model aliases that are not on models.dev.
11
11
 
@@ -24,7 +24,7 @@
24
24
  </tr>
25
25
  </table>
26
26
 
27
- Quota and `/tokens_*` output are computed from local OpenCode session history.
27
+ `/tokens_*` output is computed from local OpenCode session history. Quota rows use each provider's existing local auth plus deterministic local state or live provider quota endpoints, depending on the provider.
28
28
 
29
29
  ## Quick Start
30
30
 
@@ -85,6 +85,7 @@ That is enough for most installs. Providers are auto-detected from your existing
85
85
  | **Alibaba Coding Plan** | Yes | OpenCode auth + local request estimation. |
86
86
  | **Firmware AI** | Usually | User/global OpenCode config or env; repo-local secrets ignored. |
87
87
  | **Chutes AI** | Usually | User/global OpenCode config or env; repo-local secrets ignored. |
88
+ | **NanoGPT** | Usually | User/global OpenCode config, env, or auth.json; repo-local secrets ignored. |
88
89
  | **Google Antigravity** | Needs [quick setup](#google-antigravity-quick-setup) | Companion auth plugin. |
89
90
  | **Z.ai** | Yes | OpenCode auth. |
90
91
 
@@ -336,6 +337,35 @@ If detection looks wrong, `/quota_status` prints the candidate paths checked for
336
337
 
337
338
  </details>
338
339
 
340
+ <a id="nanogpt-notes"></a>
341
+ <details>
342
+ <summary><strong>NanoGPT</strong></summary>
343
+
344
+ NanoGPT uses live NanoGPT subscription usage and balance endpoints, so `/quota`, grouped/classic toasts, and `/quota_status` can show daily quota, monthly quota, and account balance in real time.
345
+
346
+ - Canonical provider id is `nanogpt`. Alias `nano-gpt` also normalizes in `enabledProviders`.
347
+ - Optional API key: `provider.nanogpt.options.apiKey` or `provider["nano-gpt"].options.apiKey`.
348
+ - For security, provider secrets are read from `NANOGPT_API_KEY`, `NANO_GPT_API_KEY`, your user/global OpenCode config, or `auth.json`. Repo-local `opencode.json` / `opencode.jsonc` is ignored for NanoGPT secrets.
349
+ - Allowed env templates are limited to `{env:NANOGPT_API_KEY}` and `{env:NANO_GPT_API_KEY}`.
350
+ - `/quota_status` prints a `nanogpt` section with API-key diagnostics, auth candidate paths, live subscription state, daily/monthly usage windows, endpoint errors, and balance details.
351
+ - NanoGPT quota reflects subscription-covered requests and account balance. It is not token-priced in `/tokens_*`.
352
+
353
+ Example user/global config (`~/.config/opencode/opencode.jsonc` on Linux/macOS):
354
+
355
+ ```jsonc
356
+ {
357
+ "provider": {
358
+ "nanogpt": {
359
+ "options": {
360
+ "apiKey": "{env:NANOGPT_API_KEY}"
361
+ }
362
+ }
363
+ }
364
+ }
365
+ ```
366
+
367
+ </details>
368
+
339
369
  ## Configuration Reference
340
370
 
341
371
  All plugin settings live under `experimental.quotaToast`.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "_meta": {
3
- "generatedAt": 1773949200336,
3
+ "generatedAt": 1774268550053,
4
4
  "providers": [
5
5
  "anthropic",
6
6
  "google",
@@ -647,17 +647,17 @@
647
647
  "output": 0.5,
648
648
  "cache_read": 0.05
649
649
  },
650
- "grok-4.20-beta-latest-non-reasoning": {
650
+ "grok-4.20-0309-non-reasoning": {
651
651
  "input": 2,
652
652
  "output": 6,
653
653
  "cache_read": 0.2
654
654
  },
655
- "grok-4.20-beta-latest-reasoning": {
655
+ "grok-4.20-0309-reasoning": {
656
656
  "input": 2,
657
657
  "output": 6,
658
658
  "cache_read": 0.2
659
659
  },
660
- "grok-4.20-multi-agent-beta-latest": {
660
+ "grok-4.20-multi-agent-0309": {
661
661
  "input": 2,
662
662
  "output": 6,
663
663
  "cache_read": 0.2
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-pricing.d.ts","sourceRoot":"","sources":["../../src/lib/cursor-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,iBAAiB,CAAC;AAEtB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,2BAA2B,eAA4B,CAAC;AAErE,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAItG,CAAC;AA8CF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAClD,MAAM,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB5D,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAW7E;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAqB3E"}
1
+ {"version":3,"file":"cursor-pricing.d.ts","sourceRoot":"","sources":["../../src/lib/cursor-pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,MAAM,uBAAuB,GAC/B,MAAM,GACN,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,iBAAiB,CAAC;AAEtB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,uBAAuB,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,2BAA2B,eAA4B,CAAC;AAErE,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAItG,CAAC;AA8CF,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAClD,MAAM,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B5D,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAW7E;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,GAAG,SAAS,CAMrB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAqB3E"}
@@ -49,17 +49,22 @@ const CURSOR_LOCAL_MODEL_ALIASES = {
49
49
  };
50
50
  export const CURSOR_OFFICIAL_MODEL_ALIASES = {
51
51
  "claude-4.5-sonnet": { providerHint: "anthropic", modelHint: "claude-sonnet-4-5" },
52
+ "claude-4.6-opus-high": { providerHint: "anthropic", modelHint: "claude-opus-4-6" },
52
53
  "claude-4.6-opus": { providerHint: "anthropic", modelHint: "claude-opus-4-6" },
54
+ "claude-4.6-sonnet-medium": { providerHint: "anthropic", modelHint: "claude-sonnet-4-6" },
53
55
  "claude-4.6-sonnet": { providerHint: "anthropic", modelHint: "claude-sonnet-4-6" },
54
56
  "gemini-3-flash": { providerHint: "google", modelHint: "gemini-3-flash-preview" },
55
57
  "gemini-3-pro": { providerHint: "google", modelHint: "gemini-3-pro-preview" },
56
58
  "gemini-3.1-pro": { providerHint: "google", modelHint: "gemini-3.1-pro-preview" },
57
59
  "gpt-5.2": { providerHint: "openai", modelHint: "gpt-5.2" },
60
+ "gpt-5.2-codex": { providerHint: "openai", modelHint: "gpt-5.2-codex" },
58
61
  "gpt-5.3-codex": { providerHint: "openai", modelHint: "gpt-5.3-codex" },
62
+ "gpt-5.3-codex-spark-preview": { providerHint: "openai", modelHint: "gpt-5.3-codex-spark" },
59
63
  "gpt-5.4": { providerHint: "openai", modelHint: "gpt-5.4" },
60
64
  "gpt-5.4-high": { providerHint: "openai", modelHint: "gpt-5.4" },
61
65
  "gpt-5.4-medium": { providerHint: "openai", modelHint: "gpt-5.4" },
62
66
  grok: { providerHint: "xai", modelHint: "grok-code-fast-1" },
67
+ "grok-code-fast-1": { providerHint: "xai", modelHint: "grok-code-fast-1" },
63
68
  "kimi-k2.5": { providerHint: "moonshotai", modelHint: "kimi-k2.5" },
64
69
  "opus-4.5": { providerHint: "anthropic", modelHint: "claude-opus-4-5" },
65
70
  "opus-4.5-thinking": { providerHint: "anthropic", modelHint: "claude-opus-4-5" },
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-pricing.js","sourceRoot":"","sources":["../../src/lib/cursor-pricing.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AAErE,MAAM,CAAC,MAAM,+BAA+B,GAA+D;IACzG,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,wBAAwB;CACzB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAA2D;IACnF,IAAI,EAAE;QACJ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,IAAI;KACjB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,KAAK;KAClB;IACD,cAAc,EAAE;QACd,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,IAAI;KACjB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,GAAG;KAChB;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;KACjB;CACF,CAAC;AAEF,MAAM,0BAA0B,GAAsD;IACpF,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,YAAY;IAC1B,cAAc,EAAE,cAAc;IAC9B,YAAY,EAAE,YAAY;IAC1B,iBAAiB,EAAE,iBAAiB;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAEtC;IACF,mBAAmB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAClF,iBAAiB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC9E,mBAAmB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAClF,gBAAgB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACjF,cAAc,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE;IAC7E,gBAAgB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACjF,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;IAC3D,eAAe,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE;IACvE,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;IAC3D,cAAc,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;IAChE,gBAAgB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE;IAClE,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE;IAC5D,WAAW,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE;IACnE,UAAU,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;IACvE,mBAAmB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAChF,UAAU,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;IACvE,mBAAmB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAChF,iBAAiB,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC3E,YAAY,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAC3E,qBAAqB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;IACpF,YAAY,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;IAC3E,qBAAqB,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE;CACrF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,CACL,UAAU,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,CAAC;QAC/C,UAAU,CAAC,UAAU,CAAC,GAAG,yBAAyB,GAAG,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;IACnD,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAqB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAGhD;IACC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC5G,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO,oBAAoB,CAAC,KAAgC,CAAC,IAAI,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAmB;IACpD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE9E,MAAM,KAAK,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,eAAe;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"cursor-pricing.js","sourceRoot":"","sources":["../../src/lib/cursor-pricing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * NanoGPT API key configuration resolver.
3
+ *
4
+ * Resolution priority (first wins):
5
+ * 1. Environment variable: NANOGPT_API_KEY or NANO_GPT_API_KEY
6
+ * 2. User/global opencode.json/opencode.jsonc: provider.nanogpt.options.apiKey
7
+ * or provider["nano-gpt"].options.apiKey
8
+ * 3. auth.json: nanogpt.key or nano-gpt.key
9
+ */
10
+ /** Result of NanoGPT API key resolution */
11
+ export interface NanoGptApiKeyResult {
12
+ key: string;
13
+ source: NanoGptKeySource;
14
+ }
15
+ /** Source of the resolved API key */
16
+ export type NanoGptKeySource = "env:NANOGPT_API_KEY" | "env:NANO_GPT_API_KEY" | "opencode.json" | "opencode.jsonc" | "auth.json";
17
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
18
+ export declare function resolveNanoGptApiKey(): Promise<NanoGptApiKeyResult | null>;
19
+ export declare function hasNanoGptApiKey(): Promise<boolean>;
20
+ export declare function getNanoGptKeyDiagnostics(): Promise<{
21
+ configured: boolean;
22
+ source: NanoGptKeySource | null;
23
+ checkedPaths: string[];
24
+ authPaths: string[];
25
+ }>;
26
+ //# sourceMappingURL=nanogpt-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt-config.d.ts","sourceRoot":"","sources":["../../src/lib/nanogpt-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAID,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GACxB,qBAAqB,GACrB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,WAAW,CAAC;AA+ChB,OAAO,EAAE,qCAAqC,IAAI,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAEjH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAgBhF;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAGzD;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC,CAYD"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * NanoGPT API key configuration resolver.
3
+ *
4
+ * Resolution priority (first wins):
5
+ * 1. Environment variable: NANOGPT_API_KEY or NANO_GPT_API_KEY
6
+ * 2. User/global opencode.json/opencode.jsonc: provider.nanogpt.options.apiKey
7
+ * or provider["nano-gpt"].options.apiKey
8
+ * 3. auth.json: nanogpt.key or nano-gpt.key
9
+ */
10
+ import { resolveEnvTemplate } from "./env-template.js";
11
+ import { getAuthPaths, readAuthFile } from "./opencode-auth.js";
12
+ import { getApiKeyDiagnostics, getGlobalOpencodeConfigCandidatePaths, resolveApiKey, } from "./api-key-resolver.js";
13
+ const ALLOWED_NANOGPT_ENV_VARS = ["NANOGPT_API_KEY", "NANO_GPT_API_KEY"];
14
+ function extractNanoGptKeyFromProviderConfig(providerKey, config) {
15
+ if (!config || typeof config !== "object")
16
+ return null;
17
+ const root = config;
18
+ const provider = root.provider;
19
+ if (!provider || typeof provider !== "object")
20
+ return null;
21
+ const entry = provider[providerKey];
22
+ if (!entry || typeof entry !== "object")
23
+ return null;
24
+ const options = entry.options;
25
+ if (!options || typeof options !== "object")
26
+ return null;
27
+ const apiKey = options.apiKey;
28
+ if (typeof apiKey !== "string" || apiKey.trim().length === 0)
29
+ return null;
30
+ return resolveEnvTemplate(apiKey.trim(), ALLOWED_NANOGPT_ENV_VARS);
31
+ }
32
+ function extractNanoGptKeyFromConfig(config) {
33
+ return (extractNanoGptKeyFromProviderConfig("nanogpt", config) ??
34
+ extractNanoGptKeyFromProviderConfig("nano-gpt", config));
35
+ }
36
+ function extractNanoGptKeyFromAuth(auth) {
37
+ if (!auth || typeof auth !== "object")
38
+ return null;
39
+ const root = auth;
40
+ const nanoGpt = (root.nanogpt ?? root["nano-gpt"]);
41
+ if (nanoGpt && nanoGpt.type === "api" && nanoGpt.key && nanoGpt.key.trim().length > 0) {
42
+ return nanoGpt.key.trim();
43
+ }
44
+ return null;
45
+ }
46
+ // Re-export for consumers that need path info
47
+ export { getGlobalOpencodeConfigCandidatePaths as getOpencodeConfigCandidatePaths } from "./api-key-resolver.js";
48
+ export async function resolveNanoGptApiKey() {
49
+ return resolveApiKey({
50
+ envVars: [
51
+ { name: "NANOGPT_API_KEY", source: "env:NANOGPT_API_KEY" },
52
+ { name: "NANO_GPT_API_KEY", source: "env:NANO_GPT_API_KEY" },
53
+ ],
54
+ extractFromConfig: extractNanoGptKeyFromConfig,
55
+ configJsonSource: "opencode.json",
56
+ configJsoncSource: "opencode.jsonc",
57
+ extractFromAuth: extractNanoGptKeyFromAuth,
58
+ authSource: "auth.json",
59
+ getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
60
+ }, readAuthFile);
61
+ }
62
+ export async function hasNanoGptApiKey() {
63
+ const result = await resolveNanoGptApiKey();
64
+ return result !== null;
65
+ }
66
+ export async function getNanoGptKeyDiagnostics() {
67
+ const authPaths = getAuthPaths();
68
+ const diagnostics = await getApiKeyDiagnostics({
69
+ envVarNames: ["NANOGPT_API_KEY", "NANO_GPT_API_KEY"],
70
+ resolve: resolveNanoGptApiKey,
71
+ getConfigCandidates: getGlobalOpencodeConfigCandidatePaths,
72
+ });
73
+ return {
74
+ ...diagnostics,
75
+ authPaths,
76
+ };
77
+ }
78
+ //# sourceMappingURL=nanogpt-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt-config.js","sourceRoot":"","sources":["../../src/lib/nanogpt-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * NanoGPT live quota and balance fetcher.
3
+ *
4
+ * Queries:
5
+ * - https://nano-gpt.com/api/subscription/v1/usage
6
+ * - https://nano-gpt.com/api/check-balance
7
+ */
8
+ import type { QuotaError } from "./types.js";
9
+ export type NanoGptEndpoint = "usage" | "balance";
10
+ export type NanoGptUsageWindow = {
11
+ used: number;
12
+ limit: number;
13
+ remaining: number;
14
+ percentRemaining: number;
15
+ resetTimeIso?: string;
16
+ };
17
+ export interface NanoGptSubscription {
18
+ active: boolean;
19
+ state: string;
20
+ enforceDailyLimit: boolean;
21
+ daily?: NanoGptUsageWindow;
22
+ monthly?: NanoGptUsageWindow;
23
+ currentPeriodEndIso?: string;
24
+ graceUntilIso?: string;
25
+ }
26
+ export interface NanoGptBalance {
27
+ usdBalance?: number;
28
+ usdBalanceRaw?: string;
29
+ nanoBalanceRaw?: string;
30
+ }
31
+ export type NanoGptResult = {
32
+ success: true;
33
+ subscription?: NanoGptSubscription;
34
+ balance?: NanoGptBalance;
35
+ endpointErrors?: Array<{
36
+ endpoint: NanoGptEndpoint;
37
+ message: string;
38
+ }>;
39
+ } | QuotaError | null;
40
+ export declare function hasNanoGptApiKeyConfigured(): Promise<boolean>;
41
+ export { getNanoGptKeyDiagnostics, type NanoGptKeySource } from "./nanogpt-config.js";
42
+ export declare function formatNanoGptBalanceValue(balance: {
43
+ usdBalance?: number;
44
+ nanoBalanceRaw?: string;
45
+ }): string | null;
46
+ export declare function queryNanoGptQuota(): Promise<NanoGptResult>;
47
+ //# sourceMappingURL=nanogpt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt.d.ts","sourceRoot":"","sources":["../../src/lib/nanogpt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmB7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GACrB;IACE,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE,GACD,UAAU,GACV,IAAI,CAAC;AA4NT,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AAED,OAAO,EAAE,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEtF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAqChE"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * NanoGPT live quota and balance fetcher.
3
+ *
4
+ * Queries:
5
+ * - https://nano-gpt.com/api/subscription/v1/usage
6
+ * - https://nano-gpt.com/api/check-balance
7
+ */
8
+ import { sanitizeDisplaySnippet, sanitizeDisplayText } from "./display-sanitize.js";
9
+ import { clampPercent, fmtUsdAmount } from "./format-utils.js";
10
+ import { fetchWithTimeout } from "./http.js";
11
+ import { hasNanoGptApiKey, resolveNanoGptApiKey, } from "./nanogpt-config.js";
12
+ const USER_AGENT = "OpenCode-Quota-Toast/1.0";
13
+ const NANOGPT_USAGE_URL = "https://nano-gpt.com/api/subscription/v1/usage";
14
+ const NANOGPT_BALANCE_URL = "https://nano-gpt.com/api/check-balance";
15
+ function isRecord(value) {
16
+ return Boolean(value) && typeof value === "object";
17
+ }
18
+ function getFiniteNumber(value) {
19
+ return typeof value === "number" && Number.isFinite(value) ? value : undefined;
20
+ }
21
+ function getFinitePositiveNumber(value) {
22
+ const n = getFiniteNumber(value);
23
+ return n !== undefined && n > 0 ? n : undefined;
24
+ }
25
+ function getNonEmptyString(value) {
26
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
27
+ }
28
+ function getIsoString(value) {
29
+ const raw = getNonEmptyString(value);
30
+ if (!raw)
31
+ return undefined;
32
+ const ms = Date.parse(raw);
33
+ if (!Number.isFinite(ms))
34
+ return undefined;
35
+ return new Date(ms).toISOString();
36
+ }
37
+ function getIsoFromEpochMs(value) {
38
+ const ms = getFinitePositiveNumber(value);
39
+ if (ms === undefined)
40
+ return undefined;
41
+ return new Date(Math.round(ms)).toISOString();
42
+ }
43
+ function normalizeUsageWindow(value, limitValue, fallbackResetTimeIso) {
44
+ if (!isRecord(value))
45
+ return undefined;
46
+ const used = getFiniteNumber(value.used);
47
+ const remainingRaw = getFiniteNumber(value.remaining);
48
+ const limitFromResponse = getFinitePositiveNumber(limitValue);
49
+ const percentUsed = getFiniteNumber(value.percentUsed);
50
+ const derivedLimit = limitFromResponse ??
51
+ (used !== undefined && remainingRaw !== undefined ? used + remainingRaw : undefined);
52
+ if (derivedLimit === undefined || derivedLimit <= 0)
53
+ return undefined;
54
+ const safeUsed = used ?? 0;
55
+ const safeRemaining = remainingRaw ??
56
+ (percentUsed !== undefined ? Math.max(0, derivedLimit * (1 - percentUsed)) : derivedLimit);
57
+ const percentRemaining = safeRemaining >= 0
58
+ ? clampPercent((safeRemaining / derivedLimit) * 100)
59
+ : clampPercent(percentUsed !== undefined ? (1 - percentUsed) * 100 : 0);
60
+ return {
61
+ used: safeUsed,
62
+ limit: derivedLimit,
63
+ remaining: Math.max(0, safeRemaining),
64
+ percentRemaining,
65
+ resetTimeIso: getIsoFromEpochMs(value.resetAt) ?? fallbackResetTimeIso,
66
+ };
67
+ }
68
+ function parseNanoGptUsage(payload) {
69
+ if (!isRecord(payload)) {
70
+ throw new Error("NanoGPT usage response returned an unexpected response shape");
71
+ }
72
+ const data = payload;
73
+ const currentPeriodEndIso = getIsoString(data.period?.currentPeriodEnd);
74
+ const daily = normalizeUsageWindow(data.daily, data.limits?.daily);
75
+ const monthly = normalizeUsageWindow(data.monthly, data.limits?.monthly, currentPeriodEndIso);
76
+ const hasSubscriptionShape = typeof data.active === "boolean" ||
77
+ typeof data.enforceDailyLimit === "boolean" ||
78
+ Boolean(getNonEmptyString(data.state)) ||
79
+ daily !== undefined ||
80
+ monthly !== undefined;
81
+ if (!hasSubscriptionShape) {
82
+ throw new Error("NanoGPT usage response returned an unexpected response shape");
83
+ }
84
+ return {
85
+ active: typeof data.active === "boolean" ? data.active : false,
86
+ state: getNonEmptyString(data.state) ?? (data.active ? "active" : "unknown"),
87
+ enforceDailyLimit: typeof data.enforceDailyLimit === "boolean" ? data.enforceDailyLimit : false,
88
+ daily,
89
+ monthly,
90
+ currentPeriodEndIso,
91
+ graceUntilIso: getIsoString(data.graceUntil),
92
+ };
93
+ }
94
+ function parseNanoGptBalance(payload) {
95
+ if (!isRecord(payload)) {
96
+ throw new Error("NanoGPT balance response returned an unexpected response shape");
97
+ }
98
+ const data = payload;
99
+ const usdBalanceRaw = getNonEmptyString(data.usd_balance);
100
+ const nanoBalanceRaw = getNonEmptyString(data.nano_balance);
101
+ const usdParsed = usdBalanceRaw !== undefined ? Number.parseFloat(usdBalanceRaw) : NaN;
102
+ if (usdBalanceRaw === undefined && nanoBalanceRaw === undefined) {
103
+ throw new Error("NanoGPT balance response returned an unexpected response shape");
104
+ }
105
+ return {
106
+ usdBalance: Number.isFinite(usdParsed) ? usdParsed : undefined,
107
+ usdBalanceRaw,
108
+ nanoBalanceRaw,
109
+ };
110
+ }
111
+ async function readNanoGptAuth() {
112
+ const result = await resolveNanoGptApiKey();
113
+ if (!result)
114
+ return null;
115
+ return { type: "api", key: result.key, source: result.source };
116
+ }
117
+ async function fetchNanoGptUsage(headers) {
118
+ try {
119
+ const response = await fetchWithTimeout(NANOGPT_USAGE_URL, {
120
+ method: "GET",
121
+ headers,
122
+ });
123
+ if (!response.ok) {
124
+ const text = await response.text();
125
+ return {
126
+ success: false,
127
+ message: `NanoGPT API error ${response.status}: ${sanitizeDisplaySnippet(text, 120)}`,
128
+ };
129
+ }
130
+ return {
131
+ success: true,
132
+ subscription: parseNanoGptUsage(await response.json()),
133
+ };
134
+ }
135
+ catch (err) {
136
+ return {
137
+ success: false,
138
+ message: sanitizeDisplayText(err instanceof Error ? err.message : String(err)),
139
+ };
140
+ }
141
+ }
142
+ async function fetchNanoGptBalance(headers) {
143
+ try {
144
+ const response = await fetchWithTimeout(NANOGPT_BALANCE_URL, {
145
+ method: "POST",
146
+ headers,
147
+ });
148
+ if (!response.ok) {
149
+ const text = await response.text();
150
+ return {
151
+ success: false,
152
+ message: `NanoGPT API error ${response.status}: ${sanitizeDisplaySnippet(text, 120)}`,
153
+ };
154
+ }
155
+ return {
156
+ success: true,
157
+ balance: parseNanoGptBalance(await response.json()),
158
+ };
159
+ }
160
+ catch (err) {
161
+ return {
162
+ success: false,
163
+ message: sanitizeDisplayText(err instanceof Error ? err.message : String(err)),
164
+ };
165
+ }
166
+ }
167
+ export async function hasNanoGptApiKeyConfigured() {
168
+ return await hasNanoGptApiKey();
169
+ }
170
+ export { getNanoGptKeyDiagnostics } from "./nanogpt-config.js";
171
+ export function formatNanoGptBalanceValue(balance) {
172
+ if (typeof balance.usdBalance === "number" && Number.isFinite(balance.usdBalance)) {
173
+ return fmtUsdAmount(balance.usdBalance);
174
+ }
175
+ if (balance.nanoBalanceRaw) {
176
+ return `${balance.nanoBalanceRaw} NANO`;
177
+ }
178
+ return null;
179
+ }
180
+ export async function queryNanoGptQuota() {
181
+ const auth = await readNanoGptAuth();
182
+ if (!auth)
183
+ return null;
184
+ const headers = {
185
+ "x-api-key": auth.key,
186
+ "User-Agent": USER_AGENT,
187
+ };
188
+ const [usageResult, balanceResult] = await Promise.all([
189
+ fetchNanoGptUsage(headers),
190
+ fetchNanoGptBalance(headers),
191
+ ]);
192
+ const endpointErrors = [];
193
+ if (!usageResult.success) {
194
+ endpointErrors.push({ endpoint: "usage", message: usageResult.message });
195
+ }
196
+ if (!balanceResult.success) {
197
+ endpointErrors.push({ endpoint: "balance", message: balanceResult.message });
198
+ }
199
+ if (!usageResult.success && !balanceResult.success) {
200
+ return {
201
+ success: false,
202
+ error: endpointErrors
203
+ .map((entry) => `${entry.endpoint === "usage" ? "Usage" : "Balance"}: ${entry.message}`)
204
+ .join("; "),
205
+ };
206
+ }
207
+ return {
208
+ success: true,
209
+ subscription: usageResult.success ? usageResult.subscription : undefined,
210
+ balance: balanceResult.success ? balanceResult.balance : undefined,
211
+ endpointErrors: endpointErrors.length > 0 ? endpointErrors : undefined,
212
+ };
213
+ }
214
+ //# sourceMappingURL=nanogpt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt.js","sourceRoot":"","sources":["../../src/lib/nanogpt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASvE,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"provider-metadata.d.ts","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWlE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUvE,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -8,6 +8,7 @@ export const QUOTA_PROVIDER_LABELS = {
8
8
  "qwen-code": "Qwen",
9
9
  "alibaba-coding-plan": "Alibaba Coding Plan",
10
10
  zai: "Z.ai",
11
+ nanogpt: "NanoGPT",
11
12
  };
12
13
  export const QUOTA_PROVIDER_ID_SYNONYMS = {
13
14
  "github-copilot": "copilot",
@@ -18,6 +19,7 @@ export const QUOTA_PROVIDER_ID_SYNONYMS = {
18
19
  "@rama_nigg/open-cursor": "cursor",
19
20
  qwen: "qwen-code",
20
21
  alibaba: "alibaba-coding-plan",
22
+ "nano-gpt": "nanogpt",
21
23
  };
22
24
  export function normalizeQuotaProviderId(id) {
23
25
  const normalized = id.trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,qBAAqB,EAAE,qBAAqB;IAC5C,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IACvB,wBAAwB,EAAE,QAAQ;IAClC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB;CAC/B,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"provider-metadata.js","sourceRoot":"","sources":["../../src/lib/provider-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,oBAAoB,EAAE,QAAQ;IAC9B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,MAAM;IACnB,qBAAqB,EAAE,qBAAqB;IAC5C,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,QAAQ;IACvB,wBAAwB,EAAE,QAAQ;IAClC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,qBAAqB;IAC9B,UAAU,EAAE,SAAS;CACtB,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,EAAU;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEzE,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+KD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,GAAG,KAAK,CAAC;IACtC,UAAU,EAAE,eAAe,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkclB"}
1
+ {"version":3,"file":"quota-status.d.ts","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEzE,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6LD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,GAAG,KAAK,CAAC;IACtC,UAAU,EAAE,eAAe,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,YAAY,CAAC;IACvD,oBAAoB,EAAE,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;QACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC,CAAC;IACH,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAygBlB"}
@@ -5,6 +5,7 @@ import { getGoogleTokenCachePath } from "./google-token-cache.js";
5
5
  import { getAntigravityAccountsCandidatePaths, readAntigravityAccounts } from "./google.js";
6
6
  import { getFirmwareKeyDiagnostics } from "./firmware.js";
7
7
  import { getChutesKeyDiagnostics } from "./chutes.js";
8
+ import { getNanoGptKeyDiagnostics, queryNanoGptQuota } from "./nanogpt.js";
8
9
  import { getCopilotQuotaAuthDiagnostics } from "./copilot.js";
9
10
  import { computeAlibabaCodingPlanQuota, computeQwenQuota, getAlibabaCodingPlanQuotaPath, getQwenLocalQuotaPath, readAlibabaCodingPlanQuotaState, readQwenLocalQuotaState, } from "./qwen-local-quota.js";
10
11
  import { hasAlibabaAuth, resolveAlibabaCodingPlanAuth, } from "./alibaba-auth.js";
@@ -37,6 +38,13 @@ const STATUS_SAMPLE_LIMIT = 5;
37
38
  function joinOrNone(values) {
38
39
  return values.length > 0 ? values.join(" | ") : "(none)";
39
40
  }
41
+ function fmtNanoGptMetric(value) {
42
+ if (!Number.isFinite(value))
43
+ return "0";
44
+ if (Number.isInteger(value))
45
+ return String(Math.trunc(value));
46
+ return value.toFixed(2).replace(/\.?0+$/, "");
47
+ }
40
48
  function computePricingCoverageFromAgg(agg) {
41
49
  const byProvider = new Map();
42
50
  let pricedKeysSeen = 0;
@@ -112,6 +120,13 @@ function supportedProviderPricingRow(params) {
112
120
  notes: "API-pool models map to official pricing; Auto/Composer use bundled static Cursor rates",
113
121
  };
114
122
  }
123
+ if (id === "nanogpt") {
124
+ return {
125
+ id,
126
+ pricing: "no",
127
+ notes: "subscription request quota + account balance (not token-priced)",
128
+ };
129
+ }
115
130
  // Providers that correspond directly to models.dev providers.
116
131
  if (params.snapshotProviders.includes(id)) {
117
132
  return { id, pricing: "yes", notes: "models.dev snapshot provider" };
@@ -308,6 +323,63 @@ export async function buildQuotaStatusReport(params) {
308
323
  // ignore
309
324
  }
310
325
  lines.push(`- chutes api key: configured=${chutesDiag.configured ? "true" : "false"}${chutesDiag.source ? ` source=${chutesDiag.source}` : ""}${chutesDiag.checkedPaths.length > 0 ? ` checked=${chutesDiag.checkedPaths.join(" | ")}` : ""}`);
326
+ lines.push("");
327
+ lines.push("nanogpt:");
328
+ let nanoGptDiag = {
329
+ configured: false,
330
+ source: null,
331
+ checkedPaths: [],
332
+ authPaths: [],
333
+ };
334
+ try {
335
+ nanoGptDiag = await getNanoGptKeyDiagnostics();
336
+ }
337
+ catch {
338
+ // ignore
339
+ }
340
+ lines.push(`- api_key_configured: ${nanoGptDiag.configured ? "true" : "false"}`);
341
+ lines.push(`- api_key_source: ${nanoGptDiag.source ?? "(none)"}`);
342
+ lines.push(`- api_key_checked_paths: ${joinOrNone(nanoGptDiag.checkedPaths)}`);
343
+ lines.push(`- api_key_auth_paths: ${joinOrNone(nanoGptDiag.authPaths)}`);
344
+ if (nanoGptDiag.configured) {
345
+ try {
346
+ const nanoGptQuota = await queryNanoGptQuota();
347
+ if (!nanoGptQuota) {
348
+ lines.push("- live_fetch_error: NanoGPT API key became unavailable before fetch");
349
+ }
350
+ else if (!nanoGptQuota.success) {
351
+ lines.push(`- live_fetch_error: ${nanoGptQuota.error}`);
352
+ }
353
+ else {
354
+ if (nanoGptQuota.subscription) {
355
+ lines.push(`- subscription_active: ${nanoGptQuota.subscription.active ? "true" : "false"}`);
356
+ lines.push(`- subscription_state: ${nanoGptQuota.subscription.state}`);
357
+ lines.push(`- enforce_daily_limit: ${nanoGptQuota.subscription.enforceDailyLimit ? "true" : "false"}`);
358
+ if (nanoGptQuota.subscription.daily) {
359
+ const daily = nanoGptQuota.subscription.daily;
360
+ lines.push(`- daily_usage: ${fmtNanoGptMetric(daily.used)}/${fmtNanoGptMetric(daily.limit)} remaining=${fmtNanoGptMetric(daily.remaining)} percent_remaining=${daily.percentRemaining} reset_at=${daily.resetTimeIso ?? "(none)"}`);
361
+ }
362
+ if (nanoGptQuota.subscription.monthly) {
363
+ const monthly = nanoGptQuota.subscription.monthly;
364
+ lines.push(`- monthly_usage: ${fmtNanoGptMetric(monthly.used)}/${fmtNanoGptMetric(monthly.limit)} remaining=${fmtNanoGptMetric(monthly.remaining)} percent_remaining=${monthly.percentRemaining} reset_at=${monthly.resetTimeIso ?? "(none)"}`);
365
+ }
366
+ lines.push(`- billing_period_end: ${nanoGptQuota.subscription.currentPeriodEndIso ?? "(none)"}`);
367
+ if (nanoGptQuota.subscription.graceUntilIso) {
368
+ lines.push(`- grace_until: ${nanoGptQuota.subscription.graceUntilIso}`);
369
+ }
370
+ }
371
+ lines.push(`- balance_usd: ${typeof nanoGptQuota.balance?.usdBalance === "number" ? fmtUsdAmount(nanoGptQuota.balance.usdBalance) : "(none)"}`);
372
+ lines.push(`- balance_nano: ${nanoGptQuota.balance?.nanoBalanceRaw ?? "(none)"}`);
373
+ for (const entry of nanoGptQuota.endpointErrors ?? []) {
374
+ lines.push(`- live_error_${entry.endpoint}: ${entry.message}`);
375
+ }
376
+ }
377
+ }
378
+ catch (err) {
379
+ const msg = err instanceof Error ? err.message : String(err);
380
+ lines.push(`- live_fetch_error: ${msg}`);
381
+ }
382
+ }
311
383
  const copilotDiag = getCopilotQuotaAuthDiagnostics(authData);
312
384
  lines.push("");
313
385
  lines.push("copilot_quota_auth:");
@@ -1 +1 @@
1
- {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-status.js","sourceRoot":"","sources":["../../src/lib/quota-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,oCAAoC,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,WAAW,IAAI,mBAAmB,EAClC,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAU7B,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,CAMpB;IACC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC;AACzE,CAAC;AAQD,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,SAAS,UAAU,CAAC,MAAgB;IAClC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,6BAA6B,CAAC,GAA+C;IAIpF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqC,CAAC;IAChE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,8BAA8B;IAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACpC,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,CAAC;YACxB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QACF,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;QAC7B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5B,cAAc,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,0EAA0E;IAC1E,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW;YAAE,SAAS;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACpC,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,CAAC;YACxB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QACF,QAAQ,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACpC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5B,qBAAqB,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACpC,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,CAAC;YACxB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QACF,QAAQ,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC/B,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5B,gBAAgB,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,2BAA2B,CAAC,MAIpC;IACC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IAErB,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;QACtB,OAAO;YACL,EAAE;YACF,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,wCAAwC;SAChD,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;QACvB,OAAO;YACL,EAAE;YACF,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,gEAAgE;SACxE,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,qBAAqB,EAAE,CAAC;QACjC,OAAO;YACL,EAAE;YACF,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,6EAA6E;SACrF,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO;YACL,EAAE;YACF,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,wFAAwF;SAChG,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;YACL,EAAE;YACF,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,iEAAiE;SACzE,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACvE,CAAC;IAED,kFAAkF;IAClF,yFAAyF;IACzF,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,mBAAmB,CAAC,QAAQ,CAAC;YAClC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,EAAE;YAC3E,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC;IACvF,CAAC;IAED,0EAA0E;IAC1E,IAAI,EAAE,KAAK,oBAAoB,EAAE,CAAC;QAChC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,WAAW,CAAC;YACtE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,EAAE;YACrF,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC;IACjG,CAAC;IAED,+FAA+F;IAC/F,4CAA4C;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;IAEpF,yFAAyF;IACzF,gGAAgG;IAChG,+BAA+B;IAC/B,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO;YACL,EAAE;YACF,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,qEAAqE;SAC7E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE;QACF,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,qCAAqC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MA2B5C;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAC1C,MAAM,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC;IAE/B,KAAK,CAAC,IAAI,CACR,oBAAoB,CAAC;QACnB,KAAK,EAAE,iCAAiC,CAAC,mBAAmB;QAC5D,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CACH,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,4BAA4B;IAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CACR,mBAAmB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnH,CAAC;IACF,KAAK,CAAC,IAAI,CACR,uBAAuB,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACvJ,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;QACtC,CAAC,CAAC,MAAM,CAAC,YAAY;QACrB,CAAC,CAAC,MAAM,CAAC,kBAAkB,KAAK,WAAW;YACzC,CAAC,CAAC,0CAA0C;YAC5C,CAAC,CAAC,MAAM,CAAC,kBAAkB,KAAK,YAAY;gBAC1C,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,WAAW,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,mBAAmB,YAAY,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IACzC,KAAK,CAAC,IAAI,CACR,yBAAyB,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,SAAS,UAAU,OAAO,CAAC,QAAQ,UAAU,OAAO,CAAC,QAAQ,EAAE,CAC3H,CAAC;IACF,MAAM,cAAc,GAAG,YAAY,EAAE,CAAC;IACtC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,KAAK,CAAC,IAAI,CACR,0BAA0B,WAAW,EAAE,YAAY,UAAU,CAAC,WAAW,CAAC,eAAe,UAAU,CAAC,cAAc,CAAC,EAAE,CACtH,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,qBAAqB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACnG,KAAK,CAAC,IAAI,CAAC,iCAAiC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,sBAAsB,aAAa,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtG,KAAK,CAAC,IAAI,CAAC,8BAA8B,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACnF,KAAK,CAAC,IAAI,CACR,0BAA0B,qBAAqB,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CACzK,CAAC;IAEF,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG,gCAAgC,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,UAAU;QACvB,WAAW,EAAE,MAAM,CAAC,oBAAoB;KACzC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACrD,MAAM,iBAAiB,GAAG,MAAM,gCAAgC,EAAE,CAAC;IACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,WAAW,eAAe,IAAI,MAAM,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CACR,uBAAuB,OAAO,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAClH,CAAC;IACF,KAAK,CAAC,IAAI,CACR,8BAA8B,OAAO,MAAM,CAAC,0BAA0B,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAC/I,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,qBAAqB,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,KAAK,CAAC,IAAI,CAAC,0BAA0B,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC;YACrD,oBAAoB,EAAE,MAAM,CAAC,0BAA0B;SACxD,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5H,KAAK,CAAC,IAAI,CACR,0BAA0B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAC5I,CAAC;QACF,KAAK,CAAC,IAAI,CACR,yBAAyB,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAC7H,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,oBAAoB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CACR,iCAAiC,kBAAkB,WAAW,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CACxG,CAAC;IACF,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACvE,KAAK,CAAC,IAAI,CACR,kCAAkC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,eAAe,EAAE,CACjJ,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,qBAAqB,GAAG,6BAA6B,EAAE,CAAC;IAC9D,MAAM,uBAAuB,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CACR,2CAA2C,qBAAqB,WAAW,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CACxH,CAAC;IACF,IAAI,qBAAqB,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,+BAA+B,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,6BAA6B,CAAC;gBACjD,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,qBAAqB,CAAC,IAAI;aACjC,CAAC,CAAC;YACH,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;YAC7E,KAAK,CAAC,IAAI,CACR,qCAAqC,qBAAqB,CAAC,IAAI,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,WAAW,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,YAAY,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,kBAAkB,EAAE,CAC1R,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,uCAAuC,GAAG,GAAG,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;SAAM,IAAI,qBAAqB,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,gCAAgC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,+BAA+B;IAC/B,IAAI,YAAY,GAA2E;QACzF,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,KAAK,CAAC,IAAI,CACR,kCAAkC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/O,CAAC;IAEF,6BAA6B;IAC7B,IAAI,UAAU,GAA2E;QACvF,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,KAAK,CAAC,IAAI,CACR,gCAAgC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACnO,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,IAAI,WAAW,GAKX;QACF,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,EAAE;KACd,CAAC;IACF,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,wBAAwB,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,4BAA4B,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACpF,CAAC;iBAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,uBAAuB,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CACR,0BAA0B,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAChF,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,yBAAyB,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;oBACvE,KAAK,CAAC,IAAI,CACR,0BAA0B,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAC3F,CAAC;oBACF,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;wBACpC,MAAM,KAAK,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC;wBAC9C,KAAK,CAAC,IAAI,CACR,kBAAkB,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,KAAK,CAAC,gBAAgB,aAAa,KAAK,CAAC,YAAY,IAAI,QAAQ,EAAE,CACxN,CAAC;oBACJ,CAAC;oBACD,IAAI,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;wBACtC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC;wBAClD,KAAK,CAAC,IAAI,CACR,oBAAoB,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,sBAAsB,OAAO,CAAC,gBAAgB,aAAa,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,CACpO,CAAC;oBACJ,CAAC;oBACD,KAAK,CAAC,IAAI,CACR,yBAAyB,YAAY,CAAC,YAAY,CAAC,mBAAmB,IAAI,QAAQ,EAAE,CACrF,CAAC;oBACF,IAAI,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC5C,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CACR,kBAAkB,OAAO,YAAY,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACpI,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,mBAAmB,YAAY,CAAC,OAAO,EAAE,cAAc,IAAI,QAAQ,EAAE,CAAC,CAAC;gBAClF,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACpD,IAAI,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,gCAAgC,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACpG,KAAK,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC5E,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,WAAW,CAAC,WAAW,KAAK,oBAAoB,EAAE,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,yIAAyI,CAAC,CAAC;IACxJ,CAAC;IACD,IAAI,WAAW,CAAC,WAAW,KAAK,kBAAkB,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,oJAAoJ,CAAC,CAAC;IACnK,CAAC;IACD,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,2BAA2B,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,gCAAgC,WAAW,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CACR,wBAAwB,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACpH,CAAC;IACF,KAAK,CAAC,IAAI,CACR,uBAAuB,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,QAAQ,YAAY,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,WAAW,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CACpP,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,MAAM,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACvD,KAAK,CAAC,IAAI,CACR,8BAA8B,oBAAoB,WAAW,CAAC,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAC3H,CAAC;IAEF,MAAM,UAAU,GAAG,oCAAoC,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC;YAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CACH,CAAC;IACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9C,KAAK,CAAC,IAAI,CACR,oCAAoC,QAAQ,IAAI,QAAQ,YAAY,UAAU,CAAC,iBAAiB,CAAC,eAAe,UAAU,CAAC,UAAU,CAAC,EAAE,CACzI,CAAC;IAEF,MAAM,YAAY,GAAG,2BAA2B,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,CAAC,IAAI,CACR,4BAA4B,UAAU,YAAY,UAAU,CAAC,SAAS,CAAC,eAAe,UAAU,CAAC,YAAY,CAAC,EAAE,CACjH,CAAC;IAEF,IAAI,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,IACE,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,KAAK,QAAQ;YAC9C,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,KAAK,QAAQ,EACrD,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,aAAa,CAAC,YAAY,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;QACjD,YAAY,GAAG,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAErD,+BAA+B;IAC/B,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAEnF,2BAA2B;IAC3B,4FAA4F;IAC5F,4DAA4D;IAC5D,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,wBAAwB,CAAC;QACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,mBAAmB,GAAG,6BAA6B,EAAE,CAAC;IAC5D,MAAM,gBAAgB,GAAG,iCAAiC,EAAE,CAAC;IAC7D,MAAM,mBAAmB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAE5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CACR,qBAAqB,IAAI,CAAC,MAAM,kBAAkB,cAAc,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,CAChJ,CAAC;IACF,KAAK,CAAC,IAAI,CACR,2BAA2B,MAAM,CAAC,qBAAqB,WAAW,cAAc,EAAE,CACnF,CAAC;IACF,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,4GAA4G,CAC7G,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACtF,KAAK,CAAC,IAAI,CACR,sJAAsJ,CACvJ,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,6BAA6B,mBAAmB,kBAAkB,gBAAgB,EAAE,CAAC,CAAC;IACjG,KAAK,CAAC,IAAI,CACR,uBAAuB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAC7H,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC7E,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,8BAA8B,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,oBAAoB,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,oBAAoB,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,gBAAgB,mBAAmB,CAAC,UAAU,IAAI,QAAQ,EAAE,CAC3b,CAAC;QACF,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,oBAAoB,mBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CACR,gCAAgC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,uBAAuB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CACvM,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACtC,cAAc,EAAE,CAAC;YACjB,qBAAqB,EAAE,CAAC;YACxB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QACF,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,YAAY,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,uBAAuB,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,mCAAmC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAC3N,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,2BAA2B,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,0BAA0B;IAC1B,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,WAAW,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAClG,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,WAAW,MAAM,WAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAChI,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,uFAAuF;IACvF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,WAAW,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAChG,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACnE,MAAM,UAAU,GACd,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW;gBAC3C,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;gBACpD,CAAC,CAAC,QAAQ,CAAC;YACf,MAAM,UAAU,GACd,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;gBACjE,CAAC,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACvD,CAAC,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CACR,KAAK,GAAG,WAAW,UAAU,GAAG,UAAU,WAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CACxH,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -95,6 +95,10 @@ export interface AlibabaAuthData {
95
95
  plan?: string;
96
96
  [key: string]: unknown;
97
97
  }
98
+ export interface NanoGptAuthData {
99
+ type: "api";
100
+ key: string;
101
+ }
98
102
  /**
99
103
  * Copilot subscription tier.
100
104
  * See: https://docs.github.com/en/copilot/about-github-copilot/subscription-plans-for-github-copilot
@@ -181,6 +185,8 @@ export interface AuthData {
181
185
  type: string;
182
186
  key?: string;
183
187
  };
188
+ nanogpt?: NanoGptAuthData;
189
+ "nano-gpt"?: NanoGptAuthData;
184
190
  cursor?: CursorOAuthAuthData;
185
191
  "opencode-qwencode-auth"?: QwenOAuthAuthData;
186
192
  alibaba?: AlibabaAuthData;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6EH,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,IAAI;IAEb,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,MAAM,EAAE,YAAY;IAEnC,KAAK,EAAE,KAAK;IAEZ,mFAAmF;IACnF,gBAAgB,EAAE,MAAe;IAEjC,4DAA4D;IAC5D,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,CAAC;KACf;IAED,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,IAAI;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AA4UF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,2EAA2E,EAAE,OAAO,EAAE,OAAO,EAAE;IACvI,OAAO,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;IACtD,MAAM,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClH,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE;CAC3D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6EH,mCAAmC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,OAAO,EAAE,IAAI;IAEb,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,MAAM,EAAE,YAAY;IAEnC,KAAK,EAAE,KAAK;IAEZ,mFAAmF;IACnF,gBAAgB,EAAE,MAAe;IAEjC,4DAA4D;IAC5D,YAAY,EAAE,CAAC,QAAQ,CAAC;IACxB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE;QACf,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,CAAC;KACf;IAED,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,IAAI;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAmVF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,uCAAuC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAG1B;IACF,KAAK,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,2EAA2E,EAAE,OAAO,EAAE,OAAO,EAAE;IACvI,OAAO,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE;IACtD,MAAM,EAAE,EAAE,GAAG,EAAE,0BAA0B,EAAE,MAAM,EAAE,0CAA0C,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClH,OAAO,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE;CAC3D,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * NanoGPT provider wrapper.
3
+ */
4
+ import type { QuotaProvider } from "../lib/entries.js";
5
+ export declare const nanoGptProvider: QuotaProvider;
6
+ //# sourceMappingURL=nanogpt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt.d.ts","sourceRoot":"","sources":["../../src/providers/nanogpt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,eAAe,EAAE,aA4H7B,CAAC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * NanoGPT provider wrapper.
3
+ */
4
+ import { formatNanoGptBalanceValue, hasNanoGptApiKeyConfigured, queryNanoGptQuota } from "../lib/nanogpt.js";
5
+ function formatUsageAmount(value) {
6
+ if (!Number.isFinite(value))
7
+ return "0";
8
+ if (Number.isInteger(value))
9
+ return String(Math.trunc(value));
10
+ return value.toFixed(2).replace(/\.?0+$/, "");
11
+ }
12
+ function formatUsageRight(window) {
13
+ return `${formatUsageAmount(window.used)}/${formatUsageAmount(window.limit)}`;
14
+ }
15
+ export const nanoGptProvider = {
16
+ id: "nanogpt",
17
+ async isAvailable(ctx) {
18
+ const hasApiKey = await hasNanoGptApiKeyConfigured();
19
+ try {
20
+ const resp = await ctx.client.config.providers();
21
+ const ids = new Set((resp.data?.providers ?? []).map((provider) => provider.id));
22
+ if (ids.has("nanogpt") || ids.has("nano-gpt")) {
23
+ return hasApiKey;
24
+ }
25
+ }
26
+ catch {
27
+ // Ignore provider lookup failures and fall back to key presence.
28
+ }
29
+ return hasApiKey;
30
+ },
31
+ matchesCurrentModel(model) {
32
+ const provider = model.split("/")[0]?.toLowerCase();
33
+ return provider === "nanogpt" || provider === "nano-gpt";
34
+ },
35
+ async fetch(ctx) {
36
+ const result = await queryNanoGptQuota();
37
+ if (!result) {
38
+ return { attempted: false, entries: [], errors: [] };
39
+ }
40
+ if (!result.success) {
41
+ return {
42
+ attempted: true,
43
+ entries: [],
44
+ errors: [{ label: "NanoGPT", message: result.error }],
45
+ };
46
+ }
47
+ const style = ctx.config.toastStyle ?? "classic";
48
+ const entries = [];
49
+ const errors = result.endpointErrors?.map((entry) => ({
50
+ label: entry.endpoint === "usage" ? "NanoGPT Usage" : "NanoGPT Balance",
51
+ message: entry.message,
52
+ })) ?? [];
53
+ const subscription = result.subscription;
54
+ if (subscription?.daily) {
55
+ entries.push(style === "grouped"
56
+ ? {
57
+ name: "NanoGPT Daily",
58
+ group: "NanoGPT",
59
+ label: "Daily:",
60
+ right: formatUsageRight(subscription.daily),
61
+ percentRemaining: subscription.daily.percentRemaining,
62
+ resetTimeIso: subscription.daily.resetTimeIso,
63
+ }
64
+ : {
65
+ name: "NanoGPT Daily",
66
+ percentRemaining: subscription.daily.percentRemaining,
67
+ resetTimeIso: subscription.daily.resetTimeIso,
68
+ });
69
+ }
70
+ if (subscription?.monthly) {
71
+ entries.push(style === "grouped"
72
+ ? {
73
+ name: "NanoGPT Monthly",
74
+ group: "NanoGPT",
75
+ label: "Monthly:",
76
+ right: formatUsageRight(subscription.monthly),
77
+ percentRemaining: subscription.monthly.percentRemaining,
78
+ resetTimeIso: subscription.monthly.resetTimeIso,
79
+ }
80
+ : {
81
+ name: "NanoGPT Monthly",
82
+ percentRemaining: subscription.monthly.percentRemaining,
83
+ resetTimeIso: subscription.monthly.resetTimeIso,
84
+ });
85
+ }
86
+ const balanceValue = result.balance ? formatNanoGptBalanceValue(result.balance) : null;
87
+ if (balanceValue) {
88
+ entries.push(style === "grouped"
89
+ ? {
90
+ kind: "value",
91
+ name: "NanoGPT Balance",
92
+ group: "NanoGPT",
93
+ label: "Balance:",
94
+ value: balanceValue,
95
+ }
96
+ : {
97
+ kind: "value",
98
+ name: "NanoGPT Balance",
99
+ value: balanceValue,
100
+ });
101
+ }
102
+ if (subscription?.state && subscription.state.toLowerCase() !== "active") {
103
+ errors.push({
104
+ label: "NanoGPT",
105
+ message: `Subscription state: ${subscription.state}`,
106
+ });
107
+ }
108
+ if (entries.length === 0) {
109
+ errors.push({
110
+ label: "NanoGPT",
111
+ message: "No usable NanoGPT quota or balance data",
112
+ });
113
+ }
114
+ return {
115
+ attempted: true,
116
+ entries,
117
+ errors,
118
+ };
119
+ },
120
+ };
121
+ //# sourceMappingURL=nanogpt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nanogpt.js","sourceRoot":"","sources":["../../src/providers/nanogpt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAa9C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAYvD,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAc9C"}
@@ -12,6 +12,7 @@ import { chutesProvider } from "./chutes.js";
12
12
  import { qwenCodeProvider } from "./qwen-code.js";
13
13
  import { alibabaCodingPlanProvider } from "./alibaba-coding-plan.js";
14
14
  import { zaiProvider } from "./zai.js";
15
+ import { nanoGptProvider } from "./nanogpt.js";
15
16
  export function getProviders() {
16
17
  // Order here defines display ordering in the toast.
17
18
  return [
@@ -24,6 +25,7 @@ export function getProviders() {
24
25
  chutesProvider,
25
26
  googleAntigravityProvider,
26
27
  zaiProvider,
28
+ nanoGptProvider,
27
29
  ];
28
30
  }
29
31
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,gBAAgB;QAChB,cAAc;QACd,yBAAyB;QACzB,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,YAAY;IAC1B,oDAAoD;IACpD,OAAO;QACL,eAAe;QACf,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,yBAAyB;QACzB,gBAAgB;QAChB,cAAc;QACd,yBAAyB;QACzB,WAAW;QACX,eAAe;KAChB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slkiser/opencode-quota",
3
- "version": "2.9.1",
3
+ "version": "2.10.0",
4
4
  "description": "OpenCode quota & tokens usage with zero context window pollution. Supports GitHub Copilot, OpenAI (Plus/Pro), Qwen Code, Chutes AI, Firmware AI, Google Antigravity, Z.ai coding plan and more.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",