Class BowireRecording
- Namespace
- Kuestenlogik.Bowire.Mocking
- Assembly
- Kuestenlogik.Bowire.dll
One named recording — an ordered sequence of captured invocations produced by the Bowire UI's recorder and later replayed by the mock server.
public sealed class BowireRecording
- Inheritance
-
BowireRecording
- Inherited Members
Constructors
BowireRecording()
public BowireRecording()
Properties
Attack
When true, this recording is a security-test
probe (a "vulnerability template" in the
docs/architecture/security-testing.md ADR), not a
captured fixture. The bowire scan subcommand picks these
up; the mock-server replay path explicitly skips them so an
attack template never accidentally serves traffic. Optional;
default false preserves backwards-compat with
every pre-v1.4 recording.
[JsonPropertyName("attack")]
public bool Attack { get; set; }
Property Value
CreatedAt
[JsonPropertyName("createdAt")]
public long CreatedAt { get; set; }
Property Value
Description
[JsonPropertyName("description")]
public string Description { get; set; }
Property Value
Id
[JsonPropertyName("id")]
public string Id { get; set; }
Property Value
Name
[JsonPropertyName("name")]
public string Name { get; set; }
Property Value
RecordingFormatVersion
Format version the recording was written with. The mock-server loader refuses any version it wasn't built for.
[JsonPropertyName("recordingFormatVersion")]
public int? RecordingFormatVersion { get; set; }
Property Value
- int?
SchemaSnapshot
Frozen snapshot of the effective frame-semantics annotations active
at record-time — populated by Phase-5 captures so a replayed recording
mounts the same widgets the original session showed, even if the local
annotation store has drifted since. Optional: recordings made before
Phase 5 leave this null and the workbench falls back to the
live annotation store on load (same behaviour as pre-v1.3).
[JsonPropertyName("schemaSnapshot")]
public BowireRecordingSchemaSnapshot? SchemaSnapshot { get; set; }
Property Value
Steps
[JsonPropertyName("steps")]
public IList<BowireRecordingStep> Steps { get; init; }
Property Value
Vulnerability
Identifying + classification metadata for the vulnerability the template probes for. Required when Attack is true, ignored otherwise.
[JsonPropertyName("vulnerability")]
public AttackVulnerability? Vulnerability { get; set; }
Property Value
VulnerableWhen
Predicate-tree that, when matched against the response of the probe (the recording's first step), identifies the target as vulnerable. Required when Attack is true.
[JsonPropertyName("vulnerableWhen")]
public AttackPredicate? VulnerableWhen { get; set; }