{{TITLE}}

{{REPO}} · {{REF_DESCRIPTION}} · generated {{DATE}}
{{N_FILES}} files +{{ADDED_LINES}} / −{{REMOVED_LINES}}

UI impact

Before

Layout inferred from component code, not a screenshot.

After

What changed and why

Contract changes

sessions modified

fieldtypechange
refresh_tokentextadded
expires_atinttimestamptzmodified

POST /api/auth/refresh added

Params, request, responses as they exist AFTER the change.

File footprint

Asrc/auth/refresh.ts+120
Msrc/auth/session.ts+34 −12

Key changes

One line: what this hunk changes and why.

src/auth/session.tssplit
-  const ttl = 3600  return session
+  const ttl = config.sessionTtl  return session
L41Why this line is load-bearing.

New file — annotated walkthrough instead of a one-sided diff.

src/auth/refresh.tsnew file
export async function refresh(token: string) {… 80 unremarkable lines omitted …