Class: Space::Architect::CLI::Architect::Research::Dispatch

Inherits:
BaseCommand
  • Object
show all
Defined in:
lib/space_architect/cli/research.rb

Instance Method Summary collapse

Instance Method Details

#call(prompts:, model: nil, max_turns: "40", **opts) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/space_architect/cli/research.rb', line 14

def call(prompts:, model: nil, max_turns: "40", **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    render(store.find(opts[:space])) do |sp|
      paths = Array(prompts)
      supervisor = Space::Architect::Research::Supervisor.new(space: sp)
      kwargs = { max_turns: max_turns.to_i }
      kwargs[:model] = model if model
      runs = supervisor.dispatch(paths, **kwargs)
      runs.each do |run|
        terminal.say "dispatched #{run.id} (pid #{run.pid}) → #{terminal.path(run.run_log_path)}"
      end
      CLI.record_outcome(Outcome.new(exit_code: 0))
    end
  end
end