Overrides
The override registry steers every future call of an endpoint/event — no code
change at the call site, no touching the contract. The connectors translate a
generic override into each transport's own shape (a typefetch mock/error, a
typesocket drop):
bridge.setOverride('http', 'user.getUser', {
mock: { id: '1', name: 'Forced' },
})
bridge.setOverride('http', 'user.getUser', { latencyMs: 2000 })
bridge.setOverride('ws', 'chat.sendMessage', { drop: true })
bridge.listOverrides() // render the panel's active-overrides strip
bridge.removeOverride('http', 'user.getUser')