53 lines · 1.9 KB · TypeScript
RawDownload
import * as Schema from "effect/Schema"; import { ProjectId, ThreadId, TrimmedNonEmptyString } from "./baseSchemas.ts"; export const DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION = 1 as const; export const DesktopAppActivationPlatform = Schema.Literals(["darwin", "linux", "win32"]);export type DesktopAppActivationPlatform = typeof DesktopAppActivationPlatform.Type; export const DesktopAppActivationRequest = Schema.Struct({  version: Schema.Literal(DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION),  requestId: TrimmedNonEmptyString,  type: Schema.Literal("open-workspace"),  workspaceRoot: TrimmedNonEmptyString,  platform: DesktopAppActivationPlatform,});export type DesktopAppActivationRequest = typeof DesktopAppActivationRequest.Type; export const DesktopAppActivationErrorCode = Schema.Literals([  "invalid-request",  "renderer-unavailable",  "environment-unavailable",  "platform-mismatch",  "project-create-failed",  "thread-open-failed",  "request-timeout",  "internal-error",]);export type DesktopAppActivationErrorCode = typeof DesktopAppActivationErrorCode.Type; export const DesktopAppActivationSuccess = Schema.Struct({  version: Schema.Literal(DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION),  requestId: TrimmedNonEmptyString,  ok: Schema.Literal(true),  projectId: ProjectId,  threadId: ThreadId,});export type DesktopAppActivationSuccess = typeof DesktopAppActivationSuccess.Type; export const DesktopAppActivationFailure = Schema.Struct({  version: Schema.Literal(DESKTOP_APP_ACTIVATION_PROTOCOL_VERSION),  requestId: TrimmedNonEmptyString,  ok: Schema.Literal(false),  code: DesktopAppActivationErrorCode,  message: TrimmedNonEmptyString,});export type DesktopAppActivationFailure = typeof DesktopAppActivationFailure.Type; export const DesktopAppActivationResponse = Schema.Union([  DesktopAppActivationSuccess,  DesktopAppActivationFailure,]);export type DesktopAppActivationResponse = typeof DesktopAppActivationResponse.Type;