/** * Load an external script, hiding AMD define to avoid conflicts with Monaco's RequireJS. */ export function loadScript(src) { return new Promise((resolve, reject) => { if (document.querySelector(`script[src="${src}"]`)) { resolve(); return; } const savedDefine = window.define; window.define = undefined; const s = document.createElement('script'); s.src = src; s.onload = () => { window.define = savedDefine; resolve(); }; s.onerror = () => { window.define = savedDefine; reject(new Error(`Failed to load ${src}`)); }; document.head.appendChild(s); }); }