@sriinnu/runic 2.11.3 → 2.13.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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.13.0 — 2026-10-21
4
+ - **SiliconFlow** is a new provider: it shows your prepaid balance (paid and bonus) from `api.siliconflow.com`, in USD. Paste a key in Settings → Providers → SiliconFlow or export `SILICONFLOW_API_KEY`; it is off until you add one.
5
+ - **SiliconFlow (China)** is its own slot for `siliconflow.cn` accounts, in CNY, with its own key (`SILICONFLOW_CN_API_KEY`). Like the other China slots it stays out of the menu until it has a key, and pairs under the SiliconFlow brand when you have both. Both balance readers follow SiliconFlow's documented `/v1/user/info` reply and have not been checked against a live key.
6
+ - **Ollama Cloud works with a Pro login.** Pro and Max accounts sign in on the website and have no API key, so Runic now reads your session and weekly usage (with reset times) from the `ollama.com` settings page using your browser's signed-in session. An API key still works and is tried first. The page parser matches on the "Session usage" and "Weekly usage" labels because the real markup has not been captured yet; if the tile comes up empty, that is the first place to look.
7
+ - A missing Ollama Cloud or SiliconFlow key now says so ("API key not found, add it in Settings → Providers…") instead of "No available fetch strategy".
8
+
9
+ ## 2.12.0 — 2026-10-15
10
+ - **Several logins per provider: the groundwork.** Runic now has accounts: a provider is the *kind*, and each login of it is an account with its own credential, fetched on every refresh and kept in its own slot. The default account is the one you already have and nothing about it changed on disk or in the keychain. A second Claude or Codex login can be registered today by hand in `~/Library/Application Support/Runic/accounts.json`, pointing at its own `CLAUDE_CONFIG_DIR` / `CODEX_HOME` directory: Runic reads the Keychain item Claude Code keys to that directory (`Claude Code-credentials-<hash>`) or the `auth.json` in that Codex home, and writes one row per account to `diagnostics/accounts.json` after each refresh. The menu, widget and CLI still show the default account; the account tabs, the Add-account sheet and token refresh for Runic-owned directories come next. Walkthrough: `docs/design/accounts-hands-on.md`.
11
+ - An added account uses token-based sources only. Without a token it reports "no available strategy" at once instead of running the vendor CLI against a fresh home and timing out after 45 seconds.
12
+ - CLI: `runic usage`, `runic reset` and the usage JSON title a weekly-only window **Weekly**, matching the app (Codex Pro reports only its weekly cap).
13
+ - Design: `docs/design/accounts-and-windows.md` is the reviewed plan for accounts and for replacing the three fixed usage slots with a self-describing list of windows.
14
+
3
15
  ## 2.11.3 — 2026-10-15
4
16
  - Kimi: a Kimi Code plan key no longer shows `Kimi API returned status code 404 … resource_not_found_error`. When the base URL points at the plan platform (`api.kimi.ai` or `api.kimi.com`), Runic reads plan usage from `/coding/v1/usages` on that host instead of asking it for a Moonshot balance it does not serve; a 404 from a Moonshot host now also falls through to plan usage, like 401/403 did. The monthly pool is read from `limit_month_code` when `limit_month_total` is absent, and the base-URL hint in Settings says which host is which.
5
17
  - Codex: Pro accounts now get only a weekly cap from the usage API, and it arrives in the session slot with no 5h window at all. Runic showed it as **Session** with a week-away reset and an empty Weekly row, so the number looked stuck. The window is titled **Weekly** now (menu card, menu text, resets, burn chart, widget) with its weekly pace line, and the 5h row stays away until the API sends one — the same way codex's own `/status` names limits by duration.
package/README.md CHANGED
@@ -9,6 +9,8 @@
9
9
  ![macOS 14+](https://img.shields.io/badge/macOS-14%2B-000?logo=apple)
10
10
  ![Swift 6.2](https://img.shields.io/badge/Swift-6.2-F05138?logo=swift&logoColor=white)
11
11
  ![License MPL-2.0](https://img.shields.io/badge/license-MPL--2.0-blue)
12
+ [![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ea4aaa?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/sriinnu)
13
+ [![Buy Me a Coffee](https://img.shields.io/badge/buy%20me%20a%20coffee-FFDD00?logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/sriinnu)
12
14
 
13
15
  </div>
14
16
 
@@ -119,6 +121,9 @@ Do not commit keys, tokens, browser session dumps, local account screenshots, ac
119
121
 
120
122
  Runic is open source. Sponsorship is optional and should fund maintenance, signing, CI, docs, and privacy-first usage features without changing the core promise: honest local usage visibility should stay open.
121
123
 
124
+ - [GitHub Sponsors](https://github.com/sponsors/sriinnu)
125
+ - [Buy Me a Coffee](https://buymeacoffee.com/sriinnu)
126
+
122
127
  ## Acknowledgements
123
128
 
124
129
  Runic's menu layout and provider tab bar were inspired by [CodexBar](https://github.com/steipete/CodexBar), and its local cost accounting by the ccusage approach to reading coding-tool logs. The code here is Runic's own; ideas travel, and they should be credited.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sriinnu/runic",
3
- "version": "2.11.3",
3
+ "version": "2.13.0",
4
4
  "description": "Local-first AI usage visibility for macOS.",
5
5
  "author": "Sriinnu <5410488+sriinnu@users.noreply.github.com>",
6
6
  "license": "MPL-2.0",