25 lines · 887 B · TypeScript
RawDownload
import type { WorkspaceId } from "#schema";import * as Effect from "effect/Effect"; import {  RuntimeLocalWorkspaceMismatchError,} from "../runtime/local-errors";import { requireRuntimeLocalWorkspace } from "../runtime/local-runtime-context";import { ControlPlaneForbiddenError } from "./errors"; export const resolveRequestedLocalWorkspace = (  operation: string,  workspaceId: WorkspaceId,) =>  requireRuntimeLocalWorkspace(workspaceId).pipe(    Effect.mapError((cause) =>      new ControlPlaneForbiddenError({        operation,        message: "Requested workspace is not the active local workspace",        details:          cause instanceof RuntimeLocalWorkspaceMismatchError            ? `requestedWorkspaceId=${cause.requestedWorkspaceId} activeWorkspaceId=${cause.activeWorkspaceId}`            : "Runtime local workspace is unavailable",      })    ),  );