Module: Legion::Extensions::Agentic::Learning::Chrysalis::Runners::CognitiveChrysalis
- Extended by:
- CognitiveChrysalis
- Included in:
- Client, CognitiveChrysalis
- Defined in:
- lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb
Instance Method Summary collapse
- #create_chrysalis(chrysalis_type: :silk, content: '', engine: nil) ⇒ Object
- #create_cocoon(environment: 'default', temperature: 0.5, humidity: 0.5, engine: nil) ⇒ Object
- #disturb(cocoon_id:, force: 0.1, engine: nil) ⇒ Object
- #emerge(chrysalis_id:, force: false, engine: nil) ⇒ Object
- #enclose(chrysalis_id:, cocoon_id:, engine: nil) ⇒ Object
- #incubate(chrysalis_id:, engine: nil) ⇒ Object
- #incubate_all(engine: nil) ⇒ Object
- #list_chrysalises(engine: nil) ⇒ Object
- #log ⇒ Object
- #metamorphosis_status(engine: nil) ⇒ Object
- #spin(chrysalis_id:, engine: nil) ⇒ Object
Instance Method Details
#create_chrysalis(chrysalis_type: :silk, content: '', engine: nil) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 22 def create_chrysalis(chrysalis_type: :silk, content: '', engine: nil, **) engine ||= default_engine type = chrysalis_type.to_sym unless Helpers::Constants::CHRYSALIS_TYPES.include?(type) return { success: false, reason: :invalid_type, valid_types: Helpers::Constants::CHRYSALIS_TYPES } end log.debug "[cognitive_chrysalis] creating chrysalis type=#{type}" engine.create_chrysalis(chrysalis_type: type, content: content) rescue ArgumentError => e { success: false, reason: e. } end |
#create_cocoon(environment: 'default', temperature: 0.5, humidity: 0.5, engine: nil) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 35 def create_cocoon(environment: 'default', temperature: 0.5, humidity: 0.5, engine: nil, **) engine ||= default_engine log.debug "[cognitive_chrysalis] creating cocoon environment=#{environment}" engine.create_cocoon(environment: environment, temperature: temperature, humidity: humidity) rescue ArgumentError => e { success: false, reason: e. } end |
#disturb(cocoon_id:, force: 0.1, engine: nil) ⇒ Object
96 97 98 99 100 101 102 103 104 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 96 def disturb(cocoon_id:, force: 0.1, engine: nil, **) return { success: false, reason: :missing_cocoon_id } if cocoon_id.nil? engine ||= default_engine log.debug "[cognitive_chrysalis] disturbing cocoon=#{cocoon_id} force=#{force}" engine.disturb_cocoon(cocoon_id: cocoon_id, force: force) rescue ArgumentError => e { success: false, reason: e. } end |
#emerge(chrysalis_id:, force: false, engine: nil) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 82 def emerge(chrysalis_id:, force: false, engine: nil, **) return { success: false, reason: :missing_chrysalis_id } if chrysalis_id.nil? engine ||= default_engine log.debug "[cognitive_chrysalis] emerging chrysalis=#{chrysalis_id} force=#{force}" if force engine.force_emerge(chrysalis_id: chrysalis_id) else engine.natural_emerge(chrysalis_id: chrysalis_id) end rescue ArgumentError => e { success: false, reason: e. } end |
#enclose(chrysalis_id:, cocoon_id:, engine: nil) ⇒ Object
53 54 55 56 57 58 59 60 61 62 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 53 def enclose(chrysalis_id:, cocoon_id:, engine: nil, **) return { success: false, reason: :missing_chrysalis_id } if chrysalis_id.nil? return { success: false, reason: :missing_cocoon_id } if cocoon_id.nil? engine ||= default_engine log.debug "[cognitive_chrysalis] enclosing chrysalis=#{chrysalis_id} in cocoon=#{cocoon_id}" engine.enclose(chrysalis_id: chrysalis_id, cocoon_id: cocoon_id) rescue ArgumentError => e { success: false, reason: e. } end |
#incubate(chrysalis_id:, engine: nil) ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 64 def incubate(chrysalis_id:, engine: nil, **) return { success: false, reason: :missing_chrysalis_id } if chrysalis_id.nil? engine ||= default_engine log.debug "[cognitive_chrysalis] incubating chrysalis=#{chrysalis_id}" engine.incubate(chrysalis_id: chrysalis_id) rescue ArgumentError => e { success: false, reason: e. } end |
#incubate_all(engine: nil) ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 74 def incubate_all(engine: nil, **) engine ||= default_engine log.debug '[cognitive_chrysalis] incubating all eligible chrysalises' engine.incubate_all! rescue ArgumentError => e { success: false, reason: e. } end |
#list_chrysalises(engine: nil) ⇒ Object
106 107 108 109 110 111 112 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 106 def list_chrysalises(engine: nil, **) engine ||= default_engine all = engine.instance_variable_get(:@chrysalises) || {} { success: true, chrysalises: all.values.map(&:to_h), count: all.size } rescue ArgumentError => e { success: false, reason: e. } end |
#log ⇒ Object
12 13 14 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 12 def log Legion::Logging end |
#metamorphosis_status(engine: nil) ⇒ Object
114 115 116 117 118 119 120 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 114 def (engine: nil, **) engine ||= default_engine report = engine. { success: true }.merge(report) rescue ArgumentError => e { success: false, reason: e. } end |
#spin(chrysalis_id:, engine: nil) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/legion/extensions/agentic/learning/chrysalis/runners/cognitive_chrysalis.rb', line 43 def spin(chrysalis_id:, engine: nil, **) return { success: false, reason: :missing_chrysalis_id } if chrysalis_id.nil? engine ||= default_engine log.debug "[cognitive_chrysalis] spinning chrysalis=#{chrysalis_id}" engine.spin(chrysalis_id: chrysalis_id) rescue ArgumentError => e { success: false, reason: e. } end |