Module: Legion::Extensions::Agentic::Integration::Mosaic::Runners::CognitiveMosaic

Extended by:
CognitiveMosaic
Includes:
Helpers::Lex
Included in:
Client, CognitiveMosaic
Defined in:
lib/legion/extensions/agentic/integration/mosaic/runners/cognitive_mosaic.rb

Instance Method Summary collapse

Instance Method Details

#create_mosaic(name:, pattern_category:, capacity: 50, grout_strength: nil, engine: nil) ⇒ Object



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

def create_mosaic(name:, pattern_category:, capacity: 50,
                  grout_strength: nil, engine: nil, **)
  eng = resolve_engine(engine)
  m   = eng.create_mosaic(name: name, pattern_category: pattern_category,
                          capacity: capacity, grout_strength: grout_strength)
  { success: true, mosaic: m.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#create_tessera(material:, domain:, content:, color: nil, fit_quality: nil, engine: nil) ⇒ Object



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

def create_tessera(material:, domain:, content:,
                   color: nil, fit_quality: nil, engine: nil, **)
  eng = resolve_engine(engine)
  t   = eng.create_tessera(material: material, domain: domain,
                           content: content, color: color,
                           fit_quality: fit_quality)
  { success: true, tessera: t.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#list_mosaics(engine: nil) ⇒ Object



48
49
50
51
52
# File 'lib/legion/extensions/agentic/integration/mosaic/runners/cognitive_mosaic.rb', line 48

def list_mosaics(engine: nil, **)
  eng = resolve_engine(engine)
  { success: true, mosaics: eng.all_mosaics.map(&:to_h),
    count: eng.all_mosaics.size }
end

#list_tesserae(engine: nil, material: nil) ⇒ Object



41
42
43
44
45
46
# File 'lib/legion/extensions/agentic/integration/mosaic/runners/cognitive_mosaic.rb', line 41

def list_tesserae(engine: nil, material: nil, **)
  eng     = resolve_engine(engine)
  results = eng.all_tesserae
  results = results.select { |t| t.material == material.to_sym } if material
  { success: true, tesserae: results.map(&:to_h), count: results.size }
end

#mosaic_status(engine: nil) ⇒ Object



54
55
56
57
# File 'lib/legion/extensions/agentic/integration/mosaic/runners/cognitive_mosaic.rb', line 54

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

#place_tessera(tessera_id:, mosaic_id:, engine: nil) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/legion/extensions/agentic/integration/mosaic/runners/cognitive_mosaic.rb', line 33

def place_tessera(tessera_id:, mosaic_id:, engine: nil, **)
  eng = resolve_engine(engine)
  t   = eng.place_tessera(tessera_id: tessera_id, mosaic_id: mosaic_id)
  { success: true, tessera: t.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end