Module: Legion::Extensions::Agentic::Homeostasis::Tectonics::Runners::CognitiveTectonics
- Extended by:
- CognitiveTectonics
- Includes:
- Helpers::Lex
- Included in:
- Client, CognitiveTectonics
- Defined in:
- lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb
Instance Method Summary collapse
- #create_plate(domain: nil, content: nil, mass: 0.5, drift_vector: nil, position: nil, engine: nil) ⇒ Object
- #drift_tick(delta_t: 1.0, engine: nil) ⇒ Object
- #resolve_collision(plate_a_id: nil, plate_b_id: nil, boundary_type: :convergent, engine: nil) ⇒ Object
- #tectonic_status(engine: nil) ⇒ Object
- #trigger_earthquake(plate_id: nil, magnitude: 1.0, engine: nil) ⇒ Object
Instance Method Details
#create_plate(domain: nil, content: nil, mass: 0.5, drift_vector: nil, position: nil, engine: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb', line 14 def create_plate(domain: nil, content: nil, mass: 0.5, drift_vector: nil, position: nil, engine: nil, **) raise ArgumentError, 'domain is required' if domain.nil? raise ArgumentError, 'content is required' if content.nil? tectonic_engine(engine).create_plate( domain: domain, content: content, mass: mass, drift_vector: drift_vector, position: position ) rescue ArgumentError => e { success: false, error: e. } end |
#drift_tick(delta_t: 1.0, engine: nil) ⇒ Object
29 30 31 32 33 |
# File 'lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb', line 29 def drift_tick(delta_t: 1.0, engine: nil, **) tectonic_engine(engine).drift_tick!(delta_t) rescue ArgumentError => e { success: false, error: e. } end |
#resolve_collision(plate_a_id: nil, plate_b_id: nil, boundary_type: :convergent, engine: nil) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb', line 35 def resolve_collision(plate_a_id: nil, plate_b_id: nil, boundary_type: :convergent, engine: nil, **) raise ArgumentError, 'plate_a_id is required' if plate_a_id.nil? raise ArgumentError, 'plate_b_id is required' if plate_b_id.nil? tectonic_engine(engine).resolve_collision( plate_a_id: plate_a_id, plate_b_id: plate_b_id, boundary_type: boundary_type ) rescue ArgumentError => e { success: false, error: e. } end |
#tectonic_status(engine: nil) ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb', line 56 def tectonic_status(engine: nil, **) eng = tectonic_engine(engine) report = eng.tectonic_report { success: true }.merge(report) rescue ArgumentError => e { success: false, error: e. } end |
#trigger_earthquake(plate_id: nil, magnitude: 1.0, engine: nil) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/legion/extensions/agentic/homeostasis/tectonics/runners/cognitive_tectonics.rb', line 48 def trigger_earthquake(plate_id: nil, magnitude: 1.0, engine: nil, **) raise ArgumentError, 'plate_id is required' if plate_id.nil? tectonic_engine(engine).trigger_earthquake(plate_id: plate_id, magnitude: magnitude) rescue ArgumentError => e { success: false, error: e. } end |