Class: Antigravity::LifecycleLogger
- Inherits:
-
Object
- Object
- Antigravity::LifecycleLogger
- Defined in:
- lib/antigravity/lifecycle_logger.rb
Constant Summary collapse
- C =
Antigravity::Colors
Class Method Summary collapse
- .attach!(agent, verbose: false) ⇒ Object
-
.status_line(agent) ⇒ Object
Compact status string — the "Cloud Code status bar" equivalent.
Instance Method Summary collapse
- #attach(agent) ⇒ Object
-
#initialize(verbose: false) ⇒ LifecycleLogger
constructor
A new instance of LifecycleLogger.
Constructor Details
#initialize(verbose: false) ⇒ LifecycleLogger
Returns a new instance of LifecycleLogger.
36 37 38 39 40 41 |
# File 'lib/antigravity/lifecycle_logger.rb', line 36 def initialize(verbose: false) @verbose = verbose @session_start_time = nil @turn_start_time = nil @turn_count = 0 end |
Class Method Details
.attach!(agent, verbose: false) ⇒ Object
32 33 34 |
# File 'lib/antigravity/lifecycle_logger.rb', line 32 def self.attach!(agent, verbose: false) new(verbose: verbose).attach(agent) end |
.status_line(agent) ⇒ Object
Compact status string — the "Cloud Code status bar" equivalent. Example: "T3 | 1.2k tok | 4 tools | 2.3s"
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/antigravity/lifecycle_logger.rb', line 20 def self.status_line(agent) turns = agent.turn_count rescue 0 summary = agent.session_summary rescue {} tokens = summary[:total_tokens] || 0 tok_str = tokens > 999 ? "#{(tokens / 1000.0).round(1)}k" : tokens.to_s tok_str = "🪙#{tok_str}" model = summary[:model] || agent.model || '?' conv_id = (summary[:conversation_id] || '?')[0..7] C.dim("T#{turns} | #{tok_str} tok | #{model} | #{conv_id}") end |
Instance Method Details
#attach(agent) ⇒ Object
43 44 45 46 47 |
# File 'lib/antigravity/lifecycle_logger.rb', line 43 def attach(agent) attach_session_hooks(agent) attach_turn_hooks(agent) attach_tool_hooks(agent) end |