Class: Kward::Compaction::FileOperationTracker
- Inherits:
-
Object
- Object
- Kward::Compaction::FileOperationTracker
- Defined in:
- lib/kward/compaction/file_operation_tracker.rb
Overview
Tracks file operations while preparing compaction summaries.
Instance Method Summary collapse
Instance Method Details
#call(messages, previous_details: {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/kward/compaction/file_operation_tracker.rb', line 10 def call(, previous_details: {}) read_files = Array(path_values(previous_details, "read_files", :read_files)) modified_files = Array(path_values(previous_details, "modified_files", :modified_files)) Array().each do || next unless MessageAccess.role() == "assistant" MessageAccess.tool_calls().each do |tool_call| name = ToolCall.name(tool_call) args = ToolCall.arguments(tool_call) path = args["path"] || args[:path] case name when "read_file" read_files << path if path when "write_file", "edit_file" modified_files << path if path end end end { read_files: sorted_paths(read_files), modified_files: sorted_paths(modified_files) } end |