Releases: llblab/pi-codex-usage
Releases · llblab/pi-codex-usage
Release list
0.12.0: Shared Fast Mode and Pi 1.0 Baseline
- Requires Pi ≥1.0.0 across the coding-agent, AI and agent-core peers; previous hosts are outside this release's compatibility contract.
- Added argument-free, persistent per-model
/fastfor theopenai-codexprovider with no model-ID allowlist or Fast-specific auth gate.@llblab/pi-command-fast@^0.1.0coordinates one command alongside Claude Usage across duplicate library copies, separate sessions and reloads; generic JSONC editing moved to that normal library. Enabled stores onlyserviceTier: "priority"; OFF removes the property. - Enabled Fast adds
service_tier: "priority"to eligible Codex requests only when no tier is already present, and appendsfastto the existing terminal status in the same dim theme color as its reset countdown, with immediate redraw and no success notification. State follows model selection and survives restart; the loading renderer tracks the newly selected model so an old timer cannot restore its previous suffix. Quota coordination and the Telegram status row are unchanged. - Split the monolithic entrypoint into an explicit domain DAG under
lib/.index.tsonly re-exports the composition root inlib/extension.tsand previous public contracts. The quota store, provider transport, normalized report, status lifecycle/format, Telegram adapter, and Fast override have separate owners; tests now live intests/with domain-matched names.
0.11.0: Shared Quota Refresh
- Coordinated polling across Pi instances through one
~/.pi/agent/tmp/pi-codex-usage/usage.json: the leader refreshes every 60 seconds, followers normally read every 30 seconds, and leadership becomes eligible for takeover after 90 seconds without a touch. Failure backoff is shared, the last successful report stays visible for up to an hour, and provisional full-availability confirmation runs only in the refreshing instance. - Made the JSON authoritative for request admission and fenced publication using the on-disk owner, claim generation, and lease. A non-waiting OS-backed SQLite mutex serializes claiming and publication; lock or claim-write failures deny requests, and late results cannot overwrite a successor. Upgrade: close all old Pi instances before starting updated ones; do not mix locking protocols or remove the mutex file while instances run.
- Breaking: Removed Spark-specific quotas, labels, and source priority. All Codex models now use the primary
codexquota; additional buckets and legacy per-bucket caches are ignored without migration. Dual-bar rendering, loading animation, reset countdowns, Business credit usage, Pi auth, and the Codex app-server fallback are preserved.
0.10.1: Softer Quota Bar
- Changed the normal and loading dual-quota bar background from
selectedBgto the softer themeduserMessageBg; exhausted quotas still usetoolErrorBg. The bar is less prominent across dark and light themes without altering quota values or countdowns.
0.10.0: Business Credit Usage
- Added Business-account credit usage support for responses that do not expose Codex rate-limit windows. Impact: the statusline now shows rounded remaining credit percentage and an optional reset countdown while preserving existing rate-limit displays when both forms are available.
- Scheduled credit reset countdown redraws at their exact display boundaries and retained credits-only reports in the active cache. Impact: credit status remains locally responsive between API refreshes without displacing model-specific quota windows.
0.9.4: Responsive Quota Polling
- Increased the automatic Codex quota refresh interval from 30 to 60 seconds. Impact: status values remain responsive down to the locally rendered seconds countdown while reducing repeated OpenAI requests, especially when several Pi instances are open.
0.9.3: Trusted Release Automation
- Added tag-gated release automation with exact package/lock/tag identity checks, full package validation, npm Trusted Publisher provenance, public registry verification, and workflow-owned GitHub Release creation through
.github/workflows/release.yml. - Normalized nullable provider headers into the string-only request header contract, preserving compatibility with current Pi model-registry types while omitting intentionally removed headers.
0.9.2: package description hotfix
Fixes the npm package description by removing the trailing period.
0.9.1: Clear Weekly Quota Status
Clear weekly quota status
- Weekly-only responses now show the rounded remaining quota and reset countdown directly, for example
codex 67% 7d. - Responses that still include both 5-hour and weekly windows retain the classic dual-tier quota bar.
- Terminal and Telegram status values use the same adaptive representation.
No configuration or migration changes required.
0.9.0: Adaptive Weekly Quota Bar
Adaptive weekly quota bar
- Keeps the classic dual-tier display when OpenAI returns both 5-hour and weekly quota windows.
- Combines both tiers into one 40-step weekly scale when OpenAI returns only the weekly window.
- Preserves weekly reset countdowns and redraw scheduling for either response shape.
- Applies provisional full-quota stabilization to single-window responses.
No configuration or migration changes required.