listLifePlans

listLifePlans — paginated listing of life plans owned by the caller with their associated data.

Authentication: required

listLifePlans — paginated listing of life plans owned by the caller with their associated data.

Each plan is returned along with all saving goals the caller contributes to,
fixed income/expense blocks, and per-event income/expenses. The response
currently attaches ALL of the caller's goals (not plan-scoped) because the
data model treats a user's goals as a global pool.

Authentication: Required (Bearer token).

Parameters:
- pagination ({limit, skip}, required): limit caps records returned; skip
  offsets for pagination.

Returns:
- lifePlans ([]object): Plan records with:
  - id, name (string)
  - annualInflationRate (float64), currentSavings (float64)
  - savingGoals ([]SavingGoalResponse)
  - fixedIncomeBlocks, fixedExpenseBlocks ([]LifePlanFixedBlock): Templated
    recurring cash flows with startDay/endDay (year/month/day).
  - incomes, expenses ([]LifePlanIncome/Expense): Bespoke one-off / recurring
    cash flows with startDate, endDate?, recurrence, amount, category?.
- numItems (int): Length of lifePlans (not total — paginated).

Errors:
- invalidParams: pagination missing.
- unauthenticated: missing or invalid Bearer token.
- internal: store failure.