Commit 19debde

mo khan <mo@mokhan.ca>
2026-01-20 20:37:14
refactor: remove Events module
1 parent 0ba6784
lib/elelem/agent.rb
@@ -18,7 +18,6 @@ module Elelem
     end
 
     def repl
-      Elelem.emit(:repl_start, agent: self)
       terminal.say "elelem v#{VERSION}"
       loop do
         input = terminal.ask("> ")
@@ -26,8 +25,6 @@ module Elelem
         next if input.empty?
         input.start_with?("/") ? command(input) : turn(input)
       end
-    ensure
-      Elelem.emit(:repl_stop, agent: self)
     end
 
     def command(input)
@@ -44,7 +41,6 @@ module Elelem
     end
 
     def turn(input)
-      Elelem.emit(:turn_start, input: input)
       history << { role: "user", content: input }
       compact_if_needed
       ctx = []
@@ -63,7 +59,6 @@ module Elelem
       end
 
       history << { role: "assistant", content: content }
-      Elelem.emit(:turn_complete, input: input, output: content)
       content
     end
 
lib/elelem/events.rb
@@ -1,33 +0,0 @@
-# frozen_string_literal: true
-
-module Elelem
-  module Events
-    @handlers = Hash.new { |h, k| h[k] = [] }
-
-    class << self
-      def on(event, &block)
-        @handlers[event] << block
-      end
-
-      def emit(event, **payload)
-        @handlers[event].each { |h| h.call(payload) }
-      end
-
-      def clear(event = nil)
-        event ? @handlers.delete(event) : @handlers.clear
-      end
-
-      def handlers
-        @handlers
-      end
-    end
-  end
-
-  def self.on(event, &block)
-    Events.on(event, &block)
-  end
-
-  def self.emit(event, **payload)
-    Events.emit(event, **payload)
-  end
-end
lib/elelem.rb
@@ -10,7 +10,6 @@ require "reline"
 require "stringio"
 require "tempfile"
 
-require_relative "elelem/events"
 require_relative "elelem/plugins"
 require_relative "elelem/agent"
 require_relative "elelem/mcp"
@@ -19,8 +18,6 @@ require_relative "elelem/toolbox"
 require_relative "elelem/version"
 
 module Elelem
-  extend Events
-
   def self.sh(cmd, args: [], cwd: Dir.pwd, env: {})
     output = StringIO.new
 
elelem.gemspec
@@ -27,7 +27,6 @@ Gem::Specification.new do |spec|
     "exe/elelem",
     "lib/elelem.rb",
     "lib/elelem/agent.rb",
-    "lib/elelem/events.rb",
     "lib/elelem/mcp.rb",
     "lib/elelem/plugins.rb",
     "lib/elelem/plugins/verify.rb",