/** * The plan command body shared by `POST /runs {plan}`, `POST /runs/:id/gate {plan}`, * `POST /runs/:id/plan` and `POST /plans/preview` (DES-TEAMING-002 T3/T8). */ import { z } from 'zod'; import type { LaunchPlan } from '../core/types.js'; /** DES-TEAMING-002 §8.4 (seam T3) — a USER-COMPOSED plan: `steps[]` over the phase catalog (a * step's `id` defaults to its catalog id), the predicted `touch` set (the intent score's input) * and an optional MANUAL-mode floor `override`. The ENGINE validates every step key and every rule * (compose, the floor, the override in auto mode); this schema only shapes the command. */ export declare const PlanSchema: z.ZodObject<{ steps: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ catalog: z.ZodString; id: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ catalog: z.ZodString; id: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; touch: z.ZodOptional>; override: z.ZodOptional; reason: z.ZodString; }, "strict", z.ZodTypeAny, { reason: string; remove: string[]; }, { reason: string; remove: string[]; }>>; /** (core ASK-K1b) How many members the plan asks for; the supervisor caps at 3. */ monitors: z.ZodOptional>; }, "strict", z.ZodTypeAny, { steps: z.objectOutputType<{ catalog: z.ZodString; id: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[]; override?: { reason: string; remove: string[]; } | undefined; touch?: string[] | undefined; monitors?: { asked: number; } | undefined; }, { steps: z.objectInputType<{ catalog: z.ZodString; id: z.ZodOptional; }, z.ZodTypeAny, "passthrough">[]; override?: { reason: string; remove: string[]; } | undefined; touch?: string[] | undefined; monitors?: { asked: number; } | undefined; }>; /** The parsed plan as the engine command's `LaunchPlan` (an absent optional stays absent). */ export declare function toLaunchPlan(p: z.infer): LaunchPlan; //# sourceMappingURL=plan-schema.d.ts.map