Module: Legion::Extensions::Agentic::Integration::Mycelium::Runners::CognitiveMycelium

Extended by:
CognitiveMycelium
Includes:
Helpers::Lex
Included in:
Client, CognitiveMycelium
Defined in:
lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb

Instance Method Summary collapse

Instance Method Details

#connect(source_id:, target_id:, nutrient_type:, strength: 0.5, engine: nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb', line 23

def connect(source_id:, target_id:, nutrient_type:,
            strength: 0.5, engine: nil, **)
  eng   = resolve_engine(engine)
  hypha = eng.connect(source_id: source_id, target_id: target_id,
                      nutrient_type: nutrient_type,
                      strength: strength)
  { success: true, hypha: hypha.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_node(node_type:, domain:, content:, nutrient_level: 0.5, engine: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb', line 12

def create_node(node_type:, domain:, content:,
                nutrient_level: 0.5, engine: nil, **)
  eng  = resolve_engine(engine)
  node = eng.create_node(node_type: node_type, domain: domain,
                         content: content,
                         nutrient_level: nutrient_level)
  { success: true, node: node.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#fruit(node_id:, fruiting_type:, content:, engine: nil) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb', line 42

def fruit(node_id:, fruiting_type:, content:, engine: nil, **)
  eng  = resolve_engine(engine)
  body = eng.fruit!(node_id: node_id, fruiting_type: fruiting_type,
                    content: content)
  { success: true, fruiting_body: body.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#network_status(engine: nil) ⇒ Object



51
52
53
54
# File 'lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb', line 51

def network_status(engine: nil, **)
  eng = resolve_engine(engine)
  { success: true, report: eng.network_report }
end

#transfer_nutrients(hypha_id:, engine: nil) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/legion/extensions/agentic/integration/mycelium/runners/cognitive_mycelium.rb', line 34

def transfer_nutrients(hypha_id:, engine: nil, **)
  eng    = resolve_engine(engine)
  result = eng.transfer_nutrients(hypha_id: hypha_id)
  { success: true }.merge(result)
rescue ArgumentError => e
  { success: false, error: e.message }
end