Skip to content

feat(agy-cli): register agy-cli provider in auth registry + runtime resolver - #50657

Closed
arminanton wants to merge 1 commit into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider-registration
Closed

feat(agy-cli): register agy-cli provider in auth registry + runtime resolver#50657
arminanton wants to merge 1 commit into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider-registration

Conversation

@arminanton

Copy link
Copy Markdown
Contributor

Summary

Registers the agy-cli (Antigravity CLI) provider in the two core auth/runtime seams, so the agy-cli model provider is wired into Hermes' resolution path. This is the auth/runtime registration half of the agy-cli provider; the client (agent/agy_cli_client.py), plugin, and tests live in the sibling PR #50555.

Changes (+27 lines, 2 files)

  1. hermes_cli/auth.py — adds the agy-cli entry to PROVIDER_REGISTRY:

    "agy-cli": ProviderConfig(
        id="agy-cli",
        name="Antigravity CLI (agy)",
        auth_type="external_process",
        inference_base_url="agy://antigravity",   # internal marker, never sent over HTTP
        base_url_env_var="HERMES_AGY_COMMAND",
    ),
  2. hermes_cli/runtime_provider.py — adds the if provider == "agy-cli": branch in resolve_runtime_provider(), mirroring the existing copilot-acp external-process pattern. Returns api_mode="agy_cli" + the marker base_url so init_agent routes to AgyCliClient. Auth is fully internal to the agy binary (its own OAuth/cloudcode-pa session), so there's nothing for Hermes to resolve.

