lex-agentic-language 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfc45bb896551c6c6b8a571a99711b6b789b47c1b79ae439911933805cab4ff7
4
- data.tar.gz: 34c71727fcd33e721947a71d53d2ae003b64d47cd9c954be39fbf5b0c3924832
3
+ metadata.gz: 136abbbdf48e851fa947d8bba9738b6c225047d38f1b3db18a5d422912843dbd
4
+ data.tar.gz: 3b0cf42602ffa8d2f5e3b80ef3c7264f24c92ca1c1fd70926ebeabdb22492b82
5
5
  SHA512:
6
- metadata.gz: 63c7b22d07e8ae61ca5360b2f1ee134c057c6e90470855570568574be3fb47e5862fca5f013e778afb9592203d32d0d78b15083dde9a6c5112f951f56cd2bee2
7
- data.tar.gz: 92e8b78356b96eb26d4940acd4fc265e89b65180a8bd669f97a65b24929051bd6f0af1b1849f6bf4cefd70d7e9250d75ce348a89cde25ca07b035b25ddb4535b
6
+ metadata.gz: d0bc27d01f9e6e910bfb8a5e07c40f726d9e697d2c1090ff7d3ecaf0d743481fb745c01173139db3f245c1f0fe74577a2008da686f7c27f63b4fa8f2fa667829
7
+ data.tar.gz: 8bb4d44b99575650f8a8547f9b88e55f979e7148f7eced283402c815e3f94cbc25e9008455e0e419875bbfe9edd0e4a2d697bc80e782af56d1345da1268b960b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.6] - 2026-03-30
4
+
5
+ ### Changed
6
+ - update to rubocop-legion 0.1.7, resolve all offenses
7
+
3
8
  ## [0.1.5] - 2026-03-26
4
9
 
5
10
  ### Changed
@@ -34,5 +34,6 @@ Gem::Specification.new do |spec|
34
34
 
35
35
  spec.add_development_dependency 'rspec', '~> 3.13'
36
36
  spec.add_development_dependency 'rubocop', '~> 1.60'
37
+ spec.add_development_dependency 'rubocop-legion', '~> 0.1'
37
38
  spec.add_development_dependency 'rubocop-rspec', '~> 2.26'
38
39
  end
@@ -7,8 +7,8 @@ module Legion
7
7
  module ConceptualBlending
8
8
  module Runners
9
9
  module ConceptualBlending
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def create_mental_space(name:, domain:, **)
14
14
  log.debug "[conceptual_blending] create_space: name=#{name} domain=#{domain}"
@@ -7,8 +7,8 @@ module Legion
7
7
  module ConceptualMetaphor
8
8
  module Runners
9
9
  module ConceptualMetaphor
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def create_metaphor(source_domain:, target_domain:, metaphor_type:,
14
14
  mappings:, strength: nil, conventionality: nil, **)
@@ -8,6 +8,7 @@ module Legion
8
8
  module Helpers
9
9
  class Client
10
10
  include Runners::FrameSemantics
11
+ include Legion::Logging::Helper
11
12
 
12
13
  private
13
14
 
@@ -6,17 +6,17 @@ module Legion
6
6
  module Language
7
7
  module FrameSemantics
8
8
  module Runners
9
- module FrameSemantics
9
+ module FrameSemantics # rubocop:disable Legion/Extension/RunnerIncludeHelpers
10
10
  def create_semantic_frame(name:, domain:, **)
11
11
  frame = engine.create_frame(name: name, domain: domain)
12
- Legion::Logging.debug "[frame_semantics] created frame name=#{name} domain=#{domain} id=#{frame.id[0..7]}"
12
+ log.debug("[frame_semantics] created frame name=#{name} domain=#{domain} id=#{frame.id[0..7]}")
13
13
  { frame_id: frame.id, name: frame.name, domain: frame.domain, created: true }
14
14
  end
15
15
 
16
16
  def define_frame_slot(frame_id:, name:, slot_type: :core, required: true, **)
17
17
  frame = engine.define_slot(frame_id: frame_id, name: name, slot_type: slot_type, required: required)
18
18
  if frame
19
- Legion::Logging.debug "[frame_semantics] defined slot #{name} on frame #{frame_id[0..7]}"
19
+ log.debug("[frame_semantics] defined slot #{name} on frame #{frame_id[0..7]}")
20
20
  { defined: true, frame_id: frame_id, slot_name: name, slot_type: slot_type }
21
21
  else
22
22
  { defined: false, reason: :frame_not_found }
@@ -26,7 +26,7 @@ module Legion
26
26
  def fill_frame_slot(frame_id:, slot_name:, filler:, **)
27
27
  result = engine.fill_slot(frame_id: frame_id, slot_name: slot_name, filler: filler)
28
28
  if result
