Class MarkdownFileBase

JSONL-based markdown adapter with append-only writes.

Features:

  • Writes markdown reports as JSONL entries to a single file per markdown type
  • Stream-based writes with backpressure handling
  • 15-second timeout protection for write operations
  • Automatic directory creation
  • Error handling via exitEmitter
  • Search metadata for filtering (symbol, strategy, exchange, frame, signalId)

File format: ./dump/markdown/{markdownName}.jsonl Each line contains: markdownName, data, symbol, strategyName, exchangeName, frameName, signalId, timestamp

Use this adapter for centralized logging and post-processing with JSONL tools.

Implements

Constructors

  • Creates a new JSONL markdown adapter instance.

    Parameters

    • markdownName: keyof IMarkdownTarget

      Type of markdown report (backtest, live, walker, etc.)

    Returns MarkdownFileBase

Properties

_baseDir: string

Base directory for all JSONL markdown files

_filePath: string

Absolute path to the JSONL file for this markdown type

_stream: WriteStream

WriteStream instance for append-only writes, null until initialized

"[WAIT_FOR_INIT_SYMBOL]": () => Promise<void> & ISingleshotClearable

Singleshot initialization function that creates directory and stream. Protected by singleshot to ensure one-time execution. Sets up error handler that emits to exitEmitter.

"[WRITE_SAFE_SYMBOL]": (line: string) => Promise<symbol | void>

Timeout-protected write function with backpressure handling. Waits for drain event if write buffer is full. Times out after 15 seconds and returns TIMEOUT_SYMBOL.

markdownName: keyof IMarkdownTarget

Methods

  • Writes markdown content to JSONL file with metadata. Appends a single line with JSON object containing:

    • markdownName: Type of report
    • data: Markdown content
    • Search flags: symbol, strategyName, exchangeName, frameName, signalId
    • timestamp: Current timestamp in milliseconds

    Parameters

    Returns Promise<void>

    Error if stream not initialized or write timeout exceeded

  • Initializes the JSONL file and write stream. Safe to call multiple times - singleshot ensures one-time execution.

    Returns Promise<void>

    Promise that resolves when initialization is complete