export function parseSprints(text) { const lines = text.split(/\r?\n/); const sprints = []; let current = null; for (const line of lines) { // Start of sprint entry (must not trim indentation) if (/^\s*-\s*(Name:.*)?$/.test(line)) { if (current) sprints.push(current); current = {}; const match = line.match(/^\s*-\s*Name:\s*(.*)$/); if (match) current.name = match[1]; continue; } // Key-value pairs (must be indented) const kv = line.match(/^\s+([A-Za-z][A-Za-z0-9]*):\s*(.*)$/); if (kv && current) { const key = kv[1]; const value = kv[2]; if (key === "Name") current.name = value; if (key === "Range") { const [start, end] = value.split(".."); current.start = start; current.end = end; } } } if (current) sprints.push(current); return sprints; }