main
1# frozen_string_literal: true
2
3Elelem::Plugins.register(:eval) do |agent|
4 description = <<~'DESC'
5 Evaluate Ruby code. Available API:
6
7 name = "search"
8 agent.toolbox.add(name, description: "Search using rg", params: { query: { type: "string" } }, required: ["query"], aliases: []) do |args|
9 agent.toolbox.run("execute", { "command" => "rg --json -nI -F #{args["query"]}" })
10 end
11 DESC
12
13 agent.toolbox.add("eval",
14 description: description,
15 params: { ruby: { type: "string" } },
16 required: ["ruby"]
17 ) do |args|
18 { result: binding.eval(args["ruby"]) }
19 end
20end