export const SHELVED_MODES_ENABLED = import.meta.env.VITE_SHELVED_MODES_ENABLED === "true"; export const SHELVED_SHELL_PHASES = Object.freeze([ "manastorms", "arenas", "arena-game", ] as const); export type ShelvedShellPhase = (typeof SHELVED_SHELL_PHASES)[number]; export function isShelvedShellPhase(value: string): value is ShelvedShellPhase { return (SHELVED_SHELL_PHASES as readonly string[]).includes(value); } export function sessionCanUseShelvedGmTools(session: { readonly kind: string; readonly accessToken?: string; readonly roles?: readonly string[]; } | null): boolean { return SHELVED_MODES_ENABLED && Boolean(session?.kind === "account" && session.accessToken && session.roles?.includes("gm")); } export function sessionCanUseGmTools(session: { readonly kind: string; readonly accessToken?: string; readonly roles?: readonly string[]; } | null): boolean { return Boolean(session?.kind === "account" && session.accessToken && session.roles?.includes("gm")); }