// The host provider-reconcile wire shapes (mirrors `@punktfunk/host`'s generated `ProviderEntryInput` // et al. — the facade doesn't re-export them, and we PUT the raw array via `pf.request`, so we own the // shape here). Kept minimal and stable; the host validates it. /** Cover art — all URLs. The console/clients prefer `portrait` for a grid (design §7). */ export interface Artwork { portrait?: string | null; hero?: string | null; logo?: string | null; header?: string | null; } /** How the host launches a title. For this plugin always `{ kind: "command", value: }`. */ export interface LaunchSpec { kind: "command"; value: string; } /** A per-title prep/undo step (design §6): `do` runs before launch, `undo` at session end (reverse order). */ export interface PrepCmd { do: string; undo?: string | null; } /** One title in the declarative reconcile payload (`PUT /api/v1/library/provider/rom-manager`). */ export interface ProviderEntryInput { /** The provider's stable id for this title — the reconcile diff key (design §4: `/`). */ external_id: string; title: string; art?: Artwork; launch?: LaunchSpec | null; prep?: PrepCmd[]; }