Class: Ask::Agent::ResponseMessage

Inherits:
Data
  • Object
show all
Defined in:
lib/ask/agent/chat.rb

Overview

Response message returned by Chat#ask. Includes token counts and cost when available from the provider. tool_calls are calls that need local execution. tool_results are pre-computed results from provider-executed tools.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content:, tool_calls: {}, tool_results: {}, thinking: nil, input_tokens: nil, output_tokens: nil, cost: nil) ⇒ ResponseMessage

Returns a new instance of ResponseMessage.



10
11
12
13
# File 'lib/ask/agent/chat.rb', line 10

def initialize(content:, tool_calls: {}, tool_results: {}, thinking: nil, input_tokens: nil, output_tokens: nil, cost: nil)
  super(content: content, tool_calls: tool_calls, tool_results: tool_results, thinking: thinking,
        input_tokens: input_tokens, output_tokens: output_tokens, cost: cost)
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content

Returns:

  • (Object)

    the current value of content



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def content
  @content
end

#costObject (readonly)

Returns the value of attribute cost

Returns:

  • (Object)

    the current value of cost



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def cost
  @cost
end

#input_tokensObject (readonly)

Returns the value of attribute input_tokens

Returns:

  • (Object)

    the current value of input_tokens



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def input_tokens
  @input_tokens
end

#output_tokensObject (readonly)

Returns the value of attribute output_tokens

Returns:

  • (Object)

    the current value of output_tokens



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def output_tokens
  @output_tokens
end

#thinkingObject (readonly)

Returns the value of attribute thinking

Returns:

  • (Object)

    the current value of thinking



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def thinking
  @thinking
end

#tool_callsObject (readonly)

Returns the value of attribute tool_calls

Returns:

  • (Object)

    the current value of tool_calls



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def tool_calls
  @tool_calls
end

#tool_resultsObject (readonly)

Returns the value of attribute tool_results

Returns:

  • (Object)

    the current value of tool_results



9
10
11
# File 'lib/ask/agent/chat.rb', line 9

def tool_results
  @tool_results
end

Instance Method Details

#to_sObject



16
# File 'lib/ask/agent/chat.rb', line 16

def to_s = content.to_s

#tool_call?Boolean

Returns:

  • (Boolean)


15
# File 'lib/ask/agent/chat.rb', line 15

def tool_call? = !tool_calls.empty?