138
139
export function normalizeAgentBranchName(branchName: string): string {
141
>
let normalized = branchName.replace(/[^a-zA-Z0-9\-]/g, '').toLowerCase();
142
>
// Collapse consecutive dots (..) into a single dot
143
>
normalized = normalized.replace(/\.{2,}/g, '.');
144
>
// Strip leading '-' or '.'
145
>
normalized = normalized.replace(/^[-.]+/, '');
146
>
// Strip trailing '.' or '/'
147
>
normalized = normalized.replace(/[./]+$/, '');
148
>
// Strip trailing .lock
149
>
normalized = normalized.replace(/\.lock$/, '');
150
>
151
>
return normalized;
152
>
}
153
154
/**