SIGN IN SIGN UP

Release 0.8.4: reasoning history, ChatGPT restore, and live usage (#19)

* fix(usage): count active proxied sessions and persist cost live

togetherlink usage only counted sessions that had ended, and proxied
agents (claude/codex/codex-app) only persisted usage at session end.
ChatGPT Desktop (codex-app) sessions register without a pid, so they
never end while the app is open -- their spend was invisible in the
report and lost if the daemon restarted.

- Flush in-memory cost to the session store on the markSeen cadence and
  on graceful shutdown (flushAll), so never-ending sessions persist and
  survive a restart.
- Widen queryUsageSince to include active sessions seen within the window.
- Render the usage report model/harness breakdowns as box-bordered tables.

Expose attachStore/flushUsage/flushAll on SessionRegistry as test seams.

* chore: release 0.8.4

Bump CLI version to 0.8.4 and rebuild the distribution bundle. Sweeps the
two stale CLI version references in docs (TESTING.md, llms.txt).

* clarify: label Codex as 'Codex CLI' to distinguish from ChatGPT Desktop

The interactive launcher listed the terminal Codex CLI as just "Codex",
which collides with the ChatGPT Desktop (codex-app) integration in the
same picker. Rename it to "Codex CLI" there and in the usage report's
harness breakdown so both CLI surfaces make the terminal-vs-desktop
distinction explicit. Rebuild the bundle.

* Update llms.txt

* feat(cli): add off/restore verbs to disable the managed codex config

The chatgpt command persistently manages ~/.codex/config.toml, which the
Codex CLI also reads, so a plain codex launch kept routing through the
local daemon until the user found chatgpt --restore. Worse, chatgpt off
silently re-applied the config and codex off launched Codex with "off"
as a prompt.

- Parse off/restore right after a harness name as a togetherlink verb
  instead of passthrough (`--` still forwards a literal off/restore).
- Route chatgpt off, codex off, and bare togetherlink restore to the
  existing codex-app restore flow; no API key required.
- No-op gracefully when no managed config/backup exists, checked before
  the running-app guard so codex off works while ChatGPT Desktop is open.
- Reject off/restore for harnesses with no persistent config.
- Document the verbs in help and the changelog; ignore .beta-dist and
  docs/onboarding.

* tchatgpt

* feat: configure reasoning history replay

* chore: rebuild 0.8.4 release bundle

* chore: bump package manager to pnpm 11.22.0

* refactor: remove duplicated proxy logic
R
Riccardo Giorato committed
93e492a20d15d0b683b456c05a41f1c7308b8173
Parent: 2d0ffb6
Committed by GitHub <noreply@github.com> on 8/21/2026, 9:17:27 AM