Module: Legion::LLM::Pipeline::Steps::SkillInjector

Includes:
Legion::Logging::Helper
Included in:
Executor
Defined in:
lib/legion/llm/pipeline/steps/skill_injector.rb

Instance Method Summary collapse

Instance Method Details

#step_skill_injectorObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/legion/llm/pipeline/steps/skill_injector.rb', line 12

def step_skill_injector
  return unless skills_enabled?

  conv_id = @request.conversation_id
  return unless conv_id

  if (state = ConversationStore.skill_state(conv_id))
    resume_active_skill(conv_id, state)
    return
  end

  @skill_executed = false

  check_trigger_words(conv_id)
  return if @skill_executed

  check_file_change_triggers(conv_id)
  return if @skill_executed

  check_auto_skills(conv_id)
rescue StandardError => e
  @warnings << "SkillInjector error: #{e.message}"
  handle_exception(e, level: :warn, operation: 'llm.pipeline.steps.skill_injector')
end