c41e5063b7
Removed entire kbx-foundation-v36 directory as it's been replaced by the new KBX Foundation v4 patterns implemented in this session: - Registry-driven screen definitions - Density-aware UI adapter components - Feature module templates (ShadowRun, Models) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
7 lines
543 B
TypeScript
7 lines
543 B
TypeScript
import * as signalR from '@microsoft/signalr'
|
|
export interface KbxExperimentChangedEvent { experimentId:string; screenId:string; changedAt:string }
|
|
export function createExperimentRolloutConnection(url='/hubs/kbx-experiments'){
|
|
const hub=new signalR.HubConnectionBuilder().withUrl(url).withAutomaticReconnect().build()
|
|
return {start:()=>hub.state===signalR.HubConnectionState.Disconnected?hub.start():Promise.resolve(),stop:()=>hub.stop(),onChanged:(callback:(event:KbxExperimentChangedEvent)=>void)=>hub.on('ExperimentChanged',callback)}
|
|
}
|