def triangle_up_to(*, index=None, value=None):
    """
    [NP] Returns all triangle numbers up to the `index`-th member, or until the value exceeds
    `value`.

    :param index: integer
    :param value: integer
    :returns: list of integers, with the desired triangle sequence numbers
    """
    assert index is not None or value is not None, "One named input must be given"
    all_triangle = []
    loop_length = index or 2**31
    new_member = 0
    for i in range(1, loop_length):
        new_member += i
        if value and new_member > value:
            break
        all_triangle.append(new_member)
    return all_triangle