Class: ClaudeSDK::Messages::Result

Inherits:
Object
  • Object
show all
Defined in:
lib/claude_sdk/types.rb

Overview

Result message with cost and usage information

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subtype:, duration_ms:, duration_api_ms:, is_error:, num_turns:, session_id:, total_cost_usd: nil, usage: nil, result: nil) ⇒ Result

Returns a new instance of Result.

Parameters:

  • subtype (String)

    result subtype

  • duration_ms (Integer)

    total duration

  • duration_api_ms (Integer)

    API duration

  • is_error (Boolean)

    error flag

  • num_turns (Integer)

    turn count

  • session_id (String)

    session ID

  • total_cost_usd (Float, nil) (defaults to: nil)

    cost in USD

  • usage (Hash, nil) (defaults to: nil)

    usage stats

  • result (String, nil) (defaults to: nil)

    result content



276
277
278
279
280
281
282
283
284
285
286
287
288
# File 'lib/claude_sdk/types.rb', line 276

def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
  num_turns:, session_id:, total_cost_usd: nil,
  usage: nil, result: nil)
  @subtype = subtype
  @duration_ms = duration_ms
  @duration_api_ms = duration_api_ms
  @is_error = is_error
  @num_turns = num_turns
  @session_id = session_id
  @total_cost_usd = total_cost_usd
  @usage = usage
  @result = result
end

Instance Attribute Details

#duration_api_msObject

API duration in milliseconds



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#duration_msObject

total duration in milliseconds



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#is_errorObject

Returns the value of attribute is_error.



257
258
259
# File 'lib/claude_sdk/types.rb', line 257

def is_error
  @is_error
end

#num_turnsObject

number of conversation turns



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#resultObject

the result content



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#session_idObject

unique session identifier



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#subtypeObject

the result subtype



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

#total_cost_usdObject

Returns the value of attribute total_cost_usd.



257
258
259
# File 'lib/claude_sdk/types.rb', line 257

def total_cost_usd
  @total_cost_usd
end

#usageObject

usage statistics



256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'lib/claude_sdk/types.rb', line 256

class Result
  attr_accessor :subtype,
    :duration_ms,
    :duration_api_ms,
    :is_error,
    :num_turns,
    :session_id,
    :total_cost_usd,
    :usage,
    :result

  # @param subtype [String] result subtype
  # @param duration_ms [Integer] total duration
  # @param duration_api_ms [Integer] API duration
  # @param is_error [Boolean] error flag
  # @param num_turns [Integer] turn count
  # @param session_id [String] session ID
  # @param total_cost_usd [Float, nil] cost in USD
  # @param usage [Hash, nil] usage stats
  # @param result [String, nil] result content
  def initialize(subtype:, duration_ms:, duration_api_ms:, is_error:,
    num_turns:, session_id:, total_cost_usd: nil,
    usage: nil, result: nil)
    @subtype = subtype
    @duration_ms = duration_ms
    @duration_api_ms = duration_api_ms
    @is_error = is_error
    @num_turns = num_turns
    @session_id = session_id
    @total_cost_usd = total_cost_usd
    @usage = usage
    @result = result
  end

  # @return [Hash] serialized representation
  def to_h
    hash = {
      role: "result",
      subtype: subtype,
      duration_ms: duration_ms,
      duration_api_ms: duration_api_ms,
      is_error: is_error,
      num_turns: num_turns,
      session_id: session_id,
    }
    hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
    hash[:usage] = usage unless usage.nil?
    hash[:result] = result unless result.nil?
    hash
  end
end

Instance Method Details

#to_hHash

Returns serialized representation.

Returns:

  • (Hash)

    serialized representation



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
# File 'lib/claude_sdk/types.rb', line 291

def to_h
  hash = {
    role: "result",
    subtype: subtype,
    duration_ms: duration_ms,
    duration_api_ms: duration_api_ms,
    is_error: is_error,
    num_turns: num_turns,
    session_id: session_id,
  }
  hash[:total_cost_usd] = total_cost_usd unless total_cost_usd.nil?
  hash[:usage] = usage unless usage.nil?
  hash[:result] = result unless result.nil?
  hash
end