main
1# frozen_string_literal: true
2
3Elelem::Plugins.register(:mode) do |agent|
4 agent.commands.register("mode",
5 description: "Switch system prompt mode",
6 completions: -> { Elelem::SystemPrompt.available_modes }
7 ) do |args|
8 name = args&.strip
9 if name.nil? || name.empty?
10 current = agent.system_prompt.mode
11 modes = Elelem::SystemPrompt.available_modes.map { |m| m == current ? "*#{m}" : m }
12 agent.terminal.say modes.join(" ")
13 else
14 agent.system_prompt.switch(name)
15 agent.terminal.say "mode: #{name}"
16 end
17 end
18end