64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/debug_mcp/tools/remove_breakpoint.rb', line 64
def call(all: nil, breakpoint_number: nil, file: nil, line: nil, method: nil, exception_class: nil, session_id: nil, server_context:)
client = server_context[:session_manager].client(session_id)
manager = server_context[:session_manager]
client.auto_repause!
if all
remove_all_breakpoints(client, manager)
elsif exception_class
remove_catch_breakpoint(client, manager, exception_class)
elsif method
remove_method_breakpoint(client, manager, method)
elsif file && line
remove_by_location(client, manager, file, line)
elsif breakpoint_number
output = client.send_command("delete #{breakpoint_number}")
MCP::Tool::Response.new([{ type: "text", text: output }])
else
MCP::Tool::Response.new([{ type: "text",
text: "Error: Provide 'all: true', 'file' + 'line', 'method', 'exception_class', or 'breakpoint_number'." }])
end
rescue DebugMcp::Error => e
MCP::Tool::Response.new([{ type: "text", text: "Error: #{e.message}" }])
end
|