({ providerSettingsManager, contextProxy, customModesManager }: ImportOptions)
| 269 | * @returns Promise resolving to import result |
| 270 | */ |
| 271 | export const importSettings = async ({ providerSettingsManager, contextProxy, customModesManager }: ImportOptions) => { |
| 272 | // Use the last export path as a sensible default, falling back to Downloads |
| 273 | const defaultUri = resolveDefaultSaveUri(contextProxy, "lastSettingsExportPath", "roo-code-settings.json", { |
| 274 | useWorkspace: false, |
| 275 | fallbackDir: path.join(os.homedir(), "Downloads"), |
| 276 | }) |
| 277 | |
| 278 | const uris = await vscode.window.showOpenDialog({ |
| 279 | filters: { JSON: ["json"] }, |
| 280 | canSelectMany: false, |
| 281 | defaultUri, |
| 282 | }) |
| 283 | |
| 284 | if (!uris) { |
| 285 | return { success: false, error: "User cancelled file selection" } |
| 286 | } |
| 287 | |
| 288 | return importSettingsFromPath(uris[0].fsPath, { |
| 289 | providerSettingsManager, |
| 290 | contextProxy, |
| 291 | customModesManager, |
| 292 | }) |
| 293 | } |
| 294 | |
| 295 | /** |
| 296 | * Import settings from a specific file |
no test coverage detected