import { parsePresentationProfileJson, type PresentationProfileData } from './profileJson' export function readPresentationProfileData(jsonTag: string | undefined, content: string): PresentationProfileData | null { if (jsonTag) { return parsePresentationProfileJson(jsonTag) } // Backward compatibility: invisible format (with zero-width characters) const invisibleJsonMatch = content.match(/[\u200B\u200C]\[Metadata JSON\][\u200B\u200C]\n[\u200B\u200C](.+)[\u200B\u200C]$/s) if (invisibleJsonMatch?.[1]) { try { const cleanedJson = invisibleJsonMatch[1].replace(/[\u200B\u200C\u200D\u200E\u200F]/g, '').trim() return parsePresentationProfileJson(cleanedJson) } catch (invisibleJsonError) { console.error('Error parsing profile JSON from invisible content:', invisibleJsonError) } } // Backward compatibility: visible format const jsonMatch = content.match(/\[Metadata JSON\]\n(.+)$/s) if (jsonMatch?.[1]) { return parsePresentationProfileJson(jsonMatch[1].trim()) } return null }