Class: BuiltinSkillsInstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb

Constant Summary collapse

PRIMARY_HOST =
ENV.fetch('CLACKY_LICENSE_SERVER', 'https://www.openclacky.com')
FALLBACK_HOST =
'https://openclacky.up.railway.app'
API_HOSTS =
ENV['CLACKY_LICENSE_SERVER'] ? [PRIMARY_HOST] : [PRIMARY_HOST, FALLBACK_HOST]
API_PATH =
'/api/v1/skills/builtin'
API_OPEN_TIMEOUT =
5
API_READ_TIMEOUT =
10
CONCURRENCY =
5

Instance Method Summary collapse

Constructor Details

#initializeBuiltinSkillsInstaller

Returns a new instance of BuiltinSkillsInstaller.



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb', line 38

def initialize
  @target_dir        = File.join(Dir.home, '.clacky', 'skills')
  @per_skill_timeout = 10
  @total_timeout     = 30

  @installed         = 0
  @skipped_existing  = 0
  @attempted         = 0
  @errors            = []
  @mutex             = Mutex.new
end

Instance Method Details

#runObject



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/clacky/default_skills/onboard/scripts/install_builtin_skills.rb', line 50

def run
  skills = fetch_skill_list
  if skills.nil? || skills.empty?
    emit_summary
    return
  end

  install_concurrently(skills)
ensure
  emit_summary
end