File size: 1,842 Bytes
4e23b01 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import { z } from 'zod';
import {
workspaceCreateSchema,
workspaceIdSchema,
workspaceSchema,
workspaceUpdateSchema,
} from './workspace';
export const listWorkspacesResponseSchema = z.object({
items: z.array(workspaceSchema),
});
export type ListWorkspacesResponse = z.infer<typeof listWorkspacesResponseSchema>;
export const createWorkspaceRequestSchema = workspaceCreateSchema;
export type CreateWorkspaceRequest = z.infer<typeof createWorkspaceRequestSchema>;
export const createWorkspaceResponseSchema = workspaceSchema;
export type CreateWorkspaceResponse = z.infer<typeof createWorkspaceResponseSchema>;
export const workspaceIdParamSchema = z.object({
workspace_id: workspaceIdSchema,
});
export type WorkspaceIdParam = z.infer<typeof workspaceIdParamSchema>;
export const updateWorkspaceRequestSchema = workspaceUpdateSchema;
export type UpdateWorkspaceRequest = z.infer<typeof updateWorkspaceRequestSchema>;
export const updateWorkspaceResponseSchema = workspaceSchema;
export type UpdateWorkspaceResponse = z.infer<typeof updateWorkspaceResponseSchema>;
export const deleteWorkspaceResponseSchema = z.object({
deleted: z.literal(true),
});
export type DeleteWorkspaceResponse = z.infer<typeof deleteWorkspaceResponseSchema>;
export const workspaceTrustResponseSchema = z.object({
trusted: z.boolean(),
});
export type WorkspaceTrustResponse = z.infer<typeof workspaceTrustResponseSchema>;
export const addDirRequestSchema = z.object({
path: z.string().min(1),
persist: z.boolean().optional(),
});
export type AddDirRequest = z.infer<typeof addDirRequestSchema>;
export const addDirResponseSchema = z.object({
project_root: z.string(),
config_path: z.string(),
additional_dirs: z.array(z.string()),
persisted: z.boolean(),
});
export type AddDirResponse = z.infer<typeof addDirResponseSchema>;
|