54cb94c30f
TokenPayload gains optional wid (workspace_id) and role claims; create_access_token accepts them as keyword-only args and only encodes them when provided. Existing tokens and existing callers keep working unchanged — the contract that protected requests must carry wid is enforced by middleware (PR4 T4.6/T4.7), not by the JWT type system. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>