Files
opencode-antigravity-auth/package.json
Noe 610bbcc818 feat(auth): add Gemini CLI OAuth flow for Code Assist provisioning
Add support for Gemini CLI OAuth authorization flow to enable Gemini Code Assist
provisioning for accounts that lack the license. This includes:

- New `authorizeGeminiCli()` and `exchangeGeminiCli()` functions for OAuth flow
- Gemini CLI public client credentials (client_id, client_secret, scopes)
- Verification type classification system to distinguish between different error types:
  - "gemini-cli": subscription/license required
  - "api-enable": Cloud Code Private API not enabled
  - "google-account": standard Google account verification
  - "unknown": unclassified errors
- Smart verification that automatically triggers Gemini CLI OAuth when needed
- Enhanced toast messages and UI badges showing specific verification requirements
- Account verification metadata tracking (verificationRequiredType field)
- Backfill logic for accounts flagged before this field existed

The verification type is now propagated through the entire auth flow, enabling
targeted remediation paths for different error conditions.

BREAKING CHANGE: `markAccountVerificationRequired()` now accepts optional
`verificationType` parameter to classify verification requirements
2026-02-23 18:50:43 +00:00

67 lines
1.9 KiB
JSON

{
"name": "opencode-antigravity-auth",
"version": "1.6.5-beta.0",
"description": "Google Antigravity IDE OAuth auth plugin for Opencode - access Gemini 3 Pro and Claude 4.6 using Google credentials",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"type": "module",
"license": "MIT",
"author": "noefabris",
"repository": {
"type": "git",
"url": "git+https://github.com/NoeFabris/opencode-antigravity-auth.git"
},
"homepage": "https://github.com/NoeFabris/opencode-antigravity-auth#readme",
"bugs": {
"url": "https://github.com/NoeFabris/opencode-antigravity-auth/issues"
},
"keywords": [
"opencode",
"google",
"antigravity",
"gemini",
"oauth",
"plugin",
"auth",
"claude"
],
"engines": {
"node": ">=20.0.0"
},
"files": [
"dist/",
"README.md",
"LICENSE"
],
"scripts": {
"build": "tsc -p tsconfig.build.json",
"build:schema": "npx tsx script/build-schema.ts",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"prepublishOnly": "npm run build",
"test:e2e:models": "npx tsx script/test-models.ts",
"test:e2e:regression": "npx tsx script/test-regression.ts"
},
"peerDependencies": {
"typescript": "^5"
},
"devDependencies": {
"@types/node": "^24.10.1",
"@types/proper-lockfile": "^4.1.4",
"@vitest/coverage-v8": "^3.0.0",
"@vitest/ui": "^3.0.0",
"typescript": "^5.0.0",
"vitest": "^3.0.0",
"zod-to-json-schema": "^3.25.1"
},
"dependencies": {
"@opencode-ai/plugin": "^0.15.30",
"@openauthjs/openauth": "^0.4.3",
"proper-lockfile": "^4.1.2",
"xdg-basedir": "^5.1.0",
"zod": "^4.0.0"
}
}