/** Studio door — the build/run workbench: Overview, then Build (pipelines, algorithms) and Run (experiments, compare). */
export const STUDIO_SECTIONS = [
    { key: 'home', label: 'Overview', icon: 'fa-solid fa-gauge-high', group: '' },
    { key: 'pipelines', label: 'Training Pipelines', icon: 'fa-solid fa-diagram-project', group: 'Build' },
    { key: 'catalog', label: 'Algorithm Catalog', icon: 'fa-solid fa-shapes', group: 'Build' },
    { key: 'experiments', label: 'Experiments', icon: 'fa-solid fa-flask', group: 'Run' },
    { key: 'compare', label: 'Compare Runs', icon: 'fa-solid fa-chart-column', group: 'Run' },
];
/** Models door — the trained-model lifecycle: the registry and what's live in production. */
export const MODELS_SECTIONS = [
    { key: 'registry', label: 'Model Registry', icon: 'fa-solid fa-cubes', group: '' },
    { key: 'production', label: 'Models in Production', icon: 'fa-solid fa-satellite-dish', group: '' },
];
/** The nav-item Label of the Models door (must match `DefaultNavItems` in the application metadata). */
export const MODELS_NAV_LABEL = 'Models';
/** Distinct left-nav group headings for a section set, in first-seen order ('' = the ungrouped lead items). */
export function sectionGroups(sections) {
    return [...new Set(sections.map((s) => s.group))];
}
/** The sections belonging to one left-nav group, preserving declaration order. */
export function sectionsInGroup(sections, group) {
    return sections.filter((s) => s.group === group);
}
/** Resolve a section's display label (falls back to the key when unknown — never throws). */
export function sectionLabel(sections, key) {
    return sections.find((s) => s.key === key)?.label ?? key;
}
/** Resolve a section's icon (falls back to a neutral default when unknown). */
export function sectionIcon(sections, key) {
    return sections.find((s) => s.key === key)?.icon ?? 'fa-solid fa-wand-magic-sparkles';
}
/** Whether `key` is a section hosted inside the given door. */
export function hasSection(sections, key) {
    return sections.some((s) => s.key === key);
}
export function routeHomeNavigate(key) {
    if (key === 'home')
        return { kind: 'none' };
    if (hasSection(MODELS_SECTIONS, key))
        return { kind: 'app', navLabel: MODELS_NAV_LABEL, section: key };
    if (hasSection(STUDIO_SECTIONS, key))
        return { kind: 'section', key };
    return { kind: 'none' };
}
//# sourceMappingURL=predictive-studio.nav.js.map