Verification

  • Applies clean on current main (+27 lines).
  • Compiles; 0 new test failures (the 39 pre-existing tests/hermes_cli/ failures are identical with and without this change — they're upstream environment/isolation issues, not from this PR).
  • Functional: resolve_runtime_provider(requested="agy-cli")api_mode='agy_cli', base_url='agy://antigravity'; PROVIDER_REGISTRY["agy-cli"].auth_type == "external_process".

Relationship to #50555

#50555 carries the agy-cli client + plugin + tests (currently a stale-base WIP draft). This PR carries the small, current-main-clean auth/runtime registration that #50555's stale base can't host without a rebase. The two together complete the agy-cli provider; they can be consolidated at #50555's upgrade.

Draft (agy-cli is WIP per the project's isolate-agy-cli policy).

…esolver

Adds the agy-cli (Antigravity CLI) ProviderConfig to PROVIDER_REGISTRY and the
resolve_runtime_provider() handler that returns api_mode='agy_cli' +
base_url='agy://antigravity' (auth is fully internal to the agy binary, same
external_process pattern as copilot-acp). This is the auth/runtime registration
half of the agy-cli provider; the client + plugin + tests live in NousResearch#50555.

Applies clean on current main (+27 lines, 2 files). 0 new test failures (the 39
pre-existing hermes_cli failures are identical with/without this change). Verified
functional: resolve_runtime_provider(requested='agy-cli') -> api_mode agy_cli.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…no longer a deferral)

Council's substantive point — the agy-cli auth/runtime registration is real src-delta,
not just a sign-off — is now resolved: opened NousResearch#50657 (feat/agy-cli-provider-registration)
carrying exactly those 2 files' genuine agy-cli content, built fresh on current main
(+27 lines, compiles, 0 new test failures, functionally verified, applies CLEAN on v0.17.0).

Set-equality (42 open PRs): 139/140 overlay src-delta files now PR-covered. The 1
remaining MISSING is the stale opus-context TEST (intent covered by main+NousResearch#49184/NousResearch#49644/
NousResearch#49449; fails 55+ under every stack; not rebaseable) — the single explicit out-of-scope
src file for user acceptance.

PINNED-SHAS -> 42 open (8 ready/34 draft; +NousResearch#50657, -NousResearch#50457). All replay onto v0.17.0
verified. Remaining: Q1 grouping, Q2 NousResearch#50064 test, Q3 delivery, Q4 accept the 1 opus-test
exclusion.
@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard provider/gemini Google Gemini (AI Studio, Cloud Code) P3 Low — cosmetic, nice to have labels Jun 22, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related: this is the auth/runtime-registration half of the agy-cli (Antigravity CLI) provider; the client + plugin + tests live in the sibling draft #50555. Earlier whole-provider draft #50039 is now closed. Part of the Gemini-CLI-consumer-sunset remediation family (#29294). Not a duplicate — intentional same-author split so the small current-main-clean registration can land independently of #50555's stale base.

arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
… in coverage maps

NousResearch#50457 (opus-context 100-file bundle) is CLOSED. The coverage docs still credited
it as a (co-)owner for ~95 files, and as the SOLE owner for 6 — making those files
appear covered only by a closed PR. Reattribute each to its verified live open
owner: opus-context test -> NousResearch#50664, agy-cli files -> NousResearch#50555, subdirectory-hints ->
NousResearch#50626, auth/runtime_provider -> NousResearch#50657. Strip the dead NousResearch#50457 from all secondary
co-listings. Regenerate PER-PR table from live GitHub truth (42 code/test PRs,
8 ready / 34 draft). Every primary owner now verified OPEN.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…or sample PRs

Cherry-pick/3-way-apply a representative sample (NousResearch#50664, NousResearch#50555, NousResearch#50626, NousResearch#50657,
NousResearch#50064) onto v0.17.0 (2bd1977) and run their tests on that base. 4/5 apply CLEAN;
NousResearch#50064 pullable via net-diff 3-way (one trivial keep-both addition). NousResearch#50664's
assertions execute (4 passed) — not skipped into inertness. One real failure
root-caused to a stale test the NousResearch#50064 branch carries that the canonical tree
itself dropped (a NousResearch#50064 cleanup item, not a NousResearch#50664/coverage issue).
@arminanton

Copy link
Copy Markdown
Contributor Author

Withdrawing — this is the auth/runtime-registration half of the agy-cli provider whose client lives in #50555, now closed. The agy-cli direction is superseded by the merged native google-antigravity provider (#50454), and the whole Google-OAuth inference category was then removed by #50492 for account-ban safety. No agy registration to land. Thanks.

@arminanton arminanton closed this Jun 22, 2026
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…i-cli-UA

Per @teknium1 (NousResearch#50039: agy-cli superseded by merged native antigravity NousResearch#50454) and
NousResearch#50492 (removed google-gemini-cli + google-antigravity OAuth providers for account-ban
safety), the agy-cli direction and the gemini-cli-UA spoof are withdrawn:
- CLOSED NousResearch#50555, NousResearch#50657 (agy-cli), NousResearch#50033 (gemini-cli-UA) on GitHub.
- 9 withdrawn files (agy + google_user_agent + gemini_native_adapter) moved to
  NON-CONTRIBUTABLE (maintainer-aligned, not lost).
- 3 shared files (gemini_cloudcode_adapter.py, auth.py, runtime_provider.py) reassigned
  to live NousResearch#49644 (verified present in its diff).
Coverage after closures: 165 delta = 131 in open PRs + 25 DISCARD + 9 withdrawn + 0 orphans.
Full disposition in MAINTAINER-FEEDBACK-DISPOSITION.md.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…sResearch#50657 closure

Line-level verification (Council) caught that file-level IN-PR classification via the
stale-base gh-api-files union was WRONG for 3 files: auth.py, runtime_provider.py,
gemini_cloudcode_adapter.py. Their content is NOT in any open PR (authoritative
merge-base diff confirms NousResearch#49644 doesn't touch them — my earlier reassign was wrong).
Closing NousResearch#50657 for its agy half orphaned ~89 legit novel lines (codex device-code
OAuth refresh + auth-store helpers + runtime-provider resolution). NOT silently
counted as covered. Needs disposition: re-scope NousResearch#50657 to the legit content (Option A)
or explicit defer (Option B) — user's call. Honest: this is NOT a clean done state.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have provider/gemini Google Gemini (AI Studio, Cloud Code) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants