Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
3521a23
Fix Codex parent baseline transition order
Finesssee Sep 22, 2026
f7d1ad9
Fix fork cache replacement test
Finesssee Sep 22, 2026
0735ff5
Reconcile inferred Codex forks in one scan
Finesssee Sep 22, 2026
361655e
Order Codex scan work by lineage
Finesssee Sep 22, 2026
b77e3c1
Merge remote-tracking branch 'origin/main' into codex/fix-pr-597-ci
Finesssee Sep 22, 2026
4d0b599
Fail closed on ambiguous Codex lineage
Finesssee Sep 22, 2026
9b2361a
Validate Codex lineage across refreshes
Finesssee Sep 22, 2026
0a2789e
Merge remote-tracking branch 'origin/main' into codex/fix-pr-597-ci
Finesssee Sep 22, 2026
4558dc2
Harden Codex fork lineage validation
Finesssee Sep 22, 2026
a7f685a
Consolidate Codex lineage validation graph
Finesssee Sep 22, 2026
ac88694
Reject late ordinal gaps in inferred forks
Finesssee Sep 22, 2026
042c88b
Bound Antigravity local history scans
Finesssee Sep 23, 2026
cce5b27
Preserve uncertainty in Claude history scans
Finesssee Sep 23, 2026
69398db
Avoid Clippy warnings in Claude history scanning
Finesssee Sep 23, 2026
99cc6be
Merge branch 'main' into codex/port-0.63.0-kimi-zero
Finesssee Sep 23, 2026
35ff684
Integrate history fixes with current main
Finesssee Sep 23, 2026
94884db
Stabilize tray panel sizing test
Finesssee Sep 23, 2026
0f759e6
Remove shell startup timing from login exit tests
Finesssee Sep 23, 2026
a6517c3
Require known Kimi legacy window duration
Finesssee Sep 23, 2026
c2bf8b5
Merge remote-tracking branch 'origin/main' into codex/fix-pr587-windo…
Finesssee Sep 23, 2026
4f5a661
Test Claude daily history public coverage
Finesssee Sep 23, 2026
cd2a624
Merge remote-tracking branch 'origin/main' into codex/fix-pr-605-thermo
Finesssee Sep 23, 2026
5e5fd5a
Bound tray sizing test timeout to async work
Finesssee Sep 23, 2026
7cadca5
Integrate corrected Kimi reconciliation and bounded CI test
Finesssee Sep 23, 2026
96e5e2e
Integrate Kimi cookie policy and selected-region routing
Finesssee Sep 23, 2026
3aec9b6
Integrate checked Claude history aggregation and public regression
Finesssee Sep 23, 2026
cc6a8a0
Integrate Crof retirement with current provider catalog
Finesssee Sep 23, 2026
68c5481
Integrate Codex fork baseline exclusion
Finesssee Sep 23, 2026
82bad19
Integrate distinct users in shared Codex workspaces
Finesssee Sep 23, 2026
ff72bfa
Integrate reviewed stacked tray presentation
Finesssee Sep 23, 2026
b35ec29
Skip pricing zero-token Antigravity events
Finesssee Sep 23, 2026
d28d3b4
Integrate Antigravity estimates and corrected zero-token coverage
Finesssee Sep 23, 2026
ab706db
Canonicalize stacked provider preferences
Finesssee Sep 23, 2026
775a4c4
Reuse Codex lineage plan per refresh
Finesssee Sep 23, 2026
c54f673
Bound Codex lineage planning during port integration
Finesssee Sep 23, 2026
bc1ac36
Initialize lineage planner in one branch expression
Finesssee Sep 23, 2026
d32defc
Integrate definite lineage planner initialization
Finesssee Sep 23, 2026
b79e67e
Separate stacked preference enablement regression
Finesssee Sep 23, 2026
c186e19
Prefer current Codex lineage metadata
Finesssee Sep 23, 2026
23e449f
Reconcile fresh lineage metadata on bounded rescans
Finesssee Sep 23, 2026
2df956f
Allow proof harness to seed multiple providers
Finesssee Sep 23, 2026
1455c04
Keep validated proof seed state in memory
Finesssee Sep 23, 2026
5d2d39e
Scope lineage invalidation to active dependencies
Finesssee Sep 23, 2026
eb41733
Limit lineage cache invalidation to active dependencies
Finesssee Sep 23, 2026
6eec2e2
Fall back to API key dashboard URLs
Finesssee Sep 23, 2026
da5ce39
Compile Antigravity offline count helper only for tests
Finesssee Sep 23, 2026
e354f3f
Reinfer grown subagent history from start
Finesssee Sep 23, 2026
aca5988
Preserve unknown Claude daily costs
Finesssee Sep 23, 2026
a9af9ff
Use public API key catalog export
Finesssee Sep 23, 2026
63e243d
Remove obsolete cached local provenance
Finesssee Sep 23, 2026
08ad198
Clarify Kimi manual cookie error
Finesssee Sep 23, 2026
2aa7ff5
Add isolated no-focus Antigravity proof mode
Finesssee Sep 24, 2026
6cc2981
Honor Antigravity CLI path override
Finesssee Sep 24, 2026
1bda0d0
Extract Antigravity CLI resolution
Finesssee Sep 24, 2026
075f551
Add Hyper GitKraken and Bifrost providers
Finesssee Sep 25, 2026
669910b
test(provider): account for three added provider IDs
Finesssee Sep 25, 2026
e7b4e14
Add per-provider token account routing
Finesssee Sep 25, 2026
6878cc0
Fail closed for mismatched OpenCode Go account sources
Finesssee Sep 25, 2026
220c804
Preserve token account credentials in fetch routing
Finesssee Sep 25, 2026
eddd57f
Share token account source routing policy
Finesssee Sep 25, 2026
e0a4bdc
Compute account source before moving credentials
Finesssee Sep 25, 2026
f9b60df
Add Atlas Cloud balance provider
Finesssee Sep 24, 2026
006ee94
Port upstream 0.68.0: accept Venice Clerk session cookies with Bearer…
Finesssee Sep 29, 2026
0a7eaad
Port upstream 0.68.0: open Codex usage analytics from Usage Dashboard
Finesssee Sep 29, 2026
02d3f85
Port upstream 0.65.0: confirm unused rolling weekly Codex resets
Finesssee Sep 29, 2026
a9c501b
Port upstream 0.67.0: add CostReportingPeriod core and range-aware co…
Finesssee Sep 29, 2026
3de6386
Port upstream 0.67.0: add cost --period and period-aware serve /cost
Finesssee Sep 29, 2026
2a5d336
Port upstream 0.67.0: add History window setting and period-aware spe…
Finesssee Sep 29, 2026
e97a0ce
Port upstream 0.66.0: skip unchanged Codex cost cache rewrites
Finesssee Sep 29, 2026
87496f1
Port upstream 0.65.0: scan claude-swap session homes in the Claude co…
Finesssee Sep 29, 2026
da60023
Port upstream 0.65.0: explain Antigravity offline fallback with a fix…
Finesssee Sep 29, 2026
7522ae1
Port upstream 0.66.0: Atlas Cloud typed balance, API login method, ic…
Finesssee Sep 29, 2026
2651567
Port upstream 0.67.0: retain inherited counter origin for direct fork…
Finesssee Sep 29, 2026
b6f3971
Port upstream 0.68.0: attribute Nous OpenCodex ledger rows to the Nou…
Finesssee Sep 29, 2026
dca935e
Port upstream 0.67.0: clarify OpenRouter API key vs Management key gu…
Finesssee Sep 29, 2026
66630e8
Port upstream 0.69.0: retry Codex auth.json publication races
Finesssee Sep 29, 2026
5bfe2f2
Port upstream 0.69.0: reset Codex weekly baseline on plan change
Finesssee Sep 29, 2026
bb5c7b9
Port upstream 0.69.0: guide stale Kimi CLI credentials to renewal or …
Finesssee Sep 29, 2026
67ec2aa
Port upstream 0.69.0: mark Kimi shorter windows blocked by an exhaust…
Finesssee Sep 29, 2026
c220563
Address thermo review
Finesssee Sep 29, 2026
c27ed3c
Port upstream 0.65.0: price Codex Priority turns from trace evidence
Finesssee Sep 29, 2026
3e63802
Port upstream 0.61.0: OpenRouter diagnostics and Activity summary
Finesssee Sep 30, 2026
86dd3fb
Port upstream 0.67.0: fetch Bedrock daily cost history for period sel…
Finesssee Sep 30, 2026
f292961
Port upstream 0.64.0: Antigravity cost follow-ups (lower bounds, with…
Finesssee Sep 30, 2026
5358eae
Port upstream 0.61.0: show provider history provenance and token tota…
Finesssee Sep 30, 2026
b883c47
Port upstream 0.63.0: support StepFun credit plans with Credit label …
Finesssee Sep 30, 2026
093031c
Address thermo review
Finesssee Sep 30, 2026
27ff74e
Address thermo review
Finesssee Sep 30, 2026
29b34cc
Address thermo review
Finesssee Sep 30, 2026
d3e857c
Address thermo review
Finesssee Sep 30, 2026
195870a
Address thermo review
Finesssee Sep 30, 2026
8f096d8
Address thermo review
Finesssee Sep 30, 2026
bb22a6d
Address thermo review
Finesssee Sep 30, 2026
4001969
Address thermo review
Finesssee Sep 30, 2026
8da64f9
Address thermo review
Finesssee Sep 30, 2026
8e78ad1
Address thermo review
Finesssee Sep 30, 2026
2d2b882
Address thermo review
Finesssee Sep 30, 2026
9d70007
Address thermo review
Finesssee Sep 30, 2026
7d0742f
Address thermo review
Finesssee Sep 30, 2026
1864c84
Address thermo review
Finesssee Sep 30, 2026
953d739
Address thermo review
Finesssee Sep 30, 2026
ad681f3
Isolate bootstrap payload test from real settings
Finesssee Sep 29, 2026
6178f00
Prove the bootstrap catalog depends only on supplied settings
Finesssee Sep 30, 2026
a5be227
Port upstream 0.68.0: test Codex analytics dashboard URL fragment
Finesssee Sep 30, 2026
e8aad2a
Revert "Add isolated no-focus Antigravity proof mode"
Finesssee Sep 30, 2026
9b85564
Revert "Fall back to API key dashboard URLs"
Finesssee Sep 30, 2026
e894b64
Match Kimi zero-ratio reconciliation to upstream counters
Finesssee Sep 30, 2026
59d6249
Test that API-key providers keep metadata dashboard URLs
Finesssee Sep 30, 2026
888f0a4
Drop retired Crof provider from README tables
Finesssee Sep 30, 2026
4a1674e
Port upstream 0.65.0: exact rolling weekly checks and upstream reset …
Finesssee Sep 30, 2026
9321f78
Match Antigravity routing suffixes case-insensitively
Finesssee Sep 30, 2026
f2d2c29
Keep TrayPanel tests under 1000 lines
Finesssee Sep 30, 2026
20eaf3a
Merge port/micro-0.65.0-codex-weekly-reset-rolling into port/micro-0.…
Finesssee Sep 30, 2026
9ef221d
Port upstream 0.69.0: port plan transition publication tests
Finesssee Sep 30, 2026
333aeeb
Merge main into integrate-reviewed-ports
Finesssee Sep 30, 2026
63b1242
Keep proof seed provider validation after main retired popOut targets
Finesssee Sep 30, 2026
4b93d3d
Port upstream 0.69.0: reread stale Codex credentials during publication
Finesssee Sep 30, 2026
15f1091
Localize the Usage & Spend known-subtotal label
Finesssee Sep 30, 2026
d38bce7
Stop CodexBar from stealing focus
Finesssee Sep 30, 2026
317d4fe
Merge #610 into Antigravity cost follow-ups; refresh unknown-model pr…
Finesssee Sep 30, 2026
7daf977
codex scanner: detect whitespace turn_context candidates
Finesssee Sep 13, 2026
4778b30
Preserve bare Codex usage fallback
Finesssee Sep 13, 2026
ef326cf
Port v0.57.0 OpenCodex numeric safety
Finesssee Sep 13, 2026
a3a7bec
Port v0.57.0: map gpt-reserve pricing alias to gpt-5.6-luna
Finesssee Sep 13, 2026
195063e
Adapt re-landed Codex scanner tests to record tuples
Finesssee Sep 30, 2026
3f3fccf
Merge #610 (integrate-reviewed-ports) at 15f1091d into port/micro-0.6…
Finesssee Sep 30, 2026
648a48a
Port v0.58 usage spend parity
Finesssee Sep 13, 2026
4bea929
Share usage spend formatters
Finesssee Sep 13, 2026
610da6c
Match upstream claude-swap slot names and translate the swap cost tests
Finesssee Sep 30, 2026
2808b1b
Drop the optional symlink fixture results explicitly
Finesssee Sep 30, 2026
56375e4
Merge #610 (integrate-reviewed-ports) at 15f1091d into port/micro-0.6…
Finesssee Sep 30, 2026
1d64dd7
Translate daily ledger labels in every locale
Finesssee Sep 30, 2026
07f1bb7
Start long daily ledgers with the newest 30 rows
Finesssee Sep 30, 2026
82dbf08
Port v0.59 tray pace colors
Finesssee Sep 13, 2026
2e99806
Use canonical pace stages for tray colors
Finesssee Sep 13, 2026
8c16d5d
Translate tray pace color labels in every locale
Finesssee Sep 30, 2026
14393ef
Harden Codex Priority trace pricing and cache evidence
Finesssee Sep 30, 2026
3444791
Classify Antigravity live failures for the offline explanation
Finesssee Sep 30, 2026
e41e424
Test Codex Priority day aggregate and row pricing
Finesssee Sep 30, 2026
0904916
Format Codex cache day imports
Finesssee Sep 30, 2026
2abba2d
Merge remote-tracking branch 'origin/codex/integrate-reviewed-ports-2…
Finesssee Sep 30, 2026
acc54c4
Test Codex Priority trace parsing and scanner pricing
Finesssee Sep 30, 2026
40c6c11
Port upstream 0.70.0: refresh 16 provider brand accents
Finesssee Sep 30, 2026
2f29161
Resume bounded Codex fork parses
Finesssee Sep 30, 2026
05ebe7f
Note Codex fork resume in the changelog
Finesssee Oct 1, 2026
c8ef5bf
Merge remote-tracking branch 'origin/codex/integrate-reviewed-ports-2…
Finesssee Oct 1, 2026
1539d22
Align Nous ledger pricing with upstream
Finesssee Oct 1, 2026
73307e9
Align Kimi CLI guidance with upstream web availability
Finesssee Oct 1, 2026
de9b018
Fix reset refresh timer for resets over 24.8 days away
Finesssee Oct 1, 2026
33356bc
Merge remote-tracking branch 'origin/port/micro-0.69.0-kimi-stale-cli…
Finesssee Oct 1, 2026
400f805
Keep Codex cost fixtures on the local day
Finesssee Oct 1, 2026
b97eb75
Match upstream Kimi monthly block rows and lift them at the pool reset
Finesssee Oct 1, 2026
ee19721
Note the Kimi monthly block in the changelog
Finesssee Oct 1, 2026
2aeec9e
Port upstream 0.70.0: redact stored process environments
Finesssee Oct 1, 2026
c3688ef
Merge codex/integrate-reviewed-ports-20260923 into codex/port-0.65-an…
Finesssee Oct 1, 2026
b0011ca
Port upstream 0.64.0: Helmcode reset fallback, tenant dashboard URL, …
Finesssee Oct 1, 2026
038d611
Translate upstream Antigravity override locator tests
Finesssee Oct 1, 2026
aed50dd
Port upstream 0.64.0: v0 billing dashboard URL
Finesssee Oct 1, 2026
9668faa
Cache Hugging Face identity for 12 h, explain 403 billing access, kee…
Finesssee Oct 1, 2026
dc34ebb
Accept a Cookie: prefix on pasted Venice session headers
Finesssee Oct 1, 2026
5e8071a
Port upstream 0.64.0: ElevenLabs endpoint override, XI_API_KEY alias,…
Finesssee Oct 1, 2026
3e403a6
Port upstream 0.61.0: stack CLI history line on the OpenRouter Activi…
Finesssee Oct 1, 2026
7c8aff3
Port upstream 0.65.0: GitKraken 429 Retry-After
Finesssee Oct 1, 2026
aa295e1
Remove retired Crof from the Rust README provider list
Finesssee Oct 1, 2026
bfb026a
Port Kimi Code API partial ratio pools
Finesssee Oct 1, 2026
7b6e268
Document Kimi Code quota lanes
Finesssee Oct 1, 2026
000cff5
Port upstream 0.68.0: Venice web session per-browser fall-through
Finesssee Oct 1, 2026
53f39a6
Port upstream 0.60.4: price OpenCodex rows by recorded billing route
Finesssee Oct 1, 2026
c292ca9
Test historical GPT-5.6 cache-write pricing for OpenCodex rows
Finesssee Oct 1, 2026
287a1d6
Match upstream hasExplicitURLScheme in ElevenLabs endpoint override
Finesssee Oct 1, 2026
5636ca1
Parse custom pricing entries one at a time like upstream
Finesssee Oct 1, 2026
7fe1de4
Run Helmcode non-boolean premium billing bodies through the full fetch
Finesssee Oct 1, 2026
fffc700
Move pricing test modules into their own files
Finesssee Oct 1, 2026
77dc904
Price Antigravity Gemini 3.1 Pro aliases as the catalogued preview model
Finesssee Oct 1, 2026
c652349
Merge #610 (15f1091d) into the v0.65 provider pack
Finesssee Oct 1, 2026
0e0944f
Show informational float bar metrics as text
Finesssee Oct 1, 2026
47bd8e6
Reprice GPT-5.6 Sol from 2026-08-21 and add Cyber and Daybreak pricing
Finesssee Oct 1, 2026
4155a49
Price Pi and workspace Codex usage at the rates of its own day
Finesssee Oct 1, 2026
d49c021
Treat a Venice session reply without a token as an expired session
Finesssee Oct 1, 2026
1a40932
Bill GPT-5.4 and GPT-5.5 above 272K at long-context rates like upstream
Finesssee Oct 1, 2026
6f6e929
Document Codex Daybreak, Cyber and Sol repricing rules
Finesssee Oct 1, 2026
c8f874a
Require // right after the scheme colon in ElevenLabs endpoint override
Finesssee Oct 1, 2026
97cfbe9
Merge Venice clerk fixes and treat tokenless replies and guest user t…
Finesssee Oct 1, 2026
78d8932
Keep Hugging Face wallet for an Auto source with a selected token acc…
Finesssee Oct 1, 2026
30c7121
Integrate #711 Make the bootstrap catalog test hermetic (#684)
Finesssee Oct 1, 2026
afe1b74
Integrate #721 Keep Codex cost fixtures on the local day
Finesssee Oct 1, 2026
7df9507
Integrate #713 Stop CodexBar from stealing focus
Finesssee Oct 1, 2026
6363599
Integrate #720 Fix reset refresh timer for resets over 24.8 days away
Finesssee Oct 1, 2026
1313c80
Integrate #714 Port upstream 0.57.0: re-land stranded Codex scanner, …
Finesssee Oct 1, 2026
ef15c0d
Integrate #715 Port upstream 0.58.0: re-land stranded Usage & Spend d…
Finesssee Oct 1, 2026
346eb03
Integrate #716 Port upstream 0.59.0: re-land stranded tray pace color…
Finesssee Oct 1, 2026
72fafbf
Pin the cost bucket time zone
Finesssee Oct 1, 2026
e5e0e0f
Merge remote-tracking branch 'origin/port/micro-0.67.0-cost-reporting…
Finesssee Oct 1, 2026
c24088a
Integrate #610 Integrate reviewed provider, history, and tray ports
Finesssee Oct 1, 2026
4bab448
Glue: carry #716 tray pace tint into the #610 tray presentation plan
Finesssee Oct 1, 2026
371583b
Integrate #615 Port upstream 0.65.0: honor unusable Antigravity CLI p…
Finesssee Oct 1, 2026
8a8f3f5
Integrate #706 Port upstream 0.64.0: Antigravity cost follow-ups - lo…
Finesssee Oct 1, 2026
a49d1b5
Integrate #732 Port upstream 0.70.0: Antigravity Gemini 3.1 Pro prici…
Finesssee Oct 1, 2026
78cf8a6
Integrate #670 Port upstream 0.65.0: scan claude-swap session homes i…
Finesssee Oct 1, 2026
f5965d4
Integrate #672 Port upstream 0.65.0: explain Antigravity offline fall…
Finesssee Oct 1, 2026
f30fd09
Integrate #677 Port upstream 0.67.0: retain inherited counter origin …
Finesssee Oct 1, 2026
cd25ddb
Integrate #691 Port upstream 0.69.0: Kimi stale CLI credential guidan…
Finesssee Oct 1, 2026
6fff17b
Integrate #697 Port upstream 0.69.0: mark Kimi windows blocked by an …
Finesssee Oct 1, 2026
3a84269
Integrate #730 Port upstream 0.60.5: Kimi accepts monthly-only and pa…
Finesssee Oct 1, 2026
cf151f4
Integrate #728 Docs: remove retired Crof from rust/README (stacked on…
Finesssee Oct 1, 2026
c5034a5
Align antigravity provider tests with merged release work
Finesssee Oct 1, 2026
ed2440c
Describe the tray-panel-only layout in Windows docs
Finesssee Oct 1, 2026
2618198
Port upstream 0.65.0: Hyper session-first fetch and cookie-source rou…
Finesssee Oct 1, 2026
95504c2
Integrate #627 Port upstream 0.68.0: accept unused Codex analytics da…
Finesssee Oct 1, 2026
cb17acb
Integrate #629 Port upstream 0.65.0: confirm unused rolling weekly Co…
Finesssee Oct 1, 2026
667d34b
Merge #619 (26181982) into the account source pack
Finesssee Oct 1, 2026
7f0101f
Integrate #690 Port upstream 0.69.0: reset Codex weekly baseline on p…
Finesssee Oct 1, 2026
bf1e636
Integrate #688 Port upstream 0.69.0: retry Codex auth.json publicatio…
Finesssee Oct 1, 2026
e1e25a6
Integrate #666 Port upstream 0.66.0: skip unchanged Codex cost cache …
Finesssee Oct 1, 2026
e316541
Honor provider lane labels in Settings usage bars and metric picker
Finesssee Oct 1, 2026
8d3a9d6
Integrate #698 Port upstream 0.65.0: price Codex Priority turns from …
Finesssee Oct 1, 2026
cd41f85
Integrate #682 Port upstream 0.68.0: attribute Nous OpenCodex ledger …
Finesssee Oct 1, 2026
faa48b5
Integrate #731 Port upstream 0.60.4: price OpenCodex rows by billing …
Finesssee Oct 1, 2026
dec930e
Integrate #734 Port upstream 0.70.0: Codex Sol repricing cutoff, Cybe…
Finesssee Oct 1, 2026
545d39d
Integrate #648 Port upstream 0.67.0: add CostReportingPeriod core and…
Finesssee Oct 1, 2026
250f1d8
Fix the no-cookie-domain branch after the #619 merge
Finesssee Oct 1, 2026
4988b27
Integrate #653 Port upstream 0.67.0: cost --period and period-aware s…
Finesssee Oct 1, 2026
a453cfd
Integrate #665 Port upstream 0.67.0: History window setting and perio…
Finesssee Oct 1, 2026
b613a91
Integrate #733 Fix float bar pills for informational metrics
Finesssee Oct 1, 2026
61eed6c
Integrate #710 Port upstream 0.63.0: StepFun credit plans (Credit lab…
Finesssee Oct 1, 2026
084d019
Integrate #703 Port upstream 0.61.0: OpenRouter diagnostics and Activ…
Finesssee Oct 1, 2026
66b6594
Integrate #708 Port upstream 0.61.0: CLI provider history line with p…
Finesssee Oct 1, 2026
504bd67
Integrate #686 Port upstream 0.67.0: OpenRouter API key and Managemen…
Finesssee Oct 1, 2026
526f218
Integrate #722 Port upstream 0.70.0: redact stored process environments
Finesssee Oct 1, 2026
60255ea
Integrate #719 Port upstream 0.70.0: refresh 16 provider brand accent…
Finesssee Oct 1, 2026
38fb38c
Integrate #723 Port upstream 0.64.0: Helmcode reset fallback, tenant …
Finesssee Oct 1, 2026
5ad2766
Integrate #724 Port upstream 0.64.0: v0 billing dashboard URL
Finesssee Oct 1, 2026
417e4fe
Integrate #725 Port upstream 0.64.0: Hugging Face 12h identity cache,…
Finesssee Oct 1, 2026
54f6f55
Integrate #727 Port upstream 0.65.0: GitKraken 429 Retry-After (stack…
Finesssee Oct 1, 2026
fe5d877
Integrate #619 Port Hyper, GitKraken AI, and Bifrost providers
Finesssee Oct 1, 2026
8569cd3
Integrate #626 Port upstream 0.68.0: accept Venice Clerk session cook…
Finesssee Oct 1, 2026
ee23d2d
Integrate #729 Port upstream 0.68.0: Venice web session per-browser f…
Finesssee Oct 1, 2026
749f3a7
Fix leftover merge-conflict markers in the 690 and 665 integrations
Finesssee Oct 1, 2026
4cf7203
Fix merge seams: restore #734 pricing tests, balance cost.rs braces, …
Finesssee Oct 1, 2026
aaf9235
Fix batch-2 compile errors: history borrows, Local day-start helper, …
Finesssee Oct 1, 2026
b30f524
Restore the gpt-reserve alias the #734 integration dropped (fixes nor…
Finesssee Oct 2, 2026
4663218
Fix the #619 merge resolution in build_fetch_context
Finesssee Oct 2, 2026
64f32db
Fix 698 integration test drift: drop the stale pre-hardening gpt-5-pr…
Finesssee Oct 2, 2026
8926a75
Merge #620 (4663218d) into the atlas cloud parity branch
Finesssee Oct 2, 2026
a8a3e96
Integrate #738 Honor provider lane labels in Settings usage bars and …
Finesssee Oct 2, 2026
f3375b8
Integrate #726 Port upstream 0.64.0: ElevenLabs endpoint override, XI…
Finesssee Oct 2, 2026
c7eb659
Merge the finished #620/#676 chain into the atlas cloud branch
Finesssee Oct 2, 2026
9240e34
Integrate #620 Port upstream 0.65.0: account source pack (token-accou…
Finesssee Oct 2, 2026
b49dc2b
Integrate #618 Port upstream 0.66.0: Atlas Cloud typed balance (keeps…
Finesssee Oct 2, 2026
f28e113
Fix Atlas-chain glue: map Kimi web isolation errors into WebFetchFail…
Finesssee Oct 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,16 @@ menu-bar layout.
- Grok: Settings and tray **Add account** flow matching Codex/Claude — isolated `grok login --oauth`, save current CLI login, switch, and remove without logging out the active session.
- Replicate: cookie-authenticated monthly spend and optional prepaid credit balance from the billing page, with user and organization account isolation.
- DeepSeek: show reported per-model spend in the provider details while preserving the billing currency, reporting period, zero values, and incomplete-total safeguards.
- CLI: show provider-supplied history in usage text with its source period, known zero, and cost provenance (reported, estimated, or includes estimates), plus input-plus-output token totals for OpenRouter Activity.

### Fixed
- Antigravity: a set but unusable `ANTIGRAVITY_CLI_PATH` (empty, missing, or not a file) now turns off automatic `agy` discovery instead of falling back to another CLI that could start an interactive login during a background refresh; a running desktop app still answers first, offline history is still shown, and unsetting the variable restores discovery.
- Kimi: when the Kimi Code CLI credential is stale or rejected and web auth has no token to try, direct the user to run `kimi` or add a Kimi Code API key in Settings, keeping the web fallback and leaving CLI-owned credentials read-only. A rejected web token still reports the web error, and a Kimi Code API 403 reports a permission or quota denial instead of a sign-in problem.
- Kimi Code: while the monthly membership pool is exhausted, show the shorter Code windows as “Blocked by monthly limit” without their own usage bar, reset, or pace forecast, keeping the raw usage in the CLI, tray icon, and float bar; the block lifts at the pool's reset even before the next refresh.
- Kimi Code: accept ratio-pool Code API responses that report only some windows, keep an unreported weekly quota absent instead of showing 0%, and show the monthly Total usage reported by the Code API without browser authentication.
- Claude: when Hide Personal Info is enabled, keep saved account rows distinguishable with stable localized `Account N` labels and matching redacted tooltips.
- Codex: a fork of a fork whose parent has no token snapshot before the child forked now inherits the whole chain's cumulative counter origin instead of staying unresolved; ancestor chains deeper than 64 stay unresolved, and the Codex cost cache is rebuilt once (cache schema 5).
- Codex: a fork larger than the per-refresh scan budget continues where the last refresh stopped instead of restarting from the top and never finishing, and a finished fork that grows is no longer billed for usage it inherited from its parent.

---

Expand Down
1 change: 0 additions & 1 deletion README.es-MX.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ Consulta el historial completo en [CHANGELOG.md](CHANGELOG.md).
| Xiaomi MiMo | Cookies | Saldo, Plan de tokens |
| Doubao | Clave API | Límites de solicitudes |
| Command Code | Cookies | Créditos mensuales, Créditos comprados |
| Crof | Clave API | Créditos, Cuota de solicitudes |
| StepFun | Token Oasis | 5h, Semanal, Refresco de token |
| Venice | Clave API | Saldo USD / DIEM |
| OpenAI | Admin API / Clave API | Uso, Solicitudes, Costo con ámbito de proyecto, Saldo de créditos |
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,8 @@ See the full history in [CHANGELOG.md](CHANGELOG.md).
| Xiaomi MiMo | Cookies | Balance, Token Plan |
| Doubao | API Key | Request Limits |
| Command Code | Cookies | Monthly Credits, Purchased Credits |
| Crof | API Key | Credits, Request Quota |
| StepFun | Oasis Token | 5h, Weekly, Token refresh |
| Venice | API Key | USD / DIEM Balance |
| Venice | API Key / Web session | USD / DIEM Balance, Bundled credits (web session expires in about 60 s) |
| OpenAI | Admin API / API Key | Usage, Requests, Project-scoped cost, Credit Balance |
| Grok | Cookies / auth.json | Billing |
| Helmcode (also NaN Builders) | Browser cookies / manual Cookie header | Per-model token quotas, reset windows, Helmcode prepaid balance |
Expand Down
1 change: 0 additions & 1 deletion README.tr-TR.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ Tüm geçmişi [CHANGELOG.md](CHANGELOG.md) dosyasında görebilirsiniz.
| Xiaomi MiMo | Çerezler | Bakiye, Token Planı |
| Doubao | API Anahtarı | İstek Sınırları |
| Command Code | Çerezler | Aylık Krediler, Satın Alınan Krediler |
| Crof | API Anahtarı | Krediler, İstek Kotası |
| StepFun | Oasis Tokenı | 5 saatlik, Haftalık, Token yenileme |
| Venice | API Anahtarı | USD / DIEM Bakiyesi |
| OpenAI | Yönetici API'si / API Anahtarı | Kullanım, İstekler, Proje kapsamlı maliyet, Kredi Bakiyesi |
Expand Down
3 changes: 1 addition & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

## 功能特性

- **56 个 AI 服务商** — Codex、Claude、Cursor、Factory、Gemini、Copilot、Antigravity、z.ai、MiniMax、Kiro、Vertex AI、Augment、OpenCode、Kimi、Kimi K2、Amp、Warp、Ollama、Azure OpenAI、T3 Chat、OpenRouter、JetBrains AI、Alibaba、Alibaba Token Plan、NanoGPT、Infini、Perplexity、Abacus AI、Mistral、OpenCode Go、Kilo、AWS Bedrock、Codebuff、DeepSeek、Windsurf、Manus、小米 MiMo、Doubao、Command Code、Crof、StepFun、Venice、OpenAI、Grok、ElevenLabs、Deepgram、Groq、LLM Proxy、Chutes、LiteLLM、Poe、Devin、Zed、CrossModel、Qoder、Sakana AI
- **56 个 AI 服务商** — Codex、Claude、Cursor、Factory、Gemini、Copilot、Antigravity、z.ai、MiniMax、Kiro、Vertex AI、Augment、OpenCode、Kimi、Kimi K2、Amp、Warp、Ollama、Azure OpenAI、T3 Chat、OpenRouter、JetBrains AI、Alibaba、Alibaba Token Plan、NanoGPT、Infini、Perplexity、Abacus AI、Mistral、OpenCode Go、Kilo、AWS Bedrock、Codebuff、DeepSeek、Windsurf、Manus、小米 MiMo、Doubao、Command Code、StepFun、Venice、OpenAI、Grok、ElevenLabs、Deepgram、Groq、LLM Proxy、Chutes、LiteLLM、Poe、Devin、Zed、CrossModel、Qoder、Sakana AI
- **系统托盘图标** — 动态双条进度显示会话与周用量
- **Floating Bar** — 可选的置顶透明用量条,支持方向、透明度和点击穿透控制
- **浏览器 Cookie 导入** — Chrome、Edge、Brave、Firefox(Windows DPAPI 解密)
Expand Down Expand Up @@ -217,7 +217,6 @@ codexbar cost -p codex # 本地成本(JSONL 日志)
| 小米 MiMo | Cookies | 余额、Token 套餐 |
| Doubao | API Key | 请求限制 |
| Command Code | Cookies | 月度 Credits、已购 Credits |
| Crof | API Key | Credits、请求配额 |
| StepFun | Oasis Token | 5h、周用量 |
| Venice | API Key | USD / DIEM 余额 |
| OpenAI | Admin API / API Key | 用量、请求数、余额 |
Expand Down
3 changes: 1 addition & 2 deletions README.zh-TW.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

## 功能特性

- **56 個 AI 提供者** — Codex、Claude、Cursor、Factory、Gemini、Copilot、Antigravity、z.ai、MiniMax、Kiro、Vertex AI、Augment、OpenCode、Kimi、Kimi K2、Amp、Warp、Ollama、Azure OpenAI、T3 Chat、OpenRouter、JetBrains AI、Alibaba、Alibaba Token Plan、NanoGPT、Infini、Perplexity、Abacus AI、Mistral、OpenCode Go、Kilo、AWS Bedrock、Codebuff、DeepSeek、Windsurf、Manus、小米 MiMo、Doubao、Command Code、Crof、StepFun、Venice、OpenAI、Grok、ElevenLabs、Deepgram、Groq、LLM Proxy、Chutes、LiteLLM、Poe、Devin、Zed、CrossModel、Qoder、Sakana AI
- **56 個 AI 提供者** — Codex、Claude、Cursor、Factory、Gemini、Copilot、Antigravity、z.ai、MiniMax、Kiro、Vertex AI、Augment、OpenCode、Kimi、Kimi K2、Amp、Warp、Ollama、Azure OpenAI、T3 Chat、OpenRouter、JetBrains AI、Alibaba、Alibaba Token Plan、NanoGPT、Infini、Perplexity、Abacus AI、Mistral、OpenCode Go、Kilo、AWS Bedrock、Codebuff、DeepSeek、Windsurf、Manus、小米 MiMo、Doubao、Command Code、StepFun、Venice、OpenAI、Grok、ElevenLabs、Deepgram、Groq、LLM Proxy、Chutes、LiteLLM、Poe、Devin、Zed、CrossModel、Qoder、Sakana AI
- **系統系統匣圖示** — 動態雙條進度顯示會話與周用量
- **Floating Bar** — 可選的置頂透明用量條,支援方向、透明度和點選穿透控制
- **瀏覽器 Cookie 匯入** — Chrome、Edge、Brave、Firefox(Windows DPAPI 解密)
Expand Down Expand Up @@ -217,7 +217,6 @@ codexbar cost -p codex # 本機成本(JSONL 日誌)
| 小米 MiMo | Cookies | 餘額、Token 套餐 |
| Doubao | API Key | 請求限制 |
| Command Code | Cookies | 月度 Credits、已購 Credits |
| Crof | API Key | Credits、請求配額 |
| StepFun | Oasis Token | 5h、周用量 |
| Venice | API Key | USD / DIEM 餘額 |
| OpenAI | Admin API / API Key | 用量、請求數、餘額 |
Expand Down
67 changes: 21 additions & 46 deletions apps/desktop-tauri/src-tauri/src/auto_resume.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,19 @@

use codexbar::agent_sessions::{
AgentSession, AgentSessionProvider, AgentSessionSource, AgentSessionState,
LocalAgentSessionScanner, SessionFocusResult,
LocalAgentSessionScanner,
};
use codexbar::core::{ProviderId, TokenAccountStore};
use codexbar::settings::Settings;
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use std::process::Command;
use std::sync::Mutex;

use crate::commands::{ProviderUsageSnapshot, RateWindowSnapshot};
use crate::state::AppState;
use tauri::Manager;

const MAX_SESSION_ID_LEN: usize = 256;
#[cfg(windows)]
const CREATE_NEW_CONSOLE: u32 = 0x0000_0010;
#[cfg(windows)]
const CREATE_NEW_PROCESS_GROUP: u32 = 0x0000_0200;

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
enum QuotaSlot {
Expand Down Expand Up @@ -633,19 +628,22 @@ async fn resume_captured_session(
}
if let Some(session) = matching_session(&target, &result.sessions) {
// A live process already owns this exact session. Reopening it would
// create a duplicate terminal, so focus the existing window instead.
// create a duplicate terminal, so point the user at the existing
// window instead. This runs after a background refresh, not a user
// action: flash the window's taskbar button rather than restoring and
// activating it over the app the user is working in.
if session.pid.is_some() {
if !resume_attempt_is_still_valid(app, &target, operation, account_identity) {
clear_provider_if_resume_owner(app, target.provider, operation);
return;
}
let focus_result = codexbar::agent_sessions::focus_session(session);
let succeeded = matches!(focus_result, SessionFocusResult::Focused);
let attention = codexbar::agent_sessions::request_session_attention(session);
let succeeded = attention.is_ok();
tracing::info!(
provider = target.provider.cli_name(),
focus_result = ?focus_result,
attention = ?attention,
succeeded,
"captured CLI session is already running; attempting to focus it"
"captured CLI session is already running; flashing its window"
);
finish_resume_attempt(app, &target, operation, succeeded);
return;
Expand Down Expand Up @@ -804,14 +802,15 @@ fn launch_resume(target: &ResumeTarget) -> Result<(), String> {
.ok_or_else(|| format!("{} CLI was not found", target.provider.display_name()))?;

let command = build_resume_command(target, executable)?;
let mut process = Command::new(&command.program);
process.args(&command.args).current_dir(&command.cwd);
#[cfg(windows)]
{
use std::os::windows::process::CommandExt;
process.creation_flags(CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP);
}
process.spawn().map(|_| ()).map_err(|error| {
// This runs after a background refresh, not a user action: the console
// starts minimized and inactive, so it waits on the taskbar instead of
// taking focus from the app the user is working in.
codexbar::host::console_launch::spawn_minimized_console(
&command.program,
&command.args,
&command.cwd,
)
.map_err(|error| {
format!(
"failed to launch {} CLI: {error}",
target.provider.display_name()
Expand All @@ -835,40 +834,16 @@ fn build_resume_command(
_ => return Err("provider does not support auto-resume".to_string()),
};

#[cfg(windows)]
if executable
.extension()
.and_then(|extension| extension.to_str())
.is_some_and(|extension| matches!(extension.to_ascii_lowercase().as_str(), "cmd" | "bat"))
{
let command_line = std::iter::once(quote_cmd_arg(&executable.to_string_lossy()))
.chain(cli_args.iter().map(|arg| quote_cmd_arg(arg)))
.collect::<Vec<_>>()
.join(" ");
return Ok(ResumeCommand {
program: PathBuf::from("cmd.exe"),
args: vec![
"/d".to_string(),
"/s".to_string(),
"/c".to_string(),
command_line,
],
cwd: target.cwd.clone(),
});
}

// Batch shims such as npm's `claude.cmd` stay the program here;
// `spawn_minimized_console` runs them through cmd.exe with quoting cmd.exe
// parses.
Ok(ResumeCommand {
program: executable,
args: cli_args,
cwd: target.cwd.clone(),
})
}

#[cfg(windows)]
fn quote_cmd_arg(value: &str) -> String {
format!("\"{}\"", value.replace('"', "\\\""))
}

#[cfg(test)]
#[path = "auto_resume_tests.rs"]
mod auto_resume_tests;
17 changes: 10 additions & 7 deletions apps/desktop-tauri/src-tauri/src/auto_resume_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ mod tests {
reserve_description: None,
reserve_will_last_to_reset: false,
reserve_eta_seconds: None,
monthly_limit_block: None,
}
}

Expand Down Expand Up @@ -86,22 +87,24 @@ mod tests {
);
}

#[cfg(windows)]
#[test]
fn cmd_wrapper_preserves_exact_resume_arguments() {
fn batch_shims_keep_exact_resume_arguments() {
// cmd.exe wrapping for `.cmd` shims happens at launch, in
// `codexbar::host::console_launch`, which tests its own quoting.
let command = build_resume_command(
&target(ProviderId::Claude),
PathBuf::from(r"C:\Program Files\Claude\claude.cmd"),
)
.unwrap();

assert_eq!(command.program, PathBuf::from("cmd.exe"));
assert_eq!(&command.args[..3], ["/d", "/s", "/c"]);
assert_eq!(
command.args[3],
r#""C:\Program Files\Claude\claude.cmd" "--resume" "12345678-1234-1234-1234-123456789abc""#
command.program,
PathBuf::from(r"C:\Program Files\Claude\claude.cmd")
);
assert_eq!(
command.args,
["--resume", "12345678-1234-1234-1234-123456789abc"]
);
assert!(!command.args[3].contains("prompt"));
}

#[test]
Expand Down
Loading