export type ChangeAction = 'create' | 'update' | 'delete' | 'drain'; export type ResourceType = 'unit' | 'queue' | 'scheduled-task' | 'secret' | 'variable'; export interface PlanChange { action: ChangeAction; resourceType: ResourceType; name: string; reason: string; /** For units, the deployment role (http, agent, mcp, etc.) */ role?: string; details?: Record; } export interface DeploymentPlan { changes: PlanChange[]; summary: { create: number; update: number; delete: number; drain: number; unchanged: number; }; } export interface ApplyResult { applied: Array<{ change: PlanChange; status: 'done' | 'error'; error?: string; }>; success: boolean; }