Module: Legion::Extensions::Agentic::Attention::Telescope::Runners::CognitiveTelescope

Extended by:
CognitiveTelescope
Includes:
Helpers::Lex
Included in:
Client, CognitiveTelescope
Defined in:
lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb

Instance Method Summary collapse

Instance Method Details

#create_telescope(lens_type:, aperture: 0.5, magnification: 1.0, tracking: false, engine: nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 14

def create_telescope(lens_type:, aperture: 0.5, magnification: 1.0,
                     tracking: false, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.create_telescope(
    lens_type:     lens_type,
    aperture:      aperture,
    magnification: magnification,
    tracking:      tracking
  )
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#deep_focus(telescope_id:, engine: nil) ⇒ Object



69
70
71
72
73
74
75
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 69

def deep_focus(telescope_id:, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.deep_focus!(telescope_id: telescope_id)
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#focus(telescope_id:, target_distance:, engine: nil) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 52

def focus(telescope_id:, target_distance:, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.focus_telescope(telescope_id:    telescope_id,
                              target_distance: target_distance)
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#list_observations(engine: nil, significant_only: false) ⇒ Object



77
78
79
80
81
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 77

def list_observations(engine: nil, significant_only: false, **)
  eng  = resolve_engine(engine)
  list = significant_only ? eng.significant_observations : eng.all_observations
  { success: true, observations: list.map(&:to_h), count: list.size }
end

#observatory_status(engine: nil) ⇒ Object



83
84
85
86
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 83

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

#observe(telescope_id:, target:, distance: 0.5, engine: nil) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 44

def observe(telescope_id:, target:, distance: 0.5, engine: nil, **)
  eng = resolve_engine(engine)
  obs = eng.observe(telescope_id: telescope_id, target: target, distance: distance)
  { success: true, observation: obs.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#survey_mode(telescope_id:, engine: nil) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 61

def survey_mode(telescope_id:, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.survey_mode!(telescope_id: telescope_id)
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#zoom_in(telescope_id:, factor: 2.0, engine: nil) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 28

def zoom_in(telescope_id:, factor: 2.0, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.zoom_in(telescope_id: telescope_id, factor: factor)
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end

#zoom_out(telescope_id:, factor: 2.0, engine: nil) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/legion/extensions/agentic/attention/telescope/runners/cognitive_telescope.rb', line 36

def zoom_out(telescope_id:, factor: 2.0, engine: nil, **)
  eng   = resolve_engine(engine)
  scope = eng.zoom_out(telescope_id: telescope_id, factor: factor)
  { success: true, telescope: scope.to_h }
rescue ArgumentError => e
  { success: false, error: e.message }
end