import { z } from 'zod'; import { isoDateTimeSchema } from '@moonshot-ai/agent-core-v2/_base/utils/isoDateTime'; export const taskKindSchema = z.enum(['subagent', 'bash', 'tool']); export type TaskKind = z.infer; export const taskStatusSchema = z.enum([ 'running', 'completed', 'failed', 'cancelled', ]); export type TaskStatus = z.infer; export const taskSchema = z.object({ id: z.string().min(1), session_id: z.string().min(1), kind: taskKindSchema, description: z.string(), status: taskStatusSchema, command: z.string().optional(), created_at: isoDateTimeSchema, started_at: isoDateTimeSchema.optional(), completed_at: isoDateTimeSchema.optional(), output_preview: z.string().optional(), output_bytes: z.number().int().nonnegative().optional(), model: z.string().optional(), thinking_effort: z.string().optional(), agent_id: z.string().optional(), subagent_type: z.string().optional(), parent_tool_call_id: z.string().optional(), run_in_background: z.boolean(), }); export type Task = z.infer;