Class: ClaudeAgent::TaskNotificationMessage

Inherits:
Data
  • Object
show all
Defined in:
lib/claude_agent/messages/task_lifecycle.rb

Overview

Task notification message (TypeScript SDK parity)

Sent when a background task completes, fails, or is stopped. Used for tracking async task execution status.

Status values:

  • “completed” - Task finished successfully

  • “failed” - Task encountered an error

  • “stopped” - Task was manually stopped

Examples:

msg = TaskNotificationMessage.new(
  uuid: "msg-123",
  session_id: "session-abc",
  task_id: "task-456",
  status: "completed",
  output_file: "/path/to/output.txt",
  summary: "Task completed successfully"
)
msg.completed?  # => true
msg.failed?     # => false

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uuid:, session_id:, task_id:, status:, output_file:, summary:, tool_use_id: nil, usage: nil) ⇒ TaskNotificationMessage

Returns a new instance of TaskNotificationMessage.



112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 112

def initialize(
  uuid:,
  session_id:,
  task_id:,
  status:,
  output_file:,
  summary:,
  tool_use_id: nil,
  usage: nil
)
  super
end

Instance Attribute Details

#output_fileObject (readonly)

Returns the value of attribute output_file

Returns:

  • (Object)

    the current value of output_file



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def output_file
  @output_file
end

#session_idObject (readonly)

Returns the value of attribute session_id

Returns:

  • (Object)

    the current value of session_id



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def session_id
  @session_id
end

#statusObject (readonly)

Returns the value of attribute status

Returns:

  • (Object)

    the current value of status



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def status
  @status
end

#summaryObject (readonly)

Returns the value of attribute summary

Returns:

  • (Object)

    the current value of summary



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def summary
  @summary
end

#task_idObject (readonly)

Returns the value of attribute task_id

Returns:

  • (Object)

    the current value of task_id



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def task_id
  @task_id
end

#tool_use_idObject (readonly)

Returns the value of attribute tool_use_id

Returns:

  • (Object)

    the current value of tool_use_id



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def tool_use_id
  @tool_use_id
end

#usageObject (readonly)

Returns the value of attribute usage

Returns:

  • (Object)

    the current value of usage



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def usage
  @usage
end

#uuidObject (readonly)

Returns the value of attribute uuid

Returns:

  • (Object)

    the current value of uuid



102
103
104
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 102

def uuid
  @uuid
end

Instance Method Details

#completed?Boolean

Check if task completed successfully

Returns:

  • (Boolean)


131
132
133
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 131

def completed?
  status == "completed"
end

#failed?Boolean

Check if task failed

Returns:

  • (Boolean)


137
138
139
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 137

def failed?
  status == "failed"
end

#stopped?Boolean

Check if task was stopped

Returns:

  • (Boolean)


143
144
145
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 143

def stopped?
  status == "stopped"
end

#typeObject



125
126
127
# File 'lib/claude_agent/messages/task_lifecycle.rb', line 125

def type
  :task_notification
end