Consent hook and outcome observer.
A registry.
const registry = createBridgeRegistry({
authorize: (locator, bridge) => confirm(`Open ${formatLocator(locator)} with ${bridge.label}?`),
onResolve: (event) => log.push(event),
});
registry.register(createHttpBridge());
const result = await registry.resolve('https://example.com/file.bin', { requester: 'shell' });
Creates the registry the shell holds: it owns every bridge, routes a locator to the bridge that serves its scheme, and runs the consent hook before resolving.