/** Self-contained, sandboxed local viewer for immutable prototype versions. */ function escapeHtml(value: string): string { return value .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """) .replace(/'/g, "'"); } export function buildViewerShell(input: { title: string; intent: string; plan: string; slug: string; }): string { const title = escapeHtml(input.title); const intent = escapeHtml(input.intent); const plan = escapeHtml(input.plan); const slug = escapeHtml(input.slug); return ` ${title}

${title}

${intent}

Loading
Copied — paste it into the pi session
`; }