fix(sync): map workspace warp not found (#28882)

This commit is contained in:
Shoubhit Dash
2026-05-22 23:15:53 +05:30
committed by GitHub
parent 05f51bfe45
commit 0e14404e5f
4 changed files with 29 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ import { WorkspaceAdapterEntry } from "@/control-plane/types"
import { Schema, Struct } from "effect"
import { HttpApi, HttpApiEndpoint, HttpApiError, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi"
import { ApiVcsApplyError } from "./instance"
import { ApiNotFoundError } from "../errors"
import { Authorization } from "../middleware/authorization"
import { InstanceContextMiddleware } from "../middleware/instance-context"
import { WorkspaceRoutingMiddleware, WorkspaceRoutingQuery } from "../middleware/workspace-routing"
@@ -107,7 +108,7 @@ export const WorkspaceApi = HttpApi.make("workspace")
query: WorkspaceRoutingQuery,
payload: WarpPayload,
success: described(HttpApiSchema.NoContent, "Session warped"),
error: [ApiWorkspaceWarpError, ApiVcsApplyError],
error: [ApiWorkspaceWarpError, ApiVcsApplyError, ApiNotFoundError],
}).annotateMerge(
OpenApi.annotations({
identifier: "experimental.workspace.warp",

View File

@@ -5,6 +5,7 @@ import { Vcs } from "@/project/vcs"
import { Effect } from "effect"
import { HttpApiBuilder, HttpApiError } from "effect/unstable/httpapi"
import { InstanceHttpApi } from "../api"
import { notFound } from "../errors"
import { ApiVcsApplyError } from "../groups/instance"
import { ApiWorkspaceWarpError, CreatePayload, WarpPayload } from "../groups/workspace"
@@ -54,6 +55,7 @@ export const workspaceHandlers = HttpApiBuilder.group(InstanceHttpApi, "workspac
})
.pipe(
Effect.mapError((error) => {
if (error instanceof Workspace.WorkspaceNotFoundError) return notFound(error.message)
if (error instanceof Vcs.PatchApplyError) {
return new ApiVcsApplyError({
name: "VcsApplyError",