lex-agentic-learning 0.1.8 → 0.1.9

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: 9ca1a0df917cf9f0e83e16a2c8630312a21bf5047e56629ca6f513cb3d6c617c
4
- data.tar.gz: a17e63a44b99f90d8f4a378152a0d99b2fba6a07d75defebdb2a3074622ef031
3
+ metadata.gz: 8f2bd98de70d5e11f07c18043483a22d4325508c7e2601fd2d1c3a3bdb9726bd
4
+ data.tar.gz: e1f9d5d06972b5fe01b932d973050d701aa82663bca6ff76709769df476ea80b
5
5
  SHA512:
6
- metadata.gz: eaae4ee70f41226f954c3b91f4af8ad6567bb71846eebf2b6b5d4e76a4960f2989b63508d23429e52563f74a3d7063a3ad36f458494fc576cea3ba5bab992fb1
7
- data.tar.gz: 5b2254a369bf1111c2129c614a1fbc0b7ec5cf8a86192cb9255ec48f96c6e696b7c8b9fd9676d232d15c33729adf0c8f42330ad1d4c21f4f0254f8d6d2716aaf
6
+ metadata.gz: d5858c88e16679558b7bf3d2433f3d88810a85f5a41cb7cf37991ccc22195569f65fffad058dbeb2aeaf359b89855dd3ac3330759da49e36c18c489afc08b713
7
+ data.tar.gz: 55abe2021cd74cbd3885d75a2ff321febe189d369e802ea910eced3d86ac9398adf807414880f006ab23b0a5b869f81a304093fdc10a05da8dedc6352136611a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.9] - 2026-04-28
4
+ ### Fixed
5
+ - Curiosity self-inquiry now uses the current `Legion::LLM.ask` API before falling back to legacy `Legion::LLM.complete`, preserving compatibility with the LLM routing uplift.
6
+
3
7
  ## [0.1.8] - 2026-04-22
4
8
  ### Added
5
9
  - 3 new decay actors: Curiosity::Decay (300s), EpistemicCuriosity::Decay (300s), Habit::Decay (300s)
data/README.md CHANGED
@@ -5,7 +5,7 @@ Domain consolidation gem for learning, adaptation, and knowledge acquisition. Bu
5
5
  ## Overview
6
6
 
7
7
  **Gem**: `lex-agentic-learning`
8
- **Version**: 0.1.8
8
+ **Version**: 0.1.9
9
9
  **Namespace**: `Legion::Extensions::Agentic::Learning`
10
10
 
11
11
  ## Sub-Modules
@@ -139,14 +139,18 @@ module Legion
139
139
  # Try via Lex helper (primary path inside Legion runtime)
140
140
  if respond_to?(:lex, true)
141
141
  result = lex(:llm, :complete, prompt: prompt, max_tokens: 300)
142
- text = result[:content] || result[:text] || result[:completion] if result.is_a?(Hash)
142
+ text = extract_llm_text(result)
143
143
  return text if text && !text.empty?
144
144
  end
145
145
 
146
- # Direct LLM gateway fallback
147
- if defined?(Legion::LLM) && Legion::LLM.respond_to?(:complete)
146
+ # Direct LLM fallback for current legion-llm; complete is kept for older installs.
147
+ if defined?(Legion::LLM) && Legion::LLM.respond_to?(:ask)
148
+ result = Legion::LLM.ask(message: prompt) # rubocop:disable Legion/HelperMigration/DirectLlm
149
+ text = extract_llm_text(result)
150
+ return text if text && !text.empty?
151
+ elsif defined?(Legion::LLM) && Legion::LLM.respond_to?(:complete)
148
152
  result = Legion::LLM.complete(prompt: prompt, max_tokens: 300)
149
- text = result[:content] || result[:text] || result[:completion] if result.is_a?(Hash)
153
+ text = extract_llm_text(result)
150
154
  return text if text && !text.empty?
151
155
  end
152
156
 
@@ -156,6 +160,14 @@ module Legion
156
160
  nil
157
161
  end
158
162
 
163
+ def extract_llm_text(result)
164
+ return result.strip if result.is_a?(String)
165
+ return nil unless result.is_a?(Hash)
166
+
167
+ text = result[:response] || result[:content] || result[:text] || result[:completion]
168
+ text&.to_s&.strip
169
+ end
170
+
159
171
  def build_self_inquiry_prompt(question, domain)
160
172
  <<~PROMPT.strip
161
173
  You are GAIA, a thinking, curious AI. You are reflecting on a knowledge gap you detected in yourself.
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Learning
7
- VERSION = '0.1.8'
7
+ VERSION = '0.1.9'
8
8
  end
9
9
  end
10
10
  end
@@ -156,4 +156,37 @@ RSpec.describe Legion::Extensions::Agentic::Learning::Curiosity::Runners::Curios
156
156
  expect(result[:pruned]).to eq(1)
157
157
  end
158
158
  end
159
+
160
+ describe '#query_llm_for_wonder' do
161
+ before do
162
+ allow(client).to receive(:respond_to?).and_call_original
163
+ allow(client).to receive(:respond_to?).with(:lex, true).and_return(false)
164
+ end
165
+
166
+ it 'uses Legion::LLM.ask response hashes for current legion-llm' do
167
+ llm = Module.new do
168
+ def self.ask(message:)
169
+ raise 'missing prompt' if message.to_s.empty?
170
+
171
+ { response: ' useful insight ' }
172
+ end
173
+ end
174
+ stub_const('Legion::LLM', llm)
175
+
176
+ expect(client.send(:query_llm_for_wonder, 'why?', :curiosity)).to eq('useful insight')
177
+ end
178
+
179
+ it 'keeps legacy Legion::LLM.complete fallback for older installs' do
180
+ llm = Module.new do
181
+ def self.complete(prompt:, max_tokens:)
182
+ raise 'missing prompt' if prompt.to_s.empty? || max_tokens != 300
183
+
184
+ { content: 'legacy insight' }
185
+ end
186
+ end
187
+ stub_const('Legion::LLM', llm)
188
+
189
+ expect(client.send(:query_llm_for_wonder, 'why?', :curiosity)).to eq('legacy insight')
190
+ end
191
+ end
159
192
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-learning
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity