Namespace Kuestenlogik.Bowire.Mock.Loading

Classes

RecordingFormatVersion

Recording-format version constants and a compatibility check for the mock server. Bumped when later phases add fields the mock actually depends on at load time.

RecordingLoader

Loads a Bowire recording from disk. Accepts two on-disk shapes:

  • The full recordings-store envelope {"recordings":[...]} as written by ~/.bowire/recordings.json. If the store contains exactly one recording, it is returned; otherwise Load(string, string?) throws unless a name or id is supplied.
  • A single-recording document at the top level — {"id": ..., "steps": [...]} — for mocks that live next to the code they mock.
RecordingWatcher

Watches a recording file on disk and invokes a callback with a freshly parsed BowireRecording whenever the file changes. Changes are debounced so a flurry of saves (editors often write-then-rename) only produces a single reload. A parse failure after a change is logged but never throws — the mock keeps serving the previously loaded recording.