import { z } from 'zod'; import { isoDateTimeSchema } from '@moonshot-ai/agent-core-v2/_base/utils/isoDateTime'; export const workspaceIdSchema = z .string() .regex(/^wd_[a-z0-9._-]+_[0-9a-f]{12}$/, { message: 'workspace_id must be a wd__ string', }); export type WorkspaceId = z.infer; export const workspaceSchema = z.object({ id: workspaceIdSchema, root: z.string().min(1), name: z.string().min(1).max(100), created_at: isoDateTimeSchema, last_opened_at: isoDateTimeSchema, session_count: z.number().int().nonnegative(), }); export type Workspace = z.infer; export const workspaceCreateSchema = z.object({ root: z.string().min(1), name: z.string().min(1).max(100).optional(), }); export type WorkspaceCreate = z.infer; export const workspaceUpdateSchema = z.object({ name: z.string().min(1).max(100), }); export type WorkspaceUpdate = z.infer;