ReadonlydirDirectory holding the per-entry JSON files (created on demand).
Optional ReadonlyidId generator (override in tests for determinism). Default randomUUID.
Optional ReadonlynowClock (override in tests). Default () => new Date().
Optional ReadonlypatchThe routing graph, for the ONE thing a capture cannot see: which box leg the captured channel was carrying (ChannelConfig.savedFrom). The NARROW seam that already exists for reading the patch, not a widening of ConsoleStateProvider — a store that wants a leg asks the provider that owns legs.
Optional: a console with no structural surface has no routing graph, and every config it saves honestly carries no leg.
ReadonlyproviderThe live console the store captures from / applies to.
Options for ChannelConfigStore.