parseShellJobIdParts function
Parses id as the minted job-id shape, or null when it does not have
it (edge case E3 — resolution is skipped for such ids).
Implementation
ShellJobIdParts? parseShellJobIdParts(String id) {
final match = _jobIdShape.firstMatch(id);
if (match == null) return null;
final n = int.tryParse(match.group(1)!);
if (n == null) return null;
final tail = match.group(2)!;
if (tail.isEmpty) return null;
return ShellJobIdParts(n: n, tail: tail);
}