Skip to content
This repository was archived by the owner on Mar 30, 2026. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions src/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1348,23 +1348,27 @@ export const createAntigravityPlugin = (providerId: string) => async (
return "Error: Not authenticated with Antigravity. Please run `opencode auth login` to authenticate.";
}

// Get access token and project ID
const parts = parseRefreshParts(auth.refresh);
const projectId = parts.managedProjectId || parts.projectId || "unknown";
let projectContext: ProjectContextResult
try {
projectContext = await ensureProjectContext(auth)
} catch (error) {
return `Error: Failed to resolve project context: ${error instanceof Error ? error.message : String(error)}`
}

const projectId = projectContext.effectiveProjectId
let accessToken = projectContext.auth.access || auth.access

// Ensure we have a valid access token
let accessToken = auth.access;
if (!accessToken || accessTokenExpired(auth)) {
if (!accessToken || accessTokenExpired(projectContext.auth)) {
try {
const refreshed = await refreshAccessToken(auth, client, providerId);
accessToken = refreshed?.access;
const refreshed = await refreshAccessToken(projectContext.auth, client, providerId)
accessToken = refreshed?.access
} catch (error) {
return `Error: Failed to refresh access token: ${error instanceof Error ? error.message : String(error)}`;
return `Error: Failed to refresh access token: ${error instanceof Error ? error.message : String(error)}`
}
}

if (!accessToken) {
return "Error: No valid access token available. Please run `opencode auth login` to re-authenticate.";
return "Error: No valid access token available. Please run `opencode auth login` to re-authenticate."
}

return executeSearch(
Expand Down