Class: ClaudeAgentSDK::TaskUsage

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

Overview

Typed usage data for task progress and notifications

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(total_tokens: 0, tool_uses: 0, duration_ms: 0) ⇒ TaskUsage

Returns a new instance of TaskUsage.



392
393
394
395
396
# File 'lib/claude_agent_sdk/types.rb', line 392

def initialize(total_tokens: 0, tool_uses: 0, duration_ms: 0)
  @total_tokens = total_tokens
  @tool_uses = tool_uses
  @duration_ms = duration_ms
end

Instance Attribute Details

#duration_msObject

Returns the value of attribute duration_ms.



390
391
392
# File 'lib/claude_agent_sdk/types.rb', line 390

def duration_ms
  @duration_ms
end

#tool_usesObject

Returns the value of attribute tool_uses.



390
391
392
# File 'lib/claude_agent_sdk/types.rb', line 390

def tool_uses
  @tool_uses
end

#total_tokensObject

Returns the value of attribute total_tokens.



390
391
392
# File 'lib/claude_agent_sdk/types.rb', line 390

def total_tokens
  @total_tokens
end

Class Method Details

.from_hash(hash) ⇒ Object



398
399
400
401
402
403
404
405
406
# File 'lib/claude_agent_sdk/types.rb', line 398

def self.from_hash(hash)
  return nil unless hash.is_a?(Hash)

  new(
    total_tokens: hash[:total_tokens] || hash['total_tokens'] || hash[:totalTokens] || hash['totalTokens'] || 0,
    tool_uses: hash[:tool_uses] || hash['tool_uses'] || hash[:toolUses] || hash['toolUses'] || 0,
    duration_ms: hash[:duration_ms] || hash['duration_ms'] || hash[:durationMs] || hash['durationMs'] || 0
  )
end