class RubyLLM::Chat

def ask_prompt(prompt, ...)

def ask_prompt(prompt, ...)
  prompt.ask(self, ...)
end

def with_prompt(prompt, arguments: {})

def with_prompt(prompt, arguments: {})
  prompt.include(self, arguments: arguments)
  self
end

def with_resource(resource)

def with_resource(resource)
  resource.include(self)
  self
end

def with_resource_template(resource_template, arguments: {})

def with_resource_template(resource_template, arguments: {})
  resource = resource_template.fetch_resource(arguments: arguments)
  resource.include(self)
  self
end

def with_resources(*resources, **args)

def with_resources(*resources, **args)
  resources.each do |resource|
    resource.include(self, **args)
  end
  self
end