lex-apollo 0.4.16 → 0.4.17

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: c57e41cb0b9936b5b3933e847385ff6eed5581c29b2bd53ee15bab8d04972634
4
- data.tar.gz: 0a48e91fafd9a6116e47b9c0e2c6fc411f915930669ad6b182e55b37fe7e26bf
3
+ metadata.gz: be66d0b628a4cb32bbc6c0b1c5bb31ee780ee22891713e860caddd324b61a507
4
+ data.tar.gz: a6355f876338f4a13ada80c6c9757e0b278d5060e3ef1fc1c4a3ca01005d120e
5
5
  SHA512:
6
- metadata.gz: e781def1a51ef817fb607300bd5439844289ad8d8a77de4ef103d6187c01a4681ee1cf2db917b03adf3df7898b6ab05b4f0a7330631fee6d4e5fa54a3054f805
7
- data.tar.gz: 1f392189d7e2b42da4bfcf1d92d980e2b813b68fb6c88e18c275b57afdf5cb741d84311fd5092f8552ef7c18f62f660e2a197f79cfd8c7bcde709fe474aa368e
6
+ metadata.gz: a8f20b26534a6d71c82bdbc83a1e6cd0f9f6a058d938a488ea23185063d9f0f608e13df1751ac6c9f21bba744ff55607f658d152fe9aa77ead6d874cbc357920
7
+ data.tar.gz: dfa3e978328c63519a850aedaa66a9a45941755e70dfd9e903498469dac0d43fc436ed76c49721fa76cfd0a22831d96376f985f0365442d6aeb0ee21df73ff0b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.17] - 2026-04-03
4
+
5
+ ### Changed
6
+ - resolve rubocop Style/IfUnlessModifier offense in runners/knowledge.rb
7
+
3
8
  ## [0.4.16] - 2026-03-30
4
9
 
5
10
  ### Changed
@@ -121,6 +121,7 @@ module Legion
121
121
  def handle_query(query:, limit: Helpers::GraphQuery.default_query_limit, min_confidence: Helpers::GraphQuery.default_query_min_confidence, status: [:confirmed], tags: nil, domain: nil, agent_id: 'unknown', **) # rubocop:disable Layout/LineLength
122
122
  return { success: false, error: 'apollo_data_not_available' } unless defined?(Legion::Data::Model::ApolloEntry)
123
123
 
124
+ query = normalize_text_input(query)
124
125
  embedding = embed_text(query)
125
126
  sql = Helpers::GraphQuery.build_semantic_search_sql(
126
127
  limit: limit, min_confidence: min_confidence,
@@ -228,9 +229,10 @@ module Legion
228
229
 
229
230
  return { success: false, error: 'apollo_data_not_available' } unless defined?(Legion::Data::Model::ApolloEntry)
230
231
 
232
+ query = normalize_text_input(query)
231
233
  return { success: true, entries: [], count: 0 } if query.nil? || query.to_s.strip.empty?
232
234
 
233
- embedding = embed_text(query.to_s)
235
+ embedding = embed_text(query)
234
236
  sql = Helpers::GraphQuery.build_semantic_search_sql(
235
237
  limit: limit, min_confidence: min_confidence,
236
238
  statuses: ['confirmed'], tags: tags, domain: domain
@@ -313,6 +315,7 @@ module Legion
313
315
  private
314
316
 
315
317
  def embed_text(text)
318
+ text = normalize_text_input(text)
316
319
  result = Legion::LLM::Embeddings.generate(text: text)
317
320
  vector = result.is_a?(Hash) ? result[:vector] : result
318
321
  vector.is_a?(Array) && vector.any? ? vector : Array.new(1024, 0.0)
@@ -321,6 +324,15 @@ module Legion
321
324
  Array.new(1024, 0.0)
322
325
  end
323
326
 
327
+ def normalize_text_input(value)
328
+ return Legion::Apollo.send(:normalize_text_input, value) if defined?(Legion::Apollo) && Legion::Apollo.respond_to?(:normalize_text_input, true)
329
+
330
+ value.to_s
331
+ rescue StandardError => e
332
+ log.warn("Apollo Knowledge.normalize_text_input failed: #{e.message}")
333
+ value.to_s
334
+ end
335
+
324
336
  def allowed_domains_for(target_domain)
325
337
  rules = if defined?(Legion::Settings) && Legion::Settings.dig(:apollo, :domain_isolation)
326
338
  Legion::Settings.dig(:apollo, :domain_isolation)
@@ -3,7 +3,7 @@
3
3
  module Legion
4
4
  module Extensions
5
5
  module Apollo
6
- VERSION = '0.4.16'
6
+ VERSION = '0.4.17'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-apollo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.16
4
+ version: 0.4.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -125,30 +125,30 @@ dependencies:
125
125
  name: rubocop
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: '1.0'
130
+ version: '0'
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: '1.0'
137
+ version: '0'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: rubocop-legion
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: '0.1'
144
+ version: '0'
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - "~>"
149
+ - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: '0.1'
151
+ version: '0'
152
152
  description: Durable shared knowledge with vector search, concept graph, and expertise
153
153
  tracking
154
154
  email: