codeburn/mac/Sources/CodeBurnMenubar/Data
AgentSeal 6b6b6b8df6 feat(menubar): Claude config selector, hardened (supersedes #635)
Scopes the menubar to one Claude config for multi-config (CLAUDE_CONFIG_DIRS)
setups, with All as the default. Rebased onto main and fixed the review
findings from the original #635:

- Fix a TS2206 build break (a 'type' modifier inside an import type block).
- Reject --claude-config-source with a non-Claude --provider, and scan Claude
  only in the scoped branch (a config is Claude-only): fixes provider data
  leaking into a scoped query and avoids parsing every provider's corpus.
- Scope the macOS menu-bar figure to the selected config (badge matched the
  popover), clear the selection when switching to a non-Claude provider tab,
  and stop the on-disk badge fallback from showing an unscoped number while
  scoped.
- Tag Claude Desktop / Cowork sessions as their own 'claude-desktop' source so
  they are a selectable bucket instead of silently vanishing from per-config
  views (sum of options now equals All).
- Skip the redundant Claude discovery walk for plain single-config users while
  keeping idle configs and Claude Desktop selectable.

Reviewed by Codex 5.6; all findings addressed. Full suite: 1581 TS tests, 76
Swift tests, tsc clean.
2026-07-10 01:44:51 +02:00
..
CapacityEstimator.swift
ClaudeCredentialStore.swift fix(menubar): read Claude keychain via security CLI on silent refresh (#490) (#491) 2026-06-14 10:31:56 +02:00
ClaudeSubscriptionService.swift fix(menubar): provider-correct plan tab copy; surface model-scoped weekly limits 2026-07-02 19:37:51 +02:00
CLIClaudeConfig.swift feat(menubar): configure CLAUDE_CONFIG_DIRS via Settings (#434) (#436) 2026-06-06 02:30:46 +02:00
CodexCredentialStore.swift fix(menubar): treat the CLI credential store as the source of truth 2026-05-31 05:01:19 -07:00
CodexSubscriptionService.swift fix(menubar): treat the CLI credential store as the source of truth 2026-05-31 05:01:19 -07:00
CodexUsage.swift
DataClient.swift feat(menubar): Claude config selector, hardened (supersedes #635) 2026-07-10 01:44:51 +02:00
MenubarPayload.swift feat(menubar): Claude config selector, hardened (supersedes #635) 2026-07-10 01:44:51 +02:00
MenubarStatusCache.swift
QuotaSummary.swift
SubscriptionRefreshCadence.swift
SubscriptionSnapshotStore.swift
SubscriptionUsage.swift fix(menubar): provider-correct plan tab copy; surface model-scoped weekly limits 2026-07-02 19:37:51 +02:00
UpdateChecker.swift fix(menubar): refuse menubar updates from CLIs older than 0.9.9 2026-07-02 05:30:19 +02:00
UsageRefreshCadence.swift feat(menubar): user-selectable usage refresh cadence (Auto / 1m / 5m / 15m / Manual) 2026-07-09 22:48:07 +02:00