import { create } from 'zustand' interface TracingState { tracedProcessors: Record> isTraced: (appRoute: string, processorId: string) => boolean toggleProcessor: (appRoute: string, processorId: string) => Set } export const useTracingStore = create((set, get) => ({ tracedProcessors: {}, isTraced: (appRoute, processorId) => get().tracedProcessors[appRoute]?.has(processorId) ?? false, toggleProcessor: (appRoute, processorId) => { const current = new Set(get().tracedProcessors[appRoute] ?? []) if (current.has(processorId)) current.delete(processorId) else current.add(processorId) set((state) => ({ tracedProcessors: { ...state.tracedProcessors, [appRoute]: current }, })) return current }, }))