{"_id":"@benjamolina/opencode-antigravity-guard","_rev":"25-917502d3f378251c12b7e3558c56afde","name":"@benjamolina/opencode-antigravity-guard","dist-tags":{"latest":"1.1.24"},"versions":{"1.0.0":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.0.0","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.0.0","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"8f079fc287c7f83a8398a543c3fd17ecea0f4d9c","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.0.0.tgz","fileCount":243,"integrity":"sha512-wGk5epE3+LgAXSCGwIwt/5fAI9itCZNsboCt2XahQvHX3wrcmmPxPGkewJyS5X2vhE2EjA6oywaWq/qLBTwjsQ==","signatures":[{"sig":"MEYCIQDhyG9umh0+1mJCwWyXhAXCulrx38jBE/SgEM83i/pxegIhAK9DStOa/iwcvtF+NMed3GoWwmIs09hj6MnYsG/KkmcI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1605460},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"138cf3ddd9ec191c8f7dabf0743bce23796c3301","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.0.0_1784629117052_0.23633806508521338","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.0","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.0","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"87acf4fc9ee95a896b965712807474fe4ebdec13","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.0.tgz","fileCount":243,"integrity":"sha512-r2VASSMi5EhCTRjUpFHUZLdHXKfTgt/5Dypta9MDqnQyKmwgB+UuoKOyy30OI+GMeccEfJ44k2r/B0WiWRJOrA==","signatures":[{"sig":"MEUCIDwwJzR4nmjBlc5+ahL9B9qqhY0Zn2yKLR/DbmNNTcqnAiEAzHbXHi8r86obR4ZD7HU/T/ujVC7JLl1y9ESu4V5W1IE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1604427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"b8af0db35aa68677649d5d07bd8383315ae5dd27","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.0_1784633308721_0.192513047876695","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.1","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.1","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"5e547ae5f50748985c4796125a121b13cce38d7c","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.1.tgz","fileCount":243,"integrity":"sha512-oAws1u2yV/p3B9pUmTS/e9sKHfHqG6refKlPdkkU5zhA0LPXD7MCUfx3QBaGngtKxL+HToghWiGT5lmmQBApig==","signatures":[{"sig":"MEQCIDLzvUAUBHVOFB71udUmSlsX9MzrpnYbvj94rEjl+UaUAiA5HN8TSV7yNPEd5apMgb2+Bu0Xuh+96hK0mkj8RdqtaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1604427},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"782025c7b36c80fb75b8a938ff128c1d0e38327c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.1_1784668192978_0.30800662502887755","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.3","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.3","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"8ff8b2668f80b8c145631bd2fb239b89e1903ebb","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.3.tgz","fileCount":243,"integrity":"sha512-bh5oOcthbuVJY7pA86Tn754Dy46k4ohuOQyKSScPodQX2PQkKJo/AwmfUmlQdxR7ZMJmnoHCxCg4aiJOuC4npw==","signatures":[{"sig":"MEUCIHSh2+PMw7TFpmOQijC+KXNGZZBKFxr/o5a13tX5rJRiAiEA9s2ND2gtG0/84lLwc8KbaXHM1KymniEphc6E8xYH38s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1605184},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"80d5bfa6a79eff32263902c133952707dfda4a35","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.3_1784679038760_0.6767097629512597","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.4","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.4","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"ed5acac92ef64933246bc24bc07417b2457b4e56","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.4.tgz","fileCount":243,"integrity":"sha512-UDy3WZV3BQRc7mhuOfsVtOZrA1R3p1PQ/YVM++cWCICnk27KC6Rn3X7njlEYMeVN+93vY1cD64Xhi4h2L/+bBw==","signatures":[{"sig":"MEUCIQCA1w3K0PcXOJHEW60fg0m7r0+kLXcvepMJX8Un3cXkZAIgFZ11+a5KIQM7wJ/xQbisKV0X1oTcOJyPIwbIrB0kSGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1615250},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"53e819f830620ea0ad05c65beecdc7c19ccb25d6","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.4_1784681715607_0.7227818307957115","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.5","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.5","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"0e4d000f5f4bbe41452c9d115279c5346612f23b","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.5.tgz","fileCount":243,"integrity":"sha512-TBGcB9hXmaWzbgyBPhMbzaQa9KgjYe1X9PayRLjVQ3yCGsuGnSqzxH7QhIizK4PcTEz34sXG0Ij6JMaxeIdhpQ==","signatures":[{"sig":"MEUCICVuNjsrByOhd/45JBsB9pl3VlWKa50JZwfJsngP9n8hAiEAntUzhGaMOt0qVPP9xgFcRKXw0zrBDuBKYGUyW64C35M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1614802},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"85230a4f62a0037117c672dd8e2fe85a317b28dc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.5_1784682230737_0.4496021545801647","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.6","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.6","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"77dd258b8686a4cae5f1c08582b193c6c79f2193","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.6.tgz","fileCount":243,"integrity":"sha512-h64dAfTubtpHNkzdKAtt2oj7shdQt4BTiht1DUz5wPZP0+ry3HD3zWCjerBmX0hFb2oL2pYGHUuKxpWbR6ALOg==","signatures":[{"sig":"MEUCIQDE4Mhc6O/sQeG+e9G3Mw2IgJZIrir+RI/VlWB7S7hPvAIgZ6apZv2kP5FBskVkK/bB+oViYJXnvRZ8OS3a00/LWX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1615548},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1d8317ba75cd5f6bc68fc6fbe625b8279d54808a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.6_1784682967196_0.044943074587669996","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.7","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.7","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"de956568fc13434528ae7bb4c84bc6a9efabba86","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.7.tgz","fileCount":243,"integrity":"sha512-J/TuOWpg013EYQEdO/kv2dWXXGgjKplKbNG2g2oQ6mLdgOH3xs3fYBtjTiMWjDrwGGJsw/WdozfGIBy71nAvaA==","signatures":[{"sig":"MEUCIGl3LaGIT6McV75kxNkTutAxHW87GL/MPA9pifcosMIEAiEA+arKfkHJeYqaJsJUk1zILFPpaqU/pdC2CzH5nbHPQJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1615916},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"c6eba3755cf7dd5bf535140e7875dd03db6a685a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.7_1784684197606_0.341577451396041","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.8","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.8","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"93a8c486674b8387122459640cd0cabba29191d2","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.8.tgz","fileCount":243,"integrity":"sha512-qiqdZOkLRm1qWQEfEjRy+sfndI26sTOcy+GjfC0sy3r68HrWDP2B/y6vydm0fTaiSuFCxhk9cQhM0Ty77VP0og==","signatures":[{"sig":"MEYCIQCq/bdQjuSSdf2Eo+UQJrQP94h3YjozSqjGr6kAdZPA5wIhALiAuu8cU3wtt4zZjU6cMK/WTDNWeHDYyQMhZfb4z9pN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1616648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"aed184eed2def3bf3a627062e2327c6490826421","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.8_1784743693955_0.03940766218767444","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.9","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.9","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"b4532e268efa040a298d3bc727a2c99ec9433514","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.9.tgz","fileCount":243,"integrity":"sha512-JIzeX7BZhj0lpjr2h9ekqBya6d+zGuwr+ycmibbFTfrMc3p+sq912SnIrIWjJszGh63lOFD6NnwEpR4Y6BJaFA==","signatures":[{"sig":"MEQCICu7bAXufeI0fnRSjW8ZAjBrFGilCrnL0VIBL7uwj3t4AiA3o/hy872/T6WNs+k4hUPTHnr25xOgsurdz0RiBLpyOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1618437},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"7aef41935bdb141dd3858c86b5b2ba98b855af8a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.9_1786686002739_0.13362996176074415","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.10","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.10","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"4b080ec9fefde392fd7772728d3df3a607fdf74d","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.10.tgz","fileCount":243,"integrity":"sha512-CPGmrAtcZLGcp3K3vCB2wJ1YQDuhHX9alnoJPgpB/mVL+cqVtSDm9ZOC/JgoVsu+SMeCCnu9zqYZM0WyT9gANQ==","signatures":[{"sig":"MEUCIQCEAhb7Ge5Ka2QhsisANPUOGnP+rFBC3tNT6GC/TbfEDgIgYi5tNzKk+HzIgJCv5Yt3jqGnHL5EyjlneEWm9qkjmy4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1620227},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"cd7cd715fdeaf52e18cb1785231c3266465fb1ba","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","test:ui":"vitest --ui","typecheck":"tsc --noEmit","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","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"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"_npmVersion":"10.8.2","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.0.0","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@types/proper-lockfile":"^4.1.4"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.10_1788404557038_0.030906689028728396","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.11","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.11","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"336b43a469cdec5a25105dd95909ea5a3d4d9d84","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.11.tgz","fileCount":243,"integrity":"sha512-H0j5qCqAg85rvf3mnpHhqoHotzAVuYIm0wBNWdRW+XxzUkuR/Um1+xBJfMoteGvOSmCoFlBFWWQcX+jYQI5RKw==","signatures":[{"sig":"MEYCIQCSTUDOh2dCjRN/kwGMTvYqR8oSQC9TYkCV62H3E7D06wIhAM2PeIHku64gNI/l24rc5senO3ZkmMTKWvCAIzlzVyj9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHU44F2lF2MBDQoDvnGO67cU6dXQPS47XJUmmO2iqmYJAiEA2kqgxqm06KzBxA0V8Ni1l9UUtlIo2kf5mcizUXPkOiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"1e651621bf4722931c1f691055148ca9611af492","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.11_1789222253626_0.7024849041851293","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.12","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.12","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"a8d52c3cc0b8e8d4dde44b6e8b029dca21652f86","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.12.tgz","fileCount":243,"integrity":"sha512-1kGQbiaaESbbJ8YMJEtSqkb+YkN0PiXWhFSH/JtGA65IjKjj8p+KL/fmCD+rCQ2nBaklSbU1ynNQkqzFNHMxwA==","signatures":[{"sig":"MEUCIQCug/F3nJTWVhn1PjFVlWttYpGcMEcu6+0FmG6jsYO3bgIgE+m/G3RFr4Jf9UVhN6dJHb/fpinBWkyhMYAYRSDb3/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGiX6RviBjNjmr/tkH68tYRQDxuFgfnhOnzGRBtXEYieAiAvOAFGvW1/kwje7OOnsRljDA29NsSRBUlEts+QGalL6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"31f104a2ae9102b097395d13e82e046ef825dc86","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.12_1789246598955_0.7746786692144323","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.13","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.13","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"e7b6c0c1499ac748b6a7f47037529e736e4f3266","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.13.tgz","fileCount":243,"integrity":"sha512-ezUGXVt92np8D8clmZ+xZgjYFYMyNQJmfVwwVZ6nQZbjcxbk8lS3ga0eYIG5zaz5A4GN+T4/7nyEtKLbFknh7Q==","signatures":[{"sig":"MEQCID/FX5wAPysWCneBXXeVd6ujqa3SGIzS0vRSAH/WerdCAiANMS0Xid7EmQGq/s2RixOzY23Sjb4xukO8ad1A+ZS8FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBQKhFJT7dJtaVzpxVRRlU/7kk9xo2LHoImFEbVV3wbOAiA/k+I6J5Z/VmT6a2FQQNXm1Ho5P5y0Nbij7RH/+u3Jcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"df3c629c5ad34e625bde96c3059f5fd3cc40607c","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.13_1789270443796_0.10375808065098191","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.14","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.14","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"38098019fb2351c1740090c1cb3730833298b00d","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.14.tgz","fileCount":243,"integrity":"sha512-Qa/SwpYE7PfK/GfJU3245NCOGjzsYeWVDNhHtMKybznuhnaPXyCuK4mvglbEJBcLRz50BDqEWNzlzDHUpDzU6g==","signatures":[{"sig":"MEUCICo7nvJnYe1IMwdnnPLmoYpan3VXOCInGNPma5Nocnd0AiEApt1p3KNA87Fdus0mHQ9J9kErOCLgoCAB88QFk0ozpJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQ0jxgYm3Lb2hvqGCAmxljaJBMoEDGF7CazuHXinAtDQIhAJDy+y3QMsoPFlKaJ5anY7EaTFYGOMjZB2dR6qsLdOTA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618773},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6b1f0626231ba31b5aa41fb6f14ea70cf6b35759","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.14_1789380774586_0.2869183647144806","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.15","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.15","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"8ad565b4fa40ab3edbada58bbf4bb8450a8e1902","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.15.tgz","fileCount":243,"integrity":"sha512-a/2eUaMuIQH1ePGjccvfN6E6N1YU+TCMzCxyYnztgiE8kVBGB1DwIsG38zwVzzjIwmmauAPNSlFPYUXzoasn7A==","signatures":[{"sig":"MEUCIBKJum9vDgJpOcksJystglvLgvoUdVOACuZsAJpCrtrsAiEAtqz7S4CCJoY0JFmdJbM2Br5QKs6LgXUcp/5bAUijGxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDwB7TyPxerjH/vIYNW6PkDXIcXByeQA0cXoU+TSEYy+AiBUJd7aqiu1dGO5oTWTDDEWNc/A7hx77ja8DseA/5Sn+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a9c34342729d46387631c2627b68488a3ffb9102","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.15_1789424520435_0.5131115956343326","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.16","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.16","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"0b8703eeffcb887d5a5761f701d3c9a8efb6bf37","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.16.tgz","fileCount":243,"integrity":"sha512-0Iihz1nmAn4CsC+FeeTjNSNtwrrCsoEbPvc62xL6JqQ8Ilhj3sKxkrGsKrPJ89LhsCtYwpV22oUmAYib2hIhEQ==","signatures":[{"sig":"MEUCIQCYoseoxLCOxDYBI+F8b6zEFck8tx/+V7orpFp/kwXHSQIgbKDP94711AM6/9e+UzD4R2zhjdpUUxnxXdWuN6chTbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCUsdEpnPpXsU7icoT3YlgALD44PRTx4UjPBKnREaJsQwIgAncANLXQ+3vaws7/2HNWhkervvFIU/t9rFaBAOhq5LQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"0b660cc4752d74dda4a3bd0f9eeaf93f27bf8347","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.16_1789451103514_0.6912555238572367","host":"s3://npm-registry-packages-npm-production"}},"1.1.17":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.17","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.17","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"a22c930e53c2cf13d78472c4e8961efd062449cf","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.17.tgz","fileCount":243,"integrity":"sha512-8aJEhehhS5olKBeZtoB6pSYrX9t6nY4tWz1qok/8XtEqUpboLNwe1pAO1wQWjXhCWKldgrmGfiVvC3iGIOCIZg==","signatures":[{"sig":"MEUCIQDE2u8ns9IsWlNcWXJvIfwbRsrSCmXd/s19cLcpZmF5hQIgBhiFsznPphEAgg94uOnpAntdg3+gxyuu00q1P+GE95o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC5bq76qPuYq7vlIHr5RZJshUJe1Z3fU/wtlWL2vmmIiQIhANMF1aUST7BG7aGPWOEBiQ3eZJhCNd3Z7eglhCdq1ofK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"985b28ce0d477c7c5d5c95c2a03ca841452d7441","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.17_1789846087685_0.6293510737277752","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.18","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.18","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"34646de657a6db610ba4270e79cfc830c86ae4a5","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.18.tgz","fileCount":243,"integrity":"sha512-Hsd+IMIBhkUjHpzCegDwa0DSwMoqP/atguDoeAKSBs7nJKsTlD7c8qAP/TGmxOi+F40m/y+0XNhmLibx4cOlWQ==","signatures":[{"sig":"MEQCIB3YbAOV3kHM0qB7/S9ckpcjan3Z/lL4rR7W3Ypy0J+rAiBkhonOPdsQFXJAHXpLkZM8SJuM5NoVE5Bmuj9k6msOdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCKpxOcT50/idVEYN23eZWDVphXt8nbY5xkQNp6ZUzCrwIhAKuWgs66Hgfg6w4YNBCNTX1K5AbQbli/ZALpOuWibHX9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"d20863120057ce6b41db28dd20e2de44ba33e841","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.18_1789854333404_0.7259468380963836","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.19","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.19","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"7b2f7121d6ca65f936e24f300ce24edfbe5ef267","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.19.tgz","fileCount":243,"integrity":"sha512-RW441heAFF04qWEL1lqQp+Q4ailbRGjmnJ2cKX5zQV+FeVJADHI2MvDNsPb3d2nqxf++gJkq38kcPa4n0vf+xg==","signatures":[{"sig":"MEQCIDqWHghqb77bOUM0wTFhczEqL7MHK6lhdeYPYRp0linrAiAYiaEy/ZdhbbFg5onskShrROF9gb+qRlKmTOR/VNg7bQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID2UottMGqf1DvdhtC6n60/rB5+DSOO4UCAvlE3sbI+QAiBZw0pcd4qepTixYa01nPs5gor2W1UPCH11HPnOhMgBwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"98923afcb3ad7dd8a746f7589e9ea7077ba6bf8c","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.19_1789856615090_0.2880625417186229","host":"s3://npm-registry-packages-npm-production"}},"1.1.20":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.20","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.20","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"718c89e9f58a80aebf868458572d0b376ce8d6ea","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.20.tgz","fileCount":243,"integrity":"sha512-/MTDR0xvnZhr+H9YbS6Y8VtFkhcqLdRBYL2vldLzId7tSFYoc9JXYcpK8poSPwxj3Ed/OiGVsHaqUfrEGDsCHQ==","signatures":[{"sig":"MEUCIQDbnCMzte3TRKvZKrT20etyViRhs29sYksoWyR/sNRoXQIgJNBEjBwnR4SmhSIWT1xU3nlYpDeSeWckk08Zm3ZZpMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCS9AYd/H2m9d5pohPDD/g6vmwn/E92KG2Os9xQuOlKAwIhAPhz2hgU9WoQ4UySSlsMGBMXyyp5+efukJjFs2FJwNqh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"45c9576aee160599456748c85926e280f18b94f6","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.20_1789860914059_0.04593320909664711","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.21","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.21","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"83516b31507defae55ec6b741b978279b8e96515","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.21.tgz","fileCount":243,"integrity":"sha512-/w8Y5RjfSbs/an02Q7yammKI+H4mAqajLtBwsI2h6Wpi5+wHJEfJPoEkVCa/wdMzsYz30olUz8++ATE/9ehF9g==","signatures":[{"sig":"MEUCIG1UAAtufyVLPefy5kmukwk32DUOevb007619W5mHFCcAiEA0MgfYnjqzSNjlFILk1ZIwDDozmsSb+FaGD0lQbGpuSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC27Chux1NO8KKxRxVSVXHcQ0AwCXCCOiljsf+83xg4+AIhAInrDFPhrcGcWEo5YwjMRp1QuAVh5QvIUjxG2kVPiChY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"a773c89a4a5268e22237055c35753cdfdaf85914","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.21_1789865924374_0.8673725066460982","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.22","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.22","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"e961b282aea1f5a5df90c109e9b7a557ed4087ed","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.22.tgz","fileCount":243,"integrity":"sha512-O0ZV2JM4p4hFWwb4kMO2rAxdCJmvt4iCBPW+6SpnhJwKZbxW8QX+54daAeisynze61arhZDqyKUjqeryDT8TfA==","signatures":[{"sig":"MEYCIQCoMPfFOieTpGFDm5JD+dXeaJ17fZf+R+XSXD+NVbkX+wIhAJNVbL+jmGpTjnbmhzAHsVlA4nDpHVIYyowd0Yv8iQJf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA4e5PSTbL6Hf8+yErkcarFLBmqbn7C/Jqflm+KLY1n/AiEA8uJjHIpMMojlshhHaHSGbGC2BpnoHZRVIeaRQ8sJQz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"35b845a36d34f2539579162c56d9934359a014b9","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.22_1789869529413_0.14298806429760558","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@benjamolina/opencode-antigravity-guard","version":"1.1.23","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"author":{"name":"benjamolina"},"license":"MIT","_id":"@benjamolina/opencode-antigravity-guard@1.1.23","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"a69c8d15fb3fe4a4727bffddceb3af676c925f2e","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.23.tgz","fileCount":243,"integrity":"sha512-jEmPQYcHdMGiXygbnMzAsQij4K6bLszxWD/4Ayn/PHkFRty6kR/zSaHQPf38NPSRp3c3Yg55ilEWz3jv22bBTw==","signatures":[{"sig":"MEYCIQDOqeCZk93dWtpIIYt81BWCaAi+w6sGmoM3ggEc8bFO3wIhAOnVEF9LAxt03y/J4xdvi2KFK7LC3FPR7EgGr3r54m1n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGQGiC9i0z0//EJ3zo07gxP4qXIzY1rFZJjhmduja8l9AiEA47q1prJjbVB6n/qHE5wgH53N1WbE9fPf08fnkTDlbFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"cc67fff722859ba6721a1fe9f8fcd9bd6b49466f","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/opencode-antigravity-guard_1.1.23_1789872645813_0.0971215598384001","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"_id":"@benjamolina/opencode-antigravity-guard@1.1.24","bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"dist":{"shasum":"a00995305cf129706a0eae08cd1c9e5edd2199dc","tarball":"https://registry.npmjs.org/@benjamolina/opencode-antigravity-guard/-/opencode-antigravity-guard-1.1.24.tgz","fileCount":243,"integrity":"sha512-AzxwjCcQG/AmeSE+ennfTbEJowiDsMMwX2nU0ga2oMDWAa1kiuDMtZS9gx2wMhpcoKwt033vTN1RB9hAGVYaHw==","signatures":[{"sig":"MEUCIQDHSxlp3lvrdyk3qw3jLApBp0DkKQeCVsZxMVRQJ1w77gIgbN6nZ+/fWbBTxFb16GK5lg7xwQxwiT+13ERAqf3fNH4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDa/sD8+36/NM/7ExqLrN+WI9xprb0hXT8V8npszmRzeAiEAmk9hxM6HUagn/aa/IjYG2C6imLeZzTXuHZw/aJqHfy0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@benjamolina%2fopencode-antigravity-guard@1.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1618931},"main":"./dist/index.js","name":"@benjamolina/opencode-antigravity-guard","type":"module","types":"./dist/index.d.ts","author":{"name":"benjamolina"},"engines":{"node":">=20.0.0"},"gitHead":"e20f553161551c917102d6852f21bd38ebffbcd8","license":"MIT","scripts":{"test":"npm run build:core && vitest run","build":"npm run build:core && npm run build:opencode","prepack":"npm run build:opencode","test:ui":"vitest --ui","build:pi":"npm run build --workspace=@benjamolina/pi-antigravity-guard","build:all":"npm run build && npm run build:pi","test:pack":"npx tsx scripts/pack-consumer.ts","typecheck":"npm run build:core && npm run typecheck:opencode","build:core":"npm run build --workspace=@benjamolina/antigravity-guard-core","test:watch":"vitest","build:schema":"npx tsx script/build-schema.ts","typecheck:pi":"npm run typecheck --workspace=@benjamolina/pi-antigravity-guard","test:coverage":"vitest run --coverage","typecheck:all":"npm run typecheck && npm run typecheck:pi","build:opencode":"tsc -p tsconfig.build.json && npx tsx scripts/fix-esm-imports.ts","prepublishOnly":"npm run build","typecheck:core":"npm run typecheck --workspace=@benjamolina/antigravity-guard-core","test:e2e:models":"npx tsx script/test-models.ts","probe:pi-tool-loop":"tsx scripts/pi-tool-loop-probe.ts --live","typecheck:opencode":"tsc --noEmit","test:e2e:regression":"npx tsx script/test-regression.ts","test:pi-tool-loop-probe":"vitest run scripts/pi-tool-loop-probe.test.ts"},"version":"1.1.24","_npmUser":{"name":"benjamolina","email":"molinasb.94@gmail.com"},"homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"workspaces":["packages/core","packages/pi"],"_npmVersion":"10.9.7","description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","directories":{},"maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"_nodeVersion":"22.22.2","dependencies":{"zod":"^4.0.0","xdg-basedir":"^5.1.0","proper-lockfile":"^4.1.2","@opencode-ai/plugin":"^1.2.10","@openauthjs/openauth":"^0.4.3","@benjamolina/antigravity-guard-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","vitest":"^3.0.0","@vitest/ui":"^3.0.0","typescript":"^5.9.3","@types/node":"^24.10.1","zod-to-json-schema":"^3.25.1","@vitest/coverage-v8":"^3.0.0","@earendil-works/pi-ai":"0.85.1","@types/proper-lockfile":"^4.1.4","@earendil-works/pi-coding-agent":"0.85.1"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencode-antigravity-guard_1.1.24_1789875213465_0.8584081624157358"}}},"time":{"created":"2026-07-21T10:18:36.841Z","modified":"2026-09-20T03:33:33.895Z","1.0.0":"2026-07-21T10:18:37.224Z","1.1.0":"2026-07-21T11:28:28.886Z","1.1.1":"2026-07-21T21:09:53.185Z","1.1.3":"2026-07-22T00:10:38.977Z","1.1.4":"2026-07-22T00:55:15.823Z","1.1.5":"2026-07-22T01:03:50.965Z","1.1.6":"2026-07-22T01:16:07.374Z","1.1.7":"2026-07-22T01:36:37.827Z","1.1.8":"2026-07-22T18:08:14.124Z","1.1.9":"2026-08-14T05:40:02.861Z","1.1.10":"2026-09-03T03:02:37.223Z","1.1.11":"2026-09-12T14:10:53.733Z","1.1.12":"2026-09-12T20:56:39.062Z","1.1.13":"2026-09-13T03:34:03.915Z","1.1.14":"2026-09-14T10:12:54.709Z","1.1.15":"2026-09-14T22:22:00.653Z","1.1.16":"2026-09-15T05:45:03.637Z","1.1.17":"2026-09-19T19:28:07.793Z","1.1.18":"2026-09-19T21:45:33.531Z","1.1.19":"2026-09-19T22:23:35.169Z","1.1.20":"2026-09-19T23:35:14.190Z","1.1.21":"2026-09-20T00:58:44.459Z","1.1.22":"2026-09-20T01:58:49.528Z","1.1.23":"2026-09-20T02:50:45.944Z","1.1.24":"2026-09-20T03:33:33.574Z"},"bugs":{"url":"https://github.com/BenjaMolina/opencode-antigravity-guard/issues"},"author":{"name":"benjamolina"},"license":"MIT","homepage":"https://github.com/BenjaMolina/opencode-antigravity-guard#readme","keywords":["opencode","google","antigravity","gemini","oauth","plugin","auth","claude"],"repository":{"url":"git+https://github.com/BenjaMolina/opencode-antigravity-guard.git","type":"git"},"description":"Google Antigravity OAuth plugin for OpenCode with strict reset-time quota locking","maintainers":[{"name":"benjamolina","email":"molinasb.94@gmail.com"}],"readme":"# Antigravity + Gemini CLI OAuth Plugin for Opencode\n\n[![npm version](https://img.shields.io/npm/v/opencode-antigravity-auth-updated.svg)](https://www.npmjs.com/package/opencode-antigravity-auth-updated)\n[![npm beta](https://img.shields.io/npm/v/opencode-antigravity-auth-updated/beta.svg?label=beta)](https://www.npmjs.com/package/opencode-antigravity-auth-updated)\n[![npm downloads](https://img.shields.io/npm/dw/opencode-antigravity-auth-updated.svg)](https://www.npmjs.com/package/opencode-antigravity-auth-updated)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![X (Twitter)](https://img.shields.io/badge/X-@dopesalmon-000000?style=flat&logo=x)](https://x.com/dopesalmon)\n\nEnable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3.1-pro` and `claude-opus-4-6-thinking` with your Google credentials.\n\n## What You Get\n\n- **Claude Opus 4.6, Sonnet 4.6** and **Gemini 3.1 Pro/Flash** via Google OAuth\n- **Multi-account support** — add multiple Google accounts, auto-rotates when rate-limited\n- **Modern Gemini API support** — use Antigravity SDK-style API keys / Cloud Projects as Gemini backups or opt-in primary routing\n- **Legacy Gemini CLI quota support** — still available for compatibility and quota fallback\n- **Thinking models** — extended thinking for Claude and Gemini 3 with configurable budgets\n- **Google Search grounding** — enable web search for Gemini models (auto or always-on)\n- **Auto-recovery** — handles session errors and tool failures automatically\n- **Plugin compatible** — works alongside other OpenCode plugins (oh-my-opencode, dcp, etc.)\n\n---\n\n<details open>\n<summary><b>⚠️ Terms of Service Warning — Read Before Installing</b></summary>\n\n> [!CAUTION]\n> Using this plugin (and any proxy for Antigravity) violates Google's Terms of Service. A number of users have reported their Google accounts being **banned** or **shadow-banned** (restricted access without explicit notification).\n>\n> **By using this plugin, you acknowledge:**\n> - This is an unofficial tool not endorsed by Google\n> - Your account may be suspended or permanently banned\n> - You assume all risks associated with using this plugin\n>\n\n</details>\n\n---\n\n## Installation\n\n<details open>\n<summary><b>For Humans</b></summary>\n\n**Option A: Let an LLM do it**\n\nPaste this into any LLM agent (Claude Code, OpenCode, Cursor, etc.):\n\n```\nInstall the opencode-antigravity-auth-updated plugin and add the Antigravity model definitions to ~/.config/opencode/opencode.json by following: https://raw.githubusercontent.com/insign/opencode-antigravity-auth-updated/main/README.md\n```\n\n**Option B: Manual setup**\n\n1. **Add the plugin** to `~/.config/opencode/opencode.json`:\n\n   ```json\n   {\n     \"plugin\": [\"opencode-antigravity-auth-updated@latest\"]\n   }\n   ```\n\n   > Want bleeding-edge features? Use `opencode-antigravity-auth-updated@beta` instead.\n\n2. **Login** with your Google account:\n\n   ```bash\n   opencode auth login\n   ```\n\n3. **Models** — current OpenCode versions can load plugin models dynamically at runtime. If your OpenCode version still requires static provider config, choose one:\n   - Run `opencode auth login` → Google → OAuth with Google (Antigravity) → select **\"Configure models in opencode.json\"** (auto-configures all models)\n   - Or manually copy the [full configuration](#models) below\n\n4. **Use it:**\n\n   ```bash\n   opencode run \"Hello\" --model=google/antigravity-claude-opus-4-6-thinking --variant=max\n   ```\n\n</details>\n\n<details>\n<summary><b>For LLM Agents</b></summary>\n\n### Step-by-Step Instructions\n\n1. Edit the OpenCode configuration file at `~/.config/opencode/opencode.json`\n   \n   > **Note**: This path works on all platforms. On Windows, `~` resolves to your user home directory (e.g., `C:\\Users\\YourName`).\n\n2. Add the plugin to the `plugin` array\n\n3. Add the model definitions from the [Full models configuration](#models) section\n\n4. Set `provider` to `\"google\"` and choose a model\n\n### Verification\n\n```bash\nopencode run \"Hello\" --model=google/antigravity-claude-opus-4-6-thinking --variant=max\n```\n\n</details>\n\n---\n\n## Models\n\n### Model Reference\n\n**Antigravity quota** (default routing for Claude and Gemini):\n\n| Model | Variants | Notes |\n|-------|----------|-------|\n| `antigravity-gemini-3-pro` | low, high | Gemini 3 Pro with thinking |\n| `antigravity-gemini-3.1-pro` | low, high | Gemini 3.1 Pro with thinking (rollout-dependent) |\n| `antigravity-gemini-3-flash` | minimal, low, medium, high | Gemini 3 Flash with thinking |\n| `antigravity-gemini-3.5-flash` | minimal, low, medium, high | Gemini 3.5 Flash with thinking (rollout-dependent) |\n| `antigravity-claude-sonnet-4-6` | — | Claude Sonnet 4.6 |\n| `antigravity-claude-opus-4-6-thinking` | low, max | Claude Opus 4.6 with extended thinking |\n\n**Antigravity SDK / Gemini API projects** (API-key backed; used by API-key auth, or as OAuth fallback when configured):\n\nThe official Antigravity SDK uses `GEMINI_API_KEY` for local Gemini access. This plugin now supports that path directly for Gemini models while keeping OAuth accounts for Antigravity and Claude.\n\n**Legacy Gemini CLI quota** (separate from Antigravity; used when `cli_first` is true or as fallback):\n\n| Model | Notes |\n|-------|-------|\n| `gemini-2.5-flash` | Gemini 2.5 Flash |\n| `gemini-2.5-pro` | Gemini 2.5 Pro |\n| `gemini-3-flash-preview` | Gemini 3 Flash (preview) |\n| `gemini-3.5-flash` | Gemini 3.5 Flash (rollout-dependent) |\n| `gemini-3-pro-preview` | Gemini 3 Pro (preview) |\n| `gemini-3.1-pro` | Gemini 3.1 Pro |\n| `gemini-3.1-pro-preview-customtools` | Gemini 3.1 Pro Preview Custom Tools |\n\n> **Routing Behavior:**\n> - **OAuth Antigravity-first (default):** Gemini models use Antigravity quota across OAuth accounts.\n> - **Antigravity SDK / Gemini API:** API-key auth, `GEMINI_API_KEY`, or configured `agy_sdk.cloud_projects` route Gemini requests through the public Gemini API.\n> - **Legacy CLI-first (`cli_first: true`):** Gemini models use the legacy Gemini CLI quota first.\n> - When OAuth quota pools are exhausted, configured `agy_sdk.cloud_projects` are used as backup capacity before failing if `agy_sdk.enabled: true`, `agy_sdk.api_key_fallback: true`, and usable API-key credentials are present.\n> - Claude and image models always use Antigravity.\n> Model names are automatically transformed for the target API (e.g., `antigravity-gemini-3-flash` → `gemini-3-flash-preview` for CLI).\n\n**Using variants:**\n```bash\nopencode run \"Hello\" --model=google/antigravity-claude-opus-4-6-thinking --variant=max\n```\n\nFor details on variant configuration and thinking levels, see [docs/MODEL-VARIANTS.md](docs/MODEL-VARIANTS.md).\n\n<details>\n<summary><b>Full models configuration (copy-paste ready)</b></summary>\n\nAdd this to your `~/.config/opencode/opencode.json`:\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\"opencode-antigravity-auth-updated@latest\"],\n  \"provider\": {\n    \"google\": {\n      \"models\": {\n        \"antigravity-gemini-3-pro\": {\n          \"name\": \"Gemini 3 Pro (Antigravity)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65535 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] },\n          \"variants\": {\n            \"low\": { \"thinkingLevel\": \"low\" },\n            \"high\": { \"thinkingLevel\": \"high\" }\n          }\n        },\n        \"antigravity-gemini-3.1-pro\": {\n          \"name\": \"Gemini 3.1 Pro (Antigravity)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65535 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] },\n          \"variants\": {\n            \"low\": { \"thinkingLevel\": \"low\" },\n            \"high\": { \"thinkingLevel\": \"high\" }\n          }\n        },\n        \"antigravity-gemini-3-flash\": {\n          \"name\": \"Gemini 3 Flash (Antigravity)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] },\n          \"variants\": {\n            \"minimal\": { \"thinkingLevel\": \"minimal\" },\n            \"low\": { \"thinkingLevel\": \"low\" },\n            \"medium\": { \"thinkingLevel\": \"medium\" },\n            \"high\": { \"thinkingLevel\": \"high\" }\n          }\n        },\n        \"antigravity-gemini-3.5-flash\": {\n          \"name\": \"Gemini 3.5 Flash (Antigravity)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] },\n          \"variants\": {\n            \"minimal\": { \"thinkingLevel\": \"minimal\" },\n            \"low\": { \"thinkingLevel\": \"low\" },\n            \"medium\": { \"thinkingLevel\": \"medium\" },\n            \"high\": { \"thinkingLevel\": \"high\" }\n          }\n        },\n        \"antigravity-claude-sonnet-4-6\": {\n          \"name\": \"Claude Sonnet 4.6 (Antigravity)\",\n          \"limit\": { \"context\": 200000, \"output\": 64000 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"antigravity-claude-opus-4-6-thinking\": {\n          \"name\": \"Claude Opus 4.6 Thinking (Antigravity)\",\n          \"limit\": { \"context\": 200000, \"output\": 64000 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] },\n          \"variants\": {\n            \"low\": { \"thinkingConfig\": { \"thinkingBudget\": 8192 } },\n            \"max\": { \"thinkingConfig\": { \"thinkingBudget\": 32768 } }\n          }\n        },\n        \"gemini-2.5-flash\": {\n          \"name\": \"Gemini 2.5 Flash (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-2.5-pro\": {\n          \"name\": \"Gemini 2.5 Pro (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-3-flash-preview\": {\n          \"name\": \"Gemini 3 Flash Preview (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-3.5-flash\": {\n          \"name\": \"Gemini 3.5 Flash (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65536 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-3-pro-preview\": {\n          \"name\": \"Gemini 3 Pro Preview (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65535 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-3.1-pro\": {\n          \"name\": \"Gemini 3.1 Pro (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65535 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        },\n        \"gemini-3.1-pro-preview-customtools\": {\n          \"name\": \"Gemini 3.1 Pro Preview Custom Tools (Gemini CLI)\",\n          \"limit\": { \"context\": 1048576, \"output\": 65535 },\n          \"modalities\": { \"input\": [\"text\", \"image\", \"pdf\"], \"output\": [\"text\"] }\n        }\n      }\n    }\n  }\n}\n```\n\n> **Backward Compatibility:** Legacy model names with `antigravity-` prefix (e.g., `antigravity-gemini-3-flash`) still work. The plugin automatically handles model name transformation for both Antigravity and Gemini CLI APIs.\n\n</details>\n\n---\n\n## Multi-Account Setup\n\nAdd multiple Google accounts for a higher combined quota. The plugin automatically rotates between accounts when one is rate-limited.\n\n```bash\nopencode auth login  # Run again to add more accounts\n```\n\n**Account management options (via `opencode auth login`):**\n- **Configure models** — Auto-configure all plugin models in opencode.json\n- **Check quotas** — View remaining API quota for each account\n- **Manage accounts** — Enable/disable specific accounts for rotation\n\nFor details on load balancing, dual quota pools, and account storage, see [docs/MULTI-ACCOUNT.md](docs/MULTI-ACCOUNT.md).\n\n---\n\n## Troubleshooting\n\n> **Quick Reset**: Most issues can be resolved by deleting `~/.config/opencode/antigravity-accounts.json` and running `opencode auth login` again.\n\n### Configuration Path (All Platforms)\n\nOpenCode uses `~/.config/opencode/` on **all platforms** including Windows.\n\n| File | Path |\n|------|------|\n| Main config | `~/.config/opencode/opencode.json` |\n| Accounts | `~/.config/opencode/antigravity-accounts.json` |\n| Plugin config | `~/.config/opencode/antigravity.json` |\n| Debug logs | `~/.config/opencode/antigravity-logs/` |\n\n> **Windows users**: `~` resolves to your user home directory (e.g., `C:\\Users\\YourName`). Do NOT use `%APPDATA%`.\n\n> **Custom path**: Set `OPENCODE_CONFIG_DIR` environment variable to use a custom location.\n\n> **Windows migration**: If upgrading from plugin v1.3.x or earlier, the plugin will automatically find your existing config in `%APPDATA%\\opencode\\` and use it. New installations use `~/.config/opencode/`.\n\n---\n\n### Multi-Account Auth Issues\n\nIf you encounter authentication issues with multiple accounts:\n\n1. Delete the accounts file:\n   ```bash\n   rm ~/.config/opencode/antigravity-accounts.json\n   ```\n2. Re-authenticate:\n   ```bash\n   opencode auth login\n   ```\n\n---\n\n### 403 Permission Denied (`rising-fact-p41fc`)\n\n**Error:**\n```\nPermission 'cloudaicompanion.companions.generateChat' denied on resource \n'//cloudaicompanion.googleapis.com/projects/rising-fact-p41fc/locations/global'\n```\n\n**Cause:** Plugin falls back to a default project ID when no valid project is found. This works for Antigravity but fails for Gemini CLI models.\n\n**Solution:**\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create or select a project\n3. Enable the **Gemini for Google Cloud API** (`cloudaicompanion.googleapis.com`)\n4. Add `projectId` to your accounts file:\n   ```json\n   {\n     \"accounts\": [\n       {\n         \"email\": \"your@email.com\",\n         \"refreshToken\": \"...\",\n         \"projectId\": \"your-project-id\"\n       }\n     ]\n   }\n   ```\n\n> **Note**: Do this for each account in a multi-account setup.\n\n---\n\n### Gemini Model Not Found\n\nAdd this to your `google` provider config:\n\n```json\n{\n  \"provider\": {\n    \"google\": {\n      \"npm\": \"@ai-sdk/google\",\n      \"models\": { ... }\n    }\n  }\n}\n```\n\n---\n\n### Gemini 3 Models 400 Error (\"Unknown name 'parameters'\")\n\n**Error:**\n```\nInvalid JSON payload received. Unknown name \"parameters\" at 'request.tools[0]'\n```\n\n**Causes:**\n- Tool schema incompatibility with Gemini's strict protobuf validation\n- MCP servers with malformed schemas\n- Plugin version regression\n\n**Solutions:**\n1. **Update to latest beta:**\n   ```json\n   { \"plugin\": [\"opencode-antigravity-auth-updated@beta\"] }\n   ```\n\n2. **Disable MCP servers** one-by-one to find the problematic one\n\n3. **Add npm override:**\n   ```json\n   { \"provider\": { \"google\": { \"npm\": \"@ai-sdk/google\" } } }\n   ```\n\n---\n\n### MCP Servers Causing Errors\n\nSome MCP servers have schemas incompatible with Antigravity's strict JSON format.\n\n**Common symptom:**\n```bash\nInvalid function name must start with a letter or underscore\n```\n\nSometimes it shows up as:\n```bash\nGenerateContentRequest.tools[0].function_declarations[12].name: Invalid function name must start with a letter or underscore\n```\n\nThis usually means an MCP tool name starts with a number (for example, a 1mcp key like `1mcp_*`). Rename the MCP key to start with a letter (e.g., `gw`) or disable that MCP entry for Antigravity models.\n\n**Diagnosis:**\n1. Disable all MCP servers in your config\n2. Enable one-by-one until error reappears\n3. Report the specific MCP in a [GitHub issue](https://github.com/insign/opencode-antigravity-auth-updated/issues)\n\n---\n\n### \"All Accounts Rate-Limited\" (But Quota Available)\n\n**Cause:** Cascade bug in `clearExpiredRateLimits()` in hybrid mode (fixed in recent beta).\n\n**Solutions:**\n1. Update to latest beta version\n2. If persists, delete accounts file and re-authenticate\n3. Try switching `account_selection_strategy` to `\"sticky\"` in `antigravity.json`\n\n---\n\n### Session Recovery\n\nIf you encounter errors during a session:\n1. Type `continue` to trigger the recovery mechanism\n2. If blocked, use `/undo` to revert to pre-error state\n3. Retry the operation\n\n---\n\n### Using with Oh-My-OpenCode\n\n**Important:** Disable the built-in Google auth to prevent conflicts:\n\n```json\n// ~/.config/opencode/oh-my-opencode.json\n{\n  \"google_auth\": false,\n  \"categories\": {\n    \"visual-engineering\": { \"model\": \"google/gemini-3-pro\" },\n    \"writing\": { \"model\": \"google/gemini-3-flash\" }\n  }\n}\n```\n\n---\n\n### Infinite `.tmp` Files Created\n\n**Cause:** When account is rate-limited and plugin retries infinitely, it creates many temp files.\n\n**Workaround:**\n1. Stop OpenCode\n2. Clean up: `rm ~/.config/opencode/*.tmp`\n3. Add more accounts or wait for rate limit to expire\n\n---\n\n### OAuth Callback Issues\n\n<details>\n<summary><b>Safari OAuth Callback Fails (macOS)</b></summary>\n\n**Symptoms:**\n- \"fail to authorize\" after successful Google login\n- Safari shows \"Safari can't open the page\"\n\n**Cause:** Safari's \"HTTPS-Only Mode\" blocks `http://localhost` callback.\n\n**Solutions:**\n\n1. **Use Chrome or Firefox** (easiest):\n   Copy the OAuth URL and paste into a different browser.\n\n2. **Disable HTTPS-Only Mode temporarily:**\n   - Safari > Settings (⌘,) > Privacy\n   - Uncheck \"Enable HTTPS-Only Mode\"\n   - Run `opencode auth login`\n   - Re-enable after authentication\n\n</details>\n\n<details>\n<summary><b>Port Conflict (Address Already in Use)</b></summary>\n\n**macOS / Linux:**\n```bash\n# Find process using the port\nlsof -i :51121\n\n# Kill if stale\nkill -9 <PID>\n\n# Retry\nopencode auth login\n```\n\n**Windows (PowerShell):**\n```powershell\nnetstat -ano | findstr :51121\ntaskkill /PID <PID> /F\nopencode auth login\n```\n\n</details>\n\n<details>\n<summary><b>Docker / WSL2 / Remote Development</b></summary>\n\nOAuth callback requires browser to reach `localhost` on the machine running OpenCode.\n\n**WSL2:**\n- Use VS Code's port forwarding, or\n- Configure Windows → WSL port forwarding\n\n**SSH / Remote:**\n```bash\nssh -L 51121:localhost:51121 user@remote\n```\n\n**Docker / Containers:**\n- OAuth with localhost redirect doesn't work in containers\n- Wait 30s for manual URL flow, or use SSH port forwarding\n\n</details>\n\n---\n\n### Configuration Key Typo: `plugin` not `plugins`\n\nThe correct key is `plugin` (singular):\n\n```json\n{\n  \"plugin\": [\"opencode-antigravity-auth-updated@beta\"]\n}\n```\n\n**Not** `\"plugins\"` (will cause \"Unrecognized key\" error).\n\n---\n\n### Migrating Accounts Between Machines\n\nWhen copying `antigravity-accounts.json` to a new machine:\n1. Ensure the plugin is installed: `\"plugin\": [\"opencode-antigravity-auth-updated@beta\"]`\n2. Copy `~/.config/opencode/antigravity-accounts.json`\n3. If you get \"API key missing\" error, the refresh token may be invalid — re-authenticate\n\n## Known Plugin Interactions\nFor details on load balancing, dual quota pools, and account storage, see [docs/MULTI-ACCOUNT.md](docs/MULTI-ACCOUNT.md).\n\n---\n\n## Plugin Compatibility\n\n### @tarquinen/opencode-dcp\n\nDCP creates synthetic assistant messages that lack thinking blocks. **List this plugin BEFORE DCP:**\n\n```json\n{\n  \"plugin\": [\n    \"opencode-antigravity-auth-updated@latest\",\n    \"@tarquinen/opencode-dcp@latest\"\n  ]\n}\n```\n\n### oh-my-opencode\n\nDisable built-in auth and override agent models in `oh-my-opencode.json`:\n\n```json\n{\n  \"google_auth\": false,\n  \"agents\": {\n    \"frontend-ui-ux-engineer\": { \"model\": \"google/antigravity-gemini-3-pro\" },\n    \"document-writer\": { \"model\": \"google/antigravity-gemini-3-flash\" },\n    \"multimodal-looker\": { \"model\": \"google/antigravity-gemini-3-flash\" }\n  }\n}\n```\n\n> **Tip:** When spawning parallel subagents, enable `pid_offset_enabled: true` in `antigravity.json` to distribute sessions across accounts.\n\n### Plugins you don't need\n\n- **gemini-auth plugins** — Not needed. This plugin handles all Google OAuth.\n\n---\n\n## Configuration\n\nCreate `~/.config/opencode/antigravity.json` for optional settings:\n\n```json\n{\n  \"$schema\": \"https://raw.githubusercontent.com/insign/opencode-antigravity-auth-updated/main/assets/antigravity.schema.json\"\n}\n```\n\nMost users don't need to configure anything — defaults work well.\n\n### Model Behavior\n\n| Option | Default | What it does |\n|--------|---------|--------------\n| `keep_thinking` | `false` | Preserve Claude's thinking across turns. **Warning:** enabling may degrade model stability. |\n| `session_recovery` | `true` | Auto-recover from tool errors |\n| `cli_first` | `false` | Route Gemini models to the legacy Gemini CLI path first (Claude and image models stay on Antigravity). |\n| `agy_sdk.enabled` | `true` | Enables the Antigravity SDK / Gemini API key route for Gemini requests. |\n| `agy_sdk.prefer_for_gemini` | `false` | When API keys are configured, use the Gemini API route before OAuth-backed Antigravity for Gemini models. |\n| `agy_sdk.api_key_fallback` | `true` | Use configured API keys / Cloud Projects when OAuth Antigravity and legacy Gemini CLI quotas are unavailable. |\n| `model_discovery.enabled` | `true` | Load provider models dynamically from Gemini API / Antigravity model APIs, with bundled static definitions as fallback. |\n\n### Antigravity SDK / Gemini API keys\n\nThe official Antigravity SDK quickstart uses `GEMINI_API_KEY`. You can provide one key via environment variable:\n\n```bash\nGEMINI_API_KEY=your-key opencode run \"Hello\" --model=google/gemini-3-pro\n```\n\nFor multiple Cloud Projects / API keys, add them to `~/.config/opencode/antigravity.json`:\n\n```json\n{\n  \"agy_sdk\": {\n    \"api_key_fallback\": true,\n    \"prefer_for_gemini\": false,\n    \"cloud_projects\": [\n      { \"label\": \"primary\", \"project_id\": \"my-project\", \"api_key\": \"...\" },\n      { \"label\": \"backup\", \"project_id\": \"my-backup-project\", \"api_key\": \"...\" }\n    ]\n  }\n}\n```\n\nKeep this file private: API keys are stored in your local OpenCode config and are sent to Gemini with the `x-goog-api-key` header, never in the request URL. Do not commit `antigravity.json` with real keys.\n\nSet `prefer_for_gemini: true` if you want Gemini models to use the newer Gemini API path before OAuth-backed Antigravity. OAuth multi-account rotation remains active for Antigravity/Claude and as fallback when `prefer_for_gemini` keys are unavailable. `cli_first` remains the legacy Gemini CLI compatibility mode.\n\n### Account Rotation\n\n| Your Setup | Recommended Config |\n|------------|-------------------|\n| **1 account** | `\"account_selection_strategy\": \"sticky\"` |\n| **2-5 accounts** | Default (`\"hybrid\"`) works great |\n| **5+ accounts** | `\"account_selection_strategy\": \"round-robin\"` |\n| **Parallel agents** | Add `\"pid_offset_enabled\": true` |\n\n### Quota Protection\n\n| Option | Default | What it does |\n|--------|---------|--------------|\n| `soft_quota_threshold_percent` | `70` | Skip account when quota usage reaches this percentage. Prevents Google from penalizing accounts that fully exhaust quota. Set to `100` to disable. |\n| `quota_refresh_interval_minutes` | `15` | Background quota refresh interval. After successful API requests, refreshes quota cache if older than this interval. Set to `0` to disable. |\n| `soft_quota_cache_ttl_minutes` | `\"auto\"` | How long quota cache is considered fresh. `\"auto\"` = max(2 × refresh interval, 10 minutes). Set a number (1-120) for fixed TTL. |\n\n> **How it works**: Quota cache is refreshed automatically after API requests (when older than `quota_refresh_interval_minutes`) and manually via \"Check quotas\" in `opencode auth login`. If an account reaches the threshold and has a valid future `resetTime`, it remains skipped even after the normal cache TTL expires. Missing or invalid reset metadata remains fail-open once the cache is stale. When ALL accounts exceed the threshold, the plugin waits for the earliest quota reset time (like rate limit behavior). If wait time exceeds `max_rate_limit_wait_seconds`, it errors immediately.\n\n### Rate Limit Scheduling\n\nControl how the plugin handles rate limits:\n\n| Option | Default | What it does |\n|--------|---------|--------------|\n| `scheduling_mode` | `\"cache_first\"` | `\"cache_first\"` = wait for same account (preserves prompt cache), `\"balance\"` = switch immediately, `\"performance_first\"` = round-robin |\n| `max_cache_first_wait_seconds` | `60` | Max seconds to wait in cache_first mode before switching accounts |\n| `failure_ttl_seconds` | `3600` | Reset failure count after this many seconds (prevents old failures from permanently penalizing accounts) |\n\n**When to use each mode:**\n- **cache_first** (default): Best for long conversations. Waits for the same account to recover, preserving your prompt cache.\n- **balance**: Best for quick tasks. Switches accounts immediately when rate-limited for maximum availability.\n- **performance_first**: Best for many short requests. Distributes load evenly across all accounts.\n\n### App Behavior\n\n| Option | Default | What it does |\n|--------|---------|--------------|\n| `quiet_mode` | `false` | Hide toast notifications |\n| `debug` | `false` | Enable debug file logging (`~/.config/opencode/antigravity-logs/`) |\n| `debug_tui` | `false` | Show debug logs in the TUI log panel (independent from `debug`) |\n| `auto_update` | `true` | Auto-update plugin |\n\nFor all options, see [docs/CONFIGURATION.md](docs/CONFIGURATION.md).\n\n**Environment variables:**\n```bash\nOPENCODE_CONFIG_DIR=/path/to/config opencode  # Custom config directory\nOPENCODE_ANTIGRAVITY_DEBUG=1 opencode         # Enable debug file logging\nOPENCODE_ANTIGRAVITY_DEBUG=2 opencode         # Verbose debug file logging\nOPENCODE_ANTIGRAVITY_DEBUG_TUI=1 opencode     # Enable TUI log panel debug output\n```\n\n---\n\n## Troubleshooting\n\nSee the full [Troubleshooting Guide](docs/TROUBLESHOOTING.md) for solutions to common issues including:\n\n- Auth problems and token refresh\n- \"Model not found\" errors\n- Session recovery\n- Gemini CLI permission errors\n- Safari OAuth issues\n- Plugin compatibility\n- Migration guides\n\n---\n\n## Documentation\n\n- [Configuration](docs/CONFIGURATION.md) — All configuration options\n- [Multi-Account](docs/MULTI-ACCOUNT.md) — Load balancing, dual quota pools, account storage\n- [Model Variants](docs/MODEL-VARIANTS.md) — Thinking budgets and variant system\n- [Troubleshooting](docs/TROUBLESHOOTING.md) — Common issues and fixes\n- [Architecture](docs/ARCHITECTURE.md) — How the plugin works\n- [API Spec](docs/ANTIGRAVITY_API_SPEC.md) — Antigravity API reference\n- [Pi package](packages/pi/README.md) — install and safety limits for the text-only `antigravity-guard` Pi provider\n\n---\n\n## Support\n\nIf this plugin saves you time, consider supporting its development:\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/S6S81QBOIR)\n\n---\n\n## Credits\n\n- [opencode-gemini-auth](https://github.com/jenslys/opencode-gemini-auth) by [@jenslys](https://github.com/jenslys)\n- [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n<details>\n<summary><b>Legal</b></summary>\n\n### Intended Use\n\n- Personal / internal development only\n- Respect internal quotas and data handling policies\n- Not for production services or bypassing intended limits\n\n### Warning\n\nBy using this plugin, you acknowledge:\n\n- **Terms of Service risk** — This approach may violate ToS of AI model providers\n- **Account risk** — Providers may suspend or ban accounts\n- **No guarantees** — APIs may change without notice\n- **Assumption of risk** — You assume all legal, financial, and technical risks\n\n### Disclaimer\n\n- Not affiliated with Google. This is an independent open-source project.\n- \"Antigravity\", \"Gemini\", \"Google Cloud\", and \"Google\" are trademarks of Google LLC.\n\n</details>\n","readmeFilename":"README.md"}