/** * skills domain zod schemas (names derived from map keys: skillListRequestSchema / * skillListValueSchema). */ import { z } from 'zod' import type { RequestPayload, ResponseValue } from './rpc-map.ts' import type { Wire } from './rpc.schema.ts' import { sessionIdSchema } from './sessions.schema.ts' import type { SkillEntry } from './skills.ts' /** SkillEntry row of skill.list. */ export const skillEntrySchema = z.object({ name: z.string().min(1), description: z.string(), whenToUse: z.string().optional(), }) satisfies z.ZodType> /** skill.list request payload. */ export const skillListRequestSchema = z.object({ sessionId: sessionIdSchema, }) satisfies z.ZodType>> /** skill.list response value. */ export const skillListValueSchema = z.object({ skills: z.array(skillEntrySchema), }) satisfies z.ZodType>>