29
- Legion::Logging.debug "[frame_semantics] filled slot #{slot_name} on frame #{frame_id[0..7]}"
29
+ log.debug("[frame_semantics] filled slot #{slot_name} on frame #{frame_id[0..7]}")
30
30
  { filled: true, frame_id: frame_id, slot_name: slot_name, filler: filler }
31
31
  else
32
32
  { filled: false, reason: :slot_or_frame_not_found }
@@ -36,7 +36,7 @@ module Legion
36
36
  def instantiate_semantic_frame(frame_id:, context:, confidence: 0.7, **)
37
37
  instance = engine.instantiate_frame(frame_id: frame_id, context: context, confidence: confidence)
38
38
  if instance
39
- Legion::Logging.debug "[frame_semantics] instantiated frame #{frame_id[0..7]} instance=#{instance.id[0..7]}"
39
+ log.debug("[frame_semantics] instantiated frame #{frame_id[0..7]} instance=#{instance.id[0..7]}")
40
40
  { instantiated: true, instance_id: instance.id, frame_id: frame_id,
41
41
  filled_count: instance.filled_count }
42
42
  else
@@ -48,7 +48,7 @@ module Legion
48
48
  result = engine.add_frame_relation(frame_id: frame_id, relation: relation,
49
49
  target_frame_id: target_frame_id)
50
50
  if result
51
- Legion::Logging.debug "[frame_semantics] added relation #{relation} #{frame_id[0..7]}->#{target_frame_id[0..7]}"
51
+ log.debug("[frame_semantics] added relation #{relation} #{frame_id[0..7]}->#{target_frame_id[0..7]}")
52
52
  { added: true, frame_id: frame_id, relation: relation, target_frame_id: target_frame_id }
53
53
  else
54
54
  { added: false, reason: :invalid_frame_or_relation }
@@ -58,7 +58,7 @@ module Legion
58
58
  def activate_semantic_frame(frame_id:, **)
59
59
  result = engine.activate_frame(frame_id: frame_id)
60
60
  if result
61
- Legion::Logging.debug "[frame_semantics] activated frame #{frame_id[0..7]}"
61
+ log.debug("[frame_semantics] activated frame #{frame_id[0..7]}")
62
62
  { activated: true, frame_id: frame_id }
63
63
  else
64
64
  { activated: false, reason: :frame_not_found }
@@ -67,26 +67,26 @@ module Legion
67
67
 
68
68
  def active_frames_report(**)
69
69
  frames = engine.active_frames
70
- Legion::Logging.debug "[frame_semantics] active_frames count=#{frames.size}"
70
+ log.debug("[frame_semantics] active_frames count=#{frames.size}")
71
71
  { frames: frames.map(&:to_h), count: frames.size }
72
72
  end
73
73
 
74
74
  def related_frames_report(frame_id:, **)
75
75
  frames = engine.related_frames(frame_id: frame_id)
76
- Legion::Logging.debug "[frame_semantics] related_frames frame=#{frame_id[0..7]} count=#{frames.size}"
76
+ log.debug("[frame_semantics] related_frames frame=#{frame_id[0..7]} count=#{frames.size}")
77
77
  { frames: frames.map(&:to_h), count: frames.size }
78
78
  end
79
79
 
80
80
  def complete_frames_report(**)
81
81
  frames = engine.complete_frames
82
- Legion::Logging.debug "[frame_semantics] complete_frames count=#{frames.size}"
82
+ log.debug("[frame_semantics] complete_frames count=#{frames.size}")
83
83
  { frames: frames.map(&:to_h), count: frames.size }
84
84
  end
85
85
 
86
86
  def update_frame_semantics(**)
87
87
  engine.decay_all
88
88
  engine.prune_inactive
89
- Legion::Logging.debug '[frame_semantics] decay_all + prune_inactive complete'
89
+ log.debug('[frame_semantics] decay_all + prune_inactive complete')
90
90
  { updated: true, stats: engine.to_h }
91
91
  end
92
92
 
@@ -7,8 +7,8 @@ module Legion
7
7
  module Grammar
8
8
  module Runners
