Skip to content

fix(google-agy): group database credential entries by model family - #323

Merged
slkiser merged 4 commits into
slkiser:mainfrom
anthonyhaussman:tone/fix/google-agy-family-grouping
Oct 14, 2026
Merged

slkiser merged 4 commits into
slkiser:mainfrom
anthonyhaussman:tone/fix/google-agy-family-grouping

Conversation

@anthonyhaussman

Copy link
Copy Markdown
Contributor

Summary

Google AGY Quota Grouping

Format database credential entries with dedicated model family groups for Gemini and Claude/GPT models.
Prevent multiple model families from collapsing into a single connection header with duplicate Weekly and 5h window rows.

Entry Name and Group Alignment

Align entry names with formatted model family groups inside brackets.
Ensure compact TUI status line parsers extract distinct provider family segments rather than collapsing different families into duplicate windows.

Linked Issue

Refs regression in v5 when showing Google AGY database credentials with multiple model families.

OpenCode Validation

  • Current production released OpenCode version tested: OpenCode v2.0.28
  • Why this version is relevant to the fix: Tests live database credential resolution from ~/.local/share/opencode/opencode.db and verifies quota rendering across CLI and TUI surfaces.

Before-and-after evidence

Does this change affect visible UI or human-readable output? If yes, attach matching before-and-after screenshots for each affected surface, using the same configuration, model/provider, theme, and window size.

For quota changes, report the result for Web output, TUI sidebar, toast, and the compact line below the message input. Identify unchanged or untested surfaces explicitly. Include the prompt bar or command dialog when relevant.

Redact credentials, account identifiers, private paths, and other sensitive information. For text-formatting changes, include the relevant text output as well as screenshots.

Formatter tests do not count as screenshot evidence.

If a surface could not be tested, identify it and explain why. If there is no visible effect, write Not applicable and explain briefly.

Before:

[Google AGY]
Weekly                                      8h 43m
███████████████████████████████░░░░░░░░   80% left
Weekly                                  6d 14h 8m
██████████████████████░░░░░░░░░░░░░░░░░   57% left
5h                                          4h 44m
██████████████████████████████████████░   97% left
5h                                                
███████████████████████████████████████  100% left

After:

[Google AGY: Gemini]
Weekly                                      8h 16m
██████████████████████████████░░░░░░░░░   78% left
5h                                          4h 17m
███████████████████████████████████░░░░   89% left

[Google AGY: Claude/GPT]
Weekly                                  6d 13h 41m
██████████████████████░░░░░░░░░░░░░░░░░   57% left
5h                                                
███████████████████████████████████████  100% left

Surface checks:

  • CLI opencode-quota show: Verified separated family sections and window rows.
  • TUI compact status line: Verified distinct Google AGY: Gemini and Google AGY: Claude/GPT entries.
  • Web output / Toast: Uses shared grouped row formatting logic verified in test suite.

Quality Checklist

  • I ran pnpm verify
  • This change is focused and avoids unrelated behavior changes
  • I updated or added tests when behavior changed
  • I updated docs when user-facing workflow, command, or config behavior changed
  • For provider changes, I followed Provider Changes, or this does not apply

Format credential display names with model family
labels for grouped quota entries.

Assisted-by: Gemini 3.8 Flash
Incorporate model family label into group header
for database credential rows.

Assisted-by: Gemini 3.8 Flash
Base entry name on group to preserve model family in TUI compact line. Harden helper with trimming and empty family guard.

Assisted-by: Gemini 3.8 Flash
@anthonyhaussman
anthonyhaussman marked this pull request as ready for review October 13, 2026 19:55
@slkiser
slkiser merged commit 441d8ab into slkiser:main Oct 14, 2026
4 checks passed
slkiser added a commit that referenced this pull request Oct 15, 2026
Takes main's AGY reference copy (opencode-agy-auth 1.3.5-alpha.1) and the
refreshed models.dev price list. Keeps v6's side for the Zen member
budgets (#322), the Google AGY family grouping (#323: v6 already gives
each model family its own row), the Ollama balance API and the AGY
User-Agent; those are ported onto v6 in the next commits. Drops the v5
test files v6 had removed.

The quota-status pricing tests now date their downloaded price list now,
so the newer shipped list does not replace it.
slkiser added a commit that referenced this pull request Oct 15, 2026
…el families

The User-Agent matches the companion's AGY_CLI_VERSION in the tracked
opencode-agy-auth 1.3.5-alpha.1. A new test pins that one database login
with Gemini and Claude/GPT buckets gives four rows with their own ids and
labels (the v5 grouping bug of #323 does not exist in v6).

Port of c4192a7's User-Agent change from main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants