legionio 1.7.2 → 1.7.3

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: 9a8172fc0fa4d14ec8727c914c81df54a0e00ee53bc387dc5e4637cd432be424
4
- data.tar.gz: f0d1b4df050bff4fb092f33ef4ff5763a9155e8553a007e75f0a521942abe5ff
3
+ metadata.gz: 80b421c449ed9f51c8faa48d52811d8856477afa00c57a1e17f20a525375097e
4
+ data.tar.gz: 26b5edec42f9e00c6721c3a3210e1ff086cb145aab31d925a59e1073a950218c
5
5
  SHA512:
6
- metadata.gz: b27979ca177b389e8ad19f6302ac53d1e849e3d8328f55bd295c170c601989c644d74162f129f613263923fdbd1937b755d5711d9d7805963203ea2f86931693
7
- data.tar.gz: a0a86793bbf3f31de4f54d11aecc611a41b07781bb742713dbac6c4b596e48d2a71b795c3d3d425d047daca912131e9a5a698cd6886ef072bd88a0548a0a8c7f
6
+ metadata.gz: db45fed982ac00f609fe5bb9c1650d9e44b179c0eff737b7e1acd379be6927ec50cd5b5ebf4a88604353bbbb88f26ea19ce084479a23923b9a42919726a54ba6
7
+ data.tar.gz: 583ab99dad3de14b0d90203dd02212ce1ceb643e68c62547e337d080b5eec1a173956a432ff001aaa772788275111d4095af4c543cef8f0af5d8ce69a3368d56
data/CHANGELOG.md CHANGED
@@ -2,10 +2,11 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- ## [1.7.2] - 2026-03-31
5
+ ## [1.7.3] - 2026-03-31
6
6
 
7
7
  ### Added
8
8
  - `POST /api/reload` endpoint to trigger daemon reload from CLI mode command
9
+ - `GET /api/mesh/status` and `GET /api/mesh/peers` endpoints for mesh topology visibility
9
10
 
10
11
  ### Fixed
11
12
  - Knowledge ingest API route calls `ingest_content` instead of `ingest_file` when `content` body param is present
@@ -76,6 +76,12 @@ module Legion
76
76
  halt 503, json_error('knowledge_unavailable', 'lex-knowledge is not loaded', status_code: 503)
77
77
  end
78
78
 
79
+ def require_mesh!
80
+ return if defined?(Legion::Extensions::Mesh)
81
+
82
+ halt 503, json_error('mesh_unavailable', 'lex-mesh is not loaded', status_code: 503)
83
+ end
84
+
79
85
  def require_trace_search!
80
86
  return if defined?(Legion::TraceSearch) && defined?(Legion::LLM)
81
87
 
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Legion
4
+ class API < Sinatra::Base
5
+ module Routes
6
+ module Mesh
7
+ def self.registered(app)
8
+ app.get '/api/mesh/status' do
9
+ require_mesh!
10
+ result = Legion::Extensions::Mesh::Runners::Mesh.mesh_status
11
+ json_response(result)
12
+ end
13
+
14
+ app.get '/api/mesh/peers' do
15
+ require_mesh!
16
+ registry = Legion::Extensions::Mesh.mesh_registry
17
+ agents = registry.all_agents.map do |agent|
18
+ agent.slice(:agent_id, :capabilities, :endpoint, :status, :last_seen, :registered_at)
19
+ end
20
+ json_response(agents)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
data/lib/legion/api.rb CHANGED
@@ -48,6 +48,7 @@ require_relative 'api/stats'
48
48
  require_relative 'api/absorbers'
49
49
  require_relative 'api/codegen'
50
50
  require_relative 'api/knowledge'
51
+ require_relative 'api/mesh'
51
52
  require_relative 'api/logs'
52
53
  require_relative 'api/router'
53
54
  require_relative 'api/library_routes'
@@ -184,6 +185,7 @@ module Legion
184
185
  register Routes::Absorbers
185
186
  register Routes::Codegen
186
187
  register Routes::Knowledge
188
+ register Routes::Mesh
187
189
  register Routes::Logs
188
190
  register Routes::TbiPatterns
189
191
  register Routes::InboundWebhooks
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Legion
4
- VERSION = '1.7.2'
4
+ VERSION = '1.7.3'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legionio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.2
4
+ version: 1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -496,6 +496,7 @@ files:
496
496
  - lib/legion/api/llm.rb
497
497
  - lib/legion/api/logs.rb
498
498
  - lib/legion/api/marketplace.rb
499
+ - lib/legion/api/mesh.rb
499
500
  - lib/legion/api/metrics.rb
500
501
  - lib/legion/api/middleware/api_version.rb
501
502
  - lib/legion/api/middleware/auth.rb