import { z } from "zod"; export const skillScriptResult = z.strictObject({ ok: z.boolean(), result: z.unknown(), stdout: z.string(), stderr: z.string(), exitCode: z.union([z.literal(0), z.literal(1)]), truncated: z.boolean(), error: z .strictObject({ code: z.enum([ "unsupported_runtime", "invalid_input", "script_failed", "cancelled", "timeout", "output_limit", ]), message: z.string(), }) .optional(), }); export type SkillScriptResult = z.infer; export const skillScriptInput = z.strictObject({ input: z.unknown().optional(), workspace: z .array( z.strictObject({ path: z.string().min(1).max(240), content: z.string().max(16384), }), ) .max(8) .default([]), }); export type SkillScriptInput = z.infer;