Hex1b.Automation
Assembly: Hex1b.dll
Classes
AutomationStepRecord
Immutable record of a completed automation step. Used by to track step history for diagnostic purposes.
public sealed record AutomationStepRecord : IEquatable<AutomationStepRecord>BmpEncoder
Encodes raw pixel data to BMP format for embedding in SVG as data URIs.
public static class BmpEncoderCellMatchContext
Context provided to cell predicates during pattern matching. Contains information about the current position, cell, and match state.
public sealed class CellMatchContextCellPatternMatch
Represents a successful pattern match containing all traversed cells and capture information.
public sealed class CellPatternMatchCellPatternSearcher
A fluent builder for describing patterns of terminal cells. Patterns can match based on character content, cell attributes, colors, and spatial relationships. The searcher is immutable - all methods return new instances, making patterns safe to reuse and compose.
public sealed class CellPatternSearcherCellPatternSearchResult
Collection of all pattern matches found in a search.
public sealed class CellPatternSearchResultHex1bAutomationException
Exception thrown by when an automation step fails. Includes rich diagnostic information including the full step history, terminal snapshot, and source location to help pinpoint the failure.
public sealed class Hex1bAutomationException : Exception, ISerializableHex1bTerminalAutomator
Provides an imperative, async API for automating terminal interactions in tests. Each method executes immediately and records its result in a step history, providing rich diagnostic context when failures occur.
public sealed class Hex1bTerminalAutomatorHex1bTerminalInputSequence
A sequence of test steps that can be applied to a terminal. Built using .
public sealed class Hex1bTerminalInputSequenceHex1bTerminalInputSequenceBuilder
Fluent builder for creating test sequences to simulate user interaction.
public sealed class Hex1bTerminalInputSequenceBuilderHex1bTerminalInputSequenceOptions
Options for configuring test sequence execution.
public sealed class Hex1bTerminalInputSequenceOptionsHex1bTerminalRegionExtensions
Extension methods for providing common text operations.
public static class Hex1bTerminalRegionExtensionsHex1bTerminalSnapshot
An immutable snapshot of terminal state at a point in time. Used for assertions and wait conditions in test sequences.
public sealed class Hex1bTerminalSnapshot : IHex1bTerminalRegion, IDisposableHex1bTerminalSnapshotRegion
A lightweight view into a terminal snapshot that provides localized coordinates. The region translates local (0,0)-based coordinates to the absolute position in the snapshot.
public sealed class Hex1bTerminalSnapshotRegion : IHex1bTerminalRegionKeyInputStep
A step that sends a single key event.
public sealed record KeyInputStep : TestStep, IEquatable<TestStep>, IEquatable<KeyInputStep>MouseInputStep
A step that sends a mouse event at a specific position.
public sealed record MouseInputStep : TestStep, IEquatable<TestStep>, IEquatable<MouseInputStep>SixelDecoder
Decodes Sixel graphics data to raw pixel arrays for SVG rendering.
public static class SixelDecoderSixelImage
Represents a decoded Sixel image as RGBA pixel data.
public sealed class SixelImageTapeArtifact
Describes a generated playback artifact.
public sealed record TapeArtifact : IEquatable<TapeArtifact>TapeCaptureOptions
Selects playback artifacts without changing the Tape language.
public sealed class TapeCaptureOptionsTapeChordCommand
Represents a Ctrl, Alt, or Shift instruction and its ordered operands.
public sealed record TapeChordCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeChordCommand>TapeCommand
Represents an immutable Tape instruction, including application-defined instructions.
public abstract record TapeCommand : IEquatable<TapeCommand>TapeCommandResult
Contains either a command's input-sequence builder or an error that prevents playback.
public sealed class TapeCommandResultTapeCopyCommand
Declares text to copy without accessing a clipboard.
public sealed record TapeCopyCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeCopyCommand>TapeDiagnostic
Describes a problem encountered while parsing or executing a Tape document.
public sealed record TapeDiagnostic : IEquatable<TapeDiagnostic>TapeDocument
Contains an editable sequence of Tape instructions.
public sealed class TapeDocumentTapeDurationLiteral
Retains a duration without requiring runtime conversion.
public sealed record TapeDurationLiteral : IEquatable<TapeDurationLiteral>TapeEnvCommand
Declares an environment variable without changing the process environment.
public sealed record TapeEnvCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeEnvCommand>TapeExecutionResult
Owns the final snapshot and describes completed playback.
public sealed class TapeExecutionResult : IDisposableTapeExtensionCommand
Represents a custom keyword and its deferred playback-result callback.
public sealed record TapeExtensionCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeExtensionCommand>TapeHideCommand
Declares the beginning of hidden output.
public sealed record TapeHideCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeHideCommand>TapeKeyCommand
Presses a named key or scrolls, with optional repeat and delay operands.
public sealed record TapeKeyCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeKeyCommand>TapeLiteral
Retains a normalized setting operand and its original source spelling.
public sealed record TapeLiteral : IEquatable<TapeLiteral>TapeNumberLiteral
Retains a numeric token, including values whose numeric conversion would fail.
public sealed record TapeNumberLiteral : IEquatable<TapeNumberLiteral>TapeOutputCommand
Declares an output path without creating an artifact.
public sealed record TapeOutputCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeOutputCommand>TapeParseContext
Provides token access, source information, and diagnostic reporting to a syntax extension.
public sealed class TapeParseContextTapeParseException
Indicates that Tape source contains syntax errors.
public sealed class TapeParseException : Exception, ISerializableTapeParser
Parses VHS v0.11.0 Tape syntax into an editable document without executing instructions.
public sealed class TapeParserTapeParserOptions
Configures Tape syntax callbacks without executing instructions during parsing.
public sealed class TapeParserOptionsTapePasteCommand
Declares a paste instruction.
public sealed record TapePasteCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapePasteCommand>TapePlaybackException
Reports a failure after tape execution has begun.
public sealed class TapePlaybackException : Exception, ISerializableTapePlaybackOptions
Configures playback, capture, and optional default-shell launch settings.
public sealed class TapePlaybackOptionsTapePlayContext
Provides the effective playback settings while preparing a command's result.
public sealed class TapePlayContextTapePlayer
Prepares and plays Tape documents against borrowed or player-owned terminals.
public sealed class TapePlayerTapeRequireCommand
Declares a required executable without searching for it.
public sealed record TapeRequireCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeRequireCommand>TapeScreenshotCommand
Declares a screenshot instruction without creating a file.
public sealed record TapeScreenshotCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeScreenshotCommand>TapeSetCommand
Declares a Tape setting without evaluating it.
public sealed record TapeSetCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSetCommand>TapeShowCommand
Declares the resumption of visible output.
public sealed record TapeShowCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeShowCommand>TapeSleepCommand
Pauses execution for a duration.
public sealed record TapeSleepCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSleepCommand>TapeSourceCommand
Declares a source include without opening or expanding the referenced file.
public sealed record TapeSourceCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeSourceCommand>TapeToken
Represents a source token without escape decoding.
public sealed record TapeToken : IEquatable<TapeToken>TapeTokenReader
Provides forward-only access to Tape tokens for syntax recognition.
public sealed class TapeTokenReaderTapeTypeCommand
Types text using an optional per-character delay.
public sealed record TapeTypeCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeTypeCommand>TapeValidationException
Reports a tape rejected before any execution begins.
public sealed class TapeValidationException : Exception, ISerializableTapeValidationResult
Contains preparation diagnostics without executing a tape.
public sealed class TapeValidationResultTapeWaitCommand
Waits for a regular expression to match terminal text.
public sealed record TapeWaitCommand : TapeCommand, IEquatable<TapeCommand>, IEquatable<TapeWaitCommand>TerminalAnsiOptions
Options for ANSI rendering of terminal regions.
public class TerminalAnsiOptionsTerminalRegionAnsiExtensions
Extension methods for rendering terminal regions to ANSI escape code format.
public static class TerminalRegionAnsiExtensionsTerminalRegionCellPatternExtensions
Extension methods for searching terminal regions with cell patterns.
public static class TerminalRegionCellPatternExtensionsTerminalRegionHtmlExtensions
Extension methods for rendering terminal regions to interactive HTML format.
public static class TerminalRegionHtmlExtensionsTerminalRegionSvgExtensions
Extension methods for rendering terminal regions to SVG format.
public static class TerminalRegionSvgExtensionsTerminalSvgOptions
Options for SVG rendering of terminal regions.
public class TerminalSvgOptionsTestPatternGenerator
Generates well-known test pattern images for verifying graphics rendering. These patterns have predictable, easily verifiable outputs.
public static class TestPatternGeneratorTestStep
Base class for test sequence steps. Each step knows how to execute itself against a terminal.
public abstract record TestStep : IEquatable<TestStep>TextInputStep
A step that types a string of text, optionally with delays between keystrokes.
public sealed record TextInputStep : TestStep, IEquatable<TestStep>, IEquatable<TextInputStep>WaitStep
A step that pauses for a specified duration.
public sealed record WaitStep : TestStep, IEquatable<TestStep>, IEquatable<WaitStep>WaitUntilStep
A step that waits until a condition is met on the terminal.
public sealed record WaitUntilStep : TestStep, IEquatable<TestStep>, IEquatable<WaitUntilStep>WaitUntilTimeoutException
Exception thrown when a times out waiting for a condition. Includes rich diagnostic information about the terminal state at the time of timeout.
public sealed class WaitUntilTimeoutException : TimeoutException, ISerializableStructs
FindOptions
Options for Find pattern methods.
public readonly struct FindOptionsMultiLineTextMatch
Represents a text match that may span multiple lines in a terminal region.
public readonly record struct MultiLineTextMatch : IEquatable<MultiLineTextMatch>TapeSourceSpan
Identifies a range of Tape source text.
public readonly record struct TapeSourceSpan : IEquatable<TapeSourceSpan>TextMatch
Represents a text match found in a terminal region, with its coordinates.
public readonly record struct TextMatch : IEquatable<TextMatch>TraversedCell
Represents a single cell that was traversed during pattern matching.
public readonly record struct TraversedCell : IEquatable<TraversedCell>Interfaces
IHex1bTerminalRegion
Common interface for terminal snapshot and snapshot regions. Provides core cell access and region extraction.
public interface IHex1bTerminalRegionEnums
Direction
Direction of movement in the terminal grid.
public enum DirectionFindCursorPosition
Specifies where to position the cursor after a Find match.
public enum FindCursorPositionScrollbackWidth
Controls how scrollback line widths are adapted when included in a snapshot.
public enum ScrollbackWidthTapeArtifactKind
Identifies the format of a generated tape artifact.
public enum TapeArtifactKindTapeDiagnosticSeverity
Indicates the importance of a Tape diagnostic.
public enum TapeDiagnosticSeverityTapeDiagnosticStage
Identifies the stage that produced a Tape diagnostic.
public enum TapeDiagnosticStageTapeSetting
Identifies a setting recognized by the VHS v0.11.0 grammar.
public enum TapeSettingTapeTokenKind
Identifies a token's lexical category without converting its value.
public enum TapeTokenKindTapeWaitScope
Identifies the terminal text examined by a Wait instruction.
public enum TapeWaitScope