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