Module: ClaudeAgentSDK::Observer
- Included in:
- Instrumentation::OTelObserver
- Defined in:
- lib/claude_agent_sdk/observer.rb
Overview
Base module for message observers.
Include this module and override the methods you care about. All methods have no-op defaults so observers only need to implement the callbacks relevant to their use case.
Observers are registered via ClaudeAgentOptions#observers and are called for every parsed message in both query() and Client#receive_messages. Observer errors are rescued so they never crash the main message pipeline.
Instance Method Summary collapse
-
#on_close ⇒ Object
Called when the query or client disconnects.
-
#on_error(error) ⇒ Object
Called when a transport or parse error occurs.
-
#on_message(message) ⇒ Object
Called for every parsed message (typed object from MessageParser).
-
#on_user_prompt(prompt) ⇒ Object
Called with the user’s prompt text (not echoed back by CLI in streaming mode).
Instance Method Details
#on_close ⇒ Object
Called when the query or client disconnects. Use this to flush buffers.
36 |
# File 'lib/claude_agent_sdk/observer.rb', line 36 def on_close; end |
#on_error(error) ⇒ Object
Called when a transport or parse error occurs.
33 |
# File 'lib/claude_agent_sdk/observer.rb', line 33 def on_error(error); end |
#on_message(message) ⇒ Object
Called for every parsed message (typed object from MessageParser).
29 |
# File 'lib/claude_agent_sdk/observer.rb', line 29 def (); end |
#on_user_prompt(prompt) ⇒ Object
Called with the user’s prompt text (not echoed back by CLI in streaming mode).
25 |
# File 'lib/claude_agent_sdk/observer.rb', line 25 def on_user_prompt(prompt); end |