class RubyLsp::Error

def initialize(id:, code:, message:, data: nil)

: (id: Integer, code: Integer, message: String, ?data: Hash[Symbol, untyped]?) -> void
def initialize(id:, code:, message:, data: nil)
  @id = id
  @code = code
  @message = message
  @data = data
end

def to_hash

: -> Hash[Symbol, untyped]
def to_hash
  {
    id: @id,
    error: {
      code: @code,
      message: @message,
      data: @data,
    },
  }
end