export function normalizeSourceUrl(input: string): string { const trimmed = input.trim(); if (!trimmed) return trimmed; try { const url = new URL(trimmed); if (url.hostname === "gist.github.com") { const [user, gistId] = url.pathname.split("/").filter(Boolean); if (user && gistId) { return `https://gist.githubusercontent.com/${user}/${gistId}/raw`; } } if (url.hostname === "gist.githubusercontent.com" && url.pathname.includes("/raw")) { return trimmed; } return trimmed; } catch { return trimmed; } } export function isProbablyUrl(input: string): boolean { return /^(https?:\/\/|at:\/\/)/i.test(input.trim()); }