class OpenAI::Runs

def cancel(id:, thread_id:)

def cancel(id:, thread_id:)
  @client.post(path: "/threads/#{thread_id}/runs/#{id}/cancel")
end

def create(thread_id:, parameters: {}, query_parameters: {})

def create(thread_id:, parameters: {}, query_parameters: {})
  @client.json_post(path: "/threads/#{thread_id}/runs", parameters: parameters,
                    query_parameters: query_parameters)
end

def create_thread_and_run(parameters: {})

def create_thread_and_run(parameters: {})
  @client.json_post(path: "/threads/runs", parameters: parameters)
end

def initialize(client:)

def initialize(client:)
  @client = client.beta(assistants: OpenAI::Assistants::BETA_VERSION)
end

def list(thread_id:, parameters: {})

def list(thread_id:, parameters: {})
  @client.get(path: "/threads/#{thread_id}/runs", parameters: parameters)
end

def modify(id:, thread_id:, parameters: {})

def modify(id:, thread_id:, parameters: {})
  @client.json_post(path: "/threads/#{thread_id}/runs/#{id}", parameters: parameters)
end

def retrieve(thread_id:, id:)

def retrieve(thread_id:, id:)
  @client.get(path: "/threads/#{thread_id}/runs/#{id}")
end

def submit_tool_outputs(thread_id:, run_id:, parameters: {})

def submit_tool_outputs(thread_id:, run_id:, parameters: {})
  @client.json_post(path: "/threads/#{thread_id}/runs/#{run_id}/submit_tool_outputs",
                    parameters: parameters)
end