refactor(commands): dedupe cleanup path resolution

This commit is contained in:
Peter Steinberger
2026-02-15 17:09:12 +00:00
parent da2fde7b6f
commit 3ce0e80f57
4 changed files with 57 additions and 13 deletions

View File

@@ -11,7 +11,7 @@ import {
import { resolveGatewayService } from "../daemon/service.js";
import { stylePromptHint, stylePromptMessage, stylePromptTitle } from "../terminal/prompt-style.js";
import { resolveHomeDir } from "../utils.js";
import { collectWorkspaceDirs, isPathWithin, removePath } from "./cleanup-utils.js";
import { buildCleanupPlan, removePath } from "./cleanup-utils.js";
type UninstallScope = "service" | "state" | "workspace" | "app";
@@ -161,9 +161,12 @@ export async function uninstallCommand(runtime: RuntimeEnv, opts: UninstallOptio
const stateDir = resolveStateDir();
const configPath = resolveConfigPath();
const oauthDir = resolveOAuthDir();
const configInsideState = isPathWithin(configPath, stateDir);
const oauthInsideState = isPathWithin(oauthDir, stateDir);
const workspaceDirs = collectWorkspaceDirs(cfg);
const { configInsideState, oauthInsideState, workspaceDirs } = buildCleanupPlan({
cfg,
stateDir,
configPath,
oauthDir,
});
if (scopes.has("service")) {
if (dryRun) {