File size: 1,110 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 | 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<typeof taskKindSchema>;
export const taskStatusSchema = z.enum([
'running',
'completed',
'failed',
'cancelled',
]);
export type TaskStatus = z.infer<typeof taskStatusSchema>;
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<typeof taskSchema>;
|