lex-lex 0.3.0 → 0.3.1
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 +4 -4
- data/CHANGELOG.md +6 -0
- data/CLAUDE.md +1 -1
- data/lib/legion/extensions/lex/actors/agent_watcher.rb +37 -0
- data/lib/legion/extensions/lex/version.rb +1 -1
- data/lib/legion/extensions/lex.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 93780b160c34e525aba1595937595ccf5313d4cb0542a2d419dc676b0fd02831
|
|
4
|
+
data.tar.gz: b0b53037503181537ad91f9588fc0849e58a6211f5ef1669e294e957daf88006
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a40d14b40f89d72785bbe9a2343f5059812ec1058f75f89b842a1ec9be2d5603f2e3741f20b1d88ff7e4749e88f66fe14b1f48596cde276a3cce69a41c3187f8
|
|
7
|
+
data.tar.gz: a4296c1dcff4f3d7000844b5f9ffc7aade39b9a26ee69987f44bedfe92143ead0b4789e8d8c63df5e8d400728069ae9d78610bbf34423caf4b537732861baada
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.1] - 2026-03-20
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- `Actor::AgentWatcher` — interval actor (every 30s) that detects file modifications to loaded YAML agent definitions and triggers hot-reload via `Legion::Extensions.load_yaml_agents`
|
|
7
|
+
- Conditional require of `AgentWatcher` in entry point (only when `Legion::Extensions::Actors::Every` is available)
|
|
8
|
+
|
|
3
9
|
## [0.3.0] - 2026-03-18
|
|
4
10
|
|
|
5
11
|
### Fixed
|
data/CLAUDE.md
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Legion
|
|
4
|
+
module Extensions
|
|
5
|
+
module Lex
|
|
6
|
+
module Actor
|
|
7
|
+
class AgentWatcher < Legion::Extensions::Actors::Every
|
|
8
|
+
def time = 30
|
|
9
|
+
def run_now? = false
|
|
10
|
+
def use_runner? = false
|
|
11
|
+
def check_subtask? = false
|
|
12
|
+
def generate_task? = false
|
|
13
|
+
|
|
14
|
+
def action(**_opts)
|
|
15
|
+
current = Legion::Extensions.instance_variable_get(:@load_yaml_agents) || []
|
|
16
|
+
reloaded = 0
|
|
17
|
+
|
|
18
|
+
current.each do |agent|
|
|
19
|
+
path = agent[:_source_path]
|
|
20
|
+
next unless path && File.exist?(path)
|
|
21
|
+
next unless File.mtime(path) > agent[:_source_mtime]
|
|
22
|
+
|
|
23
|
+
reloaded += 1
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
if reloaded.positive?
|
|
27
|
+
Legion::Extensions.instance_variable_set(:@load_yaml_agents, nil)
|
|
28
|
+
Legion::Extensions.load_yaml_agents
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
{ reloaded: reloaded }
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -6,6 +6,7 @@ require_relative 'lex/runners/runner'
|
|
|
6
6
|
require_relative 'lex/runners/function'
|
|
7
7
|
require_relative 'lex/runners/register'
|
|
8
8
|
require_relative 'lex/runners/sync'
|
|
9
|
+
require_relative 'lex/actors/agent_watcher' if defined?(Legion::Extensions::Actors::Every)
|
|
9
10
|
|
|
10
11
|
module Legion
|
|
11
12
|
module Extensions
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-lex
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
@@ -112,6 +112,7 @@ files:
|
|
|
112
112
|
- README.md
|
|
113
113
|
- lex-lex.gemspec
|
|
114
114
|
- lib/legion/extensions/lex.rb
|
|
115
|
+
- lib/legion/extensions/lex/actors/agent_watcher.rb
|
|
115
116
|
- lib/legion/extensions/lex/actors/sync.rb
|
|
116
117
|
- lib/legion/extensions/lex/runners/extension.rb
|
|
117
118
|
- lib/legion/extensions/lex/runners/function.rb
|