Commit 2dc443f
Changed files (3)
lib
elelem
spec
elelem
lib/elelem/agent.rb
@@ -70,7 +70,7 @@ module Elelem
conversation.clear
terminal.say " → Conversation cleared"
when "/context"
- terminal.say conversation.dump(permissions)
+ terminal.say conversation.dump(permissions), markdown: true
when "/shell"
transcript = start_shell
conversation.add(role: :user, content: transcript) unless transcript.strip.empty?
lib/elelem/conversation.rb
@@ -31,7 +31,9 @@ module Elelem
end
def dump(permissions)
- JSON.pretty_generate(history_for(permissions))
+ history_for(permissions).map do |item|
+ "## #{item[:role].to_s.capitalize}\n\n#{item[:content]}"
+ end.join("\n\n---\n\n")
end
private
spec/elelem/conversation_spec.rb
@@ -175,14 +175,13 @@ RSpec.describe Elelem::Conversation do
end
describe "#dump" do
- it "returns JSON representation with mode-specific prompt" do
+ it "returns markdown representation with mode-specific prompt" do
conversation.add(role: :user, content: "test")
- json = conversation.dump([:read])
+ result = conversation.dump([:read])
- parsed = JSON.parse(json)
- expect(parsed).to be_an(Array)
- expect(parsed.length).to eq(2)
- expect(parsed[0]["content"]).to include("You may read files on the system")
+ expect(result).to include("## System")
+ expect(result).to include("## User")
+ expect(result).to include("You may read files on the system")
end
end
end