SIGN IN SIGN UP

Add dedicated event types for organisation role deserialisation (#1485)

## Summary

- Introduces `OrganizationRoleEvent` / `OrganizationRoleEventResponse`
interfaces that match the actual Events API response shape for
`organization_role.*` events
- Adds `deserializeOrganizationRoleEvent` serialiser that correctly
preserves `organization_id` and `resource_type_slug` from the event data
- Updates event interfaces and the event serialiser to use the new
event-specific types instead of reusing REST API types

The Events API returns a different shape for organisation role data
compared to the REST API (e.g. `object: "organization_role"` vs
`"role"`, includes `organization_id` and `resource_type_slug`).
Previously, the shared `OrganizationRole` / `OrganizationRoleResponse`
types silently dropped these fields during deserialisation.

Closes #1484

## Test plan

- [x] TypeScript type check passes (`npx tsc --noEmit`)
- [x] All existing tests pass (`npm test`)
- [x] Linter and formatter pass
S
Sora Morimoto committed
d709837289d41733273d714a6c769d5bc26a355d
Parent: 084e463
Committed by GitHub <noreply@github.com> on 2/13/2026, 7:06:48 PM