feat(mcp): add WorkBuddy client config template

This commit is contained in:
t8y2 committed 2026-09-16 11:15:40 +08:00
1 parent c2f4c6e2be
commit e916e9e927
14 files changed
+59 -4

No files matched your search

@@ -1,5 +1,5 @@
import { describe, expect, it } from "vitest";
import { buildMcpCherryStudioConfig, buildMcpCodexConfig, buildMcpDeepSeekHarnessConfig, buildMcpJsonConfig, buildMcpOpenCodeConfig, buildMcpPiConfig, buildMcpQoderConfig, buildMcpTraeConfig, buildMcpVsCodeConfig, mcpWebBackendUrl } from "@/lib/mcp/mcpConfigTemplates";
import { buildMcpCherryStudioConfig, buildMcpCodexConfig, buildMcpDeepSeekHarnessConfig, buildMcpJsonConfig, buildMcpOpenCodeConfig, buildMcpPiConfig, buildMcpQoderConfig, buildMcpTraeConfig, buildMcpVsCodeConfig, buildMcpWorkBuddyConfig, mcpWebBackendUrl } from "@/lib/mcp/mcpConfigTemplates";
describe("MCP config templates", () => {
it("builds the standard mcpServers JSON used by Claude, Cursor, TRAE, and Windsurf", () => {
@@ -37,6 +37,16 @@ describe("MCP config templates", () => {
expect(buildMcpPiConfig({ command: "npx", args: ["-y", "@dbx-app/mcp-server"] })).toContain('"npx"');
});
it("builds the standard mcpServers JSON used by WorkBuddy", () => {
const launch = { command: "dbx-mcp-server", env: { DBX_DATA_DIR: "D:\\DBX Data" } };
expect(JSON.parse(buildMcpWorkBuddyConfig(launch))).toEqual({
mcpServers: {
dbx: launch,
},
});
});
it("builds standard JSON configs with a direct node launch command", () => {
const config = JSON.parse(buildMcpJsonConfig({ command: "C:\\Program Files\\nodejs\\node.exe", args: ["C:\\Users\\zhiyo\\AppData\\Roaming\\npm\\node_modules\\@dbx-app\\mcp-server\\dist\\index.js"] }));
@@ -165,11 +165,12 @@ describe("MCP policy settings state", () => {
expect(tabsSource).toContain("overscroll-x-contain");
expect(tabsSource).not.toContain("flex-wrap");
expect(tabsSource).not.toContain("grid-cols-");
expect(tabsSource.match(/flex-none shrink-0/g)).toHaveLength(13);
expect(tabsSource.match(/flex-none shrink-0/g)).toHaveLength(14);
expect(tabsSource).toContain('<TabsTrigger value="deepseek-harness"');
expect(tabsSource).toContain('<TabsTrigger value="codebuddy"');
expect(tabsSource).toContain('<TabsTrigger value="zcode"');
expect(tabsSource).toContain('<TabsTrigger value="qoder"');
expect(tabsSource).toContain('<TabsTrigger value="workbuddy"');
expect(tabsSource).not.toContain("min-w-0 px-");
const codeBuddyStart = settingsDialogSource.indexOf('<TabsContent value="codebuddy"', tabsEnd);
@@ -123,3 +123,7 @@ export function buildMcpOpenCodeConfig(config?: McpLaunchConfig): string {
export function buildMcpPiConfig(config?: McpLaunchConfig): string {
return buildMcpJsonConfig(config);
}
export function buildMcpWorkBuddyConfig(config?: McpLaunchConfig): string {
return buildMcpJsonConfig(config);
}