import { z } from 'zod'; export const fsOpenRequestSchema = z.object({ path: z.string().min(1), line: z.number().int().positive().optional(), }); export type FsOpenRequest = z.infer; export const fsOpenResponseSchema = z.object({ opened: z.literal(true), }); export type FsOpenResponse = z.infer; export const fsRevealRequestSchema = z.object({ path: z.string().min(1), }); export type FsRevealRequest = z.infer; export const fsRevealResponseSchema = z.object({ revealed: z.literal(true), }); export type FsRevealResponse = z.infer; export const fsOpenInAppIdSchema = z.enum([ 'finder', 'cursor', 'vscode', 'iterm', 'terminal', ]); export type FsOpenInAppId = z.infer; export const fsOpenInRequestSchema = z.object({ app_id: fsOpenInAppIdSchema, path: z.string().min(1), line: z.number().int().positive().optional(), }); export type FsOpenInRequest = z.infer; export const fsOpenInResponseSchema = z.object({ opened: z.literal(true), }); export type FsOpenInResponse = z.infer; export const fsDownloadParamsSchema = z.object({ path: z.string().min(1), range: z.string().optional(), if_none_match: z.string().optional(), }); export type FsDownloadParams = z.infer;