Add apply-ai-response.ts with serializeTreeForCraft, buildNodeTree, findNodeIdByAiNodeId, and useApplyAiResponse hook covering replace (site/page/section), patch (5 ops), and ask. Extend PageContext with replaceAllPages, replaceCurrentPage, setHeader, setFooter helpers that mirror the existing actions.deserialize/loadState pattern. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>