tokenflex/ing
Changelog

What's changed

Each entry covers either the web app or a CLI version. Latest first.

Web 2026-05-22

2026-05-22
  • · Onboarding rebuilt as one continuous 4-step flow: Profile → Install CLI → Pair + scan → Per-tool sync. Shared progress ribbon across /onboarding and /onboarding/device.
  • · /connections/new restructured: prominent grouped TOC at top (Setup · Coding agents · Subscription · API keys), then per-tool sections (OpenCode, Claude Code, Codex, Cursor, Claude Desktop).
  • · Dashboard sources table: Pending badge replaced with actionable Set up → link pointing at the per-tool docs anchor. Each row now shows a brand-color logo badge.
  • · Dashboard first-run hero replaces the wall of $0.00 cards on brand-new accounts.
  • · /cli rewritten as the canonical CLI glossary with anchor nav, quick-start scenarios, tool support matrix, storage paths, and troubleshooting.
  • · /docs expanded into a full product reference: architecture, MCP wiring, multi-account, Cursor 3-path sync, Claude Desktop bridge.
  • · Leaderboard period boards now hide tabs that have zero rows. Seeded profiles age out of today/week/month naturally — only real freshly-synced devices show up there.
  • · Leaderboard active scope tab visibility bug fixed (white-on-white pill on dark theme).
  • · pg_cron job `bump-seeded-profiles-12h` adds random tokens to seeded profiles every 12 hours so period boards stay alive for the next ~30 days.
  • · Fixed 38 undefined `--border` token references across onboarding / settings / login (silent no-border bug).

tokenflexing@1.8.0

2026-05-22
  • · MCP action tools shipped — agents in Claude Code / Cursor / Claude Desktop can now RUN setup commands inline: setup_device, refresh_stats, install_daemon, import_cursor_csv, install_hooks.
  • · Each action tool whitelists a subcommand and shells out via spawnSync. 5-minute timeout for the browser-pairing dance. Captures stdout/stderr + exit code so the agent can react to failures.
  • · Read tools (get_my_stats, get_device_scan, get_flex_card) unchanged.

tokenflexing@1.7.0

2026-05-22
  • · OpenCode parser shipped — reads `~/.local/share/opencode/storage/message/<sessionID>/msg_*.json` (and `OPENCODE_DATA_DIR` env override). Real token counts + provider-stamped cost.
  • · DETECTORS entry for `opencode` flipped from `parseable: false` to `parseable: true`.
  • · Help text updated: "Parsed today: Claude Code · Codex CLI · OpenCode · Cursor (CSV / cookie API)".

tokenflexing@1.6.0

2026-05-22
  • · Cursor automation lands in two flavours: (B) Downloads auto-pickup + `watch-cursor` foreground watcher, (D) cookie-based API replay via new `setup-cursor-auto` command.
  • · parseCursor() now picks the freshest of: a CSV in `~/Downloads/cursor*.csv`, the stored CSV at `~/.config/tokenflexing/cursor-usage.csv`, or the API snapshot at `~/.config/tokenflexing/cursor-api.json`. Both paths layer cleanly.
  • · Daemon plist target swapped from `scan` to `sync` so the 6 AM run also pushes to the cloud — old behaviour silently never updated the dashboard.
  • · commandSync() now refreshes Cursor API cache before pushing, prints `⚠ cookie expired` when 401.

tokenflexing@1.5.1

2026-05-21
  • · Fixed `daemon --install` failing with `launchctl bootstrap gui/501 ... file exists` when an old agent was already loaded. Bootout now runs first automatically.

tokenflexing@1.5.0

2026-05-21
  • · New `import-cursor <path>` command — imports a Cursor usage CSV exported from cursor.com/dashboard. Parses v1, v2, and v3 CSV layouts.
  • · Multi-profile token storage: `~/.config/tokenflexing/profiles/<name>/token` with `profile list` / `profile use <name>` commands. Legacy `~/.config/tokenflexing/token` auto-migrates on first load.
  • · New `logout` command — clears the local token, leaves the server-side device row alive until you revoke it from /devices.

Web 2026-05-21

2026-05-21
  • · Domain switched to tokenflex.ing (Vercel domain + Supabase auth URLs updated).
  • · GitHub OAuth removed. Magic-link + password only for now.
  • · Logged-in users hitting /login now skip the form and land on /dashboard.
  • · Footer routes shipped: /cli, /docs, /roadmap, /changelog, /privacy, /terms, /security.
  • · Favicon + apple-touch-icon added.

Web 2026-05-20

2026-05-20
  • · /connections/new rewritten in plain English with separate macOS + Windows setup cards.

Web 2026-05-19

2026-05-19
  • · Cloud sync now populates today / 7-day / 30-day buckets (migration 0004).
  • · Dashboard surfaces cloud-synced sources alongside local readers.
  • · Auth session persistence fixed (proxy.ts wires updateSession on every request).

tokenflexing@1.4.0

2026-05-21
  • · Default cloud sync target switched to https://tokenflex.ing.
  • · Help text and copy aligned with new domain.

tokenflexing@1.3.0

2026-05-20
  • · sync payload now includes today / 7-day / 30-day buckets per source.

tokenflexing@1.2.0

2026-05-19
  • · New `connect` super-command (scan + login + sync in one step).
  • · Detection-only sources (Antigravity, Windsurf, Aider, ...) ship through sync so the dashboard shows them too.

tokenflexing@1.1.0

2026-05-17
  • · Renamed from `tokenflex` (taken) to `tokenflexing` on npm.
  • · Daemon plist no longer embeds the dev-machine path — uses `npx tokenflexing@latest`.
  • · OpenCode + Cursor local readers added.