Handle ACP providers without MCP support

This commit is contained in:
Mohamed Boudra
2026-06-10 11:29:26 +07:00
parent e9f9759ba8
commit b3f44981a8
11 changed files with 332 additions and 57 deletions
@@ -9,6 +9,7 @@ export interface AcpProviderCatalogEntry {
installLink: string;
command: readonly [string, ...string[]];
env?: Readonly<Record<string, string>>;
params?: Readonly<Record<string, unknown>>;
}
const CATALOG_DATA = [
@@ -166,6 +167,7 @@ const CATALOG_DATA = [
DROID_DISABLE_AUTO_UPDATE: "true",
FACTORY_DROID_AUTO_UPDATE_ENABLED: "false",
},
params: { supportsMcpServers: false },
},
{
id: "fast-agent",
@@ -357,5 +359,6 @@ export const ACP_PROVIDER_CATALOG: AcpProviderCatalogEntry[] = CATALOG_DATA.map(
installLink: entry.installLink,
command: entry.command,
env: "env" in entry ? entry.env : undefined,
params: "params" in entry ? entry.params : undefined,
iconSvg: entry.iconId ? (ACP_PROVIDER_ICON_SVGS[entry.iconId] ?? null) : null,
}));
@@ -66,4 +66,12 @@ describe("ACP provider catalog", () => {
AUGMENT_DISABLE_AUTO_UPDATE: "1",
});
});
it("preserves provider params in the daemon config patch", () => {
const droidPatch = buildAcpProviderConfigPatch(findProvider("factory-droid"));
expect(droidPatch.providers?.["factory-droid"]?.params).toEqual({
supportsMcpServers: false,
});
});
});
@@ -19,6 +19,7 @@ export function buildAcpProviderConfigPatch(
description: entry.description,
command: [...entry.command],
env: entry.env ? { ...entry.env } : {},
...(entry.params ? { params: { ...entry.params } } : {}),
},
},
};