Namespace Kuestenlogik.Bowire.Recording

Classes

BowireRecordingSession

Server-side active-recording lifecycle (#285). Lives in core as a singleton so multiple consumers — the workbench HTTP surface, the MCP tool surface (bowire.record.start / stop / replay), and the in-process invoke / channel pipelines that need to know "is there a recording open right now?" — share one source of truth instead of the pre-#285 browser-localStorage-as-truth pattern.

BowireRecordingSessionEvent

One transition broadcast on Subscribe(). The SSE producer maps Kind to the SSE event: name and serialises the payload as the data: JSON body.

BowireRecordingSessionState

Immutable snapshot of the active recording session. Returned by Active, broadcast on BowireRecordingSessionEvents. Mutable bookkeeping (the Kuestenlogik.Bowire.Recording.BowireRecordingSessionState.Buffer list) is held internally; this snapshot exposes a read-only view.

Enums

BowireRecordingMode

Mode the active recording session is running in. Drives the workbench UI badge (red dot for capture, blue dot for replay) and the invoke / channel pipelines' decision to push frames into the BowireRecordingSession buffer.

BowireRecordingSessionEventKind

SSE event-name discriminator.