Skip to content

feat: add Antigravity CLI provider - #12

Merged
kunkunGames merged 2 commits into
mainfrom
feat/agy-cli-provider
Aug 1, 2026
Merged

feat: add Antigravity CLI provider#12
kunkunGames merged 2 commits into
mainfrom
feat/agy-cli-provider

Conversation

@kunkunGames

@kunkunGames kunkunGames commented Aug 1, 2026

Copy link
Copy Markdown
Owner

목표

AnchorMind의 LLM fallback chain에 Google Antigravity CLI(agy-cli) provider를 추가한다. 메모리 JSON 변환은 Antigravity가 파일을 수정하거나 도구를 승인하지 못하도록 제약된 실행 모드로만 수행한다.

쉬운 설명

운영자는 LLM_PRIMARY=agy-cli로 Antigravity CLI를 primary LLM으로 선택할 수 있다. 모델과 timeout은 기존 CLI provider와 동일하게 LLM_FALLBACKS 항목에서 지정한다. 호출은 print-only, plan, sandbox 모드로 제한된다. agy가 없거나 인증에 실패하면 다음 fallback을 시도한다.

개선되는 것

Fix 1

  • Before: Antigravity CLI는 설치되어 있어도 AnchorMind registry에서 인식하지 못했다.
  • After: agy-cli가 독립 provider로 등록되어 model, timeout, circuit breaker, concurrency 정책을 적용한다.

Fix 2

  • Before: 외부 에이전트 CLI를 memory JSON 변환에 연결할 안전한 실행 계약이 없었다.
  • After: agy --output-format text --mode plan --sandbox [--model MODEL] --print PROMPT만 사용한다.

Fix 3

  • Before: --print를 먼저 배치하면 뒤의 실행 플래그가 프롬프트로 해석됐다.
  • After: 모든 제약 플래그를 --print 앞에 배치해 실제 Antigravity CLI 계약을 따른다.

Before → After

시나리오 Before After
LLM_PRIMARY=agy-cli 미등록 provider라 체인에서 제외 agy 바이너리를 확인한 뒤 provider로 구성
모델 지정 전달 경로 없음 model, timeoutMsagy CLI에 전달
CLI 실행 권한 구현 없음 print-only, plan, sandbox로 제한

사이드 이펙트 시뮬레이션

시나리오 동작 결론
agy 미설치 availability check가 false 다음 fallback으로 진행
Antigravity 인증 실패 CLI 호출이 실패하고 circuit breaker에 기록 다음 fallback으로 진행
JSON 외 출력 기존 JSON parser가 오류를 반환 잘못된 구조화 결과 저장 방지

해결한 내용

  • lib/agy.js에 Antigravity CLI 실행/가용성 래퍼와 안전한 인자 생성기를 추가했다.
  • AgyCliProvider와 registry wiring, 로컬 CLI 동시성 1 슬롯을 추가했다.
  • provider 계약과 constrained invocation을 단위 테스트하고 운영 문서를 갱신했다.

검증

  • agy models: 인증된 계정에서 gemini-3.1-pro-high 등 사용 가능 모델 조회
  • runAgyCLI(..., { model: "gemini-3.1-pro-high" }): constrained JSON 호출 성공
  • npm test (2,280 tests: 2,278 passed, 0 failed, 2 skipped)
  • npm run lint (0 errors, 기존 warnings 127개)
  • npm run lint:migrations
  • git diff --check

비목표

  • 이 PR은 운영 launchd 설정을 변경하지 않는다. 병합 후 agy models로 확인한 모델명을 운영 설정에 적용한다.

@kunkunGames
kunkunGames merged commit af05fd3 into main Aug 1, 2026
4 checks passed
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.

1 participant