class Multiwoven::Integrations::Destination::Klaviyo::Client

def discover(_connection_config = nil)

def discover(_connection_config = nil)
  catalog_json = read_json(CATALOG_SPEC_PATH)
  streams = catalog_json["streams"].map do |stream|
    Multiwoven::Integrations::Protocol::Stream.new(
      name: stream["name"],
      json_schema: stream["json_schema"],
      url: stream["url"],
      request_method: stream["method"],
      action: stream["action"]
    )
  end
  catalog = Multiwoven::Integrations::Protocol::Catalog.new(
    streams: streams
  )
  catalog.to_multiwoven_message
rescue StandardError => e
  handle_exception(
    "KLAVIYO:DISCOVER:EXCEPTION",
    "error",
    e
  )
end