Module: Legion::Extensions::Agentic::Self::Anchor::Runners::CognitiveAnchor

Extended by:
CognitiveAnchor
Includes:
Helpers::Lex
Included in:
Client, CognitiveAnchor
Defined in:
lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb

Instance Method Summary collapse

Instance Method Details

#anchor_status(engine: nil) ⇒ Object



48
49
50
51
# File 'lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb', line 48

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

#apply_bias(anchor_id:, new_value:, engine: nil) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb', line 32

def apply_bias(anchor_id:, new_value:, engine: nil, **)
  eng    = resolve_engine(engine)
  result = eng.apply_bias(anchor_id: anchor_id, new_value: new_value)
  { success: true, anchor: result[:anchor].to_h,
    original: result[:original], biased: result[:biased], shift: result[:shift] }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_anchor(anchor_type:, domain:, content:, reference_value: nil, grip: nil, weight: nil, engine: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb', line 12

def create_anchor(anchor_type:, domain:, content:,
                  reference_value: nil, grip: nil, weight: nil, engine: nil, **)
  eng = resolve_engine(engine)
  a   = eng.create_anchor(anchor_type: anchor_type, domain: domain, content: content,
                          reference_value: reference_value, grip: grip, weight: weight)
  { success: true, anchor: a.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_chain(anchor_id:, material: :steel, length: nil, flexibility: nil, engine: nil) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb', line 22

def create_chain(anchor_id:, material: :steel, length: nil,
                 flexibility: nil, engine: nil, **)
  eng = resolve_engine(engine)
  c   = eng.create_chain(anchor_id: anchor_id, material: material,
                         length: length, flexibility: flexibility)
  { success: true, chain: c.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#list_anchors(engine: nil, anchor_type: nil) ⇒ Object



41
42
43
44
45
46
# File 'lib/legion/extensions/agentic/self/anchor/runners/cognitive_anchor.rb', line 41

def list_anchors(engine: nil, anchor_type: nil, **)
  eng     = resolve_engine(engine)
  results = eng.all_anchors
  results = results.select { |a| a.anchor_type == anchor_type.to_sym } if anchor_type
  { success: true, anchors: results.map(&:to_h), count: results.size }
end