diff --git a/packages/server/src/handlers/project-copy.ts b/packages/server/src/handlers/project-copy.ts index 3733db6771a4..54325e438c21 100644 --- a/packages/server/src/handlers/project-copy.ts +++ b/packages/server/src/handlers/project-copy.ts @@ -1,6 +1,5 @@ import { Location } from "@opencode-ai/core/location" import { ProjectCopy } from "@opencode-ai/core/project/copy" -import { Git } from "@opencode-ai/core/git" import { Effect } from "effect" import { HttpApiBuilder, HttpApiSchema } from "effect/unstable/httpapi" import { Api } from "../api" @@ -47,7 +46,7 @@ function badRequest(effect: Effect.Effect) { name: "ProjectCopyError", data: { message: message(error), - forceRequired: error instanceof Git.WorktreeError ? error.forceRequired : undefined, + forceRequired: error._tag === "Git.WorktreeError" ? error.forceRequired : undefined, }, }), ), @@ -55,14 +54,14 @@ function badRequest(effect: Effect.Effect) { } function message(error: ProjectCopy.Error) { - if (error instanceof ProjectCopy.SourceDirectoryNotFoundError) + if (error._tag === "ProjectCopy.SourceDirectoryNotFoundError") return `Project copy source not found: ${error.directory}` - if (error instanceof ProjectCopy.DestinationExistsError) + if (error._tag === "ProjectCopy.DestinationExistsError") return `Project copy destination already exists: ${error.directory}` - if (error instanceof ProjectCopy.DirectoryUnavailableError) + if (error._tag === "ProjectCopy.DirectoryUnavailableError") return `Project copy directory unavailable: ${error.directory}` - if (error instanceof ProjectCopy.InvalidDirectoryError) return `Invalid project copy directory: ${error.directory}` - if (error instanceof ProjectCopy.StrategyUnavailableError) + if (error._tag === "ProjectCopy.InvalidDirectoryError") return `Invalid project copy directory: ${error.directory}` + if (error._tag === "ProjectCopy.StrategyUnavailableError") return `Project copy strategy unavailable: ${error.strategy}` return error.message }