a372c613e2
- saveOfferEditor(macroId, payload): persists macro scalars, per-tier upsert (tier_letter Zod-validated A/B/C), offer_tier_services delete-then-reinsert, and Tipo/Obiettivo tags delete-then-reinsert, all in one call - toggleOfferArchived(macroId, archived) for OFFER-18 - addOfferTag/removeOfferTag/renameOfferOption for Tipo/Obiettivo/ Categoria/Ticket dimensions, mirroring catalog option-pool pattern - createOfferMacro(formData) — Plan 04 "+ Nuova Offerta" target - scripts/verify-12-03-actions.ts documents the 9 spec'd test cases (typecheck-only, requireAdmin needs a request context)