Paginate GET /chat with limit and before-cursor parameters

The `GET /chat` endpoint returns an unbounded list of a user's chats. bmersereau adds a `limit` parameter (default 50, cap 200) and a `before` ISO timestamp cursor, letting callers walk back through chat history one page at a time.

chat-uiinfrastructure

The change is backward-compatible. Callers that pass no parameters still get a valid response, just clamped to the 50 most recent chats. Existing frontend code keeps working without a coordinated release.

Alongside the feature, bmersereau adds vitest-based static analysis tests verifying that the pagination logic is actually wired up, registers a test script in the backend package, and excludes test directories from the main TypeScript build so vitest owns them rather than tsc.

The PR closes two tracked issues (#105 and #114) and is currently open against willchen96/mike.

So what Pick this up if you have users with large chat histories and haven't yet addressed the unbounded list query. The cursor design is straightforward enough that it's easy to validate before merging.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?