Commit b5925a8
Changed files (1)
lib
elelem
builtins
lib/elelem/builtins/builtins.rb
@@ -8,8 +8,30 @@ Elelem::Plugins.register(:builtins) do |agent|
agent.terminal.say " → context cleared"
end
- agent.commands.register("context", description: "Show conversation context") do
- agent.terminal.say JSON.pretty_generate(agent.context)
+ agent.commands.register("context", description: "Show conversation context") do |args|
+ messages = agent.context
+
+ case args
+ when nil, ""
+ messages.each_with_index do |msg, i|
+ role = msg[:role]
+ preview = msg[:content].to_s.lines.first&.strip&.slice(0, 60) || ""
+ preview += "..." if msg[:content].to_s.length > 60
+ agent.terminal.say " #{i + 1}. #{role}: #{preview}"
+ end
+ when "json"
+ agent.terminal.say JSON.pretty_generate(messages)
+ when /^\d+$/
+ index = args.to_i - 1
+ if index >= 0 && index < messages.length
+ content = messages[index][:content].to_s
+ agent.terminal.say(agent.terminal.markdown(content))
+ else
+ agent.terminal.say " Invalid index: #{args}"
+ end
+ else
+ agent.terminal.say " Usage: /context [json|<number>]"
+ end
end
agent.commands.register("shell", description: "Start interactive shell") do