Module: Legion::Extensions::Agentic::Integration::Tessellation::Runners::CognitiveTessellation

Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb

Instance Method Summary collapse

Instance Method Details

#connect_tiles(tile_a_id:, tile_b_id:, engine: nil) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 27

def connect_tiles(tile_a_id:, tile_b_id:, engine: nil, **)
  eng = engine || @default_engine
  result = eng.connect_tiles(tile_a_id: tile_a_id, tile_b_id: tile_b_id)
  return { success: false, error: 'one or both tiles not found' } unless result

  { success: true, **result }
end

#create_tile(tile_type:, shape:, domain:, coverage: nil, fit_score: nil, engine: nil) ⇒ Object



12
13
14
15
16
17
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 12

def create_tile(tile_type:, shape:, domain:, coverage: nil, fit_score: nil, engine: nil, **)
  eng = engine || @default_engine
  tile = eng.create_tile(tile_type: tile_type, shape: shape, domain: domain,
                         coverage: coverage, fit_score: fit_score)
  { success: true, tile: tile.to_h }
end

#expand_tile(tile_id:, amount: nil, engine: nil) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 19

def expand_tile(tile_id:, amount: nil, engine: nil, **)
  eng = engine || @default_engine
  tile = eng.expand_tile(tile_id: tile_id, amount: amount || Helpers::Constants::COVERAGE_GROWTH)
  return { success: false, error: 'tile not found' } unless tile

  { success: true, tile: tile.to_h }
end

#list_gaps(engine: nil) ⇒ Object



41
42
43
44
45
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 41

def list_gaps(engine: nil, **)
  eng = engine || @default_engine
  gaps = eng.gapped_tiles
  { success: true, count: gaps.size, tiles: gaps.map(&:to_h) }
end

#shrink_all(engine: nil) ⇒ Object



35
36
37
38
39
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 35

def shrink_all(engine: nil, **)
  eng = engine || @default_engine
  eng.shrink_all!
  { success: true }
end

#tessellation_status(engine: nil) ⇒ Object



47
48
49
50
51
# File 'lib/legion/extensions/agentic/integration/tessellation/runners/cognitive_tessellation.rb', line 47

def tessellation_status(engine: nil, **)
  eng = engine || @default_engine
  report = eng.tessellation_report
  { success: true, **report }
end