feat: add processor tracing toggle to exchange detail views
All checks were successful
CI / build (push) Successful in 1m22s
CI / cleanup-branch (push) Has been skipped
CI / docker (push) Successful in 52s
CI / deploy (push) Successful in 39s
CI / deploy-feature (push) Has been skipped

Wire getActions on ProcessorTimeline and RouteFlow to send
SET_TRACED_PROCESSORS commands to all agents of the same application.
Tracing state managed via Zustand store with optimistic UI and rollback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-24 22:30:26 +01:00
parent 7532cc9d59
commit f4dd2b3415
3 changed files with 120 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
import { create } from 'zustand'
interface TracingState {
tracedProcessors: Record<string, Set<string>>
isTraced: (appRoute: string, processorId: string) => boolean
toggleProcessor: (appRoute: string, processorId: string) => Set<string>
}
export const useTracingStore = create<TracingState>((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
},
}))