mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:10:44 +00:00
fix(plugins): suppress mirrored provider env warnings
This commit is contained in:
@@ -6,6 +6,15 @@
|
||||
"providerAuthEnvVars": {
|
||||
"brave": ["BRAVE_API_KEY"]
|
||||
},
|
||||
"setup": {
|
||||
"providers": [
|
||||
{
|
||||
"id": "brave",
|
||||
"authMethods": ["api-key"],
|
||||
"envVars": ["BRAVE_API_KEY"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"uiHints": {
|
||||
"webSearch.apiKey": {
|
||||
"label": "Brave Search API Key",
|
||||
|
||||
@@ -923,6 +923,35 @@ describe("loadPluginManifestRegistry", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("does not report deprecated providerAuthEnvVars when setup providers mirror env vars", () => {
|
||||
const dir = makeTempDir();
|
||||
writeManifest(dir, {
|
||||
id: "external-openai",
|
||||
providers: ["openai"],
|
||||
setup: {
|
||||
providers: [{ id: "openai", envVars: ["OPENAI_API_KEY"] }],
|
||||
},
|
||||
providerAuthEnvVars: {
|
||||
openai: ["OPENAI_API_KEY"],
|
||||
},
|
||||
configSchema: { type: "object" },
|
||||
});
|
||||
|
||||
const registry = loadSingleCandidateRegistry({
|
||||
idHint: "external-openai",
|
||||
rootDir: dir,
|
||||
origin: "global",
|
||||
});
|
||||
|
||||
expect(registry.diagnostics).not.toContainEqual(
|
||||
expect.objectContaining({
|
||||
message: expect.stringContaining(
|
||||
"providerAuthEnvVars is deprecated compatibility metadata",
|
||||
),
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it("sanitizes manifest-controlled fields in provider auth compatibility diagnostics", () => {
|
||||
const dir = makeTempDir();
|
||||
const lineBreak = String.fromCharCode(10);
|
||||
|
||||
@@ -425,8 +425,19 @@ function pushProviderAuthEnvVarsCompatDiagnostic(params: {
|
||||
if (params.record.origin === "bundled" || !params.record.providerAuthEnvVars) {
|
||||
return;
|
||||
}
|
||||
const setupProviderEnvVars = new Map(
|
||||
(params.record.setup?.providers ?? []).map(
|
||||
(provider) => [provider.id, new Set(provider.envVars ?? [])] as const,
|
||||
),
|
||||
);
|
||||
const providerIds = Object.entries(params.record.providerAuthEnvVars)
|
||||
.filter(([providerId, envVars]) => providerId.trim() && envVars.length > 0)
|
||||
.filter(([providerId, envVars]) => {
|
||||
if (!providerId.trim() || envVars.length === 0) {
|
||||
return false;
|
||||
}
|
||||
const mirroredEnvVars = setupProviderEnvVars.get(providerId);
|
||||
return !mirroredEnvVars || envVars.some((envVar) => !mirroredEnvVars.has(envVar));
|
||||
})
|
||||
.map(([providerId]) => providerId)
|
||||
.toSorted((left, right) => left.localeCompare(right));
|
||||
if (providerIds.length === 0) {
|
||||
|
||||
Reference in New Issue
Block a user