Class: Legion::Extensions::MicrosoftTeams::Actor::ApiIngest
- Inherits:
-
Actors::Every
- Object
- Actors::Every
- Legion::Extensions::MicrosoftTeams::Actor::ApiIngest
- Defined in:
- lib/legion/extensions/microsoft_teams/actors/api_ingest.rb
Instance Method Summary collapse
- #check_subtask? ⇒ Boolean
- #delay ⇒ Object
- #enabled? ⇒ Boolean
- #generate_task? ⇒ Boolean
- #manual ⇒ Object
- #run_now? ⇒ Boolean
- #runner_class ⇒ Object
- #runner_function ⇒ Object
- #time ⇒ Object
- #use_runner? ⇒ Boolean
Instance Method Details
#check_subtask? ⇒ Boolean
14 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 14 def check_subtask? = false |
#delay ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 20 def delay if defined?(Legion::Extensions::MicrosoftTeams::Actor::AuthValidator) auth_validator = Legion::Extensions::MicrosoftTeams::Actor::AuthValidator.allocate base_delay = auth_validator.respond_to?(:delay) ? auth_validator.delay.to_f : 90.0 [base_delay + 5.0, 30].max else 30 end end |
#enabled? ⇒ Boolean
35 36 37 38 39 40 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 35 def enabled? defined?(Legion::Extensions::Agentic::Memory::Trace::Runners::Traces) rescue StandardError => e log.warn("ApiIngest#enabled?: #{e.}") false end |
#generate_task? ⇒ Boolean
16 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 16 def generate_task? = false |
#manual ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 42 def manual token = resolve_token unless token log.warn('ApiIngest: no delegated token, skipping') return end ingest = teams_settings[:ingest] || {} log.info('ApiIngest: starting Graph API ingest') result = runner_class.ingest_api( token: token, top_people: ingest.fetch(:top_people, 15), message_depth: ingest.fetch(:message_depth, 50), skip_bots: ingest.fetch(:skip_bots, true), imprint_active: imprint_active? ) log.info("ApiIngest: #{result.inspect[0, 200]}") result rescue StandardError => e log.error("ApiIngest: #{e.}") end |
#run_now? ⇒ Boolean
18 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 18 def run_now? = true |
#runner_class ⇒ Object
8 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 8 def runner_class = Legion::Extensions::MicrosoftTeams::Runners::ApiIngest |
#runner_function ⇒ Object
10 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 10 def runner_function = 'ingest_api' |
#time ⇒ Object
30 31 32 33 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 30 def time interval = teams_settings.dig(:ingest, :api_interval) || 1800 interval.to_i end |
#use_runner? ⇒ Boolean
12 |
# File 'lib/legion/extensions/microsoft_teams/actors/api_ingest.rb', line 12 def use_runner? = false |