kaneo (minimalist kanban) fork to experiment adding a tangled integration github.com/usekaneo/kaneo
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix(mcp): validate custom path in resolveTargetConfigPath

- Use validateCustomConfigPathInput in custom branch; throw on failure
- Type INSTALL_TARGETS with as const satisfies readonly InstallTarget[]

Tin 1a64c25a 71792690

+6 -6
+6 -6
apps/mcp/src/install/targets.ts
··· 33 33 return { ok: true, path: trimmed }; 34 34 } 35 35 36 - export const INSTALL_TARGETS: readonly InstallTarget[] = [ 36 + export const INSTALL_TARGETS = [ 37 37 { 38 38 id: "cursor-user", 39 39 label: "Cursor (user-wide)", ··· 54 54 label: "Custom file path", 55 55 description: "Any JSON file you choose (advanced)", 56 56 }, 57 - ]; 57 + ] as const satisfies readonly InstallTarget[]; 58 58 59 59 export function getClaudeDesktopConfigPath(): string { 60 60 const platform = process.platform; ··· 89 89 case "claude-desktop": 90 90 return getClaudeDesktopConfigPath(); 91 91 case "custom": { 92 - const p = options.customPath?.trim(); 93 - if (!p) { 94 - throw new Error("Custom target requires a file path"); 92 + const result = validateCustomConfigPathInput(options.customPath ?? ""); 93 + if (!result.ok) { 94 + throw new Error(result.message); 95 95 } 96 - return p; 96 + return result.path; 97 97 } 98 98 } 99 99 }