Class: SolidLoop::ToolMiddlewares::EventLogging

Inherits:
Object
  • Object
show all
Defined in:
app/services/solid_loop/tool_middlewares/event_logging.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ EventLogging

Returns a new instance of EventLogging.



4
5
6
# File 'app/services/solid_loop/tool_middlewares/event_logging.rb', line 4

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/services/solid_loop/tool_middlewares/event_logging.rb', line 8

def call(env)
  @app.call(env)

  if env.[:mcp_log].present? || env.[:mcp_request_data].present?
    SolidLoop::Event.create!(
      loop_id: env.loop.id,
      eventable: env.tool_call,
      name: "mcp_tool_call",
      http_method: "POST", # Simplified
      url: env.[:mcp_url],
      request_data: env.[:mcp_request_data],
      response_data: env.[:mcp_response_data],
      duration: env.duration,
      log: env.[:mcp_log]
    )
  end
end