9
9
  module CognitiveGrammar
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def create_grammar_construction(form:, meaning:, expression_type:, domain:, **)
14
14
  construction = engine.create_construction(
@@ -7,8 +7,8 @@ module Legion
7
7
  module Language
8
8
  module Runners
9
9
  module Language
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def summarize(domain:, depth: :standard, traces: [], **)
14
14
  traces = filter_traces(traces, domain)
@@ -7,8 +7,8 @@ module Legion
7
7
  module NarrativeReasoning
8
8
  module Runners
9
9
  module NarrativeReasoning
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def create_narrative(title:, domain: nil, **)
14
14
  narrative = narrative_engine.create_narrative(title: title, domain: domain)
@@ -18,7 +18,7 @@ module Legion
18
18
 
19
19
  def available?
20
20
  !!(defined?(Legion::LLM) && Legion::LLM.respond_to?(:started?) && Legion::LLM.started?)
21
- rescue StandardError
21
+ rescue StandardError => _e
22
22
  false
23
23
  end
24
24
 
@@ -27,7 +27,7 @@ module Legion
27
27
  response = llm_ask(prompt)
28
28
  parse_narrate_response(response)
29
29
  rescue StandardError => e
30
- Legion::Logging.warn "[narrator:llm] narrate failed: #{e.message}"
30
+ Legion::Logging.warn("[narrator:llm] narrate failed: #{e.message}") # rubocop:disable Legion/HelperMigration/DirectLogging
31
31
  nil
32
32
  end
33
33
 
@@ -43,7 +43,7 @@ module Legion
43
43
  content = response&.message&.dig(:content)
44
44
  ::Struct.new(:content).new(content) if content
45
45
  else
46
- chat = Legion::LLM.chat
46
+ chat = Legion::LLM.chat # rubocop:disable Legion/HelperMigration/DirectLlm
47
47
  chat.with_instructions(SYSTEM_PROMPT)
48
48
  chat.ask(prompt)
49
49
  end
@@ -54,7 +54,7 @@ module Legion
54
54
  !!(defined?(Legion::LLM::Pipeline::GaiaCaller) &&
55
55
  Legion::LLM.respond_to?(:pipeline_enabled?) &&
56
56
  Legion::LLM.pipeline_enabled?)
57
- rescue StandardError
57
+ rescue StandardError => _e
58
58
  false
59
59
  end
60
60
  private_class_method :pipeline_available?
@@ -80,7 +80,8 @@ module Legion
80
80
  end
81
81
 
82
82
  def curiosity_section(cur)
83
- "CURIOSITY:\n- Intensity: #{cur[:intensity] || 0.0}\n- Active questions: #{cur[:wonder_count] || 0}\n- Top question: #{cur[:top_wonder] || 'none'}"
83
+ "CURIOSITY:\n- Intensity: #{cur[:intensity] || 0.0}\n" \
84
+ "- Active questions: #{cur[:wonder_count] || 0}\n- Top question: #{cur[:top_wonder] || 'none'}"
84
85
  end
85
86
 
86
87
  def prediction_section(pred)
@@ -7,8 +7,8 @@ module Legion
7
7
  module Narrator
8
8
  module Runners
9
9
  module Narrator
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def narrate(tick_results: {}, cognitive_state: {}, **)
14
14
  entry = Helpers::Synthesizer.narrate(tick_results: tick_results, cognitive_state: cognitive_state)
@@ -7,8 +7,8 @@ module Legion
7
7
  module PragmaticInference
8
8
  module Runners
9
9
  module PragmaticInference
10
- include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
11
- Legion::Extensions::Helpers.const_defined?(:Lex)
10
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers, false) &&
11
+ Legion::Extensions::Helpers.const_defined?(:Lex, false)
12
12
 
13
13
  def analyze_utterance(content:, speaker:, speech_act:, literal_meaning: nil,
14
14
  domain: nil, maxim_scores: {}, **)
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Language
7
- VERSION = '0.1.5'
7
+ VERSION = '0.1.6'
8
8
  end
9
9
  end
10
10
  end
@@ -15,7 +15,7 @@ module Legion
15
15
  module Extensions
16
16
  module Agentic
17
17
  module Language
18
- extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core
18
+ extend Legion::Extensions::Core if Legion::Extensions.const_defined? :Core, false
19
19
 
20
20
  def self.remote_invocable?
21
21
  false
@@ -19,7 +19,7 @@ RSpec.describe Legion::Extensions::Agentic::Language::Language::Helpers::Summari
19
19
  end
20
20
 
21
21
  def make_traces(count, overrides = {})
22
- count.times.map do |i|
22
+ Array.new(count) do |i|
23
23
  base_trace.merge(trace_id: "trace-#{i}").merge(overrides)
24
24
  end
25
25
  end
@@ -21,7 +21,7 @@ RSpec.describe Legion::Extensions::Agentic::Language::Language::Runners::Languag
21
21
  end
22
22
 
23
23
  def make_traces(count, domain: :networking)
24
- count.times.map do |i|
24
+ Array.new(count) do |i|
25
25
  base_trace.merge(
26
26
  trace_id: "trace-#{i}",
27
27
  domain_tags: [domain],
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-language
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -135,6 +135,20 @@ dependencies:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
137
  version: '1.60'
138
+ - !ruby/object:Gem::Dependency
139
+ name: rubocop-legion
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.1'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.1'
138
152
  - !ruby/object:Gem::Dependency
139
153
  name: rubocop-rspec
140
154
  requirement: !ruby/object:Gem::Requirement