mirror of
https://github.com/NoeFabris/opencode-antigravity-auth.git
synced 2026-05-13 23:53:18 +00:00
Merge branch 'main' into dev
This commit is contained in:
18
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
18
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -14,6 +14,10 @@ body:
|
||||
|
||||
**Please write a descriptive title above** (e.g., "Auth fails with invalid_grant after token refresh")
|
||||
|
||||
> 🌐 **ENGLISH ONLY**
|
||||
>
|
||||
> Issues must be written in English. Issues in other languages will be closed immediately.
|
||||
|
||||
Check the following resources first:
|
||||
- **[📋 Troubleshooting Guide](https://github.com/NoeFabris/opencode-antigravity-auth/blob/main/docs/TROUBLESHOOTING.md)** - common issues and solutions
|
||||
- [Existing issues](https://github.com/NoeFabris/opencode-antigravity-auth/issues?q=is%3Aissue) - your issue may already be reported
|
||||
@@ -30,7 +34,6 @@ body:
|
||||
- label: I have read the [📋 Troubleshooting Guide](https://github.com/NoeFabris/opencode-antigravity-auth/blob/main/docs/TROUBLESHOOTING.md)
|
||||
required: true
|
||||
- label: I have read the [README](https://github.com/NoeFabris/opencode-antigravity-auth#readme) installation instructions
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
id: model
|
||||
@@ -43,6 +46,7 @@ body:
|
||||
- antigravity-claude-sonnet-4-5
|
||||
- antigravity-claude-sonnet-4-5-thinking
|
||||
- antigravity-claude-opus-4-5-thinking
|
||||
- antigravity-claude-opus-4-6-thinking
|
||||
- gemini-2.5-flash
|
||||
- gemini-2.5-pro
|
||||
- gemini-3-flash-preview
|
||||
@@ -171,6 +175,18 @@ body:
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: mcp-servers
|
||||
attributes:
|
||||
label: MCP servers installed
|
||||
description: List any MCP (Model Context Protocol) servers you have configured. This helps us identify potential interactions or conflicts.
|
||||
placeholder: |
|
||||
Example:
|
||||
- chrome-devtools
|
||||
- figma
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
|
||||
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
4
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
@@ -9,6 +9,10 @@ body:
|
||||
|
||||
**Please write a descriptive title above** (e.g., "Add support for custom retry strategies")
|
||||
|
||||
> 🌐 **ENGLISH ONLY**
|
||||
>
|
||||
> Issues must be written in English. Issues in other languages will be closed immediately.
|
||||
|
||||
Check if this feature has already been requested:
|
||||
- [Existing feature requests](https://github.com/NoeFabris/opencode-antigravity-auth/issues?q=is%3Aissue+label%3Aenhancement)
|
||||
- [Discussions](https://github.com/NoeFabris/opencode-antigravity-auth/discussions)
|
||||
|
||||
25
.github/workflows/issue-triage.yml
vendored
25
.github/workflows/issue-triage.yml
vendored
@@ -107,12 +107,29 @@ jobs:
|
||||
try {
|
||||
parsed = JSON.parse(rawOutput.trim());
|
||||
} catch (e) {
|
||||
// Try to extract JSON from code blocks first, then raw JSON
|
||||
// Try to extract JSON from code blocks first
|
||||
const codeBlockMatch = rawOutput.match(/```(?:json)?\s*([\s\S]*?)\s*```/);
|
||||
// Use greedy match to capture full nested JSON object
|
||||
const rawJsonMatch = rawOutput.match(/\{[\s\S]*\}/);
|
||||
|
||||
const jsonStr = codeBlockMatch?.[1] || rawJsonMatch?.[0];
|
||||
// Find the LAST JSON object containing triage fields (avoid matching code snippets)
|
||||
// Match JSON objects that contain "type_label" to ensure we get the triage output
|
||||
const triageJsonMatch = rawOutput.match(/\{"type_label"[\s\S]*?\}(?=\s*$|\s*```|\s*\n\n)/);
|
||||
|
||||
// Fallback: find all potential JSON objects and try parsing from the end
|
||||
let jsonStr = codeBlockMatch?.[1] || triageJsonMatch?.[0];
|
||||
|
||||
if (!jsonStr) {
|
||||
// Last resort: find all { } pairs and try parsing from the last one
|
||||
const allMatches = [...rawOutput.matchAll(/\{[^{}]*(?:\{[^{}]*\}[^{}]*)*\}/g)];
|
||||
for (let i = allMatches.length - 1; i >= 0; i--) {
|
||||
try {
|
||||
const candidate = JSON.parse(allMatches[i][0]);
|
||||
if (candidate.type_label && candidate.area_label) {
|
||||
jsonStr = allMatches[i][0];
|
||||
break;
|
||||
}
|
||||
} catch {}
|
||||
}
|
||||
}
|
||||
|
||||
if (jsonStr) {
|
||||
try {
|
||||
|
||||
12
README.md
12
README.md
@@ -121,7 +121,8 @@ opencode run "Hello" --model=google/antigravity-claude-sonnet-4-5-thinking --var
|
||||
| `antigravity-gemini-3-flash` | minimal, low, medium, high | Gemini 3 Flash with thinking |
|
||||
| `antigravity-claude-sonnet-4-5` | — | Claude Sonnet 4.5 |
|
||||
| `antigravity-claude-sonnet-4-5-thinking` | low, max | Claude Sonnet with extended thinking |
|
||||
| `antigravity-claude-opus-4-5-thinking` | low, max | Claude Opus with extended thinking |
|
||||
| `antigravity-claude-opus-4-5-thinking` | low, max | Claude Opus 4.5 with extended thinking |
|
||||
| `antigravity-claude-opus-4-6-thinking` | low, max | Claude Opus 4.6 with extended thinking |
|
||||
|
||||
**Gemini CLI quota** (separate from Antigravity; used when `cli_first` is true or as fallback):
|
||||
|
||||
@@ -201,6 +202,15 @@ Add this to your `~/.config/opencode/opencode.json`:
|
||||
"max": { "thinkingConfig": { "thinkingBudget": 32768 } }
|
||||
}
|
||||
},
|
||||
"antigravity-claude-opus-4-6-thinking": {
|
||||
"name": "Claude Opus 4.6 Thinking (Antigravity)",
|
||||
"limit": { "context": 200000, "output": 64000 },
|
||||
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
|
||||
"variants": {
|
||||
"low": { "thinkingConfig": { "thinkingBudget": 8192 } },
|
||||
"max": { "thinkingConfig": { "thinkingBudget": 32768 } }
|
||||
}
|
||||
},
|
||||
"gemini-2.5-flash": {
|
||||
"name": "Gemini 2.5 Flash (Gemini CLI)",
|
||||
"limit": { "context": 1048576, "output": 65536 },
|
||||
|
||||
@@ -81,6 +81,7 @@ Accept: text/event-stream
|
||||
| Claude Sonnet 4.5 | `claude-sonnet-4-5` | Anthropic | ✅ Verified |
|
||||
| Claude Sonnet 4.5 Thinking | `claude-sonnet-4-5-thinking` | Anthropic | ✅ Verified |
|
||||
| Claude Opus 4.5 Thinking | `claude-opus-4-5-thinking` | Anthropic | ✅ Verified |
|
||||
| Claude Opus 4.6 Thinking | `claude-opus-4-6-thinking` | Anthropic | ⏳ Pending |
|
||||
| Gemini 3 Pro High | `gemini-3-pro-high` | Google | ✅ Verified |
|
||||
| Gemini 3 Pro Low | `gemini-3-pro-low` | Google | ✅ Verified |
|
||||
| GPT-OSS 120B Medium | `gpt-oss-120b-medium` | Other | ✅ Verified |
|
||||
|
||||
@@ -26,6 +26,9 @@ const MODELS: ModelTest[] = [
|
||||
{ model: "google/antigravity-claude-opus-4-5-thinking-low", category: "antigravity-claude" },
|
||||
{ model: "google/antigravity-claude-opus-4-5-thinking-medium", category: "antigravity-claude" },
|
||||
{ model: "google/antigravity-claude-opus-4-5-thinking-high", category: "antigravity-claude" },
|
||||
{ model: "google/antigravity-claude-opus-4-6-thinking-low", category: "antigravity-claude" },
|
||||
{ model: "google/antigravity-claude-opus-4-6-thinking-medium", category: "antigravity-claude" },
|
||||
{ model: "google/antigravity-claude-opus-4-6-thinking-high", category: "antigravity-claude" },
|
||||
];
|
||||
|
||||
const TEST_PROMPT = "Reply with exactly one word: WORKING";
|
||||
|
||||
@@ -16,6 +16,7 @@ describe("OPENCODE_MODEL_DEFINITIONS", () => {
|
||||
|
||||
expect(modelNames).toEqual([
|
||||
"antigravity-claude-opus-4-5-thinking",
|
||||
"antigravity-claude-opus-4-6-thinking",
|
||||
"antigravity-claude-sonnet-4-5",
|
||||
"antigravity-claude-sonnet-4-5-thinking",
|
||||
"antigravity-gemini-3-flash",
|
||||
@@ -51,5 +52,10 @@ describe("OPENCODE_MODEL_DEFINITIONS", () => {
|
||||
low: { thinkingConfig: { thinkingBudget: 8192 } },
|
||||
max: { thinkingConfig: { thinkingBudget: 32768 } },
|
||||
});
|
||||
|
||||
expect(getModel("antigravity-claude-opus-4-6-thinking").variants).toEqual({
|
||||
low: { thinkingConfig: { thinkingBudget: 8192 } },
|
||||
max: { thinkingConfig: { thinkingBudget: 32768 } },
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -81,6 +81,15 @@ export const OPENCODE_MODEL_DEFINITIONS: OpencodeModelDefinitions = {
|
||||
max: { thinkingConfig: { thinkingBudget: 32768 } },
|
||||
},
|
||||
},
|
||||
"antigravity-claude-opus-4-6-thinking": {
|
||||
name: "Claude Opus 4.6 Thinking (Antigravity)",
|
||||
limit: { context: 200000, output: 64000 },
|
||||
modalities: DEFAULT_MODALITIES,
|
||||
variants: {
|
||||
low: { thinkingConfig: { thinkingBudget: 8192 } },
|
||||
max: { thinkingConfig: { thinkingBudget: 32768 } },
|
||||
},
|
||||
},
|
||||
"gemini-2.5-flash": {
|
||||
name: "Gemini 2.5 Flash (Gemini CLI)",
|
||||
limit: { context: 1048576, output: 65536 },
|
||||
|
||||
@@ -54,6 +54,9 @@ export const MODEL_ALIASES: Record<string, string> = {
|
||||
"gemini-claude-opus-4-5-thinking-low": "claude-opus-4-5-thinking",
|
||||
"gemini-claude-opus-4-5-thinking-medium": "claude-opus-4-5-thinking",
|
||||
"gemini-claude-opus-4-5-thinking-high": "claude-opus-4-5-thinking",
|
||||
"gemini-claude-opus-4-6-thinking-low": "claude-opus-4-6-thinking",
|
||||
"gemini-claude-opus-4-6-thinking-medium": "claude-opus-4-6-thinking",
|
||||
"gemini-claude-opus-4-6-thinking-high": "claude-opus-4-6-thinking",
|
||||
|
||||
// Image generation models - only gemini-3-pro-image is available via Antigravity API
|
||||
// Note: gemini-2.5-flash-image (Nano Banana) is NOT supported by Antigravity - only Google AI API
|
||||
|
||||
Reference in New Issue
Block a user