Skip to content

feat(provider): Antigravity CLI (agy-cli) provider - #50039

Closed
arminanton wants to merge 3 commits into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider
Closed

feat(provider): Antigravity CLI (agy-cli) provider#50039
arminanton wants to merge 3 commits into
NousResearch:mainfrom
arminanton:feat/agy-cli-provider

Conversation

@arminanton

Copy link
Copy Markdown
Contributor

Adds the agy-cli provider — a Hermes model-provider backed by the external agy (Antigravity CLI) binary, which handles its own OAuth + cloudcode-pa transport. New agent/agy_cli_client.py + plugins/model-providers/agy-cli/ + the agy-cli ProviderConfig in hermes_cli/auth.py and provider branch in hermes_cli/runtime_provider.py.

Status: DRAFT — incomplete / has known flaws

Isolated and preserved as a draft for re-application and future refinement; not proposed for merge as-is. Depends on the external agy binary at ~/.local/bin/agy. Tests included.

New agent/agy_cli_client.py + plugins/model-providers/agy-cli/ provider plugin, with the agy-cli ProviderConfig in auth.py and the provider branch in runtime_provider.py. DRAFT: the provider is incomplete/has known flaws; isolated for re-application + future completion, not merge-ready as-is.
@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard comp/plugins Plugin system and bundled plugins provider/gemini Google Gemini (AI Studio, Cloud Code) P3 Low — cosmetic, nice to have labels Jun 21, 2026
…agy-cli rows)

29 regression tests for the copilot/opus context-and-effort limit resolution, including the agy-cli provider catalog rows this PR adds. Private review paths + internal phase labels scrubbed from comments; test logic unchanged.
test_copilot_opus_context_fix_2026_06_04.py has 59 private references (agy/
antigravity/phase-* internal labels) and exercises the deferred account-specific
copilot limits+effort machinery, which is not part of this public agy-cli PR.
It fails on a clean base because that private infra is intentionally deferred.
The test is tracked in the NousResearch#50111 deferred set (private-feature-mixed/) where
the machinery it tests lives. The agy-cli provider's own tests
(test_agy_cli_client_v2/v3, test_agy_cli_plugin_v2) remain and skip cleanly
when the agy daemon is absent.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 21, 2026
Council demand: reproducible per-PR apply/lint/test table onto v0.17.0.
- verify_all_prs_on_v017.sh: applies each PR onto v0.17.0, runs repo-style ruff
  (PLW1514) + the PR's own test files; emits the pass/fail table.
- per_pr_verification.md + _table.txt: results with honest per-PR annotations.

REAL ISSUES FOUND + FIXED this session via the per-PR run:
- NousResearch#50033: 2 PLW1514 (missing encoding on version-cache I/O) -> fixed+pushed
- NousResearch#50064: 1 PLW1514 (missing encoding on bundle read) -> fixed+pushed
- NousResearch#50039: dropped the private opus-context test (59 private refs, tests deferred
  machinery, failed on clean base) -> tracked in NousResearch#50111 deferred set instead

APPLY: 38 clean + 2 --3way (forward-compat) + 0 conflict.
Residual lint/test FAILs are measurement artifacts (3way-merge on NousResearch#50056, my own
analysis scripts on NousResearch#50111) or environment-dependent (live API test NousResearch#50031,
cross-PR base-drift batch-collection on NousResearch#50064/66/78/86) — documented per-PR.
@teknium1

Copy link
Copy Markdown
Contributor

Superseded by #50454 (merged) — #50454

We landed the native google-antigravity OAuth provider via @pmos69's #29474. The merged approach has Hermes own the OAuth PKCE flow and talk to the Antigravity Code Assist backend directly, rather than shelling out to the external agy binary — so it works without agy installed. Thanks for the draft and the exploration of the agy-cli direction.

@teknium1 teknium1 closed this Jun 21, 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
…r on v0.17.0

verification/stack-apply-v017.sh applies ALL 39 open code PRs onto ONE v0.17.0 tree
(33 net-diff 3-way + 6 pre-resolved v017-patches): 39/39 CLEAN, 0 conflicts, 135
changed .py compile 0 failures, test slice 295 passed/0 failed. The set-level run
CAUGHT two stale-set bugs a per-PR matrix can't: a closed PR (NousResearch#50033) wrongly in the
order, and an omitted PR (NousResearch#50056); both fixed. Regenerated APPLY-ORDER.md to the
current 39-open-PR set + v017-patches mechanism (was stale: closed NousResearch#50039/NousResearch#50049/
NousResearch#50033 + old forward-compat branches). The 1 pre-existing v0.17.0 kanban flake is
upstream (fails on bare v0.17.0 in isolation), not PR-introduced.
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 comp/plugins Plugin system and bundled plugins 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.

3 participants