Files
openclaw/extensions/google/openclaw.plugin.json
clawsweeper[bot] 3bd6b54f0b fix: compatibility gaps in the new Google Vertex ADC manifest evidence
Tighten Google Vertex ADC manifest evidence to canonical project env vars and canonical ADC fallback paths only.

Local proof:
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/agents/model-auth.profiles.test.ts src/plugins/manifest-registry.test.ts src/secrets/provider-env-vars.dynamic.test.ts
- pnpm exec oxfmt --check --threads=1 docs/plugins/manifest.md extensions/google/openclaw.plugin.json src/agents/model-auth-env.ts src/agents/model-auth.profiles.test.ts src/plugins/manifest.ts
- git diff --check origin/main...HEAD

CI note: checks-node-core-support-boundary was red on an unrelated tooling assertion in test/scripts/test-projects.test.ts for packages/sdk/src/index.test.ts routing; that file and scripts/test-projects.mjs are unchanged from origin/main.
2026-04-30 01:52:09 +01:00

186 lines
5.1 KiB
JSON

{
"id": "google",
"activation": {
"onStartup": false
},
"enabledByDefault": true,
"providers": ["google", "google-gemini-cli", "google-vertex"],
"autoEnableWhenConfiguredProviders": ["google-gemini-cli"],
"modelIdNormalization": {
"providers": {
"google": {
"aliases": {
"gemini-3-pro": "gemini-3-pro-preview",
"gemini-3-flash": "gemini-3-flash-preview",
"gemini-3.1-pro": "gemini-3.1-pro-preview",
"gemini-3.1-flash-lite": "gemini-3.1-flash-lite-preview",
"gemini-3.1-flash": "gemini-3-flash-preview",
"gemini-3.1-flash-preview": "gemini-3-flash-preview"
}
},
"google-vertex": {
"aliases": {
"gemini-3-pro": "gemini-3-pro-preview",
"gemini-3-flash": "gemini-3-flash-preview",
"gemini-3.1-pro": "gemini-3.1-pro-preview",
"gemini-3.1-flash-lite": "gemini-3.1-flash-lite-preview",
"gemini-3.1-flash": "gemini-3-flash-preview",
"gemini-3.1-flash-preview": "gemini-3-flash-preview"
}
}
}
},
"modelPricing": {
"providers": {
"google-gemini-cli": {
"openRouter": {
"provider": "google"
},
"liteLLM": {
"provider": "google"
}
}
}
},
"providerEndpoints": [
{
"endpointClass": "google-generative-ai",
"hosts": ["generativelanguage.googleapis.com"]
},
{
"endpointClass": "google-vertex",
"hosts": ["aiplatform.googleapis.com"],
"googleVertexRegion": "global"
},
{
"endpointClass": "google-vertex",
"hostSuffixes": ["-aiplatform.googleapis.com"],
"googleVertexRegionHostSuffix": "-aiplatform.googleapis.com"
}
],
"providerRequest": {
"providers": {
"google": {
"family": "google"
},
"google-gemini-cli": {
"family": "google"
},
"google-vertex": {
"family": "google"
}
}
},
"setup": {
"providers": [
{
"id": "google-vertex",
"authMethods": ["api-key"],
"envVars": ["GOOGLE_CLOUD_API_KEY"],
"authEvidence": [
{
"type": "local-file-with-env",
"fileEnvVar": "GOOGLE_APPLICATION_CREDENTIALS",
"fallbackPaths": [
"${HOME}/.config/gcloud/application_default_credentials.json",
"${APPDATA}/gcloud/application_default_credentials.json"
],
"requiresAnyEnv": ["GOOGLE_CLOUD_PROJECT", "GCLOUD_PROJECT"],
"requiresAllEnv": ["GOOGLE_CLOUD_LOCATION"],
"credentialMarker": "gcp-vertex-credentials",
"source": "gcloud adc"
}
]
}
]
},
"cliBackends": ["google-gemini-cli"],
"providerAuthEnvVars": {
"google": ["GEMINI_API_KEY", "GOOGLE_API_KEY"]
},
"providerAuthChoices": [
{
"provider": "google",
"method": "api-key",
"choiceId": "gemini-api-key",
"choiceLabel": "Google Gemini API key",
"groupId": "google",
"groupLabel": "Google",
"groupHint": "Gemini API key + OAuth",
"optionKey": "geminiApiKey",
"cliFlag": "--gemini-api-key",
"cliOption": "--gemini-api-key <key>",
"cliDescription": "Gemini API key"
},
{
"provider": "google-gemini-cli",
"method": "oauth",
"choiceId": "google-gemini-cli",
"choiceLabel": "Gemini CLI OAuth",
"choiceHint": "Google OAuth with project-aware token payload",
"groupId": "google",
"groupLabel": "Google",
"groupHint": "Gemini API key + OAuth"
}
],
"uiHints": {
"webSearch.apiKey": {
"label": "Gemini Search API Key",
"help": "Gemini API key for Google Search grounding (fallback: GEMINI_API_KEY env var).",
"sensitive": true,
"placeholder": "AIza..."
},
"webSearch.model": {
"label": "Gemini Search Model",
"help": "Gemini model override for web search grounding."
}
},
"contracts": {
"mediaUnderstandingProviders": ["google"],
"memoryEmbeddingProviders": ["gemini"],
"imageGenerationProviders": ["google"],
"musicGenerationProviders": ["google"],
"realtimeVoiceProviders": ["google"],
"speechProviders": ["google"],
"videoGenerationProviders": ["google"],
"webSearchProviders": ["gemini"]
},
"mediaUnderstandingProviderMetadata": {
"google": {
"capabilities": ["image", "audio", "video"],
"defaultModels": {
"image": "gemini-3-flash-preview",
"audio": "gemini-3-flash-preview",
"video": "gemini-3-flash-preview"
},
"autoPriority": {
"image": 30,
"audio": 40,
"video": 10
},
"nativeDocumentInputs": ["pdf"]
}
},
"configContracts": {
"compatibilityRuntimePaths": ["tools.web.search.apiKey"]
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"webSearch": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiKey": {
"type": ["string", "object"]
},
"model": {
"type": "string"
}
}
}
}
}
}