```ts
export function menuPick(dishes: { name: string; price: number }[], budget: number): string[] {
    if (!dishes || !budget) throw new Error('Invalid input');

    // Filter dishes by budget and sort them by price, then by name
    const filteredDishes = dishes.filter(dish => dish.price <= budget)
                                   .sort((a, b) => a.price !== b.price ? a.price - b.price : a.name.localeCompare(b.name));

    return filteredDishes.map(dish => dish.name);
}
```